Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_17.ADF » PROGS/DWROMS

PROGS/DWROMS

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_User_Group » EUG_17.ADF
Filename: PROGS/DWROMS
Read OK:
File size: 06A4 bytes
Load address: FFFF2000
Exec address: FFFF8023
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM *ROMS by D. Walker (c)Oct.1994
   20REM Compatible with E/B/B+/M/C
   30A=INKEY(-256)
   40IF A=1 THEN computer=&FE05 ELSE computer=&FE30
   50PROCass
   60CALL&900
   70*SAVE DROMS 900 A2B
   80END
   90DEFPROCass
  100FORI%=0TO2STEP2
  110P%=&900
  120[OPTI%
  130LDA&F4:STA&8D
  140LDA#&0C:STA&F4:STAcomputer
  150LDY#00:LDX#00
  160LDA#&30:STA&8F
  170JSR&FFE7
  180.count
  190STY&F4:STYcomputer
  200INY
  210CPY#17
  220BNEreadwrite
  230JSR&FFE7
  240JMPexit
  250.readwrite
  260LDA&8000:STA&8E
  270LDA#&FF:STA&8000
  280LDA&8000:CMP#&FF
  290BNErom
  300LDA#&00:STA&8000
  310LDA&8000:CMP#&00
  320BNErom
  330LDA&8E:STA&8000:JMPram
  340.rom
  350JSRromnumber
  360LDA#&3C:JSR&FFEE
  370LDA#&20:JSR&FFEE
  380JMPtype
  390.ram
  400JSRromnumber
  410LDA#&3C:JSR&FFEE 
  420LDA#&52:JSR&FFEE
  430JMPtype
  440.type
  450LDA&8006
  460CMP#&C2:BEQlangserv
  465CMP#&C0:BEQlangserv
  470CMP#&82:BEQservice
  480CMP#&60:BEQlang
  490LDA#&20:JSR&FFEE:JSR&FFEE:LDA#&3E:JSR&FFEE
  500JSR&FFE7
  510BNEcount
  520.langserv
  530LDA#&53:JSR&FFEE
  540LDA#&4C:JSR&FFEE
  550LDA#&3E:JSR&FFEE:LDA#&20:JSR&FFEE
  560JMPread
  570.lang
  580LDA#&20:JSR&FFEE
  590LDA#&4C:JSR&FFEE
  600LDA#&3E:JSR&FFEE:LDA#&20:JSR&FFEE
  610JMPread
  620.service
  630LDA#&53:JSR&FFEE
  640LDA#&20:JSR&FFEE
  650LDA#&3E:JSR&FFEE:LDA#&20:JSR&FFEE
  670JMPread
  680.gap
  690LDA#&20:JMPtest1
  700.ignorelf
  710LDA#&00:JMPtest2
  720.ignorecr
  730LDA#&00:JMPtest3
  740.read
  750LDA &8009,X
  760.test1
  770CMP#&00:BEQgap
  780.test3
  790CMP#&0D:BEQignorecr
  800.test2
  810CMP#&0A:BEQignorelf
  820CMP#&28
  830BEQnewline
  840JSR&FFEE
  850INX
  860JMPread
  870.newline
  880JSR&FFE7
  890LDX#00
  900JMPcount
  910.romnumber
  920LDA&8F:CMP#&3A:BEQpokea:JSR&FFEE
  930LDA#&29:JSR&FFEE
  940LDA#&20:JSR&FFEE
  950INC&8F:RTS
  960.pokea
  970LDA#&41:STA&8F:JMPromnumber
  980.exit
  990LDA&8D:STA&F4:STAcomputer
 1000RTS
 1010]
 1020NEXT
 1030ENDPROC

$� *ROMS by D. Walker (c)Oct.1994
 � Compatible with E/B/B+/M/C

