Date : Fri, 15 Aug 2008 08:39:50 +0930
From : rafg1@... (Raf)
Subject: Master 128 century correction
> From: "Jonathan Graham Harston" <jgh@...>
> To: <bbc-micro@...>
> Sent: Monday, August 11, 2008 10:10 AM
> Subject: Re: [BBC-Micro] Master 128 century correction
> Jonathan wrote:
>>
>> 2: You don't need to read the RTC hardware manually yourself, when
>> there is code already existing in the machine to do it for you.
>> Rather than intercept OSWORD 14 and do everything, pass the call on
>> the the MOS, and modify the returned data if it needs modifying,
>> something like:
>>
>> .newosword
>> CMP #14:BNE newosword14
>> .oldosword
>> JMP (oldword)
>> .newosword14
>> STX &F0:STY &F1
>> LDY #0:LDA (&F0),Y:PHA :\ Save subcall number
>> LDY &F1:JSR oldosword
>> PLA:CMP #0:BNE newoswordexit
>> LDY #11:LDA #ASC"2":STA (&F0),Y :\ Overwrite century
>> INY:LDA #ASC"0":STA (&F0),Y
>> .newoswordexit
>> LDX &F0:LDY &F1:LDA #14
>> RTS
>
> Hi Jonathan,
>
> I am unable to get the above to work. At one stage,
> it would only print the word "TIME" plus few meaningless
> characters. I took the liberty of changing the second line to:-
>
> CMP#14: BEQ newosword14
> (otherwise it did nothing).
>
> 1.Would you please have another look at the programme.
> Any additions or amendments, (indeed a whole programme
> in assembler - as above) would be most gratefully appreciated?
>
> 2.Would you put 'oldword=&20C' ?
> ie the fourth line equivalent to 'JMP (&20C)'
> otherwise, what would you put oldword equal to ?
>
> Best wishes,
>
> Raf.
>
>
>
>
>
E-mail message checked by Spyware Doctor (6.0.0.362)
Database version: 5.10480
http://www.pctools.com/en/spyware-doctor-antivirus/