Browse Source

Workaround CH376 Reset Behavior

I am encountering some CH376 chips that go haywire after a
reset command.  They stop responding for a very long time.
I am seeing this only on "LC Tech" adapters and only on Z80
systems (not Z180).  No idea what is going on, so I am
giving up for now and removing the reset.
pull/378/head v3.4.0-dev.37
Wayne Warthen 2 years ago
parent
commit
c7bee46f60
  1. 9
      Source/HBIOS/ch.asm
  2. 2
      Source/ver.inc
  3. 2
      Source/ver.lib

9
Source/HBIOS/ch.asm

@ -155,7 +155,14 @@ CH_INIT2:
XOR A ; UNKNOWN MODE XOR A ; UNKNOWN MODE
LD (CH_MODE),A ; SAVE IT LD (CH_MODE),A ; SAVE IT
;CALL CH_FLUSH ; FLUSH DEVICE OUTPUT QUEUE ;CALL CH_FLUSH ; FLUSH DEVICE OUTPUT QUEUE
CALL CH_RESET ; FULL CH37X RESET
;
; I AM ENCOUNTERING SOME CH376 CHIPS THAT GO HAYWIRE AFTER A
; RESET COMMAND. THEY STOP RESPONDING FOR A VERY LONG TIME.
; I AM SEEING THIS ONLY ON "LC TECH" ADAPTERS AND ONLY ON Z80
; SYSTEMS (NOT Z180). NO IDEA WHAT IS GOING ON, SO I AM
; GIVING UP FOR NOW AND REMOVING THE RESET.
;CALL CH_RESET ; FULL CH37X RESET
;
CALL CH_DETECT ; DETECT CHIP PRESENCE CALL CH_DETECT ; DETECT CHIP PRESENCE
JR Z,CH_INIT3 ; GO AHEAD IF CHIP FOUND JR Z,CH_INIT3 ; GO AHEAD IF CHIP FOUND
LD DE,CH_STR_NOHW ; NOT PRESENT LD DE,CH_STR_NOHW ; NOT PRESENT

2
Source/ver.inc

@ -2,7 +2,7 @@
#DEFINE RMN 4 #DEFINE RMN 4
#DEFINE RUP 0 #DEFINE RUP 0
#DEFINE RTP 0 #DEFINE RTP 0
#DEFINE BIOSVER "3.4.0-dev.36"
#DEFINE BIOSVER "3.4.0-dev.37"
#define rmj RMJ #define rmj RMJ
#define rmn RMN #define rmn RMN
#define rup RUP #define rup RUP

2
Source/ver.lib

@ -3,5 +3,5 @@ rmn equ 4
rup equ 0 rup equ 0
rtp equ 0 rtp equ 0
biosver macro biosver macro
db "3.4.0-dev.36"
db "3.4.0-dev.37"
endm endm

Loading…
Cancel
Save