mirror of
https://github.com/PDP-10/its.git
synced 2026-02-15 04:16:21 +00:00
APLCLK - Apple II clock.
Reconstructed from GUEST2; VTCLK 6 and disassembly of SYS3; TS APLCLK dated 1981-09-06.
This commit is contained in:
@@ -39,7 +39,10 @@ START: SYSCAL OPEN,[%CLBIT,,%TJDIS+.UIO
|
||||
.LOSE %LSFIL
|
||||
|
||||
move p,[-lpdl,,pdl]
|
||||
MOVEI A,[ASCIZ/Multi-Time Zone clock program.
|
||||
MOVEI A,[ASCIZ/4-zone Clock and System Status for the Apple ][ with The Terminal.
|
||||
/]
|
||||
PUSHJ P,ASCOUT
|
||||
MOVEI A,[ASCIZ/by Kevin Burnett
|
||||
/]
|
||||
|
||||
PUSHJ P,ASCOUT
|
||||
@@ -89,6 +92,15 @@ RE: .IOT TTYO,[^P] ; Save cursor pos
|
||||
MOVEI A,[ASCIZ/Time (Eastern) =/]
|
||||
PUSHJ P,ASCOUT
|
||||
|
||||
.IOT TTYO,[^P]
|
||||
.IOT TTYO,["V]
|
||||
.IOT TTYO,[7+31.]
|
||||
.IOT TTYO,[^P]
|
||||
.IOT TTYO,["H]
|
||||
.IOT TTYO,[7+28.]
|
||||
MOVEI A,[ASCIZ/Active Users = Free Net Ports =/]
|
||||
PUSHJ P,ASCOUT
|
||||
|
||||
MOVSI A,-1 ; Load A with -1,,0
|
||||
MOVEM A,ONE ; Load it into ONE
|
||||
CLOCK: SETZ A, ; Clear A
|
||||
@@ -112,7 +124,7 @@ CLOCK: SETZ A, ; Clear A
|
||||
CAIGE A,0 ; Midnight or after ?
|
||||
ADDI A,24. ;Negative,add 24 to restore;-1=23 O'clock
|
||||
SETZ B,
|
||||
CAILE A,12. ; time 0<=x<12 means AM
|
||||
CAIL A,12. ; time 0<=x<12 means AM
|
||||
MOVEI B,1
|
||||
MOVEM B,AMPM
|
||||
|
||||
@@ -157,6 +169,38 @@ SLEEP: .IOT TTYO,[^P]
|
||||
LOADP: SETZ A, ; Clear A
|
||||
MOVEM A,FLAG ; Zero FLAG
|
||||
|
||||
BEG: MOVE P,[-LPDL,,PDL]
|
||||
MOVEI B,0
|
||||
SETZM NFSTYS
|
||||
SETZM NIDLE1
|
||||
SETZM NIDLE5
|
||||
SETZM NIDL10
|
||||
|
||||
COUNT: SYSCAL TTYGET,[%CLIMM+2,,400000
|
||||
%CLOUT,,A
|
||||
%CLOUT,,A
|
||||
%CLOUT,,D]
|
||||
JRST PRINT
|
||||
SYSCAL TTYVAR,[%CLIMM+2,,400000
|
||||
[SIXBIT /TTYTYP/]
|
||||
%CLOUT,,A]
|
||||
.LOSE %LSFIL
|
||||
TRNN A,200000
|
||||
JRST COUNT1
|
||||
JUMPGE D,COUNT1
|
||||
AOS NFSTYS
|
||||
COUNT1: JUMPL D,COUNT2
|
||||
SYSCAL TTYVAR,[%CLIMM+2,,400000
|
||||
[SIXBIT /IDLTIM/]
|
||||
%CLOUT,,A]
|
||||
.LOSE %LSFIL
|
||||
CAIGE A,30.*60.
|
||||
AOS NIDLE1
|
||||
CAIGE A,30.*60.*5
|
||||
AOS NIDLE5
|
||||
CAIGE A,30.*60.*10.
|
||||
AOS NIDL10
|
||||
COUNT2: AOJA B,COUNT
|
||||
|
||||
ascout: hrli a,440700 ;If C=1, "#" => "", else => "s"
|
||||
ascou1: ildb b,a
|
||||
@@ -172,10 +216,40 @@ ascou1: ildb b,a
|
||||
decout: move c,a ;leaves number in C.
|
||||
decou1: idivi a,10.
|
||||
hrlm b,(p)
|
||||
skipe a
|
||||
pushj p,decou1
|
||||
hlrz b,(p)
|
||||
addi b,"0
|
||||
.iot ttyo,b
|
||||
|
||||
cpopj: popj p,
|
||||
blank: popj p,
|
||||
|
||||
PRINT: .IOT TTYO,[^P]
|
||||
.IOT TTYO,["S]
|
||||
.IOT TTYO,[^P]
|
||||
.IOT TTYO,["V]
|
||||
.IOT TTYO,[7+31.]
|
||||
.IOT TTYO,[^P]
|
||||
.IOT TTYO,["H]
|
||||
.IOT TTYO,[7+43.]
|
||||
MOVE A,NIDLE1
|
||||
PUSHJ P,DECOUT
|
||||
PUSHJ P,BLANK
|
||||
.IOT TTYO,[^P]
|
||||
.IOT TTYO,["V]
|
||||
.IOT TTYO,[7+31.]
|
||||
.IOT TTYO,[^P]
|
||||
.IOT TTYO,["H]
|
||||
.IOT TTYO,[7+64.]
|
||||
MOVE A,NFSTYS
|
||||
PUSHJ P,DECOUT
|
||||
.IOT TTYO,[^P]
|
||||
.IOT TTYO,["R]
|
||||
MOVEI A,[40]
|
||||
.SLEEP A,
|
||||
JUMPA RE
|
||||
|
||||
WARN:
|
||||
POPJ P,
|
||||
|
||||
Reference in New Issue
Block a user