Home » CEEFAX disks » telesoftware15.adl » 21-02-89/Datcast
21-02-89/Datcast
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 » CEEFAX disks » telesoftware15.adl |
Filename: | 21-02-89/Datcast |
Read OK: | ✔ |
File size: | 1D58 bytes |
Load address: | FFFF1A00 |
Exec address: | FFFF8023 |
File contents
10REM> DATCAST 20MODE3 30DIM mcode &500 :REM: space for machine code 40PROCmcode :REM: assemble machine code 50INPUT"TV channel (1-4) = "answer$ 60channel?0=EVAL("&"+LEFT$(answer$,1))+&1B :REM: TTX enable, Int enable, AFC 70IF channel?0 < &1C THEN channel?0 = &1C 80IF channel?0 > &1F THEN channel?0 = &1F 90CALL mcode 100END 110DEFPROCmcode 120magazine=&70 :REM: magazine number of current page 130packet=&71 :REM: row number of current packet 140grabflag=&72 :REM: 0=searching, &80=loaded 150channel=&73 :REM: TV channel 160datalen=&74 :REM: datacast data length 170temp=&75 :REM: temporary store 180savereg=&FC :REM: interrupt accumulator save register 190escape=&FF :REM: escape flag 200irq2v=&206 :REM: irq2 vector 210ttxcontrol=&FC10 :REM: TTX control register, write only 220ttxstatus=&FC10 :REM: TTX status register, read only 230rowreg=&FC11 :REM: TTX row register, write only 240datareg=&FC12 :REM: TTX data register, read & write 250statclr=&FC13 :REM: TTX clear status register, read & write 260oswrch=&FFEE 270osbyte=&FFF4 280FOR pass=0 TO 2 STEP 2 290P%=mcode 300[OPT pass 310LDA #&00 320STA grabflag \ grabflag = searching 330LDX irq2v \ load secondary interrupt vector 340LDY irq2v+1 350STX oldirq2v \ save secondary interrupt vector 360STY oldirq2v+1 370LDX #interrupt MOD 256 \ install new interrupt routine 380LDY #interrupt DIV 256 390SEI \ disable interrupts when altering vectors 400STX irq2v 410STY irq2v+1 420CLI \ re-enable interrupts 430LDA channel \ load (channel number + #&1C) 440STA ttxcontrol \ enable TTX 450.mainloop 460LDA grabflag 470BPL continue \ branch if searching 480LDY #&03 \ data starts at byte 3 if no control bytes 490LDA buffer \ format type 500AND #&02 \ is repeat indicator in use? 510BEQ checkci \ branch if not used 520INY \ increment pointer to start of data 530.checkci 540LDA buffer \ format type 550AND #&04 \ is continuity indicator in use? 560BEQ checkdl \ branch if not used 570INY \ increment pointer to start of data 580.checkdl 590LDA buffer \ format type 600AND #&08 \ is data length in use? 610BEQ loadnumber \ branch if not used 620LDA buffer,Y \ load data length 630INY \ increment pointer to start of data 640AND #&3F \ data length is a 6 bit number 650STA temp \ number of data bytes 660TYA \ offset to start of data 670CLC 680ADC temp \ add offset to number of data bytes 690CMP #&26 \ maximum length 700BCC safenumber 710.loadnumber 720LDA #&26 730.safenumber 740STA datalen \ last data byte in buffer 750.printloop 760LDA buffer,Y \ load data byte 770AND #&7F \ clear bit 7 780CMP #&0A \ is this byte a line feed? 790BEQ printok \ ok to print line feed 800CMP #&0D \ is this byte a return? 810BEQ printok \ ok to print return 820CMP #ASC(" ") \ is it any other control byte? 830BCC nextprint \ don't print control characters 840CMP #&7F \ is it delete and backspace? 850BEQ nextprint \ don't print delete and backspace 860.printok 870JSR oswrch \ print byte on screen 880.nextprint 890INY \ point offset to next byte 900CPY datalen \ print to the end of the packet 910BCC printloop 920LDA #&00 \ clear grabflag and start 930STA grabflag \ searching again 940.continue 950LDA escape \ poll escape flag 960BPL mainloop \ loop if escape not pressed 970LDA #&7E \ decimal 126 980JSR osbyte \ acknowledge escape 990LDA #&00 1000STA ttxcontrol \ disable TTX 1010LDX oldirq2v \ load original vector 1020LDY oldirq2v+1 1030SEI \ diable interrupts when altering vector 1040STX irq2v \ restore original vector 1050STY irq2v+1 1060CLI \ re-enable interrupts 1070RTS \ return to BASIC 1080.interrupt 1090BIT ttxstatus \ poll TTX hardware 1100BMI ttxinter \ branch if TTX interrupt 1110JMP (oldirq2v) \ not TTX interrupt 1120.ttxinter 1130LDA savereg \ interrupt accumulator save register 1140PHA \ push interrupt accumulator save register 1150TXA 1160PHA \ push X 1170TYA 1180PHA \ push Y 1190LDA grabflag \ is a page ready for display? 1200BMI clearstatus \ clear status and RTI if page grabbed 1210CLD \ clear decimal flag 1220LDY #&00 \ start with row 0 1230.readttxt 1240STY rowreg \ try rows 0 to 15 1250LDA datareg \ load framing code 1260BEQ emptyrow \ if zero try next row 1270TYA 1280PHA \ save row number 1290JSR readpacket 1300PLA 1310TAY \ restore row number 1320.emptyrow 1330INY \ increment row number 1340CPY #&10 \ try rows 0 - 15 1350BNE readttxt 1360.clearstatus 1370LDA #&00 1380LDY #&0F \ clear 16 rows in adaptor 1390.clearloop 1400STY rowreg 1410STA datareg 1420DEY 1430BPL clearloop 1440STA statclr \ clear status flags before returning 1450PLA 1460TAY \ restore Y 1470PLA 1480TAX \ restore X 1490PLA 1500STA savereg \ restore interrupt accumulator save register 1510RTI \ return from interrupt 1520.readpacket 1530LDY datareg \ read magazine number 1540LDA hamtable,Y \ de-ham it 1550BMI return \ stop loading if error 1560STA magazine \ save magazine number 1570LDY datareg \ read packet number 1580LDA hamtable,Y \ de-ham it 1590BMI return \ stop loading if error 1600STA packet \ save packet number 1610LDA magazine \ load magazine number 1620CMP #&08 \ bit 3 of mag. number is bit 0 of packet number 1630ROL packet \ 5 bit packet number 1640AND #&07 \ use only bits 0-2 1650STA magazine \ 3 bit magazine number 1660LDA packet 1670CMP #&1F \ ignore all except packet 31 1680BNE return 1690LDA channel \ TV channel 1700CMP #&1E \ is this ITV? 1710BCS carryon \ branch if ITV or CH4 1720LDA magazine \ this must be BBC1 or BBC2 1730CMP #&03 \ ignore all except channel 11 1740BNE return 1750.carryon 1760LDY #&00 \ read bytes 0 - 2 1770.first3 1780LDX datareg \ read byte from adaptor 1790LDA hamtable,X \ de-hammed 1800BMI return \ branch if error 1810STA buffer,Y \ store de-hammed byte in buffer 1820INY 1830CPY #&03 1840BNE first3 \ de-hamm first three bytes 1850LDA buffer \ load format type 1860AND #&01 \ is it type "A" 1870BNE return \ exclude all but type A 1880LDA channel \ TV channel 1890CMP #&1E \ is this ITV? 1900BCS readmore \ branch if ITV or CH4 1910LDA buffer+1 \ load address length 1920CMP #&01 \ test channel has a 1 nybble address length 1930BNE return \ exclude all other address lengths 1940LDA buffer+2 \ load the address 1950CMP #&07 \ test channel has address 7 1960BNE return \ exclude all other addresses 1970.readmore 1980LDA datareg \ read byte from adaptor 1990STA buffer,Y \ store in buffer 2000INY \ increment index 2010CPY #&28 \ decimal 40 2020BNE readmore \ go back for more 2030LDA #&80 \ decimal 128 2040STA grabflag \ packet loaded 2050.return 2060RTS 2070.oldirq2v 2080EQUW &00 2090.hamtable 2100EQUD &0101FF01 2110EQUD &FF0100FF 2120EQUD &FF0102FF 2130EQUD &07FFFF0A 2140EQUD &FF0100FF 2150EQUD &00FF0000 2160EQUD &0BFFFF06 2170EQUD &FF0300FF 2180EQUD &FF010CFF 2190EQUD &07FFFF04 2200EQUD &07FFFF06 2210EQUD &070707FF 2220EQUD &05FFFF06 2230EQUD &FF0D00FF 2240EQUD &FF060606 2250EQUD &07FFFF06 2260EQUD &FF0102FF 2270EQUD &09FFFF04 2280EQUD &02FF0202 2290EQUD &FF0302FF 2300EQUD &05FFFF08 2310EQUD &FF0300FF 2320EQUD &FF0302FF 2330EQUD &0303FF03 2340EQUD &05FFFF04 2350EQUD &FF040404 2360EQUD &FF0F02FF 2370EQUD &07FFFF04 2380EQUD &050505FF 2390EQUD &05FFFF04 2400EQUD &05FFFF06 2410EQUD &FF030EFF 2420EQUD &FF010CFF 2430EQUD &09FFFF0A 2440EQUD &0BFFFF0A 2450EQUD &FF0A0A0A 2460EQUD &0BFFFF08 2470EQUD &FF0D00FF 2480EQUD &0B0B0BFF 2490EQUD &0BFFFF0A 2500EQUD &0CFF0C0C 2510EQUD &FF0D0CFF 2520EQUD &FF0F0CFF 2530EQUD &07FFFF0A 2540EQUD &FF0D0CFF 2550EQUD &0D0DFF0D 2560EQUD &0BFFFF06 2570EQUD &FF0D0EFF 2580EQUD &09FFFF08 2590EQUD &090909FF 2600EQUD &FF0F02FF 2610EQUD &09FFFF0A 2620EQUD &FF080808 2630EQUD &09FFFF08 2640EQUD &0BFFFF08 2650EQUD &FF030EFF 2660EQUD &FF0F0CFF 2670EQUD &09FFFF04 2680EQUD &0F0FFF0F 2690EQUD &FF0F0EFF 2700EQUD &05FFFF08 2710EQUD &FF0D0EFF 2720EQUD &FF0F0EFF 2730EQUD &0EFF0E0E 2740.buffer 2750EQUS STRING$(40," ") 2760] 2770NEXT 2780ENDPROC
�> DATCAST �3 +� mcode &500 :�: space for machine code ($�mcode :�: assemble machine code 2!�"TV channel (1-4) = "answer$ <Dchannel?0=�("&"+�answer$,1))+&1B :�: TTX enable, Int enable, AFC F'� channel?0 < &1C � channel?0 = &1C P'� channel?0 > &1F � channel?0 = &1F Z� mcode d� n��mcode x4magazine=&70 :�: magazine number of current page �/packet=&71 :�: row number of current packet �,grabflag=&72 :�: 0=searching, &80=loaded �channel=&73 :�: TV channel �(datalen=&74 :�: datacast data length � temp=&75 :�: temporary store �7savereg=&FC :�: interrupt accumulator save register �escape=&FF :�: escape flag �irq2v=&206 :�: irq2 vector �9ttxcontrol=&FC10 :�: TTX control register, write only �6ttxstatus=&FC10 :�: TTX status register, read only �1rowreg=&FC11 :�: TTX row register, write only �5datareg=&FC12 :�: TTX data register, read & write �=statclr=&FC13 :�: TTX clear status register, read & write oswrch=&FFEE osbyte=&FFF4 � pass=0 � 2 � 2 "P%=mcode , [OPT pass 6LDA #&00 @'STA grabflag \ grabflag = searching J/LDX irq2v \ load secondary interrupt vector TLDY irq2v+1 ^2STX oldirq2v \ save secondary interrupt vector hSTY oldirq2v+1 r8LDX #interrupt � 256 \ install new interrupt routine |LDY #interrupt � 256 �2SEI \ disable interrupts when altering vectors � STX irq2v �STY irq2v+1 �CLI \ re-enable interrupts �.LDA channel \ load (channel number + #&1C) �STA ttxcontrol \ enable TTX � .mainloop �LDA grabflag �&BPL continue \ branch if searching �8LDY #&03 \ data starts at byte 3 if no control bytes �LDA buffer \ format type �(� #&02 \ is repeat indicator in use? �$BEQ checkci \ branch if not used ,INY \ increment pointer to start of data .checkci LDA buffer \ format type &,� #&04 \ is continuity indicator in use? 0$BEQ checkdl \ branch if not used :,INY \ increment pointer to start of data D.checkdl NLDA buffer \ format type X#� #&08 \ is data length in use? b'BEQ loadnumber \ branch if not used l#LDA buffer,Y \ load data length v,INY \ increment pointer to start of data �*� #&3F \ data length is a 6 bit number �#STA temp \ number of data bytes �!TYA \ offset to start of data �CLC �1ADC temp \ add offset to number of data bytes �CMP #&26 \ maximum length �BCC safenumber �.loadnumber �LDA #&26 �.safenumber �*STA datalen \ last data byte in buffer �.printloop �!LDA buffer,Y \ load data byte � #&7F \ clear bit 7 (CMP #&0A \ is this byte a line feed? 'BEQ printok \ ok to print line feed %CMP #&0D \ is this byte a return? *$BEQ printok \ ok to print return 4/CMP #�(" ") \ is it any other control byte? >2BCC nextprint \ don't print control characters H*CMP #&7F \ is it delete and backspace? R4BEQ nextprint \ don't print delete and backspace \.printok f%JSR oswrch \ print byte on screen p.nextprint z#INY \ point offset to next byte �0CPY datalen \ print to the end of the packet �BCC printloop �'LDA #&00 \ clear grabflag and start �"STA grabflag \ searching again � .continue �!LDA escape \ poll escape flag �-BPL mainloop \ loop if escape not pressed �LDA #&7E \ decimal 126 �#JSR osbyte \ acknowledge escape �LDA #&00 � STA ttxcontrol \ disable TTX �'LDX oldirq2v \ load original vector �LDY oldirq2v+1 0SEI \ diable interrupts when altering vector 'STX irq2v \ restore original vector STY irq2v+1 $CLI \ re-enable interrupts .RTS \ return to BASIC 8.interrupt B%BIT ttxstatus \ poll TTX hardware L*BMI ttxinter \ branch if TTX interrupt V&JMP (oldirq2v) \ not TTX interrupt ` .ttxinter j5LDA savereg \ interrupt accumulator save register t2PHA \ push interrupt accumulator save register ~TXA �PHA \ push X �TYA �PHA \ push Y �/LDA grabflag \ is a page ready for display? �:BMI clearstatus \ clear status and RTI if page grabbed �CLD \ clear decimal flag �LDY #&00 \ start with row 0 � .readttxt �!STY rowreg \ try rows 0 to 15 �#LDA datareg \ load framing code �'BEQ emptyrow \ if zero try next row �TYA PHA \ save row number JSR readpacket PLA TAY \ restore row number ( .emptyrow 2INY \ increment row number <CPY #&10 \ try rows 0 - 15 FBNE readttxt P.clearstatus ZLDA #&00 d'LDY #&0F \ clear 16 rows in adaptor n.clearloop xSTY rowreg �STA datareg �DEY �BPL clearloop �5STA statclr \ clear status flags before returning �PLA �TAY \ restore Y �PLA �TAX \ restore X �PLA �=STA savereg \ restore interrupt accumulator save register �RTI \ return from interrupt �.readpacket �&LDY datareg \ read magazine number LDA hamtable,Y \ de-ham it &BMI return \ stop loading if error 'STA magazine \ save magazine number "$LDY datareg \ read packet number ,LDA hamtable,Y \ de-ham it 6&BMI return \ stop loading if error @#STA packet \ save packet number J'LDA magazine \ load magazine number T=CMP #&08 \ bit 3 of mag. number is bit 0 of packet number ^$ROL packet \ 5 bit packet number h� #&07 \ use only bits 0-2 r(STA magazine \ 3 bit magazine number |LDA packet �*CMP #&1F \ ignore all except packet 31 �BNE return �LDA channel \ TV channel �CMP #&1E \ is this ITV? �&BCS carryon \ branch if ITV or CH4 �,LDA magazine \ this must be BBC1 or BBC2 �+CMP #&03 \ ignore all except channel 11 �BNE return �.carryon �LDY #&00 \ read bytes 0 - 2 �.first3 �(LDX datareg \ read byte from adaptor �LDA hamtable,X \ de-hammed BMI return \ branch if error 1STA buffer,Y \ store de-hammed byte in buffer INY &CPY #&03 0*BNE first3 \ de-hamm first three bytes :!LDA buffer \ load format type D� #&01 \ is it type "A" N'BNE return \ exclude all but type A XLDA channel \ TV channel bCMP #&1E \ is this ITV? l'BCS readmore \ branch if ITV or CH4 v&LDA buffer+1 \ load address length �9CMP #&01 \ test channel has a 1 nybble address length �2BNE return \ exclude all other address lengths �#LDA buffer+2 \ load the address �)CMP #&07 \ test channel has address 7 �,BNE return \ exclude all other addresses � .readmore �(LDA datareg \ read byte from adaptor �"STA buffer,Y \ store in buffer �INY \ increment index �CPY #&28 \ decimal 40 �#BNE readmore \ go back for more �LDA #&80 \ decimal 128 � STA grabflag \ packet loaded .return RTS .oldirq2v EQUW &00 * .hamtable 4EQUD &0101FF01 >EQUD &FF0100FF HEQUD &FF0102FF REQUD &07FFFF0A \EQUD &FF0100FF fEQUD &00FF0000 pEQUD &0BFFFF06 zEQUD &FF0300FF �EQUD &FF010CFF �EQUD &07FFFF04 �EQUD &07FFFF06 �EQUD &070707FF �EQUD &05FFFF06 �EQUD &FF0D00FF �EQUD &FF060606 �EQUD &07FFFF06 �EQUD &FF0102FF �EQUD &09FFFF04 �EQUD &02FF0202 �EQUD &FF0302FF �EQUD &05FFFF08 EQUD &FF0300FF EQUD &FF0302FF EQUD &0303FF03 $EQUD &05FFFF04 .EQUD &FF040404 8EQUD &FF0F02FF BEQUD &07FFFF04 LEQUD &050505FF VEQUD &05FFFF04 `EQUD &05FFFF06 jEQUD &FF030EFF tEQUD &FF010CFF ~EQUD &09FFFF0A �EQUD &0BFFFF0A �EQUD &FF0A0A0A �EQUD &0BFFFF08 �EQUD &FF0D00FF �EQUD &0B0B0BFF �EQUD &0BFFFF0A �EQUD &0CFF0C0C �EQUD &FF0D0CFF �EQUD &FF0F0CFF �EQUD &07FFFF0A �EQUD &FF0D0CFF �EQUD &0D0DFF0D EQUD &0BFFFF06 EQUD &FF0D0EFF EQUD &09FFFF08 EQUD &090909FF (EQUD &FF0F02FF 2EQUD &09FFFF0A <EQUD &FF080808 FEQUD &09FFFF08 PEQUD &0BFFFF08 ZEQUD &FF030EFF dEQUD &FF0F0CFF nEQUD &09FFFF04 xEQUD &0F0FFF0F �EQUD &FF0F0EFF �EQUD &05FFFF08 �EQUD &FF0D0EFF �EQUD &FF0F0EFF �EQUD &0EFF0E0E �.buffer �EQUS �40," ") �] �� �� �
00000000 0d 00 0a 0e f4 3e 20 44 41 54 43 41 53 54 0d 00 |.....> DATCAST..| 00000010 14 06 eb 33 0d 00 1e 2b de 20 6d 63 6f 64 65 20 |...3...+. mcode | 00000020 26 35 30 30 20 3a f4 3a 20 73 70 61 63 65 20 66 |&500 :.: space f| 00000030 6f 72 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 0d |or machine code.| 00000040 00 28 24 f2 6d 63 6f 64 65 20 3a f4 3a 20 61 73 |.($.mcode :.: as| 00000050 73 65 6d 62 6c 65 20 6d 61 63 68 69 6e 65 20 63 |semble machine c| 00000060 6f 64 65 0d 00 32 21 e8 22 54 56 20 63 68 61 6e |ode..2!."TV chan| 00000070 6e 65 6c 20 28 31 2d 34 29 20 3d 20 22 61 6e 73 |nel (1-4) = "ans| 00000080 77 65 72 24 0d 00 3c 44 63 68 61 6e 6e 65 6c 3f |wer$..<Dchannel?| 00000090 30 3d a0 28 22 26 22 2b c0 61 6e 73 77 65 72 24 |0=.("&"+.answer$| 000000a0 2c 31 29 29 2b 26 31 42 20 3a f4 3a 20 54 54 58 |,1))+&1B :.: TTX| 000000b0 20 65 6e 61 62 6c 65 2c 20 49 6e 74 20 65 6e 61 | enable, Int ena| 000000c0 62 6c 65 2c 20 41 46 43 0d 00 46 27 e7 20 63 68 |ble, AFC..F'. ch| 000000d0 61 6e 6e 65 6c 3f 30 20 3c 20 26 31 43 20 8c 20 |annel?0 < &1C . | 000000e0 63 68 61 6e 6e 65 6c 3f 30 20 3d 20 26 31 43 0d |channel?0 = &1C.| 000000f0 00 50 27 e7 20 63 68 61 6e 6e 65 6c 3f 30 20 3e |.P'. channel?0 >| 00000100 20 26 31 46 20 8c 20 63 68 61 6e 6e 65 6c 3f 30 | &1F . channel?0| 00000110 20 3d 20 26 31 46 0d 00 5a 0b d6 20 6d 63 6f 64 | = &1F..Z.. mcod| 00000120 65 0d 00 64 05 e0 0d 00 6e 0b dd f2 6d 63 6f 64 |e..d....n...mcod| 00000130 65 0d 00 78 34 6d 61 67 61 7a 69 6e 65 3d 26 37 |e..x4magazine=&7| 00000140 30 20 3a f4 3a 20 6d 61 67 61 7a 69 6e 65 20 6e |0 :.: magazine n| 00000150 75 6d 62 65 72 20 6f 66 20 63 75 72 72 65 6e 74 |umber of current| 00000160 20 70 61 67 65 0d 00 82 2f 70 61 63 6b 65 74 3d | page.../packet=| 00000170 26 37 31 20 3a f4 3a 20 72 6f 77 20 6e 75 6d 62 |&71 :.: row numb| 00000180 65 72 20 6f 66 20 63 75 72 72 65 6e 74 20 70 61 |er of current pa| 00000190 63 6b 65 74 0d 00 8c 2c 67 72 61 62 66 6c 61 67 |cket...,grabflag| 000001a0 3d 26 37 32 20 3a f4 3a 20 30 3d 73 65 61 72 63 |=&72 :.: 0=searc| 000001b0 68 69 6e 67 2c 20 26 38 30 3d 6c 6f 61 64 65 64 |hing, &80=loaded| 000001c0 0d 00 96 1e 63 68 61 6e 6e 65 6c 3d 26 37 33 20 |....channel=&73 | 000001d0 3a f4 3a 20 54 56 20 63 68 61 6e 6e 65 6c 0d 00 |:.: TV channel..| 000001e0 a0 28 64 61 74 61 6c 65 6e 3d 26 37 34 20 3a f4 |.(datalen=&74 :.| 000001f0 3a 20 64 61 74 61 63 61 73 74 20 64 61 74 61 20 |: datacast data | 00000200 6c 65 6e 67 74 68 0d 00 aa 20 74 65 6d 70 3d 26 |length... temp=&| 00000210 37 35 20 3a f4 3a 20 74 65 6d 70 6f 72 61 72 79 |75 :.: temporary| 00000220 20 73 74 6f 72 65 0d 00 b4 37 73 61 76 65 72 65 | store...7savere| 00000230 67 3d 26 46 43 20 3a f4 3a 20 69 6e 74 65 72 72 |g=&FC :.: interr| 00000240 75 70 74 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 |upt accumulator | 00000250 73 61 76 65 20 72 65 67 69 73 74 65 72 0d 00 be |save register...| 00000260 1e 65 73 63 61 70 65 3d 26 46 46 20 3a f4 3a 20 |.escape=&FF :.: | 00000270 65 73 63 61 70 65 20 66 6c 61 67 0d 00 c8 1e 69 |escape flag....i| 00000280 72 71 32 76 3d 26 32 30 36 20 3a f4 3a 20 69 72 |rq2v=&206 :.: ir| 00000290 71 32 20 76 65 63 74 6f 72 0d 00 d2 39 74 74 78 |q2 vector...9ttx| 000002a0 63 6f 6e 74 72 6f 6c 3d 26 46 43 31 30 20 3a f4 |control=&FC10 :.| 000002b0 3a 20 54 54 58 20 63 6f 6e 74 72 6f 6c 20 72 65 |: TTX control re| 000002c0 67 69 73 74 65 72 2c 20 77 72 69 74 65 20 6f 6e |gister, write on| 000002d0 6c 79 0d 00 dc 36 74 74 78 73 74 61 74 75 73 3d |ly...6ttxstatus=| 000002e0 26 46 43 31 30 20 3a f4 3a 20 54 54 58 20 73 74 |&FC10 :.: TTX st| 000002f0 61 74 75 73 20 72 65 67 69 73 74 65 72 2c 20 72 |atus register, r| 00000300 65 61 64 20 6f 6e 6c 79 0d 00 e6 31 72 6f 77 72 |ead only...1rowr| 00000310 65 67 3d 26 46 43 31 31 20 3a f4 3a 20 54 54 58 |eg=&FC11 :.: TTX| 00000320 20 72 6f 77 20 72 65 67 69 73 74 65 72 2c 20 77 | row register, w| 00000330 72 69 74 65 20 6f 6e 6c 79 0d 00 f0 35 64 61 74 |rite only...5dat| 00000340 61 72 65 67 3d 26 46 43 31 32 20 3a f4 3a 20 54 |areg=&FC12 :.: T| 00000350 54 58 20 64 61 74 61 20 72 65 67 69 73 74 65 72 |TX data register| 00000360 2c 20 72 65 61 64 20 26 20 77 72 69 74 65 0d 00 |, read & write..| 00000370 fa 3d 73 74 61 74 63 6c 72 3d 26 46 43 31 33 20 |.=statclr=&FC13 | 00000380 3a f4 3a 20 54 54 58 20 63 6c 65 61 72 20 73 74 |:.: TTX clear st| 00000390 61 74 75 73 20 72 65 67 69 73 74 65 72 2c 20 72 |atus register, r| 000003a0 65 61 64 20 26 20 77 72 69 74 65 0d 01 04 10 6f |ead & write....o| 000003b0 73 77 72 63 68 3d 26 46 46 45 45 0d 01 0e 10 6f |swrch=&FFEE....o| 000003c0 73 62 79 74 65 3d 26 46 46 46 34 0d 01 18 14 e3 |sbyte=&FFF4.....| 000003d0 20 70 61 73 73 3d 30 20 b8 20 32 20 88 20 32 0d | pass=0 . 2 . 2.| 000003e0 01 22 0c 50 25 3d 6d 63 6f 64 65 0d 01 2c 0d 5b |.".P%=mcode..,.[| 000003f0 4f 50 54 20 70 61 73 73 0d 01 36 0c 4c 44 41 20 |OPT pass..6.LDA | 00000400 23 26 30 30 0d 01 40 27 53 54 41 20 67 72 61 62 |#&00..@'STA grab| 00000410 66 6c 61 67 20 5c 20 67 72 61 62 66 6c 61 67 20 |flag \ grabflag | 00000420 3d 20 73 65 61 72 63 68 69 6e 67 0d 01 4a 2f 4c |= searching..J/L| 00000430 44 58 20 69 72 71 32 76 20 5c 20 6c 6f 61 64 20 |DX irq2v \ load | 00000440 73 65 63 6f 6e 64 61 72 79 20 69 6e 74 65 72 72 |secondary interr| 00000450 75 70 74 20 76 65 63 74 6f 72 0d 01 54 0f 4c 44 |upt vector..T.LD| 00000460 59 20 69 72 71 32 76 2b 31 0d 01 5e 32 53 54 58 |Y irq2v+1..^2STX| 00000470 20 6f 6c 64 69 72 71 32 76 20 5c 20 73 61 76 65 | oldirq2v \ save| 00000480 20 73 65 63 6f 6e 64 61 72 79 20 69 6e 74 65 72 | secondary inter| 00000490 72 75 70 74 20 76 65 63 74 6f 72 0d 01 68 12 53 |rupt vector..h.S| 000004a0 54 59 20 6f 6c 64 69 72 71 32 76 2b 31 0d 01 72 |TY oldirq2v+1..r| 000004b0 38 4c 44 58 20 23 69 6e 74 65 72 72 75 70 74 20 |8LDX #interrupt | 000004c0 83 20 32 35 36 20 5c 20 69 6e 73 74 61 6c 6c 20 |. 256 \ install | 000004d0 6e 65 77 20 69 6e 74 65 72 72 75 70 74 20 72 6f |new interrupt ro| 000004e0 75 74 69 6e 65 0d 01 7c 18 4c 44 59 20 23 69 6e |utine..|.LDY #in| 000004f0 74 65 72 72 75 70 74 20 81 20 32 35 36 0d 01 86 |terrupt . 256...| 00000500 32 53 45 49 20 5c 20 64 69 73 61 62 6c 65 20 69 |2SEI \ disable i| 00000510 6e 74 65 72 72 75 70 74 73 20 77 68 65 6e 20 61 |nterrupts when a| 00000520 6c 74 65 72 69 6e 67 20 76 65 63 74 6f 72 73 0d |ltering vectors.| 00000530 01 90 0d 53 54 58 20 69 72 71 32 76 0d 01 9a 0f |...STX irq2v....| 00000540 53 54 59 20 69 72 71 32 76 2b 31 0d 01 a4 1e 43 |STY irq2v+1....C| 00000550 4c 49 20 5c 20 72 65 2d 65 6e 61 62 6c 65 20 69 |LI \ re-enable i| 00000560 6e 74 65 72 72 75 70 74 73 0d 01 ae 2e 4c 44 41 |nterrupts....LDA| 00000570 20 63 68 61 6e 6e 65 6c 20 5c 20 6c 6f 61 64 20 | channel \ load | 00000580 28 63 68 61 6e 6e 65 6c 20 6e 75 6d 62 65 72 20 |(channel number | 00000590 2b 20 23 26 31 43 29 0d 01 b8 1f 53 54 41 20 74 |+ #&1C)....STA t| 000005a0 74 78 63 6f 6e 74 72 6f 6c 20 5c 20 65 6e 61 62 |txcontrol \ enab| 000005b0 6c 65 20 54 54 58 0d 01 c2 0d 2e 6d 61 69 6e 6c |le TTX.....mainl| 000005c0 6f 6f 70 0d 01 cc 10 4c 44 41 20 67 72 61 62 66 |oop....LDA grabf| 000005d0 6c 61 67 0d 01 d6 26 42 50 4c 20 63 6f 6e 74 69 |lag...&BPL conti| 000005e0 6e 75 65 20 5c 20 62 72 61 6e 63 68 20 69 66 20 |nue \ branch if | 000005f0 73 65 61 72 63 68 69 6e 67 0d 01 e0 38 4c 44 59 |searching...8LDY| 00000600 20 23 26 30 33 20 5c 20 64 61 74 61 20 73 74 61 | #&03 \ data sta| 00000610 72 74 73 20 61 74 20 62 79 74 65 20 33 20 69 66 |rts at byte 3 if| 00000620 20 6e 6f 20 63 6f 6e 74 72 6f 6c 20 62 79 74 65 | no control byte| 00000630 73 0d 01 ea 1c 4c 44 41 20 62 75 66 66 65 72 20 |s....LDA buffer | 00000640 5c 20 66 6f 72 6d 61 74 20 74 79 70 65 0d 01 f4 |\ format type...| 00000650 28 80 20 23 26 30 32 20 5c 20 69 73 20 72 65 70 |(. #&02 \ is rep| 00000660 65 61 74 20 69 6e 64 69 63 61 74 6f 72 20 69 6e |eat indicator in| 00000670 20 75 73 65 3f 0d 01 fe 24 42 45 51 20 63 68 65 | use?...$BEQ che| 00000680 63 6b 63 69 20 5c 20 62 72 61 6e 63 68 20 69 66 |ckci \ branch if| 00000690 20 6e 6f 74 20 75 73 65 64 0d 02 08 2c 49 4e 59 | not used...,INY| 000006a0 20 5c 20 69 6e 63 72 65 6d 65 6e 74 20 70 6f 69 | \ increment poi| 000006b0 6e 74 65 72 20 74 6f 20 73 74 61 72 74 20 6f 66 |nter to start of| 000006c0 20 64 61 74 61 0d 02 12 0c 2e 63 68 65 63 6b 63 | data.....checkc| 000006d0 69 0d 02 1c 1c 4c 44 41 20 62 75 66 66 65 72 20 |i....LDA buffer | 000006e0 5c 20 66 6f 72 6d 61 74 20 74 79 70 65 0d 02 26 |\ format type..&| 000006f0 2c 80 20 23 26 30 34 20 5c 20 69 73 20 63 6f 6e |,. #&04 \ is con| 00000700 74 69 6e 75 69 74 79 20 69 6e 64 69 63 61 74 6f |tinuity indicato| 00000710 72 20 69 6e 20 75 73 65 3f 0d 02 30 24 42 45 51 |r in use?..0$BEQ| 00000720 20 63 68 65 63 6b 64 6c 20 5c 20 62 72 61 6e 63 | checkdl \ branc| 00000730 68 20 69 66 20 6e 6f 74 20 75 73 65 64 0d 02 3a |h if not used..:| 00000740 2c 49 4e 59 20 5c 20 69 6e 63 72 65 6d 65 6e 74 |,INY \ increment| 00000750 20 70 6f 69 6e 74 65 72 20 74 6f 20 73 74 61 72 | pointer to star| 00000760 74 20 6f 66 20 64 61 74 61 0d 02 44 0c 2e 63 68 |t of data..D..ch| 00000770 65 63 6b 64 6c 0d 02 4e 1c 4c 44 41 20 62 75 66 |eckdl..N.LDA buf| 00000780 66 65 72 20 5c 20 66 6f 72 6d 61 74 20 74 79 70 |fer \ format typ| 00000790 65 0d 02 58 23 80 20 23 26 30 38 20 5c 20 69 73 |e..X#. #&08 \ is| 000007a0 20 64 61 74 61 20 6c 65 6e 67 74 68 20 69 6e 20 | data length in | 000007b0 75 73 65 3f 0d 02 62 27 42 45 51 20 6c 6f 61 64 |use?..b'BEQ load| 000007c0 6e 75 6d 62 65 72 20 5c 20 62 72 61 6e 63 68 20 |number \ branch | 000007d0 69 66 20 6e 6f 74 20 75 73 65 64 0d 02 6c 23 4c |if not used..l#L| 000007e0 44 41 20 62 75 66 66 65 72 2c 59 20 5c 20 6c 6f |DA buffer,Y \ lo| 000007f0 61 64 20 64 61 74 61 20 6c 65 6e 67 74 68 0d 02 |ad data length..| 00000800 76 2c 49 4e 59 20 5c 20 69 6e 63 72 65 6d 65 6e |v,INY \ incremen| 00000810 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 73 74 61 |t pointer to sta| 00000820 72 74 20 6f 66 20 64 61 74 61 0d 02 80 2a 80 20 |rt of data...*. | 00000830 23 26 33 46 20 5c 20 64 61 74 61 20 6c 65 6e 67 |#&3F \ data leng| 00000840 74 68 20 69 73 20 61 20 36 20 62 69 74 20 6e 75 |th is a 6 bit nu| 00000850 6d 62 65 72 0d 02 8a 23 53 54 41 20 74 65 6d 70 |mber...#STA temp| 00000860 20 5c 20 6e 75 6d 62 65 72 20 6f 66 20 64 61 74 | \ number of dat| 00000870 61 20 62 79 74 65 73 0d 02 94 21 54 59 41 20 5c |a bytes...!TYA \| 00000880 20 6f 66 66 73 65 74 20 74 6f 20 73 74 61 72 74 | offset to start| 00000890 20 6f 66 20 64 61 74 61 0d 02 9e 07 43 4c 43 0d | of data....CLC.| 000008a0 02 a8 31 41 44 43 20 74 65 6d 70 20 5c 20 61 64 |..1ADC temp \ ad| 000008b0 64 20 6f 66 66 73 65 74 20 74 6f 20 6e 75 6d 62 |d offset to numb| 000008c0 65 72 20 6f 66 20 64 61 74 61 20 62 79 74 65 73 |er of data bytes| 000008d0 0d 02 b2 1d 43 4d 50 20 23 26 32 36 20 5c 20 6d |....CMP #&26 \ m| 000008e0 61 78 69 6d 75 6d 20 6c 65 6e 67 74 68 0d 02 bc |aximum length...| 000008f0 12 42 43 43 20 73 61 66 65 6e 75 6d 62 65 72 0d |.BCC safenumber.| 00000900 02 c6 0f 2e 6c 6f 61 64 6e 75 6d 62 65 72 0d 02 |....loadnumber..| 00000910 d0 0c 4c 44 41 20 23 26 32 36 0d 02 da 0f 2e 73 |..LDA #&26.....s| 00000920 61 66 65 6e 75 6d 62 65 72 0d 02 e4 2a 53 54 41 |afenumber...*STA| 00000930 20 64 61 74 61 6c 65 6e 20 5c 20 6c 61 73 74 20 | datalen \ last | 00000940 64 61 74 61 20 62 79 74 65 20 69 6e 20 62 75 66 |data byte in buf| 00000950 66 65 72 0d 02 ee 0e 2e 70 72 69 6e 74 6c 6f 6f |fer.....printloo| 00000960 70 0d 02 f8 21 4c 44 41 20 62 75 66 66 65 72 2c |p...!LDA buffer,| 00000970 59 20 5c 20 6c 6f 61 64 20 64 61 74 61 20 62 79 |Y \ load data by| 00000980 74 65 0d 03 02 18 80 20 23 26 37 46 20 5c 20 63 |te..... #&7F \ c| 00000990 6c 65 61 72 20 62 69 74 20 37 0d 03 0c 28 43 4d |lear bit 7...(CM| 000009a0 50 20 23 26 30 41 20 5c 20 69 73 20 74 68 69 73 |P #&0A \ is this| 000009b0 20 62 79 74 65 20 61 20 6c 69 6e 65 20 66 65 65 | byte a line fee| 000009c0 64 3f 0d 03 16 27 42 45 51 20 70 72 69 6e 74 6f |d?...'BEQ printo| 000009d0 6b 20 5c 20 6f 6b 20 74 6f 20 70 72 69 6e 74 20 |k \ ok to print | 000009e0 6c 69 6e 65 20 66 65 65 64 0d 03 20 25 43 4d 50 |line feed.. %CMP| 000009f0 20 23 26 30 44 20 5c 20 69 73 20 74 68 69 73 20 | #&0D \ is this | 00000a00 62 79 74 65 20 61 20 72 65 74 75 72 6e 3f 0d 03 |byte a return?..| 00000a10 2a 24 42 45 51 20 70 72 69 6e 74 6f 6b 20 5c 20 |*$BEQ printok \ | 00000a20 6f 6b 20 74 6f 20 70 72 69 6e 74 20 72 65 74 75 |ok to print retu| 00000a30 72 6e 0d 03 34 2f 43 4d 50 20 23 97 28 22 20 22 |rn..4/CMP #.(" "| 00000a40 29 20 5c 20 69 73 20 69 74 20 61 6e 79 20 6f 74 |) \ is it any ot| 00000a50 68 65 72 20 63 6f 6e 74 72 6f 6c 20 62 79 74 65 |her control byte| 00000a60 3f 0d 03 3e 32 42 43 43 20 6e 65 78 74 70 72 69 |?..>2BCC nextpri| 00000a70 6e 74 20 5c 20 64 6f 6e 27 74 20 70 72 69 6e 74 |nt \ don't print| 00000a80 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 | control charact| 00000a90 65 72 73 0d 03 48 2a 43 4d 50 20 23 26 37 46 20 |ers..H*CMP #&7F | 00000aa0 5c 20 69 73 20 69 74 20 64 65 6c 65 74 65 20 61 |\ is it delete a| 00000ab0 6e 64 20 62 61 63 6b 73 70 61 63 65 3f 0d 03 52 |nd backspace?..R| 00000ac0 34 42 45 51 20 6e 65 78 74 70 72 69 6e 74 20 5c |4BEQ nextprint \| 00000ad0 20 64 6f 6e 27 74 20 70 72 69 6e 74 20 64 65 6c | don't print del| 00000ae0 65 74 65 20 61 6e 64 20 62 61 63 6b 73 70 61 63 |ete and backspac| 00000af0 65 0d 03 5c 0c 2e 70 72 69 6e 74 6f 6b 0d 03 66 |e..\..printok..f| 00000b00 25 4a 53 52 20 6f 73 77 72 63 68 20 5c 20 70 72 |%JSR oswrch \ pr| 00000b10 69 6e 74 20 62 79 74 65 20 6f 6e 20 73 63 72 65 |int byte on scre| 00000b20 65 6e 0d 03 70 0e 2e 6e 65 78 74 70 72 69 6e 74 |en..p..nextprint| 00000b30 0d 03 7a 23 49 4e 59 20 5c 20 70 6f 69 6e 74 20 |..z#INY \ point | 00000b40 6f 66 66 73 65 74 20 74 6f 20 6e 65 78 74 20 62 |offset to next b| 00000b50 79 74 65 0d 03 84 30 43 50 59 20 64 61 74 61 6c |yte...0CPY datal| 00000b60 65 6e 20 5c 20 70 72 69 6e 74 20 74 6f 20 74 68 |en \ print to th| 00000b70 65 20 65 6e 64 20 6f 66 20 74 68 65 20 70 61 63 |e end of the pac| 00000b80 6b 65 74 0d 03 8e 11 42 43 43 20 70 72 69 6e 74 |ket....BCC print| 00000b90 6c 6f 6f 70 0d 03 98 27 4c 44 41 20 23 26 30 30 |loop...'LDA #&00| 00000ba0 20 5c 20 63 6c 65 61 72 20 67 72 61 62 66 6c 61 | \ clear grabfla| 00000bb0 67 20 61 6e 64 20 73 74 61 72 74 0d 03 a2 22 53 |g and start..."S| 00000bc0 54 41 20 67 72 61 62 66 6c 61 67 20 5c 20 73 65 |TA grabflag \ se| 00000bd0 61 72 63 68 69 6e 67 20 61 67 61 69 6e 0d 03 ac |arching again...| 00000be0 0d 2e 63 6f 6e 74 69 6e 75 65 0d 03 b6 21 4c 44 |..continue...!LD| 00000bf0 41 20 65 73 63 61 70 65 20 5c 20 70 6f 6c 6c 20 |A escape \ poll | 00000c00 65 73 63 61 70 65 20 66 6c 61 67 0d 03 c0 2d 42 |escape flag...-B| 00000c10 50 4c 20 6d 61 69 6e 6c 6f 6f 70 20 5c 20 6c 6f |PL mainloop \ lo| 00000c20 6f 70 20 69 66 20 65 73 63 61 70 65 20 6e 6f 74 |op if escape not| 00000c30 20 70 72 65 73 73 65 64 0d 03 ca 1a 4c 44 41 20 | pressed....LDA | 00000c40 23 26 37 45 20 5c 20 64 65 63 69 6d 61 6c 20 31 |#&7E \ decimal 1| 00000c50 32 36 0d 03 d4 23 4a 53 52 20 6f 73 62 79 74 65 |26...#JSR osbyte| 00000c60 20 5c 20 61 63 6b 6e 6f 77 6c 65 64 67 65 20 65 | \ acknowledge e| 00000c70 73 63 61 70 65 0d 03 de 0c 4c 44 41 20 23 26 30 |scape....LDA #&0| 00000c80 30 0d 03 e8 20 53 54 41 20 74 74 78 63 6f 6e 74 |0... STA ttxcont| 00000c90 72 6f 6c 20 5c 20 64 69 73 61 62 6c 65 20 54 54 |rol \ disable TT| 00000ca0 58 0d 03 f2 27 4c 44 58 20 6f 6c 64 69 72 71 32 |X...'LDX oldirq2| 00000cb0 76 20 5c 20 6c 6f 61 64 20 6f 72 69 67 69 6e 61 |v \ load origina| 00000cc0 6c 20 76 65 63 74 6f 72 0d 03 fc 12 4c 44 59 20 |l vector....LDY | 00000cd0 6f 6c 64 69 72 71 32 76 2b 31 0d 04 06 30 53 45 |oldirq2v+1...0SE| 00000ce0 49 20 5c 20 64 69 61 62 6c 65 20 69 6e 74 65 72 |I \ diable inter| 00000cf0 72 75 70 74 73 20 77 68 65 6e 20 61 6c 74 65 72 |rupts when alter| 00000d00 69 6e 67 20 76 65 63 74 6f 72 0d 04 10 27 53 54 |ing vector...'ST| 00000d10 58 20 69 72 71 32 76 20 5c 20 72 65 73 74 6f 72 |X irq2v \ restor| 00000d20 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 63 74 6f |e original vecto| 00000d30 72 0d 04 1a 0f 53 54 59 20 69 72 71 32 76 2b 31 |r....STY irq2v+1| 00000d40 0d 04 24 1e 43 4c 49 20 5c 20 72 65 2d 65 6e 61 |..$.CLI \ re-ena| 00000d50 62 6c 65 20 69 6e 74 65 72 72 75 70 74 73 0d 04 |ble interrupts..| 00000d60 2e 19 52 54 53 20 5c 20 72 65 74 75 72 6e 20 74 |..RTS \ return t| 00000d70 6f 20 42 41 53 49 43 0d 04 38 0e 2e 69 6e 74 65 |o BASIC..8..inte| 00000d80 72 72 75 70 74 0d 04 42 25 42 49 54 20 74 74 78 |rrupt..B%BIT ttx| 00000d90 73 74 61 74 75 73 20 5c 20 70 6f 6c 6c 20 54 54 |status \ poll TT| 00000da0 58 20 68 61 72 64 77 61 72 65 0d 04 4c 2a 42 4d |X hardware..L*BM| 00000db0 49 20 74 74 78 69 6e 74 65 72 20 5c 20 62 72 61 |I ttxinter \ bra| 00000dc0 6e 63 68 20 69 66 20 54 54 58 20 69 6e 74 65 72 |nch if TTX inter| 00000dd0 72 75 70 74 0d 04 56 26 4a 4d 50 20 28 6f 6c 64 |rupt..V&JMP (old| 00000de0 69 72 71 32 76 29 20 5c 20 6e 6f 74 20 54 54 58 |irq2v) \ not TTX| 00000df0 20 69 6e 74 65 72 72 75 70 74 0d 04 60 0d 2e 74 | interrupt..`..t| 00000e00 74 78 69 6e 74 65 72 0d 04 6a 35 4c 44 41 20 73 |txinter..j5LDA s| 00000e10 61 76 65 72 65 67 20 5c 20 69 6e 74 65 72 72 75 |avereg \ interru| 00000e20 70 74 20 61 63 63 75 6d 75 6c 61 74 6f 72 20 73 |pt accumulator s| 00000e30 61 76 65 20 72 65 67 69 73 74 65 72 0d 04 74 32 |ave register..t2| 00000e40 50 48 41 20 5c 20 70 75 73 68 20 69 6e 74 65 72 |PHA \ push inter| 00000e50 72 75 70 74 20 61 63 63 75 6d 75 6c 61 74 6f 72 |rupt accumulator| 00000e60 20 73 61 76 65 20 72 65 67 69 73 74 65 72 0d 04 | save register..| 00000e70 7e 07 54 58 41 0d 04 88 10 50 48 41 20 5c 20 70 |~.TXA....PHA \ p| 00000e80 75 73 68 20 58 0d 04 92 07 54 59 41 0d 04 9c 10 |ush X....TYA....| 00000e90 50 48 41 20 5c 20 70 75 73 68 20 59 0d 04 a6 2f |PHA \ push Y.../| 00000ea0 4c 44 41 20 67 72 61 62 66 6c 61 67 20 5c 20 69 |LDA grabflag \ i| 00000eb0 73 20 61 20 70 61 67 65 20 72 65 61 64 79 20 66 |s a page ready f| 00000ec0 6f 72 20 64 69 73 70 6c 61 79 3f 0d 04 b0 3a 42 |or display?...:B| 00000ed0 4d 49 20 63 6c 65 61 72 73 74 61 74 75 73 20 5c |MI clearstatus \| 00000ee0 20 63 6c 65 61 72 20 73 74 61 74 75 73 20 61 6e | clear status an| 00000ef0 64 20 52 54 49 20 69 66 20 70 61 67 65 20 67 72 |d RTI if page gr| 00000f00 61 62 62 65 64 0d 04 ba 1c 43 4c 44 20 5c 20 63 |abbed....CLD \ c| 00000f10 6c 65 61 72 20 64 65 63 69 6d 61 6c 20 66 6c 61 |lear decimal fla| 00000f20 67 0d 04 c4 1f 4c 44 59 20 23 26 30 30 20 5c 20 |g....LDY #&00 \ | 00000f30 73 74 61 72 74 20 77 69 74 68 20 72 6f 77 20 30 |start with row 0| 00000f40 0d 04 ce 0d 2e 72 65 61 64 74 74 78 74 0d 04 d8 |.....readttxt...| 00000f50 21 53 54 59 20 72 6f 77 72 65 67 20 5c 20 74 72 |!STY rowreg \ tr| 00000f60 79 20 72 6f 77 73 20 30 20 74 6f 20 31 35 0d 04 |y rows 0 to 15..| 00000f70 e2 23 4c 44 41 20 64 61 74 61 72 65 67 20 5c 20 |.#LDA datareg \ | 00000f80 6c 6f 61 64 20 66 72 61 6d 69 6e 67 20 63 6f 64 |load framing cod| 00000f90 65 0d 04 ec 27 42 45 51 20 65 6d 70 74 79 72 6f |e...'BEQ emptyro| 00000fa0 77 20 5c 20 69 66 20 7a 65 72 6f 20 74 72 79 20 |w \ if zero try | 00000fb0 6e 65 78 74 20 72 6f 77 0d 04 f6 07 54 59 41 0d |next row....TYA.| 00000fc0 05 00 19 50 48 41 20 5c 20 73 61 76 65 20 72 6f |...PHA \ save ro| 00000fd0 77 20 6e 75 6d 62 65 72 0d 05 0a 12 4a 53 52 20 |w number....JSR | 00000fe0 72 65 61 64 70 61 63 6b 65 74 0d 05 14 07 50 4c |readpacket....PL| 00000ff0 41 0d 05 1e 1c 54 41 59 20 5c 20 72 65 73 74 6f |A....TAY \ resto| 00001000 72 65 20 72 6f 77 20 6e 75 6d 62 65 72 0d 05 28 |re row number..(| 00001010 0d 2e 65 6d 70 74 79 72 6f 77 0d 05 32 1e 49 4e |..emptyrow..2.IN| 00001020 59 20 5c 20 69 6e 63 72 65 6d 65 6e 74 20 72 6f |Y \ increment ro| 00001030 77 20 6e 75 6d 62 65 72 0d 05 3c 1e 43 50 59 20 |w number..<.CPY | 00001040 23 26 31 30 20 5c 20 74 72 79 20 72 6f 77 73 20 |#&10 \ try rows | 00001050 30 20 2d 20 31 35 0d 05 46 10 42 4e 45 20 72 65 |0 - 15..F.BNE re| 00001060 61 64 74 74 78 74 0d 05 50 10 2e 63 6c 65 61 72 |adttxt..P..clear| 00001070 73 74 61 74 75 73 0d 05 5a 0c 4c 44 41 20 23 26 |status..Z.LDA #&| 00001080 30 30 0d 05 64 27 4c 44 59 20 23 26 30 46 20 5c |00..d'LDY #&0F \| 00001090 20 63 6c 65 61 72 20 31 36 20 72 6f 77 73 20 69 | clear 16 rows i| 000010a0 6e 20 61 64 61 70 74 6f 72 0d 05 6e 0e 2e 63 6c |n adaptor..n..cl| 000010b0 65 61 72 6c 6f 6f 70 0d 05 78 0e 53 54 59 20 72 |earloop..x.STY r| 000010c0 6f 77 72 65 67 0d 05 82 0f 53 54 41 20 64 61 74 |owreg....STA dat| 000010d0 61 72 65 67 0d 05 8c 07 44 45 59 0d 05 96 11 42 |areg....DEY....B| 000010e0 50 4c 20 63 6c 65 61 72 6c 6f 6f 70 0d 05 a0 35 |PL clearloop...5| 000010f0 53 54 41 20 73 74 61 74 63 6c 72 20 5c 20 63 6c |STA statclr \ cl| 00001100 65 61 72 20 73 74 61 74 75 73 20 66 6c 61 67 73 |ear status flags| 00001110 20 62 65 66 6f 72 65 20 72 65 74 75 72 6e 69 6e | before returnin| 00001120 67 0d 05 aa 07 50 4c 41 0d 05 b4 13 54 41 59 20 |g....PLA....TAY | 00001130 5c 20 72 65 73 74 6f 72 65 20 59 0d 05 be 07 50 |\ restore Y....P| 00001140 4c 41 0d 05 c8 13 54 41 58 20 5c 20 72 65 73 74 |LA....TAX \ rest| 00001150 6f 72 65 20 58 0d 05 d2 07 50 4c 41 0d 05 dc 3d |ore X....PLA...=| 00001160 53 54 41 20 73 61 76 65 72 65 67 20 5c 20 72 65 |STA savereg \ re| 00001170 73 74 6f 72 65 20 69 6e 74 65 72 72 75 70 74 20 |store interrupt | 00001180 61 63 63 75 6d 75 6c 61 74 6f 72 20 73 61 76 65 |accumulator save| 00001190 20 72 65 67 69 73 74 65 72 0d 05 e6 1f 52 54 49 | register....RTI| 000011a0 20 5c 20 72 65 74 75 72 6e 20 66 72 6f 6d 20 69 | \ return from i| 000011b0 6e 74 65 72 72 75 70 74 0d 05 f0 0f 2e 72 65 61 |nterrupt.....rea| 000011c0 64 70 61 63 6b 65 74 0d 05 fa 26 4c 44 59 20 64 |dpacket...&LDY d| 000011d0 61 74 61 72 65 67 20 5c 20 72 65 61 64 20 6d 61 |atareg \ read ma| 000011e0 67 61 7a 69 6e 65 20 6e 75 6d 62 65 72 0d 06 04 |gazine number...| 000011f0 1e 4c 44 41 20 68 61 6d 74 61 62 6c 65 2c 59 20 |.LDA hamtable,Y | 00001200 5c 20 64 65 2d 68 61 6d 20 69 74 0d 06 0e 26 42 |\ de-ham it...&B| 00001210 4d 49 20 72 65 74 75 72 6e 20 5c 20 73 74 6f 70 |MI return \ stop| 00001220 20 6c 6f 61 64 69 6e 67 20 69 66 20 65 72 72 6f | loading if erro| 00001230 72 0d 06 18 27 53 54 41 20 6d 61 67 61 7a 69 6e |r...'STA magazin| 00001240 65 20 5c 20 73 61 76 65 20 6d 61 67 61 7a 69 6e |e \ save magazin| 00001250 65 20 6e 75 6d 62 65 72 0d 06 22 24 4c 44 59 20 |e number.."$LDY | 00001260 64 61 74 61 72 65 67 20 5c 20 72 65 61 64 20 70 |datareg \ read p| 00001270 61 63 6b 65 74 20 6e 75 6d 62 65 72 0d 06 2c 1e |acket number..,.| 00001280 4c 44 41 20 68 61 6d 74 61 62 6c 65 2c 59 20 5c |LDA hamtable,Y \| 00001290 20 64 65 2d 68 61 6d 20 69 74 0d 06 36 26 42 4d | de-ham it..6&BM| 000012a0 49 20 72 65 74 75 72 6e 20 5c 20 73 74 6f 70 20 |I return \ stop | 000012b0 6c 6f 61 64 69 6e 67 20 69 66 20 65 72 72 6f 72 |loading if error| 000012c0 0d 06 40 23 53 54 41 20 70 61 63 6b 65 74 20 5c |..@#STA packet \| 000012d0 20 73 61 76 65 20 70 61 63 6b 65 74 20 6e 75 6d | save packet num| 000012e0 62 65 72 0d 06 4a 27 4c 44 41 20 6d 61 67 61 7a |ber..J'LDA magaz| 000012f0 69 6e 65 20 5c 20 6c 6f 61 64 20 6d 61 67 61 7a |ine \ load magaz| 00001300 69 6e 65 20 6e 75 6d 62 65 72 0d 06 54 3d 43 4d |ine number..T=CM| 00001310 50 20 23 26 30 38 20 5c 20 62 69 74 20 33 20 6f |P #&08 \ bit 3 o| 00001320 66 20 6d 61 67 2e 20 6e 75 6d 62 65 72 20 69 73 |f mag. number is| 00001330 20 62 69 74 20 30 20 6f 66 20 70 61 63 6b 65 74 | bit 0 of packet| 00001340 20 6e 75 6d 62 65 72 0d 06 5e 24 52 4f 4c 20 70 | number..^$ROL p| 00001350 61 63 6b 65 74 20 5c 20 35 20 62 69 74 20 70 61 |acket \ 5 bit pa| 00001360 63 6b 65 74 20 6e 75 6d 62 65 72 0d 06 68 1e 80 |cket number..h..| 00001370 20 23 26 30 37 20 5c 20 75 73 65 20 6f 6e 6c 79 | #&07 \ use only| 00001380 20 62 69 74 73 20 30 2d 32 0d 06 72 28 53 54 41 | bits 0-2..r(STA| 00001390 20 6d 61 67 61 7a 69 6e 65 20 5c 20 33 20 62 69 | magazine \ 3 bi| 000013a0 74 20 6d 61 67 61 7a 69 6e 65 20 6e 75 6d 62 65 |t magazine numbe| 000013b0 72 0d 06 7c 0e 4c 44 41 20 70 61 63 6b 65 74 0d |r..|.LDA packet.| 000013c0 06 86 2a 43 4d 50 20 23 26 31 46 20 5c 20 69 67 |..*CMP #&1F \ ig| 000013d0 6e 6f 72 65 20 61 6c 6c 20 65 78 63 65 70 74 20 |nore all except | 000013e0 70 61 63 6b 65 74 20 33 31 0d 06 90 0e 42 4e 45 |packet 31....BNE| 000013f0 20 72 65 74 75 72 6e 0d 06 9a 1c 4c 44 41 20 63 | return....LDA c| 00001400 68 61 6e 6e 65 6c 20 5c 20 54 56 20 63 68 61 6e |hannel \ TV chan| 00001410 6e 65 6c 0d 06 a4 1b 43 4d 50 20 23 26 31 45 20 |nel....CMP #&1E | 00001420 5c 20 69 73 20 74 68 69 73 20 49 54 56 3f 0d 06 |\ is this ITV?..| 00001430 ae 26 42 43 53 20 63 61 72 72 79 6f 6e 20 5c 20 |.&BCS carryon \ | 00001440 62 72 61 6e 63 68 20 69 66 20 49 54 56 20 6f 72 |branch if ITV or| 00001450 20 43 48 34 0d 06 b8 2c 4c 44 41 20 6d 61 67 61 | CH4...,LDA maga| 00001460 7a 69 6e 65 20 5c 20 74 68 69 73 20 6d 75 73 74 |zine \ this must| 00001470 20 62 65 20 42 42 43 31 20 6f 72 20 42 42 43 32 | be BBC1 or BBC2| 00001480 0d 06 c2 2b 43 4d 50 20 23 26 30 33 20 5c 20 69 |...+CMP #&03 \ i| 00001490 67 6e 6f 72 65 20 61 6c 6c 20 65 78 63 65 70 74 |gnore all except| 000014a0 20 63 68 61 6e 6e 65 6c 20 31 31 0d 06 cc 0e 42 | channel 11....B| 000014b0 4e 45 20 72 65 74 75 72 6e 0d 06 d6 0c 2e 63 61 |NE return.....ca| 000014c0 72 72 79 6f 6e 0d 06 e0 1f 4c 44 59 20 23 26 30 |rryon....LDY #&0| 000014d0 30 20 5c 20 72 65 61 64 20 62 79 74 65 73 20 30 |0 \ read bytes 0| 000014e0 20 2d 20 32 0d 06 ea 0b 2e 66 69 72 73 74 33 0d | - 2.....first3.| 000014f0 06 f4 28 4c 44 58 20 64 61 74 61 72 65 67 20 5c |..(LDX datareg \| 00001500 20 72 65 61 64 20 62 79 74 65 20 66 72 6f 6d 20 | read byte from | 00001510 61 64 61 70 74 6f 72 0d 06 fe 1e 4c 44 41 20 68 |adaptor....LDA h| 00001520 61 6d 74 61 62 6c 65 2c 58 20 5c 20 64 65 2d 68 |amtable,X \ de-h| 00001530 61 6d 6d 65 64 0d 07 08 20 42 4d 49 20 72 65 74 |ammed... BMI ret| 00001540 75 72 6e 20 5c 20 62 72 61 6e 63 68 20 69 66 20 |urn \ branch if | 00001550 65 72 72 6f 72 0d 07 12 31 53 54 41 20 62 75 66 |error...1STA buf| 00001560 66 65 72 2c 59 20 5c 20 73 74 6f 72 65 20 64 65 |fer,Y \ store de| 00001570 2d 68 61 6d 6d 65 64 20 62 79 74 65 20 69 6e 20 |-hammed byte in | 00001580 62 75 66 66 65 72 0d 07 1c 07 49 4e 59 0d 07 26 |buffer....INY..&| 00001590 0c 43 50 59 20 23 26 30 33 0d 07 30 2a 42 4e 45 |.CPY #&03..0*BNE| 000015a0 20 66 69 72 73 74 33 20 5c 20 64 65 2d 68 61 6d | first3 \ de-ham| 000015b0 6d 20 66 69 72 73 74 20 74 68 72 65 65 20 62 79 |m first three by| 000015c0 74 65 73 0d 07 3a 21 4c 44 41 20 62 75 66 66 65 |tes..:!LDA buffe| 000015d0 72 20 5c 20 6c 6f 61 64 20 66 6f 72 6d 61 74 20 |r \ load format | 000015e0 74 79 70 65 0d 07 44 1b 80 20 23 26 30 31 20 5c |type..D.. #&01 \| 000015f0 20 69 73 20 69 74 20 74 79 70 65 20 22 41 22 0d | is it type "A".| 00001600 07 4e 27 42 4e 45 20 72 65 74 75 72 6e 20 5c 20 |.N'BNE return \ | 00001610 65 78 63 6c 75 64 65 20 61 6c 6c 20 62 75 74 20 |exclude all but | 00001620 74 79 70 65 20 41 0d 07 58 1c 4c 44 41 20 63 68 |type A..X.LDA ch| 00001630 61 6e 6e 65 6c 20 5c 20 54 56 20 63 68 61 6e 6e |annel \ TV chann| 00001640 65 6c 0d 07 62 1b 43 4d 50 20 23 26 31 45 20 5c |el..b.CMP #&1E \| 00001650 20 69 73 20 74 68 69 73 20 49 54 56 3f 0d 07 6c | is this ITV?..l| 00001660 27 42 43 53 20 72 65 61 64 6d 6f 72 65 20 5c 20 |'BCS readmore \ | 00001670 62 72 61 6e 63 68 20 69 66 20 49 54 56 20 6f 72 |branch if ITV or| 00001680 20 43 48 34 0d 07 76 26 4c 44 41 20 62 75 66 66 | CH4..v&LDA buff| 00001690 65 72 2b 31 20 5c 20 6c 6f 61 64 20 61 64 64 72 |er+1 \ load addr| 000016a0 65 73 73 20 6c 65 6e 67 74 68 0d 07 80 39 43 4d |ess length...9CM| 000016b0 50 20 23 26 30 31 20 5c 20 74 65 73 74 20 63 68 |P #&01 \ test ch| 000016c0 61 6e 6e 65 6c 20 68 61 73 20 61 20 31 20 6e 79 |annel has a 1 ny| 000016d0 62 62 6c 65 20 61 64 64 72 65 73 73 20 6c 65 6e |bble address len| 000016e0 67 74 68 0d 07 8a 32 42 4e 45 20 72 65 74 75 72 |gth...2BNE retur| 000016f0 6e 20 5c 20 65 78 63 6c 75 64 65 20 61 6c 6c 20 |n \ exclude all | 00001700 6f 74 68 65 72 20 61 64 64 72 65 73 73 20 6c 65 |other address le| 00001710 6e 67 74 68 73 0d 07 94 23 4c 44 41 20 62 75 66 |ngths...#LDA buf| 00001720 66 65 72 2b 32 20 5c 20 6c 6f 61 64 20 74 68 65 |fer+2 \ load the| 00001730 20 61 64 64 72 65 73 73 0d 07 9e 29 43 4d 50 20 | address...)CMP | 00001740 23 26 30 37 20 5c 20 74 65 73 74 20 63 68 61 6e |#&07 \ test chan| 00001750 6e 65 6c 20 68 61 73 20 61 64 64 72 65 73 73 20 |nel has address | 00001760 37 0d 07 a8 2c 42 4e 45 20 72 65 74 75 72 6e 20 |7...,BNE return | 00001770 5c 20 65 78 63 6c 75 64 65 20 61 6c 6c 20 6f 74 |\ exclude all ot| 00001780 68 65 72 20 61 64 64 72 65 73 73 65 73 0d 07 b2 |her addresses...| 00001790 0d 2e 72 65 61 64 6d 6f 72 65 0d 07 bc 28 4c 44 |..readmore...(LD| 000017a0 41 20 64 61 74 61 72 65 67 20 5c 20 72 65 61 64 |A datareg \ read| 000017b0 20 62 79 74 65 20 66 72 6f 6d 20 61 64 61 70 74 | byte from adapt| 000017c0 6f 72 0d 07 c6 22 53 54 41 20 62 75 66 66 65 72 |or..."STA buffer| 000017d0 2c 59 20 5c 20 73 74 6f 72 65 20 69 6e 20 62 75 |,Y \ store in bu| 000017e0 66 66 65 72 0d 07 d0 19 49 4e 59 20 5c 20 69 6e |ffer....INY \ in| 000017f0 63 72 65 6d 65 6e 74 20 69 6e 64 65 78 0d 07 da |crement index...| 00001800 19 43 50 59 20 23 26 32 38 20 5c 20 64 65 63 69 |.CPY #&28 \ deci| 00001810 6d 61 6c 20 34 30 0d 07 e4 23 42 4e 45 20 72 65 |mal 40...#BNE re| 00001820 61 64 6d 6f 72 65 20 5c 20 67 6f 20 62 61 63 6b |admore \ go back| 00001830 20 66 6f 72 20 6d 6f 72 65 0d 07 ee 1a 4c 44 41 | for more....LDA| 00001840 20 23 26 38 30 20 5c 20 64 65 63 69 6d 61 6c 20 | #&80 \ decimal | 00001850 31 32 38 0d 07 f8 20 53 54 41 20 67 72 61 62 66 |128... STA grabf| 00001860 6c 61 67 20 5c 20 70 61 63 6b 65 74 20 6c 6f 61 |lag \ packet loa| 00001870 64 65 64 0d 08 02 0b 2e 72 65 74 75 72 6e 0d 08 |ded.....return..| 00001880 0c 07 52 54 53 0d 08 16 0d 2e 6f 6c 64 69 72 71 |..RTS.....oldirq| 00001890 32 76 0d 08 20 0c 45 51 55 57 20 26 30 30 0d 08 |2v.. .EQUW &00..| 000018a0 2a 0d 2e 68 61 6d 74 61 62 6c 65 0d 08 34 12 45 |*..hamtable..4.E| 000018b0 51 55 44 20 26 30 31 30 31 46 46 30 31 0d 08 3e |QUD &0101FF01..>| 000018c0 12 45 51 55 44 20 26 46 46 30 31 30 30 46 46 0d |.EQUD &FF0100FF.| 000018d0 08 48 12 45 51 55 44 20 26 46 46 30 31 30 32 46 |.H.EQUD &FF0102F| 000018e0 46 0d 08 52 12 45 51 55 44 20 26 30 37 46 46 46 |F..R.EQUD &07FFF| 000018f0 46 30 41 0d 08 5c 12 45 51 55 44 20 26 46 46 30 |F0A..\.EQUD &FF0| 00001900 31 30 30 46 46 0d 08 66 12 45 51 55 44 20 26 30 |100FF..f.EQUD &0| 00001910 30 46 46 30 30 30 30 0d 08 70 12 45 51 55 44 20 |0FF0000..p.EQUD | 00001920 26 30 42 46 46 46 46 30 36 0d 08 7a 12 45 51 55 |&0BFFFF06..z.EQU| 00001930 44 20 26 46 46 30 33 30 30 46 46 0d 08 84 12 45 |D &FF0300FF....E| 00001940 51 55 44 20 26 46 46 30 31 30 43 46 46 0d 08 8e |QUD &FF010CFF...| 00001950 12 45 51 55 44 20 26 30 37 46 46 46 46 30 34 0d |.EQUD &07FFFF04.| 00001960 08 98 12 45 51 55 44 20 26 30 37 46 46 46 46 30 |...EQUD &07FFFF0| 00001970 36 0d 08 a2 12 45 51 55 44 20 26 30 37 30 37 30 |6....EQUD &07070| 00001980 37 46 46 0d 08 ac 12 45 51 55 44 20 26 30 35 46 |7FF....EQUD &05F| 00001990 46 46 46 30 36 0d 08 b6 12 45 51 55 44 20 26 46 |FFF06....EQUD &F| 000019a0 46 30 44 30 30 46 46 0d 08 c0 12 45 51 55 44 20 |F0D00FF....EQUD | 000019b0 26 46 46 30 36 30 36 30 36 0d 08 ca 12 45 51 55 |&FF060606....EQU| 000019c0 44 20 26 30 37 46 46 46 46 30 36 0d 08 d4 12 45 |D &07FFFF06....E| 000019d0 51 55 44 20 26 46 46 30 31 30 32 46 46 0d 08 de |QUD &FF0102FF...| 000019e0 12 45 51 55 44 20 26 30 39 46 46 46 46 30 34 0d |.EQUD &09FFFF04.| 000019f0 08 e8 12 45 51 55 44 20 26 30 32 46 46 30 32 30 |...EQUD &02FF020| 00001a00 32 0d 08 f2 12 45 51 55 44 20 26 46 46 30 33 30 |2....EQUD &FF030| 00001a10 32 46 46 0d 08 fc 12 45 51 55 44 20 26 30 35 46 |2FF....EQUD &05F| 00001a20 46 46 46 30 38 0d 09 06 12 45 51 55 44 20 26 46 |FFF08....EQUD &F| 00001a30 46 30 33 30 30 46 46 0d 09 10 12 45 51 55 44 20 |F0300FF....EQUD | 00001a40 26 46 46 30 33 30 32 46 46 0d 09 1a 12 45 51 55 |&FF0302FF....EQU| 00001a50 44 20 26 30 33 30 33 46 46 30 33 0d 09 24 12 45 |D &0303FF03..$.E| 00001a60 51 55 44 20 26 30 35 46 46 46 46 30 34 0d 09 2e |QUD &05FFFF04...| 00001a70 12 45 51 55 44 20 26 46 46 30 34 30 34 30 34 0d |.EQUD &FF040404.| 00001a80 09 38 12 45 51 55 44 20 26 46 46 30 46 30 32 46 |.8.EQUD &FF0F02F| 00001a90 46 0d 09 42 12 45 51 55 44 20 26 30 37 46 46 46 |F..B.EQUD &07FFF| 00001aa0 46 30 34 0d 09 4c 12 45 51 55 44 20 26 30 35 30 |F04..L.EQUD &050| 00001ab0 35 30 35 46 46 0d 09 56 12 45 51 55 44 20 26 30 |505FF..V.EQUD &0| 00001ac0 35 46 46 46 46 30 34 0d 09 60 12 45 51 55 44 20 |5FFFF04..`.EQUD | 00001ad0 26 30 35 46 46 46 46 30 36 0d 09 6a 12 45 51 55 |&05FFFF06..j.EQU| 00001ae0 44 20 26 46 46 30 33 30 45 46 46 0d 09 74 12 45 |D &FF030EFF..t.E| 00001af0 51 55 44 20 26 46 46 30 31 30 43 46 46 0d 09 7e |QUD &FF010CFF..~| 00001b00 12 45 51 55 44 20 26 30 39 46 46 46 46 30 41 0d |.EQUD &09FFFF0A.| 00001b10 09 88 12 45 51 55 44 20 26 30 42 46 46 46 46 30 |...EQUD &0BFFFF0| 00001b20 41 0d 09 92 12 45 51 55 44 20 26 46 46 30 41 30 |A....EQUD &FF0A0| 00001b30 41 30 41 0d 09 9c 12 45 51 55 44 20 26 30 42 46 |A0A....EQUD &0BF| 00001b40 46 46 46 30 38 0d 09 a6 12 45 51 55 44 20 26 46 |FFF08....EQUD &F| 00001b50 46 30 44 30 30 46 46 0d 09 b0 12 45 51 55 44 20 |F0D00FF....EQUD | 00001b60 26 30 42 30 42 30 42 46 46 0d 09 ba 12 45 51 55 |&0B0B0BFF....EQU| 00001b70 44 20 26 30 42 46 46 46 46 30 41 0d 09 c4 12 45 |D &0BFFFF0A....E| 00001b80 51 55 44 20 26 30 43 46 46 30 43 30 43 0d 09 ce |QUD &0CFF0C0C...| 00001b90 12 45 51 55 44 20 26 46 46 30 44 30 43 46 46 0d |.EQUD &FF0D0CFF.| 00001ba0 09 d8 12 45 51 55 44 20 26 46 46 30 46 30 43 46 |...EQUD &FF0F0CF| 00001bb0 46 0d 09 e2 12 45 51 55 44 20 26 30 37 46 46 46 |F....EQUD &07FFF| 00001bc0 46 30 41 0d 09 ec 12 45 51 55 44 20 26 46 46 30 |F0A....EQUD &FF0| 00001bd0 44 30 43 46 46 0d 09 f6 12 45 51 55 44 20 26 30 |D0CFF....EQUD &0| 00001be0 44 30 44 46 46 30 44 0d 0a 00 12 45 51 55 44 20 |D0DFF0D....EQUD | 00001bf0 26 30 42 46 46 46 46 30 36 0d 0a 0a 12 45 51 55 |&0BFFFF06....EQU| 00001c00 44 20 26 46 46 30 44 30 45 46 46 0d 0a 14 12 45 |D &FF0D0EFF....E| 00001c10 51 55 44 20 26 30 39 46 46 46 46 30 38 0d 0a 1e |QUD &09FFFF08...| 00001c20 12 45 51 55 44 20 26 30 39 30 39 30 39 46 46 0d |.EQUD &090909FF.| 00001c30 0a 28 12 45 51 55 44 20 26 46 46 30 46 30 32 46 |.(.EQUD &FF0F02F| 00001c40 46 0d 0a 32 12 45 51 55 44 20 26 30 39 46 46 46 |F..2.EQUD &09FFF| 00001c50 46 30 41 0d 0a 3c 12 45 51 55 44 20 26 46 46 30 |F0A..<.EQUD &FF0| 00001c60 38 30 38 30 38 0d 0a 46 12 45 51 55 44 20 26 30 |80808..F.EQUD &0| 00001c70 39 46 46 46 46 30 38 0d 0a 50 12 45 51 55 44 20 |9FFFF08..P.EQUD | 00001c80 26 30 42 46 46 46 46 30 38 0d 0a 5a 12 45 51 55 |&0BFFFF08..Z.EQU| 00001c90 44 20 26 46 46 30 33 30 45 46 46 0d 0a 64 12 45 |D &FF030EFF..d.E| 00001ca0 51 55 44 20 26 46 46 30 46 30 43 46 46 0d 0a 6e |QUD &FF0F0CFF..n| 00001cb0 12 45 51 55 44 20 26 30 39 46 46 46 46 30 34 0d |.EQUD &09FFFF04.| 00001cc0 0a 78 12 45 51 55 44 20 26 30 46 30 46 46 46 30 |.x.EQUD &0F0FFF0| 00001cd0 46 0d 0a 82 12 45 51 55 44 20 26 46 46 30 46 30 |F....EQUD &FF0F0| 00001ce0 45 46 46 0d 0a 8c 12 45 51 55 44 20 26 30 35 46 |EFF....EQUD &05F| 00001cf0 46 46 46 30 38 0d 0a 96 12 45 51 55 44 20 26 46 |FFF08....EQUD &F| 00001d00 46 30 44 30 45 46 46 0d 0a a0 12 45 51 55 44 20 |F0D0EFF....EQUD | 00001d10 26 46 46 30 46 30 45 46 46 0d 0a aa 12 45 51 55 |&FF0F0EFF....EQU| 00001d20 44 20 26 30 45 46 46 30 45 30 45 0d 0a b4 0b 2e |D &0EFF0E0E.....| 00001d30 62 75 66 66 65 72 0d 0a be 11 45 51 55 53 20 c4 |buffer....EQUS .| 00001d40 34 30 2c 22 20 22 29 0d 0a c8 05 5d 0d 0a d2 05 |40," ")....]....| 00001d50 ed 0d 0a dc 05 e1 0d ff |........| 00001d58