Home » CEEFAX disks » telesoftware1.adl » CeeFax/Real_Time

CeeFax/Real_Time

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 » CEEFAX disks » telesoftware1.adl
Filename: CeeFax/Real_Time
Read OK:
File size: 0425 bytes
Load address: FFFF0E00
Exec address: FFFF802B
File contents
   10:
   20:
   30REM"�RESETS MASTER REAL-TIME�"
   40REM"�   CLOCK FROM CEEFAX �  "
   50REM"�  R.Sterry   31.01.87  �"
   60REM"�  Update-1   22.02.87  �"
   70REM"�Requires  Acorn ATS ROM�"
   80:
   90:
  100ONERRORGOTO10000
  110*SHADOW1
  120MODE7:VDU23,1|
  130DIMblock%20:chan%=1
  140PRINT':*TTXON
  150*HON
  160VDU30:PRINT"�BBC";chan%TAB(32)"�Waiting":OSCLI("CH"+STR$(chan%))
  180IFFNosword(22,12)=TRUE THEN200
  190IFchan%=2THENPRINT'"�Sorry; can't find BBC1 or BBC2 !!"':GOTO240ELSEchan%=chan%+1:GOTO160
  200TIME$=FNdate($(block%+1))
  210IFFNosword(21,10)=FALSE THENRUN
  220*TTXOFF
  230TIME$=$(block%+1):CLS:PRINT'"�Real-time clock reset from BBC";chan%"..."''"�"TIME$'
  240VDU23,1,1|:*TTXOFF
  250END
  260:
  270:
  280:
 1000DEFFNosword(n%,f%):LOCALt%,X%,Y%,A%:A%=&7A:X%=block%:Y%=block%DIV256
 1010?block%=n%:t%=TIME
 1020REPEAT:CALL&FFF1:UNTILblock%?f%<>&FF ORTIME>=t%+250
 1030block%?(f%-1)=13:IFblock%?f%=&FF THEN=FALSE ELSE=TRUE
 1040:
 1050:
 1060DEFFNdate(date$):LOCALday$,d%,month%,month$
 1070start%=HIMEM+19:FORd%=1TO3:day$=day$+CHR$((start%?d%)AND127):NEXT
 1080month%=VAL(MID$(date$,4,2)):month$=MID$("JanFebMarAprMayJunJulAugSepOctNovDec",(month%-1)*3+1,3)
 1090=day$+","+LEFT$(date$,2)+" "+month$+" "+RIGHT$(date$,4)
 1100:
 1110:
 1120:
10000ONERROROFF
10010*TTXOFF
10020MODE7:PRINT:REPORT:PRINT" at line ";ERL
10030END

:
:
 �"�RESETS MASTER REAL-TIME�"
