> RTCAdj/s  Add/Sub one hour to time  mcode% 255 (load%=&FFFF0900 2OSWORD=&FFF1 <asm(+1):asm(-1) F P: Zasm(adj%) d adj%<0:fname$="RTCSub" n adj%>0:fname$="RTCAdd" x P=0 1 P%=load%:O%=mcode% [OPT P*3+4 .go% LDA #1:STA ClockBCD+0 LDX #ClockBCD 255 LDY #ClockBCD 256 LDA #14:JSR OSWORD : LDA ClockBCD+4 ] . adj%<0:[OPT P*3+4:SED:SEC:SBC #&01:CLD:] . adj%>0:[OPT P*3+4:SED:CLC:ADC #&01:CLD:] [OPT P*3+4 CMP #&24:BCS errClock STA ClockBCD+4 : "LDA #2:STA ClockConv ,LDX #ClockConv 255 6LDY #ClockConv 256 @LDA #14:JSR OSWORD J: TLDA #24:STA ClockWr ^LDX #ClockWr 255 hLDY #ClockWr 256 rLDA #15:JMP OSWORD |:  .ClockWr  EQUB 0 .ClockConv  EQUB 0  .ClockBCD EQUS 24,0)  .errClock ] ; adj%<0:[OPT P*3+4:BRK:EQUB 225:EQUS "Yesterday":BRK:] : adj%>0:[OPT P*3+4:BRK:EQUB 225:EQUS "Tomorrow":BRK:]  MA$="SAVE "+fname$+" "+~mcode%+" "+~O%+" "+~(go%&FFFF0000)+" "+~load%  A$;: A$: