diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 1c202ecc..8a706242 100644 Binary files a/Doc/RomWBW Applications.pdf and b/Doc/RomWBW Applications.pdf differ diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index 79200ea1..ab89e742 100644 Binary files a/Doc/RomWBW Disk Catalog.pdf and b/Doc/RomWBW Disk Catalog.pdf differ diff --git a/Doc/RomWBW Hardware.pdf b/Doc/RomWBW Hardware.pdf index 439a6da1..21922320 100644 Binary files a/Doc/RomWBW Hardware.pdf and b/Doc/RomWBW Hardware.pdf differ diff --git a/Doc/RomWBW Introduction.pdf b/Doc/RomWBW Introduction.pdf index 3224d468..7e99da42 100644 Binary files a/Doc/RomWBW Introduction.pdf and b/Doc/RomWBW Introduction.pdf differ diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index 9c2223f1..f2de2898 100644 Binary files a/Doc/RomWBW System Guide.pdf and b/Doc/RomWBW System Guide.pdf differ diff --git a/Doc/RomWBW User Guide.pdf b/Doc/RomWBW User Guide.pdf index f2df9521..0a6cc70a 100644 Binary files a/Doc/RomWBW User Guide.pdf and b/Doc/RomWBW User Guide.pdf differ diff --git a/ReadMe.md b/ReadMe.md index 36fc7cdb..c315b98c 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -7,7 +7,7 @@ **RomWBW Introduction** \ Version 3.5 \ Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ -24 Jan 2025 +25 Jan 2025 # Overview diff --git a/ReadMe.txt b/ReadMe.txt index d15fe923..cf98e836 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -1,6 +1,6 @@ RomWBW Introduction Wayne Warthen (wwarthen@gmail.com) -24 Jan 2025 +25 Jan 2025 diff --git a/Source/Doc/Hardware.md b/Source/Doc/Hardware.md index 2f7cbbe8..a2262517 100644 --- a/Source/Doc/Hardware.md +++ b/Source/Doc/Hardware.md @@ -1352,6 +1352,8 @@ program the image into the first 512KB of the ROM for now. `\clearpage`{=latex} +## Z80 K80W CPU Module + #### ROM Image File: RCZ80_k8w_std.rom | | | @@ -1876,113 +1878,126 @@ program the image into the first 512KB of the ROM for now. This section briefly describes each of the possible devices that may be discovered by RomWBW in your system. -## Serial - -| **ID** | **Type** | **Description** | -|-----------|----------|--------------------------------------------------------| -| ACIA | Char | MC68B50 Asynchronous Communications Interface Adapter | -| ASCI | Char | Zilog Z180 CPU Built-in Serial Ports | -| DUART | Char | SCC2681 or compatible Dual UART | -| EF | Char | EF9345 Video Display Controller | -| KBD | Keyboard | 8242 PS/2 Keyboard Controller | -| LPT | Char | Parallel I/O Controller | -| MSXKYB | Keyboard | MSX Compliant Matrix Keyboard | -| PIO | Char | Zilog Parallel Interface Controller | -| PPK | Keyboard | Matrix Keyboard | -| PPPCON | Serial | ParPortProp Serial Console Interface | -| PRPCON | Serial | PropIO Serial Console Interface | -| SCON | Char | S100 Console | -| SIO | Char | Zilog Serial Port Interface | -| SSER | Char | Simple Serial Interface | -| UART | Char | 16C550 Family Serial Interface | -| USB-FIFO | Char | FT232H-based ECB USB FIFO | -| Z2U | Char | Zilog Z280 CPU Built-in Serial Ports | +## Character + +| **ID** | **Description** | +|-----------|--------------------------------------------------------| +| ACIA | MC68B50 Asynchronous Communications Interface Adapter | +| ASCI | Zilog Z180 CPU Built-in Serial Ports | +| DUART | SCC2681 or compatible Dual UART | +| EF | EF9345 Video Display Controller | +| ESPCON | ESP32 Firmware-based Video Console | +| ESPSER | ESP32 Firmware-based Serial Interface | +| LPT | Parallel I/O Controller | +| PIO | Zilog Parallel Interface Controller | +| PPPCON | ParPortProp Serial Console Interface | +| PRPCON | PropIO Serial Console Interface | +| SCON | S100 Console | +| SIO | Zilog Serial Port Interface | +| SSER | Simple Serial Interface | +| UART | 16C550 Family Serial Interface | +| USB-FIFO | FT232H-based ECB USB FIFO | +| Z2U | Zilog Z280 CPU Built-in Serial Ports | By default, RomWBW will use the first available character device it -discovers for the initial console. Serial devices are scanned in -the following order: +discovers for the initial console. The following character devices are +scanned in the order shown. The available character devices depend on +the active platform and configuration. +#. SSET: Simple Serial Interface #. ASCI: Zilog Z180 CPU Built-in Serial Ports #. Z2U: Zilog Z280 CPU Built-in Serial Ports #. UART: 16C550 Family Serial Interface #. DUART: SCC2681 or compatible Dual UART #. SIO: Zilog Serial Port Interface #. ACIA: MC68B50 Asynchronous Communications Interface Adapter +#. USB-FIFO: FT232H-based ECB USB FIFO ## Disk -| **ID** | **Type** | **Description** | -|-----------|----------|--------------------------------------------------------| -| CHSD | Disk | CH37x SD Card Interface | -| CHUSB | Disk | CH37x USB Drive Interface | -| EMM | Disk | Disk drive on Parallel Port emm interface (Zip Drive) | -| FD | Disk | 8272 or compatible Floppy Disk Controller | -| HDSK | Disk | SIMH Simulator Hard Disk | -| IDE | Disk | IDE/ATA/ATAPI Hard Disk Interface | -| IMM | Disk | IMM Zip Drive on PPI | -| MD | Disk | ROM/RAM Disk | -| PPA | Disk | PPA Zip Drive on PPI | -| PPIDE | Disk | 8255 IDE/ATA/ATAPI Hard Disk Interface | -| PPPSD | Disk | ParPortProp SD Card Interface | -| PRPSD | Disk | PropIO SD Card Interface | -| RF | Disk | RAM Floppy Disk Interface | -| SD | Disk | SD Card Interface | -| SYQ | Disk | Iomega SparQ Drive on PPI | +| **ID** | **Description** | +|-----------|--------------------------------------------------------| +| CHSD | CH37x SD Card Interface | +| CHUSB | CH37x USB Drive Interface | +| FD | 8272 or compatible Floppy Disk Controller | +| HDSK | SIMH Simulator Hard Disk | +| IDE | IDE/ATA/ATAPI Hard Disk Interface | +| IMM | Zip Drive on PPI (IMM variant) | +| MD | ROM/RAM Disk | +| PPA | Zip Drive on PPI (PPA variant) | +| PPIDE | 8255 IDE/ATA/ATAPI Hard Disk Interface | +| PPPSD | ParPortProp SD Card Interface | +| PRPSD | PropIO SD Card Interface | +| RF | RAM Floppy Disk Interface | +| SD | SD Card Interface | +| SYQ | Iomega SparQ Drive on PPI | ## Video -| **ID** | **Type** | **Description** | -|-----------|----------|--------------------------------------------------------| -| CVDU | Video | MC8563-based Video Display Controller | -| FV | Video | S100 FPGA Z80 Onboard VGA/Keyboard | -| GDC | Video | uPD7220 Video Display Controller | -| TMS | Video | TMS9918/38/58 Video Display Controller | -| VDU | Video | MC6845 Family Video Display Controller | -| VGA | Video | HD6445CP4-based Video Display Controller | -| VRC | Video | VGARC Video Display Controller | +| **ID** | **Description** | +|-----------|--------------------------------------------------------| +| CVDU | MC8563-based Video Display Controller | +| FV | S100 FPGA Z80 Onboard VGA/Keyboard | +| GDC | uPD7220 Video Display Controller | +| TMS | TMS9918/38/58 Video Display Controller | +| VDU | MC6845 Family Video Display Controller | +| VGA | HD6445CP4-based Video Display Controller | +| VRC | VGARC Video Display Controller | + +## Keyboard + +| **ID** | **Description** | +|-----------|--------------------------------------------------------| +| KBD | 8242 PS/2 Keyboard Controller | +| MSXKYB | MSX Compliant Matrix Keyboard | +| NABUKB | NABU Keyboard | +| PPK | Matrix Keyboard | ## Audio -| **ID** | **Type** | **Description** | -|-----------|----------|--------------------------------------------------------| -| AY | Audio | AY-3-8910/YM2149 Programmable Sound Generator | -| SN76489 | Sound | SN76489 Programmable Sound Generator | -| SPK | Sound | Bit-bang Speaker | -| YM | Audio | YM2612 Programmable Sound Generator | +| **ID** | **Description** | +|-----------|--------------------------------------------------------| +| AY | AY-3-8910/YM2149 Programmable Sound Generator | +| SN76489 | SN76489 Programmable Sound Generator | +| SPK | Bit-bang Speaker | +| YM | YM2612 Programmable Sound Generator | ## RTC (RealTime Clock) -| **ID** | **Type** | **Description** | -|-----------|----------|--------------------------------------------------------| -| BQRTC | RTC | BQ4845P Real Time Clock | -| DS5RTC | RTC | Maxim DS1305 SPI Real-Time Clock w/ NVRAM | -| DS7RTC | RTC | Maxim DS1307 PCF I2C Real-Time Clock w/ NVRAM | -| DS1501RTC | RTC | Maxim DS1501/DS1511 Watchdog Real-Time Clock | -| DSRTC | RTC | Maxim DS1302 Real-Time Clock w/ NVRAM | -| INTRTC | RTC | Interrupt-based Real Time Clock | -| PCF | RTC | PCF8584-based I2C Real-Time Clock | -| RP5C01 | RTC | Ricoh RPC01A Real-Time Clock w/ NVRAM | -| SIMRTC | RTC | SIMH Simulator Real-Time Clock | - -## DSKY (DiSplay KeYboard) - -| **ID** | **Type** | **Description** | -|-----------|----------|--------------------------------------------------------| -| ICM | DsKy | ICM7218-based Display/Keypad on PPI | -| PKD | DsKy | P8279-based Display/Keypad on PPI | +| **ID** | **Description** | +|-----------|--------------------------------------------------------| +| BQRTC | BQ4845P Real Time Clock | +| DS5RTC | Maxim DS1305 SPI Real-Time Clock w/ NVRAM | +| DS7RTC | Maxim DS1307 PCF I2C Real-Time Clock w/ NVRAM | +| DS1501RTC | Maxim DS1501/DS1511 Watchdog Real-Time Clock | +| DSRTC | Maxim DS1302 Real-Time Clock w/ NVRAM | +| INTRTC | Interrupt-based Real Time Clock | +| PCF | PCF8584-based I2C Real-Time Clock | +| RP5C01 | Ricoh RPC01A Real-Time Clock w/ NVRAM | +| SIMRTC | SIMH Simulator Real-Time Clock | + +## DsKy (DiSplay KeYpad) + +| **ID** | **Description** | +|-----------|--------------------------------------------------------| +| FP | Simple LED & Switch Front Panel | +| GM7303 | Prolog 7303 derived Display/Keypad | +| H8P | Heath H8 Display/Keypad | +| ICM | ICM7218-based Display/Keypad on PPI | +| LCD | Hitachi HD44780-based LCD Display | +| PKD | P8279-based Display/Keypad on PPI | ## System -| **ID** | **Type** | **Description** | -|-----------|----------|--------------------------------------------------------| -| CH | System | CH375/376 USB Controller | -| CTC | System | Zilog Clock/Timer | -| DMA | System | Zilog DMA Controller | -| FP | System | Simple LED & Switch Front Panel | -| KIO | System | Zilog Serial/ Parallel Counter/Timer | -| LCD | System | Hitachi HD44780-based LCD Display | -| PPP | System | ParPortProp Host Interface Controller | -| PRP | System | PropIO Host Interface Controller | +| **ID** | **Description** | +|-----------|--------------------------------------------------------| +| CH | CH375/376 USB Interface Controller | +| CTC | Zilog Clock/Timer | +| DMA | Zilog DMA Controller | +| ESP | ESP32 Firmware-based interface | +| KIO | Zilog Serial/ Parallel Counter/Timer | +| PPP | ParPortProp Host Interface Controller | +| PRP | PropIO Host Interface Controller | # UNA Hardware BIOS diff --git a/Source/HBIOS/Config/GMZ180_std.asm b/Source/HBIOS/Config/GMZ180_std.asm index fd1954be..e6d90f77 100644 --- a/Source/HBIOS/Config/GMZ180_std.asm +++ b/Source/HBIOS/Config/GMZ180_std.asm @@ -60,7 +60,7 @@ FPLED_IO .SET $00 ; FP: PORT ADDRESS FOR FP LEDS LEDENABLE .SET FALSE ; ENABLES STATUS LED (SINGLE LED) LEDMODE .SET LEDMODE_STD ; LEDMODE_[STD|SC|RTC|NABU] CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; 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/MK4_std.asm b/Source/HBIOS/Config/MK4_std.asm index 42c0d707..d668de6f 100644 --- a/Source/HBIOS/Config/MK4_std.asm +++ b/Source/HBIOS/Config/MK4_std.asm @@ -54,7 +54,7 @@ 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) CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) diff --git a/Source/HBIOS/Config/RCEZ80_std.asm b/Source/HBIOS/Config/RCEZ80_std.asm index fc14ade3..8f70db24 100644 --- a/Source/HBIOS/Config/RCEZ80_std.asm +++ b/Source/HBIOS/Config/RCEZ80_std.asm @@ -52,7 +52,7 @@ CPUOSC .SET 20000000 ; CPU OSC FREQ IN MHZ FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ;; TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU] diff --git a/Source/HBIOS/Config/RCZ180_ext_std.asm b/Source/HBIOS/Config/RCZ180_ext_std.asm index e42b56c4..eb760f9c 100644 --- a/Source/HBIOS/Config/RCZ180_ext_std.asm +++ b/Source/HBIOS/Config/RCZ180_ext_std.asm @@ -57,7 +57,7 @@ Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; 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/RCZ180_nat_std.asm b/Source/HBIOS/Config/RCZ180_nat_std.asm index fd34de40..e0b42775 100644 --- a/Source/HBIOS/Config/RCZ180_nat_std.asm +++ b/Source/HBIOS/Config/RCZ180_nat_std.asm @@ -57,7 +57,7 @@ Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; 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/RCZ180_z1rcc_std.asm b/Source/HBIOS/Config/RCZ180_z1rcc_std.asm index 30a3b858..217b25d2 100644 --- a/Source/HBIOS/Config/RCZ180_z1rcc_std.asm +++ b/Source/HBIOS/Config/RCZ180_z1rcc_std.asm @@ -62,7 +62,7 @@ Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; 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/RCZ280_ext_std.asm b/Source/HBIOS/Config/RCZ280_ext_std.asm index b97e6d0a..d6187a90 100644 --- a/Source/HBIOS/Config/RCZ280_ext_std.asm +++ b/Source/HBIOS/Config/RCZ280_ext_std.asm @@ -59,7 +59,7 @@ Z280_INTWAIT .SET 0 ; Z280: INT ACK WAIT STATUS (0-3) FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) Z2UENABLE .SET TRUE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM) diff --git a/Source/HBIOS/Config/RCZ280_nat_std.asm b/Source/HBIOS/Config/RCZ280_nat_std.asm index 765435b1..c7afd3d9 100644 --- a/Source/HBIOS/Config/RCZ280_nat_std.asm +++ b/Source/HBIOS/Config/RCZ280_nat_std.asm @@ -59,7 +59,7 @@ Z280_INTWAIT .SET 0 ; Z280: INT ACK WAIT STATUS (0-3) FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) Z2UENABLE .SET TRUE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM) diff --git a/Source/HBIOS/Config/RCZ80_easy_std.asm b/Source/HBIOS/Config/RCZ80_easy_std.asm index 93d13f02..a84e7e4f 100644 --- a/Source/HBIOS/Config/RCZ80_easy_std.asm +++ b/Source/HBIOS/Config/RCZ80_easy_std.asm @@ -63,7 +63,7 @@ WDOGIO .SET $6F ; WATCHDOG REGISTER ADR FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; 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/RCZ80_jbl_std.asm b/Source/HBIOS/Config/RCZ80_jbl_std.asm index 03d49620..44834b7c 100644 --- a/Source/HBIOS/Config/RCZ80_jbl_std.asm +++ b/Source/HBIOS/Config/RCZ80_jbl_std.asm @@ -70,7 +70,7 @@ ; CPUOSC .SET 3686400 ; CPU OSC FREQ IN MHZ ; -VDAEMU_SERKBD .SET 1 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM) ; diff --git a/Source/HBIOS/Config/RCZ80_kio_std.asm b/Source/HBIOS/Config/RCZ80_kio_std.asm index 27feefe3..65be82dc 100644 --- a/Source/HBIOS/Config/RCZ80_kio_std.asm +++ b/Source/HBIOS/Config/RCZ80_kio_std.asm @@ -55,6 +55,8 @@ CTCENABLE .SET TRUE ; ENABLE ZILOG CTC SUPPORT CTCBASE .SET KIOBASE+$04 ; CTC BASE I/O ADDRESS CTCTIMER .SET TRUE ; ENABLE CTC PERIODIC TIMER ; +INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM) +; ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) ; SIOCNT .SET 1 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP @@ -64,3 +66,9 @@ SIO0ACLK .SET 1843200 ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372 SIO0ACTCC .SET 0 ; SIO 0A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE SIO0BCLK .SET 1843200 ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 SIO0BCTCC .SET 1 ; SIO 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE + + +LPTENABLE .SET TRUE +PPAENABLE .SET TRUE +IMMENABLE .SET TRUE +SYQENABLE .SET TRUE diff --git a/Source/HBIOS/Config/RCZ80_skz_std.asm b/Source/HBIOS/Config/RCZ80_skz_std.asm index 55c94c1e..a723d195 100644 --- a/Source/HBIOS/Config/RCZ80_skz_std.asm +++ b/Source/HBIOS/Config/RCZ80_skz_std.asm @@ -57,7 +57,7 @@ FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES LEDENABLE .SET TRUE ; ENABLES STATUS LED (SINGLE LED) LEDPORT .SET $6E ; STATUS LED PORT ADDRESS CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; 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_std.asm b/Source/HBIOS/Config/RCZ80_std.asm index 2df45d5d..f4951628 100644 --- a/Source/HBIOS/Config/RCZ80_std.asm +++ b/Source/HBIOS/Config/RCZ80_std.asm @@ -52,7 +52,7 @@ CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; 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_std.asm b/Source/HBIOS/Config/RCZ80_tiny_std.asm index 563d64ad..02463225 100644 --- a/Source/HBIOS/Config/RCZ80_tiny_std.asm +++ b/Source/HBIOS/Config/RCZ80_tiny_std.asm @@ -67,7 +67,7 @@ FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES LEDENABLE .SET TRUE ; ENABLES STATUS LED (SINGLE LED) LEDPORT .SET $6E ; STATUS LED PORT ADDRESS CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; 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/SCZ180_sc126_std.asm b/Source/HBIOS/Config/SCZ180_sc126_std.asm index c7b1c494..c924d7fe 100644 --- a/Source/HBIOS/Config/SCZ180_sc126_std.asm +++ b/Source/HBIOS/Config/SCZ180_sc126_std.asm @@ -59,7 +59,7 @@ FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS FPLED_IO .SET $0D ; FP: PORT ADDRESS FOR FP LEDS FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; 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_std.asm b/Source/HBIOS/Config/SCZ180_sc130_std.asm index a71904a2..a226768c 100644 --- a/Source/HBIOS/Config/SCZ180_sc130_std.asm +++ b/Source/HBIOS/Config/SCZ180_sc130_std.asm @@ -60,7 +60,7 @@ FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; LEDENABLE .SET TRUE ; ENABLE STATUS LED (SINGLE LED) CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ; 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_sc700_std.asm b/Source/HBIOS/Config/SCZ180_sc700_std.asm index eaecddb0..5062399c 100644 --- a/Source/HBIOS/Config/SCZ180_sc700_std.asm +++ b/Source/HBIOS/Config/SCZ180_sc700_std.asm @@ -59,7 +59,7 @@ FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS FPLED_IO .SET $00 ; FP: PORT ADDRESS FOR FP LEDS LEDENABLE .SET TRUE ; ENABLES STATUS LED (SINGLE LED) LEDMODE .SET LEDMODE_STD ; LEDMODE_[STD|SC|RTC|NABU] -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) diff --git a/Source/HBIOS/cfg_HEATH.asm b/Source/HBIOS/cfg_HEATH.asm index 5e02cd3e..91ad4035 100644 --- a/Source/HBIOS/cfg_HEATH.asm +++ b/Source/HBIOS/cfg_HEATH.asm @@ -132,7 +132,7 @@ BOOTCON .SET 0 ; BOOT CONSOLE DEVICE SECCON .SET $FF ; SECONDARY CONSOLE DEVICE CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP VDAEMU .SET EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI] -VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD +VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD ANSITRACE .SET 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) PPKTRACE .SET 1 ; PPK DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) KBDTRACE .SET 1 ; KBD DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index a829e7b4..d3602906 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -283,6 +283,16 @@ SUPCTS .EQU FALSE ; SUPPRESS CTS DURING HBIOS BOOT #ENDIF #ENDIF ; +; IF VDAEMU_SEKBD AND AUTOCON ARE BOTH ACTIVE, THEN THE BOOT LOADER +; PROMPT WILL BE CONFUSED BECAUSE IT WILL POLL THE SHARED SERIAL PORT +; FOR BOTH DEVICES. +; +#IF ((VDAEMU_SERKBD != $FF) & (AUTOCON == TRUE)) + .ECHO "*** ERROR: VDAEMU_SERKBD CANNOT BE COMBINED WITH AUTOCON!!! ***\n" + .ECHO "SET VDAEMU_SERKBD = $FF OR SET AUTOCON = FALSE\n" + !!! ; FORCE AN ASSEMBLY ERROR +#ENDIF +; ; CONVERT ROMWBW LOGICAL BANK ID TO PHYSICAL 32K BANK OFFSET ; #DEFINE PBANK(X) (((X >> 7) * (RAMBIAS / 32)) + (X & $7F)) diff --git a/Source/HBIOS/tms.asm b/Source/HBIOS/tms.asm index 6633f696..f2c3bbc7 100644 --- a/Source/HBIOS/tms.asm +++ b/Source/HBIOS/tms.asm @@ -74,6 +74,7 @@ TMSKBD .SET TMSKBD_PPK ; PPK KEYBOARD #IF (TMSMODE == TMSMODE_MSX) TMS_DATREG .EQU $98 ; READ/WRITE DATA TMS_CMDREG .EQU $99 ; READ STATUS / WRITE REG SEL + DEVECHO "MSX" #ENDIF ; #IF (TMSMODE == TMSMODE_MSXKBD) @@ -122,6 +123,7 @@ TMSKBD .SET TMSKBD_KBD ; PS2 KEYBOARD TMS_DATREG .EQU $A0 ; READ/WRITE DATA TMS_CMDREG .EQU $A1 ; READ STATUS / WRITE REG SEL TMSKBD .SET TMSKBD_NABU ; NABU KEYBOARD + DEVECHO "NABU" #ENDIF ; DEVECHO ", IO="