Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape17a_acorn_eu_1990_december.wav » ExilMap

ExilMap

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 tapes » Electron_User » Electron_User_tape17a_acorn_eu_1990_december.wav
Filename: ExilMap
Read OK:
File size: 0748 bytes
Load address: FFFF1A00
Exec address: FFFF8023
Duplicates

There are 3 duplicate copies of this file in the archive:

File contents
    1REM Exile Mapper
    2REM by James Bonfield
    3REM (c) The Micro User
   10ON ERROR MODE7:REPORT:PRINT" at line ";ERL:END 
   20FORPASS=0TO2STEP2
   30P%=&1100
   40[OPTPASS
   50.begin2
   60EOR#&F2
   70ADC&70
   80ADC#&97
   90STA&70
  100.c
  110EOR&3000,Y
  120.d
  130STA&3000,Y
  140EOR&70
  150INY
  160BNEmore2
  170INC&7998
  180INC&799B
  190INCc+2
  200INCd+2
  210PHA
  220PHP
  230LDAc+2
  240CMP#&7F
  250BEQout2
  260PLP
  270PLA
  280RTS
  290.more2
  300JSRbegin2
  310BNEbegin2
  320.start2
  330LDA#&23
  340STA&70
  350LDA#&78
  360LDY#&0
  370SEC
  380SEI
  390JMPbegin2
  400.out2 JMP out6
  410.loadboot
  420EQUS"LO. !BOOT"+CHR$&0D
  430.exile_cheat
  440LDX#loadbootMOD256
  450LDY#loadbootDIV256
  460JSR&FFF7
  470.start
  480LDX#&2C
  490.a
  500LDA&1F10
  510.loop
  520EOR&1F00,X
  530STA&1F00,X
  540INX
  550BNEloop
  560.loop2
  570INC&1F13
  580INCa+1
  590LDA&1F13
  600CMP#&2C
  610BEQloop2
  620CMP#0
  630BNEstart
  640LDA #&60:STA &1FDC:JSR &1F42
  650LDA #&4C:STA &7877
  660LDA #cont MOD 256:STA &7878
  670LDA #cont DIV 256:STA &7879
  680JMP &7800
  690.cont
  700LDX #hacker MOD 256
  710LDY #hacker DIV 256
  720JSR &FFF7
  730JMP start2
  740.out6
  750LDA #&60:STA &758A
  760JSR &74E1
  770JMP start2
  780.out6
  790LDA #&60:STA &758A
  800JSR &74E1
  810LDX #0
  820.mvloop
  830LDA &1300,X:STA &3381,X
  840INX
  850CPX #&58:BNE mvloop
  860JMP &3381
  870.hacker EQUS "*L. EXILEL"+CHR$&0D
  880]
  890NEXT
  900FOR PASS=0 TO 2 STEP 2
  910P%=&3381
  920[OPT PASS
  930JSR &2E52
  940JMPstart
  950.draw
  960JSR&2EEA
  970JSR&2F80 
  980.x
  990LDA #&9B:STA &18
 1000.y
 1010LDA #&3B:STA &1A
 1020JSR&2152
 1030JSR&1DBE
 1040JSR&2445
 1050RTS
 1060.start
 1070JSR draw
 1080.loop
 1090JSR &FFE0
 1100PHA
 1110LDA#15:LDX #0:JSR &FFF4
 1120PLA
 1130CMP #90
 1140BEQ left
 1150CMP #88
 1160BEQ right
 1170CMP #58
 1180BEQ up
 1190CMP #47
 1200BEQ down
 1210JMP loop
 1220.right
 1230INC x+1
 1240JMP start
 1250.left
 1260DEC x+1
 1270JMP start
 1280.up
 1290DEC y+1
 1300JMP start
 1310.down
 1320INC y+1
 1330JMP start
 1340]
 1350NEXT
 1360FOR I=&3381 TO P% STEP 4:!(I-&3381+&1300)=!I:NEXT
 1370MODE 7:PRINT TAB(5,10)CHR$131;"PLEASE INSERT EXILE DISC"
 1380X=GET
 1390CALLexile_cheat
� Exile Mapper
� by James Bonfield
� (c) The Micro User

