Home » Personal collection » Acorn ADFS disks » Electron » EUG_submission_3.ADF » ExileMap/prog

ExileMap/prog

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 » EUG_submission_3.ADF
Filename: ExileMap/prog
Read OK:
File size: 06AD bytes
Load address: FFFF1D00
Exec address: FFFF8023
Duplicates

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

File contents
   10REM Exile Mapper
   20REM by James Bonfield
   30REM (c) The Micro User
   40REM Adapted for the Acorn Electron cassette version by M. Ford for EUG, July 1995
   50MODE6:VDU 28,0,24,39,18
   60HIMEM=&2C00
   70assm=&6000
   80run=&E00
   90oscli=&FFF7
  100FORPASS=0TO2STEP2
  110P%=assm
  120[OPTPASS
  130.relocate
  140LDX#0
  150.mvloop
  160LDAassmstart,X
  170STArun,X
  180INX
  190BNEmvloop
  200JMPrun
  210.assmstart
  220]
  230O%=P%
  240P%=run
  250[OPTPASS+4
  260LDX#load MOD256
  270LDY#load DIV256
  280JSRoscli
  290SEI
  300LDY#0
  310LDX#&4B
  320LDA#&3F
  330STA&70
  340STA&71
  350LDA#&94
  360STA&72
  370.a
  380LDA&2C00,Y
  390EOR&70
  400DEC&71
  410EOR&71
  420EOR&72
  430.b
  440STA&2C00,Y
  450INC&72
  460LDA&72
  470SEC
  480SBC#&5F
  490EOR&71
  500STA&72
  510EOR&70
  520STA&70
  530EOR#&E4
  540STA&71
  550EOR&72
  560INY
  570BNEa
  580INCa+2
  590INCb+2
  600DEX
  610BNEa
  620LDA#&23
  630STA&70
  640LDA#&4D
  650PHA
  660LDY#0
  670PLP
  680.loop
  690EOR#&F2
  700ADC&70
  710ADC#&97
  720STA&70
  730.c
  740EOR&2C00,Y
  750.d
  760STA&2C00,Y
  770EOR&70
  780INY
  790BNEloop
  800INCc+2
  810INCd+2
  820PHA
  830PHP
  840LDAc+2
  850CMP#&7F
  860BEQout
  870PLP
  880PLA
  890JMPloop
  900.out
  910LDA #&60 \Opcode for RTS
  920STA &759B
  930JSR &7577
  940JSR &2D07
  950.draw
  960JSR&2A9A
  970JSR&29C3
  980.x
  990LDA #&9B
 1000STA &18
 1010.y
 1020LDA #&3B
 1030STA &1A
 1040JSR&1D2E
 1050JSR&19AE
 1060JSR&2022
 1070.loop2
 1080CLI
 1090JSR &FFE0
 1100SEI
 1110PHA
 1120LDA#15
 1130LDX #0
 1140JSR &FFF4
 1150PLA
 1160CMP #90
 1170BEQ left
 1180CMP #88
 1190BEQ right
 1200CMP #58
 1210BEQ up
 1220CMP #47
 1230BEQ down
 1240BNE loop2
 1250.right
 1260INC x+1
 1270JMP draw
 1280.left
 1290DEC x+1
 1300JMP draw
 1310.up
 1320DEC y+1
 1330JMP draw
 1340.down
 1350INC y+1
 1360JMP draw
 1370.load EQUS"LOAD Game":EQUB&84:EQUB&7F:EQUS" 2C00":EQUB&D
 1380]
 1390NEXT
 1400PRINT"Insert Exile tape, forward to file      ""Game??"", and press play."
 1410*TAPE
 1420*FX11,1
 1430CALLrelocate

