Home » Archimedes archive » Micro User » MU 1991-06.adf » PD-Stuff » Demos/!Erasure/Bit

Demos/!Erasure/Bit

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 » Micro User » MU 1991-06.adf » PD-Stuff
Filename: Demos/!Erasure/Bit
Read OK:
File size: 03AA bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM > Bit
   20REM >> User sprite area fudged by ALT_Man of System Interrupt, who,
   30REM    incidentally, did the soundtracker routine this demo uses.
   40REM >> Drawing of bars got working by Fil.
   50REM
   60:
   70MODE 13
   80:
   90DIM code 112000, S% 1200
  100:
  110S%!0=1200:S%!4=0:S%!8=0:S%!12=0
  120SYS"OS_SpriteOp",10+256,S%,"<Erasure$Dir>.Bar"
  130SYS"OS_SpriteOp",24+256,S%,"brush" TO ,,A%
  140:
  150OSCLI"LOAD <Erasure$dir>.ERCODE "+STR$~code
  160:
  170ON ERROR CALLkillsound:END
  180ourinf=code+&F8:killsound=code+&5D8:installsound=code+&4E8:intr=code+&1B8
  190CALL installsound
  200*SCREENLOAD <Erasure$Dir>.PICCY
  210OFF
  220DIM Y%(3),B%(3),C%(3),O%(3)
  230FOR I=0 TO 3
  240 Y%(I)=-256
  250 O%(I)=-512
  260 B%(I)=416+I*128
  270 C%(I)=32*I+4+ourinf
  280NEXT
  290GCOL 0,0 TINT 0
  300:
  310REPEAT
  320CALL intr:WAIT:FOR I%=0 TO 3
  330IFO%(I%)-Y%(I%) THEN
  340RECTANGLEFILLB%(I%),O%(I%),64,256:SYS&2E,546,S%,A%,B%(I%),Y%(I%):O%(I%)=Y%(I%)
  350ENDIF
  360IF !C%(I%)>0 THEN
  370 Y%(I%)=-256+!C%(I%)/256
  380ELSE
  390 IF Y%(I%)>-256 Y%(I%)-=8
  400ENDIF
  410NEXT:UNTIL FALSE