� � �7:�:�" at line ";�:� 
�PASS=0�2�2
P%=&1100
([OPTPASS
2.begin2
<	�#&F2
F
ADC&70
PADC#&97
Z
STA&70
d.c
n�&3000,Y
x.d
�STA&3000,Y
��&70
�INY
�BNEmore2
�INC&7998
�INC&799B
�
INCc+2
�
INCd+2
�PHA
�PHP
�
LDAc+2
�CMP#&7F
�BEQout2
PLP
PLA
RTS
"
.more2
,
JSRbegin2
6
BNEbegin2
@.start2
JLDA#&23
T
STA&70
^LDA#&78
h
LDY#&0
rSEC
|SEI
�
JMPbegin2
�.out2 JMP out6
�
.loadboot
�EQUS"LO. !BOOT"+�&0D
�.exile_cheat
�LDX#loadboot�256
�LDY#loadboot�256
�JSR&FFF7
�
.start
�LDX#&2C
�.a
�LDA&1F10
�	.loop
�&1F00,X
STA&1F00,X
INX
&BNEloop
0
.loop2
:INC&1F13
D
INCa+1
NLDA&1F13
XCMP#&2C
bBEQloop2
l	CMP#0
vBNEstart
� LDA #&60:STA &1FDC:JSR &1F42
�LDA #&4C:STA &7877
�LDA #cont � 256:STA &7878
�LDA #cont � 256:STA &7879
�
JMP &7800
�	.cont
�LDX #hacker � 256
�LDY #hacker � 256
�
JSR &FFF7
�JMP start2
�	.out6
�LDA #&60:STA &758A
�
JSR &74E1
JMP start2
	.out6
LDA #&60:STA &758A
 
JSR &74E1
*
LDX #0
4.mvloop
>LDA &1300,X:STA &3381,X
HINX
RCPX #&58:BNE mvloop
\
JMP &3381
f".hacker EQUS "*L. EXILEL"+�&0D
p]
z�
�� PASS=0 � 2 � 2
�P%=&3381
�
[OPT PASS
�
JSR &2E52
�JMPstart
�	.draw
�JSR&2EEA
�
JSR&2F80 
�.x
�LDA #&9B:STA &18
�.y
�LDA #&3B:STA &1A
�JSR&2152
JSR&1DBE
JSR&2445
RTS
$
.start
.JSR draw
8	.loop
B
JSR &FFE0
LPHA
VLDA#15:LDX #0:JSR &FFF4
`PLA
jCMP #90
tBEQ left
~CMP #88
�
BEQ right
�CMP #58
�
BEQ up
�CMP #47
�BEQ down
�JMP loop
�
.right
�INC x+1
�
JMP start
�	.left
�DEC x+1
�
JMP start
.up

DEC y+1

JMP start
	.down
(INC y+1
2
JMP start
<]
F�
P,� I=&3381 � P% � 4:!(I-&3381+&1300)=!I:�
Z/� 7:� �5,10)�131;"PLEASE INSERT EXILE DISC"
dX=�
n�exile_cheat
�
00000000  0d 00 01 12 f4 20 45 78  69 6c 65 20 4d 61 70 70  |..... Exile Mapp|
00000010  65 72 0d 00 02 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 03 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 0a 1e ee 20 85  20 eb 37 3a f6 3a f1 22  |r..... . .7:.:."|
00000050  20 61 74 20 6c 69 6e 65  20 22 3b 9e 3a e0 20 0d  | at line ";.:. .|
00000060  00 14 0f e3 50 41 53 53  3d 30 b8 32 88 32 0d 00  |....PASS=0.2.2..|
00000070  1e 0c 50 25 3d 26 31 31  30 30 0d 00 28 0c 5b 4f  |..P%=&1100..(.[O|
00000080  50 54 50 41 53 53 0d 00  32 0b 2e 62 65 67 69 6e  |PTPASS..2..begin|
00000090  32 0d 00 3c 09 82 23 26  46 32 0d 00 46 0a 41 44  |2..<..#&F2..F.AD|
000000a0  43 26 37 30 0d 00 50 0b  41 44 43 23 26 39 37 0d  |C&70..P.ADC#&97.|
000000b0  00 5a 0a 53 54 41 26 37  30 0d 00 64 06 2e 63 0d  |.Z.STA&70..d..c.|
000000c0  00 6e 0c 82 26 33 30 30  30 2c 59 0d 00 78 06 2e  |.n..&3000,Y..x..|
000000d0  64 0d 00 82 0e 53 54 41  26 33 30 30 30 2c 59 0d  |d....STA&3000,Y.|
000000e0  00 8c 08 82 26 37 30 0d  00 96 07 49 4e 59 0d 00  |....&70....INY..|
000000f0  a0 0c 42 4e 45 6d 6f 72  65 32 0d 00 aa 0c 49 4e  |..BNEmore2....IN|
00000100  43 26 37 39 39 38 0d 00  b4 0c 49 4e 43 26 37 39  |C&7998....INC&79|
00000110  39 42 0d 00 be 0a 49 4e  43 63 2b 32 0d 00 c8 0a  |9B....INCc+2....|
00000120  49 4e 43 64 2b 32 0d 00  d2 07 50 48 41 0d 00 dc  |INCd+2....PHA...|
00000130  07 50 48 50 0d 00 e6 0a  4c 44 41 63 2b 32 0d 00  |.PHP....LDAc+2..|
00000140  f0 0b 43 4d 50 23 26 37  46 0d 00 fa 0b 42 45 51  |..CMP#&7F....BEQ|
00000150  6f 75 74 32 0d 01 04 07  50 4c 50 0d 01 0e 07 50  |out2....PLP....P|
00000160  4c 41 0d 01 18 07 52 54  53 0d 01 22 0a 2e 6d 6f  |LA....RTS.."..mo|
00000170  72 65 32 0d 01 2c 0d 4a  53 52 62 65 67 69 6e 32  |re2..,.JSRbegin2|
00000180  0d 01 36 0d 42 4e 45 62  65 67 69 6e 32 0d 01 40  |..6.BNEbegin2..@|
00000190  0b 2e 73 74 61 72 74 32  0d 01 4a 0b 4c 44 41 23  |..start2..J.LDA#|
000001a0  26 32 33 0d 01 54 0a 53  54 41 26 37 30 0d 01 5e  |&23..T.STA&70..^|
000001b0  0b 4c 44 41 23 26 37 38  0d 01 68 0a 4c 44 59 23  |.LDA#&78..h.LDY#|
000001c0  26 30 0d 01 72 07 53 45  43 0d 01 7c 07 53 45 49  |&0..r.SEC..|.SEI|
000001d0  0d 01 86 0d 4a 4d 50 62  65 67 69 6e 32 0d 01 90  |....JMPbegin2...|
000001e0  12 2e 6f 75 74 32 20 4a  4d 50 20 6f 75 74 36 0d  |..out2 JMP out6.|
000001f0  01 9a 0d 2e 6c 6f 61 64  62 6f 6f 74 0d 01 a4 18  |....loadboot....|
00000200  45 51 55 53 22 4c 4f 2e  20 21 42 4f 4f 54 22 2b  |EQUS"LO. !BOOT"+|
00000210  bd 26 30 44 0d 01 ae 10  2e 65 78 69 6c 65 5f 63  |.&0D.....exile_c|
00000220  68 65 61 74 0d 01 b8 14  4c 44 58 23 6c 6f 61 64  |heat....LDX#load|
00000230  62 6f 6f 74 83 32 35 36  0d 01 c2 14 4c 44 59 23  |boot.256....LDY#|
00000240  6c 6f 61 64 62 6f 6f 74  81 32 35 36 0d 01 cc 0c  |loadboot.256....|
00000250  4a 53 52 26 46 46 46 37  0d 01 d6 0a 2e 73 74 61  |JSR&FFF7.....sta|
00000260  72 74 0d 01 e0 0b 4c 44  58 23 26 32 43 0d 01 ea  |rt....LDX#&2C...|
00000270  06 2e 61 0d 01 f4 0c 4c  44 41 26 31 46 31 30 0d  |..a....LDA&1F10.|
00000280  01 fe 09 2e 6c 6f 6f 70  0d 02 08 0c 82 26 31 46  |....loop.....&1F|
00000290  30 30 2c 58 0d 02 12 0e  53 54 41 26 31 46 30 30  |00,X....STA&1F00|
000002a0  2c 58 0d 02 1c 07 49 4e  58 0d 02 26 0b 42 4e 45  |,X....INX..&.BNE|
000002b0  6c 6f 6f 70 0d 02 30 0a  2e 6c 6f 6f 70 32 0d 02  |loop..0..loop2..|
000002c0  3a 0c 49 4e 43 26 31 46  31 33 0d 02 44 0a 49 4e  |:.INC&1F13..D.IN|
000002d0  43 61 2b 31 0d 02 4e 0c  4c 44 41 26 31 46 31 33  |Ca+1..N.LDA&1F13|
000002e0  0d 02 58 0b 43 4d 50 23  26 32 43 0d 02 62 0c 42  |..X.CMP#&2C..b.B|
000002f0  45 51 6c 6f 6f 70 32 0d  02 6c 09 43 4d 50 23 30  |EQloop2..l.CMP#0|
00000300  0d 02 76 0c 42 4e 45 73  74 61 72 74 0d 02 80 20  |..v.BNEstart... |
00000310  4c 44 41 20 23 26 36 30  3a 53 54 41 20 26 31 46  |LDA #&60:STA &1F|
00000320  44 43 3a 4a 53 52 20 26  31 46 34 32 0d 02 8a 16  |DC:JSR &1F42....|
00000330  4c 44 41 20 23 26 34 43  3a 53 54 41 20 26 37 38  |LDA #&4C:STA &78|
00000340  37 37 0d 02 94 1d 4c 44  41 20 23 63 6f 6e 74 20  |77....LDA #cont |
00000350  83 20 32 35 36 3a 53 54  41 20 26 37 38 37 38 0d  |. 256:STA &7878.|
00000360  02 9e 1d 4c 44 41 20 23  63 6f 6e 74 20 81 20 32  |...LDA #cont . 2|
00000370  35 36 3a 53 54 41 20 26  37 38 37 39 0d 02 a8 0d  |56:STA &7879....|
00000380  4a 4d 50 20 26 37 38 30  30 0d 02 b2 09 2e 63 6f  |JMP &7800.....co|
00000390  6e 74 0d 02 bc 15 4c 44  58 20 23 68 61 63 6b 65  |nt....LDX #hacke|
000003a0  72 20 83 20 32 35 36 0d  02 c6 15 4c 44 59 20 23  |r . 256....LDY #|
000003b0  68 61 63 6b 65 72 20 81  20 32 35 36 0d 02 d0 0d  |hacker . 256....|
000003c0  4a 53 52 20 26 46 46 46  37 0d 02 da 0e 4a 4d 50  |JSR &FFF7....JMP|
000003d0  20 73 74 61 72 74 32 0d  02 e4 09 2e 6f 75 74 36  | start2.....out6|
000003e0  0d 02 ee 16 4c 44 41 20  23 26 36 30 3a 53 54 41  |....LDA #&60:STA|
000003f0  20 26 37 35 38 41 0d 02  f8 0d 4a 53 52 20 26 37  | &758A....JSR &7|
00000400  34 45 31 0d 03 02 0e 4a  4d 50 20 73 74 61 72 74  |4E1....JMP start|
00000410  32 0d 03 0c 09 2e 6f 75  74 36 0d 03 16 16 4c 44  |2.....out6....LD|
00000420  41 20 23 26 36 30 3a 53  54 41 20 26 37 35 38 41  |A #&60:STA &758A|
00000430  0d 03 20 0d 4a 53 52 20  26 37 34 45 31 0d 03 2a  |.. .JSR &74E1..*|
00000440  0a 4c 44 58 20 23 30 0d  03 34 0b 2e 6d 76 6c 6f  |.LDX #0..4..mvlo|
00000450  6f 70 0d 03 3e 1b 4c 44  41 20 26 31 33 30 30 2c  |op..>.LDA &1300,|
00000460  58 3a 53 54 41 20 26 33  33 38 31 2c 58 0d 03 48  |X:STA &3381,X..H|
00000470  07 49 4e 58 0d 03 52 17  43 50 58 20 23 26 35 38  |.INX..R.CPX #&58|
00000480  3a 42 4e 45 20 6d 76 6c  6f 6f 70 0d 03 5c 0d 4a  |:BNE mvloop..\.J|
00000490  4d 50 20 26 33 33 38 31  0d 03 66 22 2e 68 61 63  |MP &3381..f".hac|
000004a0  6b 65 72 20 45 51 55 53  20 22 2a 4c 2e 20 45 58  |ker EQUS "*L. EX|
000004b0  49 4c 45 4c 22 2b bd 26  30 44 0d 03 70 05 5d 0d  |ILEL"+.&0D..p.].|
000004c0  03 7a 05 ed 0d 03 84 14  e3 20 50 41 53 53 3d 30  |.z....... PASS=0|
000004d0  20 b8 20 32 20 88 20 32  0d 03 8e 0c 50 25 3d 26  | . 2 . 2....P%=&|
000004e0  33 33 38 31 0d 03 98 0d  5b 4f 50 54 20 50 41 53  |3381....[OPT PAS|
000004f0  53 0d 03 a2 0d 4a 53 52  20 26 32 45 35 32 0d 03  |S....JSR &2E52..|
00000500  ac 0c 4a 4d 50 73 74 61  72 74 0d 03 b6 09 2e 64  |..JMPstart.....d|
00000510  72 61 77 0d 03 c0 0c 4a  53 52 26 32 45 45 41 0d  |raw....JSR&2EEA.|
00000520  03 ca 0d 4a 53 52 26 32  46 38 30 20 0d 03 d4 06  |...JSR&2F80 ....|
00000530  2e 78 0d 03 de 14 4c 44  41 20 23 26 39 42 3a 53  |.x....LDA #&9B:S|
00000540  54 41 20 26 31 38 0d 03  e8 06 2e 79 0d 03 f2 14  |TA &18.....y....|
00000550  4c 44 41 20 23 26 33 42  3a 53 54 41 20 26 31 41  |LDA #&3B:STA &1A|
00000560  0d 03 fc 0c 4a 53 52 26  32 31 35 32 0d 04 06 0c  |....JSR&2152....|
00000570  4a 53 52 26 31 44 42 45  0d 04 10 0c 4a 53 52 26  |JSR&1DBE....JSR&|
00000580  32 34 34 35 0d 04 1a 07  52 54 53 0d 04 24 0a 2e  |2445....RTS..$..|
00000590  73 74 61 72 74 0d 04 2e  0c 4a 53 52 20 64 72 61  |start....JSR dra|
000005a0  77 0d 04 38 09 2e 6c 6f  6f 70 0d 04 42 0d 4a 53  |w..8..loop..B.JS|
000005b0  52 20 26 46 46 45 30 0d  04 4c 07 50 48 41 0d 04  |R &FFE0..L.PHA..|
000005c0  56 1b 4c 44 41 23 31 35  3a 4c 44 58 20 23 30 3a  |V.LDA#15:LDX #0:|
000005d0  4a 53 52 20 26 46 46 46  34 0d 04 60 07 50 4c 41  |JSR &FFF4..`.PLA|
000005e0  0d 04 6a 0b 43 4d 50 20  23 39 30 0d 04 74 0c 42  |..j.CMP #90..t.B|
000005f0  45 51 20 6c 65 66 74 0d  04 7e 0b 43 4d 50 20 23  |EQ left..~.CMP #|
00000600  38 38 0d 04 88 0d 42 45  51 20 72 69 67 68 74 0d  |88....BEQ right.|
00000610  04 92 0b 43 4d 50 20 23  35 38 0d 04 9c 0a 42 45  |...CMP #58....BE|
00000620  51 20 75 70 0d 04 a6 0b  43 4d 50 20 23 34 37 0d  |Q up....CMP #47.|
00000630  04 b0 0c 42 45 51 20 64  6f 77 6e 0d 04 ba 0c 4a  |...BEQ down....J|
00000640  4d 50 20 6c 6f 6f 70 0d  04 c4 0a 2e 72 69 67 68  |MP loop.....righ|
00000650  74 0d 04 ce 0b 49 4e 43  20 78 2b 31 0d 04 d8 0d  |t....INC x+1....|
00000660  4a 4d 50 20 73 74 61 72  74 0d 04 e2 09 2e 6c 65  |JMP start.....le|
00000670  66 74 0d 04 ec 0b 44 45  43 20 78 2b 31 0d 04 f6  |ft....DEC x+1...|
00000680  0d 4a 4d 50 20 73 74 61  72 74 0d 05 00 07 2e 75  |.JMP start.....u|
00000690  70 0d 05 0a 0b 44 45 43  20 79 2b 31 0d 05 14 0d  |p....DEC y+1....|
000006a0  4a 4d 50 20 73 74 61 72  74 0d 05 1e 09 2e 64 6f  |JMP start.....do|
000006b0  77 6e 0d 05 28 0b 49 4e  43 20 79 2b 31 0d 05 32  |wn..(.INC y+1..2|
000006c0  0d 4a 4d 50 20 73 74 61  72 74 0d 05 3c 05 5d 0d  |.JMP start..<.].|
000006d0  05 46 05 ed 0d 05 50 2c  e3 20 49 3d 26 33 33 38  |.F....P,. I=&338|
000006e0  31 20 b8 20 50 25 20 88  20 34 3a 21 28 49 2d 26  |1 . P% . 4:!(I-&|
000006f0  33 33 38 31 2b 26 31 33  30 30 29 3d 21 49 3a ed  |3381+&1300)=!I:.|
00000700  0d 05 5a 2f eb 20 37 3a  f1 20 8a 35 2c 31 30 29  |..Z/. 7:. .5,10)|
00000710  bd 31 33 31 3b 22 50 4c  45 41 53 45 20 49 4e 53  |.131;"PLEASE INS|
00000720  45 52 54 20 45 58 49 4c  45 20 44 49 53 43 22 0d  |ERT EXILE DISC".|
00000730  05 64 07 58 3d a5 0d 05  6e 10 d6 65 78 69 6c 65  |.d.X=...n..exile|
00000740  5f 63 68 65 61 74 0d ff                           |_cheat..|
00000748
ExilMap.m0
ExilMap.m1
ExilMap.m2
ExilMap.m4
ExilMap.m5