Jump to content

TV-B-Gone using Launchpad

Recommended Posts



i wanted to use the tvbgone in germany, so i had to get some european IR codes.

i got the codes from the tv-b-gone firmware along with a perl script. to match oPossum's code i had to modify it a bit though.

apparently someone uploaded the firmware file with 3 out of 3 sets of North America codes, but only 2 out of 3 EU codes, which sucks, if anyone could help with that, it would be greatly appreciated.


the files contain the CSS project export, the other one contains the src from oPossum as well as the modified perl script and the Codes.


have fun :)



css project http://db.tt/pn7OLD91


other stuff as well as perl script http://db.tt/vHcsD0ho



has anyone else build one? i mean, its nice to build a super high powered IR emitter, but with no codes?

Link to post
Share on other sites
  • 2 weeks later...

Hello again :)


I just finished converting the codes from the TV-B-Gone worldcodes.c to oPossums format by hand :D

This version should work on EU televisions now, which actually means it works on everything PAL ( http://de.wikipedia.org/wiki/Phase_Alternating_Line )

I managed to put the msp430 in sleep mode, but only LPM1, which means there is room for improvement, but the tx_ir_carrier from oPossums code does not seem to like anything lower then LPM1 [ the status led blinks, the ir one does not ]


my debounde code is complete trash, but i had no love for coding after doing the manual conversion


have fun




edit: and for the actual code ... http://dl.dropbox.com/u/1413651/tvbgone_EU.zip

edit: and it works on my tv :)

Link to post
Share on other sites
  • 1 year later...

By my count, there are two off-by-one errors in this code (well, technically one is off by two).  Since the minimum number of cycles that can be delayed within this code is 20 cycles, the first cmp should be replaced with cmp #2, R15.  And because the condition of the loop is checked at the end of the loop instead of at the beginning, the sub should be replaced with sub #1, R15.


Delays possible based on the value of R15 (and counting the 5 cycles for the caller's call instruction) are then:
0 -> 12 cycles

1 -> 12 cycles

2 -> 20 cycles

3 -> 30 cycles


                                        ; - Delay in units of 10 cycles (10 us at 1 MHz)
delay       cmp     #4, R15             ; Compare to minimum
            jlo     dlyret              ; Below minimum, return...      
            sub     #2, R15             ; Adjust loop count for overhead
            jmp     eloop               ; Make the first iteration shorter
delay10us   mov     R12, R15            ; C callable
dloop       nop2                        ; 7 cycles of nop
            nop2                        ;
            nop2                        ;
eloop       nop                         ;
            dec     R15                 ; Decrement loop count - 1 cycle
            jne     dloop               ; Loop if not zero - 2 cycles
dlyret      ret                         ;
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...