From 8e627f7e15efe9910f48944cb490b4e46e4a50d8 Mon Sep 17 00:00:00 2001 From: Leo C Date: Sat, 30 May 2015 11:51:04 +0200 Subject: [PATCH] get_timer returns diff between time stamps --- cbios/ascip.180 | 10 ++++----- cbios/misc.180 | 60 +++++++++++++++++++++---------------------------- 2 files changed, 30 insertions(+), 40 deletions(-) diff --git a/cbios/ascip.180 b/cbios/ascip.180 index 95addd1..2cedd1a 100644 --- a/cbios/ascip.180 +++ b/cbios/ascip.180 @@ -45,13 +45,13 @@ as1init: as_init: push hl - ld c,8 ; - mlt bc ; - ld hl,@ctbl+7 ;get baudrate index - add hl,bc ; + ld c,8 ; + mlt bc ; + ld hl,@ctbl+7 ;get baudrate index + add hl,bc ; ld a,(hl) and 0fh - add a,a + add a,a ;get factor ld hl,bd150_tab call add_hla ld c,(hl) diff --git a/cbios/misc.180 b/cbios/misc.180 index 5d68374..0352a59 100644 --- a/cbios/misc.180 +++ b/cbios/misc.180 @@ -249,8 +249,12 @@ spi$nr: db '0' dseg cpu_frq: - ld hl,tmr_rcv_msg_1 + ld hl,0 + ld d,h + ld e,l call get_timer + push hl + push de ; delay ~8ms @ 18.432MHz --> 147456 clock cycles ; delay ~10ms @ 18.432MHz --> 184320 clock cycles @@ -264,15 +268,12 @@ dly_lp: sbc hl,de ; 10 jr nz,dly_lp ; 6/8 -> 18 - ld hl,tmr_rcv_msg_2 + pop de + pop hl call get_timer - ld hl,(stamp2) - ld de,(stamp1) - or a - sbc hl,de -; ld de,4 ; round - ld de,5 ; round +; ld hl,4 ; round + ld hl,5 ; round add hl,de ex de,hl ld hl,0 @@ -298,36 +299,25 @@ cpuf_done: get_timer: push hl - ld hl,timer_msg - ld b,timer_msg_len + push de + ld hl,1*256 + 3 ; d = subcommand, e = command + push hl + ld hl,0 + add hl,sp + ld b,6 call msg.sm - pop hl - ld b,tmr_rcv_msg_len ; max receive message len - jp msg.recv - - -timer_msg: - db 3 ; timer/clock command - db 1 ; subcommand (get timer) -timer_msg_len equ $ - timer_msg - - -tmr_rcv_msg_1: - ds 1 ; len - ds 1 ; command - ds 1 ; subcommand -stamp1: - ds 4 ; return value -tmr_rcv_msg_len equ $ - tmr_rcv_msg_1 - + dec sp + ld hl,0 + add hl,sp + ld b,7 ; max receive message len + call msg.recv -tmr_rcv_msg_2: - ds 1 ; len - ds 1 ; command - ds 1 ; subcommand -stamp2: - ds 4 ; return value + pop bc + inc sp + pop de + pop hl + ret ;-------------------------------------------------------------------- -- 2.39.2