From 865be55e66af59aab3366618f9f2bb19439e6ea1 Mon Sep 17 00:00:00 2001 From: Karri Kaksonen Date: Tue, 22 Mar 2022 21:29:06 +0200 Subject: [PATCH] Split clock file to components --- libsrc/atari7800/clock.s | 22 +------------------- libsrc/atari7800/clocks_per_sec.s | 34 +++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 21 deletions(-) create mode 100644 libsrc/atari7800/clocks_per_sec.s diff --git a/libsrc/atari7800/clock.s b/libsrc/atari7800/clock.s index 814defceb..3b259cfcf 100644 --- a/libsrc/atari7800/clock.s +++ b/libsrc/atari7800/clock.s @@ -2,16 +2,14 @@ ; 2022-03-15, Karri Kaksonen ; ; clock_t clock (void); -; clock_t _clocks_per_sec (void); ; - .export _clock, __clocks_per_sec, clock_count + .export _clock, clock_count .interruptor update_clock, 2 ; (low priority) .constructor init_clock .import sreg: zp .import _zonecounter - .import _paldetected .include "atari7800.inc" .macpack generic @@ -33,24 +31,6 @@ rts .endproc -;----------------------------------------------------------------------------- -; Return the number of clock ticks in one second. -; - .proc __clocks_per_sec - - lda #0 - tax - sta sreg ; return 32 bits - sta sreg+1 - lda _paldetected - bne pal - lda #60 ; NTSC - 60Hz - rts -pal: - lda #50 ; PAL - 50Hz - rts - .endproc - ;----------------------------------------------------------------------------- ; This interrupt handler increments a 24-bit counter at every video ; vertical-blanking time. diff --git a/libsrc/atari7800/clocks_per_sec.s b/libsrc/atari7800/clocks_per_sec.s new file mode 100644 index 000000000..dc09c4396 --- /dev/null +++ b/libsrc/atari7800/clocks_per_sec.s @@ -0,0 +1,34 @@ +; +; 2022-03-15, Karri Kaksonen +; +; clock_t _clocks_per_sec (void); +; + + .export __clocks_per_sec + + .import sreg: zp + .import _paldetected + .include "atari7800.inc" + + .macpack generic + + .code + +;----------------------------------------------------------------------------- +; Return the number of clock ticks in one second. +; + .proc __clocks_per_sec + + lda #0 + tax + sta sreg ; return 32 bits + sta sreg+1 + lda _paldetected + bne pal + lda #60 ; NTSC - 60Hz + rts +pal: + lda #50 ; PAL - 50Hz + rts + .endproc +