Home » Personal collection » Acorn tapes » Commercial_Releases » box02_tape07b_acorn_eu_arcade_game_creator.wav » 5_PROG1

5_PROG1

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 » Commercial_Releases » box02_tape07b_acorn_eu_arcade_game_creator.wav
Filename: 5_PROG1
Read OK:
File size: 0E71 bytes
Load address: 2000
Exec address: 1900
Duplicates

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

File contents
   10REM Scrolling Map
   20REM By R.A.Waddilove
   30REM (c) Electron User
   40PROCassemble:*FX16
   50MODE 5:VDU23,1,0;0;0;0;
   60PRINT TAB(3,3)"Press A Z < >"
   70VDU 28,4,25,15,9:COLOUR 131:CLS
   80VDU 26:COLOUR 128
   90!pos=&5800+5*16+10*&140
  100CALL &900
  110END
  120 
  130DEF PROCassemble
  140index=&50
  150tindex=&51
  160addr=&52
  170xcount=&54
  180ycount=&55
  190new=&56
  200xcoord=&58:ycoord=&59
  210temp=&5A
  220pos=&5C
  230FOR pass=0 TO 2 STEP 2
  240P%=&900
  250[ OPT pass
  260LDX #0:STX xcoord
  270LDY #0:STY ycoord
  280.main
  290SEI:JSR drawmap:CLI
  300JSR &FFE0:BCS esc
  310JSR move
  320JMP main
  330.esc
  340RTS
  350 
  360.move
  370CMP #ASC"A":BNE down
  380LDA ycoord:BEQ end_move
  390DEC ycoord:RTS
  400.down
  410CMP #ASC"Z":BNE left
  420LDA ycoord:CMP #11:BEQ end_move
  430INC ycoord:RTS
  440.left
  450CMP #ASC",":BNE right
  460LDA xcoord:BEQ end_move
  470DEC xcoord:RTS
  480.right
  490CMP #ASC".":BNE end_move
  500LDA xcoord:CMP #11:BEQ end_move
  510INC xcoord
  520.end_move
  530RTS
  540 
  550.drawmap
  560LDA ycoord
  570ASL A:ASL A:ASL A:ASL A  \y*16
  580ADC xcoord
  590STA index     \top left corner of map
  600LDA pos:STA addr:LDA pos+1:STA addr+1
  610LDY #5:STY ycount
  620.yloop
  630LDA addr:STA temp:LDA addr+1:STA temp+1
  640LDA index:STA tindex  \save index
  650LDA #5:STA xcount
  660.xloop
  670LDA addr:STA new:LDA addr+1:STA new+1
  680LDY index
  690INC index
  700LDA scr,Y             \get map byte
  710JSR print
  720LDA addr:ADC #4*8:STA addr
  730LDA addr+1:ADC #0:STA addr+1
  740DEC xcount:BNE xloop
  750LDA temp:ADC #(3*&140)MOD256:STA addr
  760LDA temp+1:ADC #(3*&140)DIV256:STA addr+1
  770LDA tindex:ADC #16:STA index
  780DEC ycount:BNE yloop
  790CLI
  800RTS
  810 
  820.mult
  830EQUW 0
  840EQUW 1*96
  850EQUW 2*96
  860EQUW 3*96
  870EQUW 4*96
  880EQUW 5*96
  890EQUW 6*96
  900EQUW 7*96
  910EQUW 8*96
  920EQUW 9*96
  930EQUW 10*96
  940EQUW 11*96
  950EQUW 12*96
  960EQUW 13*96
  970EQUW 14*96
  980EQUW 15*96
  990 
 1000.print
 1010ASL A:TAY             \sprite*2
 1020LDA mult,Y
 1030ADC #sprites MOD256    \set data
 1040STA ploop+1
 1050LDA mult+1,Y
 1060ADC #sprites DIV256
 1070STA ploop+2
 1080LDX #3
 1090.ploop1
 1100LDY #31
 1110.ploop
 1120LDA &3000,Y:STA (new),Y
 1130DEY:BPL ploop
 1140CLC
 1150LDA new:ADC #&40:STA new
 1160LDA new+1:ADC #&1:STA new+1
 1170LDA ploop+1:ADC #32:STA ploop+1
 1180LDA ploop+2:ADC #0:STA ploop+2
 1190.p1
 1200DEX:BNE ploop1
 1210RTS
 1220 
 1230OPT FNscrdata
 1240 
 1250.sprites
 1260EQUS STRING$(96,CHR$0)
 1270OPT FNsprdata
 1280 
 1290]
 1300NEXT
 1310ENDPROC
 1320 
 1330DEF FNsprdata
 1340RESTORE 1410
 1350FOR I%=0 TO 4*4*24-1 STEP 4
 1360READ a$
 1370[ OPT pass
 1380EQUD EVAL("&"+a$)
 1390]
 1400NEXT
 1410=pass
 1420REM Brick
 1430DATA 2D2D2D2D,F02D2D2D,F0F0F0F,F00F0F0F,2D2D2D2D,F02D2D2D,F0F0F0F,F00F0F0F,F0F0F0F,F00F0F0F,4B4B4B4B,F04B4B4B,F0F0F0F,F00F0F0F,4B4B4B4B,F04B4B4B,2D2D2D2D,F02D2D2D,F0F0F0F,F00F0F0F,2D2D2D2D,F02D2D2D,F0F0F0F,F00F0F0F
 1440REM Pillar bottom
 1450DATA 0,0,FAFCFCF8,F8FCFCF8,F0F0F0F0,F0F0F0F0,0,0,0,0,FCF8F8FA,FCFCF8FA,F0F0F0F0,F0F0F0F0,0,0,0,33331111,F8FAF8,F8F0F8F0,F0F0F0,F0F0F0F0,0,C0C08080
 1460REM Pillar top
 1470DATA 11113333,0,F0F0F8F0,FAFCF800,F0F0F0F0,F0F0F000,8080C0C0,0,0,0,F8FCFCF8,FCFCF8FA,F0F0F0F0,F0F0F0F0,0,0,0,0,F8FCF8FA,F8F8FAF8,F0F0F0F0,F0F0F0F0,0,0
 1480REM Stone
 1490DATA 2D162503,2D5A2D5A,A55AA50F,A55AA55A,A55AA50F,A55AA55A,864A8608,A54BA54B,2D5A2D5A,2D5A2D5A,A55AA55A,A55AA55A,A55AA55A,A55AA55A,A54BA54B,A54BA54B,255A2D5A,1122516,A55AA55A,F5AA55A,A55AA55A,F5AA55A,A54BA54B,80C864A
 1500 
 1510DEF FNscrdata
 1520RESTORE 1630
 1530scr=P%
 1540FOR Y%=1 TO 16
 1550READ a$
 1560FOR X%=1 TO 16
 1570[ OPT pass
 1580EQUB EVAL(LEFT$(a$,1))
 1590]
 1600a$=MID$(a$,2)
 1610NEXT
 1620NEXT
 1630=pass
 1640 
 1650REM Screen 1
 1660DATA 1111111111111111
 1670DATA 1000000000000001
 1680DATA 1044440440444401
 1690DATA 1040040040000401
 1700DATA 1040030440400401
 1710DATA 1000020040400401
 1720DATA 1044440440444401
 1730DATA 1000000400400001
 1740DATA 1044444444404441
 1750DATA 1000000040004001
 1760DATA 1444404444404401
 1770DATA 1000000000000401
 1780DATA 1044404444440401
 1790DATA 1040300004030001
 1800DATA 1000200400020401
 1810DATA 1111111111111111

