******************************************************************** * Clock - OS-9 Level One V2 Clock module * * $Id: clock.asm,v 1.1.1.1 2001/02/21 23:30:52 boisy Exp $ * * NOTE: This clock is TOTALLY VALID for ALL DATES between 1900-2155 * * Ed. Comments Who YY/MM/DD * ------------------------------------------------------------------ * 5 Tandy/Microware original version * 6 Modified to handle leap years properly for BGP 99/05/03 * 1900 and 2100 A.D. nam Clock ttl OS-9 Level One V2 Clock module ifp1 use defsfile endc tylg set Systm+Objct atrv set ReEnt+rev rev set $01 edition set $06 TimerPort set $ffb0 mod eom,name,tylg,atrv,ClkEnt,size size equ . name fcs /Clock/ fcb edition SysTbl fcb F$Time fdb FTime-*-2 fcb F$STime fdb FSTime-*-2 fcb $80 ClockIRQ ldx #TimerPort lda ,x bita #$10 beq L00AE lda #$8f sta >TimerPort L00AE jsr [>D.Poll] bcc L00AE L00B4 jsr [>D.AltIRQ] rti ClkEnt equ * pshs cc orcc #FIRQMask+IRQMask mask ints leax >ClockIRQ,pcr stx SysTbl,pcr os9 F$SSvc ldx #TimerPort ldb #$8f start timer stb ,x puls pc,cc * F$Time system call code FTime ldx #TimerPort ldb #$04 stb ,x leax 1,x Address of system time packet RetTime ldy