From c57de185931f4a8cd29ff20766abc8804446a1b2 Mon Sep 17 00:00:00 2001 From: Chris Odorjan Date: Thu, 21 May 2020 20:30:28 -0400 Subject: [PATCH] DUART: don't build in the standard configuration add a separate RCZ80_duart configuration, at least until it gets more testing --- Source/HBIOS/Config/RCZ80_duart.asm | 32 +++++++++++++++++++++++++++++ Source/HBIOS/Makefile | 1 + Source/HBIOS/cfg_rcz80.asm | 5 +---- 3 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 Source/HBIOS/Config/RCZ80_duart.asm diff --git a/Source/HBIOS/Config/RCZ80_duart.asm b/Source/HBIOS/Config/RCZ80_duart.asm new file mode 100644 index 00000000..b539bdb7 --- /dev/null +++ b/Source/HBIOS/Config/RCZ80_duart.asm @@ -0,0 +1,32 @@ +; +;================================================================================================== +; RC2014 Z80 CONFIGURATION W/ DUART +;================================================================================================== +; +; THE COMPLETE SET OF DEFAULT CONFIGURATION SETTINGS FOR THIS PLATFORM ARE FOUND IN THE +; CFG_.ASM INCLUDED FILE WHICH IS FOUND IN THE PARENT DIRECTORY. THIS FILE CONTAINS +; COMMON CONFIGURATION SETTINGS THAT OVERRIDE THE DEFAULTS. IT IS INTENDED THAT YOU MAKE +; YOUR CUSTOMIZATIONS IN THIS FILE AND JUST INHERIT ALL OTHER SETTINGS FROM THE DEFAULTS. +; EVEN BETTER, YOU CAN MAKE A COPY OF THIS FILE WITH A NAME LIKE _XXX.ASM AND SPECIFY +; YOUR FILE IN THE BUILD PROCESS. +; +; THE SETTINGS BELOW ARE THE SETTINGS THAT ARE MOST COMMONLY MODIFIED FOR THIS PLATFORM. +; MANY OF THEM ARE EQUAL TO THE SETTINGS IN THE INCLUDED FILE, SO THEY DON'T REALLY DO +; ANYTHING AS IS. THEY ARE LISTED HERE TO MAKE IT EASY FOR YOU TO ADJUST THE MOST COMMON +; SETTINGS. +; +; N.B., SINCE THE SETTINGS BELOW ARE REDEFINING VALUES ALREADY SET IN THE INCLUDED FILE, +; TASM INSISTS THAT YOU USE THE .SET OPERATOR AND NOT THE .EQU OPERATOR BELOW. ATTEMPTING +; TO REDEFINE A VALUE WITH .EQU BELOW WILL CAUSE TASM ERRORS! +; +; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO +; DIRECTORIES ABOVE THIS ONE). +; +#define BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON OR AUTO BOOT +; +#define PLATFORM_NAME "RC2014 (DUART)" +; +#include "Config/RCZ80_std.asm" +; +DUARTENABLE .EQU TRUE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM) +DUARTCNT .EQU 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2) diff --git a/Source/HBIOS/Makefile b/Source/HBIOS/Makefile index 316fb027..c8f7c8fb 100644 --- a/Source/HBIOS/Makefile +++ b/Source/HBIOS/Makefile @@ -13,6 +13,7 @@ else OBJECTS += RCZ180_nat.rom RCZ180_nat.com OBJECTS += RCZ80_kio.rom RCZ80_kio.com OBJECTS += RCZ80_mt.rom RCZ80_mt.com + OBJECTS += RCZ80_duart.rom RCZ80_duart.com OBJECTS += RCZ80_std.rom RCZ80_std.com OBJECTS += SBC_simh.rom SBC_simh.com OBJECTS += SBC_std.rom SBC_std.com diff --git a/Source/HBIOS/cfg_rcz80.asm b/Source/HBIOS/cfg_rcz80.asm index ca5b6bb5..4efdd960 100644 --- a/Source/HBIOS/cfg_rcz80.asm +++ b/Source/HBIOS/cfg_rcz80.asm @@ -75,17 +75,14 @@ INTRTCENABLE .EQU FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM) HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM) ; -DUARTENABLE .EQU TRUE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM) -DUARTDEBUG .EQU FALSE ; DUART: ENABLE DEBUG OUTPUT +DUARTENABLE .EQU FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM) DUARTCNT .EQU 2 ; DUART: NUMBER OF CHIPS TO DETECT (1-2) DUART0BASE .EQU $A0 ; DUART 0: BASE ADDRESS OF CHIP DUART0ACFG .EQU DEFSERCFG ; DUART 0A: SERIAL LINE CONFIG DUART0BCFG .EQU DEFSERCFG ; DUART 0B: SERIAL LINE CONFIG -DUART0CLK .EQU 3686400 ; DUART 0: OSC FREQ IN HZ (STANDARD IS 3686400) DUART1BASE .EQU $40 ; DUART 1: BASE ADDRESS OF CHIP DUART1ACFG .EQU DEFSERCFG ; DUART 1A: SERIAL LINE CONFIG DUART1BCFG .EQU DEFSERCFG ; DUART 1B: SERIAL LINE CONFIG -DUART1CLK .EQU 3686400 ; DUART 1: OSC FREQ IN HZ (STANDARD IS 3686400) ; UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