Home » Archimedes archive » Acorn User » AU 1998-09.adf » Regulars » RTR/Bonus/InfraRed/IR1
RTR/Bonus/InfraRed/IR1
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn User » AU 1998-09.adf » Regulars |
Filename: | RTR/Bonus/InfraRed/IR1 |
Read OK: | ✔ |
File size: | 0397 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10PRINT"IR Remote control reader" 20DIM CODE% 200 60PROC_INIT 70REPEAT 80CALL IR 90FOR A%=STORE TO STORE+52 STEP 4 95T%=&FFFF-(?A%+256*(?(A%+1))) 100PRINT;T%;" "; 101?A%=&FF:A%?1=&FF 110NEXT 120PRINT 130UNTIL FALSE 140END 150DEF PROC_INIT 160FOR A%=0 TO 3 STEP 3 170P%=CODE% 180[ 190OPT A% 200.IR 210SEI 220LDA &FE6B \ TIMER CONTROL REG 230AND #&3F:ORA #&40 240STA &FE6B 250.LP0 \ HOLD UNTIL IR SENSED 260LDA &FE60:AND #&1 270BNE LP0 280LDX #&FE \ PLACE TO WRITE TIMING 290LDY #13 \ CYCLES TO READ 300LDA #&FF \ SET UP T1 310STA &FE66:STA &FE67 320STA &FE65 \ START OFF T1 330.CLP 340JSR LP \ MEASURE ONE CYCLE 350DEY 360BNE CLP 370CLI 380RTS 390.LP 400INX:INX 410.LP1 420LDA &FE60:AND #&1 430BEQ LP1 440LDA &FE64 \ GET LOW BYTE 450STA STORE,X 460LDA &FE65 \ HIGH BYTE 470STA STORE+1,X 480LDA #&FF 490STA &FE65 \ RESET T1 500INX:INX 510.LP2 520LDA &FE60:AND #&1 530BNE LP2 540LDA &FE64 \ GET LOW BYTE 550STA STORE,X 560LDA &FE65 \ HIGH BYTE 570STA STORE+1,X 580RTS 581.STORE 590] 600NEXT 610ENDPROC
�"IR Remote control reader" � CODE% 200 < �_INIT F� P� IR Z� A%=STORE � STORE+52 � 4 _ T%=&FFFF-(?A%+256*(?(A%+1))) d �;T%;" "; e?A%=&FF:A%?1=&FF n� x� �� � �� �� �_INIT �� A%=0 � 3 � 3 �P%=CODE% �[ � OPT A% �.IR �SEI �!LDA &FE6B \ TIMER CONTROL REG �� #&3F:�A #&40 � STA &FE6B �.LP0 \ HOLD � IR SENSED LDA &FE60:� #&1 BNE LP0 #LDX #&FE \ PLACE � WRITE TIMING "LDY #13 \ CYCLES � � ,LDA #&FF \ SET UP T1 6STA &FE66:STA &FE67 @STA &FE65 \ START � T1 J.CLP TJSR LP \ MEASURE �E CYCLE ^DEY hBNE CLP rCLI |RTS �.LP �INX:INX �.LP1 �LDA &FE60:� #&1 �BEQ LP1 �LDA &FE64 \ � LOW BYTE �STA STORE,X �LDA &FE65 \ HIGH BYTE �STA STORE+1,X �LDA #&FF �STA &FE65 \ RESET T1 �INX:INX �.LP2 LDA &FE60:� #&1 BNE LP2 LDA &FE64 \ � LOW BYTE &STA STORE,X 0LDA &FE65 \ HIGH BYTE :STA STORE+1,X DRTS E .STORE N] X� b� �
00000000 0d 00 0a 1f f1 22 49 52 20 52 65 6d 6f 74 65 20 |....."IR Remote | 00000010 63 6f 6e 74 72 6f 6c 20 72 65 61 64 65 72 22 0d |control reader".| 00000020 00 14 0f de 20 43 4f 44 45 25 20 32 30 30 0d 00 |.... CODE% 200..| 00000030 3c 0a f2 5f 49 4e 49 54 0d 00 46 05 f5 0d 00 50 |<.._INIT..F....P| 00000040 08 d6 20 49 52 0d 00 5a 1d e3 20 41 25 3d 53 54 |.. IR..Z.. A%=ST| 00000050 4f 52 45 20 b8 20 53 54 4f 52 45 2b 35 32 20 88 |ORE . STORE+52 .| 00000060 20 34 0d 00 5f 20 54 25 3d 26 46 46 46 46 2d 28 | 4.._ T%=&FFFF-(| 00000070 3f 41 25 2b 32 35 36 2a 28 3f 28 41 25 2b 31 29 |?A%+256*(?(A%+1)| 00000080 29 29 0d 00 64 0d f1 3b 54 25 3b 22 20 22 3b 0d |))..d..;T%;" ";.| 00000090 00 65 14 3f 41 25 3d 26 46 46 3a 41 25 3f 31 3d |.e.?A%=&FF:A%?1=| 000000a0 26 46 46 0d 00 6e 05 ed 0d 00 78 05 f1 0d 00 82 |&FF..n....x.....| 000000b0 07 fd 20 a3 0d 00 8c 05 e0 0d 00 96 0c dd 20 f2 |.. ........... .| 000000c0 5f 49 4e 49 54 0d 00 a0 12 e3 20 41 25 3d 30 20 |_INIT..... A%=0 | 000000d0 b8 20 33 20 88 20 33 0d 00 aa 0c 50 25 3d 43 4f |. 3 . 3....P%=CO| 000000e0 44 45 25 0d 00 b4 05 5b 0d 00 be 0a 4f 50 54 20 |DE%....[....OPT | 000000f0 41 25 0d 00 c8 07 2e 49 52 0d 00 d2 07 53 45 49 |A%.....IR....SEI| 00000100 0d 00 dc 21 4c 44 41 20 26 46 45 36 42 20 5c 20 |...!LDA &FE6B \ | 00000110 54 49 4d 45 52 20 43 4f 4e 54 52 4f 4c 20 52 45 |TIMER CONTROL RE| 00000120 47 0d 00 e6 12 80 20 23 26 33 46 3a 84 41 20 23 |G..... #&3F:.A #| 00000130 26 34 30 0d 00 f0 0d 53 54 41 20 26 46 45 36 42 |&40....STA &FE6B| 00000140 0d 00 fa 1b 2e 4c 50 30 20 5c 20 48 4f 4c 44 20 |.....LP0 \ HOLD | 00000150 fd 20 49 52 20 53 45 4e 53 45 44 0d 01 04 13 4c |. IR SENSED....L| 00000160 44 41 20 26 46 45 36 30 3a 80 20 23 26 31 0d 01 |DA &FE60:. #&1..| 00000170 0e 0b 42 4e 45 20 4c 50 30 0d 01 18 23 4c 44 58 |..BNE LP0...#LDX| 00000180 20 23 26 46 45 20 5c 20 50 4c 41 43 45 20 b8 20 | #&FE \ PLACE . | 00000190 57 52 49 54 45 20 54 49 4d 49 4e 47 0d 01 22 18 |WRITE TIMING..".| 000001a0 4c 44 59 20 23 31 33 20 5c 20 43 59 43 4c 45 53 |LDY #13 \ CYCLES| 000001b0 20 b8 20 f3 0d 01 2c 18 4c 44 41 20 23 26 46 46 | . ...,.LDA #&FF| 000001c0 20 5c 20 53 45 54 20 55 50 20 54 31 0d 01 36 17 | \ SET UP T1..6.| 000001d0 53 54 41 20 26 46 45 36 36 3a 53 54 41 20 26 46 |STA &FE66:STA &F| 000001e0 45 36 37 0d 01 40 1a 53 54 41 20 26 46 45 36 35 |E67..@.STA &FE65| 000001f0 20 5c 20 53 54 41 52 54 20 87 20 54 31 0d 01 4a | \ START . T1..J| 00000200 08 2e 43 4c 50 0d 01 54 1d 4a 53 52 20 4c 50 20 |..CLP..T.JSR LP | 00000210 5c 20 4d 45 41 53 55 52 45 20 ee 45 20 43 59 43 |\ MEASURE .E CYC| 00000220 4c 45 0d 01 5e 07 44 45 59 0d 01 68 0b 42 4e 45 |LE..^.DEY..h.BNE| 00000230 20 43 4c 50 0d 01 72 07 43 4c 49 0d 01 7c 07 52 | CLP..r.CLI..|.R| 00000240 54 53 0d 01 86 07 2e 4c 50 0d 01 90 0b 49 4e 58 |TS.....LP....INX| 00000250 3a 49 4e 58 0d 01 9a 08 2e 4c 50 31 0d 01 a4 13 |:INX.....LP1....| 00000260 4c 44 41 20 26 46 45 36 30 3a 80 20 23 26 31 0d |LDA &FE60:. #&1.| 00000270 01 ae 0b 42 45 51 20 4c 50 31 0d 01 b8 1a 4c 44 |...BEQ LP1....LD| 00000280 41 20 26 46 45 36 34 20 5c 20 a5 20 4c 4f 57 20 |A &FE64 \ . LOW | 00000290 42 59 54 45 0d 01 c2 0f 53 54 41 20 53 54 4f 52 |BYTE....STA STOR| 000002a0 45 2c 58 0d 01 cc 19 4c 44 41 20 26 46 45 36 35 |E,X....LDA &FE65| 000002b0 20 5c 20 48 49 47 48 20 42 59 54 45 0d 01 d6 11 | \ HIGH BYTE....| 000002c0 53 54 41 20 53 54 4f 52 45 2b 31 2c 58 0d 01 e0 |STA STORE+1,X...| 000002d0 0c 4c 44 41 20 23 26 46 46 0d 01 ea 18 53 54 41 |.LDA #&FF....STA| 000002e0 20 26 46 45 36 35 20 5c 20 52 45 53 45 54 20 54 | &FE65 \ RESET T| 000002f0 31 0d 01 f4 0b 49 4e 58 3a 49 4e 58 0d 01 fe 08 |1....INX:INX....| 00000300 2e 4c 50 32 0d 02 08 13 4c 44 41 20 26 46 45 36 |.LP2....LDA &FE6| 00000310 30 3a 80 20 23 26 31 0d 02 12 0b 42 4e 45 20 4c |0:. #&1....BNE L| 00000320 50 32 0d 02 1c 1a 4c 44 41 20 26 46 45 36 34 20 |P2....LDA &FE64 | 00000330 5c 20 a5 20 4c 4f 57 20 42 59 54 45 0d 02 26 0f |\ . LOW BYTE..&.| 00000340 53 54 41 20 53 54 4f 52 45 2c 58 0d 02 30 19 4c |STA STORE,X..0.L| 00000350 44 41 20 26 46 45 36 35 20 5c 20 48 49 47 48 20 |DA &FE65 \ HIGH | 00000360 42 59 54 45 0d 02 3a 11 53 54 41 20 53 54 4f 52 |BYTE..:.STA STOR| 00000370 45 2b 31 2c 58 0d 02 44 07 52 54 53 0d 02 45 0a |E+1,X..D.RTS..E.| 00000380 2e 53 54 4f 52 45 0d 02 4e 05 5d 0d 02 58 05 ed |.STORE..N.]..X..| 00000390 0d 02 62 05 e1 0d ff |..b....| 00000397