Browse Source
Merge pull request #545 from wdl1908/master
Some enhancements to the pcf driver.
pull/552/head
Wayne Warthen
8 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with
43 additions and
3 deletions
-
Source/HBIOS/cfg_MASTER.asm
-
Source/HBIOS/cfg_RCZ80.asm
-
Source/HBIOS/pcf.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 |
|
|
|
; |
|
|
|
|
|
|
|
@ -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 |
|
|
|
; |
|
|
|
|
|
|
|
@ -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) |
|
|
|
; |
|
|
|
|