Home » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199403_2.adf » Disk2Mar94 » !AWMar94/Goodies/yass/!Yass2/Savers/Clock

!AWMar94/Goodies/yass/!Yass2/Savers/Clock

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 » Recent acquisitions » Acorn ADFS disks » adfs_ArchimedesWorld_199403_2.adf » Disk2Mar94
Filename: !AWMar94/Goodies/yass/!Yass2/Savers/Clock
Read OK:
File size: 0256 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM Clock
   20
   30DEFFNclock_start
   40LOCAL S%
   41IF max_c%>16 THEN =TRUE
   50PROCclearscreen(-1)
   60SYS "ColourTrans_SelectTable",sprite%,"clock",-1,-1,0,2 TO ,,,,S%
   70tim_t%=FNmalloc(S%)
   71SYS "ColourTrans_SelectTable",sprite%,"clock",-1,-1,tim_t%,2
  100tim_t$=""
  110=0
  120
  130DEFFNclock_poll
  140LOCAL T$,A%
  150T$=MID$(TIME$,17,8)
  160IF T$<>tim_t$ THEN
  170  PROCclearscreen(0):tim_t$=T$:sys_u2$=T$
  180  A%=sys_len%:sys_len%=8:PROCupdate_clock(7):sys_len%=A%
  190  SYS "OS_SpriteOp",290,sprite%,"clock",RND(max_x%-128),RND(max_y%-128),0,tim_t%
  191ENDIF
  192IF now_going%>12000 THEN =TRUE
  193=1
  194
  195DEFFNclock_stop
  196PROCfree(tim_t%):PROCupdate_clock(1)
  197=0
  198

� Clock