A=�(-256)
(+� A=1 � computer=&FE05 � computer=&FE30
2�ass
<	�&900
F*SAVE DROMS 900 A2B
P�
Z	��ass
d
�I%=0�2�2
nP%=&900
x
[OPTI%
�LDA&F4:STA&8D
�LDA#&0C:STA&F4:STAcomputer
�LDY#00:LDX#00
�LDA#&30:STA&8F
�JSR&FFE7
�
.count
�STY&F4:STYcomputer
�INY
�
CPY#17
�BNEreadwrite
�JSR&FFE7
�JMPexit
�.readwrite
LDA&8000:STA&8E
LDA#&FF:STA&8000
LDA&8000:CMP#&FF
"
BNErom
,LDA#&00:STA&8000
6LDA&8000:CMP#&00
@
BNErom
JLDA&8E:STA&8000:JMPram
T.rom
^JSRromnumber
hLDA#&3C:JSR&FFEE
rLDA#&20:JSR&FFEE
|JMPtype
�.ram
�JSRromnumber
�LDA#&3C:JSR&FFEE 
�LDA#&52:JSR&FFEE
�JMPtype
�	.type
�LDA&8006
�CMP#&C2:BEQlangserv
�CMP#&C0:BEQlangserv
�CMP#&82:BEQservice
�CMP#&60:BEQlang
�.LDA#&20:JSR&FFEE:JSR&FFEE:LDA#&3E:JSR&FFEE
�JSR&FFE7
�BNEcount

.langserv
LDA#&53:JSR&FFEE
LDA#&4C:JSR&FFEE
&%LDA#&3E:JSR&FFEE:LDA#&20:JSR&FFEE
0JMPread
:	.lang
DLDA#&20:JSR&FFEE
NLDA#&4C:JSR&FFEE
X%LDA#&3E:JSR&FFEE:LDA#&20:JSR&FFEE
bJMPread
l.service
vLDA#&53:JSR&FFEE
�LDA#&20:JSR&FFEE
�%LDA#&3E:JSR&FFEE:LDA#&20:JSR&FFEE
�JMPread
�.gap
�LDA#&20:JMPtest1
�
.ignorelf
�LDA#&00:JMPtest2
�
.ignorecr
�LDA#&00:JMPtest3
�	.read
�LDA &8009,X
�
.test1
CMP#&00:BEQgap

.test3
CMP#&0D:BEQignorecr
 
.test2
*CMP#&0A:BEQignorelf
4CMP#&28
>BEQnewline
HJSR&FFEE
RINX
\JMPread
f.newline
pJSR&FFE7
z
LDX#00
�JMPcount
�.romnumber
�$LDA&8F:CMP#&3A:BEQpokea:JSR&FFEE
�LDA#&29:JSR&FFEE
�LDA#&20:JSR&FFEE
�INC&8F:RTS
�
.pokea
�LDA#&41:STA&8F:JMPromnumber
�	.exit
�LDA&8D:STA&F4:STAcomputer
�RTS
�]
��
�
�
00000000  0d 00 0a 24 f4 20 2a 52  4f 4d 53 20 62 79 20 44  |...$. *ROMS by D|
00000010  2e 20 57 61 6c 6b 65 72  20 28 63 29 4f 63 74 2e  |. Walker (c)Oct.|
00000020  31 39 39 34 0d 00 14 20  f4 20 43 6f 6d 70 61 74  |1994... . Compat|
00000030  69 62 6c 65 20 77 69 74  68 20 45 2f 42 2f 42 2b  |ible with E/B/B+|
00000040  2f 4d 2f 43 0d 00 1e 0d  41 3d a6 28 2d 32 35 36  |/M/C....A=.(-256|
00000050  29 0d 00 28 2b e7 20 41  3d 31 20 8c 20 63 6f 6d  |)..(+. A=1 . com|
00000060  70 75 74 65 72 3d 26 46  45 30 35 20 8b 20 63 6f  |puter=&FE05 . co|
00000070  6d 70 75 74 65 72 3d 26  46 45 33 30 0d 00 32 08  |mputer=&FE30..2.|
00000080  f2 61 73 73 0d 00 3c 09  d6 26 39 30 30 0d 00 46  |.ass..<..&900..F|
00000090  17 2a 53 41 56 45 20 44  52 4f 4d 53 20 39 30 30  |.*SAVE DROMS 900|
000000a0  20 41 32 42 0d 00 50 05  e0 0d 00 5a 09 dd f2 61  | A2B..P....Z...a|
000000b0  73 73 0d 00 64 0d e3 49  25 3d 30 b8 32 88 32 0d  |ss..d..I%=0.2.2.|
000000c0  00 6e 0b 50 25 3d 26 39  30 30 0d 00 78 0a 5b 4f  |.n.P%=&900..x.[O|
000000d0  50 54 49 25 0d 00 82 11  4c 44 41 26 46 34 3a 53  |PTI%....LDA&F4:S|
000000e0  54 41 26 38 44 0d 00 8c  1e 4c 44 41 23 26 30 43  |TA&8D....LDA#&0C|
000000f0  3a 53 54 41 26 46 34 3a  53 54 41 63 6f 6d 70 75  |:STA&F4:STAcompu|
00000100  74 65 72 0d 00 96 11 4c  44 59 23 30 30 3a 4c 44  |ter....LDY#00:LD|
00000110  58 23 30 30 0d 00 a0 12  4c 44 41 23 26 33 30 3a  |X#00....LDA#&30:|
00000120  53 54 41 26 38 46 0d 00  aa 0c 4a 53 52 26 46 46  |STA&8F....JSR&FF|
00000130  45 37 0d 00 b4 0a 2e 63  6f 75 6e 74 0d 00 be 16  |E7.....count....|
00000140  53 54 59 26 46 34 3a 53  54 59 63 6f 6d 70 75 74  |STY&F4:STYcomput|
00000150  65 72 0d 00 c8 07 49 4e  59 0d 00 d2 0a 43 50 59  |er....INY....CPY|
00000160  23 31 37 0d 00 dc 10 42  4e 45 72 65 61 64 77 72  |#17....BNEreadwr|
00000170  69 74 65 0d 00 e6 0c 4a  53 52 26 46 46 45 37 0d  |ite....JSR&FFE7.|
00000180  00 f0 0b 4a 4d 50 65 78  69 74 0d 00 fa 0e 2e 72  |...JMPexit.....r|
00000190  65 61 64 77 72 69 74 65  0d 01 04 13 4c 44 41 26  |eadwrite....LDA&|
000001a0  38 30 30 30 3a 53 54 41  26 38 45 0d 01 0e 14 4c  |8000:STA&8E....L|
000001b0  44 41 23 26 46 46 3a 53  54 41 26 38 30 30 30 0d  |DA#&FF:STA&8000.|
000001c0  01 18 14 4c 44 41 26 38  30 30 30 3a 43 4d 50 23  |...LDA&8000:CMP#|
000001d0  26 46 46 0d 01 22 0a 42  4e 45 72 6f 6d 0d 01 2c  |&FF..".BNErom..,|
000001e0  14 4c 44 41 23 26 30 30  3a 53 54 41 26 38 30 30  |.LDA#&00:STA&800|
000001f0  30 0d 01 36 14 4c 44 41  26 38 30 30 30 3a 43 4d  |0..6.LDA&8000:CM|
00000200  50 23 26 30 30 0d 01 40  0a 42 4e 45 72 6f 6d 0d  |P#&00..@.BNErom.|
00000210  01 4a 1a 4c 44 41 26 38  45 3a 53 54 41 26 38 30  |.J.LDA&8E:STA&80|
00000220  30 30 3a 4a 4d 50 72 61  6d 0d 01 54 08 2e 72 6f  |00:JMPram..T..ro|
00000230  6d 0d 01 5e 10 4a 53 52  72 6f 6d 6e 75 6d 62 65  |m..^.JSRromnumbe|
00000240  72 0d 01 68 14 4c 44 41  23 26 33 43 3a 4a 53 52  |r..h.LDA#&3C:JSR|
00000250  26 46 46 45 45 0d 01 72  14 4c 44 41 23 26 32 30  |&FFEE..r.LDA#&20|
00000260  3a 4a 53 52 26 46 46 45  45 0d 01 7c 0b 4a 4d 50  |:JSR&FFEE..|.JMP|
00000270  74 79 70 65 0d 01 86 08  2e 72 61 6d 0d 01 90 10  |type.....ram....|
00000280  4a 53 52 72 6f 6d 6e 75  6d 62 65 72 0d 01 9a 15  |JSRromnumber....|
00000290  4c 44 41 23 26 33 43 3a  4a 53 52 26 46 46 45 45  |LDA#&3C:JSR&FFEE|
000002a0  20 0d 01 a4 14 4c 44 41  23 26 35 32 3a 4a 53 52  | ....LDA#&52:JSR|
000002b0  26 46 46 45 45 0d 01 ae  0b 4a 4d 50 74 79 70 65  |&FFEE....JMPtype|
000002c0  0d 01 b8 09 2e 74 79 70  65 0d 01 c2 0c 4c 44 41  |.....type....LDA|
000002d0  26 38 30 30 36 0d 01 cc  17 43 4d 50 23 26 43 32  |&8006....CMP#&C2|
000002e0  3a 42 45 51 6c 61 6e 67  73 65 72 76 0d 01 d1 17  |:BEQlangserv....|
000002f0  43 4d 50 23 26 43 30 3a  42 45 51 6c 61 6e 67 73  |CMP#&C0:BEQlangs|
00000300  65 72 76 0d 01 d6 16 43  4d 50 23 26 38 32 3a 42  |erv....CMP#&82:B|
00000310  45 51 73 65 72 76 69 63  65 0d 01 e0 13 43 4d 50  |EQservice....CMP|
00000320  23 26 36 30 3a 42 45 51  6c 61 6e 67 0d 01 ea 2e  |#&60:BEQlang....|
00000330  4c 44 41 23 26 32 30 3a  4a 53 52 26 46 46 45 45  |LDA#&20:JSR&FFEE|
00000340  3a 4a 53 52 26 46 46 45  45 3a 4c 44 41 23 26 33  |:JSR&FFEE:LDA#&3|
00000350  45 3a 4a 53 52 26 46 46  45 45 0d 01 f4 0c 4a 53  |E:JSR&FFEE....JS|
00000360  52 26 46 46 45 37 0d 01  fe 0c 42 4e 45 63 6f 75  |R&FFE7....BNEcou|
00000370  6e 74 0d 02 08 0d 2e 6c  61 6e 67 73 65 72 76 0d  |nt.....langserv.|
00000380  02 12 14 4c 44 41 23 26  35 33 3a 4a 53 52 26 46  |...LDA#&53:JSR&F|
00000390  46 45 45 0d 02 1c 14 4c  44 41 23 26 34 43 3a 4a  |FEE....LDA#&4C:J|
000003a0  53 52 26 46 46 45 45 0d  02 26 25 4c 44 41 23 26  |SR&FFEE..&%LDA#&|
000003b0  33 45 3a 4a 53 52 26 46  46 45 45 3a 4c 44 41 23  |3E:JSR&FFEE:LDA#|
000003c0  26 32 30 3a 4a 53 52 26  46 46 45 45 0d 02 30 0b  |&20:JSR&FFEE..0.|
000003d0  4a 4d 50 72 65 61 64 0d  02 3a 09 2e 6c 61 6e 67  |JMPread..:..lang|
000003e0  0d 02 44 14 4c 44 41 23  26 32 30 3a 4a 53 52 26  |..D.LDA#&20:JSR&|
000003f0  46 46 45 45 0d 02 4e 14  4c 44 41 23 26 34 43 3a  |FFEE..N.LDA#&4C:|
00000400  4a 53 52 26 46 46 45 45  0d 02 58 25 4c 44 41 23  |JSR&FFEE..X%LDA#|
00000410  26 33 45 3a 4a 53 52 26  46 46 45 45 3a 4c 44 41  |&3E:JSR&FFEE:LDA|
00000420  23 26 32 30 3a 4a 53 52  26 46 46 45 45 0d 02 62  |#&20:JSR&FFEE..b|
00000430  0b 4a 4d 50 72 65 61 64  0d 02 6c 0c 2e 73 65 72  |.JMPread..l..ser|
00000440  76 69 63 65 0d 02 76 14  4c 44 41 23 26 35 33 3a  |vice..v.LDA#&53:|
00000450  4a 53 52 26 46 46 45 45  0d 02 80 14 4c 44 41 23  |JSR&FFEE....LDA#|
00000460  26 32 30 3a 4a 53 52 26  46 46 45 45 0d 02 8a 25  |&20:JSR&FFEE...%|
00000470  4c 44 41 23 26 33 45 3a  4a 53 52 26 46 46 45 45  |LDA#&3E:JSR&FFEE|
00000480  3a 4c 44 41 23 26 32 30  3a 4a 53 52 26 46 46 45  |:LDA#&20:JSR&FFE|
00000490  45 0d 02 9e 0b 4a 4d 50  72 65 61 64 0d 02 a8 08  |E....JMPread....|
000004a0  2e 67 61 70 0d 02 b2 14  4c 44 41 23 26 32 30 3a  |.gap....LDA#&20:|
000004b0  4a 4d 50 74 65 73 74 31  0d 02 bc 0d 2e 69 67 6e  |JMPtest1.....ign|
000004c0  6f 72 65 6c 66 0d 02 c6  14 4c 44 41 23 26 30 30  |orelf....LDA#&00|
000004d0  3a 4a 4d 50 74 65 73 74  32 0d 02 d0 0d 2e 69 67  |:JMPtest2.....ig|
000004e0  6e 6f 72 65 63 72 0d 02  da 14 4c 44 41 23 26 30  |norecr....LDA#&0|
000004f0  30 3a 4a 4d 50 74 65 73  74 33 0d 02 e4 09 2e 72  |0:JMPtest3.....r|
00000500  65 61 64 0d 02 ee 0f 4c  44 41 20 26 38 30 30 39  |ead....LDA &8009|
00000510  2c 58 0d 02 f8 0a 2e 74  65 73 74 31 0d 03 02 12  |,X.....test1....|
00000520  43 4d 50 23 26 30 30 3a  42 45 51 67 61 70 0d 03  |CMP#&00:BEQgap..|
00000530  0c 0a 2e 74 65 73 74 33  0d 03 16 17 43 4d 50 23  |...test3....CMP#|
00000540  26 30 44 3a 42 45 51 69  67 6e 6f 72 65 63 72 0d  |&0D:BEQignorecr.|
00000550  03 20 0a 2e 74 65 73 74  32 0d 03 2a 17 43 4d 50  |. ..test2..*.CMP|
00000560  23 26 30 41 3a 42 45 51  69 67 6e 6f 72 65 6c 66  |#&0A:BEQignorelf|
00000570  0d 03 34 0b 43 4d 50 23  26 32 38 0d 03 3e 0e 42  |..4.CMP#&28..>.B|
00000580  45 51 6e 65 77 6c 69 6e  65 0d 03 48 0c 4a 53 52  |EQnewline..H.JSR|
00000590  26 46 46 45 45 0d 03 52  07 49 4e 58 0d 03 5c 0b  |&FFEE..R.INX..\.|
000005a0  4a 4d 50 72 65 61 64 0d  03 66 0c 2e 6e 65 77 6c  |JMPread..f..newl|
000005b0  69 6e 65 0d 03 70 0c 4a  53 52 26 46 46 45 37 0d  |ine..p.JSR&FFE7.|
000005c0  03 7a 0a 4c 44 58 23 30  30 0d 03 84 0c 4a 4d 50  |.z.LDX#00....JMP|
000005d0  63 6f 75 6e 74 0d 03 8e  0e 2e 72 6f 6d 6e 75 6d  |count.....romnum|
000005e0  62 65 72 0d 03 98 24 4c  44 41 26 38 46 3a 43 4d  |ber...$LDA&8F:CM|
000005f0  50 23 26 33 41 3a 42 45  51 70 6f 6b 65 61 3a 4a  |P#&3A:BEQpokea:J|
00000600  53 52 26 46 46 45 45 0d  03 a2 14 4c 44 41 23 26  |SR&FFEE....LDA#&|
00000610  32 39 3a 4a 53 52 26 46  46 45 45 0d 03 ac 14 4c  |29:JSR&FFEE....L|
00000620  44 41 23 26 32 30 3a 4a  53 52 26 46 46 45 45 0d  |DA#&20:JSR&FFEE.|
00000630  03 b6 0e 49 4e 43 26 38  46 3a 52 54 53 0d 03 c0  |...INC&8F:RTS...|
00000640  0a 2e 70 6f 6b 65 61 0d  03 ca 1f 4c 44 41 23 26  |..pokea....LDA#&|
00000650  34 31 3a 53 54 41 26 38  46 3a 4a 4d 50 72 6f 6d  |41:STA&8F:JMProm|
00000660  6e 75 6d 62 65 72 0d 03  d4 09 2e 65 78 69 74 0d  |number.....exit.|
00000670  03 de 1d 4c 44 41 26 38  44 3a 53 54 41 26 46 34  |...LDA&8D:STA&F4|
00000680  3a 53 54 41 63 6f 6d 70  75 74 65 72 0d 03 e8 07  |:STAcomputer....|
00000690  52 54 53 0d 03 f2 05 5d  0d 03 fc 05 ed 0d 04 06  |RTS....]........|
000006a0  05 e1 0d ff                                       |....|
000006a4
PROGS/DWROMS.m0
PROGS/DWROMS.m1
PROGS/DWROMS.m2
PROGS/DWROMS.m4
PROGS/DWROMS.m5