@ -2570,8 +2570,10 @@ HB_CPU3:
;
;
;;; LOCATION OF THIS CODE???
;;; LOCATION OF THIS CODE???
;
;
# IF ( CPUFAM ! = CPU_EZ80 )
LD A ,( CB_CPUMHZ ) ; CPU SPEED TO ACCUM AND INIT
LD A ,( CB_CPUMHZ ) ; CPU SPEED TO ACCUM AND INIT
CALL DELAY_INIT ; .. SPEED COMPENSATED DELAY
CALL DELAY_INIT ; .. SPEED COMPENSATED DELAY
# ENDIF
;
;
;--------------------------------------------------------------------------------------------------
;--------------------------------------------------------------------------------------------------
; SYSTEM TIMER INITIALIZATION
; SYSTEM TIMER INITIALIZATION
@ -2943,42 +2945,6 @@ PSCNX .EQU $ + 1
DJNZ PSCN1
DJNZ PSCN1
;
;
# ENDIF
# ENDIF
# IF ( CPUFAM = = CPU_EZ80 )
;
;--------------------------------------------------------------------------------------------------
; DELAY LOOP TEST CALIBRATION
;--------------------------------------------------------------------------------------------------
;
; IF ENABLED, THE GPIO PCBx PINS OF THE EZ80 WILL BE TOGGLED AT 'DELAY' RATE
; CAN BE USED TO VERIFY DELAY WORKS SUFFICIENT FOR DIFFERENT EZ80 CLOCK SPEEDS
; AND BUS CYCLES
;
# IF FALSE
PC_DR: .equ $ 009 E
PC_DDR: .equ $ 009 F
; ENABLE PC5 GPIO AS OUTPUT
LD BC , PC_DDR
XOR A
OUT ( C ), A
PUSH AF
LD BC , PC_DR
LD D , 0
LOOP:
POP AF
OUT ( C ), A
CPL
PUSH AF
LD DE , 2
CALL VDELAY
JR LOOP
# ENDIF
# ENDIF
;
;
;--------------------------------------------------------------------------------------------------
;--------------------------------------------------------------------------------------------------
; CPU SPEED DETECTION ALIGNMENT TEST
; CPU SPEED DETECTION ALIGNMENT TEST
@ -5595,9 +5561,11 @@ SYS_SETCPUSPD2:
ADC A , C ; C -> A; ADD CF FOR ROUNDING
ADC A , C ; C -> A; ADD CF FOR ROUNDING
LD ( CB_CPUMHZ ), A ; SAVE IT
LD ( CB_CPUMHZ ), A ; SAVE IT
;
;
# IF ( CPUFAM ! = CPU_EZ80 )
; REINIT DELAY ROUTINE
; REINIT DELAY ROUTINE
LD A ,( CB_CPUMHZ ) ; CPU SPEED TO ACCUM AND INIT
LD A ,( CB_CPUMHZ ) ; CPU SPEED TO ACCUM AND INIT
CALL DELAY_INIT ; .. SPEED COMPENSATED DELAY
CALL DELAY_INIT ; .. SPEED COMPENSATED DELAY
# ENDIF
;
;
SYS_SETCPUSPD3:
SYS_SETCPUSPD3:
XOR A
XOR A
@ -5640,9 +5608,11 @@ SYS_SETCPUSPD2:
ADC A , C ; C -> A; ADD CF FOR ROUNDING
ADC A , C ; C -> A; ADD CF FOR ROUNDING
LD ( CB_CPUMHZ ), A ; SAVE IT
LD ( CB_CPUMHZ ), A ; SAVE IT
;
;
# IF ( CPUFAM ! = CPU_EZ80 )
; REINIT DELAY ROUTINE
; REINIT DELAY ROUTINE
LD A ,( CB_CPUMHZ ) ; CPU SPEED TO ACCUM AND INIT
LD A ,( CB_CPUMHZ ) ; CPU SPEED TO ACCUM AND INIT
CALL DELAY_INIT ; .. SPEED COMPENSATED DELAY
CALL DELAY_INIT ; .. SPEED COMPENSATED DELAY
# ENDIF
;
;
XOR A ; SIGNAL SUCCESS
XOR A ; SIGNAL SUCCESS
RET
RET
@ -5777,9 +5747,11 @@ SYS_SETCPUSPD4:
LD A , L ; WORKING VALUE TO A
LD A , L ; WORKING VALUE TO A
OUT0 ( Z180_DCNTL ), A ; IMPLEMENT NEW VALUE
OUT0 ( Z180_DCNTL ), A ; IMPLEMENT NEW VALUE
;
;
# IF ( CPUFAM ! = CPU_EZ80 )
; REINIT DELAY ROUTINE
; REINIT DELAY ROUTINE
LD A ,( CB_CPUMHZ ) ; CPU SPEED TO ACCUM AND INIT
LD A ,( CB_CPUMHZ ) ; CPU SPEED TO ACCUM AND INIT
CALL DELAY_INIT ; .. SPEED COMPENSATED DELAY
CALL DELAY_INIT ; .. SPEED COMPENSATED DELAY
# ENDIF
;
;
# IF (( INTMODE = = 2 ) & ( Z180_TIMER ))
# IF (( INTMODE = = 2 ) & ( Z180_TIMER ))
; THE Z180 TIMER IS BASED ON CPU SPEED. SO HERE
; THE Z180 TIMER IS BASED ON CPU SPEED. SO HERE