Browse Source

Fix S100 Z180 Board LED Operation

- Status LED for S100 Z180 board was not enabled.  Credit to Jay Cotton for finding this.
patch v3.3.0-dev.42
Wayne Warthen 2 years ago
parent
commit
e1a4e815dc
  1. 1
      Doc/ChangeLog.txt
  2. 2
      Source/HBIOS/cfg_s100.asm
  3. 43
      Source/HBIOS/hbios.asm

1
Doc/ChangeLog.txt

@ -18,6 +18,7 @@ Version 3.3
- WBW: Preliminary support for Dan Werner's ESP32 MBC Module
- WBW: Early support for Duodyne base system (CPU/UART/ROM/RAM/RTC/SPK)
- M?C: Fixed XM to allow specifying HBIOS port for send operations
- WBW: Fix S100 Z180 LED operation (credit to Jay Cotton for finding this issue)
Version 3.2.1
-------------

2
Source/HBIOS/cfg_s100.asm

@ -77,7 +77,7 @@ FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES
;
DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING
;
LEDENABLE .EQU FALSE ; ENABLES STATUS LED (SINGLE LED)
LEDENABLE .EQU TRUE ; ENABLES STATUS LED (SINGLE LED)
LEDMODE .EQU LEDMODE_STD ; LEDMODE_[STD|RTC]
LEDPORT .EQU $0E ; STATUS LED PORT ADDRESS
LEDDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED

43
Source/HBIOS/hbios.asm

@ -105,13 +105,13 @@ MODCNT .SET MODCNT + 1
;
;
#IF (FPLED_ENABLE)
#DEFINE DIAG(N) PUSH AF
#DEFCONT \ LD A,N
; #DEFCONT \ OUT (DIAGPORT),A
#DEFCONT \ CALL FP_SETLEDS
#DEFCONT \ POP AF
#DEFINE DIAG(N) PUSH AF
#DEFCONT \ LD A,N
; #DEFCONT \ OUT (DIAGPORT),A
#DEFCONT \ CALL FP_SETLEDS
#DEFCONT \ POP AF
#ELSE
#DEFINE DIAG(N) \;
#DEFINE DIAG(N) \;
#ENDIF
;
; SCxxx: LED Port=0x0E, bit 2, inverted, dedicated port
@ -119,31 +119,32 @@ MODCNT .SET MODCNT + 1
; Z80-512K: LED Port=0x6E, bit 0, inverted, dedicated port
; MBC: LED Port=0x70, bits 1-0, normal, shared w/ RTC port
; DUO: LED Port=0x94, bits 1-0, normal, shared w/ RTC port
; S100: LED Port = $0E, bit 2, inverted, dedicated port
;
#IF (LEDENABLE)
#IF (LEDMODE == LEDMODE_STD)
#DEFINE LED(N) PUSH AF
#DEFCONT \ LD A,~N
#DEFCONT \ OUT (LEDPORT),A
#DEFCONT \ POP AF
#DEFINE LED(N) PUSH AF
#DEFCONT \ LD A,~N
#DEFCONT \ OUT (LEDPORT),A
#DEFCONT \ POP AF
#ENDIF
#IF (LEDMODE == LEDMODE_RTC)
#DEFINE LED(N) PUSH AF
#DEFCONT \ LD A,(HB_RTCVAL)
#DEFCONT \ AND %11111100
#DEFCONT \ OR (N & %00000011)
#DEFCONT \ LD (HB_RTCVAL),A
#DEFCONT \ OUT (LEDPORT),A
#DEFCONT \ POP AF
#DEFINE LED(N) PUSH AF
#DEFCONT \ LD A,(HB_RTCVAL)
#DEFCONT \ AND %11111100
#DEFCONT \ OR (N & %00000011)
#DEFCONT \ LD (HB_RTCVAL),A
#DEFCONT \ OUT (LEDPORT),A
#DEFCONT \ POP AF
#ENDIF
#ELSE
#DEFINE LED(N) \;
#DEFINE LED(N) \;
#ENDIF
;
#DEFINE SYSCHKERR(HB_ERR) \
#DEFCONT \ CALL SYSCHKA
#DEFCONT \ LD A,HB_ERR
#DEFCONT \ OR A
#DEFCONT \ CALL SYSCHKA
#DEFCONT \ LD A,HB_ERR
#DEFCONT \ OR A
;
;
;

Loading…
Cancel
Save