ݤclock_start
(� S%
)� max_c%>16 � =�
2�clearscreen(-1)
<Cș "ColourTrans_SelectTable",sprite%,"clock",-1,-1,0,2 � ,,,,S%
Ftim_t%=�malloc(S%)
G?ș "ColourTrans_SelectTable",sprite%,"clock",-1,-1,tim_t%,2
d
tim_t$=""
n=0
x
�ݤclock_poll
�� T$,A%
�T$=��$,17,8)
�� T$<>tim_t$ �
�*  �clearscreen(0):tim_t$=T$:sys_u2$=T$
�9  A%=sys_len%:sys_len%=8:�update_clock(7):sys_len%=A%
�O  ș "OS_SpriteOp",290,sprite%,"clock",�(max_x%-128),�(max_y%-128),0,tim_t%
��
�� now_going%>12000 � =�
�=1
�
�ݤclock_stop
�"�free(tim_t%):�update_clock(1)
�=0
�
�
00000000  0d 00 0a 0b f4 20 43 6c  6f 63 6b 0d 00 14 04 0d  |..... Clock.....|
00000010  00 1e 11 dd a4 63 6c 6f  63 6b 5f 73 74 61 72 74  |.....clock_start|
00000020  0d 00 28 08 ea 20 53 25  0d 00 29 14 e7 20 6d 61  |..(.. S%..).. ma|
00000030  78 5f 63 25 3e 31 36 20  8c 20 3d b9 0d 00 32 14  |x_c%>16 . =...2.|
00000040  f2 63 6c 65 61 72 73 63  72 65 65 6e 28 2d 31 29  |.clearscreen(-1)|
00000050  0d 00 3c 43 c8 99 20 22  43 6f 6c 6f 75 72 54 72  |..<C.. "ColourTr|
00000060  61 6e 73 5f 53 65 6c 65  63 74 54 61 62 6c 65 22  |ans_SelectTable"|
00000070  2c 73 70 72 69 74 65 25  2c 22 63 6c 6f 63 6b 22  |,sprite%,"clock"|
00000080  2c 2d 31 2c 2d 31 2c 30  2c 32 20 b8 20 2c 2c 2c  |,-1,-1,0,2 . ,,,|
00000090  2c 53 25 0d 00 46 16 74  69 6d 5f 74 25 3d a4 6d  |,S%..F.tim_t%=.m|
000000a0  61 6c 6c 6f 63 28 53 25  29 0d 00 47 3f c8 99 20  |alloc(S%)..G?.. |
000000b0  22 43 6f 6c 6f 75 72 54  72 61 6e 73 5f 53 65 6c  |"ColourTrans_Sel|
000000c0  65 63 74 54 61 62 6c 65  22 2c 73 70 72 69 74 65  |ectTable",sprite|
000000d0  25 2c 22 63 6c 6f 63 6b  22 2c 2d 31 2c 2d 31 2c  |%,"clock",-1,-1,|
000000e0  74 69 6d 5f 74 25 2c 32  0d 00 64 0d 74 69 6d 5f  |tim_t%,2..d.tim_|
000000f0  74 24 3d 22 22 0d 00 6e  06 3d 30 0d 00 78 04 0d  |t$=""..n.=0..x..|
00000100  00 82 10 dd a4 63 6c 6f  63 6b 5f 70 6f 6c 6c 0d  |.....clock_poll.|
00000110  00 8c 0b ea 20 54 24 2c  41 25 0d 00 96 10 54 24  |.... T$,A%....T$|
00000120  3d c1 91 24 2c 31 37 2c  38 29 0d 00 a0 12 e7 20  |=..$,17,8)..... |
00000130  54 24 3c 3e 74 69 6d 5f  74 24 20 8c 0d 00 aa 2a  |T$<>tim_t$ ....*|
00000140  20 20 f2 63 6c 65 61 72  73 63 72 65 65 6e 28 30  |  .clearscreen(0|
00000150  29 3a 74 69 6d 5f 74 24  3d 54 24 3a 73 79 73 5f  |):tim_t$=T$:sys_|
00000160  75 32 24 3d 54 24 0d 00  b4 39 20 20 41 25 3d 73  |u2$=T$...9  A%=s|
00000170  79 73 5f 6c 65 6e 25 3a  73 79 73 5f 6c 65 6e 25  |ys_len%:sys_len%|
00000180  3d 38 3a f2 75 70 64 61  74 65 5f 63 6c 6f 63 6b  |=8:.update_clock|
00000190  28 37 29 3a 73 79 73 5f  6c 65 6e 25 3d 41 25 0d  |(7):sys_len%=A%.|
000001a0  00 be 4f 20 20 c8 99 20  22 4f 53 5f 53 70 72 69  |..O  .. "OS_Spri|
000001b0  74 65 4f 70 22 2c 32 39  30 2c 73 70 72 69 74 65  |teOp",290,sprite|
000001c0  25 2c 22 63 6c 6f 63 6b  22 2c b3 28 6d 61 78 5f  |%,"clock",.(max_|
000001d0  78 25 2d 31 32 38 29 2c  b3 28 6d 61 78 5f 79 25  |x%-128),.(max_y%|
000001e0  2d 31 32 38 29 2c 30 2c  74 69 6d 5f 74 25 0d 00  |-128),0,tim_t%..|
000001f0  bf 05 cd 0d 00 c0 1b e7  20 6e 6f 77 5f 67 6f 69  |........ now_goi|
00000200  6e 67 25 3e 31 32 30 30  30 20 8c 20 3d b9 0d 00  |ng%>12000 . =...|
00000210  c1 06 3d 31 0d 00 c2 04  0d 00 c3 10 dd a4 63 6c  |..=1..........cl|
00000220  6f 63 6b 5f 73 74 6f 70  0d 00 c4 22 f2 66 72 65  |ock_stop...".fre|
00000230  65 28 74 69 6d 5f 74 25  29 3a f2 75 70 64 61 74  |e(tim_t%):.updat|
00000240  65 5f 63 6c 6f 63 6b 28  31 29 0d 00 c5 06 3d 30  |e_clock(1)....=0|
00000250  0d 00 c6 04 0d ff                                 |......|
00000256