From e32002545bd6b60d3763a2013d338ccb2ef75d3f Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Wed, 3 May 2023 15:58:12 -0700 Subject: [PATCH] VGARC Improvements, Doc Fix - Added ability to enable VGARC and front panel in default config without I/O conflicts (does **not** support having both types of hardware present at the same time). - Fixed documentation error in issue #345 reported by @MorfeoMatrixx. --- Doc/RomWBW Applications.pdf | Bin 226591 -> 226592 bytes Doc/RomWBW Disk Catalog.pdf | Bin 124418 -> 124419 bytes Doc/RomWBW Errata.pdf | Bin 28506 -> 28506 bytes Doc/RomWBW ROM Applications.pdf | Bin 159619 -> 159619 bytes Doc/RomWBW System Guide.pdf | Bin 529184 -> 529184 bytes Doc/RomWBW User Guide.pdf | Bin 597352 -> 597351 bytes ReadMe.md | 2 +- ReadMe.txt | 2 +- Source/Doc/SystemGuide.md | 2 +- Source/HBIOS/Config/RCZ180_ext.asm | 4 +- Source/HBIOS/Config/RCZ180_nat.asm | 4 +- Source/HBIOS/Config/RCZ280_ext.asm | 4 +- Source/HBIOS/Config/RCZ280_nat.asm | 4 +- Source/HBIOS/Config/RCZ280_zz80mb.asm | 6 +- Source/HBIOS/Config/RCZ280_zzrc.asm | 6 +- Source/HBIOS/Config/RCZ80_easy.asm | 6 +- Source/HBIOS/Config/RCZ80_kio.asm | 4 +- Source/HBIOS/Config/RCZ80_skz.asm | 4 +- Source/HBIOS/Config/RCZ80_std.asm | 4 +- Source/HBIOS/Config/RCZ80_tiny.asm | 5 +- Source/HBIOS/Config/RCZ80_zrc.asm | 8 +- Source/HBIOS/Config/RCZ80_zrc_ram.asm | 6 +- Source/HBIOS/Config/SBC_max.asm | 3 +- Source/HBIOS/Config/SCZ180_sc126.asm | 6 +- Source/HBIOS/Config/SCZ180_sc130.asm | 6 +- Source/HBIOS/Config/SCZ180_sc131.asm | 4 +- Source/HBIOS/Config/SCZ180_sc140.asm | 7 +- Source/HBIOS/Config/SCZ180_sc503.asm | 7 +- Source/HBIOS/cfg_dyno.asm | 11 +- Source/HBIOS/cfg_master.asm | 11 +- Source/HBIOS/cfg_mbc.asm | 11 +- Source/HBIOS/cfg_mk4.asm | 11 +- Source/HBIOS/cfg_n8.asm | 11 +- Source/HBIOS/cfg_rcz180.asm | 7 + Source/HBIOS/cfg_rcz280.asm | 11 +- Source/HBIOS/cfg_rcz80.asm | 11 +- Source/HBIOS/cfg_rph.asm | 11 +- Source/HBIOS/cfg_sbc.asm | 11 +- Source/HBIOS/cfg_scz180.asm | 11 +- Source/HBIOS/cfg_una.asm | 6 +- Source/HBIOS/cfg_z80retro.asm | 11 +- Source/HBIOS/cfg_zeta.asm | 11 +- Source/HBIOS/cfg_zeta2.asm | 11 +- Source/HBIOS/hbios.asm | 404 +++++++++++++++----------- Source/HBIOS/romldr.asm | 16 +- Source/HBIOS/vrc.asm | 8 +- Source/ver.inc | 2 +- Source/ver.lib | 2 +- 48 files changed, 393 insertions(+), 299 deletions(-) diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 84ff7afec35df305460bb474eb71ff732ee6162e..7d14511de13ba22cc125233964866ea09394e98d 100644 GIT binary patch delta 14818 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 M&OCF+?wuR{4`E76bN~PV diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index e4cd8f440c0b104f0e25b6148c602a417eec60ec..8bced4ccb9c8b75350d8f3c89c009f95ef1c5b92 100644 GIT binary patch delta 4929 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 a($Uh;$lTG=(#6Hm&`!aIkdn!^`LY196@JbD delta 304 zcmcb0kMY($#trF=^`$?`!ZMVmFMnsl{A-$7vsN*;i`s-qH!5B&67+F!?CmIgnwcou zEm@(nX6KB_vsNfxKjT-pV$+lfmv60;i(7Jj=3%j-Q(J^jJH31!wR5lCx{OU5B^*>& zO0K(D;w-)Qyj!~T^)F>_-p<>5tiCclB(jfh>YH!U8*{#vSt(rGo$$QQ;ia!ieN3t5 zcDu*s_S0HcHm#G>ZVg^~@c&HV$(^^t-mZ0AwAZqpA=^AhEac1cBQL9xF7Bz=EV!qC z`o`a^ZC`IkZ&qVEm(FfvXlZC*U^@ACrVNa|SuX1ii?e}=g`=gJsk5uAo28|blYynH bqpPE{rJ<9Pv#YbAlaZZ*4Iw3yZS!RTZt#M( diff --git a/Doc/RomWBW ROM Applications.pdf b/Doc/RomWBW ROM Applications.pdf index 74aa7b2ee8fc918fa26eff86ebce54b768a88214..980dbfe8053d6da6a69a61624f9fbcf21fe1bd72 100644 GIT binary patch delta 437 zcmZp^&)IyRbHXyFoJ|u~sEe-m-&MLdXX4w0|0QX~f8^pm#I7&Xp7=zsUV93Q_o8{# z8YjN=TMc{6D$_rr}k ze+!v;-bUVVICw{r&62HC`)lnculmZFtxGO>Z`sd*%R;OmHobuW0vj6Jdg&eUdZ(iQrP`>?5 z_VNGE?*@DovNGLt{l8lK!2=vmIyi6aTG~+ZeeLTKNfVJfPcGb;RJ7G^gWc&@{+~av zw=vH-Cf6*?)Go}#xLufuX{i^xv7xDnk%`6h{XR@GFwXWzK1>cuiB6`DCT7OwPKGXS zZk7gSF3u*FmIjta&Tei-mPY1Iu67DGgq6f9*x7Lvmn0UIR1~GAaT%H#SeTk}sj9mA HyKw;kB{8ccfSr@7dE z512H!bk&C>;iG(AA&EBcj-<}%kavB!cXgZ5T|u$L8$Y(Zvt6|3K$7pABOH-|Q*Wr3 zshB-aaJhL*WZRMQ#Rhv$H*l~nYu8Ot%9C8Kb5!5cEH-G1XMl)di6`%5$LY@9p?WRH zH+?zIYp^9cui3V=QE*7RHjxGj{ zmKH8Xrp|`uZl;cAu5PXtCa%WLrgjQ8gq6f9*x7Lvmn0UIR1~GAaT%H#SeTk}sj9mA HyKw;k|Gcu= diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index 131d2fc094b9d07809a7a6c6a17800f0e39af3ab..da5710057a5a54affaeea1ede22e9aff61c17521 100644 GIT binary patch delta 3207 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 ON5IuV5QvebG3dXqAOn8@ diff --git a/Doc/RomWBW User Guide.pdf b/Doc/RomWBW User Guide.pdf index 14a0b5035d4d62365886e5c3b2fedaca2fbc1929..f0a9c388c27374a2a76dd9a148f629d14b2163b9 100644 GIT binary patch delta 27068 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 diff --git a/ReadMe.md b/ReadMe.md index da3b2fcc..a5bcf40f 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -3,7 +3,7 @@ **RomWBW ReadMe** \ Version 3.3 \ Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ -02 May 2023 +03 May 2023 # Overview diff --git a/ReadMe.txt b/ReadMe.txt index bf49e224..8bb15525 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -1,6 +1,6 @@ RomWBW ReadMe Wayne Warthen (wwarthen@gmail.com) -02 May 2023 +03 May 2023 diff --git a/Source/Doc/SystemGuide.md b/Source/Doc/SystemGuide.md index 468cbf66..687ddccf 100644 --- a/Source/Doc/SystemGuide.md +++ b/Source/Doc/SystemGuide.md @@ -2221,7 +2221,7 @@ rate of the ASCI port(s) will be affected. | **Entry Parameters** | **Returned Values** | |----------------------------------------|----------------------------------------| -| B: 0xF8 | A: Status | +| B: 0xF9 | A: Status | | C: 0xF4 | | | L: LEDs | | diff --git a/Source/HBIOS/Config/RCZ180_ext.asm b/Source/HBIOS/Config/RCZ180_ext.asm index b6b178c6..28d97a52 100644 --- a/Source/HBIOS/Config/RCZ180_ext.asm +++ b/Source/HBIOS/Config/RCZ180_ext.asm @@ -29,8 +29,8 @@ CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; MEMMGR .SET MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] ; diff --git a/Source/HBIOS/Config/RCZ180_nat.asm b/Source/HBIOS/Config/RCZ180_nat.asm index 41282a9b..56eb4c88 100644 --- a/Source/HBIOS/Config/RCZ180_nat.asm +++ b/Source/HBIOS/Config/RCZ180_nat.asm @@ -29,8 +29,8 @@ CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; MEMMGR .SET MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] ; diff --git a/Source/HBIOS/Config/RCZ280_ext.asm b/Source/HBIOS/Config/RCZ280_ext.asm index 6947aec8..71394237 100644 --- a/Source/HBIOS/Config/RCZ280_ext.asm +++ b/Source/HBIOS/Config/RCZ280_ext.asm @@ -30,8 +30,8 @@ CPUOSC .SET 12000000 ; CPU OSC FREQ IN MHZ INTMODE .SET 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; MEMMGR .SET MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] ; diff --git a/Source/HBIOS/Config/RCZ280_nat.asm b/Source/HBIOS/Config/RCZ280_nat.asm index cb5bf87a..6eef18c5 100644 --- a/Source/HBIOS/Config/RCZ280_nat.asm +++ b/Source/HBIOS/Config/RCZ280_nat.asm @@ -30,8 +30,8 @@ CPUOSC .SET 12000000 ; CPU OSC FREQ IN MHZ INTMODE .SET 3 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; MEMMGR .SET MM_Z280 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280] ; diff --git a/Source/HBIOS/Config/RCZ280_zz80mb.asm b/Source/HBIOS/Config/RCZ280_zz80mb.asm index f5d2edc2..69d8fc6b 100644 --- a/Source/HBIOS/Config/RCZ280_zz80mb.asm +++ b/Source/HBIOS/Config/RCZ280_zz80mb.asm @@ -32,8 +32,8 @@ CPUOSC .SET 12000000 ; CPU OSC FREQ IN MHZ INTMODE .SET 3 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; MEMMGR .SET MM_Z280 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280] ; @@ -54,7 +54,7 @@ SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO] MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER) -VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM) +VRCENABLE .SET TRUE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM) VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; AY38910ENABLE .SET FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER diff --git a/Source/HBIOS/Config/RCZ280_zzrc.asm b/Source/HBIOS/Config/RCZ280_zzrc.asm index f64ba6a3..71cd964f 100644 --- a/Source/HBIOS/Config/RCZ280_zzrc.asm +++ b/Source/HBIOS/Config/RCZ280_zzrc.asm @@ -32,8 +32,8 @@ CPUOSC .SET 14745600 ; CPU OSC FREQ IN MHZ INTMODE .SET 3 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; MEMMGR .SET MM_Z280 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280] ; @@ -62,7 +62,7 @@ SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO] MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER) -VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM) +VRCENABLE .SET TRUE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM) VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; AY38910ENABLE .SET FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER diff --git a/Source/HBIOS/Config/RCZ80_easy.asm b/Source/HBIOS/Config/RCZ80_easy.asm index 1c558c15..1eb9e5ae 100644 --- a/Source/HBIOS/Config/RCZ80_easy.asm +++ b/Source/HBIOS/Config/RCZ80_easy.asm @@ -33,14 +33,12 @@ CPUOSC .SET 10000000 ; CPU OSC FREQ IN MHZ CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; WDOGMODE .SET WDOG_EZZ80 ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] WDOGIO .SET $6F ; WATCHDOG REGISTER ADR ; -DIAGENABLE .SET FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -; DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM) ; diff --git a/Source/HBIOS/Config/RCZ80_kio.asm b/Source/HBIOS/Config/RCZ80_kio.asm index 2d24669a..0e32f628 100644 --- a/Source/HBIOS/Config/RCZ80_kio.asm +++ b/Source/HBIOS/Config/RCZ80_kio.asm @@ -30,8 +30,8 @@ CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM) diff --git a/Source/HBIOS/Config/RCZ80_skz.asm b/Source/HBIOS/Config/RCZ80_skz.asm index e4a0a4d7..281389bc 100644 --- a/Source/HBIOS/Config/RCZ80_skz.asm +++ b/Source/HBIOS/Config/RCZ80_skz.asm @@ -29,13 +29,13 @@ CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; SKZENABLE .SET TRUE ; ENABLE SERGEY'S Z80-512K FEATURES SKZDIV .SET DIV_12 ; UART CLK (CLK2) DIVIDER FOR Z80-512K WDOGMODE .SET WDOG_SKZ ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] ; -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT LEDENABLE .SET TRUE ; ENABLES STATUS LED (SINGLE LED) LEDPORT .SET $6E ; STATUS LED PORT ADDRESS ; diff --git a/Source/HBIOS/Config/RCZ80_std.asm b/Source/HBIOS/Config/RCZ80_std.asm index d4abee6d..96d4640e 100644 --- a/Source/HBIOS/Config/RCZ80_std.asm +++ b/Source/HBIOS/Config/RCZ80_std.asm @@ -29,8 +29,8 @@ CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM) diff --git a/Source/HBIOS/Config/RCZ80_tiny.asm b/Source/HBIOS/Config/RCZ80_tiny.asm index fee4b13b..e3dcae7a 100644 --- a/Source/HBIOS/Config/RCZ80_tiny.asm +++ b/Source/HBIOS/Config/RCZ80_tiny.asm @@ -33,14 +33,13 @@ CPUOSC .SET 16000000 ; CPU OSC FREQ IN MHZ CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280) ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; EIPCENABLE .SET TRUE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION WDOGMODE .SET WDOG_EZZ80 ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] WDOGIO .SET $6F ; WATCHDOG REGISTER ADR ; -DIAGENABLE .SET FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT LEDENABLE .SET TRUE ; ENABLES STATUS LED (SINGLE LED) LEDPORT .SET $6E ; STATUS LED PORT ADDRESS ; diff --git a/Source/HBIOS/Config/RCZ80_zrc.asm b/Source/HBIOS/Config/RCZ80_zrc.asm index bd186695..3a7a5924 100644 --- a/Source/HBIOS/Config/RCZ80_zrc.asm +++ b/Source/HBIOS/Config/RCZ80_zrc.asm @@ -30,8 +30,8 @@ CPUOSC .SET 14745600 ; CPU OSC FREQ IN MHZ CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; RAMSIZE .SET 1536 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) MEMMGR .SET MM_ZRC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] @@ -45,8 +45,8 @@ TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1) TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO] MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER) -VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM) -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VRCENABLE .SET TRUE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM) +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; AY38910ENABLE .SET FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC] diff --git a/Source/HBIOS/Config/RCZ80_zrc_ram.asm b/Source/HBIOS/Config/RCZ80_zrc_ram.asm index 0c2d14b4..84988475 100644 --- a/Source/HBIOS/Config/RCZ80_zrc_ram.asm +++ b/Source/HBIOS/Config/RCZ80_zrc_ram.asm @@ -31,8 +31,8 @@ CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; RAMSIZE .SET 2048 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!) @@ -49,7 +49,7 @@ TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1) TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|MSX|MSX9958|MSXKBD|COLECO] MKYENABLE .SET FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER) -VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM) +VRCENABLE .SET TRUE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM) VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; AY38910ENABLE .SET FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER diff --git a/Source/HBIOS/Config/SBC_max.asm b/Source/HBIOS/Config/SBC_max.asm index c2537aca..e682b1c0 100644 --- a/Source/HBIOS/Config/SBC_max.asm +++ b/Source/HBIOS/Config/SBC_max.asm @@ -35,7 +35,8 @@ USELZSA2 .SET TRUE ; ENABLE FONT COMPRESSION ; KIOENABLE .SET TRUE ; ENABLE ZILOG KIO SUPPORT ; -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; DSKYENABLE .SET TRUE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) ; diff --git a/Source/HBIOS/Config/SCZ180_sc126.asm b/Source/HBIOS/Config/SCZ180_sc126.asm index acf443c7..b1a05fdf 100644 --- a/Source/HBIOS/Config/SCZ180_sc126.asm +++ b/Source/HBIOS/Config/SCZ180_sc126.asm @@ -35,9 +35,9 @@ Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2 Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3) Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .SET $0D ; DIAGNOSTIC PORT ADDRESS +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES +FPLED_IO .SET $0D ; FP: PORT ADDRESS FOR FP LEDS ; DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM) diff --git a/Source/HBIOS/Config/SCZ180_sc130.asm b/Source/HBIOS/Config/SCZ180_sc130.asm index 9304ee8b..bb29dfc9 100644 --- a/Source/HBIOS/Config/SCZ180_sc130.asm +++ b/Source/HBIOS/Config/SCZ180_sc130.asm @@ -35,9 +35,9 @@ Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2 Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3) Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .SET $00 ; DIAGNOSTIC PORT ADDRESS +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES +; LEDENABLE .SET TRUE ; ENABLE STATUS LED (SINGLE LED) ; DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) diff --git a/Source/HBIOS/Config/SCZ180_sc131.asm b/Source/HBIOS/Config/SCZ180_sc131.asm index 93f3f383..58c9e5a0 100644 --- a/Source/HBIOS/Config/SCZ180_sc131.asm +++ b/Source/HBIOS/Config/SCZ180_sc131.asm @@ -34,8 +34,10 @@ Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2 Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3) Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) ; +FPLED_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL SWITCHES +; LEDENABLE .SET TRUE ; ENABLE STATUS LED (SINGLE LED) -DIAGENABLE .SET FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT ; DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM) diff --git a/Source/HBIOS/Config/SCZ180_sc140.asm b/Source/HBIOS/Config/SCZ180_sc140.asm index 131d3b34..335f5fdb 100644 --- a/Source/HBIOS/Config/SCZ180_sc140.asm +++ b/Source/HBIOS/Config/SCZ180_sc140.asm @@ -34,11 +34,10 @@ Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2 Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3) Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -FPBASE .SET $00 ; FRONT PANEL I/O PORT BASE ADDRESS +FPLED_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL SWITCHES +; LEDENABLE .SET TRUE ; ENABLE STATUS LED (SINGLE LED) -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .SET $00 ; DIAGNOSTIC PORT ADDRESS ; DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM) diff --git a/Source/HBIOS/Config/SCZ180_sc503.asm b/Source/HBIOS/Config/SCZ180_sc503.asm index edc7de7f..cda904d7 100644 --- a/Source/HBIOS/Config/SCZ180_sc503.asm +++ b/Source/HBIOS/Config/SCZ180_sc503.asm @@ -34,11 +34,10 @@ Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2 Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3) Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) ; -FPENABLE .SET TRUE ; ENABLES FRONT PANEL SWITCHES -FPBASE .SET $00 ; FRONT PANEL I/O PORT BASE ADDRESS +FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS +FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES +; LEDENABLE .SET TRUE ; ENABLE STATUS LED (SINGLE LED) -DIAGENABLE .SET TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .SET $00 ; DIAGNOSTIC PORT ADDRESS ; DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM) diff --git a/Source/HBIOS/cfg_dyno.asm b/Source/HBIOS/cfg_dyno.asm index 11b4aec9..b3b9ae3e 100644 --- a/Source/HBIOS/cfg_dyno.asm +++ b/Source/HBIOS/cfg_dyno.asm @@ -66,11 +66,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES ; WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES -FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS -DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS -DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +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) diff --git a/Source/HBIOS/cfg_master.asm b/Source/HBIOS/cfg_master.asm index 70f67b1f..ad4896a0 100644 --- a/Source/HBIOS/cfg_master.asm +++ b/Source/HBIOS/cfg_master.asm @@ -95,11 +95,12 @@ SKZDIV .EQU DIV_1 ; UART CLK (CLK2) DIVIDER FOR Z80-512K WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] WDOGIO .EQU $6F ; WATCHDOG REGISTER ADR ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES -FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS -DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS -DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +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) diff --git a/Source/HBIOS/cfg_mbc.asm b/Source/HBIOS/cfg_mbc.asm index e9d445ed..73cb7368 100644 --- a/Source/HBIOS/cfg_mbc.asm +++ b/Source/HBIOS/cfg_mbc.asm @@ -60,11 +60,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES ; WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES -FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS -DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS -DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES +; DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING ; LEDENABLE .EQU TRUE ; ENABLES STATUS LED diff --git a/Source/HBIOS/cfg_mk4.asm b/Source/HBIOS/cfg_mk4.asm index 9d4a2647..2d6f3441 100644 --- a/Source/HBIOS/cfg_mk4.asm +++ b/Source/HBIOS/cfg_mk4.asm @@ -66,11 +66,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES ; WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES -FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS -DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS -DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +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) diff --git a/Source/HBIOS/cfg_n8.asm b/Source/HBIOS/cfg_n8.asm index e866beff..a01db448 100644 --- a/Source/HBIOS/cfg_n8.asm +++ b/Source/HBIOS/cfg_n8.asm @@ -68,11 +68,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES ; WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES -FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS -DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS -DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES +; DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING ; LEDENABLE .EQU FALSE ; ENABLES STATUS LED diff --git a/Source/HBIOS/cfg_rcz180.asm b/Source/HBIOS/cfg_rcz180.asm index f46c3b69..b809f705 100644 --- a/Source/HBIOS/cfg_rcz180.asm +++ b/Source/HBIOS/cfg_rcz180.asm @@ -71,6 +71,13 @@ FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS DIAGENABLE .EQU TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +; +FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU TRUE ; FP: ENABLES FRONT PANEL SWITCHES +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) diff --git a/Source/HBIOS/cfg_rcz280.asm b/Source/HBIOS/cfg_rcz280.asm index fba9880d..2465c8ba 100644 --- a/Source/HBIOS/cfg_rcz280.asm +++ b/Source/HBIOS/cfg_rcz280.asm @@ -66,11 +66,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES ; WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES -FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS -DIAGENABLE .EQU TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS -DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +FPLED_ENABLE .EQU TRUE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +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) diff --git a/Source/HBIOS/cfg_rcz80.asm b/Source/HBIOS/cfg_rcz80.asm index 1f03d235..a2db4804 100644 --- a/Source/HBIOS/cfg_rcz80.asm +++ b/Source/HBIOS/cfg_rcz80.asm @@ -65,11 +65,12 @@ SKZDIV .EQU DIV_1 ; UART CLK (CLK2) DIVIDER FOR Z80-512K WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] WDOGIO .EQU $6E ; WATCHDOG REGISTER ADR ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES -FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS -DIAGENABLE .EQU TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS -DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +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) diff --git a/Source/HBIOS/cfg_rph.asm b/Source/HBIOS/cfg_rph.asm index ecb505ad..702235a8 100644 --- a/Source/HBIOS/cfg_rph.asm +++ b/Source/HBIOS/cfg_rph.asm @@ -66,11 +66,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES ; WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES -FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS -DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS -DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES +; DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING ; LEDENABLE .EQU FALSE ; ENABLES STATUS LED diff --git a/Source/HBIOS/cfg_sbc.asm b/Source/HBIOS/cfg_sbc.asm index b9b93475..d4f98799 100644 --- a/Source/HBIOS/cfg_sbc.asm +++ b/Source/HBIOS/cfg_sbc.asm @@ -60,11 +60,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES ; WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES -FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS -DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS -DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES +; DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING ; LEDENABLE .EQU FALSE ; ENABLES STATUS LED diff --git a/Source/HBIOS/cfg_scz180.asm b/Source/HBIOS/cfg_scz180.asm index 172462b8..df5d5601 100644 --- a/Source/HBIOS/cfg_scz180.asm +++ b/Source/HBIOS/cfg_scz180.asm @@ -66,11 +66,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES ; WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES -FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS -DIAGENABLE .EQU TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .EQU $0D ; DIAGNOSTIC PORT ADDRESS -DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +FPLED_ENABLE .EQU TRUE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $0D ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +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) diff --git a/Source/HBIOS/cfg_una.asm b/Source/HBIOS/cfg_una.asm index 8555aed5..f437e483 100644 --- a/Source/HBIOS/cfg_una.asm +++ b/Source/HBIOS/cfg_una.asm @@ -19,7 +19,9 @@ CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280] BIOS .EQU BIOS_UNA ; HARDWARE BIOS: BIOS_[WBW|UNA] ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +; +DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING ; BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE ; @@ -34,5 +36,3 @@ ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!) RTCIO .EQU $70 ; RTC LATCH REGISTER ADR ; DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) - -DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING diff --git a/Source/HBIOS/cfg_z80retro.asm b/Source/HBIOS/cfg_z80retro.asm index 7bb3bdea..d21fff6c 100644 --- a/Source/HBIOS/cfg_z80retro.asm +++ b/Source/HBIOS/cfg_z80retro.asm @@ -63,11 +63,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES ; WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES -FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS -DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS -DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES +; DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING ; LEDENABLE .EQU FALSE ; ENABLES STATUS LED diff --git a/Source/HBIOS/cfg_zeta.asm b/Source/HBIOS/cfg_zeta.asm index 8b6d9eaa..1ea67b88 100644 --- a/Source/HBIOS/cfg_zeta.asm +++ b/Source/HBIOS/cfg_zeta.asm @@ -52,11 +52,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES ; WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES -FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS -DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS -DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES +; DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING ; LEDENABLE .EQU FALSE ; ENABLES STATUS LED diff --git a/Source/HBIOS/cfg_zeta2.asm b/Source/HBIOS/cfg_zeta2.asm index 4198abd1..34c68d84 100644 --- a/Source/HBIOS/cfg_zeta2.asm +++ b/Source/HBIOS/cfg_zeta2.asm @@ -63,11 +63,12 @@ SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES ; WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ] ; -FPENABLE .EQU FALSE ; ENABLES FRONT PANEL SWITCHES -FPBASE .EQU $00 ; FRONT PANEL I/O PORT BASE ADDRESS -DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT -DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS -DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS +FPLED_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL LEDS +FPLED_IO .EQU $00 ; FP: PORT ADDRESS FOR FP LEDS +FPLED_DSKACT .EQU TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS +FPSW_ENABLE .EQU FALSE ; FP: ENABLES FRONT PANEL SWITCHES +FPSW_IO .EQU $00 ; FP: PORT ADDRESS FOR FP SWITCHES +; DIAGLVL .EQU DL_CRITICAL ; ERROR LEVEL REPORTING ; LEDENABLE .EQU FALSE ; ENABLES STATUS LED diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index af182d1e..90938132 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -105,10 +105,11 @@ MODCNT .SET MODCNT + 1 ; ; ; -#IF (DIAGENABLE) +#IF (FPLED_ENABLE) #DEFINE DIAG(N) PUSH AF #DEFCONT \ LD A,N - #DEFCONT \ OUT (DIAGPORT),A +; #DEFCONT \ OUT (DIAGPORT),A + #DEFCONT \ CALL FP_SETLEDS #DEFCONT \ POP AF #ELSE #DEFINE DIAG(N) \; @@ -1109,16 +1110,9 @@ HB_START: ; #IFDEF APPBOOT #IF (MEMMGR == MM_Z280) - LD A,DIAG_01 - OUT (DIAGPORT),A - LD DE,Z280_BOOTERR - LD C,9 - LD A,DIAG_02 - OUT (DIAGPORT),A - CALL $0005 - LD A,DIAG_04 - OUT (DIAGPORT),A - RET + LD DE,Z280_BOOTERR ; POINT TO ERROR MESSAGE + LD C,9 ; BDOS FUNC 9: WRITE STR + JP $0005 ; DO IT AND RETURN TO OS ; Z280_BOOTERR .TEXT "\r\n\r\n*** Application mode boot not supported under Z280 native memory management!!!\r\n\r\n$" #ENDIF @@ -1144,9 +1138,10 @@ Z280_BOOTERR .TEXT "\r\n\r\n*** Application mode boot not supported under Z280 n OUT0 (RPH_ACR),A ; ... REGISTER IS INITIALIZED #ENDIF ; -#IF (DIAGENABLE) +#IF (FPLED_ENABLE) + ; NO STACK YET, SO CAN'T USE DIAG() MACRO LD A,DIAG_01 - OUT (DIAGPORT),A + OUT (FPLED_IO),A #ENDIF #IF (LEDENABLE) #IF (LEDMODE == LEDMODE_STD) @@ -1255,8 +1250,6 @@ Z280_INITZ: LD A,Z180_BASE OUT0 ($3F),A ; AT RESET, ICR IS AT $3F - DIAG(DIAG_02) - ; DISABLE REFRESH XOR A OUT0 (Z180_RCR),A @@ -1349,10 +1342,12 @@ Z280_INITZ: ; NOT WANT TO EFFECT RAM UNTIL AFTER THE BACKUP BATTERY STATUS CHECK ; IS PERFORMED NEXT. ; -#IF (DIAGENABLE) +#IF (FPLED_ENABLE) + ; NO STACK YET, SO CAN'T USE DIAG() MACRO LD A,DIAG_02 - OUT (DIAGPORT),A + OUT (FPLED_IO),A #ENDIF + ; ; WE USE THE TWO BYTES IMMEDIATELY BELOW THE PROXY TO STORE A COUPLE ; VALUES TEMPORARILY BECAUSE WE MAY BE OPERATING IN ROM AT THIS POINT. @@ -2232,29 +2227,6 @@ NOT_REC_M0: CALL DSKY_SHOW #ENDIF ; -#IF FPENABLE -; -; IF FRONT PANEL IS ENABLED IN CONFIG, WE NEED TO CHECK TO SEE IF THE -; HARDWARE REALLY EXISTS. THE ONLY WAY TO DO THAT IS TO SEE IF THE -; FRONT PANEL PORT SEEMS TO BE VALID (NOT FLOATING). HERE WE JUST -; DO THE CHECKING AND RECORD WHETHER THE FP SWITCHES ARE USEABLE. -; - ; THE SWITCH HARDWARE MAY OR MAY NOT BE INSTALLED. SO, HERE WE - ; ATTEMPT TO CONFIRM WE HAVE A VALID PORT. CREDIT TO STEPHEN - ; COUSINS FOR THIS APPROACH. - LD C,FPBASE ; ADR OF SWITCH PORT - IN C,(C) ; READ IT USING IN (C) - IN A,(FPBASE) ; READ IT USING IN (PORT) - CP C ; PORT FLOATING ON MISMATCH - JR NZ,HB_SWZ ; ABORT IF FLOATING - CP $FF ; $FF ALSO MEANS PORT INACTIVE - JR Z,HB_SWZ ; ABORT IF SO - OR $FF ; SIGNAL FP EXISTS - LD (HB_HASFP),A ; AND SAVE IT -HB_SWZ: -; -#ENDIF -; #IF FALSE ; ; TEST DEBUG *************************************************************************************** @@ -2792,7 +2764,12 @@ HB_WDZ: ; #ENDIF ; -#IF FPENABLE +; THIS IS A GOOD PLACE TO DETERMINE IF FRONT PANEL HARDWARE REALLY +; EXISTS. +; + CALL FP_DETECT +; +#IF (FPSW_ENABLE) ; ; IF WE HAVE FRONT PANEL SWITCHES, THIS IS THE RIGHT PLACE TO HANDLE ; ANY CONSOLE CHANGE REQUESTS. THE FRONT PANEL HAS TWO SWITCHES @@ -2802,12 +2779,12 @@ HB_WDZ: ; DEVICE. ; PRTS("\r\nFP: IO=0x$") - LD A,FPBASE + LD A,FPSW_IO CALL PRTHEXBYTE ; ; THE EXISTENCE OF THE FP WAS TESTED EARLIER. IF IT DOESN'T ; EXIST, BAIL OUT. - LD A,(HB_HASFP) ; GET FP EXISTENCE FLAG + LD A,(FPSW_ACTIVE) ; GET FP EXISTENCE FLAG OR A ; SET FLAGS JR NZ,HB_FP1 ; IF WE HAVE ONE, CONTINUE ; @@ -2823,7 +2800,7 @@ HB_FP1: ; OF A CRT DEVICE -- IT WILL JUST FAILBACK TO FIRST SERIAL ; PORT. PRTS(" SWITCHES=0x$") ; TAG - IN A,(FPBASE) ; GET SWITCH SETTINGS + CALL FP_GETSWITCHES ; GET SWITCH SETTINGS CALL PRTHEXBYTE ; DISPLAY VALUE LD B,A ; SAVE IN REG B AND SW_CRT ; TEST CRT BIT @@ -3491,7 +3468,7 @@ HB_DSKREAD: ; LD (HB_DSKCMD),BC ; SAVE HBIOS FUNC & UNIT ; -#IF (DIAGENABLE) +#IF (FPLED_ENABLE & FPLED_DSKACT) ; SAVE DISK UNIT NUMBER BIT MASK LD A,C ; GET DISK UNIT NUMBER LD B,A ; PUT IN B FOR LOOP COUNTER @@ -3581,7 +3558,7 @@ HB_DSKWRITE: ; LD (HB_DSKCMD),BC ; SAVE HBIOS FUNC & UNIT ; -#IF (DIAGENABLE) +#IF (FPLED_ENABLE & FPLED_DSKACT) ; SAVE DISK UNIT NUMBER BIT MASK LD A,C ; GET DISK UNIT NUMBER LD B,A ; PUT IN B FOR LOOP COUNTER @@ -3678,9 +3655,9 @@ HB_DSKIOX: ; HB_DSKFN: PUSH BC ; SAVE COUNTERS -#IF (DIAGENABLE & DIAGDISKIO) +#IF (FPLED_ENABLE & FPLED_DSKACT) LD A,(HB_DSKBIT) ; LOAD UNIT DISK BIT MASK - OUT (DIAGPORT),A ; DISPLAY ON DIAG LEDS + CALL FP_SETLEDS ; DISPLAY ON DIAG LEDS #ENDIF #IF (LEDENABLE & LEDDISKIO) LED(%00000101) ; BIT 0 FOR TINY Z80 & MBC, BIT 2 FOR SCXXX @@ -3688,8 +3665,8 @@ HB_DSKFN: LD E,1 ; ONE SECTOR HB_DSKFNADR .EQU $+1 CALL PANIC ; READ ONE SECTOR -#IF (DIAGENABLE & DIAGDISKIO) - DIAG(DIAG_00) ; CLEAR DIAG LEDS +#IF (FPLED_ENABLE & FPLED_DSKACT) + DIAG($00) ; CLEAR DIAG LEDS #ENDIF #IF (LEDENABLE & LEDDISKIO) LED($00) @@ -4539,11 +4516,11 @@ SYS_GETCPUSPD1: ; SYS_GETPANEL: ; -#IF FPENABLE - LD A,(HB_HASFP) ; GET FP EXISTS FLAG +#IF (FPSW_ENABLE) + LD A,(FPSW_ACTIVE) ; FP SWITCHES ACTIVE? OR A ; SET FLAGS JR Z,SYS_GETPANEL1 ; HANDLE NOT EXISTS - IN A,(FPBASE) ; READ SWITCHES + CALL FP_GETSWITCHES ; READ SWITCHES LD H,0 ; FOR FUTURE LD L,A ; PUT SWITCHES VALUE IN L XOR A ; SIGNAL SUCCESS @@ -4851,9 +4828,9 @@ SYS_SETCPUSPD_ERR: ; SYS_SETPANEL: ; -#IF DIAGENABLE +#IF (FPLED_ENABLE) LD A,L - OUT (DIAGPORT),A + CALL FP_SETLEDS XOR A RET #ELSE @@ -6454,7 +6431,97 @@ SIZ_YM2612 .EQU $ - ORG_YM2612 #INCLUDE "unlzsa2s.asm" #ENDIF ; -; DETECT CPU SPEED USING DS-1302 RTC +;================================================================================================== +; FRONT PANEL SUPPORT +;================================================================================================== +; +; FRONT PANEL HARDWARE DETECTION +; +; WE ARE REALLY JUST CHECKING FOR SWITCHES. NO WAY TO QUERY FOR +; LEDS. WE CHECK FOR I/O CONFLICT WITH VGARC IF ACTIVE. +; +FP_DETECT: + ; D: LEDS ACTIVE, E: SWITCHES ACTIVE + LD D,TRUE ; ASSUME ACTIVE FOR NOW + LD E,TRUE ; ASSUME ACTIVE FOR NOW +; + ; IF VGARC IS ENABLED, CHECK IF IT IS ACTIVE. IF SO AND THE + ; I/O PORTS CONFLICT, DEACTIVATE FRONT PANEL. +; + #IF (VRCENABLE) + LD A,(VRC_ACTIVE) ; GET VGARC ACTIVE STATUS + OR A ; SET FLAGS + JR Z,FP_DETECT1 ; IF NO, CONTINUE + #IF ((FPLED_IO >= $00) & (FPLED_IO <= $0F)) + ; CONFLICT, DEACTIVATE LEDS + LD D,FALSE ; FP LEDS NOT ACTIVE + #ENDIF + #IF ((FPSW_IO >= $00) & (FPSW_IO <= $0F)) + ; CONFLICT, DEACTIVATE SWITCHES + LD E,FALSE ; FP SWITCHES NOT ACTIVE + #ENDIF + #ENDIF +; +FP_DETECT1: + ; THE SWITCH HARDWARE MAY OR MAY NOT BE INSTALLED. SO, HERE WE + ; ATTEMPT TO CONFIRM WE HAVE A VALID PORT. CREDIT TO STEPHEN + ; COUSINS FOR THIS APPROACH. + LD C,FPSW_IO ; ADR OF SWITCH PORT + IN C,(C) ; READ IT USING IN (C) + IN A,(FPSW_IO) ; READ IT USING IN (PORT) + CP C ; PORT FLOATING ON MISMATCH + JR NZ,FP_DETECT2 ; NO H/W, SET FLAG + CP $FF ; PORT FLOATING ON $FF + JR Z,FP_DETECT2 ; NO H/W, SET FLAG + JR FP_DETECTZ ; H/W EXISTS, DONE +; +FP_DETECT2: + LD E,FALSE ; RECORD NOT PRESENT +; +FP_DETECTZ: + LD (FP_ACTIVE),DE ; RECORD RESULTS + RET ; DONE +; +#IF (FPLED_ENABLE) +; +; SET FRONT PANEL LEDS FROM VALUE IN A +; +FP_SETLEDS: + PUSH HL ; SAVE HL + LD L,A ; LED VALUE TO L + LD A,(FPLED_ACTIVE) ; LEDS ACTIVE? + OR A ; SET FLAGS + LD A,L ; RESTORE REG A + JR Z,FP_SETLEDS1 ; BAIL OUT IF NOT ACTIVE + OUT (FPLED_IO),A ; WRITE +FP_SETLEDS1: + POP HL ; RESTORE HL + RET ; DONE +; +; +#ENDIF +; +#IF (FPSW_ENABLE) +; +; GET FRONT PANEL SWITCH SETTINGS +; +FP_GETSWITCHES: + LD A,(FPSW_ACTIVE) ; SWITCHES ACTIVE? + OR A ; SET FLAGS + RET Z ; BAIL OUT IF NOT ACTIVE + IN A,(FPSW_IO) ; READ SWITCHES + RET ; DONE +; +; +#ENDIF +; +FP_ACTIVE: +FPSW_ACTIVE .DB TRUE +FPLED_ACTIVE .DB TRUE +; +;================================================================================================== +; CPU SPEED DETECTION USING DS-1302 RTC +;================================================================================================== ; HB_CPUSPD: ; @@ -6570,116 +6637,6 @@ HB_CPUSPD2: OR $FF ; SIGNAL ERROR RET ; AND DONE ; -; SYSTEM CHECK: DUMP MACHINE STATE AND CONTINUE? -; -SYSCHKA: - ; CHECK DIAG LEVEL TO SEE IF WE SHOULD DISPLAY - PUSH AF ; PRESERVE INCOMING AF VALUE - LD A,(CB_DIAGLVL) ; GET DIAGNOSTIC LEVEL - CP DL_ERROR ; >= ERROR LEVEL - JR C,SYSCHK1 ; IF NOT, GO HOME - POP AF ; RESTORE INCOMING AF VALUE -; - ; DISPLAY SYSCHK MESSAGE - PUSH DE ; PRESERVE DE VALUE - LD DE,STR_SYSCHK ; POINT TO PREFIX STRING - CALL WRITESTR ; PRINT IT - POP DE ; RESTORE DE VALUE - CALL XREGDMP ; DUMP REGISTERS - - ; DISPLAY ERROR CODE. IT IS AT RETURN ADDRESS+1 .. LD A,XX - EX (SP),HL ; GET RETURN ADDRESS - INC HL ; POINT TO THE ERROR CODE - PUSH AF - LD A,(HL) ; DISPLAY - CALL PRTHEXBYTE - POP AF - DEC HL ; RESTORE RETURN ADDRESS - EX (SP),HL -; - JR CONTINUE ; CHECK W/ USER -; -SYSCHK1: - ; RETURN IF MESSAGING BYPASSED BY DIAG LEVEL - POP AF - RET -; -; PANIC: DUMP MACHINE STATE AND HALT -; -PANIC: - PUSH DE - LD DE,STR_PANIC - CALL WRITESTR - POP DE - CALL XREGDMP ; DUMP REGISTERS - JR SYSHALT ; FULL STOP -; -; -; -CONTINUE: - PUSH AF -CONTINUE1: - PUSH DE - LD DE,STR_CONTINUE - CALL WRITESTR - POP DE - CALL CIN - RES 5,A ; FORCE UPPERCASE (IMPERFECTLY) - CALL COUT ; ECHO - CP 'Y' - JR Z,CONTINUE3 - CP 'N' - JR Z,SYSHALT - JR CONTINUE1 -CONTINUE3: - CALL NEWLINE - POP AF - RET -; -; -; -SYSHALT: - LD DE,STR_HALT - CALL WRITESTR - DI - HALT -; -; PRINT VALUE OF HL AS THOUSANDTHS, IE. 0.000 -; -PRTD3M: - PUSH BC - PUSH DE - PUSH HL - LD E,'0' - LD BC,-10000 - CALL PRTD3M1 - LD E,0 - LD BC,-1000 - CALL PRTD3M1 - CALL PC_PERIOD - LD BC,-100 - CALL PRTD3M1 - LD C,-10 - CALL PRTD3M1 - LD C,-1 - CALL PRTD3M1 - POP HL - POP DE - POP BC - RET -PRTD3M1: - LD A,'0' - 1 -PRTD3M2: - INC A - ADD HL,BC - JR C,PRTD3M2 - SBC HL,BC - CP E - JR Z,PRTD3M3 - LD E,0 - CALL COUT -PRTD3M3: - RET ;================================================================================================== ; DISPLAY SUMMARY OF ATTACHED UNITS/DEVICES ;================================================================================================== @@ -7373,7 +7330,7 @@ CST2: RET ; ;================================================================================================== -; MISCELLANEOUS UTILITY FUNCTIONS +; INTERNAL UTILITY FUNCTIONS ;================================================================================================== ; ; SET HL TO IY+A, A IS TRASHED @@ -7410,6 +7367,117 @@ HB_CHS2LBA: XOR A RET ; +; SYSTEM CHECK: DUMP MACHINE STATE AND CONTINUE? +; +SYSCHKA: + ; CHECK DIAG LEVEL TO SEE IF WE SHOULD DISPLAY + PUSH AF ; PRESERVE INCOMING AF VALUE + LD A,(CB_DIAGLVL) ; GET DIAGNOSTIC LEVEL + CP DL_ERROR ; >= ERROR LEVEL + JR C,SYSCHK1 ; IF NOT, GO HOME + POP AF ; RESTORE INCOMING AF VALUE +; + ; DISPLAY SYSCHK MESSAGE + PUSH DE ; PRESERVE DE VALUE + LD DE,STR_SYSCHK ; POINT TO PREFIX STRING + CALL WRITESTR ; PRINT IT + POP DE ; RESTORE DE VALUE + CALL XREGDMP ; DUMP REGISTERS + + ; DISPLAY ERROR CODE. IT IS AT RETURN ADDRESS+1 .. LD A,XX + EX (SP),HL ; GET RETURN ADDRESS + INC HL ; POINT TO THE ERROR CODE + PUSH AF + LD A,(HL) ; DISPLAY + CALL PRTHEXBYTE + POP AF + DEC HL ; RESTORE RETURN ADDRESS + EX (SP),HL +; + JR CONTINUE ; CHECK W/ USER +; +SYSCHK1: + ; RETURN IF MESSAGING BYPASSED BY DIAG LEVEL + POP AF + RET +; +; PANIC: DUMP MACHINE STATE AND HALT +; +PANIC: + PUSH DE + LD DE,STR_PANIC + CALL WRITESTR + POP DE + CALL XREGDMP ; DUMP REGISTERS + JR SYSHALT ; FULL STOP +; +; +; +CONTINUE: + PUSH AF +CONTINUE1: + PUSH DE + LD DE,STR_CONTINUE + CALL WRITESTR + POP DE + CALL CIN + RES 5,A ; FORCE UPPERCASE (IMPERFECTLY) + CALL COUT ; ECHO + CP 'Y' + JR Z,CONTINUE3 + CP 'N' + JR Z,SYSHALT + JR CONTINUE1 +CONTINUE3: + CALL NEWLINE + POP AF + RET +; +; +; +SYSHALT: + LD DE,STR_HALT + CALL WRITESTR + DI + HALT +; +; PRINT VALUE OF HL AS THOUSANDTHS, IE. 0.000 +; +PRTD3M: + PUSH BC + PUSH DE + PUSH HL + LD E,'0' + LD BC,-10000 + CALL PRTD3M1 + LD E,0 + LD BC,-1000 + CALL PRTD3M1 + CALL PC_PERIOD + LD BC,-100 + CALL PRTD3M1 + LD C,-10 + CALL PRTD3M1 + LD C,-1 + CALL PRTD3M1 + POP HL + POP DE + POP BC + RET +PRTD3M1: + LD A,'0' - 1 +PRTD3M2: + INC A + ADD HL,BC + JR C,PRTD3M2 + SBC HL,BC + CP E + JR Z,PRTD3M3 + LD E,0 + CALL COUT +PRTD3M3: + RET +; ;================================================================================================== ; HBIOS GLOBAL DATA ;================================================================================================== diff --git a/Source/HBIOS/romldr.asm b/Source/HBIOS/romldr.asm index c350454a..a3784e3d 100644 --- a/Source/HBIOS/romldr.asm +++ b/Source/HBIOS/romldr.asm @@ -1352,20 +1352,24 @@ diskread: ; clrled: #if (BIOS == BIOS_WBW) - #if (DIAGENABLE) - xor a ; zero accum - out (DIAGPORT),a ; clear diag leds + #if (FPLED_ENABLE) + ;xor a ; zero accum + ;out (FPLED_IO),a ; clear diag leds + ld b,BF_SYSSET ; HBIOS SysGet + ld c,BF_SYSSET_PANEL ; ... Panel swiches value + ld l,$00 ; all LEDs off + rst 08 ; do it #endif #if (LEDENABLE) #if (LEDMODE == LEDMODE_STD) - ld a,$FF ; led is inverted - out (LEDPORT),a ; clear led + ld a,$FF ; led is inverted + out (LEDPORT),a ; clear led #endif #if (LEDMODE == LEDMODE_RTC) ; Bits 0 and 1 of the RTC latch are for the LEDs. ld a,(HB_RTCVAL) and ~%00000011 - out (RTCIO),a ; clear led + out (RTCIO),a ; clear led ld (HB_RTCVAL),a #endif #endif diff --git a/Source/HBIOS/vrc.asm b/Source/HBIOS/vrc.asm index f9134547..f97068c6 100644 --- a/Source/HBIOS/vrc.asm +++ b/Source/HBIOS/vrc.asm @@ -46,6 +46,9 @@ VRC_INIT: RET ; VRC_INIT1: + ; RECORD DRIVER ACTIVE + OR $FF + LD (VRC_ACTIVE),A ; DISPLAY CONSOLE DIMENSIONS LD A,VRC_COLS CALL PC_SPACE @@ -232,8 +235,8 @@ VRC_VDARDC: ; ON RETURN, ZF SET INDICATES HARDWARE FOUND ; VRC_PROBE: - LD C,VRC_BASE - LD B,0 + LD C,VRC_BASE + 1 ; +1 AVOIDS LEDS + LD B,$00 LD A,$AA OUT (C),A INC B @@ -632,6 +635,7 @@ VRC_POS .DW 0 ; CURRENT DISPLAY POSITION VRC_OFF .DW 0 ; SCREEN START OFFSET INTO DISP BUF VRC_LOFF .DB 0 ; LINE OFFSET INTO DISP BUF VRC_CURSOR .DB 0 ; CURSOR NESTING LEVEL +VRC_ACTIVE .DB FALSE ; FLAG FOR DRIVER ACTIVE ; ;================================================================================================== ; VGA DRIVER - INSTANCE DATA diff --git a/Source/ver.inc b/Source/ver.inc index a8d14463..99607274 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,7 +2,7 @@ #DEFINE RMN 3 #DEFINE RUP 0 #DEFINE RTP 0 -#DEFINE BIOSVER "3.3.0-dev.8" +#DEFINE BIOSVER "3.3.0-dev.9" #define rmj RMJ #define rmn RMN #define rup RUP diff --git a/Source/ver.lib b/Source/ver.lib index e3963be0..51ff8087 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 3 rup equ 0 rtp equ 0 biosver macro - db "3.3.0-dev.8" + db "3.3.0-dev.9" endm