pato-z80-home-computer/assembly/os/libs/time.asm

20 lines
557 B
NASM
Raw Normal View History

; Time library
; @author Daniele Verducci
2020-12-06 15:51:26 +01:00
; Duration in cpu cycles / 55 (change these values based on CPU frequency)
2020-12-09 20:09:52 +01:00
TIME_DUR_SECOND: EQU 2545
2020-12-06 15:51:26 +01:00
TIME_DUR_MILLIS: EQU 3
; Wait bc * 55 states
; Use 1 iteration as delay between I/O bus writes
; @param bc The number of iterations. Each iteration is 55 states long.
Time_delay55:
bit 0,a ; 8
bit 0,a ; 8
bit 0,a ; 8
and 255 ; 7
dec bc ; 6
ld a,c ; 4
or b ; 4
jp nz,Time_delay55 ; 10, total = 55 states/iteration
ret