Home » Archimedes archive » Acorn User » AU 1993-04.adf » !StarInfo/Files/SpriteDemo/SprDem6

!StarInfo/Files/SpriteDemo/SprDem6

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 » Archimedes archive » Acorn User » AU 1993-04.adf
Filename: !StarInfo/Files/SpriteDemo/SprDem6
Read OK:
File size: 051A bytes
Load address: FFFFFB44
Exec address: 696E94F1
File contents
   10REM     >SprDem6 (Info16)
   20REM By  DA
   30REM For 32-bit machines
   40REM (c) BAU April 1993
   50:
   60MODE 13
   70OFF
   80PROCinit_sprite_area
   90PROCdemo
  100END
  110:
  120DEF PROCinit_sprite_area
  130sprite_op%=&2E
  140size%=128
  150scale=256/size%
  160area_size%=size%*size%+&100
  170DIM sprites% area_size%,zoom% 16
  180!sprites%=area_size%
  190sprites%!8=16
  200SYS sprite_op%,&109,sprites%
  210SYS sprite_op%,&10F,sprites%,"demo",,size%,size%,13
  220!zoom%=&100*scale
  230zoom%!4=&100*scale
  240zoom%!8=&100
  250zoom%!12=&100
  260SYS sprite_op%,&3E TO ,,,save_area_size%
  270DIM save_area% save_area_size%
  280ENDPROC
  290:
  300DEF PROCdemo
  310REPEAT
  320 FOR c%=0 TO 1023
  330  PROCinsert(RND(size%/4)+size%*3/8,RND(size%/4)+size%*3/8,c%/4)
  340  SYS sprite_op%,&134,sprites%,"demo",128,0,,zoom%,-1
  350 NEXT
  360UNTIL FALSE
  370ENDPROC
  380:
  390DEF PROCinsert(x%,y%,c%)
  400SYS sprite_op%,&120,sprites%,"demo",0
  410SYS sprite_op%,&120,sprites%,"demo",size%-2
  420SYS sprite_op%,&11F,sprites%,"demo",y%-1
  430SYS sprite_op%,&11F,sprites%,"demo",y%
  440SYS sprite_op%,&12E,sprites%,"demo",0
  450SYS sprite_op%,&12E,sprites%,"demo",size%-2
  460SYS sprite_op%,&12D,sprites%,"demo",x%-1
  470SYS sprite_op%,&12D,sprites%,"demo",x%
  480!save_area%=0
  490SYS sprite_op%,&13C,sprites%,"demo",save_area% TO r0,r1,r2,r3
  500GCOL (c% AND 63) TINT (c% AND 192)
  510LINE 0,y%*4,size%*4-1,y%*4
  520LINE x%*4,0,x%*4,size%*4-1
  530SYS sprite_op%,r0,r1,r2,r3
  540ENDPROC

