Home » CEEFAX disks » telesoftware5.adl » 17-02-88/HELP
17-02-88/HELP
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 » telesoftware5.adl |
Filename: | 17-02-88/HELP |
Read OK: | ✔ |
File size: | 17C1 bytes |
Load address: | FFFF1900 |
Exec address: | FFFF8023 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- CEEFAX disks » telesoftware10.adl » 25-10-88/HELP
- CEEFAX disks » telesoftware5.adl » 17-02-88/HELP
File contents
10REM: HELP 20MODE7 30HIMEM=&3C00 40DIM save 50 50diff=&8000-HIMEM 60address=&70 70comvec=&F2 80errstack=&100 90stack=&105 100gsinit=&FFC2 110gsread=&FFC5 120osasci=&FFE3 130osword=&FFF1 140osbyte=&FFF4 150oscli=&FFF7 160FOR pass = 0 TO 2 STEP 2 170P%=HIMEM 180[OPT pass 190BRK 200BRK 210BRK 220JMP service+diff 230OPT FNequb(&82) 240OPT FNequb((copyright+diff) MOD 256) 250BRK 260OPT FNequs("COLOURED TEXT") 270.copyright 280BRK 290OPT FNequs("(C) Gordon Horsington 1987") 300BRK 310.service 320PHA 330TXA 340PHA 350TYA 360PHA 370LDA address 380PHA 390LDA address+1 400PHA 410TSX 420LDA stack,X 430CMP #9 440BNE tryfour 450SEC 460JSR gsinit 470LDX #0 480JSR gsread 490BCC tryextended 500LDX #(helpmsg+diff) MOD 256 510LDY #(helpmsg+diff) DIV 256 520JSR printer+diff 530BEQ quit 540.helploop 550INX 560JSR gsread 570.tryextended 580CMP #ASC(".") 590BEQ okextended 600AND #&DF 610CMP helptitle+diff,X 620BEQ helploop 630LDA #&FF 640CMP helptitle+diff,X 650BNE quit 660.okextended 670LDX #(helpinfo+diff) MOD 256 680LDY #(helpinfo+diff) DIV 256 690JSR printer+diff 700BEQ quit 710.tryfour 720CMP #4 730BNE quit 740LDX #&FE 750TYA 760PHA 770.firstchar 780INX 790PLA 800TAY 810PHA 820LDA (comvec),Y 830AND #&DF 840CMP #ASC("X") 850BNE interpret 860INY 870.interpret 880INX 890LDA commtable+diff,X 900BMI found 910LDA (comvec),Y 920INY 930CMP #ASC(".") 940BEQ founddot 950AND #&DF 960CMP commtable+diff,X 970BEQ interpret 980.another 990INX 1000LDA commtable+diff,X 1010BPL another 1020CMP #&FF 1030BNE firstchar 1040.exit 1050PLA 1060.quit 1070PLA 1080STA address+1 1090PLA 1100STA address 1110PLA 1120TAY 1130PLA 1140TAX 1150PLA 1160RTS 1170.founddot 1180INX 1190LDA commtable+diff,X 1200BPL founddot 1210.found 1220CMP #&FF 1230BEQ exit 1240STA address+1 1250INX 1260LDA commtable+diff,X 1270STA address 1280PLA 1290SEC 1300JSR gsinit 1310JMP (address) 1320.commtable 1330OPT FNequs("BLAWHIT") 1340OPT FNequb((blawhit+diff) DIV 256) 1350OPT FNequb((blawhit+diff) MOD 256) 1360OPT FNequs("REDCYAN") 1370OPT FNequb((redcyan+diff) DIV 256) 1380OPT FNequb((redcyan+diff) MOD 256) 1390OPT FNequs("GREEMAG") 1400OPT FNequb((greemag+diff) DIV 256) 1410OPT FNequb((greemag+diff) MOD 256) 1420OPT FNequs("YELLBLU") 1430OPT FNequb((yellblu+diff) DIV 256) 1440OPT FNequb((yellblu+diff) MOD 256) 1450OPT FNequs("BLUYELL") 1460OPT FNequb((bluyell+diff) DIV 256) 1470OPT FNequb((bluyell+diff) MOD 256) 1480OPT FNequs("MAGREEN") 1490OPT FNequb((magreen+diff) DIV 256) 1500OPT FNequb((magreen+diff) MOD 256) 1510OPT FNequs("CYANRED") 1520OPT FNequb((cyanred+diff) DIV 256) 1530OPT FNequb((cyanred+diff) MOD 256) 1540OPT FNequs("WHIBLAC") 1550OPT FNequb((whiblac+diff) DIV 256) 1560OPT FNequb((whiblac+diff) MOD 256) 1570OPT FNequs("MAGENTA") 1580OPT FNequb((magenta+diff) DIV 256) 1590OPT FNequb((magenta+diff) MOD 256) 1600OPT FNequs("YELLOW") 1610OPT FNequb((yellow+diff) DIV 256) 1620OPT FNequb((yellow+diff) MOD 256) 1630OPT FNequs("WHITE") 1640OPT FNequb((white+diff) DIV 256) 1650OPT FNequb((white+diff) MOD 256) 1660OPT FNequs("GREEN") 1670OPT FNequb((green+diff) DIV 256) 1680OPT FNequb((green+diff) MOD 256) 1690OPT FNequs("BLACK") 1700OPT FNequb((black+diff) DIV 256) 1710OPT FNequb((black+diff) MOD 256) 1720OPT FNequs("CYAN") 1730OPT FNequb((cyan+diff) DIV 256) 1740OPT FNequb((cyan+diff) MOD 256) 1750OPT FNequs("BLUE") 1760OPT FNequb((blue+diff) DIV 256) 1770OPT FNequb((blue+diff) MOD 256) 1780OPT FNequs("RED") 1790OPT FNequb((red+diff) DIV 256) 1800OPT FNequb((red+diff) MOD 256) 1810OPT FNequb(&FF) 1820.helpmsg 1830OPT FNequb(&0D) 1840OPT FNequs("COLOURED TEXT") 1850OPT FNequb(&0D) 1860OPT FNequw(&2020) 1870.helptitle 1880OPT FNequs("COLOURS") 1890OPT FNequw(&0DFF) 1900BRK 1910.helpinfo 1920OPT FNequw(&200D) 1930OPT FNequs("*BLACK") 1940OPT FNequw(&200D) 1950OPT FNequs("*RED") 1960OPT FNequw(&200D) 1970OPT FNequs("*GREEN") 1980OPT FNequw(&200D) 1990OPT FNequs("*YELLOW") 2000OPT FNequw(&200D) 2010OPT FNequs("*BLUE") 2020OPT FNequw(&200D) 2030OPT FNequs("*MAGENTA") 2040OPT FNequw(&200D) 2050OPT FNequs("*CYAN") 2060OPT FNequw(&200D) 2070OPT FNequs("*WHITE") 2080OPT FNequw(&200D) 2090OPT FNequs("*BLAWHIT") 2100OPT FNequw(&200D) 2110OPT FNequs("*REDCYAN") 2120OPT FNequw(&200D) 2130OPT FNequs("*GREEMAG") 2140OPT FNequw(&200D) 2150OPT FNequs("*YELLBLU") 2160OPT FNequw(&200D) 2170OPT FNequs("*BLUYELL") 2180OPT FNequw(&200D) 2190OPT FNequs("*MAGREEN") 2200OPT FNequw(&200D) 2210OPT FNequs("*CYANRED") 2220OPT FNequw(&200D) 2230OPT FNequs("*WHIBLAC") 2240OPT FNequw(&000D) 2250.printer 2260STX address 2270STY address+1 2280LDY #&FF 2290.printloop 2300INY 2310LDA (address),Y 2320BEQ endprint 2330BMI printloop 2340JSR osasci 2350JMP printloop+diff 2360.endprint 2370RTS 2380.black 2390LDA #0 2400BEQ mode 2410.red 2420LDA #1 2430BNE mode 2440.green 2450LDA #2 2460BNE mode 2470.yellow 2480LDA #3 2490BNE mode 2500.blue 2510LDA #4 2520BNE mode 2530.magenta 2540LDA #5 2550BNE mode 2560.cyan 2570LDA #6 2580BNE mode 2590.white 2600LDA #7 2610BNE mode 2620.blawhit 2630LDA #8 2640BNE mode 2650.redcyan 2660LDA #9 2670BNE mode 2680.greemag 2690LDA #10 2700BNE mode 2710.yellblu 2720LDA #11 2730BNE mode 2740.bluyell 2750LDA #12 2760BNE mode 2770.magreen 2780LDA #13 2790BNE mode 2800.cyanred 2810LDA #14 2820BNE mode 2830.whiblac 2840LDA #15 2850.mode 2860PHA 2870LDA #&87 2880JSR osbyte \ Check screen mode 2890CPY #7 2900BNE mode0to6 2910PLA 2920LDA #(wrongmode+diff) MOD 256 2930STA address 2940LDA #(wrongmode+diff) DIV 256 2950STA address+1 2960LDY #&FF 2970.errorloop 2980INY 2990LDA (address),Y 3000STA errstack,Y 3010BPL errorloop 3020PLA 3030STA address+1 3040PLA 3050STA address 3060JMP errstack 3070.mode0to6 3080LDA colours+diff,Y 3090PHA 3100LDA #19 3110JSR osasci 3120PLA 3130JSR osasci 3140PLA 3150JSR osasci 3160LDA #0 3170JSR osasci 3180JSR osasci 3190JSR osasci 3200.pullout 3210PLA 3220STA address+1 3230PLA 3240STA address 3250PLA 3260PLA 3270PLA 3280LDA #0 3290RTS 3300.colours 3310OPT FNequd(&01070301) 3320OPT FNequw(&0301) 3330OPT FNequb(&01) 3340.wrongmode 3350BRK 3360BRK 3370OPT FNequs("Modes 0-6 only") 3380BRK 3390OPT FNequb(&FF) 3400.lastbyte 3410] 3420NEXT 3430INPUT'"Save filename = "filename$ 3440IF filename$="" END 3450$save="SAVE "+filename$+" "+STR$~(HIMEM)+" "+STR$~(lastbyte)+" FFFF8000 FFFF8000" 3460X%=save MOD 256 3470Y%=save DIV 256 3480*OPT1,2 3490CALL oscli 3500*OPT1,0 3510END 3520DEFFNequb(byte) 3530?P%=byte 3540P%=P%+1 3550=pass 3560DEFFNequw(word) 3570?P%=word MOD 256 3580P%?1=word DIV 256 3590P%=P%+2 3600=pass 3610DEFFNequd(double) 3620!P%=double 3630P%=P%+4 3640=pass 3650DEFFNequs(string$) 3660$P%=string$ 3670P%=P%+LEN(string$) 3680=pass
�: HELP �7 �=&3C00 ( � save 50 2diff=&8000-� <address=&70 Fcomvec=&F2 Perrstack=&100 Zstack=&105 dgsinit=&FFC2 ngsread=&FFC5 xosasci=&FFE3 �osword=&FFF1 �osbyte=&FFF4 �oscli=&FFF7 �� pass = 0 � 2 � 2 �P%=� � [OPT pass �BRK �BRK �BRK �JMP service+diff �OPT �equb(&82) �%OPT �equb((copyright+diff) � 256) �BRK OPT �equs("COLOURED TEXT") .copyright BRK "+OPT �equs("(C) Gordon Horsington 1987") ,BRK 6.service @PHA JTXA TPHA ^TYA hPHA rLDA address |PHA �LDA address+1 �PHA �TSX �LDA stack,X � CMP #9 �BNE tryfour �SEC �JSR gsinit � LDX #0 �JSR gsread �BCC tryextended �LDX #(helpmsg+diff) � 256 �LDY #(helpmsg+diff) � 256 JSR printer+diff BEQ quit .helploop &INX 0JSR gsread :.tryextended DCMP #�(".") NBEQ okextended X � #&DF bCMP helptitle+diff,X lBEQ helploop vLDA #&FF �CMP helptitle+diff,X �BNE quit �.okextended �LDX #(helpinfo+diff) � 256 �LDY #(helpinfo+diff) � 256 �JSR printer+diff �BEQ quit �.tryfour � CMP #4 �BNE quit �LDX #&FE �TYA �PHA .firstchar INX PLA TAY *PHA 4LDA (comvec),Y > � #&DF HCMP #�("X") RBNE interpret \INY f.interpret pINX zLDA commtable+diff,X � BMI found �LDA (comvec),Y �INY �CMP #�(".") �BEQ founddot � � #&DF �CMP commtable+diff,X �BEQ interpret �.another �INX �LDA commtable+diff,X �BPL another �CMP #&FF BNE firstchar .exit PLA $ .quit .PLA 8STA address+1 BPLA LSTA address VPLA `TAY jPLA tTAX ~PLA �RTS � .founddot �INX �LDA commtable+diff,X �BPL founddot � .found �CMP #&FF �BEQ exit �STA address+1 �INX �LDA commtable+diff,X �STA address PLA SEC JSR gsinit JMP (address) (.commtable 2OPT �equs("BLAWHIT") <#OPT �equb((blawhit+diff) � 256) F#OPT �equb((blawhit+diff) � 256) POPT �equs("REDCYAN") Z#OPT �equb((redcyan+diff) � 256) d#OPT �equb((redcyan+diff) � 256) nOPT �equs("GREEMAG") x#OPT �equb((greemag+diff) � 256) �#OPT �equb((greemag+diff) � 256) �OPT �equs("YELLBLU") �#OPT �equb((yellblu+diff) � 256) �#OPT �equb((yellblu+diff) � 256) �OPT �equs("BLUYELL") �#OPT �equb((bluyell+diff) � 256) �#OPT �equb((bluyell+diff) � 256) �OPT �equs("MAGREEN") �#OPT �equb((magreen+diff) � 256) �#OPT �equb((magreen+diff) � 256) �OPT �equs("CYANRED") �#OPT �equb((cyanred+diff) � 256) �#OPT �equb((cyanred+diff) � 256) OPT �equs("WHIBLAC") #OPT �equb((whiblac+diff) � 256) #OPT �equb((whiblac+diff) � 256) "OPT �equs("MAGENTA") ,#OPT �equb((magenta+diff) � 256) 6#OPT �equb((magenta+diff) � 256) @OPT �equs("YELLOW") J"OPT �equb((yellow+diff) � 256) T"OPT �equb((yellow+diff) � 256) ^OPT �equs("WHITE") h!OPT �equb((white+diff) � 256) r!OPT �equb((white+diff) � 256) |OPT �equs("GREEN") �!OPT �equb((green+diff) � 256) �!OPT �equb((green+diff) � 256) �OPT �equs("BLACK") �!OPT �equb((black+diff) � 256) �!OPT �equb((black+diff) � 256) �OPT �equs("CYAN") � OPT �equb((cyan+diff) � 256) � OPT �equb((cyan+diff) � 256) �OPT �equs("BLUE") � OPT �equb((blue+diff) � 256) � OPT �equb((blue+diff) � 256) �OPT �equs("RED") �OPT �equb((red+diff) � 256) OPT �equb((red+diff) � 256) OPT �equb(&FF) .helpmsg &OPT �equb(&0D) 0OPT �equs("COLOURED TEXT") :OPT �equb(&0D) DOPT �equw(&2020) N.helptitle XOPT �equs("COLOURS") bOPT �equw(&0DFF) lBRK v .helpinfo �OPT �equw(&200D) �OPT �equs("*BLACK") �OPT �equw(&200D) �OPT �equs("*RED") �OPT �equw(&200D) �OPT �equs("*GREEN") �OPT �equw(&200D) �OPT �equs("*YELLOW") �OPT �equw(&200D) �OPT �equs("*BLUE") �OPT �equw(&200D) �OPT �equs("*MAGENTA") �OPT �equw(&200D) OPT �equs("*CYAN") OPT �equw(&200D) OPT �equs("*WHITE") OPT �equw(&200D) *OPT �equs("*BLAWHIT") 4OPT �equw(&200D) >OPT �equs("*REDCYAN") HOPT �equw(&200D) ROPT �equs("*GREEMAG") \OPT �equw(&200D) fOPT �equs("*YELLBLU") pOPT �equw(&200D) zOPT �equs("*BLUYELL") �OPT �equw(&200D) �OPT �equs("*MAGREEN") �OPT �equw(&200D) �OPT �equs("*CYANRED") �OPT �equw(&200D) �OPT �equs("*WHIBLAC") �OPT �equw(&000D) �.printer �STX address �STY address+1 �LDY #&FF �.printloop �INY LDA (address),Y BEQ endprint BMI printloop $JSR osasci .JMP printloop+diff 8 .endprint BRTS L .black V LDA #0 `BEQ mode j.red t LDA #1 ~BNE mode � .green � LDA #2 �BNE mode �.yellow � LDA #3 �BNE mode � .blue � LDA #4 �BNE mode �.magenta � LDA #5 �BNE mode .cyan LDA #6 BNE mode .white ( LDA #7 2BNE mode <.blawhit F LDA #8 PBNE mode Z.redcyan d LDA #9 nBNE mode x.greemag �LDA #10 �BNE mode �.yellblu �LDA #11 �BNE mode �.bluyell �LDA #12 �BNE mode �.magreen �LDA #13 �BNE mode �.cyanred �LDA #14 BNE mode .whiblac LDA #15 " .mode ,PHA 6LDA #&87 @"JSR osbyte \ Check screen mode J CPY #7 TBNE mode0to6 ^PLA hLDA #(wrongmode+diff) � 256 rSTA address |LDA #(wrongmode+diff) � 256 �STA address+1 �LDY #&FF �.errorloop �INY �LDA (address),Y �STA errstack,Y �BPL errorloop �PLA �STA address+1 �PLA �STA address �JMP errstack � .mode0to6 LDA colours+diff,Y PHA LDA #19 &JSR osasci 0PLA :JSR osasci DPLA NJSR osasci X LDA #0 bJSR osasci lJSR osasci vJSR osasci �.pullout �PLA �STA address+1 �PLA �STA address �PLA �PLA �PLA � LDA #0 �RTS �.colours �OPT �equd(&01070301) �OPT �equw(&0301) OPT �equb(&01) .wrongmode BRK BRK *OPT �equs("Modes 0-6 only") 4BRK >OPT �equb(&FF) H .lastbyte R] \� f!�'"Save filename = "filename$ p� filename$="" � zK$save="SAVE "+filename$+" "+�~(�)+" "+�~(lastbyte)+" FFFF8000 FFFF8000" �X%=save � 256 �Y%=save � 256 �*OPT1,2 �� oscli �*OPT1,0 �� �ݤequb(byte) �?P%=byte �P%=P%+1 � =pass �ݤequw(word) �?P%=word � 256 �P%?1=word � 256 P%=P%+2 =pass ݤequd(double) $!P%=double .P%=P%+4 8 =pass Bݤequs(string$) L$P%=string$ VP%=P%+�(string$) ` =pass �
00000000 0d 00 0a 0b f4 3a 20 48 45 4c 50 0d 00 14 06 eb |.....: HELP.....| 00000010 37 0d 00 1e 0b d3 3d 26 33 43 30 30 0d 00 28 0d |7.....=&3C00..(.| 00000020 de 20 73 61 76 65 20 35 30 0d 00 32 10 64 69 66 |. save 50..2.dif| 00000030 66 3d 26 38 30 30 30 2d 93 0d 00 3c 0f 61 64 64 |f=&8000-...<.add| 00000040 72 65 73 73 3d 26 37 30 0d 00 46 0e 63 6f 6d 76 |ress=&70..F.comv| 00000050 65 63 3d 26 46 32 0d 00 50 11 65 72 72 73 74 61 |ec=&F2..P.errsta| 00000060 63 6b 3d 26 31 30 30 0d 00 5a 0e 73 74 61 63 6b |ck=&100..Z.stack| 00000070 3d 26 31 30 35 0d 00 64 10 67 73 69 6e 69 74 3d |=&105..d.gsinit=| 00000080 26 46 46 43 32 0d 00 6e 10 67 73 72 65 61 64 3d |&FFC2..n.gsread=| 00000090 26 46 46 43 35 0d 00 78 10 6f 73 61 73 63 69 3d |&FFC5..x.osasci=| 000000a0 26 46 46 45 33 0d 00 82 10 6f 73 77 6f 72 64 3d |&FFE3....osword=| 000000b0 26 46 46 46 31 0d 00 8c 10 6f 73 62 79 74 65 3d |&FFF1....osbyte=| 000000c0 26 46 46 46 34 0d 00 96 0f 6f 73 63 6c 69 3d 26 |&FFF4....oscli=&| 000000d0 46 46 46 37 0d 00 a0 16 e3 20 70 61 73 73 20 3d |FFF7..... pass =| 000000e0 20 30 20 b8 20 32 20 88 20 32 0d 00 aa 08 50 25 | 0 . 2 . 2....P%| 000000f0 3d 93 0d 00 b4 0d 5b 4f 50 54 20 70 61 73 73 0d |=.....[OPT pass.| 00000100 00 be 07 42 52 4b 0d 00 c8 07 42 52 4b 0d 00 d2 |...BRK....BRK...| 00000110 07 42 52 4b 0d 00 dc 14 4a 4d 50 20 73 65 72 76 |.BRK....JMP serv| 00000120 69 63 65 2b 64 69 66 66 0d 00 e6 12 4f 50 54 20 |ice+diff....OPT | 00000130 a4 65 71 75 62 28 26 38 32 29 0d 00 f0 25 4f 50 |.equb(&82)...%OP| 00000140 54 20 a4 65 71 75 62 28 28 63 6f 70 79 72 69 67 |T .equb((copyrig| 00000150 68 74 2b 64 69 66 66 29 20 83 20 32 35 36 29 0d |ht+diff) . 256).| 00000160 00 fa 07 42 52 4b 0d 01 04 1e 4f 50 54 20 a4 65 |...BRK....OPT .e| 00000170 71 75 73 28 22 43 4f 4c 4f 55 52 45 44 20 54 45 |qus("COLOURED TE| 00000180 58 54 22 29 0d 01 0e 0e 2e 63 6f 70 79 72 69 67 |XT").....copyrig| 00000190 68 74 0d 01 18 07 42 52 4b 0d 01 22 2b 4f 50 54 |ht....BRK.."+OPT| 000001a0 20 a4 65 71 75 73 28 22 28 43 29 20 47 6f 72 64 | .equs("(C) Gord| 000001b0 6f 6e 20 48 6f 72 73 69 6e 67 74 6f 6e 20 31 39 |on Horsington 19| 000001c0 38 37 22 29 0d 01 2c 07 42 52 4b 0d 01 36 0c 2e |87")..,.BRK..6..| 000001d0 73 65 72 76 69 63 65 0d 01 40 07 50 48 41 0d 01 |service..@.PHA..| 000001e0 4a 07 54 58 41 0d 01 54 07 50 48 41 0d 01 5e 07 |J.TXA..T.PHA..^.| 000001f0 54 59 41 0d 01 68 07 50 48 41 0d 01 72 0f 4c 44 |TYA..h.PHA..r.LD| 00000200 41 20 61 64 64 72 65 73 73 0d 01 7c 07 50 48 41 |A address..|.PHA| 00000210 0d 01 86 11 4c 44 41 20 61 64 64 72 65 73 73 2b |....LDA address+| 00000220 31 0d 01 90 07 50 48 41 0d 01 9a 07 54 53 58 0d |1....PHA....TSX.| 00000230 01 a4 0f 4c 44 41 20 73 74 61 63 6b 2c 58 0d 01 |...LDA stack,X..| 00000240 ae 0a 43 4d 50 20 23 39 0d 01 b8 0f 42 4e 45 20 |..CMP #9....BNE | 00000250 74 72 79 66 6f 75 72 0d 01 c2 07 53 45 43 0d 01 |tryfour....SEC..| 00000260 cc 0e 4a 53 52 20 67 73 69 6e 69 74 0d 01 d6 0a |..JSR gsinit....| 00000270 4c 44 58 20 23 30 0d 01 e0 0e 4a 53 52 20 67 73 |LDX #0....JSR gs| 00000280 72 65 61 64 0d 01 ea 13 42 43 43 20 74 72 79 65 |read....BCC trye| 00000290 78 74 65 6e 64 65 64 0d 01 f4 1d 4c 44 58 20 23 |xtended....LDX #| 000002a0 28 68 65 6c 70 6d 73 67 2b 64 69 66 66 29 20 83 |(helpmsg+diff) .| 000002b0 20 32 35 36 0d 01 fe 1d 4c 44 59 20 23 28 68 65 | 256....LDY #(he| 000002c0 6c 70 6d 73 67 2b 64 69 66 66 29 20 81 20 32 35 |lpmsg+diff) . 25| 000002d0 36 0d 02 08 14 4a 53 52 20 70 72 69 6e 74 65 72 |6....JSR printer| 000002e0 2b 64 69 66 66 0d 02 12 0c 42 45 51 20 71 75 69 |+diff....BEQ qui| 000002f0 74 0d 02 1c 0d 2e 68 65 6c 70 6c 6f 6f 70 0d 02 |t.....helploop..| 00000300 26 07 49 4e 58 0d 02 30 0e 4a 53 52 20 67 73 72 |&.INX..0.JSR gsr| 00000310 65 61 64 0d 02 3a 10 2e 74 72 79 65 78 74 65 6e |ead..:..tryexten| 00000320 64 65 64 0d 02 44 0f 43 4d 50 20 23 97 28 22 2e |ded..D.CMP #.(".| 00000330 22 29 0d 02 4e 12 42 45 51 20 6f 6b 65 78 74 65 |")..N.BEQ okexte| 00000340 6e 64 65 64 0d 02 58 0a 80 20 23 26 44 46 0d 02 |nded..X.. #&DF..| 00000350 62 18 43 4d 50 20 68 65 6c 70 74 69 74 6c 65 2b |b.CMP helptitle+| 00000360 64 69 66 66 2c 58 0d 02 6c 10 42 45 51 20 68 65 |diff,X..l.BEQ he| 00000370 6c 70 6c 6f 6f 70 0d 02 76 0c 4c 44 41 20 23 26 |lploop..v.LDA #&| 00000380 46 46 0d 02 80 18 43 4d 50 20 68 65 6c 70 74 69 |FF....CMP helpti| 00000390 74 6c 65 2b 64 69 66 66 2c 58 0d 02 8a 0c 42 4e |tle+diff,X....BN| 000003a0 45 20 71 75 69 74 0d 02 94 0f 2e 6f 6b 65 78 74 |E quit.....okext| 000003b0 65 6e 64 65 64 0d 02 9e 1e 4c 44 58 20 23 28 68 |ended....LDX #(h| 000003c0 65 6c 70 69 6e 66 6f 2b 64 69 66 66 29 20 83 20 |elpinfo+diff) . | 000003d0 32 35 36 0d 02 a8 1e 4c 44 59 20 23 28 68 65 6c |256....LDY #(hel| 000003e0 70 69 6e 66 6f 2b 64 69 66 66 29 20 81 20 32 35 |pinfo+diff) . 25| 000003f0 36 0d 02 b2 14 4a 53 52 20 70 72 69 6e 74 65 72 |6....JSR printer| 00000400 2b 64 69 66 66 0d 02 bc 0c 42 45 51 20 71 75 69 |+diff....BEQ qui| 00000410 74 0d 02 c6 0c 2e 74 72 79 66 6f 75 72 0d 02 d0 |t.....tryfour...| 00000420 0a 43 4d 50 20 23 34 0d 02 da 0c 42 4e 45 20 71 |.CMP #4....BNE q| 00000430 75 69 74 0d 02 e4 0c 4c 44 58 20 23 26 46 45 0d |uit....LDX #&FE.| 00000440 02 ee 07 54 59 41 0d 02 f8 07 50 48 41 0d 03 02 |...TYA....PHA...| 00000450 0e 2e 66 69 72 73 74 63 68 61 72 0d 03 0c 07 49 |..firstchar....I| 00000460 4e 58 0d 03 16 07 50 4c 41 0d 03 20 07 54 41 59 |NX....PLA.. .TAY| 00000470 0d 03 2a 07 50 48 41 0d 03 34 12 4c 44 41 20 28 |..*.PHA..4.LDA (| 00000480 63 6f 6d 76 65 63 29 2c 59 0d 03 3e 0a 80 20 23 |comvec),Y..>.. #| 00000490 26 44 46 0d 03 48 0f 43 4d 50 20 23 97 28 22 58 |&DF..H.CMP #.("X| 000004a0 22 29 0d 03 52 11 42 4e 45 20 69 6e 74 65 72 70 |")..R.BNE interp| 000004b0 72 65 74 0d 03 5c 07 49 4e 59 0d 03 66 0e 2e 69 |ret..\.INY..f..i| 000004c0 6e 74 65 72 70 72 65 74 0d 03 70 07 49 4e 58 0d |nterpret..p.INX.| 000004d0 03 7a 18 4c 44 41 20 63 6f 6d 6d 74 61 62 6c 65 |.z.LDA commtable| 000004e0 2b 64 69 66 66 2c 58 0d 03 84 0d 42 4d 49 20 66 |+diff,X....BMI f| 000004f0 6f 75 6e 64 0d 03 8e 12 4c 44 41 20 28 63 6f 6d |ound....LDA (com| 00000500 76 65 63 29 2c 59 0d 03 98 07 49 4e 59 0d 03 a2 |vec),Y....INY...| 00000510 0f 43 4d 50 20 23 97 28 22 2e 22 29 0d 03 ac 10 |.CMP #.(".")....| 00000520 42 45 51 20 66 6f 75 6e 64 64 6f 74 0d 03 b6 0a |BEQ founddot....| 00000530 80 20 23 26 44 46 0d 03 c0 18 43 4d 50 20 63 6f |. #&DF....CMP co| 00000540 6d 6d 74 61 62 6c 65 2b 64 69 66 66 2c 58 0d 03 |mmtable+diff,X..| 00000550 ca 11 42 45 51 20 69 6e 74 65 72 70 72 65 74 0d |..BEQ interpret.| 00000560 03 d4 0c 2e 61 6e 6f 74 68 65 72 0d 03 de 07 49 |....another....I| 00000570 4e 58 0d 03 e8 18 4c 44 41 20 63 6f 6d 6d 74 61 |NX....LDA commta| 00000580 62 6c 65 2b 64 69 66 66 2c 58 0d 03 f2 0f 42 50 |ble+diff,X....BP| 00000590 4c 20 61 6e 6f 74 68 65 72 0d 03 fc 0c 43 4d 50 |L another....CMP| 000005a0 20 23 26 46 46 0d 04 06 11 42 4e 45 20 66 69 72 | #&FF....BNE fir| 000005b0 73 74 63 68 61 72 0d 04 10 09 2e 65 78 69 74 0d |stchar.....exit.| 000005c0 04 1a 07 50 4c 41 0d 04 24 09 2e 71 75 69 74 0d |...PLA..$..quit.| 000005d0 04 2e 07 50 4c 41 0d 04 38 11 53 54 41 20 61 64 |...PLA..8.STA ad| 000005e0 64 72 65 73 73 2b 31 0d 04 42 07 50 4c 41 0d 04 |dress+1..B.PLA..| 000005f0 4c 0f 53 54 41 20 61 64 64 72 65 73 73 0d 04 56 |L.STA address..V| 00000600 07 50 4c 41 0d 04 60 07 54 41 59 0d 04 6a 07 50 |.PLA..`.TAY..j.P| 00000610 4c 41 0d 04 74 07 54 41 58 0d 04 7e 07 50 4c 41 |LA..t.TAX..~.PLA| 00000620 0d 04 88 07 52 54 53 0d 04 92 0d 2e 66 6f 75 6e |....RTS.....foun| 00000630 64 64 6f 74 0d 04 9c 07 49 4e 58 0d 04 a6 18 4c |ddot....INX....L| 00000640 44 41 20 63 6f 6d 6d 74 61 62 6c 65 2b 64 69 66 |DA commtable+dif| 00000650 66 2c 58 0d 04 b0 10 42 50 4c 20 66 6f 75 6e 64 |f,X....BPL found| 00000660 64 6f 74 0d 04 ba 0a 2e 66 6f 75 6e 64 0d 04 c4 |dot.....found...| 00000670 0c 43 4d 50 20 23 26 46 46 0d 04 ce 0c 42 45 51 |.CMP #&FF....BEQ| 00000680 20 65 78 69 74 0d 04 d8 11 53 54 41 20 61 64 64 | exit....STA add| 00000690 72 65 73 73 2b 31 0d 04 e2 07 49 4e 58 0d 04 ec |ress+1....INX...| 000006a0 18 4c 44 41 20 63 6f 6d 6d 74 61 62 6c 65 2b 64 |.LDA commtable+d| 000006b0 69 66 66 2c 58 0d 04 f6 0f 53 54 41 20 61 64 64 |iff,X....STA add| 000006c0 72 65 73 73 0d 05 00 07 50 4c 41 0d 05 0a 07 53 |ress....PLA....S| 000006d0 45 43 0d 05 14 0e 4a 53 52 20 67 73 69 6e 69 74 |EC....JSR gsinit| 000006e0 0d 05 1e 11 4a 4d 50 20 28 61 64 64 72 65 73 73 |....JMP (address| 000006f0 29 0d 05 28 0e 2e 63 6f 6d 6d 74 61 62 6c 65 0d |)..(..commtable.| 00000700 05 32 18 4f 50 54 20 a4 65 71 75 73 28 22 42 4c |.2.OPT .equs("BL| 00000710 41 57 48 49 54 22 29 0d 05 3c 23 4f 50 54 20 a4 |AWHIT")..<#OPT .| 00000720 65 71 75 62 28 28 62 6c 61 77 68 69 74 2b 64 69 |equb((blawhit+di| 00000730 66 66 29 20 81 20 32 35 36 29 0d 05 46 23 4f 50 |ff) . 256)..F#OP| 00000740 54 20 a4 65 71 75 62 28 28 62 6c 61 77 68 69 74 |T .equb((blawhit| 00000750 2b 64 69 66 66 29 20 83 20 32 35 36 29 0d 05 50 |+diff) . 256)..P| 00000760 18 4f 50 54 20 a4 65 71 75 73 28 22 52 45 44 43 |.OPT .equs("REDC| 00000770 59 41 4e 22 29 0d 05 5a 23 4f 50 54 20 a4 65 71 |YAN")..Z#OPT .eq| 00000780 75 62 28 28 72 65 64 63 79 61 6e 2b 64 69 66 66 |ub((redcyan+diff| 00000790 29 20 81 20 32 35 36 29 0d 05 64 23 4f 50 54 20 |) . 256)..d#OPT | 000007a0 a4 65 71 75 62 28 28 72 65 64 63 79 61 6e 2b 64 |.equb((redcyan+d| 000007b0 69 66 66 29 20 83 20 32 35 36 29 0d 05 6e 18 4f |iff) . 256)..n.O| 000007c0 50 54 20 a4 65 71 75 73 28 22 47 52 45 45 4d 41 |PT .equs("GREEMA| 000007d0 47 22 29 0d 05 78 23 4f 50 54 20 a4 65 71 75 62 |G")..x#OPT .equb| 000007e0 28 28 67 72 65 65 6d 61 67 2b 64 69 66 66 29 20 |((greemag+diff) | 000007f0 81 20 32 35 36 29 0d 05 82 23 4f 50 54 20 a4 65 |. 256)...#OPT .e| 00000800 71 75 62 28 28 67 72 65 65 6d 61 67 2b 64 69 66 |qub((greemag+dif| 00000810 66 29 20 83 20 32 35 36 29 0d 05 8c 18 4f 50 54 |f) . 256)....OPT| 00000820 20 a4 65 71 75 73 28 22 59 45 4c 4c 42 4c 55 22 | .equs("YELLBLU"| 00000830 29 0d 05 96 23 4f 50 54 20 a4 65 71 75 62 28 28 |)...#OPT .equb((| 00000840 79 65 6c 6c 62 6c 75 2b 64 69 66 66 29 20 81 20 |yellblu+diff) . | 00000850 32 35 36 29 0d 05 a0 23 4f 50 54 20 a4 65 71 75 |256)...#OPT .equ| 00000860 62 28 28 79 65 6c 6c 62 6c 75 2b 64 69 66 66 29 |b((yellblu+diff)| 00000870 20 83 20 32 35 36 29 0d 05 aa 18 4f 50 54 20 a4 | . 256)....OPT .| 00000880 65 71 75 73 28 22 42 4c 55 59 45 4c 4c 22 29 0d |equs("BLUYELL").| 00000890 05 b4 23 4f 50 54 20 a4 65 71 75 62 28 28 62 6c |..#OPT .equb((bl| 000008a0 75 79 65 6c 6c 2b 64 69 66 66 29 20 81 20 32 35 |uyell+diff) . 25| 000008b0 36 29 0d 05 be 23 4f 50 54 20 a4 65 71 75 62 28 |6)...#OPT .equb(| 000008c0 28 62 6c 75 79 65 6c 6c 2b 64 69 66 66 29 20 83 |(bluyell+diff) .| 000008d0 20 32 35 36 29 0d 05 c8 18 4f 50 54 20 a4 65 71 | 256)....OPT .eq| 000008e0 75 73 28 22 4d 41 47 52 45 45 4e 22 29 0d 05 d2 |us("MAGREEN")...| 000008f0 23 4f 50 54 20 a4 65 71 75 62 28 28 6d 61 67 72 |#OPT .equb((magr| 00000900 65 65 6e 2b 64 69 66 66 29 20 81 20 32 35 36 29 |een+diff) . 256)| 00000910 0d 05 dc 23 4f 50 54 20 a4 65 71 75 62 28 28 6d |...#OPT .equb((m| 00000920 61 67 72 65 65 6e 2b 64 69 66 66 29 20 83 20 32 |agreen+diff) . 2| 00000930 35 36 29 0d 05 e6 18 4f 50 54 20 a4 65 71 75 73 |56)....OPT .equs| 00000940 28 22 43 59 41 4e 52 45 44 22 29 0d 05 f0 23 4f |("CYANRED")...#O| 00000950 50 54 20 a4 65 71 75 62 28 28 63 79 61 6e 72 65 |PT .equb((cyanre| 00000960 64 2b 64 69 66 66 29 20 81 20 32 35 36 29 0d 05 |d+diff) . 256)..| 00000970 fa 23 4f 50 54 20 a4 65 71 75 62 28 28 63 79 61 |.#OPT .equb((cya| 00000980 6e 72 65 64 2b 64 69 66 66 29 20 83 20 32 35 36 |nred+diff) . 256| 00000990 29 0d 06 04 18 4f 50 54 20 a4 65 71 75 73 28 22 |)....OPT .equs("| 000009a0 57 48 49 42 4c 41 43 22 29 0d 06 0e 23 4f 50 54 |WHIBLAC")...#OPT| 000009b0 20 a4 65 71 75 62 28 28 77 68 69 62 6c 61 63 2b | .equb((whiblac+| 000009c0 64 69 66 66 29 20 81 20 32 35 36 29 0d 06 18 23 |diff) . 256)...#| 000009d0 4f 50 54 20 a4 65 71 75 62 28 28 77 68 69 62 6c |OPT .equb((whibl| 000009e0 61 63 2b 64 69 66 66 29 20 83 20 32 35 36 29 0d |ac+diff) . 256).| 000009f0 06 22 18 4f 50 54 20 a4 65 71 75 73 28 22 4d 41 |.".OPT .equs("MA| 00000a00 47 45 4e 54 41 22 29 0d 06 2c 23 4f 50 54 20 a4 |GENTA")..,#OPT .| 00000a10 65 71 75 62 28 28 6d 61 67 65 6e 74 61 2b 64 69 |equb((magenta+di| 00000a20 66 66 29 20 81 20 32 35 36 29 0d 06 36 23 4f 50 |ff) . 256)..6#OP| 00000a30 54 20 a4 65 71 75 62 28 28 6d 61 67 65 6e 74 61 |T .equb((magenta| 00000a40 2b 64 69 66 66 29 20 83 20 32 35 36 29 0d 06 40 |+diff) . 256)..@| 00000a50 17 4f 50 54 20 a4 65 71 75 73 28 22 59 45 4c 4c |.OPT .equs("YELL| 00000a60 4f 57 22 29 0d 06 4a 22 4f 50 54 20 a4 65 71 75 |OW")..J"OPT .equ| 00000a70 62 28 28 79 65 6c 6c 6f 77 2b 64 69 66 66 29 20 |b((yellow+diff) | 00000a80 81 20 32 35 36 29 0d 06 54 22 4f 50 54 20 a4 65 |. 256)..T"OPT .e| 00000a90 71 75 62 28 28 79 65 6c 6c 6f 77 2b 64 69 66 66 |qub((yellow+diff| 00000aa0 29 20 83 20 32 35 36 29 0d 06 5e 16 4f 50 54 20 |) . 256)..^.OPT | 00000ab0 a4 65 71 75 73 28 22 57 48 49 54 45 22 29 0d 06 |.equs("WHITE")..| 00000ac0 68 21 4f 50 54 20 a4 65 71 75 62 28 28 77 68 69 |h!OPT .equb((whi| 00000ad0 74 65 2b 64 69 66 66 29 20 81 20 32 35 36 29 0d |te+diff) . 256).| 00000ae0 06 72 21 4f 50 54 20 a4 65 71 75 62 28 28 77 68 |.r!OPT .equb((wh| 00000af0 69 74 65 2b 64 69 66 66 29 20 83 20 32 35 36 29 |ite+diff) . 256)| 00000b00 0d 06 7c 16 4f 50 54 20 a4 65 71 75 73 28 22 47 |..|.OPT .equs("G| 00000b10 52 45 45 4e 22 29 0d 06 86 21 4f 50 54 20 a4 65 |REEN")...!OPT .e| 00000b20 71 75 62 28 28 67 72 65 65 6e 2b 64 69 66 66 29 |qub((green+diff)| 00000b30 20 81 20 32 35 36 29 0d 06 90 21 4f 50 54 20 a4 | . 256)...!OPT .| 00000b40 65 71 75 62 28 28 67 72 65 65 6e 2b 64 69 66 66 |equb((green+diff| 00000b50 29 20 83 20 32 35 36 29 0d 06 9a 16 4f 50 54 20 |) . 256)....OPT | 00000b60 a4 65 71 75 73 28 22 42 4c 41 43 4b 22 29 0d 06 |.equs("BLACK")..| 00000b70 a4 21 4f 50 54 20 a4 65 71 75 62 28 28 62 6c 61 |.!OPT .equb((bla| 00000b80 63 6b 2b 64 69 66 66 29 20 81 20 32 35 36 29 0d |ck+diff) . 256).| 00000b90 06 ae 21 4f 50 54 20 a4 65 71 75 62 28 28 62 6c |..!OPT .equb((bl| 00000ba0 61 63 6b 2b 64 69 66 66 29 20 83 20 32 35 36 29 |ack+diff) . 256)| 00000bb0 0d 06 b8 15 4f 50 54 20 a4 65 71 75 73 28 22 43 |....OPT .equs("C| 00000bc0 59 41 4e 22 29 0d 06 c2 20 4f 50 54 20 a4 65 71 |YAN")... OPT .eq| 00000bd0 75 62 28 28 63 79 61 6e 2b 64 69 66 66 29 20 81 |ub((cyan+diff) .| 00000be0 20 32 35 36 29 0d 06 cc 20 4f 50 54 20 a4 65 71 | 256)... OPT .eq| 00000bf0 75 62 28 28 63 79 61 6e 2b 64 69 66 66 29 20 83 |ub((cyan+diff) .| 00000c00 20 32 35 36 29 0d 06 d6 15 4f 50 54 20 a4 65 71 | 256)....OPT .eq| 00000c10 75 73 28 22 42 4c 55 45 22 29 0d 06 e0 20 4f 50 |us("BLUE")... OP| 00000c20 54 20 a4 65 71 75 62 28 28 62 6c 75 65 2b 64 69 |T .equb((blue+di| 00000c30 66 66 29 20 81 20 32 35 36 29 0d 06 ea 20 4f 50 |ff) . 256)... OP| 00000c40 54 20 a4 65 71 75 62 28 28 62 6c 75 65 2b 64 69 |T .equb((blue+di| 00000c50 66 66 29 20 83 20 32 35 36 29 0d 06 f4 14 4f 50 |ff) . 256)....OP| 00000c60 54 20 a4 65 71 75 73 28 22 52 45 44 22 29 0d 06 |T .equs("RED")..| 00000c70 fe 1f 4f 50 54 20 a4 65 71 75 62 28 28 72 65 64 |..OPT .equb((red| 00000c80 2b 64 69 66 66 29 20 81 20 32 35 36 29 0d 07 08 |+diff) . 256)...| 00000c90 1f 4f 50 54 20 a4 65 71 75 62 28 28 72 65 64 2b |.OPT .equb((red+| 00000ca0 64 69 66 66 29 20 83 20 32 35 36 29 0d 07 12 12 |diff) . 256)....| 00000cb0 4f 50 54 20 a4 65 71 75 62 28 26 46 46 29 0d 07 |OPT .equb(&FF)..| 00000cc0 1c 0c 2e 68 65 6c 70 6d 73 67 0d 07 26 12 4f 50 |...helpmsg..&.OP| 00000cd0 54 20 a4 65 71 75 62 28 26 30 44 29 0d 07 30 1e |T .equb(&0D)..0.| 00000ce0 4f 50 54 20 a4 65 71 75 73 28 22 43 4f 4c 4f 55 |OPT .equs("COLOU| 00000cf0 52 45 44 20 54 45 58 54 22 29 0d 07 3a 12 4f 50 |RED TEXT")..:.OP| 00000d00 54 20 a4 65 71 75 62 28 26 30 44 29 0d 07 44 14 |T .equb(&0D)..D.| 00000d10 4f 50 54 20 a4 65 71 75 77 28 26 32 30 32 30 29 |OPT .equw(&2020)| 00000d20 0d 07 4e 0e 2e 68 65 6c 70 74 69 74 6c 65 0d 07 |..N..helptitle..| 00000d30 58 18 4f 50 54 20 a4 65 71 75 73 28 22 43 4f 4c |X.OPT .equs("COL| 00000d40 4f 55 52 53 22 29 0d 07 62 14 4f 50 54 20 a4 65 |OURS")..b.OPT .e| 00000d50 71 75 77 28 26 30 44 46 46 29 0d 07 6c 07 42 52 |quw(&0DFF)..l.BR| 00000d60 4b 0d 07 76 0d 2e 68 65 6c 70 69 6e 66 6f 0d 07 |K..v..helpinfo..| 00000d70 80 14 4f 50 54 20 a4 65 71 75 77 28 26 32 30 30 |..OPT .equw(&200| 00000d80 44 29 0d 07 8a 17 4f 50 54 20 a4 65 71 75 73 28 |D)....OPT .equs(| 00000d90 22 2a 42 4c 41 43 4b 22 29 0d 07 94 14 4f 50 54 |"*BLACK")....OPT| 00000da0 20 a4 65 71 75 77 28 26 32 30 30 44 29 0d 07 9e | .equw(&200D)...| 00000db0 15 4f 50 54 20 a4 65 71 75 73 28 22 2a 52 45 44 |.OPT .equs("*RED| 00000dc0 22 29 0d 07 a8 14 4f 50 54 20 a4 65 71 75 77 28 |")....OPT .equw(| 00000dd0 26 32 30 30 44 29 0d 07 b2 17 4f 50 54 20 a4 65 |&200D)....OPT .e| 00000de0 71 75 73 28 22 2a 47 52 45 45 4e 22 29 0d 07 bc |qus("*GREEN")...| 00000df0 14 4f 50 54 20 a4 65 71 75 77 28 26 32 30 30 44 |.OPT .equw(&200D| 00000e00 29 0d 07 c6 18 4f 50 54 20 a4 65 71 75 73 28 22 |)....OPT .equs("| 00000e10 2a 59 45 4c 4c 4f 57 22 29 0d 07 d0 14 4f 50 54 |*YELLOW")....OPT| 00000e20 20 a4 65 71 75 77 28 26 32 30 30 44 29 0d 07 da | .equw(&200D)...| 00000e30 16 4f 50 54 20 a4 65 71 75 73 28 22 2a 42 4c 55 |.OPT .equs("*BLU| 00000e40 45 22 29 0d 07 e4 14 4f 50 54 20 a4 65 71 75 77 |E")....OPT .equw| 00000e50 28 26 32 30 30 44 29 0d 07 ee 19 4f 50 54 20 a4 |(&200D)....OPT .| 00000e60 65 71 75 73 28 22 2a 4d 41 47 45 4e 54 41 22 29 |equs("*MAGENTA")| 00000e70 0d 07 f8 14 4f 50 54 20 a4 65 71 75 77 28 26 32 |....OPT .equw(&2| 00000e80 30 30 44 29 0d 08 02 16 4f 50 54 20 a4 65 71 75 |00D)....OPT .equ| 00000e90 73 28 22 2a 43 59 41 4e 22 29 0d 08 0c 14 4f 50 |s("*CYAN")....OP| 00000ea0 54 20 a4 65 71 75 77 28 26 32 30 30 44 29 0d 08 |T .equw(&200D)..| 00000eb0 16 17 4f 50 54 20 a4 65 71 75 73 28 22 2a 57 48 |..OPT .equs("*WH| 00000ec0 49 54 45 22 29 0d 08 20 14 4f 50 54 20 a4 65 71 |ITE").. .OPT .eq| 00000ed0 75 77 28 26 32 30 30 44 29 0d 08 2a 19 4f 50 54 |uw(&200D)..*.OPT| 00000ee0 20 a4 65 71 75 73 28 22 2a 42 4c 41 57 48 49 54 | .equs("*BLAWHIT| 00000ef0 22 29 0d 08 34 14 4f 50 54 20 a4 65 71 75 77 28 |")..4.OPT .equw(| 00000f00 26 32 30 30 44 29 0d 08 3e 19 4f 50 54 20 a4 65 |&200D)..>.OPT .e| 00000f10 71 75 73 28 22 2a 52 45 44 43 59 41 4e 22 29 0d |qus("*REDCYAN").| 00000f20 08 48 14 4f 50 54 20 a4 65 71 75 77 28 26 32 30 |.H.OPT .equw(&20| 00000f30 30 44 29 0d 08 52 19 4f 50 54 20 a4 65 71 75 73 |0D)..R.OPT .equs| 00000f40 28 22 2a 47 52 45 45 4d 41 47 22 29 0d 08 5c 14 |("*GREEMAG")..\.| 00000f50 4f 50 54 20 a4 65 71 75 77 28 26 32 30 30 44 29 |OPT .equw(&200D)| 00000f60 0d 08 66 19 4f 50 54 20 a4 65 71 75 73 28 22 2a |..f.OPT .equs("*| 00000f70 59 45 4c 4c 42 4c 55 22 29 0d 08 70 14 4f 50 54 |YELLBLU")..p.OPT| 00000f80 20 a4 65 71 75 77 28 26 32 30 30 44 29 0d 08 7a | .equw(&200D)..z| 00000f90 19 4f 50 54 20 a4 65 71 75 73 28 22 2a 42 4c 55 |.OPT .equs("*BLU| 00000fa0 59 45 4c 4c 22 29 0d 08 84 14 4f 50 54 20 a4 65 |YELL")....OPT .e| 00000fb0 71 75 77 28 26 32 30 30 44 29 0d 08 8e 19 4f 50 |quw(&200D)....OP| 00000fc0 54 20 a4 65 71 75 73 28 22 2a 4d 41 47 52 45 45 |T .equs("*MAGREE| 00000fd0 4e 22 29 0d 08 98 14 4f 50 54 20 a4 65 71 75 77 |N")....OPT .equw| 00000fe0 28 26 32 30 30 44 29 0d 08 a2 19 4f 50 54 20 a4 |(&200D)....OPT .| 00000ff0 65 71 75 73 28 22 2a 43 59 41 4e 52 45 44 22 29 |equs("*CYANRED")| 00001000 0d 08 ac 14 4f 50 54 20 a4 65 71 75 77 28 26 32 |....OPT .equw(&2| 00001010 30 30 44 29 0d 08 b6 19 4f 50 54 20 a4 65 71 75 |00D)....OPT .equ| 00001020 73 28 22 2a 57 48 49 42 4c 41 43 22 29 0d 08 c0 |s("*WHIBLAC")...| 00001030 14 4f 50 54 20 a4 65 71 75 77 28 26 30 30 30 44 |.OPT .equw(&000D| 00001040 29 0d 08 ca 0c 2e 70 72 69 6e 74 65 72 0d 08 d4 |).....printer...| 00001050 0f 53 54 58 20 61 64 64 72 65 73 73 0d 08 de 11 |.STX address....| 00001060 53 54 59 20 61 64 64 72 65 73 73 2b 31 0d 08 e8 |STY address+1...| 00001070 0c 4c 44 59 20 23 26 46 46 0d 08 f2 0e 2e 70 72 |.LDY #&FF.....pr| 00001080 69 6e 74 6c 6f 6f 70 0d 08 fc 07 49 4e 59 0d 09 |intloop....INY..| 00001090 06 13 4c 44 41 20 28 61 64 64 72 65 73 73 29 2c |..LDA (address),| 000010a0 59 0d 09 10 10 42 45 51 20 65 6e 64 70 72 69 6e |Y....BEQ endprin| 000010b0 74 0d 09 1a 11 42 4d 49 20 70 72 69 6e 74 6c 6f |t....BMI printlo| 000010c0 6f 70 0d 09 24 0e 4a 53 52 20 6f 73 61 73 63 69 |op..$.JSR osasci| 000010d0 0d 09 2e 16 4a 4d 50 20 70 72 69 6e 74 6c 6f 6f |....JMP printloo| 000010e0 70 2b 64 69 66 66 0d 09 38 0d 2e 65 6e 64 70 72 |p+diff..8..endpr| 000010f0 69 6e 74 0d 09 42 07 52 54 53 0d 09 4c 0a 2e 62 |int..B.RTS..L..b| 00001100 6c 61 63 6b 0d 09 56 0a 4c 44 41 20 23 30 0d 09 |lack..V.LDA #0..| 00001110 60 0c 42 45 51 20 6d 6f 64 65 0d 09 6a 08 2e 72 |`.BEQ mode..j..r| 00001120 65 64 0d 09 74 0a 4c 44 41 20 23 31 0d 09 7e 0c |ed..t.LDA #1..~.| 00001130 42 4e 45 20 6d 6f 64 65 0d 09 88 0a 2e 67 72 65 |BNE mode.....gre| 00001140 65 6e 0d 09 92 0a 4c 44 41 20 23 32 0d 09 9c 0c |en....LDA #2....| 00001150 42 4e 45 20 6d 6f 64 65 0d 09 a6 0b 2e 79 65 6c |BNE mode.....yel| 00001160 6c 6f 77 0d 09 b0 0a 4c 44 41 20 23 33 0d 09 ba |low....LDA #3...| 00001170 0c 42 4e 45 20 6d 6f 64 65 0d 09 c4 09 2e 62 6c |.BNE mode.....bl| 00001180 75 65 0d 09 ce 0a 4c 44 41 20 23 34 0d 09 d8 0c |ue....LDA #4....| 00001190 42 4e 45 20 6d 6f 64 65 0d 09 e2 0c 2e 6d 61 67 |BNE mode.....mag| 000011a0 65 6e 74 61 0d 09 ec 0a 4c 44 41 20 23 35 0d 09 |enta....LDA #5..| 000011b0 f6 0c 42 4e 45 20 6d 6f 64 65 0d 0a 00 09 2e 63 |..BNE mode.....c| 000011c0 79 61 6e 0d 0a 0a 0a 4c 44 41 20 23 36 0d 0a 14 |yan....LDA #6...| 000011d0 0c 42 4e 45 20 6d 6f 64 65 0d 0a 1e 0a 2e 77 68 |.BNE mode.....wh| 000011e0 69 74 65 0d 0a 28 0a 4c 44 41 20 23 37 0d 0a 32 |ite..(.LDA #7..2| 000011f0 0c 42 4e 45 20 6d 6f 64 65 0d 0a 3c 0c 2e 62 6c |.BNE mode..<..bl| 00001200 61 77 68 69 74 0d 0a 46 0a 4c 44 41 20 23 38 0d |awhit..F.LDA #8.| 00001210 0a 50 0c 42 4e 45 20 6d 6f 64 65 0d 0a 5a 0c 2e |.P.BNE mode..Z..| 00001220 72 65 64 63 79 61 6e 0d 0a 64 0a 4c 44 41 20 23 |redcyan..d.LDA #| 00001230 39 0d 0a 6e 0c 42 4e 45 20 6d 6f 64 65 0d 0a 78 |9..n.BNE mode..x| 00001240 0c 2e 67 72 65 65 6d 61 67 0d 0a 82 0b 4c 44 41 |..greemag....LDA| 00001250 20 23 31 30 0d 0a 8c 0c 42 4e 45 20 6d 6f 64 65 | #10....BNE mode| 00001260 0d 0a 96 0c 2e 79 65 6c 6c 62 6c 75 0d 0a a0 0b |.....yellblu....| 00001270 4c 44 41 20 23 31 31 0d 0a aa 0c 42 4e 45 20 6d |LDA #11....BNE m| 00001280 6f 64 65 0d 0a b4 0c 2e 62 6c 75 79 65 6c 6c 0d |ode.....bluyell.| 00001290 0a be 0b 4c 44 41 20 23 31 32 0d 0a c8 0c 42 4e |...LDA #12....BN| 000012a0 45 20 6d 6f 64 65 0d 0a d2 0c 2e 6d 61 67 72 65 |E mode.....magre| 000012b0 65 6e 0d 0a dc 0b 4c 44 41 20 23 31 33 0d 0a e6 |en....LDA #13...| 000012c0 0c 42 4e 45 20 6d 6f 64 65 0d 0a f0 0c 2e 63 79 |.BNE mode.....cy| 000012d0 61 6e 72 65 64 0d 0a fa 0b 4c 44 41 20 23 31 34 |anred....LDA #14| 000012e0 0d 0b 04 0c 42 4e 45 20 6d 6f 64 65 0d 0b 0e 0c |....BNE mode....| 000012f0 2e 77 68 69 62 6c 61 63 0d 0b 18 0b 4c 44 41 20 |.whiblac....LDA | 00001300 23 31 35 0d 0b 22 09 2e 6d 6f 64 65 0d 0b 2c 07 |#15.."..mode..,.| 00001310 50 48 41 0d 0b 36 0c 4c 44 41 20 23 26 38 37 0d |PHA..6.LDA #&87.| 00001320 0b 40 22 4a 53 52 20 6f 73 62 79 74 65 20 5c 20 |.@"JSR osbyte \ | 00001330 43 68 65 63 6b 20 73 63 72 65 65 6e 20 6d 6f 64 |Check screen mod| 00001340 65 0d 0b 4a 0a 43 50 59 20 23 37 0d 0b 54 10 42 |e..J.CPY #7..T.B| 00001350 4e 45 20 6d 6f 64 65 30 74 6f 36 0d 0b 5e 07 50 |NE mode0to6..^.P| 00001360 4c 41 0d 0b 68 1f 4c 44 41 20 23 28 77 72 6f 6e |LA..h.LDA #(wron| 00001370 67 6d 6f 64 65 2b 64 69 66 66 29 20 83 20 32 35 |gmode+diff) . 25| 00001380 36 0d 0b 72 0f 53 54 41 20 61 64 64 72 65 73 73 |6..r.STA address| 00001390 0d 0b 7c 1f 4c 44 41 20 23 28 77 72 6f 6e 67 6d |..|.LDA #(wrongm| 000013a0 6f 64 65 2b 64 69 66 66 29 20 81 20 32 35 36 0d |ode+diff) . 256.| 000013b0 0b 86 11 53 54 41 20 61 64 64 72 65 73 73 2b 31 |...STA address+1| 000013c0 0d 0b 90 0c 4c 44 59 20 23 26 46 46 0d 0b 9a 0e |....LDY #&FF....| 000013d0 2e 65 72 72 6f 72 6c 6f 6f 70 0d 0b a4 07 49 4e |.errorloop....IN| 000013e0 59 0d 0b ae 13 4c 44 41 20 28 61 64 64 72 65 73 |Y....LDA (addres| 000013f0 73 29 2c 59 0d 0b b8 12 53 54 41 20 65 72 72 73 |s),Y....STA errs| 00001400 74 61 63 6b 2c 59 0d 0b c2 11 42 50 4c 20 65 72 |tack,Y....BPL er| 00001410 72 6f 72 6c 6f 6f 70 0d 0b cc 07 50 4c 41 0d 0b |rorloop....PLA..| 00001420 d6 11 53 54 41 20 61 64 64 72 65 73 73 2b 31 0d |..STA address+1.| 00001430 0b e0 07 50 4c 41 0d 0b ea 0f 53 54 41 20 61 64 |...PLA....STA ad| 00001440 64 72 65 73 73 0d 0b f4 10 4a 4d 50 20 65 72 72 |dress....JMP err| 00001450 73 74 61 63 6b 0d 0b fe 0d 2e 6d 6f 64 65 30 74 |stack.....mode0t| 00001460 6f 36 0d 0c 08 16 4c 44 41 20 63 6f 6c 6f 75 72 |o6....LDA colour| 00001470 73 2b 64 69 66 66 2c 59 0d 0c 12 07 50 48 41 0d |s+diff,Y....PHA.| 00001480 0c 1c 0b 4c 44 41 20 23 31 39 0d 0c 26 0e 4a 53 |...LDA #19..&.JS| 00001490 52 20 6f 73 61 73 63 69 0d 0c 30 07 50 4c 41 0d |R osasci..0.PLA.| 000014a0 0c 3a 0e 4a 53 52 20 6f 73 61 73 63 69 0d 0c 44 |.:.JSR osasci..D| 000014b0 07 50 4c 41 0d 0c 4e 0e 4a 53 52 20 6f 73 61 73 |.PLA..N.JSR osas| 000014c0 63 69 0d 0c 58 0a 4c 44 41 20 23 30 0d 0c 62 0e |ci..X.LDA #0..b.| 000014d0 4a 53 52 20 6f 73 61 73 63 69 0d 0c 6c 0e 4a 53 |JSR osasci..l.JS| 000014e0 52 20 6f 73 61 73 63 69 0d 0c 76 0e 4a 53 52 20 |R osasci..v.JSR | 000014f0 6f 73 61 73 63 69 0d 0c 80 0c 2e 70 75 6c 6c 6f |osasci.....pullo| 00001500 75 74 0d 0c 8a 07 50 4c 41 0d 0c 94 11 53 54 41 |ut....PLA....STA| 00001510 20 61 64 64 72 65 73 73 2b 31 0d 0c 9e 07 50 4c | address+1....PL| 00001520 41 0d 0c a8 0f 53 54 41 20 61 64 64 72 65 73 73 |A....STA address| 00001530 0d 0c b2 07 50 4c 41 0d 0c bc 07 50 4c 41 0d 0c |....PLA....PLA..| 00001540 c6 07 50 4c 41 0d 0c d0 0a 4c 44 41 20 23 30 0d |..PLA....LDA #0.| 00001550 0c da 07 52 54 53 0d 0c e4 0c 2e 63 6f 6c 6f 75 |...RTS.....colou| 00001560 72 73 0d 0c ee 18 4f 50 54 20 a4 65 71 75 64 28 |rs....OPT .equd(| 00001570 26 30 31 30 37 30 33 30 31 29 0d 0c f8 14 4f 50 |&01070301)....OP| 00001580 54 20 a4 65 71 75 77 28 26 30 33 30 31 29 0d 0d |T .equw(&0301)..| 00001590 02 12 4f 50 54 20 a4 65 71 75 62 28 26 30 31 29 |..OPT .equb(&01)| 000015a0 0d 0d 0c 0e 2e 77 72 6f 6e 67 6d 6f 64 65 0d 0d |.....wrongmode..| 000015b0 16 07 42 52 4b 0d 0d 20 07 42 52 4b 0d 0d 2a 1f |..BRK.. .BRK..*.| 000015c0 4f 50 54 20 a4 65 71 75 73 28 22 4d 6f 64 65 73 |OPT .equs("Modes| 000015d0 20 30 2d 36 20 6f 6e 6c 79 22 29 0d 0d 34 07 42 | 0-6 only")..4.B| 000015e0 52 4b 0d 0d 3e 12 4f 50 54 20 a4 65 71 75 62 28 |RK..>.OPT .equb(| 000015f0 26 46 46 29 0d 0d 48 0d 2e 6c 61 73 74 62 79 74 |&FF)..H..lastbyt| 00001600 65 0d 0d 52 05 5d 0d 0d 5c 05 ed 0d 0d 66 21 e8 |e..R.]..\....f!.| 00001610 27 22 53 61 76 65 20 66 69 6c 65 6e 61 6d 65 20 |'"Save filename | 00001620 3d 20 22 66 69 6c 65 6e 61 6d 65 24 0d 0d 70 14 |= "filename$..p.| 00001630 e7 20 66 69 6c 65 6e 61 6d 65 24 3d 22 22 20 e0 |. filename$="" .| 00001640 0d 0d 7a 4b 24 73 61 76 65 3d 22 53 41 56 45 20 |..zK$save="SAVE | 00001650 22 2b 66 69 6c 65 6e 61 6d 65 24 2b 22 20 22 2b |"+filename$+" "+| 00001660 c3 7e 28 93 29 2b 22 20 22 2b c3 7e 28 6c 61 73 |.~(.)+" "+.~(las| 00001670 74 62 79 74 65 29 2b 22 20 46 46 46 46 38 30 30 |tbyte)+" FFFF800| 00001680 30 20 46 46 46 46 38 30 30 30 22 0d 0d 84 11 58 |0 FFFF8000"....X| 00001690 25 3d 73 61 76 65 20 83 20 32 35 36 0d 0d 8e 11 |%=save . 256....| 000016a0 59 25 3d 73 61 76 65 20 81 20 32 35 36 0d 0d 98 |Y%=save . 256...| 000016b0 0b 2a 4f 50 54 31 2c 32 0d 0d a2 0b d6 20 6f 73 |.*OPT1,2..... os| 000016c0 63 6c 69 0d 0d ac 0b 2a 4f 50 54 31 2c 30 0d 0d |cli....*OPT1,0..| 000016d0 b6 05 e0 0d 0d c0 10 dd a4 65 71 75 62 28 62 79 |.........equb(by| 000016e0 74 65 29 0d 0d ca 0c 3f 50 25 3d 62 79 74 65 0d |te)....?P%=byte.| 000016f0 0d d4 0b 50 25 3d 50 25 2b 31 0d 0d de 09 3d 70 |...P%=P%+1....=p| 00001700 61 73 73 0d 0d e8 10 dd a4 65 71 75 77 28 77 6f |ass......equw(wo| 00001710 72 64 29 0d 0d f2 12 3f 50 25 3d 77 6f 72 64 20 |rd)....?P%=word | 00001720 83 20 32 35 36 0d 0d fc 13 50 25 3f 31 3d 77 6f |. 256....P%?1=wo| 00001730 72 64 20 81 20 32 35 36 0d 0e 06 0b 50 25 3d 50 |rd . 256....P%=P| 00001740 25 2b 32 0d 0e 10 09 3d 70 61 73 73 0d 0e 1a 12 |%+2....=pass....| 00001750 dd a4 65 71 75 64 28 64 6f 75 62 6c 65 29 0d 0e |..equd(double)..| 00001760 24 0e 21 50 25 3d 64 6f 75 62 6c 65 0d 0e 2e 0b |$.!P%=double....| 00001770 50 25 3d 50 25 2b 34 0d 0e 38 09 3d 70 61 73 73 |P%=P%+4..8.=pass| 00001780 0d 0e 42 13 dd a4 65 71 75 73 28 73 74 72 69 6e |..B...equs(strin| 00001790 67 24 29 0d 0e 4c 0f 24 50 25 3d 73 74 72 69 6e |g$)..L.$P%=strin| 000017a0 67 24 0d 0e 56 14 50 25 3d 50 25 2b a9 28 73 74 |g$..V.P%=P%+.(st| 000017b0 72 69 6e 67 24 29 0d 0e 60 09 3d 70 61 73 73 0d |ring$)..`.=pass.| 000017c0 ff |.| 000017c1