� > Bit
E� >> User sprite area fudged by ALT_Man of System Interrupt, who,
C�    incidentally, did the soundtracker routine this demo uses.
(,� >> Drawing of bars got working by Fil.
2�
<:
F� 13
P:
Z� code 112000, S% 1200
d:
n#S%!0=1200:S%!4=0:S%!8=0:S%!12=0
x1ș"OS_SpriteOp",10+256,S%,"<Erasure$Dir>.Bar"
�,ș"OS_SpriteOp",24+256,S%,"brush" � ,,A%
�:
�(�"LOAD <Erasure$dir>.ERCODE "+�~code
�:
�� � �killsound:�
�Mourinf=code+&F8:killsound=code+&5D8:installsound=code+&4E8:intr=code+&1B8
�� installsound
�#*SCREENLOAD <Erasure$Dir>.PICCY
��
�� Y%(3),B%(3),C%(3),O%(3)
�
� I=0 � 3
� Y%(I)=-256
� O%(I)=-512
 B%(I)=416+I*128
 C%(I)=32*I+4+ourinf
�
"� 0,0 Ȝ 0
,:
6�
@� intr:Ȗ:� I%=0 � 3
J�O%(I%)-Y%(I%) �
THȓȐB%(I%),O%(I%),64,256:ș&2E,546,S%,A%,B%(I%),Y%(I%):O%(I%)=Y%(I%)
^�
h� !C%(I%)>0 �
r Y%(I%)=-256+!C%(I%)/256
|�
� � Y%(I%)>-256 Y%(I%)-=8
��
�	�:� �
�
00000000  0d 00 0a 0b f4 20 3e 20  42 69 74 0d 00 14 45 f4  |..... > Bit...E.|
00000010  20 3e 3e 20 55 73 65 72  20 73 70 72 69 74 65 20  | >> User sprite |
00000020  61 72 65 61 20 66 75 64  67 65 64 20 62 79 20 41  |area fudged by A|
00000030  4c 54 5f 4d 61 6e 20 6f  66 20 53 79 73 74 65 6d  |LT_Man of System|
00000040  20 49 6e 74 65 72 72 75  70 74 2c 20 77 68 6f 2c  | Interrupt, who,|
00000050  0d 00 1e 43 f4 20 20 20  20 69 6e 63 69 64 65 6e  |...C.    inciden|
00000060  74 61 6c 6c 79 2c 20 64  69 64 20 74 68 65 20 73  |tally, did the s|
00000070  6f 75 6e 64 74 72 61 63  6b 65 72 20 72 6f 75 74  |oundtracker rout|
00000080  69 6e 65 20 74 68 69 73  20 64 65 6d 6f 20 75 73  |ine this demo us|
00000090  65 73 2e 0d 00 28 2c f4  20 3e 3e 20 44 72 61 77  |es...(,. >> Draw|
000000a0  69 6e 67 20 6f 66 20 62  61 72 73 20 67 6f 74 20  |ing of bars got |
000000b0  77 6f 72 6b 69 6e 67 20  62 79 20 46 69 6c 2e 0d  |working by Fil..|
000000c0  00 32 05 f4 0d 00 3c 05  3a 0d 00 46 08 eb 20 31  |.2....<.:..F.. 1|
000000d0  33 0d 00 50 05 3a 0d 00  5a 1a de 20 63 6f 64 65  |3..P.:..Z.. code|
000000e0  20 31 31 32 30 30 30 2c  20 53 25 20 31 32 30 30  | 112000, S% 1200|
000000f0  0d 00 64 05 3a 0d 00 6e  23 53 25 21 30 3d 31 32  |..d.:..n#S%!0=12|
00000100  30 30 3a 53 25 21 34 3d  30 3a 53 25 21 38 3d 30  |00:S%!4=0:S%!8=0|
00000110  3a 53 25 21 31 32 3d 30  0d 00 78 31 c8 99 22 4f  |:S%!12=0..x1.."O|
00000120  53 5f 53 70 72 69 74 65  4f 70 22 2c 31 30 2b 32  |S_SpriteOp",10+2|
00000130  35 36 2c 53 25 2c 22 3c  45 72 61 73 75 72 65 24  |56,S%,"<Erasure$|
00000140  44 69 72 3e 2e 42 61 72  22 0d 00 82 2c c8 99 22  |Dir>.Bar"...,.."|
00000150  4f 53 5f 53 70 72 69 74  65 4f 70 22 2c 32 34 2b  |OS_SpriteOp",24+|
00000160  32 35 36 2c 53 25 2c 22  62 72 75 73 68 22 20 b8  |256,S%,"brush" .|
00000170  20 2c 2c 41 25 0d 00 8c  05 3a 0d 00 96 28 ff 22  | ,,A%....:...(."|
00000180  4c 4f 41 44 20 3c 45 72  61 73 75 72 65 24 64 69  |LOAD <Erasure$di|
00000190  72 3e 2e 45 52 43 4f 44  45 20 22 2b c3 7e 63 6f  |r>.ERCODE "+.~co|
000001a0  64 65 0d 00 a0 05 3a 0d  00 aa 14 ee 20 85 20 d6  |de....:..... . .|
000001b0  6b 69 6c 6c 73 6f 75 6e  64 3a e0 0d 00 b4 4d 6f  |killsound:....Mo|
000001c0  75 72 69 6e 66 3d 63 6f  64 65 2b 26 46 38 3a 6b  |urinf=code+&F8:k|
000001d0  69 6c 6c 73 6f 75 6e 64  3d 63 6f 64 65 2b 26 35  |illsound=code+&5|
000001e0  44 38 3a 69 6e 73 74 61  6c 6c 73 6f 75 6e 64 3d  |D8:installsound=|
000001f0  63 6f 64 65 2b 26 34 45  38 3a 69 6e 74 72 3d 63  |code+&4E8:intr=c|
00000200  6f 64 65 2b 26 31 42 38  0d 00 be 12 d6 20 69 6e  |ode+&1B8..... in|
00000210  73 74 61 6c 6c 73 6f 75  6e 64 0d 00 c8 23 2a 53  |stallsound...#*S|
00000220  43 52 45 45 4e 4c 4f 41  44 20 3c 45 72 61 73 75  |CREENLOAD <Erasu|
00000230  72 65 24 44 69 72 3e 2e  50 49 43 43 59 0d 00 d2  |re$Dir>.PICCY...|
00000240  05 87 0d 00 dc 1d de 20  59 25 28 33 29 2c 42 25  |....... Y%(3),B%|
00000250  28 33 29 2c 43 25 28 33  29 2c 4f 25 28 33 29 0d  |(3),C%(3),O%(3).|
00000260  00 e6 0d e3 20 49 3d 30  20 b8 20 33 0d 00 f0 0f  |.... I=0 . 3....|
00000270  20 59 25 28 49 29 3d 2d  32 35 36 0d 00 fa 0f 20  | Y%(I)=-256.... |
00000280  4f 25 28 49 29 3d 2d 35  31 32 0d 01 04 14 20 42  |O%(I)=-512.... B|
00000290  25 28 49 29 3d 34 31 36  2b 49 2a 31 32 38 0d 01  |%(I)=416+I*128..|
000002a0  0e 18 20 43 25 28 49 29  3d 33 32 2a 49 2b 34 2b  |.. C%(I)=32*I+4+|
000002b0  6f 75 72 69 6e 66 0d 01  18 05 ed 0d 01 22 0e e6  |ourinf......."..|
000002c0  20 30 2c 30 20 c8 9c 20  30 0d 01 2c 05 3a 0d 01  | 0,0 .. 0..,.:..|
000002d0  36 05 f5 0d 01 40 18 d6  20 69 6e 74 72 3a c8 96  |6....@.. intr:..|
000002e0  3a e3 20 49 25 3d 30 20  b8 20 33 0d 01 4a 14 e7  |:. I%=0 . 3..J..|
000002f0  4f 25 28 49 25 29 2d 59  25 28 49 25 29 20 8c 0d  |O%(I%)-Y%(I%) ..|
00000300  01 54 48 c8 93 c8 90 42  25 28 49 25 29 2c 4f 25  |.TH....B%(I%),O%|
00000310  28 49 25 29 2c 36 34 2c  32 35 36 3a c8 99 26 32  |(I%),64,256:..&2|
00000320  45 2c 35 34 36 2c 53 25  2c 41 25 2c 42 25 28 49  |E,546,S%,A%,B%(I|
00000330  25 29 2c 59 25 28 49 25  29 3a 4f 25 28 49 25 29  |%),Y%(I%):O%(I%)|
00000340  3d 59 25 28 49 25 29 0d  01 5e 05 cd 0d 01 68 11  |=Y%(I%)..^....h.|
00000350  e7 20 21 43 25 28 49 25  29 3e 30 20 8c 0d 01 72  |. !C%(I%)>0 ...r|
00000360  1c 20 59 25 28 49 25 29  3d 2d 32 35 36 2b 21 43  |. Y%(I%)=-256+!C|
00000370  25 28 49 25 29 2f 32 35  36 0d 01 7c 05 cc 0d 01  |%(I%)/256..|....|
00000380  86 1c 20 e7 20 59 25 28  49 25 29 3e 2d 32 35 36  |.. . Y%(I%)>-256|
00000390  20 59 25 28 49 25 29 2d  3d 38 0d 01 90 05 cd 0d  | Y%(I%)-=8......|
000003a0  01 9a 09 ed 3a fd 20 a3  0d ff                    |....:. ...|
000003aa