�     >SprDem6 (Info16)
� By  DA
� For 32-bit machines
(� (c) BAU April 1993
2:
<� 13
F�
P�init_sprite_area
Z	�demo
d�
n:
x� �init_sprite_area
�sprite_op%=&2E
�
size%=128
�scale=256/size%
�area_size%=size%*size%+&100
�"� sprites% area_size%,zoom% 16
�!sprites%=area_size%
�sprites%!8=16
�ș sprite_op%,&109,sprites%
�6ș sprite_op%,&10F,sprites%,"demo",,size%,size%,13
�!zoom%=&100*scale
�zoom%!4=&100*scale
�zoom%!8=&100
�zoom%!12=&100
*ș sprite_op%,&3E � ,,,save_area_size%
 � save_area% save_area_size%
�
":
,� �demo
6�
@ � c%=0 � 1023
J=  �insert(�(size%/4)+size%*3/8,�(size%/4)+size%*3/8,c%/4)
T8  ș sprite_op%,&134,sprites%,"demo",128,0,,zoom%,-1
^ �
h� �
r�
|:
�� �insert(x%,y%,c%)
�(ș sprite_op%,&120,sprites%,"demo",0
�.ș sprite_op%,&120,sprites%,"demo",size%-2
�+ș sprite_op%,&11F,sprites%,"demo",y%-1
�)ș sprite_op%,&11F,sprites%,"demo",y%
�(ș sprite_op%,&12E,sprites%,"demo",0
�.ș sprite_op%,&12E,sprites%,"demo",size%-2
�+ș sprite_op%,&12D,sprites%,"demo",x%-1
�)ș sprite_op%,&12D,sprites%,"demo",x%
�!save_area%=0
�?ș sprite_op%,&13C,sprites%,"demo",save_area% � r0,r1,r2,r3
�� (c% � 63) Ȝ (c% � 192)
�� 0,y%*4,size%*4-1,y%*4
� x%*4,0,x%*4,size%*4-1
ș sprite_op%,r0,r1,r2,r3
�
�
00000000  0d 00 0a 1b f4 20 20 20  20 20 3e 53 70 72 44 65  |.....     >SprDe|
00000010  6d 36 20 28 49 6e 66 6f  31 36 29 0d 00 14 0c f4  |m6 (Info16).....|
00000020  20 42 79 20 20 44 41 0d  00 1e 19 f4 20 46 6f 72  | By  DA..... For|
00000030  20 33 32 2d 62 69 74 20  6d 61 63 68 69 6e 65 73  | 32-bit machines|
00000040  0d 00 28 18 f4 20 28 63  29 20 42 41 55 20 41 70  |..(.. (c) BAU Ap|
00000050  72 69 6c 20 31 39 39 33  0d 00 32 05 3a 0d 00 3c  |ril 1993..2.:..<|
00000060  08 eb 20 31 33 0d 00 46  05 87 0d 00 50 15 f2 69  |.. 13..F....P..i|
00000070  6e 69 74 5f 73 70 72 69  74 65 5f 61 72 65 61 0d  |nit_sprite_area.|
00000080  00 5a 09 f2 64 65 6d 6f  0d 00 64 05 e0 0d 00 6e  |.Z..demo..d....n|
00000090  05 3a 0d 00 78 17 dd 20  f2 69 6e 69 74 5f 73 70  |.:..x.. .init_sp|
000000a0  72 69 74 65 5f 61 72 65  61 0d 00 82 12 73 70 72  |rite_area....spr|
000000b0  69 74 65 5f 6f 70 25 3d  26 32 45 0d 00 8c 0d 73  |ite_op%=&2E....s|
000000c0  69 7a 65 25 3d 31 32 38  0d 00 96 13 73 63 61 6c  |ize%=128....scal|
000000d0  65 3d 32 35 36 2f 73 69  7a 65 25 0d 00 a0 1f 61  |e=256/size%....a|
000000e0  72 65 61 5f 73 69 7a 65  25 3d 73 69 7a 65 25 2a  |rea_size%=size%*|
000000f0  73 69 7a 65 25 2b 26 31  30 30 0d 00 aa 22 de 20  |size%+&100...". |
00000100  73 70 72 69 74 65 73 25  20 61 72 65 61 5f 73 69  |sprites% area_si|
00000110  7a 65 25 2c 7a 6f 6f 6d  25 20 31 36 0d 00 b4 18  |ze%,zoom% 16....|
00000120  21 73 70 72 69 74 65 73  25 3d 61 72 65 61 5f 73  |!sprites%=area_s|
00000130  69 7a 65 25 0d 00 be 11  73 70 72 69 74 65 73 25  |ize%....sprites%|
00000140  21 38 3d 31 36 0d 00 c8  1f c8 99 20 73 70 72 69  |!8=16...... spri|
00000150  74 65 5f 6f 70 25 2c 26  31 30 39 2c 73 70 72 69  |te_op%,&109,spri|
00000160  74 65 73 25 0d 00 d2 36  c8 99 20 73 70 72 69 74  |tes%...6.. sprit|
00000170  65 5f 6f 70 25 2c 26 31  30 46 2c 73 70 72 69 74  |e_op%,&10F,sprit|
00000180  65 73 25 2c 22 64 65 6d  6f 22 2c 2c 73 69 7a 65  |es%,"demo",,size|
00000190  25 2c 73 69 7a 65 25 2c  31 33 0d 00 dc 15 21 7a  |%,size%,13....!z|
000001a0  6f 6f 6d 25 3d 26 31 30  30 2a 73 63 61 6c 65 0d  |oom%=&100*scale.|
000001b0  00 e6 16 7a 6f 6f 6d 25  21 34 3d 26 31 30 30 2a  |...zoom%!4=&100*|
000001c0  73 63 61 6c 65 0d 00 f0  10 7a 6f 6f 6d 25 21 38  |scale....zoom%!8|
000001d0  3d 26 31 30 30 0d 00 fa  11 7a 6f 6f 6d 25 21 31  |=&100....zoom%!1|
000001e0  32 3d 26 31 30 30 0d 01  04 2a c8 99 20 73 70 72  |2=&100...*.. spr|
000001f0  69 74 65 5f 6f 70 25 2c  26 33 45 20 b8 20 2c 2c  |ite_op%,&3E . ,,|
00000200  2c 73 61 76 65 5f 61 72  65 61 5f 73 69 7a 65 25  |,save_area_size%|
00000210  0d 01 0e 20 de 20 73 61  76 65 5f 61 72 65 61 25  |... . save_area%|
00000220  20 73 61 76 65 5f 61 72  65 61 5f 73 69 7a 65 25  | save_area_size%|
00000230  0d 01 18 05 e1 0d 01 22  05 3a 0d 01 2c 0b dd 20  |.......".:..,.. |
00000240  f2 64 65 6d 6f 0d 01 36  05 f5 0d 01 40 12 20 e3  |.demo..6....@. .|
00000250  20 63 25 3d 30 20 b8 20  31 30 32 33 0d 01 4a 3d  | c%=0 . 1023..J=|
00000260  20 20 f2 69 6e 73 65 72  74 28 b3 28 73 69 7a 65  |  .insert(.(size|
00000270  25 2f 34 29 2b 73 69 7a  65 25 2a 33 2f 38 2c b3  |%/4)+size%*3/8,.|
00000280  28 73 69 7a 65 25 2f 34  29 2b 73 69 7a 65 25 2a  |(size%/4)+size%*|
00000290  33 2f 38 2c 63 25 2f 34  29 0d 01 54 38 20 20 c8  |3/8,c%/4)..T8  .|
000002a0  99 20 73 70 72 69 74 65  5f 6f 70 25 2c 26 31 33  |. sprite_op%,&13|
000002b0  34 2c 73 70 72 69 74 65  73 25 2c 22 64 65 6d 6f  |4,sprites%,"demo|
000002c0  22 2c 31 32 38 2c 30 2c  2c 7a 6f 6f 6d 25 2c 2d  |",128,0,,zoom%,-|
000002d0  31 0d 01 5e 06 20 ed 0d  01 68 07 fd 20 a3 0d 01  |1..^. ...h.. ...|
000002e0  72 05 e1 0d 01 7c 05 3a  0d 01 86 17 dd 20 f2 69  |r....|.:..... .i|
000002f0  6e 73 65 72 74 28 78 25  2c 79 25 2c 63 25 29 0d  |nsert(x%,y%,c%).|
00000300  01 90 28 c8 99 20 73 70  72 69 74 65 5f 6f 70 25  |..(.. sprite_op%|
00000310  2c 26 31 32 30 2c 73 70  72 69 74 65 73 25 2c 22  |,&120,sprites%,"|
00000320  64 65 6d 6f 22 2c 30 0d  01 9a 2e c8 99 20 73 70  |demo",0...... sp|
00000330  72 69 74 65 5f 6f 70 25  2c 26 31 32 30 2c 73 70  |rite_op%,&120,sp|
00000340  72 69 74 65 73 25 2c 22  64 65 6d 6f 22 2c 73 69  |rites%,"demo",si|
00000350  7a 65 25 2d 32 0d 01 a4  2b c8 99 20 73 70 72 69  |ze%-2...+.. spri|
00000360  74 65 5f 6f 70 25 2c 26  31 31 46 2c 73 70 72 69  |te_op%,&11F,spri|
00000370  74 65 73 25 2c 22 64 65  6d 6f 22 2c 79 25 2d 31  |tes%,"demo",y%-1|
00000380  0d 01 ae 29 c8 99 20 73  70 72 69 74 65 5f 6f 70  |...).. sprite_op|
00000390  25 2c 26 31 31 46 2c 73  70 72 69 74 65 73 25 2c  |%,&11F,sprites%,|
000003a0  22 64 65 6d 6f 22 2c 79  25 0d 01 b8 28 c8 99 20  |"demo",y%...(.. |
000003b0  73 70 72 69 74 65 5f 6f  70 25 2c 26 31 32 45 2c  |sprite_op%,&12E,|
000003c0  73 70 72 69 74 65 73 25  2c 22 64 65 6d 6f 22 2c  |sprites%,"demo",|
000003d0  30 0d 01 c2 2e c8 99 20  73 70 72 69 74 65 5f 6f  |0...... sprite_o|
000003e0  70 25 2c 26 31 32 45 2c  73 70 72 69 74 65 73 25  |p%,&12E,sprites%|
000003f0  2c 22 64 65 6d 6f 22 2c  73 69 7a 65 25 2d 32 0d  |,"demo",size%-2.|
00000400  01 cc 2b c8 99 20 73 70  72 69 74 65 5f 6f 70 25  |..+.. sprite_op%|
00000410  2c 26 31 32 44 2c 73 70  72 69 74 65 73 25 2c 22  |,&12D,sprites%,"|
00000420  64 65 6d 6f 22 2c 78 25  2d 31 0d 01 d6 29 c8 99  |demo",x%-1...)..|
00000430  20 73 70 72 69 74 65 5f  6f 70 25 2c 26 31 32 44  | sprite_op%,&12D|
00000440  2c 73 70 72 69 74 65 73  25 2c 22 64 65 6d 6f 22  |,sprites%,"demo"|
00000450  2c 78 25 0d 01 e0 11 21  73 61 76 65 5f 61 72 65  |,x%....!save_are|
00000460  61 25 3d 30 0d 01 ea 3f  c8 99 20 73 70 72 69 74  |a%=0...?.. sprit|
00000470  65 5f 6f 70 25 2c 26 31  33 43 2c 73 70 72 69 74  |e_op%,&13C,sprit|
00000480  65 73 25 2c 22 64 65 6d  6f 22 2c 73 61 76 65 5f  |es%,"demo",save_|
00000490  61 72 65 61 25 20 b8 20  72 30 2c 72 31 2c 72 32  |area% . r0,r1,r2|
000004a0  2c 72 33 0d 01 f4 1d e6  20 28 63 25 20 80 20 36  |,r3..... (c% . 6|
000004b0  33 29 20 c8 9c 20 28 63  25 20 80 20 31 39 32 29  |3) .. (c% . 192)|
000004c0  0d 01 fe 1b 86 20 30 2c  79 25 2a 34 2c 73 69 7a  |..... 0,y%*4,siz|
000004d0  65 25 2a 34 2d 31 2c 79  25 2a 34 0d 02 08 1b 86  |e%*4-1,y%*4.....|
000004e0  20 78 25 2a 34 2c 30 2c  78 25 2a 34 2c 73 69 7a  | x%*4,0,x%*4,siz|
000004f0  65 25 2a 34 2d 31 0d 02  12 1d c8 99 20 73 70 72  |e%*4-1...... spr|
00000500  69 74 65 5f 6f 70 25 2c  72 30 2c 72 31 2c 72 32  |ite_op%,r0,r1,r2|
00000510  2c 72 33 0d 02 1c 05 e1  0d ff                    |,r3.......|
0000051a