Home » Personal collection » Acorn hard disk » misc » misc2 » shipw4/Arcade/Title/SpriteH

shipw4/Arcade/Title/SpriteH

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 hard disk » misc » misc2
Filename: shipw4/Arcade/Title/SpriteH
Read OK:
File size: 032B bytes
Load address: 0000
Exec address: 0000
Duplicates

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

File contents
   10*RAM
   20*SCREENLOAD scr2
   30x=0:y=0
   40ON ERROR REPORT:PRINT" @ ";ERL,x,y:END
   50DIMc%(15):FORc%=0TO15:READc%(c%):NEXT
   60DIM space &6000
   70ad=space+4096
   80PROCmake
   90*SCREENLOAD scr3
  100DIM store &5000
  110ad=store
  120PROCmake
  130:
  140stat=space
  150REPEAT
  160IF (?ad AND 170)=42 OR (?ad AND 85)=21 THEN PROCcode
  170ad=ad+1
  180UNTIL ad=&5000+store
  190OSCLI"SAVE scrdata "+STR$~space+" "+STR$~(space+&6000)
  200PRINTstat
  210END
  220:
  230DEFPROCcode
  240?stat=((ad-store+&3000) MOD 256)
  250?(stat+1)=((ad-store+&3000) DIV 256)
  260len=stat+2:stat=stat+3:length=0
  270REPEAT
  280?stat=?ad
  290stat=stat+1:length=length+1:ad=ad+1
  300IF (?ad AND 170)<>42 AND (?ad AND 85)<>21 THEN del=del+1 ELSE del=0
  310UNTIL del=8
  320?len=length
  330ENDPROC
  340:
  350DEFPROCmake
  360FORx=0TO1264STEP16
  370FORy=0TO1020STEP4
  380?(ad+&280*INT((1020-y)/32)+((1020-y) MOD 32)/4+x/2)=c%(POINT(x,y))*2+c%(POINT(x+8,y))
  390NEXT,
  400ENDPROC
  410:
  420DATA 0,1,4,5,16,17,20,21,64,65,68,69,80,81,84,85