( �"�   CLOCK FROM CEEFAX �  "
2 �"�  R.Sterry   31.01.87  �"
< �"�  Update-1   22.02.87  �"
F �"�Requires  Acorn ATS ROM�"
P:
Z:
d��TPg
n*SHADOW1
x
�7:�23,1|
��block%20:chan%=1
�
�':*TTXON
�*HON
�4�30:�"�BBC";chan%�32)"�Waiting":�("CH"+�(chan%))
��osword(22,12)=� ��dH@
�N�chan%=2��'"�Sorry; can't find BBC1 or BBC2 !!"':�dp@�chan%=chan%+1:�t`@
��$=�date($(block%+1))
��osword(21,10)=� ��
�*TTXOFF
�K�$=$(block%+1):�:�'"�Real-time clock reset from BBC";chan%"..."''"�"�$'
��23,1,1|:*TTXOFF
��
:
:
:
�?ݤosword(n%,f%):�t%,X%,Y%,A%:A%=&7A:X%=block%:Y%=block%�256
�?block%=n%:t%=�
�'�:�&FFF1:�block%?f%<>&FF ��>=t%+250
+block%?(f%-1)=13:�block%?f%=&FF �=� �=�
:
:
$(ݤdate(date$):�day$,d%,month%,month$
.6start%=�+19:�d%=1�3:day$=day$+�((start%?d%)�127):�
8Zmonth%=�(�date$,4,2)):month$=�"JanFebMarAprMayJunJulAugSepOctNovDec",(month%-1)*3+1,3)
B0=day$+","+�date$,2)+" "+month$+" "+�date$,4)
L:
V:
`:
'
'*TTXOFF
'$�7:�:�:�" at line ";�
'.�
�
00000000  0d 00 0a 05 3a 0d 00 14  05 3a 0d 00 1e 20 f4 22  |....:....:... ."|
00000010  83 52 45 53 45 54 53 20  4d 41 53 54 45 52 20 52  |.RESETS MASTER R|
00000020  45 41 4c 2d 54 49 4d 45  87 22 0d 00 28 20 f4 22  |EAL-TIME."..( ."|
00000030  83 20 20 20 43 4c 4f 43  4b 20 46 52 4f 4d 20 43  |.   CLOCK FROM C|
00000040  45 45 46 41 58 20 87 20  20 22 0d 00 32 20 f4 22  |EEFAX .  "..2 ."|
00000050  86 20 20 52 2e 53 74 65  72 72 79 20 20 20 33 31  |.  R.Sterry   31|
00000060  2e 30 31 2e 38 37 20 20  87 22 0d 00 3c 20 f4 22  |.01.87  ."..< ."|
00000070  81 20 20 55 70 64 61 74  65 2d 31 20 20 20 32 32  |.  Update-1   22|
00000080  2e 30 32 2e 38 37 20 20  87 22 0d 00 46 20 f4 22  |.02.87  ."..F ."|
00000090  82 52 65 71 75 69 72 65  73 20 20 41 63 6f 72 6e  |.Requires  Acorn|
000000a0  20 41 54 53 20 52 4f 4d  87 22 0d 00 50 05 3a 0d  | ATS ROM."..P.:.|
000000b0  00 5a 05 3a 0d 00 64 0b  ee 85 e5 8d 54 50 67 0d  |.Z.:..d.....TPg.|
000000c0  00 6e 0c 2a 53 48 41 44  4f 57 31 0d 00 78 0d eb  |.n.*SHADOW1..x..|
000000d0  37 3a ef 32 33 2c 31 7c  0d 00 82 15 de 62 6c 6f  |7:.23,1|.....blo|
000000e0  63 6b 25 32 30 3a 63 68  61 6e 25 3d 31 0d 00 8c  |ck%20:chan%=1...|
000000f0  0d f1 27 3a 2a 54 54 58  4f 4e 0d 00 96 08 2a 48  |..':*TTXON....*H|
00000100  4f 4e 0d 00 a0 34 ef 33  30 3a f1 22 86 42 42 43  |ON...4.30:.".BBC|
00000110  22 3b 63 68 61 6e 25 8a  33 32 29 22 82 57 61 69  |";chan%.32)".Wai|
00000120  74 69 6e 67 22 3a ff 28  22 43 48 22 2b c3 28 63  |ting":.("CH"+.(c|
00000130  68 61 6e 25 29 29 0d 00  b4 1b e7 a4 6f 73 77 6f  |han%))......oswo|
00000140  72 64 28 32 32 2c 31 32  29 3d b9 20 8c 8d 64 48  |rd(22,12)=. ..dH|
00000150  40 0d 00 be 4e e7 63 68  61 6e 25 3d 32 8c f1 27  |@...N.chan%=2..'|
00000160  22 83 53 6f 72 72 79 3b  20 63 61 6e 27 74 20 66  |".Sorry; can't f|
00000170  69 6e 64 20 42 42 43 31  20 6f 72 20 42 42 43 32  |ind BBC1 or BBC2|
00000180  20 21 21 22 27 3a e5 8d  64 70 40 8b 63 68 61 6e  | !!"':..dp@.chan|
00000190  25 3d 63 68 61 6e 25 2b  31 3a e5 8d 74 60 40 0d  |%=chan%+1:..t`@.|
000001a0  00 c8 19 d1 24 3d a4 64  61 74 65 28 24 28 62 6c  |....$=.date($(bl|
000001b0  6f 63 6b 25 2b 31 29 29  0d 00 d2 18 e7 a4 6f 73  |ock%+1))......os|
000001c0  77 6f 72 64 28 32 31 2c  31 30 29 3d a3 20 8c f9  |word(21,10)=. ..|
000001d0  0d 00 dc 0b 2a 54 54 58  4f 46 46 0d 00 e6 4b d1  |....*TTXOFF...K.|
000001e0  24 3d 24 28 62 6c 6f 63  6b 25 2b 31 29 3a db 3a  |$=$(block%+1):.:|
000001f0  f1 27 22 83 52 65 61 6c  2d 74 69 6d 65 20 63 6c  |.'".Real-time cl|
00000200  6f 63 6b 20 72 65 73 65  74 20 66 72 6f 6d 20 42  |ock reset from B|
00000210  42 43 22 3b 63 68 61 6e  25 22 2e 2e 2e 22 27 27  |BC";chan%"..."''|
00000220  22 86 22 91 24 27 0d 00  f0 14 ef 32 33 2c 31 2c  |".".$'.....23,1,|
00000230  31 7c 3a 2a 54 54 58 4f  46 46 0d 00 fa 05 e0 0d  |1|:*TTXOFF......|
00000240  01 04 05 3a 0d 01 0e 05  3a 0d 01 18 05 3a 0d 03  |...:....:....:..|
00000250  e8 3f dd a4 6f 73 77 6f  72 64 28 6e 25 2c 66 25  |.?..osword(n%,f%|
00000260  29 3a ea 74 25 2c 58 25  2c 59 25 2c 41 25 3a 41  |):.t%,X%,Y%,A%:A|
00000270  25 3d 26 37 41 3a 58 25  3d 62 6c 6f 63 6b 25 3a  |%=&7A:X%=block%:|
00000280  59 25 3d 62 6c 6f 63 6b  25 81 32 35 36 0d 03 f2  |Y%=block%.256...|
00000290  13 3f 62 6c 6f 63 6b 25  3d 6e 25 3a 74 25 3d 91  |.?block%=n%:t%=.|
000002a0  0d 03 fc 27 f5 3a d6 26  46 46 46 31 3a fd 62 6c  |...'.:.&FFF1:.bl|
000002b0  6f 63 6b 25 3f 66 25 3c  3e 26 46 46 20 84 91 3e  |ock%?f%<>&FF ..>|
000002c0  3d 74 25 2b 32 35 30 0d  04 06 2b 62 6c 6f 63 6b  |=t%+250...+block|
000002d0  25 3f 28 66 25 2d 31 29  3d 31 33 3a e7 62 6c 6f  |%?(f%-1)=13:.blo|
000002e0  63 6b 25 3f 66 25 3d 26  46 46 20 8c 3d a3 20 8b  |ck%?f%=&FF .=. .|
000002f0  3d b9 0d 04 10 05 3a 0d  04 1a 05 3a 0d 04 24 28  |=.....:....:..$(|
00000300  dd a4 64 61 74 65 28 64  61 74 65 24 29 3a ea 64  |..date(date$):.d|
00000310  61 79 24 2c 64 25 2c 6d  6f 6e 74 68 25 2c 6d 6f  |ay$,d%,month%,mo|
00000320  6e 74 68 24 0d 04 2e 36  73 74 61 72 74 25 3d 93  |nth$...6start%=.|
00000330  2b 31 39 3a e3 64 25 3d  31 b8 33 3a 64 61 79 24  |+19:.d%=1.3:day$|
00000340  3d 64 61 79 24 2b bd 28  28 73 74 61 72 74 25 3f  |=day$+.((start%?|
00000350  64 25 29 80 31 32 37 29  3a ed 0d 04 38 5a 6d 6f  |d%).127):...8Zmo|
00000360  6e 74 68 25 3d bb 28 c1  64 61 74 65 24 2c 34 2c  |nth%=.(.date$,4,|
00000370  32 29 29 3a 6d 6f 6e 74  68 24 3d c1 22 4a 61 6e  |2)):month$=."Jan|
00000380  46 65 62 4d 61 72 41 70  72 4d 61 79 4a 75 6e 4a  |FebMarAprMayJunJ|
00000390  75 6c 41 75 67 53 65 70  4f 63 74 4e 6f 76 44 65  |ulAugSepOctNovDe|
000003a0  63 22 2c 28 6d 6f 6e 74  68 25 2d 31 29 2a 33 2b  |c",(month%-1)*3+|
000003b0  31 2c 33 29 0d 04 42 30  3d 64 61 79 24 2b 22 2c  |1,3)..B0=day$+",|
000003c0  22 2b c0 64 61 74 65 24  2c 32 29 2b 22 20 22 2b  |"+.date$,2)+" "+|
000003d0  6d 6f 6e 74 68 24 2b 22  20 22 2b c2 64 61 74 65  |month$+" "+.date|
000003e0  24 2c 34 29 0d 04 4c 05  3a 0d 04 56 05 3a 0d 04  |$,4)..L.:..V.:..|
000003f0  60 05 3a 0d 27 10 07 ee  85 87 0d 27 1a 0b 2a 54  |`.:.'......'..*T|
00000400  54 58 4f 46 46 0d 27 24  19 eb 37 3a f1 3a f6 3a  |TXOFF.'$..7:.:.:|
00000410  f1 22 20 61 74 20 6c 69  6e 65 20 22 3b 9e 0d 27  |." at line ";..'|
00000420  2e 05 e0 0d ff                                    |.....|
00000425
CeeFax/Real_Time.m0
CeeFax/Real_Time.m1
CeeFax/Real_Time.m2
CeeFax/Real_Time.m4
CeeFax/Real_Time.m5