� Exile Mapper
� by James Bonfield
� (c) The Micro User
(S� Adapted for the Acorn Electron cassette version by M. Ford for EUG, July 1995
2�6:� 28,0,24,39,18
<�=&2C00
Fassm=&6000
Prun=&E00
Zoscli=&FFF7
d�PASS=0�2�2
nP%=assm
x[OPTPASS
�
.relocate
�	LDX#0
�.mvloop
�LDAassmstart,X
�STArun,X
�INX
�
BNEmvloop
�
JMPrun
�.assmstart
�]
�	O%=P%
�
P%=run
�[OPTPASS+4
LDX#load �256
LDY#load �256
JSRoscli
"SEI
,	LDY#0
6LDX#&4B
@LDA#&3F
J
STA&70
T
STA&71
^LDA#&94
h
STA&72
r.a
|LDA&2C00,Y
��&70
�
DEC&71
��&71
��&72
�.b
�STA&2C00,Y
�
INC&72
�
LDA&72
�SEC
�SBC#&5F
��&71
�
STA&72
��&70

STA&70
	�#&E4

STA&71
&�&72
0INY
:BNEa
D
INCa+2
N
INCb+2
XDEX
bBNEa
lLDA#&23
v
STA&70
�LDA#&4D
�PHA
�	LDY#0
�PLP
�	.loop
�	�#&F2
�
ADC&70
�ADC#&97
�
STA&70
�.c
��&2C00,Y
�.d
�STA&2C00,Y
�&70
INY
BNEloop
 
INCc+2
*
INCd+2
4PHA
>PHP
H
LDAc+2
RCMP#&7F
\
BEQout
fPLP
pPLA
zJMPloop
�.out
�LDA #&60 \Opcode for RTS
�
STA &759B
�
JSR &7577
�
JSR &2D07
�	.draw
�JSR&2A9A
�JSR&29C3
�.x
�LDA #&9B
�STA &18
�.y
�LDA #&3B
STA &1A
JSR&1D2E
JSR&19AE
$JSR&2022
.
.loop2
8CLI
B
JSR &FFE0
LSEI
VPHA
`
LDA#15
j
LDX #0
t
JSR &FFF4
~PLA
�CMP #90
�BEQ left
�CMP #88
�
BEQ right
�CMP #58
�
BEQ up
�CMP #47
�BEQ down
�
BNE loop2
�
.right
�INC x+1
�JMP draw
	.left

DEC x+1
JMP draw
.up
(DEC y+1
2JMP draw
<	.down
FINC y+1
PJMP draw
Z<.load EQUS"LOAD Game":EQUB&84:EQUB&7F:EQUS" 2C00":EQUB&D
d]
n�
xJ�"Insert Exile tape, forward to file      ""Game??"", and press play."
�	*TAPE
�*FX11,1
�
�relocate
�
00000000  0d 00 0a 12 f4 20 45 78  69 6c 65 20 4d 61 70 70  |..... Exile Mapp|
00000010  65 72 0d 00 14 17 f4 20  62 79 20 4a 61 6d 65 73  |er..... by James|
00000020  20 42 6f 6e 66 69 65 6c  64 0d 00 1e 18 f4 20 28  | Bonfield..... (|
00000030  63 29 20 54 68 65 20 4d  69 63 72 6f 20 55 73 65  |c) The Micro Use|
00000040  72 0d 00 28 53 f4 20 41  64 61 70 74 65 64 20 66  |r..(S. Adapted f|
00000050  6f 72 20 74 68 65 20 41  63 6f 72 6e 20 45 6c 65  |or the Acorn Ele|
00000060  63 74 72 6f 6e 20 63 61  73 73 65 74 74 65 20 76  |ctron cassette v|
00000070  65 72 73 69 6f 6e 20 62  79 20 4d 2e 20 46 6f 72  |ersion by M. For|
00000080  64 20 66 6f 72 20 45 55  47 2c 20 4a 75 6c 79 20  |d for EUG, July |
00000090  31 39 39 35 0d 00 32 16  eb 36 3a ef 20 32 38 2c  |1995..2..6:. 28,|
000000a0  30 2c 32 34 2c 33 39 2c  31 38 0d 00 3c 0b d3 3d  |0,24,39,18..<..=|
000000b0  26 32 43 30 30 0d 00 46  0e 61 73 73 6d 3d 26 36  |&2C00..F.assm=&6|
000000c0  30 30 30 0d 00 50 0c 72  75 6e 3d 26 45 30 30 0d  |000..P.run=&E00.|
000000d0  00 5a 0f 6f 73 63 6c 69  3d 26 46 46 46 37 0d 00  |.Z.oscli=&FFF7..|
000000e0  64 0f e3 50 41 53 53 3d  30 b8 32 88 32 0d 00 6e  |d..PASS=0.2.2..n|
000000f0  0b 50 25 3d 61 73 73 6d  0d 00 78 0c 5b 4f 50 54  |.P%=assm..x.[OPT|
00000100  50 41 53 53 0d 00 82 0d  2e 72 65 6c 6f 63 61 74  |PASS.....relocat|
00000110  65 0d 00 8c 09 4c 44 58  23 30 0d 00 96 0b 2e 6d  |e....LDX#0.....m|
00000120  76 6c 6f 6f 70 0d 00 a0  12 4c 44 41 61 73 73 6d  |vloop....LDAassm|
00000130  73 74 61 72 74 2c 58 0d  00 aa 0c 53 54 41 72 75  |start,X....STAru|
00000140  6e 2c 58 0d 00 b4 07 49  4e 58 0d 00 be 0d 42 4e  |n,X....INX....BN|
00000150  45 6d 76 6c 6f 6f 70 0d  00 c8 0a 4a 4d 50 72 75  |Emvloop....JMPru|
00000160  6e 0d 00 d2 0e 2e 61 73  73 6d 73 74 61 72 74 0d  |n.....assmstart.|
00000170  00 dc 05 5d 0d 00 e6 09  4f 25 3d 50 25 0d 00 f0  |...]....O%=P%...|
00000180  0a 50 25 3d 72 75 6e 0d  00 fa 0e 5b 4f 50 54 50  |.P%=run....[OPTP|
00000190  41 53 53 2b 34 0d 01 04  11 4c 44 58 23 6c 6f 61  |ASS+4....LDX#loa|
000001a0  64 20 83 32 35 36 0d 01  0e 11 4c 44 59 23 6c 6f  |d .256....LDY#lo|
000001b0  61 64 20 81 32 35 36 0d  01 18 0c 4a 53 52 6f 73  |ad .256....JSRos|
000001c0  63 6c 69 0d 01 22 07 53  45 49 0d 01 2c 09 4c 44  |cli..".SEI..,.LD|
000001d0  59 23 30 0d 01 36 0b 4c  44 58 23 26 34 42 0d 01  |Y#0..6.LDX#&4B..|
000001e0  40 0b 4c 44 41 23 26 33  46 0d 01 4a 0a 53 54 41  |@.LDA#&3F..J.STA|
000001f0  26 37 30 0d 01 54 0a 53  54 41 26 37 31 0d 01 5e  |&70..T.STA&71..^|
00000200  0b 4c 44 41 23 26 39 34  0d 01 68 0a 53 54 41 26  |.LDA#&94..h.STA&|
00000210  37 32 0d 01 72 06 2e 61  0d 01 7c 0e 4c 44 41 26  |72..r..a..|.LDA&|
00000220  32 43 30 30 2c 59 0d 01  86 08 82 26 37 30 0d 01  |2C00,Y.....&70..|
00000230  90 0a 44 45 43 26 37 31  0d 01 9a 08 82 26 37 31  |..DEC&71.....&71|
00000240  0d 01 a4 08 82 26 37 32  0d 01 ae 06 2e 62 0d 01  |.....&72.....b..|
00000250  b8 0e 53 54 41 26 32 43  30 30 2c 59 0d 01 c2 0a  |..STA&2C00,Y....|
00000260  49 4e 43 26 37 32 0d 01  cc 0a 4c 44 41 26 37 32  |INC&72....LDA&72|
00000270  0d 01 d6 07 53 45 43 0d  01 e0 0b 53 42 43 23 26  |....SEC....SBC#&|
00000280  35 46 0d 01 ea 08 82 26  37 31 0d 01 f4 0a 53 54  |5F.....&71....ST|
00000290  41 26 37 32 0d 01 fe 08  82 26 37 30 0d 02 08 0a  |A&72.....&70....|
000002a0  53 54 41 26 37 30 0d 02  12 09 82 23 26 45 34 0d  |STA&70.....#&E4.|
000002b0  02 1c 0a 53 54 41 26 37  31 0d 02 26 08 82 26 37  |...STA&71..&..&7|
000002c0  32 0d 02 30 07 49 4e 59  0d 02 3a 08 42 4e 45 61  |2..0.INY..:.BNEa|
000002d0  0d 02 44 0a 49 4e 43 61  2b 32 0d 02 4e 0a 49 4e  |..D.INCa+2..N.IN|
000002e0  43 62 2b 32 0d 02 58 07  44 45 58 0d 02 62 08 42  |Cb+2..X.DEX..b.B|
000002f0  4e 45 61 0d 02 6c 0b 4c  44 41 23 26 32 33 0d 02  |NEa..l.LDA#&23..|
00000300  76 0a 53 54 41 26 37 30  0d 02 80 0b 4c 44 41 23  |v.STA&70....LDA#|
00000310  26 34 44 0d 02 8a 07 50  48 41 0d 02 94 09 4c 44  |&4D....PHA....LD|
00000320  59 23 30 0d 02 9e 07 50  4c 50 0d 02 a8 09 2e 6c  |Y#0....PLP.....l|
00000330  6f 6f 70 0d 02 b2 09 82  23 26 46 32 0d 02 bc 0a  |oop.....#&F2....|
00000340  41 44 43 26 37 30 0d 02  c6 0b 41 44 43 23 26 39  |ADC&70....ADC#&9|
00000350  37 0d 02 d0 0a 53 54 41  26 37 30 0d 02 da 06 2e  |7....STA&70.....|
00000360  63 0d 02 e4 0c 82 26 32  43 30 30 2c 59 0d 02 ee  |c.....&2C00,Y...|
00000370  06 2e 64 0d 02 f8 0e 53  54 41 26 32 43 30 30 2c  |..d....STA&2C00,|
00000380  59 0d 03 02 08 82 26 37  30 0d 03 0c 07 49 4e 59  |Y.....&70....INY|
00000390  0d 03 16 0b 42 4e 45 6c  6f 6f 70 0d 03 20 0a 49  |....BNEloop.. .I|
000003a0  4e 43 63 2b 32 0d 03 2a  0a 49 4e 43 64 2b 32 0d  |NCc+2..*.INCd+2.|
000003b0  03 34 07 50 48 41 0d 03  3e 07 50 48 50 0d 03 48  |.4.PHA..>.PHP..H|
000003c0  0a 4c 44 41 63 2b 32 0d  03 52 0b 43 4d 50 23 26  |.LDAc+2..R.CMP#&|
000003d0  37 46 0d 03 5c 0a 42 45  51 6f 75 74 0d 03 66 07  |7F..\.BEQout..f.|
000003e0  50 4c 50 0d 03 70 07 50  4c 41 0d 03 7a 0b 4a 4d  |PLP..p.PLA..z.JM|
000003f0  50 6c 6f 6f 70 0d 03 84  08 2e 6f 75 74 0d 03 8e  |Ploop.....out...|
00000400  1c 4c 44 41 20 23 26 36  30 20 5c 4f 70 63 6f 64  |.LDA #&60 \Opcod|
00000410  65 20 66 6f 72 20 52 54  53 0d 03 98 0d 53 54 41  |e for RTS....STA|
00000420  20 26 37 35 39 42 0d 03  a2 0d 4a 53 52 20 26 37  | &759B....JSR &7|
00000430  35 37 37 0d 03 ac 0d 4a  53 52 20 26 32 44 30 37  |577....JSR &2D07|
00000440  0d 03 b6 09 2e 64 72 61  77 0d 03 c0 0c 4a 53 52  |.....draw....JSR|
00000450  26 32 41 39 41 0d 03 ca  0c 4a 53 52 26 32 39 43  |&2A9A....JSR&29C|
00000460  33 0d 03 d4 06 2e 78 0d  03 de 0c 4c 44 41 20 23  |3.....x....LDA #|
00000470  26 39 42 0d 03 e8 0b 53  54 41 20 26 31 38 0d 03  |&9B....STA &18..|
00000480  f2 06 2e 79 0d 03 fc 0c  4c 44 41 20 23 26 33 42  |...y....LDA #&3B|
00000490  0d 04 06 0b 53 54 41 20  26 31 41 0d 04 10 0c 4a  |....STA &1A....J|
000004a0  53 52 26 31 44 32 45 0d  04 1a 0c 4a 53 52 26 31  |SR&1D2E....JSR&1|
000004b0  39 41 45 0d 04 24 0c 4a  53 52 26 32 30 32 32 0d  |9AE..$.JSR&2022.|
000004c0  04 2e 0a 2e 6c 6f 6f 70  32 0d 04 38 07 43 4c 49  |....loop2..8.CLI|
000004d0  0d 04 42 0d 4a 53 52 20  26 46 46 45 30 0d 04 4c  |..B.JSR &FFE0..L|
000004e0  07 53 45 49 0d 04 56 07  50 48 41 0d 04 60 0a 4c  |.SEI..V.PHA..`.L|
000004f0  44 41 23 31 35 0d 04 6a  0a 4c 44 58 20 23 30 0d  |DA#15..j.LDX #0.|
00000500  04 74 0d 4a 53 52 20 26  46 46 46 34 0d 04 7e 07  |.t.JSR &FFF4..~.|
00000510  50 4c 41 0d 04 88 0b 43  4d 50 20 23 39 30 0d 04  |PLA....CMP #90..|
00000520  92 0c 42 45 51 20 6c 65  66 74 0d 04 9c 0b 43 4d  |..BEQ left....CM|
00000530  50 20 23 38 38 0d 04 a6  0d 42 45 51 20 72 69 67  |P #88....BEQ rig|
00000540  68 74 0d 04 b0 0b 43 4d  50 20 23 35 38 0d 04 ba  |ht....CMP #58...|
00000550  0a 42 45 51 20 75 70 0d  04 c4 0b 43 4d 50 20 23  |.BEQ up....CMP #|
00000560  34 37 0d 04 ce 0c 42 45  51 20 64 6f 77 6e 0d 04  |47....BEQ down..|
00000570  d8 0d 42 4e 45 20 6c 6f  6f 70 32 0d 04 e2 0a 2e  |..BNE loop2.....|
00000580  72 69 67 68 74 0d 04 ec  0b 49 4e 43 20 78 2b 31  |right....INC x+1|
00000590  0d 04 f6 0c 4a 4d 50 20  64 72 61 77 0d 05 00 09  |....JMP draw....|
000005a0  2e 6c 65 66 74 0d 05 0a  0b 44 45 43 20 78 2b 31  |.left....DEC x+1|
000005b0  0d 05 14 0c 4a 4d 50 20  64 72 61 77 0d 05 1e 07  |....JMP draw....|
000005c0  2e 75 70 0d 05 28 0b 44  45 43 20 79 2b 31 0d 05  |.up..(.DEC y+1..|
000005d0  32 0c 4a 4d 50 20 64 72  61 77 0d 05 3c 09 2e 64  |2.JMP draw..<..d|
000005e0  6f 77 6e 0d 05 46 0b 49  4e 43 20 79 2b 31 0d 05  |own..F.INC y+1..|
000005f0  50 0c 4a 4d 50 20 64 72  61 77 0d 05 5a 3c 2e 6c  |P.JMP draw..Z<.l|
00000600  6f 61 64 20 45 51 55 53  22 4c 4f 41 44 20 47 61  |oad EQUS"LOAD Ga|
00000610  6d 65 22 3a 45 51 55 42  26 38 34 3a 45 51 55 42  |me":EQUB&84:EQUB|
00000620  26 37 46 3a 45 51 55 53  22 20 32 43 30 30 22 3a  |&7F:EQUS" 2C00":|
00000630  45 51 55 42 26 44 0d 05  64 05 5d 0d 05 6e 05 ed  |EQUB&D..d.]..n..|
00000640  0d 05 78 4a f1 22 49 6e  73 65 72 74 20 45 78 69  |..xJ."Insert Exi|
00000650  6c 65 20 74 61 70 65 2c  20 66 6f 72 77 61 72 64  |le tape, forward|
00000660  20 74 6f 20 66 69 6c 65  20 20 20 20 20 20 22 22  | to file      ""|
00000670  47 61 6d 65 3f 3f 22 22  2c 20 61 6e 64 20 70 72  |Game??"", and pr|
00000680  65 73 73 20 70 6c 61 79  2e 22 0d 05 82 09 2a 54  |ess play."....*T|
00000690  41 50 45 0d 05 8c 0b 2a  46 58 31 31 2c 31 0d 05  |APE....*FX11,1..|
000006a0  96 0d d6 72 65 6c 6f 63  61 74 65 0d ff           |...relocate..|
000006ad
ExileMap/prog.m0
ExileMap/prog.m1
ExileMap/prog.m2
ExileMap/prog.m4
ExileMap/prog.m5