Browse Source

Fix Delay Initialization

pull/3/head
Wayne Warthen 10 years ago
parent
commit
0653a42984
  1. 10
      Source/HBIOS/util.asm

10
Source/HBIOS/util.asm

@ -611,12 +611,14 @@ DELAY_INIT:
RST 08 ; CALL HBIOS, RST 08 NOT YET INSTALLED RST 08 ; CALL HBIOS, RST 08 NOT YET INSTALLED
LD A,L ; PUT SPEED IN MHZ IN ACCUM LD A,L ; PUT SPEED IN MHZ IN ACCUM
#ENDIF #ENDIF
CP 3 ; TEST FOR <= 2 (SPECIAL HANDLING)
JR C,DELAY_INIT1 ; IF <= 2, SPECIAL PROCESSING
SUB 2 ; ADJUST AS REQUIRED BY DELAY FUNCTIONS 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 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 RET
#IF (CPUMHZ < 3) #IF (CPUMHZ < 3)

Loading…
Cancel
Save