Date : Wed, 20 Aug 2008 20:36:50 +0930
From : rafg1@... (Raf)
Subject: Master 128 century correction
On 18/08/2008 Jonathan Graham Harston wrote:-
>1 REM > NewTime/s
>2 REM Intercept RTC calls to force 21st century
>3 :
> 4 DIM mcode% &800
> 5 FOR P=0 TO 1
> 6 P%=&8000:O%=mcode%
> 7 [OPT P*3+4
> 8 EQUB 0:EQUW 0
> 9 JMP Service
>10 EQUB &82:EQUB Copyright-&8000:EQUB 1
>11 EQUS "TIME":EQUB 0
>12 EQUS "1.00"
>13 .Copyright
>14 EQUB 0:EQUS "(C)"
>15 EQUB 0
>16 :
>17 .Service
>18 CMP #&27:BEQ ServReset
>19 RTS
>20 .ServReset
>21 LDA &20C:STA oldwordv+0
>22 LDA &20D:STA oldwordv+1
>23 LDA #newword AND 255:STA &DB1
>24 LDA #newword DIV 256:STA &DB2
>25 STX &DB3
>26 LDA #&12:STA &20C
>27 LDA #&FF:STA &20D
>28 LDA #&27:RTS
>29 :
>30 .newword
>31 CMP #14:BEQ newword14
>32 .oldword
>33 JMP (oldwordv)
>34 :
>35 .newword14
>36 STX &F0:STY &F1
>37 LDY #0:LDA (&F0),Y:PHA
>38 LDY &F1:LDA #14:JSR oldword
>39 PLA:BNE exit
>40 LDY #11:LDA #ASC"2":STA (&F0),Y
>41 INY:LDA #ASC"0":STA (&F0),Y
>42 .exit
>43 LDX &F0:LDY &F1:LDA #14
>44 RTS
>45 :
>46 .oldwordv:EQUW 0
>47 ]
>48 NEXT
>49 A$="SAVE NEWTIME "+STR$~mcode%+" "+STR$~O%+" 8000 8000"
>50 OSCLIA$
Thank you Jonathan.
The listing above that you sent me causes problems
with *BUILD <fsp> and *APPEND <fsp>. These
do not work with the programming as it stands and
keypresses emit the usual loud 'bleep' with nothing to
see on the screen. I have not tested any other filing
system or MOS (3.20) commands but there may well
be others. The contents of &B0 to & CF don't appear
to be correct, also.
I have made a few changes in the programming and have
numbered the it so as to make it somewhat easier to
follow the changes.
The program still prints out the correct *TIME($) & PRINT TIME$
with the current century but I have *almost* but not quite got the
above problems fixed as you will no doubt see.
E-mail message checked by Spyware Doctor (6.0.0.362)
Database version: 5.10520
http://www.pctools.com/en/spyware-doctor-antivirus/