Browse Source

ez80: fixed issue with CH37x-USB driver not working at frequency > 7Mhz

master
Dean Netherton 2 years ago
parent
commit
3318b12667
  1. 6
      Source/HBIOS/cfg_rcez80.asm
  2. 6
      Source/HBIOS/cfg_rcz80.asm
  3. 2
      Source/HBIOS/chsd.asm
  4. 2
      Source/HBIOS/chusb.asm

6
Source/HBIOS/cfg_rcez80.asm

@ -263,9 +263,9 @@ SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
SDMTSWAP .EQU FALSE ; SD: SWAP THE LOGICAL ORDER OF THE SPI PORTS OF THE MT011
;
CHENABLE .EQU TRUE ; CH: ENABLE CH375/376 USB SUPPORT
CHTRACE .EQU 2 ; CH: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
CHUSBTRACE .EQU 2 ; CHUSB: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
CHSDTRACE .EQU 2 ; CHSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
CHTRACE .EQU 1 ; CH: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
CHUSBTRACE .EQU 1 ; CHUSB: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
CHSDTRACE .EQU 1 ; CHSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
CHCNT .EQU 1 ; CH: NUMBER OF BOARDS TO DETECT (1-2)
CH0BASE .EQU $88 ; CH 0: BASE I/O ADDRESS
CH0USBENABLE .EQU TRUE ; CH 0: ENABLE USB DISK

6
Source/HBIOS/cfg_rcz80.asm

@ -261,12 +261,12 @@ CHENABLE .EQU TRUE ; CH: ENABLE CH375/376 USB SUPPORT
CHTRACE .EQU 1 ; CH: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
CHUSBTRACE .EQU 1 ; CHUSB: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
CHSDTRACE .EQU 1 ; CHSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
CHCNT .EQU 2 ; CH: NUMBER OF BOARDS TO DETECT (1-2)
CH0BASE .EQU $3E ; CH 0: BASE I/O ADDRESS
CHCNT .EQU 1 ; CH: NUMBER OF BOARDS TO DETECT (1-2)
CH0BASE .EQU $88 ; CH 0: BASE I/O ADDRESS
CH0USBENABLE .EQU TRUE ; CH 0: ENABLE USB DISK
CH0SDENABLE .EQU FALSE ; CH 0: ENABLE SD DISK
CH1BASE .EQU $3C ; CH 1: BASE I/O ADDRESS
CH1USBENABLE .EQU TRUE ; CH 1: ENABLE USB DISK
CH1USBENABLE .EQU FALSE ; CH 1: ENABLE USB DISK
CH1SDENABLE .EQU FALSE ; CH 1: ENABLE SD DISK
;
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)

2
Source/HBIOS/chsd.asm

@ -19,7 +19,7 @@
;
#DEFINE CHSD_IMGFILE "DISK.IMG"
;
CHSD_FASTIO .EQU TRUE ; USE INIR/OTIR?
CHSD_FASTIO .EQU FALSE ; USE INIR/OTIR?
;
; CHUSB DEVICE STATUS
;

2
Source/HBIOS/chusb.asm

@ -196,6 +196,7 @@ CHUSB_READ1:
PUSH BC ; SAVE LOOP CONTROL
LD B,64 ; READ 64 BYTES
LD C,(IY+CH_IOBASE) ; BASE PORT
EZ80_IO
INIR ; DO IT FAST
POP BC ; RESTORE LOOP CONTROL
#ELSE
@ -260,6 +261,7 @@ CHUSB_WRITE1:
PUSH BC ; SAVE LOOP CONTROL
LD B,64 ; WRITE 64 BYTES
LD C,(IY+CH_IOBASE) ; BASE PORT
EZ80_IO
OTIR ; DO IT FAST
POP BC ; RESTORE LOOP CONTROL
#ELSE

Loading…
Cancel
Save