� Scrolling Map
� By R.A.Waddilove
� (c) Electron User
(�assemble:*FX16
2� 5:�23,1,0;0;0;0;
<� �3,3)"Press A Z < >"
F� 28,4,25,15,9:� 131:�
P� 26:� 128
Z!pos=&5800+5*16+10*&140
d
� &900
n�
x 
�� �assemble
�
index=&50
�tindex=&51
�addr=&52
�xcount=&54
�ycount=&55
�new=&56
�xcoord=&58:ycoord=&59
�temp=&5A
�pos=&5C
�� pass=0 � 2 � 2
�P%=&900
�[ OPT pass
LDX #0:STX xcoord
LDY #0:STY ycoord
	.main
"SEI:JSR drawmap:CLI
,JSR &FFE0:BCS esc
6JSR move
@JMP main
J.esc
TRTS
^ 
h	.move
rCMP #�"A":BNE down
|LDA ycoord:BEQ end_move
�DEC ycoord:RTS
�	.down
�CMP #�"Z":BNE left
�#LDA ycoord:CMP #11:BEQ end_move
�INC ycoord:RTS
�	.left
�CMP #�",":BNE right
�LDA xcoord:BEQ end_move
�DEC xcoord:RTS
�
.right
�CMP #�".":BNE end_move
�#LDA xcoord:CMP #11:BEQ end_move
�INC xcoord

.end_move
RTS
 
&.drawmap
0LDA ycoord
:"ASL A:ASL A:ASL A:ASL A  \y*16
DADC xcoord
N)STA index     \top left corner of map
X)LDA pos:STA addr:LDA pos+1:STA addr+1
bLDY #5:STY ycount
l
.yloop
v+LDA addr:STA temp:LDA addr+1:STA temp+1
�%LDA index:STA tindex  \save index
�LDA #5:STA xcount
�
.xloop
�)LDA addr:STA new:LDA addr+1:STA new+1
�
LDY index
�
INC index
�'LDA scr,Y             \get map byte
�
JSR print
�LDA addr:ADC #4*8:STA addr
� LDA addr+1:ADC #0:STA addr+1
�DEC xcount:BNE xloop
�'LDA temp:ADC #(3*&140)�256:STA addr
�+LDA temp+1:ADC #(3*&140)�256:STA addr+1
 LDA tindex:ADC #16:STA index
DEC ycount:BNE yloop
CLI
 RTS
