|
|
|
@ -2396,12 +2396,25 @@ SYS_GETTIMER: |
|
|
|
; GET SECONDS |
|
|
|
; RETURNS: |
|
|
|
; DE:HL: SECONDS VALUE (32 BIT) |
|
|
|
; C TICKS OF TICKSPERSEC (8 BIT) |
|
|
|
; |
|
|
|
SYS_GETSECS: |
|
|
|
LD HL,HB_SECS |
|
|
|
LD HL,HB_SECTCK |
|
|
|
LD A,TICKSPERSEC-1 |
|
|
|
HB_DI |
|
|
|
CALL LD32 |
|
|
|
SUB (HL) |
|
|
|
INC HL ; NOW POINTING TO HB_SECS |
|
|
|
LD C,(HL) |
|
|
|
INC HL |
|
|
|
LD B,(HL) |
|
|
|
INC HL |
|
|
|
LD E,(HL) |
|
|
|
INC HL |
|
|
|
LD D,(HL) |
|
|
|
HB_EI |
|
|
|
LD L,C |
|
|
|
LD H,B |
|
|
|
LD C,A |
|
|
|
XOR A |
|
|
|
RET |
|
|
|
; |
|
|
|
@ -2739,7 +2752,7 @@ HB_TIMINT2: |
|
|
|
DEC (HL) ; COUNTDOWN 50 TICKS |
|
|
|
JR NZ,HB_TIMINT3 ; NOT ZERO YET, DONE FOR THIS CYCLE |
|
|
|
; 50 TICKS HAVE ELAPSED |
|
|
|
LD A,50 ; 50 TICKS PER SECOND |
|
|
|
LD A,TICKSPERSEC-1 ; 50 TICKS PER SECOND |
|
|
|
LD (HL),A ; RESET COUNTDOWN REGISTER |
|
|
|
; INCREMENT SECONDS COUNTER |
|
|
|
LD HL,HB_SECS ; POINT TO SECONDS COUNTER |
|
|
|
@ -4049,7 +4062,7 @@ IDLECOUNT .DB 0 |
|
|
|
HEAPCURB .DW 0 ; MARK HEAP ADDRESS AFTER INITIALIZATION |
|
|
|
; |
|
|
|
HB_TICKS .FILL 4,0 ; 32 BIT TICK COUNTER |
|
|
|
HB_SECTCK .DB 50 ; TICK COUNTER FOR SECONDS |
|
|
|
HB_SECTCK .DB TICKSPERSEC-1 ; TICK COUNTER FOR FRACTIONAL SECONDS |
|
|
|
HB_SECS .FILL 4,0 ; 32 BIT SECONDS COUNTER |
|
|
|
; |
|
|
|
HB_CPUTYPE .DB 0 ; 0=Z80, 1=80180, 2=SL1960, 3=ASCI BRG |
|
|
|
|