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 c3fb402..a06710b 100644 Binary files a/scorchC64.prg and b/scorchC64.prg differ