1
0
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:
Lars Brinkhoff
2018-09-28 10:49:26 +02:00
parent 8418cccfbc
commit 643902eff7
4 changed files with 82 additions and 3 deletions

View File

@@ -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,