* 
4	.mult
>
EQUW 0
H
EQUW 1*96
R
EQUW 2*96
\
EQUW 3*96
f
EQUW 4*96
p
EQUW 5*96
z
EQUW 6*96
�
EQUW 7*96
�
EQUW 8*96
�
EQUW 9*96
�EQUW 10*96
�EQUW 11*96
�EQUW 12*96
�EQUW 13*96
�EQUW 14*96
�EQUW 15*96
� 
�
.print
�#ASL A:TAY             \sprite*2
�LDA mult,Y
"ADC #sprites �256    \set data
STA ploop+1
LDA mult+1,Y
$ADC #sprites �256
.STA ploop+2
8
LDX #3
B.ploop1
LLDY #31
V
.ploop
`LDA &3000,Y:STA (new),Y
jDEY:BPL ploop
tCLC
~LDA new:ADC #&40:STA new
�LDA new+1:ADC #&1:STA new+1
�#LDA ploop+1:ADC #32:STA ploop+1
�"LDA ploop+2:ADC #0:STA ploop+2
�.p1
�DEX:BNE ploop1
�RTS
� 
�OPT �scrdata
� 
�.sprites
�EQUS �96,�0)
�OPT �sprdata
 

]
�
�
( 
2� �sprdata
<
� �tBE
F� I%=0 � 4*4*24-1 � 4
P� a$
Z[ OPT pass
dEQUD �("&"+a$)
n]
x�
�	=pass
�� Brick
��� 2D2D2D2D,F02D2D2D,F0F0F0F,F00F0F0F,2D2D2D2D,F02D2D2D,F0F0F0F,F00F0F0F,F0F0F0F,F00F0F0F,4B4B4B4B,F04B4B4B,F0F0F0F,F00F0F0F,4B4B4B4B,F04B4B4B,2D2D2D2D,F02D2D2D,F0F0F0F,F00F0F0F,2D2D2D2D,F02D2D2D,F0F0F0F,F00F0F0F
�� Pillar bottom
��� 0,0,FAFCFCF8,F8FCFCF8,F0F0F0F0,F0F0F0F0,0,0,0,0,FCF8F8FA,FCFCF8FA,F0F0F0F0,F0F0F0F0,0,0,0,33331111,F8FAF8,F8F0F8F0,F0F0F0,F0F0F0F0,0,C0C08080
�� Pillar top
��� 11113333,0,F0F0F8F0,FAFCF800,F0F0F0F0,F0F0F000,8080C0C0,0,0,0,F8FCFCF8,FCFCF8FA,F0F0F0F0,F0F0F0F0,0,0,0,0,F8FCF8FA,F8F8FAF8,F0F0F0F0,F0F0F0F0,0,0
�� Stone
��� 2D162503,2D5A2D5A,A55AA50F,A55AA55A,A55AA50F,A55AA55A,864A8608,A54BA54B,2D5A2D5A,2D5A2D5A,A55AA55A,A55AA55A,A55AA55A,A55AA55A,A54BA54B,A54BA54B,255A2D5A,1122516,A55AA55A,F5AA55A,A55AA55A,F5AA55A,A54BA54B,80C864A
� 
�� �scrdata
�
� �D^F
�
scr=P%
� Y%=1 � 16
� a$
� X%=1 � 16
"[ OPT pass
,EQUB �(�a$,1))
6]
@
a$=�a$,2)
J�
T�
^	=pass
h 
r� Screen 1
|� 1111111111111111
�� 1000000000000001
�� 1044440440444401
�� 1040040040000401
�� 1040030440400401
�� 1000020040400401
�� 1044440440444401
�� 1000000400400001
�� 1044444444404441
�� 1000000040004001
�� 1444404444404401
�� 1000000000000401
�� 1044404444440401
�� 1040300004030001
� 1000200400020401
� 1111111111111111
�
00000000  0d 00 0a 13 f4 20 53 63  72 6f 6c 6c 69 6e 67 20  |..... Scrolling |
00000010  4d 61 70 0d 00 14 16 f4  20 42 79 20 52 2e 41 2e  |Map..... By R.A.|
00000020  57 61 64 64 69 6c 6f 76  65 0d 00 1e 17 f4 20 28  |Waddilove..... (|
00000030  63 29 20 45 6c 65 63 74  72 6f 6e 20 55 73 65 72  |c) Electron User|
00000040  0d 00 28 13 f2 61 73 73  65 6d 62 6c 65 3a 2a 46  |..(..assemble:*F|
00000050  58 31 36 0d 00 32 16 eb  20 35 3a ef 32 33 2c 31  |X16..2.. 5:.23,1|
00000060  2c 30 3b 30 3b 30 3b 30  3b 0d 00 3c 1a f1 20 8a  |,0;0;0;0;..<.. .|
00000070  33 2c 33 29 22 50 72 65  73 73 20 41 20 5a 20 3c  |3,3)"Press A Z <|
00000080  20 3e 22 0d 00 46 1a ef  20 32 38 2c 34 2c 32 35  | >"..F.. 28,4,25|
00000090  2c 31 35 2c 39 3a fb 20  31 33 31 3a db 0d 00 50  |,15,9:. 131:...P|
000000a0  0e ef 20 32 36 3a fb 20  31 32 38 0d 00 5a 1b 21  |.. 26:. 128..Z.!|
000000b0  70 6f 73 3d 26 35 38 30  30 2b 35 2a 31 36 2b 31  |pos=&5800+5*16+1|
000000c0  30 2a 26 31 34 30 0d 00  64 0a d6 20 26 39 30 30  |0*&140..d.. &900|
000000d0  0d 00 6e 05 e0 0d 00 78  05 20 0d 00 82 0f dd 20  |..n....x. ..... |
000000e0  f2 61 73 73 65 6d 62 6c  65 0d 00 8c 0d 69 6e 64  |.assemble....ind|
000000f0  65 78 3d 26 35 30 0d 00  96 0e 74 69 6e 64 65 78  |ex=&50....tindex|
00000100  3d 26 35 31 0d 00 a0 0c  61 64 64 72 3d 26 35 32  |=&51....addr=&52|
00000110  0d 00 aa 0e 78 63 6f 75  6e 74 3d 26 35 34 0d 00  |....xcount=&54..|
00000120  b4 0e 79 63 6f 75 6e 74  3d 26 35 35 0d 00 be 0b  |..ycount=&55....|
00000130  6e 65 77 3d 26 35 36 0d  00 c8 19 78 63 6f 6f 72  |new=&56....xcoor|
00000140  64 3d 26 35 38 3a 79 63  6f 6f 72 64 3d 26 35 39  |d=&58:ycoord=&59|
00000150  0d 00 d2 0c 74 65 6d 70  3d 26 35 41 0d 00 dc 0b  |....temp=&5A....|
00000160  70 6f 73 3d 26 35 43 0d  00 e6 14 e3 20 70 61 73  |pos=&5C..... pas|
00000170  73 3d 30 20 b8 20 32 20  88 20 32 0d 00 f0 0b 50  |s=0 . 2 . 2....P|
00000180  25 3d 26 39 30 30 0d 00  fa 0e 5b 20 4f 50 54 20  |%=&900....[ OPT |
00000190  70 61 73 73 0d 01 04 15  4c 44 58 20 23 30 3a 53  |pass....LDX #0:S|
000001a0  54 58 20 78 63 6f 6f 72  64 0d 01 0e 15 4c 44 59  |TX xcoord....LDY|
000001b0  20 23 30 3a 53 54 59 20  79 63 6f 6f 72 64 0d 01  | #0:STY ycoord..|
000001c0  18 09 2e 6d 61 69 6e 0d  01 22 17 53 45 49 3a 4a  |...main..".SEI:J|
000001d0  53 52 20 64 72 61 77 6d  61 70 3a 43 4c 49 0d 01  |SR drawmap:CLI..|
000001e0  2c 15 4a 53 52 20 26 46  46 45 30 3a 42 43 53 20  |,.JSR &FFE0:BCS |
000001f0  65 73 63 0d 01 36 0c 4a  53 52 20 6d 6f 76 65 0d  |esc..6.JSR move.|
00000200  01 40 0c 4a 4d 50 20 6d  61 69 6e 0d 01 4a 08 2e  |.@.JMP main..J..|
00000210  65 73 63 0d 01 54 07 52  54 53 0d 01 5e 05 20 0d  |esc..T.RTS..^. .|
00000220  01 68 09 2e 6d 6f 76 65  0d 01 72 16 43 4d 50 20  |.h..move..r.CMP |
00000230  23 97 22 41 22 3a 42 4e  45 20 64 6f 77 6e 0d 01  |#."A":BNE down..|
00000240  7c 1b 4c 44 41 20 79 63  6f 6f 72 64 3a 42 45 51  ||.LDA ycoord:BEQ|
00000250  20 65 6e 64 5f 6d 6f 76  65 0d 01 86 12 44 45 43  | end_move....DEC|
00000260  20 79 63 6f 6f 72 64 3a  52 54 53 0d 01 90 09 2e  | ycoord:RTS.....|
00000270  64 6f 77 6e 0d 01 9a 16  43 4d 50 20 23 97 22 5a  |down....CMP #."Z|
00000280  22 3a 42 4e 45 20 6c 65  66 74 0d 01 a4 23 4c 44  |":BNE left...#LD|
00000290  41 20 79 63 6f 6f 72 64  3a 43 4d 50 20 23 31 31  |A ycoord:CMP #11|
000002a0  3a 42 45 51 20 65 6e 64  5f 6d 6f 76 65 0d 01 ae  |:BEQ end_move...|
000002b0  12 49 4e 43 20 79 63 6f  6f 72 64 3a 52 54 53 0d  |.INC ycoord:RTS.|
000002c0  01 b8 09 2e 6c 65 66 74  0d 01 c2 17 43 4d 50 20  |....left....CMP |
000002d0  23 97 22 2c 22 3a 42 4e  45 20 72 69 67 68 74 0d  |#.",":BNE right.|
000002e0  01 cc 1b 4c 44 41 20 78  63 6f 6f 72 64 3a 42 45  |...LDA xcoord:BE|
000002f0  51 20 65 6e 64 5f 6d 6f  76 65 0d 01 d6 12 44 45  |Q end_move....DE|
00000300  43 20 78 63 6f 6f 72 64  3a 52 54 53 0d 01 e0 0a  |C xcoord:RTS....|
00000310  2e 72 69 67 68 74 0d 01  ea 1a 43 4d 50 20 23 97  |.right....CMP #.|
00000320  22 2e 22 3a 42 4e 45 20  65 6e 64 5f 6d 6f 76 65  |".":BNE end_move|
00000330  0d 01 f4 23 4c 44 41 20  78 63 6f 6f 72 64 3a 43  |...#LDA xcoord:C|
00000340  4d 50 20 23 31 31 3a 42  45 51 20 65 6e 64 5f 6d  |MP #11:BEQ end_m|
00000350  6f 76 65 0d 01 fe 0e 49  4e 43 20 78 63 6f 6f 72  |ove....INC xcoor|
00000360  64 0d 02 08 0d 2e 65 6e  64 5f 6d 6f 76 65 0d 02  |d.....end_move..|
00000370  12 07 52 54 53 0d 02 1c  05 20 0d 02 26 0c 2e 64  |..RTS.... ..&..d|
00000380  72 61 77 6d 61 70 0d 02  30 0e 4c 44 41 20 79 63  |rawmap..0.LDA yc|
00000390  6f 6f 72 64 0d 02 3a 22  41 53 4c 20 41 3a 41 53  |oord..:"ASL A:AS|
000003a0  4c 20 41 3a 41 53 4c 20  41 3a 41 53 4c 20 41 20  |L A:ASL A:ASL A |
000003b0  20 5c 79 2a 31 36 0d 02  44 0e 41 44 43 20 78 63  | \y*16..D.ADC xc|
000003c0  6f 6f 72 64 0d 02 4e 29  53 54 41 20 69 6e 64 65  |oord..N)STA inde|
000003d0  78 20 20 20 20 20 5c 74  6f 70 20 6c 65 66 74 20  |x     \top left |
000003e0  63 6f 72 6e 65 72 20 6f  66 20 6d 61 70 0d 02 58  |corner of map..X|
000003f0  29 4c 44 41 20 70 6f 73  3a 53 54 41 20 61 64 64  |)LDA pos:STA add|
00000400  72 3a 4c 44 41 20 70 6f  73 2b 31 3a 53 54 41 20  |r:LDA pos+1:STA |
00000410  61 64 64 72 2b 31 0d 02  62 15 4c 44 59 20 23 35  |addr+1..b.LDY #5|
00000420  3a 53 54 59 20 79 63 6f  75 6e 74 0d 02 6c 0a 2e  |:STY ycount..l..|
00000430  79 6c 6f 6f 70 0d 02 76  2b 4c 44 41 20 61 64 64  |yloop..v+LDA add|
00000440  72 3a 53 54 41 20 74 65  6d 70 3a 4c 44 41 20 61  |r:STA temp:LDA a|
00000450  64 64 72 2b 31 3a 53 54  41 20 74 65 6d 70 2b 31  |ddr+1:STA temp+1|
00000460  0d 02 80 25 4c 44 41 20  69 6e 64 65 78 3a 53 54  |...%LDA index:ST|
00000470  41 20 74 69 6e 64 65 78  20 20 5c 73 61 76 65 20  |A tindex  \save |
00000480  69 6e 64 65 78 0d 02 8a  15 4c 44 41 20 23 35 3a  |index....LDA #5:|
00000490  53 54 41 20 78 63 6f 75  6e 74 0d 02 94 0a 2e 78  |STA xcount.....x|
000004a0  6c 6f 6f 70 0d 02 9e 29  4c 44 41 20 61 64 64 72  |loop...)LDA addr|
000004b0  3a 53 54 41 20 6e 65 77  3a 4c 44 41 20 61 64 64  |:STA new:LDA add|
000004c0  72 2b 31 3a 53 54 41 20  6e 65 77 2b 31 0d 02 a8  |r+1:STA new+1...|
000004d0  0d 4c 44 59 20 69 6e 64  65 78 0d 02 b2 0d 49 4e  |.LDY index....IN|
000004e0  43 20 69 6e 64 65 78 0d  02 bc 27 4c 44 41 20 73  |C index...'LDA s|
000004f0  63 72 2c 59 20 20 20 20  20 20 20 20 20 20 20 20  |cr,Y            |
00000500  20 5c 67 65 74 20 6d 61  70 20 62 79 74 65 0d 02  | \get map byte..|
00000510  c6 0d 4a 53 52 20 70 72  69 6e 74 0d 02 d0 1e 4c  |..JSR print....L|
00000520  44 41 20 61 64 64 72 3a  41 44 43 20 23 34 2a 38  |DA addr:ADC #4*8|
00000530  3a 53 54 41 20 61 64 64  72 0d 02 da 20 4c 44 41  |:STA addr... LDA|
00000540  20 61 64 64 72 2b 31 3a  41 44 43 20 23 30 3a 53  | addr+1:ADC #0:S|
00000550  54 41 20 61 64 64 72 2b  31 0d 02 e4 18 44 45 43  |TA addr+1....DEC|
00000560  20 78 63 6f 75 6e 74 3a  42 4e 45 20 78 6c 6f 6f  | xcount:BNE xloo|
00000570  70 0d 02 ee 27 4c 44 41  20 74 65 6d 70 3a 41 44  |p...'LDA temp:AD|
00000580  43 20 23 28 33 2a 26 31  34 30 29 83 32 35 36 3a  |C #(3*&140).256:|
00000590  53 54 41 20 61 64 64 72  0d 02 f8 2b 4c 44 41 20  |STA addr...+LDA |
000005a0  74 65 6d 70 2b 31 3a 41  44 43 20 23 28 33 2a 26  |temp+1:ADC #(3*&|
000005b0  31 34 30 29 81 32 35 36  3a 53 54 41 20 61 64 64  |140).256:STA add|
000005c0  72 2b 31 0d 03 02 20 4c  44 41 20 74 69 6e 64 65  |r+1... LDA tinde|
000005d0  78 3a 41 44 43 20 23 31  36 3a 53 54 41 20 69 6e  |x:ADC #16:STA in|
000005e0  64 65 78 0d 03 0c 18 44  45 43 20 79 63 6f 75 6e  |dex....DEC ycoun|
000005f0  74 3a 42 4e 45 20 79 6c  6f 6f 70 0d 03 16 07 43  |t:BNE yloop....C|
00000600  4c 49 0d 03 20 07 52 54  53 0d 03 2a 05 20 0d 03  |LI.. .RTS..*. ..|
00000610  34 09 2e 6d 75 6c 74 0d  03 3e 0a 45 51 55 57 20  |4..mult..>.EQUW |
00000620  30 0d 03 48 0d 45 51 55  57 20 31 2a 39 36 0d 03  |0..H.EQUW 1*96..|
00000630  52 0d 45 51 55 57 20 32  2a 39 36 0d 03 5c 0d 45  |R.EQUW 2*96..\.E|
00000640  51 55 57 20 33 2a 39 36  0d 03 66 0d 45 51 55 57  |QUW 3*96..f.EQUW|
00000650  20 34 2a 39 36 0d 03 70  0d 45 51 55 57 20 35 2a  | 4*96..p.EQUW 5*|
00000660  39 36 0d 03 7a 0d 45 51  55 57 20 36 2a 39 36 0d  |96..z.EQUW 6*96.|
00000670  03 84 0d 45 51 55 57 20  37 2a 39 36 0d 03 8e 0d  |...EQUW 7*96....|
00000680  45 51 55 57 20 38 2a 39  36 0d 03 98 0d 45 51 55  |EQUW 8*96....EQU|
00000690  57 20 39 2a 39 36 0d 03  a2 0e 45 51 55 57 20 31  |W 9*96....EQUW 1|
000006a0  30 2a 39 36 0d 03 ac 0e  45 51 55 57 20 31 31 2a  |0*96....EQUW 11*|
000006b0  39 36 0d 03 b6 0e 45 51  55 57 20 31 32 2a 39 36  |96....EQUW 12*96|
000006c0  0d 03 c0 0e 45 51 55 57  20 31 33 2a 39 36 0d 03  |....EQUW 13*96..|
000006d0  ca 0e 45 51 55 57 20 31  34 2a 39 36 0d 03 d4 0e  |..EQUW 14*96....|
000006e0  45 51 55 57 20 31 35 2a  39 36 0d 03 de 05 20 0d  |EQUW 15*96.... .|
000006f0  03 e8 0a 2e 70 72 69 6e  74 0d 03 f2 23 41 53 4c  |....print...#ASL|
00000700  20 41 3a 54 41 59 20 20  20 20 20 20 20 20 20 20  | A:TAY          |
00000710  20 20 20 5c 73 70 72 69  74 65 2a 32 0d 03 fc 0e  |   \sprite*2....|
00000720  4c 44 41 20 6d 75 6c 74  2c 59 0d 04 06 22 41 44  |LDA mult,Y..."AD|
00000730  43 20 23 73 70 72 69 74  65 73 20 83 32 35 36 20  |C #sprites .256 |
00000740  20 20 20 5c 73 65 74 20  64 61 74 61 0d 04 10 0f  |   \set data....|
00000750  53 54 41 20 70 6c 6f 6f  70 2b 31 0d 04 1a 10 4c  |STA ploop+1....L|
00000760  44 41 20 6d 75 6c 74 2b  31 2c 59 0d 04 24 15 41  |DA mult+1,Y..$.A|
00000770  44 43 20 23 73 70 72 69  74 65 73 20 81 32 35 36  |DC #sprites .256|
00000780  0d 04 2e 0f 53 54 41 20  70 6c 6f 6f 70 2b 32 0d  |....STA ploop+2.|
00000790  04 38 0a 4c 44 58 20 23  33 0d 04 42 0b 2e 70 6c  |.8.LDX #3..B..pl|
000007a0  6f 6f 70 31 0d 04 4c 0b  4c 44 59 20 23 33 31 0d  |oop1..L.LDY #31.|
000007b0  04 56 0a 2e 70 6c 6f 6f  70 0d 04 60 1b 4c 44 41  |.V..ploop..`.LDA|
000007c0  20 26 33 30 30 30 2c 59  3a 53 54 41 20 28 6e 65  | &3000,Y:STA (ne|
000007d0  77 29 2c 59 0d 04 6a 11  44 45 59 3a 42 50 4c 20  |w),Y..j.DEY:BPL |
000007e0  70 6c 6f 6f 70 0d 04 74  07 43 4c 43 0d 04 7e 1c  |ploop..t.CLC..~.|
000007f0  4c 44 41 20 6e 65 77 3a  41 44 43 20 23 26 34 30  |LDA new:ADC #&40|
00000800  3a 53 54 41 20 6e 65 77  0d 04 88 1f 4c 44 41 20  |:STA new....LDA |
00000810  6e 65 77 2b 31 3a 41 44  43 20 23 26 31 3a 53 54  |new+1:ADC #&1:ST|
00000820  41 20 6e 65 77 2b 31 0d  04 92 23 4c 44 41 20 70  |A new+1...#LDA p|
00000830  6c 6f 6f 70 2b 31 3a 41  44 43 20 23 33 32 3a 53  |loop+1:ADC #32:S|
00000840  54 41 20 70 6c 6f 6f 70  2b 31 0d 04 9c 22 4c 44  |TA ploop+1..."LD|
00000850  41 20 70 6c 6f 6f 70 2b  32 3a 41 44 43 20 23 30  |A ploop+2:ADC #0|
00000860  3a 53 54 41 20 70 6c 6f  6f 70 2b 32 0d 04 a6 07  |:STA ploop+2....|
00000870  2e 70 31 0d 04 b0 12 44  45 58 3a 42 4e 45 20 70  |.p1....DEX:BNE p|
00000880  6c 6f 6f 70 31 0d 04 ba  07 52 54 53 0d 04 c4 05  |loop1....RTS....|
00000890  20 0d 04 ce 10 4f 50 54  20 a4 73 63 72 64 61 74  | ....OPT .scrdat|
000008a0  61 0d 04 d8 05 20 0d 04  e2 0c 2e 73 70 72 69 74  |a.... .....sprit|
000008b0  65 73 0d 04 ec 10 45 51  55 53 20 c4 39 36 2c bd  |es....EQUS .96,.|
000008c0  30 29 0d 04 f6 10 4f 50  54 20 a4 73 70 72 64 61  |0)....OPT .sprda|
000008d0  74 61 0d 05 00 05 20 0d  05 0a 05 5d 0d 05 14 05  |ta.... ....]....|
000008e0  ed 0d 05 1e 05 e1 0d 05  28 05 20 0d 05 32 0e dd  |........(. ..2..|
000008f0  20 a4 73 70 72 64 61 74  61 0d 05 3c 0a f7 20 8d  | .sprdata..<.. .|
00000900  74 42 45 0d 05 46 19 e3  20 49 25 3d 30 20 b8 20  |tBE..F.. I%=0 . |
00000910  34 2a 34 2a 32 34 2d 31  20 88 20 34 0d 05 50 08  |4*4*24-1 . 4..P.|
00000920  f3 20 61 24 0d 05 5a 0e  5b 20 4f 50 54 20 70 61  |. a$..Z.[ OPT pa|
00000930  73 73 0d 05 64 12 45 51  55 44 20 a0 28 22 26 22  |ss..d.EQUD .("&"|
00000940  2b 61 24 29 0d 05 6e 05  5d 0d 05 78 05 ed 0d 05  |+a$)..n.]..x....|
00000950  82 09 3d 70 61 73 73 0d  05 8c 0b f4 20 42 72 69  |..=pass..... Bri|
00000960  63 6b 0d 05 96 d7 dc 20  32 44 32 44 32 44 32 44  |ck..... 2D2D2D2D|
00000970  2c 46 30 32 44 32 44 32  44 2c 46 30 46 30 46 30  |,F02D2D2D,F0F0F0|
00000980  46 2c 46 30 30 46 30 46  30 46 2c 32 44 32 44 32  |F,F00F0F0F,2D2D2|
00000990  44 32 44 2c 46 30 32 44  32 44 32 44 2c 46 30 46  |D2D,F02D2D2D,F0F|
000009a0  30 46 30 46 2c 46 30 30  46 30 46 30 46 2c 46 30  |0F0F,F00F0F0F,F0|
000009b0  46 30 46 30 46 2c 46 30  30 46 30 46 30 46 2c 34  |F0F0F,F00F0F0F,4|
000009c0  42 34 42 34 42 34 42 2c  46 30 34 42 34 42 34 42  |B4B4B4B,F04B4B4B|
000009d0  2c 46 30 46 30 46 30 46  2c 46 30 30 46 30 46 30  |,F0F0F0F,F00F0F0|
000009e0  46 2c 34 42 34 42 34 42  34 42 2c 46 30 34 42 34  |F,4B4B4B4B,F04B4|
000009f0  42 34 42 2c 32 44 32 44  32 44 32 44 2c 46 30 32  |B4B,2D2D2D2D,F02|
00000a00  44 32 44 32 44 2c 46 30  46 30 46 30 46 2c 46 30  |D2D2D,F0F0F0F,F0|
00000a10  30 46 30 46 30 46 2c 32  44 32 44 32 44 32 44 2c  |0F0F0F,2D2D2D2D,|
00000a20  46 30 32 44 32 44 32 44  2c 46 30 46 30 46 30 46  |F02D2D2D,F0F0F0F|
00000a30  2c 46 30 30 46 30 46 30  46 0d 05 a0 13 f4 20 50  |,F00F0F0F..... P|
00000a40  69 6c 6c 61 72 20 62 6f  74 74 6f 6d 0d 05 aa 93  |illar bottom....|
00000a50  dc 20 30 2c 30 2c 46 41  46 43 46 43 46 38 2c 46  |. 0,0,FAFCFCF8,F|
00000a60  38 46 43 46 43 46 38 2c  46 30 46 30 46 30 46 30  |8FCFCF8,F0F0F0F0|
00000a70  2c 46 30 46 30 46 30 46  30 2c 30 2c 30 2c 30 2c  |,F0F0F0F0,0,0,0,|
00000a80  30 2c 46 43 46 38 46 38  46 41 2c 46 43 46 43 46  |0,FCF8F8FA,FCFCF|
00000a90  38 46 41 2c 46 30 46 30  46 30 46 30 2c 46 30 46  |8FA,F0F0F0F0,F0F|
00000aa0  30 46 30 46 30 2c 30 2c  30 2c 30 2c 33 33 33 33  |0F0F0,0,0,0,3333|
00000ab0  31 31 31 31 2c 46 38 46  41 46 38 2c 46 38 46 30  |1111,F8FAF8,F8F0|
00000ac0  46 38 46 30 2c 46 30 46  30 46 30 2c 46 30 46 30  |F8F0,F0F0F0,F0F0|
00000ad0  46 30 46 30 2c 30 2c 43  30 43 30 38 30 38 30 0d  |F0F0,0,C0C08080.|
00000ae0  05 b4 10 f4 20 50 69 6c  6c 61 72 20 74 6f 70 0d  |.... Pillar top.|
00000af0  05 be 97 dc 20 31 31 31  31 33 33 33 33 2c 30 2c  |.... 11113333,0,|
00000b00  46 30 46 30 46 38 46 30  2c 46 41 46 43 46 38 30  |F0F0F8F0,FAFCF80|
00000b10  30 2c 46 30 46 30 46 30  46 30 2c 46 30 46 30 46  |0,F0F0F0F0,F0F0F|
00000b20  30 30 30 2c 38 30 38 30  43 30 43 30 2c 30 2c 30  |000,8080C0C0,0,0|
00000b30  2c 30 2c 46 38 46 43 46  43 46 38 2c 46 43 46 43  |,0,F8FCFCF8,FCFC|
00000b40  46 38 46 41 2c 46 30 46  30 46 30 46 30 2c 46 30  |F8FA,F0F0F0F0,F0|
00000b50  46 30 46 30 46 30 2c 30  2c 30 2c 30 2c 30 2c 46  |F0F0F0,0,0,0,0,F|
00000b60  38 46 43 46 38 46 41 2c  46 38 46 38 46 41 46 38  |8FCF8FA,F8F8FAF8|
00000b70  2c 46 30 46 30 46 30 46  30 2c 46 30 46 30 46 30  |,F0F0F0F0,F0F0F0|
00000b80  46 30 2c 30 2c 30 0d 05  c8 0b f4 20 53 74 6f 6e  |F0,0,0..... Ston|
00000b90  65 0d 05 d2 d9 dc 20 32  44 31 36 32 35 30 33 2c  |e..... 2D162503,|
00000ba0  32 44 35 41 32 44 35 41  2c 41 35 35 41 41 35 30  |2D5A2D5A,A55AA50|
00000bb0  46 2c 41 35 35 41 41 35  35 41 2c 41 35 35 41 41  |F,A55AA55A,A55AA|
00000bc0  35 30 46 2c 41 35 35 41  41 35 35 41 2c 38 36 34  |50F,A55AA55A,864|
00000bd0  41 38 36 30 38 2c 41 35  34 42 41 35 34 42 2c 32  |A8608,A54BA54B,2|
00000be0  44 35 41 32 44 35 41 2c  32 44 35 41 32 44 35 41  |D5A2D5A,2D5A2D5A|
00000bf0  2c 41 35 35 41 41 35 35  41 2c 41 35 35 41 41 35  |,A55AA55A,A55AA5|
00000c00  35 41 2c 41 35 35 41 41  35 35 41 2c 41 35 35 41  |5A,A55AA55A,A55A|
00000c10  41 35 35 41 2c 41 35 34  42 41 35 34 42 2c 41 35  |A55A,A54BA54B,A5|
00000c20  34 42 41 35 34 42 2c 32  35 35 41 32 44 35 41 2c  |4BA54B,255A2D5A,|
00000c30  31 31 32 32 35 31 36 2c  41 35 35 41 41 35 35 41  |1122516,A55AA55A|
00000c40  2c 46 35 41 41 35 35 41  2c 41 35 35 41 41 35 35  |,F5AA55A,A55AA55|
00000c50  41 2c 46 35 41 41 35 35  41 2c 41 35 34 42 41 35  |A,F5AA55A,A54BA5|
00000c60  34 42 2c 38 30 43 38 36  34 41 0d 05 dc 05 20 0d  |4B,80C864A.... .|
00000c70  05 e6 0e dd 20 a4 73 63  72 64 61 74 61 0d 05 f0  |.... .scrdata...|
00000c80  0a f7 20 8d 44 5e 46 0d  05 fa 0a 73 63 72 3d 50  |.. .D^F....scr=P|
00000c90  25 0d 06 04 0f e3 20 59  25 3d 31 20 b8 20 31 36  |%..... Y%=1 . 16|
00000ca0  0d 06 0e 08 f3 20 61 24  0d 06 18 0f e3 20 58 25  |..... a$..... X%|
00000cb0  3d 31 20 b8 20 31 36 0d  06 22 0e 5b 20 4f 50 54  |=1 . 16..".[ OPT|
00000cc0  20 70 61 73 73 0d 06 2c  12 45 51 55 42 20 a0 28  | pass..,.EQUB .(|
00000cd0  c0 61 24 2c 31 29 29 0d  06 36 05 5d 0d 06 40 0d  |.a$,1))..6.]..@.|
00000ce0  61 24 3d c1 61 24 2c 32  29 0d 06 4a 05 ed 0d 06  |a$=.a$,2)..J....|
00000cf0  54 05 ed 0d 06 5e 09 3d  70 61 73 73 0d 06 68 05  |T....^.=pass..h.|
00000d00  20 0d 06 72 0e f4 20 53  63 72 65 65 6e 20 31 0d  | ..r.. Screen 1.|
00000d10  06 7c 16 dc 20 31 31 31  31 31 31 31 31 31 31 31  |.|.. 11111111111|
00000d20  31 31 31 31 31 0d 06 86  16 dc 20 31 30 30 30 30  |11111..... 10000|
00000d30  30 30 30 30 30 30 30 30  30 30 31 0d 06 90 16 dc  |00000000001.....|
00000d40  20 31 30 34 34 34 34 30  34 34 30 34 34 34 34 30  | 104444044044440|
00000d50  31 0d 06 9a 16 dc 20 31  30 34 30 30 34 30 30 34  |1..... 104004004|
00000d60  30 30 30 30 34 30 31 0d  06 a4 16 dc 20 31 30 34  |0000401..... 104|
00000d70  30 30 33 30 34 34 30 34  30 30 34 30 31 0d 06 ae  |0030440400401...|
00000d80  16 dc 20 31 30 30 30 30  32 30 30 34 30 34 30 30  |.. 1000020040400|
00000d90  34 30 31 0d 06 b8 16 dc  20 31 30 34 34 34 34 30  |401..... 1044440|
00000da0  34 34 30 34 34 34 34 30  31 0d 06 c2 16 dc 20 31  |440444401..... 1|
00000db0  30 30 30 30 30 30 34 30  30 34 30 30 30 30 31 0d  |000000400400001.|
00000dc0  06 cc 16 dc 20 31 30 34  34 34 34 34 34 34 34 34  |.... 10444444444|
00000dd0  30 34 34 34 31 0d 06 d6  16 dc 20 31 30 30 30 30  |04441..... 10000|
00000de0  30 30 30 34 30 30 30 34  30 30 31 0d 06 e0 16 dc  |00040004001.....|
00000df0  20 31 34 34 34 34 30 34  34 34 34 34 30 34 34 30  | 144440444440440|
00000e00  31 0d 06 ea 16 dc 20 31  30 30 30 30 30 30 30 30  |1..... 100000000|
00000e10  30 30 30 30 34 30 31 0d  06 f4 16 dc 20 31 30 34  |0000401..... 104|
00000e20  34 34 30 34 34 34 34 34  34 30 34 30 31 0d 06 fe  |4404444440401...|
00000e30  16 dc 20 31 30 34 30 33  30 30 30 30 34 30 33 30  |.. 1040300004030|
00000e40  30 30 31 0d 07 08 16 dc  20 31 30 30 30 32 30 30  |001..... 1000200|
00000e50  34 30 30 30 32 30 34 30  31 0d 07 12 16 dc 20 31  |400020401..... 1|
00000e60  31 31 31 31 31 31 31 31  31 31 31 31 31 31 31 0d  |111111111111111.|
00000e70  ff                                                |.|
00000e71
5_PROG1.m0
5_PROG1.m1
5_PROG1.m2
5_PROG1.m4
5_PROG1.m5