diff --git a/Source/HBIOS/cfg_MASTER.asm b/Source/HBIOS/cfg_MASTER.asm index 5e4f8708..470a523e 100644 --- a/Source/HBIOS/cfg_MASTER.asm +++ b/Source/HBIOS/cfg_MASTER.asm @@ -128,6 +128,8 @@ CTCOSC .EQU 614400 ; CTC CLOCK FREQUENCY ; PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS +PCFCLK .EQU 12 ; PCF CLOCK BASE +PCFTRNS .EQU 90 ; PCF TRANSFER SPEED ; EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION ; diff --git a/Source/HBIOS/cfg_RCZ80.asm b/Source/HBIOS/cfg_RCZ80.asm index df87d202..77c0c6c3 100644 --- a/Source/HBIOS/cfg_RCZ80.asm +++ b/Source/HBIOS/cfg_RCZ80.asm @@ -96,6 +96,8 @@ CTCOSC .SET CPUOSC ; CTC CLOCK FREQUENCY ; PCFENABLE .SET FALSE ; ENABLE PCF8584 I2C CONTROLLER PCFBASE .SET $F0 ; PCF8584 BASE I/O ADDRESS +PCFCLK .SET 8 ; PCF CLOCK BASE +PCFTRNS .SET 90 ; PCF TRANSFER SPEED ; EIPCENABLE .SET FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION ; diff --git a/Source/HBIOS/pcf.asm b/Source/HBIOS/pcf.asm index c8c0eaa1..0d5216c8 100644 --- a/Source/HBIOS/pcf.asm +++ b/Source/HBIOS/pcf.asm @@ -82,10 +82,46 @@ PCF_TRNS11 .EQU 002H ; 11 kHz */ PCF_TRNS15 .EQU 003H ; 1.5 kHz */ ; ; BELOW VARIABLES CONTROL PCF CLOCK DIVISOR PROGRAMMING -; HARD-CODED FOR NOW ; -PCF_CLK .EQU PCF_CLK12 -PCF_TRNS .EQU PCF_TRNS90 +#IF (PCFCLK = 3) +PCF_CLK .EQU PCF_CLK3 +#ELSE + #IF (PCFCLK = 443) +PCF_CLK .EQU PCF_CLK443 + #ELSE + #IF (PCFCLK = 6) +PCF_CLK .EQU PCF_CLK6 + #ELSE + #IF (PCFCLK = 8) +PCF_CLK .EQU PCF_CLK8 + #ELSE + #IF (PCFCLK = 12) +PCF_CLK .EQU PCF_CLK12 + #ELSE ***ERROR + .ERROR "PCFCLK UNDEFINED OR WRONG VALUE VALID VALUES ARE (3,443,6,8,12)" + #ENDIF + #ENDIF + #ENDIF + #ENDIF +#ENDIF +; +#IF (PCFTRNS = 90) +PCF_TRNS .EQU PCF_TRNS90 +#ELSE + #IF (PCFTRNS = 45) +PCF_TRNS .EQU PCF_TRNS45 + #ELSE + #IF (PCFTRNS = 11) +PCF_TRNS .EQU PCF_TRNS11 + #ELSE + #IF (PCFTRNS = 15) +PCF_TRNS .EQU PCF_TRNS15 + #ELSE ***ERROR + .ERROR "PCFTRNS UNDEFINED OR WRONG VALUE VALID VALUES ARE (90,45,11,15)" + #ENDIF + #ENDIF + #ENDIF +#ENDIF ; ; TIMEOUT AND DELAY VALUES (ARBITRARY) ;