diff --git a/graphics/hgr/fake_bios/Makefile b/graphics/hgr/fake_bios/Makefile index f05cb4d0..2c2a5d93 100644 --- a/graphics/hgr/fake_bios/Makefile +++ b/graphics/hgr/fake_bios/Makefile @@ -28,7 +28,7 @@ fake_bios.o: fake_bios.s \ font_console_1x8.s fonts/a2_cga_thin.inc \ pt3_lib_detect_model.s lc_detect.s aux_detect.s \ 65c02_detect.s pt3_lib_mockingboard_detect.s \ - pt3_lib_mockingboard_setup.s \ + pt3_lib_mockingboard_setup.s wait.s \ zx02_optim.s graphics/a2_energy.hgr.zx02 ca65 -o fake_bios.o fake_bios.s -l fake_bios.lst diff --git a/graphics/hgr/fake_bios/fake_bios.s b/graphics/hgr/fake_bios/fake_bios.s index 133b04bb..a2e8caff 100644 --- a/graphics/hgr/fake_bios/fake_bios.s +++ b/graphics/hgr/fake_bios/fake_bios.s @@ -257,7 +257,7 @@ memcount_loop: bmi done_memcount ; 3 lda #100 - jsr WAIT + jsr wait jsr increment_memory dec MEMCOUNT @@ -289,13 +289,13 @@ done_memcount: jsr fade_logo_mask lda #200 - jsr WAIT + jsr wait lda #$33 jsr fade_logo_mask lda #200 - jsr WAIT + jsr wait ; clear screen while offscreen ; avoid blinds effect @@ -658,7 +658,7 @@ dos_command_inner: jsr DrawCondensedString dec CH lda #200 - jsr WAIT + jsr wait lda KEYPRESS bmi dos_keypress @@ -666,7 +666,7 @@ dos_command_inner: jsr DrawCondensedStringAgain dec CH lda #200 - jsr WAIT + jsr wait lda KEYPRESS bmi dos_keypress @@ -736,7 +736,7 @@ inner_loop_smc2: ; in X long_wait: lda #200 - jsr WAIT + jsr wait lda KEYPRESS bmi early_out @@ -758,3 +758,7 @@ early_out: .include "65c02_detect.s" .include "pt3_lib_mockingboard_setup.s" .include "pt3_lib_mockingboard_detect.s" + + +.include "wait.s" + diff --git a/graphics/hgr/fake_bios/wait.s b/graphics/hgr/fake_bios/wait.s new file mode 100644 index 00000000..12c4319c --- /dev/null +++ b/graphics/hgr/fake_bios/wait.s @@ -0,0 +1,18 @@ +; copy of ROM wait +; because we might disable ROM + + +wait: + sec +wait2: + pha +wait3: + sbc #$01 + bne wait3 + pla + sbc #$01 + bne wait2 + rts +wait_end: + +.assert (>wait_end - >wait) < 1 , error, "wait crosses page boundary"