*RAM
*SCREENLOAD scr2
x=0:y=0
(� � �:�" @ ";�,x,y:�
2�c%(15):�c%=0�15:�c%(c%):�
<� space &6000
Fad=space+4096
P	�make
Z*SCREENLOAD scr3
d� store &5000
nad=store
x	�make
�:
�stat=space
��
�,� (?ad � 170)=42 � (?ad � 85)=21 � �code
�ad=ad+1
�� ad=&5000+store
�0�"SAVE scrdata "+�~space+" "+�~(space+&6000)
�	�stat
��
�:
�
��code
�"?stat=((ad-store+&3000) � 256)
�&?(stat+1)=((ad-store+&3000) � 256)
#len=stat+2:stat=stat+3:length=0
�

?stat=?ad
"'stat=stat+1:length=length+1:ad=ad+1
,:� (?ad � 170)<>42 � (?ad � 85)<>21 � del=del+1 � del=0
6� del=8
@?len=length
J�
T:
^
��make
h�x=0�1264�16
r�y=0�1020�4
|K?(ad+&280*�((1020-y)/32)+((1020-y) � 32)/4+x/2)=c%(�x,y))*2+c%(�x+8,y))
��,
��
�:
�1� 0,1,4,5,16,17,20,21,64,65,68,69,80,81,84,85
�
00000000  0d 00 0a 08 2a 52 41 4d  0d 00 14 14 2a 53 43 52  |....*RAM....*SCR|
00000010  45 45 4e 4c 4f 41 44 20  73 63 72 32 0d 00 1e 0b  |EENLOAD scr2....|
00000020  78 3d 30 3a 79 3d 30 0d  00 28 18 ee 20 85 20 f6  |x=0:y=0..(.. . .|
00000030  3a f1 22 20 40 20 22 3b  9e 2c 78 2c 79 3a e0 0d  |:." @ ";.,x,y:..|
00000040  00 32 1e de 63 25 28 31  35 29 3a e3 63 25 3d 30  |.2..c%(15):.c%=0|
00000050  b8 31 35 3a f3 63 25 28  63 25 29 3a ed 0d 00 3c  |.15:.c%(c%):...<|
00000060  11 de 20 73 70 61 63 65  20 26 36 30 30 30 0d 00  |.. space &6000..|
00000070  46 11 61 64 3d 73 70 61  63 65 2b 34 30 39 36 0d  |F.ad=space+4096.|
00000080  00 50 09 f2 6d 61 6b 65  0d 00 5a 14 2a 53 43 52  |.P..make..Z.*SCR|
00000090  45 45 4e 4c 4f 41 44 20  73 63 72 33 0d 00 64 11  |EENLOAD scr3..d.|
000000a0  de 20 73 74 6f 72 65 20  26 35 30 30 30 0d 00 6e  |. store &5000..n|
000000b0  0c 61 64 3d 73 74 6f 72  65 0d 00 78 09 f2 6d 61  |.ad=store..x..ma|
000000c0  6b 65 0d 00 82 05 3a 0d  00 8c 0e 73 74 61 74 3d  |ke....:....stat=|
000000d0  73 70 61 63 65 0d 00 96  05 f5 0d 00 a0 2c e7 20  |space........,. |
000000e0  28 3f 61 64 20 80 20 31  37 30 29 3d 34 32 20 84  |(?ad . 170)=42 .|
000000f0  20 28 3f 61 64 20 80 20  38 35 29 3d 32 31 20 8c  | (?ad . 85)=21 .|
00000100  20 f2 63 6f 64 65 0d 00  aa 0b 61 64 3d 61 64 2b  | .code....ad=ad+|
00000110  31 0d 00 b4 14 fd 20 61  64 3d 26 35 30 30 30 2b  |1..... ad=&5000+|
00000120  73 74 6f 72 65 0d 00 be  30 ff 22 53 41 56 45 20  |store...0."SAVE |
00000130  73 63 72 64 61 74 61 20  22 2b c3 7e 73 70 61 63  |scrdata "+.~spac|
00000140  65 2b 22 20 22 2b c3 7e  28 73 70 61 63 65 2b 26  |e+" "+.~(space+&|
00000150  36 30 30 30 29 0d 00 c8  09 f1 73 74 61 74 0d 00  |6000).....stat..|
00000160  d2 05 e0 0d 00 dc 05 3a  0d 00 e6 0a dd f2 63 6f  |.......:......co|
00000170  64 65 0d 00 f0 22 3f 73  74 61 74 3d 28 28 61 64  |de..."?stat=((ad|
00000180  2d 73 74 6f 72 65 2b 26  33 30 30 30 29 20 83 20  |-store+&3000) . |
00000190  32 35 36 29 0d 00 fa 26  3f 28 73 74 61 74 2b 31  |256)...&?(stat+1|
000001a0  29 3d 28 28 61 64 2d 73  74 6f 72 65 2b 26 33 30  |)=((ad-store+&30|
000001b0  30 30 29 20 81 20 32 35  36 29 0d 01 04 23 6c 65  |00) . 256)...#le|
000001c0  6e 3d 73 74 61 74 2b 32  3a 73 74 61 74 3d 73 74  |n=stat+2:stat=st|
000001d0  61 74 2b 33 3a 6c 65 6e  67 74 68 3d 30 0d 01 0e  |at+3:length=0...|
000001e0  05 f5 0d 01 18 0d 3f 73  74 61 74 3d 3f 61 64 0d  |......?stat=?ad.|
000001f0  01 22 27 73 74 61 74 3d  73 74 61 74 2b 31 3a 6c  |."'stat=stat+1:l|
00000200  65 6e 67 74 68 3d 6c 65  6e 67 74 68 2b 31 3a 61  |ength=length+1:a|
00000210  64 3d 61 64 2b 31 0d 01  2c 3a e7 20 28 3f 61 64  |d=ad+1..,:. (?ad|
00000220  20 80 20 31 37 30 29 3c  3e 34 32 20 80 20 28 3f  | . 170)<>42 . (?|
00000230  61 64 20 80 20 38 35 29  3c 3e 32 31 20 8c 20 64  |ad . 85)<>21 . d|
00000240  65 6c 3d 64 65 6c 2b 31  20 8b 20 64 65 6c 3d 30  |el=del+1 . del=0|
00000250  0d 01 36 0b fd 20 64 65  6c 3d 38 0d 01 40 0f 3f  |..6.. del=8..@.?|
00000260  6c 65 6e 3d 6c 65 6e 67  74 68 0d 01 4a 05 e1 0d  |len=length..J...|
00000270  01 54 05 3a 0d 01 5e 0a  dd f2 6d 61 6b 65 0d 01  |.T.:..^...make..|
00000280  68 10 e3 78 3d 30 b8 31  32 36 34 88 31 36 0d 01  |h..x=0.1264.16..|
00000290  72 0f e3 79 3d 30 b8 31  30 32 30 88 34 0d 01 7c  |r..y=0.1020.4..||
000002a0  4b 3f 28 61 64 2b 26 32  38 30 2a a8 28 28 31 30  |K?(ad+&280*.((10|
000002b0  32 30 2d 79 29 2f 33 32  29 2b 28 28 31 30 32 30  |20-y)/32)+((1020|
000002c0  2d 79 29 20 83 20 33 32  29 2f 34 2b 78 2f 32 29  |-y) . 32)/4+x/2)|
000002d0  3d 63 25 28 b0 78 2c 79  29 29 2a 32 2b 63 25 28  |=c%(.x,y))*2+c%(|
000002e0  b0 78 2b 38 2c 79 29 29  0d 01 86 06 ed 2c 0d 01  |.x+8,y)).....,..|
000002f0  90 05 e1 0d 01 9a 05 3a  0d 01 a4 31 dc 20 30 2c  |.......:...1. 0,|
00000300  31 2c 34 2c 35 2c 31 36  2c 31 37 2c 32 30 2c 32  |1,4,5,16,17,20,2|
00000310  31 2c 36 34 2c 36 35 2c  36 38 2c 36 39 2c 38 30  |1,64,65,68,69,80|
00000320  2c 38 31 2c 38 34 2c 38  35 0d ff                 |,81,84,85..|
0000032b