Home » Personal collection » Acorn ADFS disks » Electron » Utilities_1.ADF » UTILITIES/ROMmaker
UTILITIES/ROMmaker
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 » Personal collection » Acorn ADFS disks » Electron » Utilities_1.ADF |
Filename: | UTILITIES/ROMmaker |
Read OK: | ✔ |
File size: | 0DF4 bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF8023 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Personal collection » Acorn ADFS disks » Electron » Utilities_1.ADF » UTILITIES/ROMmaker
- Personal collection » Acorn ADFS disks » Electron » Utilities_2.ADF » UTILITIES/ROMmaker
File contents
10REM BASIC > ROM IMAGE 20REM (c) 1988 A&B COMPUTING 30MODE4 40PROCinit 50PROCcls 60PROCtitle 70PROCwindow(2,12,35,15) 80INPUT'"Basic program filename:"Fname$ 90IF LEN(Fname$)>9 GOTO 80 100Action$="L. "+Fname$+" 3700":OSCLI(Action$) 110param=&C00:file=&C20:$file=Fname$+CHR$13:param?0=file MOD 256:param?1=file DIV 256:A%=5:X%=param MOD 256:Y%=param DIV 256:CALL &FFDD 120CALL &FFDD 130exec=param?6+256*param?7 140L%=param?10+256*param?11 150IF exec<>&8023 AND exec<>&801F PRINT''"Sorry, not a BASIC program. Try again."':GOTO80 160CLS:DIM GR(4):HIMEM=&3500:PRINT'" BASIC program length:&";~L%:*FX15,0 170L%=L%+&100 180INPUT''"Enter desired load address: &"bB$:llA%=EVAL("&"+bB$):lA%=llA% DIV 256 190INPUT"Eprom title (Max.20) :"T$ 200T$=LEFT$(T$,20):TL%=LEN(T$) 210INPUT"Author's name (Max.15) :"C$ 220C$=LEFT$(C$,15):CL%=LEN(C$) 230INPUT"Activation command (Max.10): *"COM$ 240COM$=LEFT$(COM$,10):COM%=LEN(COM$) 250FOR X%=0 TO 2 STEP 2 260P%=&3500 270[OPT X% 280BRK 290BRK 300BRK 310JMP&8030 320] 330?P%=&82 340P%=P%+1 350?P%=(9+TL%) 360P%=P%+1 370?P%=00 380P%=P%+1 390$P%=T$ 400P%=P%+TL% 410?P%=00 420P%=P%+1 430?P%=&28 440P%=P%+1 450?P%=&43 460P%=P%+1 470?P%=&29 480P%=P%+1 490$P%=C$ 500P%=P%+CL% 510P%=&3530 520[OPT X% 530CMP #&04 540BEQ ASEPT 550RTS 560.FINISH 570PLA 580TAX 590PLA 600TAY 610PLA 620RTS 630RTS 640.ASEPT 650PHA 660TYA 670PHA 680TXA 690PHA 700] 710R%=P%+3 720FOR H%=1 TO COM% 730[OPT X% 740LDA (&F2),Y 750CMP #&00 760BNE FINISH 770INY 780] 790NEXT H% 800 [OPT X% 810LDA (&F2),Y 820CMP #&0D 830BNE FINISH 840LDA #lA% 850STA &71 860LDA #&82 870STA &73 880LDA #&00 890STA &70 900STA &72 910LDY #&FF 920.MAINLOOP 930] 940S%=P% 950[OPT X% 960LDA &73 970CMP #&00 980BEQ LASTLOOP 990INY 1000LDA (&72),Y 1010STA (&70),Y 1020CPY #&FF 1030BNE MAINLOOP 1040INC &71 1050INC &73 1060CLC 1070BCC MAINLOOP 1080.LASTLOOP 1090INY 1100CPY #&00 1110BEQ DONE 1120LDA (&72),Y 1130STA (&70),Y 1140CLC 1150BCC LASTLOOP 1160.DONE 1170LDX #&00 1180LDA #&8A 1190LDY #&50 1200JSR &FFF4 1210LDY #&41 1220JSR &FFF4 1230LDY #&2E 1240JSR &FFF4 1250LDY #&3D 1260JSR &FFF4 1270LDY #&26 1280JSR &FFF4 1290] 1300IF LEN(bB$)=3 THEN bB$="0"+bB$ 1310FOR GY=1 TO 4 1320GR(GY)=ASC(MID$(bB$,GY,1)) 1330NEXT GY 1340[OPT X% 1350LDY #GR(1) 1360JSR &FFF4 1370LDY #GR(2) 1380JSR &FFF4 1390LDY #GR(3) 1400JSR &FFF4 1410LDY #GR(4) 1420JSR &FFF4 1430LDY #&D 1440JSR &FFF4 1450LDY #&4F 1460JSR &FFF4 1470LDY #&4C 1480JSR &FFF4 1490LDY #&44 1500JSR &FFF4 1510LDY #&0D 1520JSR &FFF4 1530LDY #&52 1540JSR &FFF4 1550LDY #&55 1560JSR &FFF4 1570LDY #&4E 1580JSR &FFF4 1590LDY #&0D 1600JSR &FFF4 1610PLA 1620TAX 1630PLA 1640TAY 1650PLA 1660LDA #&00 1670RTS 1680] 1690NEXT X% 1700FOR X%=1 TO COM% 1710?R%=ASC(MID$(COM$,X%,1)) 1720R%=R%+7 1730NEXT X% 1740PLH%=(L% DIV 256)+&82 1750PLL%=(L% MOD 256) 1760S%?3=PLH% 1770S%?24=PLL% 1780PRINT'"The ROM image is now located in memory at &4000 to &";~((&4200+L%)-1);". It can be"'"either loaded in sideways RAM or Blown int an EPROM (with appropriate hardware and software)." 1790PRINT'"Save to Disc (Y/N) ?"; 1800G$=GET$ 1810PRINT;G$ 1820IF G$="Y" OR G$="y" THEN GOTO 1840 1830PAGE=&1900:PRINT'':*BASIC 1840INPUT''"Enter Filename: "File$ 1850IF LEN(File$)>9 THEN 1840 1860IF (&200+L%)<&4000 THEN Len$="4000" 1870IF (&200+L%)<&2000 THEN Len$="2000" 1880IF (&200+L%)<&1000 THEN Len$="1000" 1890IF (&200+L%)<&400 THEN Len$="400" 1900Action$="*SAVE "+File$+" 3500+"+Len$+" D9CD 8000" 1910PRINT'" ";Action$ 1920OSCLI(Action$) 1930END 1940 1950DEF PROCcls 1960VDU26 1970FOR I%=1 TO 5 1980PRINT STRING$(248,CHR$224); 1990NEXT 2000MOVE 0,28:DRAW 0,1023 2010DRAW 1278,1023:DRAW 1278,28 2020DRAW 0,28 2030ENDPROC 2040DEF PROCinit 2050VDU 23,224,85,170,85,170,85,170,85,170 2060COLOUR 129:COLOUR 0 2070ENDPROC 2080DEF PROCwindow(X%,Y%,W%,H%) 2090VDU28,X%+1,Y%+1+H%,X%+1+W%,Y%+1 2100COLOUR 128:CLS 2110VDU28,X%,Y%+H%,X%+W%,Y% 2120COLOUR129:CLS 2130VDU28 X%+1,Y%+H%,X%+W%,Y%+1 2140ENDPROC 2150DEF PROCtitle 2160PROCwindow(4,2,30,6) 2170PRINT"ROM IMAGE CREATER V2.02 1991" 2180PRINT:PRINT"UPGRADED BY BOB (c) A&B 1988" 2190ENDPROC
� BASIC > ROM IMAGE � (c) 1988 A&B COMPUTING �4 ( �init 2�cls < �title F�window(2,12,35,15) P%�'"Basic program filename:"Fname$ Z� �(Fname$)>9 � �DP@ d+Action$="L. "+Fname$+" 3700":�(Action$) nzparam=&C00:file=&C20:$file=Fname$+�13:param?0=file � 256:param?1=file � 256:A%=5:X%=param � 256:Y%=param � 256:� &FFDD x� &FFDD �exec=param?6+256*param?7 �L%=param?10+256*param?11 �R� exec<>&8023 � exec<>&801F �''"Sorry, not a BASIC program. Try again."':�DP@ �>�:� GR(4):�=&3500:�'" BASIC program length:&";~L%:*FX15,0 �L%=L%+&100 �J�''"Enter desired load address: &"bB$:llA%=�("&"+bB$):lA%=llA% � 256 �!�"Eprom title (Max.20) :"T$ �T$=�T$,20):TL%=�(T$) �!�"Author's name (Max.15) :"C$ �C$=�C$,15):CL%=�(C$) �)�"Activation command (Max.10): *"COM$ �COM$=�COM$,10):COM%=�(COM$) �� X%=0 � 2 � 2 P%=&3500 [OPT X% BRK "BRK ,BRK 6JMP&8030 @] J?P%=&82 TP%=P%+1 ^?P%=(9+TL%) hP%=P%+1 r ?P%=00 |P%=P%+1 � $P%=T$ � P%=P%+TL% � ?P%=00 �P%=P%+1 �?P%=&28 �P%=P%+1 �?P%=&43 �P%=P%+1 �?P%=&29 �P%=P%+1 �$P%=C$ � P%=P%+CL% �P%=&3530 [OPT X% CMP #&04 BEQ ASEPT &RTS 0.FINISH :PLA DTAX NPLA XTAY bPLA lRTS vRTS � .ASEPT �PHA �TYA �PHA �TXA �PHA �] �R%=P%+3 �� H%=1 � COM% �[OPT X% �LDA (&F2),Y �CMP #&00 �BNE FINISH INY ] � H% [OPT X% *LDA (&F2),Y 4CMP #&0D >BNE FINISH H LDA #lA% RSTA &71 \LDA #&82 fSTA &73 pLDA #&00 zSTA &70 �STA &72 �LDY #&FF � .MAINLOOP �] � S%=P% �[OPT X% �LDA &73 �CMP #&00 �BEQ LASTLOOP �INY �LDA (&72),Y �STA (&70),Y �CPY #&FF BNE MAINLOOP INC &71 INC &73 $CLC .BCC MAINLOOP 8 .LASTLOOP BINY LCPY #&00 VBEQ DONE `LDA (&72),Y jSTA (&70),Y tCLC ~BCC LASTLOOP � .DONE �LDX #&00 �LDA #&8A �LDY #&50 � JSR &FFF4 �LDY #&41 � JSR &FFF4 �LDY #&2E � JSR &FFF4 �LDY #&3D � JSR &FFF4 �LDY #&26 JSR &FFF4 ] � �(bB$)=3 � bB$="0"+bB$ � GY=1 � 4 (GR(GY)=�(�bB$,GY,1)) 2� GY <[OPT X% FLDY #GR(1) P JSR &FFF4 ZLDY #GR(2) d JSR &FFF4 nLDY #GR(3) x JSR &FFF4 �LDY #GR(4) � JSR &FFF4 �LDY #&D � JSR &FFF4 �LDY #&4F � JSR &FFF4 �LDY #&4C � JSR &FFF4 �LDY #&44 � JSR &FFF4 �LDY #&0D � JSR &FFF4 �LDY #&52 JSR &FFF4 LDY #&55 JSR &FFF4 "LDY #&4E , JSR &FFF4 6LDY #&0D @ JSR &FFF4 JPLA TTAX ^PLA hTAY rPLA |LDA #&00 �RTS �] �� X% �� X%=1 � COM% �?R%=�(�COM$,X%,1)) �R%=R%+7 �� X% �PLH%=(L% � 256)+&82 �PLL%=(L% � 256) � S%?3=PLH% �S%?24=PLL% ��'"The ROM image is now located in memory at &4000 to &";~((&4200+L%)-1);". It can be"'"either loaded in sideways RAM or Blown int an EPROM (with appropriate hardware and software)." ��'"Save to Disc (Y/N) ?"; G$=� �;G$ � G$="Y" � G$="y" � � �TpG &�=&1900:�'':*BASIC 0�''"Enter Filename: "File$ :� �(File$)>9 � �TpG D#� (&200+L%)<&4000 � Len$="4000" N#� (&200+L%)<&2000 � Len$="2000" X#� (&200+L%)<&1000 � Len$="1000" b!� (&200+L%)<&400 � Len$="400" l5Action$="*SAVE "+File$+" 3500+"+Len$+" D9CD 8000" v�'" ";Action$ ��(Action$) �� � � � �cls ��26 �� I%=1 � 5 �� �248,�224); �� �� 0,28:� 0,1023 �� 1278,1023:� 1278,28 � � 0,28 �� �� �init (� 23,224,85,170,85,170,85,170,85,170 � 129:� 0 � � �window(X%,Y%,W%,H%) *!�28,X%+1,Y%+1+H%,X%+1+W%,Y%+1 4� 128:� >�28,X%,Y%+H%,X%+W%,Y% H �129:� R�28 X%+1,Y%+H%,X%+W%,Y%+1 \� f� �title p�window(4,2,30,6) z#�"ROM IMAGE CREATER V2.02 1991" �%�:�"UPGRADED BY BOB (c) A&B 1988" �� �
00000000 0d 00 0a 17 f4 20 42 41 53 49 43 20 3e 20 52 4f |..... BASIC > RO| 00000010 4d 20 49 4d 41 47 45 0d 00 14 1c f4 20 28 63 29 |M IMAGE..... (c)| 00000020 20 31 39 38 38 20 41 26 42 20 43 4f 4d 50 55 54 | 1988 A&B COMPUT| 00000030 49 4e 47 0d 00 1e 06 eb 34 0d 00 28 09 f2 69 6e |ING.....4..(..in| 00000040 69 74 0d 00 32 08 f2 63 6c 73 0d 00 3c 0a f2 74 |it..2..cls..<..t| 00000050 69 74 6c 65 0d 00 46 17 f2 77 69 6e 64 6f 77 28 |itle..F..window(| 00000060 32 2c 31 32 2c 33 35 2c 31 35 29 0d 00 50 25 e8 |2,12,35,15)..P%.| 00000070 27 22 42 61 73 69 63 20 70 72 6f 67 72 61 6d 20 |'"Basic program | 00000080 66 69 6c 65 6e 61 6d 65 3a 22 46 6e 61 6d 65 24 |filename:"Fname$| 00000090 0d 00 5a 18 e7 20 a9 28 46 6e 61 6d 65 24 29 3e |..Z.. .(Fname$)>| 000000a0 39 20 e5 20 8d 44 50 40 0d 00 64 2b 41 63 74 69 |9 . .DP@..d+Acti| 000000b0 6f 6e 24 3d 22 4c 2e 20 22 2b 46 6e 61 6d 65 24 |on$="L. "+Fname$| 000000c0 2b 22 20 33 37 30 30 22 3a ff 28 41 63 74 69 6f |+" 3700":.(Actio| 000000d0 6e 24 29 0d 00 6e 7a 70 61 72 61 6d 3d 26 43 30 |n$)..nzparam=&C0| 000000e0 30 3a 66 69 6c 65 3d 26 43 32 30 3a 24 66 69 6c |0:file=&C20:$fil| 000000f0 65 3d 46 6e 61 6d 65 24 2b bd 31 33 3a 70 61 72 |e=Fname$+.13:par| 00000100 61 6d 3f 30 3d 66 69 6c 65 20 83 20 32 35 36 3a |am?0=file . 256:| 00000110 70 61 72 61 6d 3f 31 3d 66 69 6c 65 20 81 20 32 |param?1=file . 2| 00000120 35 36 3a 41 25 3d 35 3a 58 25 3d 70 61 72 61 6d |56:A%=5:X%=param| 00000130 20 83 20 32 35 36 3a 59 25 3d 70 61 72 61 6d 20 | . 256:Y%=param | 00000140 81 20 32 35 36 3a d6 20 26 46 46 44 44 0d 00 78 |. 256:. &FFDD..x| 00000150 0b d6 20 26 46 46 44 44 0d 00 82 1c 65 78 65 63 |.. &FFDD....exec| 00000160 3d 70 61 72 61 6d 3f 36 2b 32 35 36 2a 70 61 72 |=param?6+256*par| 00000170 61 6d 3f 37 0d 00 8c 1c 4c 25 3d 70 61 72 61 6d |am?7....L%=param| 00000180 3f 31 30 2b 32 35 36 2a 70 61 72 61 6d 3f 31 31 |?10+256*param?11| 00000190 0d 00 96 52 e7 20 65 78 65 63 3c 3e 26 38 30 32 |...R. exec<>&802| 000001a0 33 20 80 20 65 78 65 63 3c 3e 26 38 30 31 46 20 |3 . exec<>&801F | 000001b0 f1 27 27 22 53 6f 72 72 79 2c 20 6e 6f 74 20 61 |.''"Sorry, not a| 000001c0 20 42 41 53 49 43 20 70 72 6f 67 72 61 6d 2e 20 | BASIC program. | 000001d0 54 72 79 20 61 67 61 69 6e 2e 22 27 3a e5 8d 44 |Try again."':..D| 000001e0 50 40 0d 00 a0 3e db 3a de 20 47 52 28 34 29 3a |P@...>.:. GR(4):| 000001f0 d3 3d 26 33 35 30 30 3a f1 27 22 20 20 42 41 53 |.=&3500:.'" BAS| 00000200 49 43 20 70 72 6f 67 72 61 6d 20 6c 65 6e 67 74 |IC program lengt| 00000210 68 3a 26 22 3b 7e 4c 25 3a 2a 46 58 31 35 2c 30 |h:&";~L%:*FX15,0| 00000220 0d 00 aa 0e 4c 25 3d 4c 25 2b 26 31 30 30 0d 00 |....L%=L%+&100..| 00000230 b4 4a e8 27 27 22 45 6e 74 65 72 20 64 65 73 69 |.J.''"Enter desi| 00000240 72 65 64 20 6c 6f 61 64 20 61 64 64 72 65 73 73 |red load address| 00000250 3a 20 26 22 62 42 24 3a 6c 6c 41 25 3d a0 28 22 |: &"bB$:llA%=.("| 00000260 26 22 2b 62 42 24 29 3a 6c 41 25 3d 6c 6c 41 25 |&"+bB$):lA%=llA%| 00000270 20 81 20 32 35 36 20 20 0d 00 be 21 e8 22 45 70 | . 256 ...!."Ep| 00000280 72 6f 6d 20 74 69 74 6c 65 20 28 4d 61 78 2e 32 |rom title (Max.2| 00000290 30 29 20 3a 22 54 24 20 20 0d 00 c8 18 54 24 3d |0) :"T$ ....T$=| 000002a0 c0 54 24 2c 32 30 29 3a 54 4c 25 3d a9 28 54 24 |.T$,20):TL%=.(T$| 000002b0 29 0d 00 d2 21 e8 22 41 75 74 68 6f 72 27 73 20 |)...!."Author's | 000002c0 6e 61 6d 65 20 28 4d 61 78 2e 31 35 29 20 3a 22 |name (Max.15) :"| 000002d0 43 24 0d 00 dc 18 43 24 3d c0 43 24 2c 31 35 29 |C$....C$=.C$,15)| 000002e0 3a 43 4c 25 3d a9 28 43 24 29 0d 00 e6 29 e8 22 |:CL%=.(C$)...)."| 000002f0 41 63 74 69 76 61 74 69 6f 6e 20 63 6f 6d 6d 61 |Activation comma| 00000300 6e 64 20 28 4d 61 78 2e 31 30 29 3a 20 2a 22 43 |nd (Max.10): *"C| 00000310 4f 4d 24 0d 00 f0 1f 43 4f 4d 24 3d c0 43 4f 4d |OM$....COM$=.COM| 00000320 24 2c 31 30 29 3a 43 4f 4d 25 3d a9 28 43 4f 4d |$,10):COM%=.(COM| 00000330 24 29 0d 00 fa 12 e3 20 58 25 3d 30 20 b8 20 32 |$)..... X%=0 . 2| 00000340 20 88 20 32 0d 01 04 0c 50 25 3d 26 33 35 30 30 | . 2....P%=&3500| 00000350 0d 01 0e 0b 5b 4f 50 54 20 58 25 0d 01 18 07 42 |....[OPT X%....B| 00000360 52 4b 0d 01 22 07 42 52 4b 0d 01 2c 07 42 52 4b |RK..".BRK..,.BRK| 00000370 0d 01 36 0c 4a 4d 50 26 38 30 33 30 0d 01 40 05 |..6.JMP&8030..@.| 00000380 5d 0d 01 4a 0b 3f 50 25 3d 26 38 32 0d 01 54 0b |]..J.?P%=&82..T.| 00000390 50 25 3d 50 25 2b 31 0d 01 5e 0f 3f 50 25 3d 28 |P%=P%+1..^.?P%=(| 000003a0 39 2b 54 4c 25 29 0d 01 68 0b 50 25 3d 50 25 2b |9+TL%)..h.P%=P%+| 000003b0 31 0d 01 72 0a 3f 50 25 3d 30 30 0d 01 7c 0b 50 |1..r.?P%=00..|.P| 000003c0 25 3d 50 25 2b 31 0d 01 86 0a 24 50 25 3d 54 24 |%=P%+1....$P%=T$| 000003d0 0d 01 90 0d 50 25 3d 50 25 2b 54 4c 25 0d 01 9a |....P%=P%+TL%...| 000003e0 0a 3f 50 25 3d 30 30 0d 01 a4 0b 50 25 3d 50 25 |.?P%=00....P%=P%| 000003f0 2b 31 0d 01 ae 0b 3f 50 25 3d 26 32 38 0d 01 b8 |+1....?P%=&28...| 00000400 0b 50 25 3d 50 25 2b 31 0d 01 c2 0b 3f 50 25 3d |.P%=P%+1....?P%=| 00000410 26 34 33 0d 01 cc 0b 50 25 3d 50 25 2b 31 0d 01 |&43....P%=P%+1..| 00000420 d6 0b 3f 50 25 3d 26 32 39 0d 01 e0 0b 50 25 3d |..?P%=&29....P%=| 00000430 50 25 2b 31 0d 01 ea 0b 24 50 25 3d 43 24 20 0d |P%+1....$P%=C$ .| 00000440 01 f4 0d 50 25 3d 50 25 2b 43 4c 25 0d 01 fe 0c |...P%=P%+CL%....| 00000450 50 25 3d 26 33 35 33 30 0d 02 08 0b 5b 4f 50 54 |P%=&3530....[OPT| 00000460 20 58 25 0d 02 12 0c 43 4d 50 20 23 26 30 34 0d | X%....CMP #&04.| 00000470 02 1c 0d 42 45 51 20 41 53 45 50 54 0d 02 26 07 |...BEQ ASEPT..&.| 00000480 52 54 53 0d 02 30 0b 2e 46 49 4e 49 53 48 0d 02 |RTS..0..FINISH..| 00000490 3a 07 50 4c 41 0d 02 44 07 54 41 58 0d 02 4e 07 |:.PLA..D.TAX..N.| 000004a0 50 4c 41 0d 02 58 07 54 41 59 0d 02 62 07 50 4c |PLA..X.TAY..b.PL| 000004b0 41 0d 02 6c 07 52 54 53 0d 02 76 07 52 54 53 0d |A..l.RTS..v.RTS.| 000004c0 02 80 0a 2e 41 53 45 50 54 0d 02 8a 07 50 48 41 |....ASEPT....PHA| 000004d0 0d 02 94 07 54 59 41 0d 02 9e 07 50 48 41 0d 02 |....TYA....PHA..| 000004e0 a8 07 54 58 41 0d 02 b2 07 50 48 41 0d 02 bc 05 |..TXA....PHA....| 000004f0 5d 0d 02 c6 0b 52 25 3d 50 25 2b 33 0d 02 d0 11 |]....R%=P%+3....| 00000500 e3 20 48 25 3d 31 20 b8 20 43 4f 4d 25 0d 02 da |. H%=1 . COM%...| 00000510 0b 5b 4f 50 54 20 58 25 0d 02 e4 0f 4c 44 41 20 |.[OPT X%....LDA | 00000520 28 26 46 32 29 2c 59 0d 02 ee 0c 43 4d 50 20 23 |(&F2),Y....CMP #| 00000530 26 30 30 0d 02 f8 0e 42 4e 45 20 46 49 4e 49 53 |&00....BNE FINIS| 00000540 48 0d 03 02 07 49 4e 59 0d 03 0c 05 5d 0d 03 16 |H....INY....]...| 00000550 08 ed 20 48 25 0d 03 20 0c 20 5b 4f 50 54 20 58 |.. H%.. . [OPT X| 00000560 25 0d 03 2a 0f 4c 44 41 20 28 26 46 32 29 2c 59 |%..*.LDA (&F2),Y| 00000570 0d 03 34 0c 43 4d 50 20 23 26 30 44 0d 03 3e 0e |..4.CMP #&0D..>.| 00000580 42 4e 45 20 46 49 4e 49 53 48 0d 03 48 0d 4c 44 |BNE FINISH..H.LD| 00000590 41 20 23 6c 41 25 20 0d 03 52 0b 53 54 41 20 26 |A #lA% ..R.STA &| 000005a0 37 31 0d 03 5c 0c 4c 44 41 20 23 26 38 32 0d 03 |71..\.LDA #&82..| 000005b0 66 0b 53 54 41 20 26 37 33 0d 03 70 0c 4c 44 41 |f.STA &73..p.LDA| 000005c0 20 23 26 30 30 0d 03 7a 0b 53 54 41 20 26 37 30 | #&00..z.STA &70| 000005d0 0d 03 84 0b 53 54 41 20 26 37 32 0d 03 8e 0c 4c |....STA &72....L| 000005e0 44 59 20 23 26 46 46 0d 03 98 0d 2e 4d 41 49 4e |DY #&FF.....MAIN| 000005f0 4c 4f 4f 50 0d 03 a2 05 5d 0d 03 ac 09 53 25 3d |LOOP....]....S%=| 00000600 50 25 0d 03 b6 0b 5b 4f 50 54 20 58 25 0d 03 c0 |P%....[OPT X%...| 00000610 0b 4c 44 41 20 26 37 33 0d 03 ca 0c 43 4d 50 20 |.LDA &73....CMP | 00000620 23 26 30 30 0d 03 d4 10 42 45 51 20 4c 41 53 54 |#&00....BEQ LAST| 00000630 4c 4f 4f 50 0d 03 de 07 49 4e 59 0d 03 e8 0f 4c |LOOP....INY....L| 00000640 44 41 20 28 26 37 32 29 2c 59 0d 03 f2 0f 53 54 |DA (&72),Y....ST| 00000650 41 20 28 26 37 30 29 2c 59 0d 03 fc 0c 43 50 59 |A (&70),Y....CPY| 00000660 20 23 26 46 46 0d 04 06 10 42 4e 45 20 4d 41 49 | #&FF....BNE MAI| 00000670 4e 4c 4f 4f 50 0d 04 10 0b 49 4e 43 20 26 37 31 |NLOOP....INC &71| 00000680 0d 04 1a 0b 49 4e 43 20 26 37 33 0d 04 24 07 43 |....INC &73..$.C| 00000690 4c 43 0d 04 2e 10 42 43 43 20 4d 41 49 4e 4c 4f |LC....BCC MAINLO| 000006a0 4f 50 0d 04 38 0d 2e 4c 41 53 54 4c 4f 4f 50 0d |OP..8..LASTLOOP.| 000006b0 04 42 07 49 4e 59 0d 04 4c 0c 43 50 59 20 23 26 |.B.INY..L.CPY #&| 000006c0 30 30 0d 04 56 0c 42 45 51 20 44 4f 4e 45 0d 04 |00..V.BEQ DONE..| 000006d0 60 0f 4c 44 41 20 28 26 37 32 29 2c 59 0d 04 6a |`.LDA (&72),Y..j| 000006e0 0f 53 54 41 20 28 26 37 30 29 2c 59 0d 04 74 07 |.STA (&70),Y..t.| 000006f0 43 4c 43 0d 04 7e 10 42 43 43 20 4c 41 53 54 4c |CLC..~.BCC LASTL| 00000700 4f 4f 50 0d 04 88 09 2e 44 4f 4e 45 0d 04 92 0c |OOP.....DONE....| 00000710 4c 44 58 20 23 26 30 30 0d 04 9c 0c 4c 44 41 20 |LDX #&00....LDA | 00000720 23 26 38 41 0d 04 a6 0c 4c 44 59 20 23 26 35 30 |#&8A....LDY #&50| 00000730 0d 04 b0 0d 4a 53 52 20 26 46 46 46 34 0d 04 ba |....JSR &FFF4...| 00000740 0c 4c 44 59 20 23 26 34 31 0d 04 c4 0d 4a 53 52 |.LDY #&41....JSR| 00000750 20 26 46 46 46 34 0d 04 ce 0c 4c 44 59 20 23 26 | &FFF4....LDY #&| 00000760 32 45 0d 04 d8 0d 4a 53 52 20 26 46 46 46 34 0d |2E....JSR &FFF4.| 00000770 04 e2 0c 4c 44 59 20 23 26 33 44 0d 04 ec 0d 4a |...LDY #&3D....J| 00000780 53 52 20 26 46 46 46 34 0d 04 f6 0c 4c 44 59 20 |SR &FFF4....LDY | 00000790 23 26 32 36 0d 05 00 0d 4a 53 52 20 26 46 46 46 |#&26....JSR &FFF| 000007a0 34 0d 05 0a 05 5d 0d 05 14 1c e7 20 a9 28 62 42 |4....]..... .(bB| 000007b0 24 29 3d 33 20 8c 20 62 42 24 3d 22 30 22 2b 62 |$)=3 . bB$="0"+b| 000007c0 42 24 0d 05 1e 0e e3 20 47 59 3d 31 20 b8 20 34 |B$..... GY=1 . 4| 000007d0 0d 05 28 18 47 52 28 47 59 29 3d 97 28 c1 62 42 |..(.GR(GY)=.(.bB| 000007e0 24 2c 47 59 2c 31 29 29 0d 05 32 08 ed 20 47 59 |$,GY,1))..2.. GY| 000007f0 0d 05 3c 0b 5b 4f 50 54 20 58 25 0d 05 46 0e 4c |..<.[OPT X%..F.L| 00000800 44 59 20 23 47 52 28 31 29 0d 05 50 0d 4a 53 52 |DY #GR(1)..P.JSR| 00000810 20 26 46 46 46 34 0d 05 5a 0e 4c 44 59 20 23 47 | &FFF4..Z.LDY #G| 00000820 52 28 32 29 0d 05 64 0d 4a 53 52 20 26 46 46 46 |R(2)..d.JSR &FFF| 00000830 34 0d 05 6e 0e 4c 44 59 20 23 47 52 28 33 29 0d |4..n.LDY #GR(3).| 00000840 05 78 0d 4a 53 52 20 26 46 46 46 34 0d 05 82 0e |.x.JSR &FFF4....| 00000850 4c 44 59 20 23 47 52 28 34 29 0d 05 8c 0d 4a 53 |LDY #GR(4)....JS| 00000860 52 20 26 46 46 46 34 0d 05 96 0b 4c 44 59 20 23 |R &FFF4....LDY #| 00000870 26 44 0d 05 a0 0d 4a 53 52 20 26 46 46 46 34 0d |&D....JSR &FFF4.| 00000880 05 aa 0c 4c 44 59 20 23 26 34 46 0d 05 b4 0d 4a |...LDY #&4F....J| 00000890 53 52 20 26 46 46 46 34 0d 05 be 0c 4c 44 59 20 |SR &FFF4....LDY | 000008a0 23 26 34 43 0d 05 c8 0d 4a 53 52 20 26 46 46 46 |#&4C....JSR &FFF| 000008b0 34 0d 05 d2 0c 4c 44 59 20 23 26 34 34 0d 05 dc |4....LDY #&44...| 000008c0 0d 4a 53 52 20 26 46 46 46 34 0d 05 e6 0c 4c 44 |.JSR &FFF4....LD| 000008d0 59 20 23 26 30 44 0d 05 f0 0d 4a 53 52 20 26 46 |Y #&0D....JSR &F| 000008e0 46 46 34 0d 05 fa 0c 4c 44 59 20 23 26 35 32 0d |FF4....LDY #&52.| 000008f0 06 04 0d 4a 53 52 20 26 46 46 46 34 0d 06 0e 0c |...JSR &FFF4....| 00000900 4c 44 59 20 23 26 35 35 0d 06 18 0d 4a 53 52 20 |LDY #&55....JSR | 00000910 26 46 46 46 34 0d 06 22 0c 4c 44 59 20 23 26 34 |&FFF4..".LDY #&4| 00000920 45 0d 06 2c 0d 4a 53 52 20 26 46 46 46 34 0d 06 |E..,.JSR &FFF4..| 00000930 36 0c 4c 44 59 20 23 26 30 44 0d 06 40 0d 4a 53 |6.LDY #&0D..@.JS| 00000940 52 20 26 46 46 46 34 0d 06 4a 07 50 4c 41 0d 06 |R &FFF4..J.PLA..| 00000950 54 07 54 41 58 0d 06 5e 07 50 4c 41 0d 06 68 07 |T.TAX..^.PLA..h.| 00000960 54 41 59 0d 06 72 07 50 4c 41 0d 06 7c 0c 4c 44 |TAY..r.PLA..|.LD| 00000970 41 20 23 26 30 30 0d 06 86 07 52 54 53 0d 06 90 |A #&00....RTS...| 00000980 05 5d 0d 06 9a 08 ed 20 58 25 0d 06 a4 11 e3 20 |.]..... X%..... | 00000990 58 25 3d 31 20 b8 20 43 4f 4d 25 0d 06 ae 16 3f |X%=1 . COM%....?| 000009a0 52 25 3d 97 28 c1 43 4f 4d 24 2c 58 25 2c 31 29 |R%=.(.COM$,X%,1)| 000009b0 29 0d 06 b8 0b 52 25 3d 52 25 2b 37 0d 06 c2 08 |)....R%=R%+7....| 000009c0 ed 20 58 25 0d 06 cc 17 50 4c 48 25 3d 28 4c 25 |. X%....PLH%=(L%| 000009d0 20 81 20 32 35 36 29 2b 26 38 32 0d 06 d6 13 50 | . 256)+&82....P| 000009e0 4c 4c 25 3d 28 4c 25 20 83 20 32 35 36 29 0d 06 |LL%=(L% . 256)..| 000009f0 e0 0d 53 25 3f 33 3d 50 4c 48 25 0d 06 ea 0e 53 |..S%?3=PLH%....S| 00000a00 25 3f 32 34 3d 50 4c 4c 25 0d 06 f4 ba f1 27 22 |%?24=PLL%.....'"| 00000a10 54 68 65 20 52 4f 4d 20 69 6d 61 67 65 20 69 73 |The ROM image is| 00000a20 20 6e 6f 77 20 6c 6f 63 61 74 65 64 20 69 6e 20 | now located in | 00000a30 6d 65 6d 6f 72 79 20 61 74 20 26 34 30 30 30 20 |memory at &4000 | 00000a40 74 6f 20 26 22 3b 7e 28 28 26 34 32 30 30 2b 4c |to &";~((&4200+L| 00000a50 25 29 2d 31 29 3b 22 2e 20 49 74 20 63 61 6e 20 |%)-1);". It can | 00000a60 62 65 22 27 22 65 69 74 68 65 72 20 6c 6f 61 64 |be"'"either load| 00000a70 65 64 20 69 6e 20 73 69 64 65 77 61 79 73 20 52 |ed in sideways R| 00000a80 41 4d 20 6f 72 20 42 6c 6f 77 6e 20 69 6e 74 20 |AM or Blown int | 00000a90 61 6e 20 45 50 52 4f 4d 20 28 77 69 74 68 20 61 |an EPROM (with a| 00000aa0 70 70 72 6f 70 72 69 61 74 65 20 68 61 72 64 77 |ppropriate hardw| 00000ab0 61 72 65 20 61 6e 64 20 73 6f 66 74 77 61 72 65 |are and software| 00000ac0 29 2e 22 0d 06 fe 1d f1 27 22 53 61 76 65 20 74 |).".....'"Save t| 00000ad0 6f 20 44 69 73 63 20 28 59 2f 4e 29 20 3f 22 3b |o Disc (Y/N) ?";| 00000ae0 0d 07 08 08 47 24 3d be 0d 07 12 08 f1 3b 47 24 |....G$=......;G$| 00000af0 0d 07 1c 1e e7 20 47 24 3d 22 59 22 20 84 20 47 |..... G$="Y" . G| 00000b00 24 3d 22 79 22 20 8c 20 e5 20 8d 54 70 47 0d 07 |$="y" . . .TpG..| 00000b10 26 16 d0 3d 26 31 39 30 30 3a f1 27 27 3a 2a 42 |&..=&1900:.'':*B| 00000b20 41 53 49 43 0d 07 30 1e e8 27 27 22 45 6e 74 65 |ASIC..0..''"Ente| 00000b30 72 20 46 69 6c 65 6e 61 6d 65 3a 20 22 46 69 6c |r Filename: "Fil| 00000b40 65 24 0d 07 3a 17 e7 20 a9 28 46 69 6c 65 24 29 |e$..:.. .(File$)| 00000b50 3e 39 20 8c 20 8d 54 70 47 0d 07 44 23 e7 20 28 |>9 . .TpG..D#. (| 00000b60 26 32 30 30 2b 4c 25 29 3c 26 34 30 30 30 20 8c |&200+L%)<&4000 .| 00000b70 20 4c 65 6e 24 3d 22 34 30 30 30 22 0d 07 4e 23 | Len$="4000"..N#| 00000b80 e7 20 28 26 32 30 30 2b 4c 25 29 3c 26 32 30 30 |. (&200+L%)<&200| 00000b90 30 20 8c 20 4c 65 6e 24 3d 22 32 30 30 30 22 0d |0 . Len$="2000".| 00000ba0 07 58 23 e7 20 28 26 32 30 30 2b 4c 25 29 3c 26 |.X#. (&200+L%)<&| 00000bb0 31 30 30 30 20 8c 20 4c 65 6e 24 3d 22 31 30 30 |1000 . Len$="100| 00000bc0 30 22 0d 07 62 21 e7 20 28 26 32 30 30 2b 4c 25 |0"..b!. (&200+L%| 00000bd0 29 3c 26 34 30 30 20 8c 20 4c 65 6e 24 3d 22 34 |)<&400 . Len$="4| 00000be0 30 30 22 0d 07 6c 35 41 63 74 69 6f 6e 24 3d 22 |00"..l5Action$="| 00000bf0 2a 53 41 56 45 20 22 2b 46 69 6c 65 24 2b 22 20 |*SAVE "+File$+" | 00000c00 33 35 30 30 2b 22 2b 4c 65 6e 24 2b 22 20 44 39 |3500+"+Len$+" D9| 00000c10 43 44 20 38 30 30 30 22 0d 07 76 11 f1 27 22 20 |CD 8000"..v..'" | 00000c20 22 3b 41 63 74 69 6f 6e 24 0d 07 80 0f ff 28 41 |";Action$.....(A| 00000c30 63 74 69 6f 6e 24 29 20 0d 07 8a 05 e0 0d 07 94 |ction$) ........| 00000c40 05 20 0d 07 9e 0a dd 20 f2 63 6c 73 0d 07 a8 07 |. ..... .cls....| 00000c50 ef 32 36 0d 07 b2 0e e3 20 49 25 3d 31 20 b8 20 |.26..... I%=1 . | 00000c60 35 0d 07 bc 11 f1 20 c4 32 34 38 2c bd 32 32 34 |5..... .248,.224| 00000c70 29 3b 0d 07 c6 05 ed 0d 07 d0 13 ec 20 30 2c 32 |);.......... 0,2| 00000c80 38 3a df 20 30 2c 31 30 32 33 0d 07 da 19 df 20 |8:. 0,1023..... | 00000c90 31 32 37 38 2c 31 30 32 33 3a df 20 31 32 37 38 |1278,1023:. 1278| 00000ca0 2c 32 38 0d 07 e4 0a df 20 30 2c 32 38 0d 07 ee |,28..... 0,28...| 00000cb0 05 e1 0d 07 f8 0b dd 20 f2 69 6e 69 74 0d 08 02 |....... .init...| 00000cc0 28 ef 20 32 33 2c 32 32 34 2c 38 35 2c 31 37 30 |(. 23,224,85,170| 00000cd0 2c 38 35 2c 31 37 30 2c 38 35 2c 31 37 30 2c 38 |,85,170,85,170,8| 00000ce0 35 2c 31 37 30 0d 08 0c 0d fb 20 31 32 39 3a fb |5,170..... 129:.| 00000cf0 20 30 0d 08 16 05 e1 0d 08 20 1a dd 20 f2 77 69 | 0....... .. .wi| 00000d00 6e 64 6f 77 28 58 25 2c 59 25 2c 57 25 2c 48 25 |ndow(X%,Y%,W%,H%| 00000d10 29 0d 08 2a 21 ef 32 38 2c 58 25 2b 31 2c 59 25 |)..*!.28,X%+1,Y%| 00000d20 2b 31 2b 48 25 2c 58 25 2b 31 2b 57 25 2c 59 25 |+1+H%,X%+1+W%,Y%| 00000d30 2b 31 0d 08 34 0b fb 20 31 32 38 3a db 0d 08 3e |+1..4.. 128:...>| 00000d40 19 ef 32 38 2c 58 25 2c 59 25 2b 48 25 2c 58 25 |..28,X%,Y%+H%,X%| 00000d50 2b 57 25 2c 59 25 0d 08 48 0a fb 31 32 39 3a db |+W%,Y%..H..129:.| 00000d60 0d 08 52 1e ef 32 38 20 58 25 2b 31 2c 59 25 2b |..R..28 X%+1,Y%+| 00000d70 48 25 2c 58 25 2b 57 25 2c 59 25 2b 31 20 0d 08 |H%,X%+W%,Y%+1 ..| 00000d80 5c 05 e1 0d 08 66 0c dd 20 f2 74 69 74 6c 65 0d |\....f.. .title.| 00000d90 08 70 16 f2 77 69 6e 64 6f 77 28 34 2c 32 2c 33 |.p..window(4,2,3| 00000da0 30 2c 36 29 20 0d 08 7a 23 f1 22 52 4f 4d 20 49 |0,6) ..z#."ROM I| 00000db0 4d 41 47 45 20 43 52 45 41 54 45 52 20 56 32 2e |MAGE CREATER V2.| 00000dc0 30 32 20 31 39 39 31 22 0d 08 84 25 f1 3a f1 22 |02 1991"...%.:."| 00000dd0 55 50 47 52 41 44 45 44 20 42 59 20 42 4f 42 20 |UPGRADED BY BOB | 00000de0 28 63 29 20 41 26 42 20 31 39 38 38 22 0d 08 8e |(c) A&B 1988"...| 00000df0 05 e1 0d ff |....| 00000df4