From 0653a429841f86f9597acd07ee9ba60ff6d099db Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Mon, 25 Apr 2016 22:12:13 -0700 Subject: [PATCH] Fix Delay Initialization --- Source/HBIOS/util.asm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Source/HBIOS/util.asm b/Source/HBIOS/util.asm index 284969a9..5c8740a2 100644 --- a/Source/HBIOS/util.asm +++ b/Source/HBIOS/util.asm @@ -611,12 +611,14 @@ DELAY_INIT: RST 08 ; CALL HBIOS, RST 08 NOT YET INSTALLED LD A,L ; PUT SPEED IN MHZ IN ACCUM #ENDIF + CP 3 ; TEST FOR <= 2 (SPECIAL HANDLING) + JR C,DELAY_INIT1 ; IF <= 2, SPECIAL PROCESSING SUB 2 ; ADJUST AS REQUIRED BY DELAY FUNCTIONS + JR DELAY_INIT2 ; AND CONTINUE +DELAY_INIT1: + LD A,1 ; USE THE MIN VALUE OF 1 +DELAY_INIT2: LD (CPUSCL),A ; UPDATE CPU SCALER VALUE - CP 1 ; CHECK FOR MINIMUM VALUE ALLOWED - RET NC ; IF >= 1, WE ARE ALL DONE, RETURN - LD A,1 ; OTHERWISE, SET MIN VALUE - LD (CPUSCL),A ; AND SAVE IT RET #IF (CPUMHZ < 3)