Home » Personal collection » Acorn ADFS disks » Greaseweazled » adfs_EUG_55.adf » U/STARS

U/STARS

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 ADFS disks » Greaseweazled » adfs_EUG_55.adf
Filename: U/STARS
Read OK:
File size: 03B6 bytes
Load address: FFFF0E00
Exec address: FFFF802B
Duplicates

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

File contents
   10REM C.R.Dewhurst
   20MODE2
   30VDU23;10,32;0;0;0;
   40PROCassem
   50PROCmess("Scrolling Stars",13)
   60PROCmess("C.R.Dewhurst",15)
   70PROCmess("10/9/2000",17)
   80CALLbackdrop
   90REPEAT
  100*FX19
  110CALLscroll
  120UNTIL0
  130END
  140DEF PROCmess(a$,Y%)
  150VDU31,(19-LENa$)DIV2,Y%
  160FOR X%=1 TO LEN a$
  170C%=X% AND 7
  180COLOUR C%-1*(C%=0)
  190PRINTMID$(a$,X%,1);
  200NEXT
  210ENDPROC
  220DEF PROCassem
  230FOR pass=0 TO 2 STEP 2
  240P%=&900
  250[OPT pass
  260.backdrop
  270LDX #58
  280.loop
  290LDA table,X:STA &72
  300LDA table+1,X:STA &73
  310LDY #0
  320LDA (&72),Y
  330EOR #21
  340STA (&72),Y
  350DEX:DEX
  360BPL loop
  370RTS
  380 
  390.scroll
  400JSR backdrop
  410LDX #58
  420.loop2
  430LDA table,X:TAY
  440AND #7:CMP #7:BNE nobot
  450TYA:CLC:ADC #&78:STA table,X
  460LDA table+1,X:ADC #2:BPL cont
  470SBC #&4F:.cont:STA table+1,X
  480.nobot:INC table,X:BNE cont2
  490INC table+1,X
  500.cont2:DEX:DEX
  510BPL loop2
  520JMP backdrop
  530 
  540.table
  550EQUS STRING$(60,CHR$0)
  560]
  570NEXT
  580FOR star%=0 TO 58 STEP2
  590A%=&3000+RND(&4FFF)
  600star%?table=A% MOD256
  610star%?(table+1)=A% DIV 256
  620NEXT
  630ENDPROC

