Home » Personal collection » Acorn tapes » Commercial_Releases » box02_tape07b_acorn_eu_arcade_game_creator.wav » 2_PROG4

2_PROG4

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: 2_PROG4
Read OK:
File size: 02E4 bytes
Load address: 2000
Exec address: 1900
Duplicates

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

File contents
   10REM Get screen address
   12REM By R.A.Waddilove
   14REM (c) Electron User
   20PROCassemble
   30PRINT
   40INPUT "X coordinate",X%
   50INPUT "Y coordinate",Y%
   60CALL &900
   70PRINT"Address=&";~!&70 AND &FFFF
   80END
   90 
  100DEF PROCassemble
  110temp=&70
  120FOR pass=0 TO 2 STEP 2
  130P%=&900
  140[ OPT pass
  150 
  160\X,Y --> address
  170.convert
  180LDA #0
  190STA temp+1
  200TXA
  210ASL A
  220ASL A
  230ROL temp+1
  240ASL A
  250ROL temp+1
  260STA temp
  270TYA
  280AND #7
  290ADC temp
  300STA temp
  310LDA temp+1
  320ADC #0
  330STA temp+1
  340TYA
  350LSR A
  360LSR A
  370LSR A
  380ASL A
  390TAY
  400LDA table,Y
  410ADC temp
  420STA temp
  430LDA table+1,Y
  440ADC temp+1
  450STA temp+1
  460RTS
  470 
  480.table
  490OPT FNtable
  500]
  510NEXT
  520ENDPROC
  530 
  540DEF FNtable
  550FOR I%=0 TO 31
  560[OPT pass
  570EQUW &5800+I%*&140
  580]
  590NEXT
  600=pass

� Get screen address
� By R.A.Waddilove
� (c) Electron User

