diff --git a/Binary/RomList.txt b/Binary/RomList.txt index fe87f73a..49173a01 100644 --- a/Binary/RomList.txt +++ b/Binary/RomList.txt @@ -83,6 +83,8 @@ SBC (SBC_std.rom): - Includes support for CVDU and VGA3 boards. If detected at startup, support for video and keyboard is installed including VT-100/ANSI terminal emulation. + - Auto detects DiskIO v3 floppy disk controller and installs + support for two attached 3.5" floppy disks if found - Auto-detects PropIO or PropIO V2 and installs associated video, keyboard and SD Card support if present. - If PropIO, PropIO V2, CVDU, or VGA hardware is detected, @@ -102,8 +104,10 @@ SBC (SBC_simh.rom): ZETA (ZETA_std.rom): - CPU speed is detected at startup - Console on onboard UART serial port at 38400 baud - - Includes support for on-board floppy disk controller and - two attached floppy disks. + - Auto-detects FDC and installs 3.5" disk support + if found + - Auto detects on-board floppy disk controller and installs + support for one attached 3.5" floppy disk if found - Auto-detects ParPortProp and includes support for it if it is attached. - If ParPortProp is installed, initial console output is @@ -114,8 +118,8 @@ ZETA (ZETA_std.rom): ZETA2 (ZETA2_std.rom): - CPU speed is detected at startup - Console on onboard UART serial port at 38400 baud - - Includes support for on-board floppy disk controller and - two attached floppy disks. + - Auto detects on-board floppy disk controller and installs + support for one attached 3.5" floppy disk if found - Auto-detects ParPortProp and includes support for it if it is attached. - Uses CTC to generate periodic timer interrupts. @@ -127,8 +131,8 @@ ZETA2 (ZETA2_std.rom): N8 (N8_std.rom): - CPU speed is detected at startup - Console on Z180 onboard primary ASCI serial port at 38400 baud - - Includes support for on-board floppy disk controller and - two attached floppy disks. + - Auto detects onboard floppy disk controller and installs + support for two attached 3.5" floppy disks if found - Includes support for on-board TMS9918 video and keyboard including VT-100/ANSI terminal emulation. - Includes support for on-board SD Card as hard disk and @@ -139,6 +143,8 @@ MK4 (MK4_std.rom): - Console on Z180 onboard primary ASCI serial port at 38400 baud - Includes support for on-board IDE port (CF Card via adapter). - Includes support for on-board SD Card port. + - Auto detects Dual IDE floppy disk controller and installs + support for two attached 3.5" floppy disks if found - Auto-detects PropIO or PropIO V2 and installs associated video, keyboard and SD Card support if present. - Includes support for CVDU and VGA3 boards. If detected at @@ -156,8 +162,9 @@ RCZ80 (RCZ80_std.rom): - Auto support for RC2014 Compact Flash Module - Auto support for RC2014 PPIDE Module - Support for Scott Baker SIO board may be enabled in config - - Support for Scott Baker floppy controllers (SMC & WDC) may - be enabled in config + - Auto detects WDC floppy disk controller and installs + support for two attached 3.5" floppy disks if found + - Support for SMC floppy controller may be enabled in config - Support for J.B. Lang TMS9918 video card may be enabled in config - Support for PropIO V2 may be enabled in config (PRPENABLE). If enabled, will auto-detect and install associated @@ -174,8 +181,9 @@ RCZ180 (RCZ180_nat.rom & RCZ180_ext.rom): - Auto support for RC2014 Compact Flash Module - Auto support for RC2014 PPIDE Module - Support for alternative serial modules may be enabled in config - - Support for Scott Baker floppy controllers (SMC & WDC) may - be enabled in config + - Auto detects WDC floppy disk controller and installs + support for two attached 3.5" floppy disks if found + - Support for SMC floppy controller may be enabled in config - Support for J.B. Lang TMS9918 video card may be enabled in config - You must pick the variant (_ext or _nat) depending on which memory module you are using: @@ -203,8 +211,9 @@ RCZ280 (RCZ280_ext.rom, RCZ280_nat.rom, RCZ280_nat_zz.rom): - Auto support for RC2014 Compact Flash Module - Auto support for RC2014 PPIDE Module - Support for Scott Baker SIO board may be enabled in config - - Support for Scott Baker floppy controllers (SMC & WDC) may - be enabled in config + - Auto detects WDC floppy disk controller and installs + support for two attached 3.5" floppy disks if found + - Support for SMC floppy controllers may be enabled in config - Support for J.B. Lang TMS9918 video card may be enabled in config - You must pick the variant (_ext, _nat, or _nat_zz) depending on which platform or memory module you are using: @@ -235,6 +244,9 @@ EZZ80 (EZZ80_std.rom): - Includes support for on-board SIO - Auto support for RC2014 Compact Flash Module - Auto support for RC2014 PPIDE Module + - Auto detects WDC floppy disk controller and installs + support for two attached 3.5" floppy disks if found + - Support for SMC floppy controllers may be enabled in config - Support for PropIO V2 may be enabled in config (PRPENABLE). If enabled, will auto-detect and install associated video, keyboard and SD Card support if present. @@ -243,5 +255,6 @@ DYNO (DYNO_std.rom): - Assumes CPU oscillator of 18.432 MHz - Console on Z180 onboard serial ports at 38400 baud - Includes support for BQ4842 RTC + - Auto detects Dyno floppy disk controller and installs + support for two attached 3.5" floppy disks if found - Includes support for onboard PPIDE - - Support for Dyno floppy controllers may be enabled in config diff --git a/Doc/ChangeLog.txt b/Doc/ChangeLog.txt index a2f6dab2..0ed87fd8 100644 --- a/Doc/ChangeLog.txt +++ b/Doc/ChangeLog.txt @@ -29,6 +29,7 @@ Version 3.1.1 - D?M: SD driver fixes for MT011 - J?C: Added FIND application from Jay Cotton - PMS: Preliminary support for I2C-based DS1307 clock +- WBW: FD driver auto hardware detect (thanks Alan Cox) Version 3.1 ----------- diff --git a/Source/HBIOS/Config/DYNO_std.asm b/Source/HBIOS/Config/DYNO_std.asm index cc31253a..2a3f825d 100644 --- a/Source/HBIOS/Config/DYNO_std.asm +++ b/Source/HBIOS/Config/DYNO_std.asm @@ -36,6 +36,6 @@ ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) ;ASCI0CFG .SET SER_115200_8N1 ; ASCI 0: SERIAL LINE CONFIG ;ASCI1CFG .SET SER_115200_8N1 ; ASCI 1: SERIAL LINE CONFIG ; -FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) ; PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) diff --git a/Source/HBIOS/Config/EZZ80_std.asm b/Source/HBIOS/Config/EZZ80_std.asm index 02796033..b144bed2 100644 --- a/Source/HBIOS/Config/EZZ80_std.asm +++ b/Source/HBIOS/Config/EZZ80_std.asm @@ -30,6 +30,9 @@ CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; CPUOSC .SET 10000000 ; CPU OSC FREQ IN MHZ ; +FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +; IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) ; PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) diff --git a/Source/HBIOS/Config/MK4_std.asm b/Source/HBIOS/Config/MK4_std.asm index 027dcf36..43ac3748 100644 --- a/Source/HBIOS/Config/MK4_std.asm +++ b/Source/HBIOS/Config/MK4_std.asm @@ -36,7 +36,7 @@ VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM) CVDUENABLE .SET TRUE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM) VGAENABLE .SET TRUE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM) ; -FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .SET FDMODE_DIDE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] ; IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) diff --git a/Source/HBIOS/Config/RCZ180_ext.asm b/Source/HBIOS/Config/RCZ180_ext.asm index c401e771..cf4af5c2 100644 --- a/Source/HBIOS/Config/RCZ180_ext.asm +++ b/Source/HBIOS/Config/RCZ180_ext.asm @@ -43,7 +43,7 @@ SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) ; TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) ; -FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] ; IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) diff --git a/Source/HBIOS/Config/RCZ180_nat.asm b/Source/HBIOS/Config/RCZ180_nat.asm index 061e6117..d900f25b 100644 --- a/Source/HBIOS/Config/RCZ180_nat.asm +++ b/Source/HBIOS/Config/RCZ180_nat.asm @@ -43,7 +43,7 @@ SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) ; TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) ; -FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] ; IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) diff --git a/Source/HBIOS/Config/RCZ280_ext.asm b/Source/HBIOS/Config/RCZ280_ext.asm index 1a82285b..9eefcaaa 100644 --- a/Source/HBIOS/Config/RCZ280_ext.asm +++ b/Source/HBIOS/Config/RCZ280_ext.asm @@ -42,6 +42,9 @@ UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) ACIAENABLE .SET TRUE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) ; +FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +; IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) ; PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) diff --git a/Source/HBIOS/Config/RCZ280_nat.asm b/Source/HBIOS/Config/RCZ280_nat.asm index 9cf5d474..8fe12ab4 100644 --- a/Source/HBIOS/Config/RCZ280_nat.asm +++ b/Source/HBIOS/Config/RCZ280_nat.asm @@ -44,6 +44,9 @@ UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) ACIAENABLE .SET TRUE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) ; +FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +; IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) ; PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) diff --git a/Source/HBIOS/Config/RCZ80_std.asm b/Source/HBIOS/Config/RCZ80_std.asm index dbe7d3ac..c0380d6b 100644 --- a/Source/HBIOS/Config/RCZ80_std.asm +++ b/Source/HBIOS/Config/RCZ80_std.asm @@ -37,7 +37,7 @@ SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1) ; -FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] ; IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) diff --git a/Source/HBIOS/Config/RCZ80_zrc.asm b/Source/HBIOS/Config/RCZ80_zrc.asm index 3b4c70f8..90b27aa2 100644 --- a/Source/HBIOS/Config/RCZ80_zrc.asm +++ b/Source/HBIOS/Config/RCZ80_zrc.asm @@ -39,7 +39,7 @@ SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1) ; -FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] ; IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) diff --git a/Source/HBIOS/Config/SBC_std.asm b/Source/HBIOS/Config/SBC_std.asm index b68e80c1..6189daea 100644 --- a/Source/HBIOS/Config/SBC_std.asm +++ b/Source/HBIOS/Config/SBC_std.asm @@ -32,7 +32,7 @@ VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM) CVDUENABLE .SET TRUE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM) VGAENABLE .SET TRUE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM) ; -FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .SET FDMODE_DIO3 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] ; IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) diff --git a/Source/HBIOS/Config/SCZ180_126.asm b/Source/HBIOS/Config/SCZ180_126.asm index 04a7859a..5d49834f 100644 --- a/Source/HBIOS/Config/SCZ180_126.asm +++ b/Source/HBIOS/Config/SCZ180_126.asm @@ -45,7 +45,7 @@ SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) ; TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) ; -FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] ; IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) diff --git a/Source/HBIOS/Config/SCZ180_130.asm b/Source/HBIOS/Config/SCZ180_130.asm index 0793f77f..ec324c62 100644 --- a/Source/HBIOS/Config/SCZ180_130.asm +++ b/Source/HBIOS/Config/SCZ180_130.asm @@ -52,7 +52,7 @@ SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) ; TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) ; -FDENABLE .SET FALSE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] +FDENABLE .SET TRUE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] ; IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) diff --git a/Source/HBIOS/Config/SCZ180_131.asm b/Source/HBIOS/Config/SCZ180_131.asm index 5c400347..77aa8baa 100644 --- a/Source/HBIOS/Config/SCZ180_131.asm +++ b/Source/HBIOS/Config/SCZ180_131.asm @@ -50,7 +50,7 @@ ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) ; -FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPWDC] ; IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) diff --git a/Source/HBIOS/Config/SCZ180_140.asm b/Source/HBIOS/Config/SCZ180_140.asm index 2bd0b7c1..27e38cf7 100644 --- a/Source/HBIOS/Config/SCZ180_140.asm +++ b/Source/HBIOS/Config/SCZ180_140.asm @@ -46,7 +46,7 @@ ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) ; SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) ; -FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] ; IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) diff --git a/Source/HBIOS/fd.asm b/Source/HBIOS/fd.asm index 7bf477ba..45ed35a9 100644 --- a/Source/HBIOS/fd.asm +++ b/Source/HBIOS/fd.asm @@ -648,9 +648,58 @@ FD_GEOM: ; FD_INIT: CALL NEWLINE ; FORMATTING - PRTS("FD: IO=0x$") + PRTS("FD: MODE=$") +; +#IF (FDMODE == FDMODE_DIO) + PRTS("DIO$") +#ENDIF +; +#IF (FDMODE == FDMODE_ZETA) + PRTS("ZETA$") +#ENDIF +; +#IF (FDMODE == FDMODE_DIO3) + PRTS("DIO3$") +#ENDIF +; +#IF (FDMODE == FDMODE_ZETA2) + PRTS("ZETA2$") +#ENDIF +; +#IF (FDMODE == FDMODE_DIDE) + PRTS("DIDE$") +#ENDIF +; +#IF (FDMODE == FDMODE_N8) + PRTS("N8$") +#ENDIF +; +#IF (FDMODE == FDMODE_RCSMC) + PRTS("RCSMC$") +#ENDIF +; +#IF (FDMODE == FDMODE_RCWDC) + PRTS("RCWDC$") +#ENDIF +; +#IF (FDMODE == FDMODE_DYNO) + PRTS("DYNO$") +#ENDIF +; +#IF (FDMODE == FDMODE_EPFDC) + PRTS("EPFDC$") +#ENDIF +; + PRTS(" IO=0x$") LD A,FDC_MSR CALL PRTHEXBYTE + CALL FD_DETECT ; CHECK FOR FDC + JR Z,FD_INIT00 ; CONTINUE IF FOUND + PRTS(" NOT PRESENT$") ; NOT ZERO, H/W NOT PRESENT + OR $FF ; SIGNAL FAILURE + RET ; BAIL OUT +; +FD_INIT00: PRTS(" UNITS=$") LD A, FD_DEVCNT + '0' CALL COUT @@ -688,6 +737,24 @@ FD_INIT0: ; RET ; +; HARDWARE PRESENCE DETECTION +; +; CURRENTLY JUST DETERMINES IF FDC EXISTS AT PRE-DEFINED ADDRESS, +; DOES NOT ATTEMPT TO DETERMINE THE ACTUAL VARIANT. +; +FD_DETECT: + IN A,(FDC_MSR) ; READ MSR + CP $80 + JR Z,FD_DETECT1 ; $80 IS OK + CP $D0 + JR Z,FD_DETECT1 ; $D0 IS OK + RET ; NOPE, ABORT WITH ZF=NZ +; +FD_DETECT1: + IN A,(FDC_MSR) ; READ MSR AGAIN + CP $80 + RET ; $80 OK, ELSE NOT PRESENT +; ; UNIT INITIALIZATION ; FD_INITUNIT: diff --git a/Source/Images/d_bp/u0/UNZIPZ4.COM b/Source/Images/d_bp/u0/UNZIPZ4.COM new file mode 100644 index 00000000..6b701a70 Binary files /dev/null and b/Source/Images/d_bp/u0/UNZIPZ4.COM differ diff --git a/Source/Images/d_cpm22/u0/UNZIPZ4.COM b/Source/Images/d_cpm22/u0/UNZIPZ4.COM new file mode 100644 index 00000000..6b701a70 Binary files /dev/null and b/Source/Images/d_cpm22/u0/UNZIPZ4.COM differ diff --git a/Source/Images/d_zsdos/u0/UNZIPZ4.COM b/Source/Images/d_zsdos/u0/UNZIPZ4.COM new file mode 100644 index 00000000..6b701a70 Binary files /dev/null and b/Source/Images/d_zsdos/u0/UNZIPZ4.COM differ diff --git a/Source/ver.inc b/Source/ver.inc index 3b482851..a6c0fe1e 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 1 #DEFINE RUP 1 #DEFINE RTP 0 -#DEFINE BIOSVER "3.1.1-pre.76" +#DEFINE BIOSVER "3.1.1-pre.77" diff --git a/Source/ver.lib b/Source/ver.lib index 42e3ace2..e259b3c2 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 1 rup equ 1 rtp equ 0 biosver macro - db "3.1.1-pre.76" + db "3.1.1-pre.77" endm