� C.R.Dewhurst
�2
�23;10,32;0;0;0;
(
�assem
2�mess("Scrolling Stars",13)
<�mess("C.R.Dewhurst",15)
F�mess("10/9/2000",17)
P
�backdrop
Z�
d	*FX19
n�scroll
x�0
��
�� �mess(a$,Y%)
��31,(19-�a$)�2,Y%
�� X%=1 � � a$
�
C%=X% � 7
�� C%-1*(C%=0)
��a$,X%,1);
��
��
�� �assem
�� pass=0 � 2 � 2
�P%=&900
�
[OPT pass

.backdrop
LDX #58
	.loop
"LDA table,X:STA &72
,LDA table+1,X:STA &73
6
LDY #0
@LDA (&72),Y
J	� #21
TSTA (&72),Y
^DEX:DEX
hBPL loop
rRTS
| 
�.scroll
�JSR backdrop
�LDX #58
�
.loop2
�LDA table,X:TAY
�� #7:CMP #7:BNE nobot
� TYA:CLC:ADC #&78:STA table,X
�!LDA table+1,X:ADC #2:BPL cont
� SBC #&4F:.cont:STA table+1,X
� .nobot:INC table,X:BNE cont2
�INC table+1,X
�.cont2:DEX:DEX
�
BPL loop2
JMP backdrop
 

.table
&EQUS �60,�0)
0]
:�
D� star%=0 � 58 �2
NA%=&3000+�(&4FFF)
Xstar%?table=A% �256
bstar%?(table+1)=A% � 256
l�
v�
�
00000000  0d 00 0a 12 f4 20 43 2e  52 2e 44 65 77 68 75 72  |..... C.R.Dewhur|
00000010  73 74 0d 00 14 06 eb 32  0d 00 1e 14 ef 32 33 3b  |st.....2.....23;|
00000020  31 30 2c 33 32 3b 30 3b  30 3b 30 3b 0d 00 28 0a  |10,32;0;0;0;..(.|
00000030  f2 61 73 73 65 6d 0d 00  32 1f f2 6d 65 73 73 28  |.assem..2..mess(|
00000040  22 53 63 72 6f 6c 6c 69  6e 67 20 53 74 61 72 73  |"Scrolling Stars|
00000050  22 2c 31 33 29 0d 00 3c  1c f2 6d 65 73 73 28 22  |",13)..<..mess("|
00000060  43 2e 52 2e 44 65 77 68  75 72 73 74 22 2c 31 35  |C.R.Dewhurst",15|
00000070  29 0d 00 46 19 f2 6d 65  73 73 28 22 31 30 2f 39  |)..F..mess("10/9|
00000080  2f 32 30 30 30 22 2c 31  37 29 0d 00 50 0d d6 62  |/2000",17)..P..b|
00000090  61 63 6b 64 72 6f 70 0d  00 5a 05 f5 0d 00 64 09  |ackdrop..Z....d.|
000000a0  2a 46 58 31 39 0d 00 6e  0b d6 73 63 72 6f 6c 6c  |*FX19..n..scroll|
000000b0  0d 00 78 06 fd 30 0d 00  82 05 e0 0d 00 8c 12 dd  |..x..0..........|
000000c0  20 f2 6d 65 73 73 28 61  24 2c 59 25 29 0d 00 96  | .mess(a$,Y%)...|
000000d0  15 ef 33 31 2c 28 31 39  2d a9 61 24 29 81 32 2c  |..31,(19-.a$).2,|
000000e0  59 25 0d 00 a0 11 e3 20  58 25 3d 31 20 b8 20 a9  |Y%..... X%=1 . .|
000000f0  20 61 24 0d 00 aa 0d 43  25 3d 58 25 20 80 20 37  | a$....C%=X% . 7|
00000100  0d 00 b4 11 fb 20 43 25  2d 31 2a 28 43 25 3d 30  |..... C%-1*(C%=0|
00000110  29 0d 00 be 0f f1 c1 61  24 2c 58 25 2c 31 29 3b  |)......a$,X%,1);|
00000120  0d 00 c8 05 ed 0d 00 d2  05 e1 0d 00 dc 0c dd 20  |............... |
00000130  f2 61 73 73 65 6d 0d 00  e6 14 e3 20 70 61 73 73  |.assem..... pass|
00000140  3d 30 20 b8 20 32 20 88  20 32 0d 00 f0 0b 50 25  |=0 . 2 . 2....P%|
00000150  3d 26 39 30 30 0d 00 fa  0d 5b 4f 50 54 20 70 61  |=&900....[OPT pa|
00000160  73 73 0d 01 04 0d 2e 62  61 63 6b 64 72 6f 70 0d  |ss.....backdrop.|
00000170  01 0e 0b 4c 44 58 20 23  35 38 0d 01 18 09 2e 6c  |...LDX #58.....l|
00000180  6f 6f 70 0d 01 22 17 4c  44 41 20 74 61 62 6c 65  |oop..".LDA table|
00000190  2c 58 3a 53 54 41 20 26  37 32 0d 01 2c 19 4c 44  |,X:STA &72..,.LD|
000001a0  41 20 74 61 62 6c 65 2b  31 2c 58 3a 53 54 41 20  |A table+1,X:STA |
000001b0  26 37 33 0d 01 36 0a 4c  44 59 20 23 30 0d 01 40  |&73..6.LDY #0..@|
000001c0  0f 4c 44 41 20 28 26 37  32 29 2c 59 0d 01 4a 09  |.LDA (&72),Y..J.|
000001d0  82 20 23 32 31 0d 01 54  0f 53 54 41 20 28 26 37  |. #21..T.STA (&7|
000001e0  32 29 2c 59 0d 01 5e 0b  44 45 58 3a 44 45 58 0d  |2),Y..^.DEX:DEX.|
000001f0  01 68 0c 42 50 4c 20 6c  6f 6f 70 0d 01 72 07 52  |.h.BPL loop..r.R|
00000200  54 53 0d 01 7c 05 20 0d  01 86 0b 2e 73 63 72 6f  |TS..|. .....scro|
00000210  6c 6c 0d 01 90 10 4a 53  52 20 62 61 63 6b 64 72  |ll....JSR backdr|
00000220  6f 70 0d 01 9a 0b 4c 44  58 20 23 35 38 0d 01 a4  |op....LDX #58...|
00000230  0a 2e 6c 6f 6f 70 32 0d  01 ae 13 4c 44 41 20 74  |..loop2....LDA t|
00000240  61 62 6c 65 2c 58 3a 54  41 59 0d 01 b8 19 80 20  |able,X:TAY..... |
00000250  23 37 3a 43 4d 50 20 23  37 3a 42 4e 45 20 6e 6f  |#7:CMP #7:BNE no|
00000260  62 6f 74 0d 01 c2 20 54  59 41 3a 43 4c 43 3a 41  |bot... TYA:CLC:A|
00000270  44 43 20 23 26 37 38 3a  53 54 41 20 74 61 62 6c  |DC #&78:STA tabl|
00000280  65 2c 58 0d 01 cc 21 4c  44 41 20 74 61 62 6c 65  |e,X...!LDA table|
00000290  2b 31 2c 58 3a 41 44 43  20 23 32 3a 42 50 4c 20  |+1,X:ADC #2:BPL |
000002a0  63 6f 6e 74 0d 01 d6 20  53 42 43 20 23 26 34 46  |cont... SBC #&4F|
000002b0  3a 2e 63 6f 6e 74 3a 53  54 41 20 74 61 62 6c 65  |:.cont:STA table|
000002c0  2b 31 2c 58 0d 01 e0 20  2e 6e 6f 62 6f 74 3a 49  |+1,X... .nobot:I|
000002d0  4e 43 20 74 61 62 6c 65  2c 58 3a 42 4e 45 20 63  |NC table,X:BNE c|
000002e0  6f 6e 74 32 0d 01 ea 11  49 4e 43 20 74 61 62 6c  |ont2....INC tabl|
000002f0  65 2b 31 2c 58 0d 01 f4  12 2e 63 6f 6e 74 32 3a  |e+1,X.....cont2:|
00000300  44 45 58 3a 44 45 58 0d  01 fe 0d 42 50 4c 20 6c  |DEX:DEX....BPL l|
00000310  6f 6f 70 32 0d 02 08 10  4a 4d 50 20 62 61 63 6b  |oop2....JMP back|
00000320  64 72 6f 70 0d 02 12 05  20 0d 02 1c 0a 2e 74 61  |drop.... .....ta|
00000330  62 6c 65 0d 02 26 10 45  51 55 53 20 c4 36 30 2c  |ble..&.EQUS .60,|
00000340  bd 30 29 0d 02 30 05 5d  0d 02 3a 05 ed 0d 02 44  |.0)..0.]..:....D|
00000350  15 e3 20 73 74 61 72 25  3d 30 20 b8 20 35 38 20  |.. star%=0 . 58 |
00000360  88 32 0d 02 4e 15 41 25  3d 26 33 30 30 30 2b b3  |.2..N.A%=&3000+.|
00000370  28 26 34 46 46 46 29 0d  02 58 17 73 74 61 72 25  |(&4FFF)..X.star%|
00000380  3f 74 61 62 6c 65 3d 41  25 20 83 32 35 36 0d 02  |?table=A% .256..|
00000390  62 1c 73 74 61 72 25 3f  28 74 61 62 6c 65 2b 31  |b.star%?(table+1|
000003a0  29 3d 41 25 20 81 20 32  35 36 0d 02 6c 05 ed 0d  |)=A% . 256..l...|
000003b0  02 76 05 e1 0d ff                                 |.v....|
000003b6
U/STARS.m0
U/STARS.m1
U/STARS.m2
U/STARS.m4
U/STARS.m5