�assemble
�
(� "X coordinate",X%
2� "Y coordinate",Y%
<
� &900
F�"Address=&";~!&70 � &FFFF
P�
Z 
d� �assemble
ntemp=&70
x� pass=0 � 2 � 2
�P%=&900
�[ OPT pass
� 
�\X,Y --> address
�.convert
�
LDA #0
�STA temp+1
�TXA
�	ASL A
�	ASL A
�ROL temp+1
�	ASL A
�ROL temp+1
STA temp
TYA
� #7
"ADC temp
,STA temp
6LDA temp+1
@
ADC #0
JSTA temp+1
TTYA
^	LSR A
h	LSR A
r	LSR A
|	ASL A
�TAY
�LDA table,Y
�ADC temp
�STA temp
�LDA table+1,Y
�ADC temp+1
�STA temp+1
�RTS
� 
�
.table
�OPT �table
�]
��
�
 
� �table
&� I%=0 � 31
0
[OPT pass
:EQUW &5800+I%*&140
D]
N�
X	=pass
�
00000000  0d 00 0a 18 f4 20 47 65  74 20 73 63 72 65 65 6e  |..... Get screen|
00000010  20 61 64 64 72 65 73 73  0d 00 0c 16 f4 20 42 79  | address..... By|
00000020  20 52 2e 41 2e 57 61 64  64 69 6c 6f 76 65 0d 00  | R.A.Waddilove..|
00000030  0e 17 f4 20 28 63 29 20  45 6c 65 63 74 72 6f 6e  |... (c) Electron|
00000040  20 55 73 65 72 0d 00 14  0d f2 61 73 73 65 6d 62  | User.....assemb|
00000050  6c 65 0d 00 1e 05 f1 0d  00 28 17 e8 20 22 58 20  |le.......(.. "X |
00000060  63 6f 6f 72 64 69 6e 61  74 65 22 2c 58 25 0d 00  |coordinate",X%..|
00000070  32 17 e8 20 22 59 20 63  6f 6f 72 64 69 6e 61 74  |2.. "Y coordinat|
00000080  65 22 2c 59 25 0d 00 3c  0a d6 20 26 39 30 30 0d  |e",Y%..<.. &900.|
00000090  00 46 1e f1 22 41 64 64  72 65 73 73 3d 26 22 3b  |.F.."Address=&";|
000000a0  7e 21 26 37 30 20 80 20  26 46 46 46 46 0d 00 50  |~!&70 . &FFFF..P|
000000b0  05 e0 0d 00 5a 05 20 0d  00 64 0f dd 20 f2 61 73  |....Z. ..d.. .as|
000000c0  73 65 6d 62 6c 65 0d 00  6e 0c 74 65 6d 70 3d 26  |semble..n.temp=&|
000000d0  37 30 0d 00 78 14 e3 20  70 61 73 73 3d 30 20 b8  |70..x.. pass=0 .|
000000e0  20 32 20 88 20 32 0d 00  82 0b 50 25 3d 26 39 30  | 2 . 2....P%=&90|
000000f0  30 0d 00 8c 0e 5b 20 4f  50 54 20 70 61 73 73 0d  |0....[ OPT pass.|
00000100  00 96 05 20 0d 00 a0 14  5c 58 2c 59 20 2d 2d 3e  |... ....\X,Y -->|
00000110  20 61 64 64 72 65 73 73  0d 00 aa 0c 2e 63 6f 6e  | address.....con|
00000120  76 65 72 74 0d 00 b4 0a  4c 44 41 20 23 30 0d 00  |vert....LDA #0..|
00000130  be 0e 53 54 41 20 74 65  6d 70 2b 31 0d 00 c8 07  |..STA temp+1....|
00000140  54 58 41 0d 00 d2 09 41  53 4c 20 41 0d 00 dc 09  |TXA....ASL A....|
00000150  41 53 4c 20 41 0d 00 e6  0e 52 4f 4c 20 74 65 6d  |ASL A....ROL tem|
00000160  70 2b 31 0d 00 f0 09 41  53 4c 20 41 0d 00 fa 0e  |p+1....ASL A....|
00000170  52 4f 4c 20 74 65 6d 70  2b 31 0d 01 04 0c 53 54  |ROL temp+1....ST|
00000180  41 20 74 65 6d 70 0d 01  0e 07 54 59 41 0d 01 18  |A temp....TYA...|
00000190  08 80 20 23 37 0d 01 22  0c 41 44 43 20 74 65 6d  |.. #7..".ADC tem|
000001a0  70 0d 01 2c 0c 53 54 41  20 74 65 6d 70 0d 01 36  |p..,.STA temp..6|
000001b0  0e 4c 44 41 20 74 65 6d  70 2b 31 0d 01 40 0a 41  |.LDA temp+1..@.A|
000001c0  44 43 20 23 30 0d 01 4a  0e 53 54 41 20 74 65 6d  |DC #0..J.STA tem|
000001d0  70 2b 31 0d 01 54 07 54  59 41 0d 01 5e 09 4c 53  |p+1..T.TYA..^.LS|
000001e0  52 20 41 0d 01 68 09 4c  53 52 20 41 0d 01 72 09  |R A..h.LSR A..r.|
000001f0  4c 53 52 20 41 0d 01 7c  09 41 53 4c 20 41 0d 01  |LSR A..|.ASL A..|
00000200  86 07 54 41 59 0d 01 90  0f 4c 44 41 20 74 61 62  |..TAY....LDA tab|
00000210  6c 65 2c 59 0d 01 9a 0c  41 44 43 20 74 65 6d 70  |le,Y....ADC temp|
00000220  0d 01 a4 0c 53 54 41 20  74 65 6d 70 0d 01 ae 11  |....STA temp....|
00000230  4c 44 41 20 74 61 62 6c  65 2b 31 2c 59 0d 01 b8  |LDA table+1,Y...|
00000240  0e 41 44 43 20 74 65 6d  70 2b 31 0d 01 c2 0e 53  |.ADC temp+1....S|
00000250  54 41 20 74 65 6d 70 2b  31 0d 01 cc 07 52 54 53  |TA temp+1....RTS|
00000260  0d 01 d6 05 20 0d 01 e0  0a 2e 74 61 62 6c 65 0d  |.... .....table.|
00000270  01 ea 0e 4f 50 54 20 a4  74 61 62 6c 65 0d 01 f4  |...OPT .table...|
00000280  05 5d 0d 01 fe 05 ed 0d  02 08 05 e1 0d 02 12 05  |.]..............|
00000290  20 0d 02 1c 0c dd 20 a4  74 61 62 6c 65 0d 02 26  | ..... .table..&|
000002a0  0f e3 20 49 25 3d 30 20  b8 20 33 31 0d 02 30 0d  |.. I%=0 . 31..0.|
000002b0  5b 4f 50 54 20 70 61 73  73 0d 02 3a 16 45 51 55  |[OPT pass..:.EQU|
000002c0  57 20 26 35 38 30 30 2b  49 25 2a 26 31 34 30 0d  |W &5800+I%*&140.|
000002d0  02 44 05 5d 0d 02 4e 05  ed 0d 02 58 09 3d 70 61  |.D.]..N....X.=pa|
000002e0  73 73 0d ff                                       |ss..|
000002e4
2_PROG4.m0
2_PROG4.m1
2_PROG4.m2
2_PROG4.m4
2_PROG4.m5