From 0385423fb0dac5bd804ed8d25ab348b175fc0b0c Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 9 May 2023 14:43:18 +0200 Subject: [PATCH] Wait macro for C64 --- C64/lib/MACRO.ASM | 15 ++++++++++++--- scorchC64.prg | Bin 39693 -> 39711 bytes 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/C64/lib/MACRO.ASM b/C64/lib/MACRO.ASM index 3761e4e..92f8d13 100644 --- a/C64/lib/MACRO.ASM +++ b/C64/lib/MACRO.ASM @@ -278,9 +278,18 @@ upstartEnd tay .endm ;------------------------------------- -.macro wait - nop -.endm + .MACRO WAIT +; WAIT +; waits one frame (1/50 s(PAL) or 1/60s(NTSC)) +?ze LDA $D012 + cmp #16 ; if line<16 then wait for line>15 (long VBI protection) + bcc ?ze + sbc #10 ; last lines correction +?wa cmp $D012 + bcc ?wa +?wf cmp $D012 + bcs ?wf + .ENDM ;------------------------------------- .macro halt ?s jmp ?s diff --git a/scorchC64.prg b/scorchC64.prg index c3fb402ed4574ebcd2ab0cc15da83c8bd59ff006..a06710be9ccfa98cca47c1b8bf9d04d1babccdf0 100644 GIT binary patch delta 5584 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 delta 5661 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