diff --git a/Doc/ChangeLog.txt b/Doc/ChangeLog.txt index e3e70a92..b225da0d 100644 --- a/Doc/ChangeLog.txt +++ b/Doc/ChangeLog.txt @@ -10,6 +10,7 @@ Version 2.9.2 - WBW: Add RC2014 Z180 AY sound support to TUNE app - WBW: Add RC2014 AY sound support to AY driver - WBW: Add SC126 platform +- WBW: Config files cleanup Version 2.9.1 ------------- diff --git a/ReadMe.txt b/ReadMe.txt index 1e441f8d..7fece007 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -7,7 +7,7 @@ *********************************************************************** Wayne Warthen (wwarthen@gmail.com) -Version 2.9.2-pre.4, 2019-08-11 +Version 2.9.2-pre.5, 2019-08-15 https://www.retrobrewcomputers.org/ RomWBW is a ROM-based implementation of CP/M-80 2.2 and Z-System for diff --git a/Source/CBIOS/ver.inc b/Source/CBIOS/ver.inc index 1b7b0393..cbc2e447 100644 --- a/Source/CBIOS/ver.inc +++ b/Source/CBIOS/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 9 #DEFINE RUP 2 #DEFINE RTP 0 -#DEFINE BIOSVER "2.9.2-pre.4" +#DEFINE BIOSVER "2.9.2-pre.5" diff --git a/Source/HBIOS/Build.ps1 b/Source/HBIOS/Build.ps1 index c6620821..113ad343 100644 --- a/Source/HBIOS/Build.ps1 +++ b/Source/HBIOS/Build.ps1 @@ -123,7 +123,7 @@ $TimeStamp = '"' + (Get-Date -Format 'yyyy-MM-dd') + '"' # Function to run TASM and throw an exception if an error occurs. Function Asm($Component, $Opt, $Architecture=$CPUType, $Output="${Component}.bin", $List="${Component}.lst") { - $Cmd = "tasm -t${Architecture} -g3 ${Opt} ${Component}.asm ${Output} ${List}" + $Cmd = "tasm -t${Architecture} -g3 -e ${Opt} ${Component}.asm ${Output} ${List}" $Cmd | write-host Invoke-Expression $Cmd | write-host if ($LASTEXITCODE -gt 0) {throw "TASM returned exit code $LASTEXITCODE"} @@ -150,8 +150,7 @@ Function Concat($InputFileList, $OutputFile) ; #DEFINE TIMESTAMP ${TimeStamp} ; -PLATFORM .EQU PLT_${Platform} ; HARDWARE PLATFORM -ROMSIZE .EQU ${ROMSize} ; SIZE OF ROM IN KB +ROMSIZE .EQU ${ROMSize} ; #INCLUDE "${ConfigFile}" ; diff --git a/Source/HBIOS/Config/EZZ80_std.asm b/Source/HBIOS/Config/EZZ80_std.asm index b9039f6f..dd0c4da6 100644 --- a/Source/HBIOS/Config/EZZ80_std.asm +++ b/Source/HBIOS/Config/EZZ80_std.asm @@ -3,7 +3,26 @@ ; EASY Z80 STANDARD CONFIGURATION ;================================================================================================== ; +; 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). +; #include "cfg_ezz80.asm" ; -CPUOSC .SET 10000000 ; CPU OSC FREQ -DEFSERCFG .SET SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG +CPUOSC .SET 10000000 ; CPU OSC FREQ IN MHZ +DEFSERCFG .SET SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) diff --git a/Source/HBIOS/Config/MK4_std.asm b/Source/HBIOS/Config/MK4_std.asm index 627b92bc..3c280ee6 100644 --- a/Source/HBIOS/Config/MK4_std.asm +++ b/Source/HBIOS/Config/MK4_std.asm @@ -3,28 +3,47 @@ ; MARK IV STANDARD CONFIGURATION ;================================================================================================== ; +; 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). +; #include "cfg_mk4.asm" ; -Z180_CLKDIV .SET 1 ; 0=OSC/2, 1=OSC, 2=OSC*2 -Z180_MEMWAIT .SET 0 ; MEMORY WAIT STATES (0-3) -Z180_IOWAIT .SET 1 ; ADD (0-3) I/O WAIT STATES ABOVE 1 W/S BUILT-IN +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) ; -FDENABLE .SET FALSE ; TRUE FOR FLOPPY DEVICE SUPPORT -FDMODE .SET FDMODE_DIDE ; FDMODE_DIO, FDMODE_DIDE, FDMODE_DIO3 +CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -IDEENABLE .SET TRUE ; TRUE FOR IDE DEVICE SUPPORT -IDEMODE .SET IDEMODE_MK4 ; IDEMODE_MK4, IDEMODE_DIO, IDEMODE_DIDE +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) ; -PPIDEENABLE .SET FALSE ; TRUE FOR PPIDE DEVICE SUPPORT -PPIDEMODE .SET PPIDEMODE_MFP ; PPIDEMODE_MFP, PPPIDEMODE_DIO3 +FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .SET FDMODE_DIDE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] ; -SDENABLE .SET TRUE ; TRUE FOR SD DEVICE SUPPORT -SDMODE .SET SDMODE_MK4 ; SDMODE_MK4, SDMODE_DSD +IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .SET IDEMODE_MK4 ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] ; -PRPENABLE .SET TRUE ; TRUE FOR PROPIO BOARD SUPPORT (VIDEO, KBD, & SD CARD) +PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) +PPIDEMODE .SET PPIDEMODE_MFP ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] ; -VGAENABLE .SET TRUE ; TRUE FOR VGA BOARD VIDEO & KBD SUPPORT -CVDUENABLE .SET TRUE ; TRUE FOR CVDU BOARD VIDEO & KBD SUPPORT -VDUENABLE .SET FALSE ; TRUE FOR VDU BOARD VIDEO & KBD SUPPORT +SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDMODE .SET SDMODE_MK4 ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC126] ; -CRTACT .SET FALSE ; TRUE TO ACTIVATE CRT AT STARTUP (BOOT ON CRT) +PRPENABLE .SET TRUE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) diff --git a/Source/HBIOS/Config/N8_std.asm b/Source/HBIOS/Config/N8_std.asm index 72d45ec7..f66b2692 100644 --- a/Source/HBIOS/Config/N8_std.asm +++ b/Source/HBIOS/Config/N8_std.asm @@ -3,12 +3,31 @@ ; N8 STANDARD CONFIGURATION ;================================================================================================== ; +; 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). +; #include "cfg_n8.asm" ; -Z180_CLKDIV .SET 1 ; 0=OSC/2, 1=OSC, 2=OSC*2 -Z180_MEMWAIT .SET 1 ; MEMORY WAIT STATES (0-3) -Z180_IOWAIT .SET 3 ; ADD (0-3) I/O WAIT STATES ABOVE 1 W/S BUILT-IN +Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2 +Z180_MEMWAIT .SET 1 ; Z180: MEMORY WAIT STATES (0-3) +Z180_IOWAIT .SET 3 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) ; -SDMODE .SET SDMODE_CSIO ; FOR N8 PROTOTYPE (DATECODE 2511), USE SDMODE_N8 +CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -CRTACT .SET FALSE ; TRUE TO ACTIVATE CRT AT STARTUP (BOOT ON CRT) +SDMODE .SET SDMODE_CSIO ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) diff --git a/Source/HBIOS/Config/RCZ180_ext.asm b/Source/HBIOS/Config/RCZ180_ext.asm index 90af1e1d..7a660c1a 100644 --- a/Source/HBIOS/Config/RCZ180_ext.asm +++ b/Source/HBIOS/Config/RCZ180_ext.asm @@ -1,27 +1,48 @@ ; ;================================================================================================== -; RC2014 W/ Z180 CPU USING EXTERNAL MEMORY MANAGER -- 512K RAM/ROM MODULE +; RC2014 Z180 STANDARD CONFIGURATION (EXTERNAL 512K RAM/ROM BANKED MEMORY MODULE) ;================================================================================================== ; +; 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). +; #include "cfg_rcz180.asm" ; -MEMMGR .SET MM_Z2 ; 512K RAM/ROM MODULE MEM MGR -Z180_CLKDIV .SET 1 ; 0=OSC/2, 1=OSC, 2=OSC*2 -Z180_MEMWAIT .SET 0 ; MEMORY WAIT STATES (0-3) -Z180_IOWAIT .SET 1 ; ADD (0-3) I/O WAIT STATES ABOVE 1 W/S BUILT-IN +CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ +DEFSERCFG .SET SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +MEMMGR .SET MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] +; +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) ; -CPUOSC .SET 18432000 ; CPU OSC FREQ -DEFSERCFG .SET SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG +DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) ; -ASCIENABLE .SET TRUE ; TRUE FOR Z180 ASCI SUPPORT -SIOENABLE .SET FALSE ; TRUE TO AUTO-DETECT ZILOG SIO/2 -ACIAENABLE .SET FALSE ; TRUE TO AUTO-DETECT MOTOROLA 6850 ACIA +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 ; TRUE FOR FLOPPY SUPPORT -FDMODE .SET FDMODE_RCWDC ; FDMODE_RCSMC, FDMODE_RCWDC +FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] ; -IDEENABLE .SET TRUE ; TRUE FOR IDE DEVICE SUPPORT (CF MODULE) -IDEMODE .SET IDEMODE_RC ; TYPE OF CF MODULE: IDEMODE_RC, IDEMODE_SMB -PPIDEENABLE .SET FALSE ; TRUE FOR PPIDE DEVICE SUPPORT (PPIDE MODULE) +IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .SET IDEMODE_RC ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] ; -DSRTCENABLE .SET FALSE ; DS-1302 CLOCK DRIVER +PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) diff --git a/Source/HBIOS/Config/RCZ180_nat.asm b/Source/HBIOS/Config/RCZ180_nat.asm index 49db810b..3d162749 100644 --- a/Source/HBIOS/Config/RCZ180_nat.asm +++ b/Source/HBIOS/Config/RCZ180_nat.asm @@ -1,26 +1,48 @@ ; ;================================================================================================== -; RC2014 W/ Z180 CPU USING NATIVE Z180 MEMORY MANAGER +; RC2014 Z180 STANDARD CONFIGURATION (NATIVE Z180 LINEAR MEMORY) ;================================================================================================== ; +; 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). +; #include "cfg_rcz180.asm" ; -Z180_CLKDIV .SET 1 ; 0=OSC/2, 1=OSC, 2=OSC*2 -Z180_MEMWAIT .SET 0 ; MEMORY WAIT STATES (0-3) -Z180_IOWAIT .SET 1 ; ADD (0-3) I/O WAIT STATES ABOVE 1 W/S BUILT-IN +CPUOSC .SET 18432000 ; CPU FAMILY: CPU_[Z80|Z180] +DEFSERCFG .SET SER_38400_8N1 ; HARDWARE BIOS: BIOS_[WBW|UNA] +; +MEMMGR .SET MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] +; +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) ; -CPUOSC .SET 18432000 ; CPU OSC FREQ -DEFSERCFG .SET SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG +DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) ; -ASCIENABLE .SET TRUE ; TRUE FOR Z180 ASCI SUPPORT -SIOENABLE .SET FALSE ; TRUE TO AUTO-DETECT ZILOG SIO/2 -ACIAENABLE .SET FALSE ; TRUE TO AUTO-DETECT MOTOROLA 6850 ACIA +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 ; TRUE FOR FLOPPY SUPPORT -FDMODE .SET FDMODE_RCWDC ; FDMODE_RCSMC, FDMODE_RCWDC +FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] ; -IDEENABLE .SET TRUE ; TRUE FOR IDE DEVICE SUPPORT (CF MODULE) -IDEMODE .SET IDEMODE_RC ; TYPE OF CF MODULE: IDEMODE_RC, IDEMODE_SMB -PPIDEENABLE .SET FALSE ; TRUE FOR PPIDE DEVICE SUPPORT (PPIDE MODULE) +IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .SET IDEMODE_RC ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] ; -DSRTCENABLE .SET FALSE ; DS-1302 CLOCK DRIVER +PPIDEENABLE .SET FALSE ; 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 7f8ff957..b1fd05f8 100644 --- a/Source/HBIOS/Config/RCZ80_std.asm +++ b/Source/HBIOS/Config/RCZ80_std.asm @@ -1,21 +1,41 @@ ; ;================================================================================================== -; RC2014 STANDARD CONFIGURATION +; RC2014 Z80 STANDARD CONFIGURATION ;================================================================================================== ; +; 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). +; #include "cfg_rcz80.asm" ; -CPUOSC .SET 7372800 ; CPU OSC FREQ -DEFSERCFG .SET SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE) +CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ +DEFSERCFG .SET SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) ; -SIOENABLE .SET TRUE ; TRUE TO AUTO-DETECT ZILOG SIO/2 -ACIAENABLE .SET TRUE ; TRUE TO AUTO-DETECT MOTOROLA 6850 ACIA +ACIAENABLE .SET TRUE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) +SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) ; -FDENABLE .SET FALSE ; TRUE FOR FLOPPY SUPPORT -FDMODE .SET FDMODE_RCWDC ; FDMODE_RCSMC, FDMODE_RCWDC +FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] ; -IDEENABLE .SET TRUE ; TRUE FOR IDE DEVICE SUPPORT (CF MODULE) -IDEMODE .SET IDEMODE_RC ; TYPE OF CF MODULE: IDEMODE_RC, IDEMODE_SMB -PPIDEENABLE .SET FALSE ; TRUE FOR PPIDE DEVICE SUPPORT (PPIDE MODULE) +IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .SET IDEMODE_RC ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] ; -DSRTCENABLE .SET FALSE ; DS-1302 CLOCK DRIVER +PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) diff --git a/Source/HBIOS/Config/SBC_simh.asm b/Source/HBIOS/Config/SBC_simh.asm index 4c31742e..dd7fad54 100644 --- a/Source/HBIOS/Config/SBC_simh.asm +++ b/Source/HBIOS/Config/SBC_simh.asm @@ -3,12 +3,35 @@ ; SBC SIMH EMULATOR CONFIGURATION ;================================================================================================== ; +; 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 PLATFORM_NAME "SBC (simh)" +; #include "cfg_sbc.asm" ; -INTMODE .SET 1 ; INT MODE 1 -HTIMENABLE .SET TRUE ; SIMH TIMER +INTMODE .SET 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 +; +HTIMENABLE .SET TRUE ; ENABLE SIMH TIMER SUPPORT +; +SIMRTCENABLE .SET TRUE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM) ; -DSRTCENABLE .SET FALSE ; DS-1302 CLOCK DRIVER -SIMRTCENABLE .SET TRUE ; SIMH CLOCK DRIVER +DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) ; -HDSKENABLE .SET TRUE ; TRUE FOR SIMH HDSK SUPPORT +HDSKENABLE .SET TRUE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM) diff --git a/Source/HBIOS/Config/SBC_std.asm b/Source/HBIOS/Config/SBC_std.asm index 6010957d..4faca5a4 100644 --- a/Source/HBIOS/Config/SBC_std.asm +++ b/Source/HBIOS/Config/SBC_std.asm @@ -3,26 +3,43 @@ ; SBC STANDARD CONFIGURATION ;================================================================================================== ; -#include "cfg_sbc.asm" +; 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! ; -FDENABLE .SET FALSE ; TRUE FOR FLOPPY DEVICE SUPPORT -FDMODE .SET FDMODE_DIO3 ; FDMODE_DIO, FDMODE_DIDE, FDMODE_DIO3 +; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO +; DIRECTORIES ABOVE THIS ONE). +; +#include "cfg_sbc.asm" ; -IDEENABLE .SET FALSE ; TRUE FOR IDE DEVICE SUPPORT -IDEMODE .SET IDEMODE_DIO ; IDEMODE_DIO, IDEMODE_DIDE +CRTACT .SET TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -PPIDEENABLE .SET TRUE ; TRUE FOR PPIDE DEVICE SUPPORT -PPIDEMODE .SET PPIDEMODE_SBC ; PPIDEMODE_SBC, PPPIDEMODE_DIO3, PPIDEMODE_MFP +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) ; -SDENABLE .SET FALSE ; TRUE FOR SD DEVICE SUPPORT -SDMODE .SET SDMODE_PPI ; SDMODE_JUHA, SDMODE_PPI, SDMODE_DSD +FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .SET FDMODE_DIO3 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] ; -PRPENABLE .SET TRUE ; TRUE FOR PROPIO BOARD SUPPORT (VIDEO, KBD, & SD CARD) +IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .SET IDEMODE_DIO ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] ; -VGAENABLE .SET TRUE ; TRUE FOR VGA BOARD VIDEO & KBD SUPPORT -CVDUENABLE .SET TRUE ; TRUE FOR CVDU BOARD VIDEO & KBD SUPPORT -VDUENABLE .SET FALSE ; TRUE FOR VDU BOARD VIDEO & KBD SUPPORT -VDUSIZ .SET V80X24 ; DEFAULT VDU FORMAT IF ACTIVE +PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) +PPIDEMODE .SET PPIDEMODE_SBC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] ; +SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDMODE .SET SDMODE_PPI ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC126] ; -CRTACT .SET TRUE ; TRUE TO ACTIVATE CRT AT STARTUP (BOOT ON CRT) +PRPENABLE .SET TRUE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) diff --git a/Source/HBIOS/Config/SC126_std.asm b/Source/HBIOS/Config/SC126_std.asm index 62740415..137a38e0 100644 --- a/Source/HBIOS/Config/SC126_std.asm +++ b/Source/HBIOS/Config/SC126_std.asm @@ -1,29 +1,46 @@ ; ;================================================================================================== -; SC126 +; SC126 STANDARD CONFIGURATION ;================================================================================================== ; +; 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). +; #include "cfg_sc126.asm" ; -Z180_CLKDIV .SET 1 ; 0=OSC/2, 1=OSC, 2=OSC*2 -Z180_MEMWAIT .SET 0 ; MEMORY WAIT STATES (0-3) -Z180_IOWAIT .SET 1 ; ADD (0-3) I/O WAIT STATES ABOVE 1 W/S BUILT-IN +CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ +DEFSERCFG .SET SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +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) ; -CPUOSC .SET 18432000 ; CPU OSC FREQ -DEFSERCFG .SET SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG +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) ; -ASCIENABLE .SET TRUE ; TRUE FOR Z180 ASCI SUPPORT -SIOENABLE .SET FALSE ; TRUE TO AUTO-DETECT ZILOG SIO/2 -ACIAENABLE .SET FALSE ; TRUE TO AUTO-DETECT MOTOROLA 6850 ACIA +FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] ; -FDENABLE .SET FALSE ; TRUE FOR FLOPPY SUPPORT -FDMODE .SET FDMODE_RCWDC ; FDMODE_RCSMC, FDMODE_RCWDC +IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .SET IDEMODE_RC ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] ; -IDEENABLE .SET TRUE ; TRUE FOR IDE DEVICE SUPPORT (CF MODULE) -IDEMODE .SET IDEMODE_RC ; TYPE OF CF MODULE: IDEMODE_RC, IDEMODE_SMB -PPIDEENABLE .SET FALSE ; TRUE FOR PPIDE DEVICE SUPPORT (PPIDE MODULE) +PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) ; -SDENABLE .SET TRUE ; TRUE FOR SD SUPPORT -SDMODE .SET SDMODE_SC126 ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD -SDTRACE .SET 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -SDCSIOFAST .SET TRUE ; TABLE-DRIVEN BIT INVERTER +SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) diff --git a/Source/HBIOS/Config/UNA_std.asm b/Source/HBIOS/Config/UNA_std.asm index 093e0af2..9ddd4fc9 100644 --- a/Source/HBIOS/Config/UNA_std.asm +++ b/Source/HBIOS/Config/UNA_std.asm @@ -3,5 +3,24 @@ ; UNA STANDARD CONFIGURATION ;================================================================================================== ; +; 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). +; #include "cfg_una.asm" ; diff --git a/Source/HBIOS/Config/ZETA2_std.asm b/Source/HBIOS/Config/ZETA2_std.asm index a31af926..d1cedc8e 100644 --- a/Source/HBIOS/Config/ZETA2_std.asm +++ b/Source/HBIOS/Config/ZETA2_std.asm @@ -3,12 +3,31 @@ ; ZETA2 STANDARD CONFIGURATION ;================================================================================================== ; +; 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). +; #include "cfg_zeta2.asm" ; -PPIDEENABLE .SET FALSE ; TRUE FOR PPIDE DEVICE SUPPORT +CRTACT .SET TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -SDENABLE .SET FALSE ; TRUE FOR SD DEVICE SUPPORT +PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) ; -PPPENABLE .SET TRUE ; TRUE FOR PROPIO BOARD SUPPORT (VIDEO, KBD, & SD CARD) +SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) ; -CRTACT .SET TRUE ; TRUE TO ACTIVATE CRT AT STARTUP (BOOT ON CRT) +PPPENABLE .SET TRUE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) diff --git a/Source/HBIOS/Config/ZETA_std.asm b/Source/HBIOS/Config/ZETA_std.asm index 9a31ad5b..fe720ac7 100644 --- a/Source/HBIOS/Config/ZETA_std.asm +++ b/Source/HBIOS/Config/ZETA_std.asm @@ -3,12 +3,31 @@ ; ZETA STANDARD CONFIGURATION ;================================================================================================== ; +; 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). +; #include "cfg_zeta.asm" ; -PPIDEENABLE .SET FALSE ; TRUE FOR PPIDE DEVICE SUPPORT +CRTACT .SET TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP ; -SDENABLE .SET FALSE ; TRUE FOR SD DEVICE SUPPORT +PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) ; -PPPENABLE .SET TRUE ; TRUE FOR PROPIO BOARD SUPPORT (VIDEO, KBD, & SD CARD) +SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) ; -CRTACT .SET TRUE ; TRUE TO ACTIVATE CRT AT STARTUP (BOOT ON CRT) +PPPENABLE .SET TRUE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) diff --git a/Source/HBIOS/ay.asm b/Source/HBIOS/ay.asm index f2d36664..85d9b9e2 100644 --- a/Source/HBIOS/ay.asm +++ b/Source/HBIOS/ay.asm @@ -11,8 +11,8 @@ AY_ACR .EQU $9C #ENDIF ; #IF (AYMODE == AYMODE_N8) -AY_RSEL .EQU N8_PSG+0 -AY_RDAT .EQU N8_PSG+1 +AY_RSEL .EQU $9C +AY_RDAT .EQU $9D AY_ACR .EQU N8_DEFACR #ENDIF ; diff --git a/Source/HBIOS/cfg_ezz80.asm b/Source/HBIOS/cfg_ezz80.asm index 11ff79af..19a5f2ea 100644 --- a/Source/HBIOS/cfg_ezz80.asm +++ b/Source/HBIOS/cfg_ezz80.asm @@ -3,107 +3,130 @@ ; ROMWBW 2.X CONFIGURATION DEFAULTS FOR EASY Z80 ;================================================================================================== ; -; BUILD CONFIGURATION OPTIONS -; -CPUOSC .EQU 10000000 ; CPU OSC FREQ -MEMMGR .EQU MM_Z2 ; MM_NONE, MM_SBC, MM_Z2, MM_N8, MM_Z180 -RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! -DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE) -INTMODE .EQU 2 ; 0=NONE, 1=INT MODE 1, 2=INT MODE 2 -DIAGENABLE .EQU FALSE ; TRUE FOR DIAGNOSTIC CODE PORT OUTPUT +; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM +; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD +; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY +; UNDER THIS DIRECTORY. +; +; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS +; FOR THE PLATFORM. +; +#DEFINE PLATFORM_NAME "EASYZ80" +; +PLATFORM .EQU PLT_EZZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126] +CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180] +BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] +; +BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT +BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT +BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT +; +CPUOSC .EQU 10000000 ; CPU OSC FREQ IN MHZ +INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 +DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) +MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] +MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY) +MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY) +MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY) +MPGSEL_3 .EQU $7B ; Z2 MEM MGR BANK 3 PAGE SELECT REG (WRITE ONLY) +MPGENA .EQU $7C ; Z2 MEM MGR PAGING ENABLE REGISTER (BIT 0, WRITE ONLY) +; +RTC .EQU $C0 ; RTC LATCH REGISTER ADR +WDOG .EQU $6F ; WATCHDOG REGISTER ADR +; +CTCENABLE .EQU TRUE ; ENABLE ZILOG CTC SUPPORT +CTCBASE .EQU $88 ; CTC BASE I/O ADDRESS +; +DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS ; -CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP -VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...) -; -DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) -; -HTIMENABLE .EQU FALSE ; TRUE FOR SIMH TIMER SUPPORT -SIMRTCENABLE .EQU FALSE ; SIMH CLOCK DRIVER -DSRTCENABLE .EQU FALSE ; DS-1302 CLOCK DRIVER -DSRTCMODE .EQU DSRTCMODE_STD ; DSRTCMODE_STD, DSRTCMODE_MFPIC -DSRTCCHG .EQU FALSE ; DS-1302 CONFIGURE CHARGE ON (TRUE) OR OFF (FALSE) -; -ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -UARTENABLE .EQU FALSE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) -UARTOSC .EQU 1843200 ; UART OSC FREQUENCY -ACIAENABLE .EQU FALSE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT -; -SIOENABLE .EQU TRUE ; TRUE FOR ZILOG SIO SUPPORT -SIODEBUG .EQU FALSE ; PS -SIOCNT .EQU 2 ; 1 OR 2 SIO CHIPS (EACH CHIP HAS 2 CHANNELS) -SIO0MODE .EQU SIOMODE_EZZ80 ; TYPE OF FIRST SIO TO DETECT: SIOMODE_RC/SMB/ZP/EZZ80 -SIO0BASE .EQU $80 ; IO PORT ADDRESS BASE FOR FIRST SIO CHIP -SIO0ACLK .EQU 1843200 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO0ADIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO0ACFG .EQU DEFSERCFG ; DEFAULT SERIAL LINE CONFIG -SIO0BCLK .EQU 1843200 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO0BDIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO0BCFG .EQU DEFSERCFG ; DEFAULT SERIAL LINE CONFIG -SIO1MODE .EQU SIOMODE_RC ; TYPE OF SECOND SIO TO DETECT: SIOMODE_RC, SIOMODE_SMB -SIO1BASE .EQU $84 ; IO PORT ADDRESS BASE FOR SECOND SIO CHIP -SIO1ACLK .EQU 7372800 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO1ADIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO1ACFG .EQU DEFSERCFG ; DEFAULT SERIAL LINE CONFIG -SIO1BCLK .EQU 7372800 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO1BDIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO1BCFG .EQU DEFSERCFG ; DEFAULT SERIAL LINE CONFIG -; -VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT -CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT -NECENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT -TMSENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT -VGAENABLE .EQU FALSE ; TRUE FOR VGA VIDEO/KBD SUPPORT -; -SPKENABLE .EQU FALSE ; TRUE FOR RTC LATCH IOBIT SOUND -AYENABLE .EQU FALSE ; TRUE FOR AY PSG SOUND -AYMODE .EQU AYMODE_RCZ80 ; AYMODE_[SCG/N8/RCZ80/RCZ180] -; -MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) -MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE) -; -FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT -FDMODE .EQU FDMODE_RCWDC ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 -FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIA .EQU FDM144 ; FDM720, FDM144, FDM360, FDM120 (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIAALT .EQU FDM720 ; ALTERNATE MEDIA TO TRY, SAME CHOICES AS ABOVE (ONLY RELEVANT IF FDMAUTO = TRUE) -FDMAUTO .EQU TRUE ; SELECT BETWEEN MEDIA OPTS ABOVE AUTOMATICALLY -; -RFENABLE .EQU FALSE ; TRUE FOR RAM FLOPPY SUPPORT -; -IDEENABLE .EQU TRUE ; TRUE FOR IDE SUPPORT -IDEMODE .EQU IDEMODE_RC ; IDEMODE_DIO, IDEMODE_DIDE, IDEMODE_RC -IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -IDE8BIT .EQU TRUE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -; -PPIDEENABLE .EQU FALSE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE) -PPIDEMODE .EQU PPIDEMODE_RC ; PPIDEMODE_SBC, PPPIDEMODE_DIO3, PPIDEMODE_MFP, PPIDEMODE_N8, PPIDEMODE_RC -PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE) -PPIDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -; -SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT -SDMODE .EQU SDMODE_PPI ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD -SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER -; -PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT -; -PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT -PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) -PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) -; -HDSKENABLE .EQU FALSE ; TRUE FOR SIMH HDSK SUPPORT -; -TERMENABLE .EQU FALSE ; TERM PSEUDO DEVICE, WILL BE ENABLED IF A VDA IS ENABLED -; -BOOTTYPE .EQU BT_MENU ; BT_MENU (WAIT FOR KEYPRESS), BT_AUTO (BOOT_DEFAULT AFTER BOOT_TIMEOUT SECS) -BOOT_TIMEOUT .EQU 20 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE -BOOT_DEFAULT .EQU 'Z' ; SELECTION TO INVOKE AT TIMEOUT -; -PIO_4P .EQU FALSE ; TRUE FOR ECB-4PIO PIO SUPPORT -PIO_ZP .EQU FALSE ; TRUE FOR ECB-ZILOG PERIPHERALS BOARD -PPI_SBC .EQU FALSE ; TRUE FOR SBC V2 8255 (IF NOT BEING USED FOR PPIDE) -; -UFENABLE .EQU FALSE ; TRUE FOR ECB USB-FIFO SUPPORT - +DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) +; +CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP +VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI] +ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT +SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM) +; +DSRTCENABLE .EQU FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) +DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] +DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) +; +UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) +; +ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) +; +ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) +; +SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) +SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT +SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP +SIO0MODE .EQU SIOMODE_EZZ80 ; SIO 0: CHIP TYPE: SIOMODE_[RC|SMB|ZP|EZZ80] +SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR +SIO0ACLK .EQU 1843200 ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0ADIV .EQU 1 ; SIO 0A: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO0ACFG .EQU DEFSERCFG ; AIO 0A: SERIAL LINE CONFIG +SIO0BCLK .EQU 1843200 ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0BDIV .EQU 1 ; SIO 0B: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO0BCFG .EQU DEFSERCFG ; SIO 0B: SERIAL LINE CONFIG +SIO1MODE .EQU SIOMODE_RC ; SIO 1: CHIP TYPE: SIOMODE_[RC|SMB|ZP|EZZ80] +SIO1BASE .EQU $84 ; SIO 1: REGISTERS BASE ADR +SIO1ACLK .EQU 7372800 ; SIO 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO1ADIV .EQU 1 ; SIO 1A: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO1ACFG .EQU DEFSERCFG ; AIO 1A: SERIAL LINE CONFIG +SIO1BCLK .EQU 7372800 ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO1BDIV .EQU 1 ; SIO 1B: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO1BCFG .EQU DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG +; +VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM) +CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM) +NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM) +TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) +VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM) +; +SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) +; +AYENABLE .EQU FALSE ; AY: ENABLE AY PSG SOUND DRIVER +AYMODE .EQU AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG/N8/RCZ80/RCZ180] +; +MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) +MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) +FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] +FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] +FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS +; +RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER +; +IDEENABLE .EQU TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .EQU IDEMODE_RC ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] +IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +IDE8BIT .EQU TRUE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) +PPIDEMODE .EQU PPIDEMODE_RC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +SDENABLE .EQU FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDMODE .EQU SDMODE_PPI ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC126] +SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE +; +PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) +; +PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) +; +HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM) +; +PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD +PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM) +PPI_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP +; +UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM) diff --git a/Source/HBIOS/cfg_master.asm b/Source/HBIOS/cfg_master.asm new file mode 100644 index 00000000..ed5dec9e --- /dev/null +++ b/Source/HBIOS/cfg_master.asm @@ -0,0 +1,182 @@ +; +;================================================================================================== +; ROMWBW 2.X CONFIGURATION MASTER +;================================================================================================== +; +; THIS FILE IS *NOT* A REAL CONFIGURATION FILE. IT IS A MASTER TEMPLATE FILE +; CONTAINING ALL POSSIBLE CONFIGURATION SETTINGS ACROSS ALL PLATFORMS. IT IS +; USED ONLY AS A REFERENCE TO HELP MANAGE THE FULL SET OF POSSIBLE SETTINGS AND +; KEEP THINGS CONSISTENT. +; +#DEFINE PLATFORM_NAME "ROMWBW" +; +PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126] +CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180] +BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] +; +BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT +BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT +BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT +; +CPUOSC .EQU 8000000 ; CPU OSC FREQ IN MHZ +INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 +DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) +MEMMGR .EQU MM_NONE ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] +RAMBIAS .EQU 0 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE +MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY) +MPCL_ROM .EQU $7C ; SBC MEM MGR ROM PAGE SELECT REG (WRITE ONLY) +MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY) +MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY) +MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY) +MPGSEL_3 .EQU $7B ; Z2 MEM MGR BANK 3 PAGE SELECT REG (WRITE ONLY) +MPGENA .EQU $7C ; Z2 MEM MGR PAGING ENABLE REGISTER (BIT 0, WRITE ONLY) +; +Z180_BASE .EQU $40 ; Z180: I/O BASE ADDRESS FOR INTERNAL REGISTERS +Z180_CLKDIV .EQU 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2 +Z180_MEMWAIT .EQU 0 ; Z180: MEMORY WAIT STATES (0-3) +Z180_IOWAIT .EQU 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) +; +N8_PPI0 .EQU $80 ; N8: FIRST PARALLEL PORT REGISTERS BASE ADR +N8_PPI1 .EQU $84 ; N8: SECOND PARALLEL PORT REGISTERS BASE ADR +N8_RTC .EQU $88 ; N8: RTC LATCH REGISTER ADR +N8_ACR .EQU $94 ; N8: AUXILLARY CONTROL REGISTER (ACR) ADR +N8_RMAP .EQU $96 ; N8: ROM PAGE REGISTER ADR +N8_DEFACR .EQU $1B ; N8: AUX CTL REGISTER DEFAULT VALUE (QUIESCIENT STATE) +; +MK4_IDE .EQU $80 ; MK4: IDE REGISTERS BASE ADR +MK4_XAR .EQU $88 ; MK4: EXTERNAL ADDRESS REGISTER (XAR) ADR +MK4_SD .EQU $89 ; MK4: SD CARD CONTROL REGISTER ADR +MK4_RTC .EQU $8A ; MK4: RTC LATCH REGISTER ADR +; +RTC .EQU $70 ; RTC LATCH REGISTER ADR +WDOG .EQU $6F ; WATCHDOG REGISTER ADR +PPIBASE .EQU $60 ; PRIMARY PARALLEL PORT REGISTERS BASE ADR +; +CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT +CTCBASE .EQU $20 ; CTC BASE I/O ADDRESS +; +DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS +; +DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) +; +CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP +VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI] +ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPKTRACE .EQU 1 ; PPK DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +KBDTRACE .EQU 1 ; KBD DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPKKBLOUT .EQU KBD_US ; PPK KEYBOARD LANGUAGE: KBD_[US|DE] +KBDKBLOUT .EQU KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE] +; +HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT +SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM) +; +DSRTCENABLE .EQU FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) +DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] +DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) +; +UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) +UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ +UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART +UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART +UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART +UART4 .EQU FALSE ; UART: AUTO-DETECT 4UART UART +; +ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) +; +ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) +ACIADEBUG .EQU FALSE ; ACIA: ENABLE DEBUG OUTPUT +ACIACNT .EQU 1 ; ACIA: NUMBER OF CHIPS TO DETECT (1-2) +ACIA0BASE .EQU $80 ; ACIA 0: REGISTERS BASE ADR +ACIA0CLK .EQU CPUOSC ; ACIA 0: OSC FREQ IN HZ +ACIA0DIV .EQU 1 ; ACIA 0: SERIAL CLOCK DIVIDER +ACIA0CFG .EQU DEFSERCFG ; ACIA 0: SERIAL LINE CONFIG (SEE STD.ASM) +ACIA1BASE .EQU $40 ; ACIA 1: REGISTERS BASE ADR +ACIA1CLK .EQU CPUOSC ; ACIA 1: OSC FREQ IN HZ +ACIA1DIV .EQU 1 ; ACIA 1: SERIAL CLOCK DIVIDER +ACIA1CFG .EQU DEFSERCFG ; ACIA 1: SERIAL LINE CONFIG (SEE STD.ASM) +; +SIOENABLE .EQU FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) +SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT +SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP +SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[RC|SMB|ZP|EZZ80] +SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR +SIO0ACLK .EQU CPUOSC ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0ADIV .EQU 1 ; SIO 0A: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO0ACFG .EQU DEFSERCFG ; AIO 0A: SERIAL LINE CONFIG +SIO0BCLK .EQU CPUOSC ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0BDIV .EQU 1 ; SIO 0B: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO0BCFG .EQU DEFSERCFG ; SIO 0B: SERIAL LINE CONFIG +SIO1MODE .EQU SIOMODE_RC ; SIO 1: CHIP TYPE: SIOMODE_[RC|SMB|ZP|EZZ80] +SIO1BASE .EQU $84 ; SIO 1: REGISTERS BASE ADR +SIO1ACLK .EQU CPUOSC ; SIO 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO1ADIV .EQU 1 ; SIO 1A: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO1ACFG .EQU DEFSERCFG ; AIO 1A: SERIAL LINE CONFIG +SIO1BCLK .EQU CPUOSC ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO1BDIV .EQU 1 ; SIO 1B: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO1BCFG .EQU DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG +; +VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM) +VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30] +CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM) +NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM) +TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) +TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG/N8] +VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM) +; +SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) +; +AYENABLE .EQU FALSE ; AY: ENABLE AY PSG SOUND DRIVER +AYMODE .EQU AYMODE_NONE ; AY: DRIVER MODE: AYMODE_[SCG/N8/RCZ80/RCZ180] +; +MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) +MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .EQU FDMODE_NONE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) +FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] +FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] +FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS +; +RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER +RFCNT .EQU 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-2) +; +IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .EQU IDEMODE_NONE ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] +IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +IDE8BIT .EQU FALSE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) +PPIDEMODE .EQU PPIDEMODE_NONE ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +SDENABLE .EQU FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDMODE .EQU SDMODE_NONE ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC126] +SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE +; +PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) +PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT +PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT +; +PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) +PPPSDENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER SD CARD SUPPORT +PPPSDTRACE .EQU 1 ; PPP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPPCONENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER VIDEO/KBD SUPPORT +; +HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM) +HDSKTRACE .EQU 1 ; HDSK: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD +PIO4BASE .EQU $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD +PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM) +PIOZBASE .EQU $88 ; PIO: PIO REGISTERS BASE ADR FOR ECB ZP BOARD +PPI_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP +; +UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM) +UFBASE .EQU $0C ; UF: REGISTERS BASE ADR diff --git a/Source/HBIOS/cfg_mk4.asm b/Source/HBIOS/cfg_mk4.asm index 9e76a04d..de970391 100644 --- a/Source/HBIOS/cfg_mk4.asm +++ b/Source/HBIOS/cfg_mk4.asm @@ -3,119 +3,137 @@ ; ROMWBW 2.X CONFIGURATION FOR MARK IV ;================================================================================================== ; -; BUILD CONFIGURATION OPTIONS -; -CPUOSC .EQU 18432000 ; CPU OSC FREQ -MEMMGR .EQU MM_Z180 ; MM_NONE, MM_SBC, MM_Z2, MM_N8, MM_Z180 -RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! -DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE) -INTMODE .EQU 2 ; 0=NONE, 1=INT MODE 1, 2=INT MODE 2 -DIAGENABLE .EQU FALSE ; TRUE FOR DIAGNOSTIC CODE PORT OUTPUT +; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM +; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD +; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY +; UNDER THIS DIRECTORY. +; +; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS +; FOR THE PLATFORM. +; +#DEFINE PLATFORM_NAME "MARK IV" +; +PLATFORM .EQU PLT_MK4 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126] +CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180] +BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] +; +BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT +BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT +BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT +; +CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ +INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 +DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) +MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] +RAMBIAS .EQU 512 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE +; +Z180_BASE .EQU $40 ; Z180: I/O BASE ADDRESS FOR INTERNAL REGISTERS +Z180_CLKDIV .EQU 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2 +Z180_MEMWAIT .EQU 0 ; Z180: MEMORY WAIT STATES (0-3) +Z180_IOWAIT .EQU 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) +; +MK4_IDE .EQU $80 ; MK4: IDE REGISTERS BASE ADR +MK4_XAR .EQU $88 ; MK4: EXTERNAL ADDRESS REGISTER (XAR) ADR +MK4_SD .EQU $89 ; MK4: SD CARD CONTROL REGISTER ADR +MK4_RTC .EQU $8A ; MK4: RTC LATCH REGISTER ADR +; +RTC .EQU MK4_RTC ; RTC LATCH REGISTER ADR +; +CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT +; +DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS ; -CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP -VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...) -; -DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) -; -HTIMENABLE .EQU FALSE ; TRUE FOR SIMH TIMER SUPPORT -SIMRTCENABLE .EQU FALSE ; SIMH CLOCK DRIVER -DSRTCENABLE .EQU TRUE ; DS-1302 CLOCK DRIVER -DSRTCMODE .EQU DSRTCMODE_STD ; DSRTCMODE_STD, DSRTCMODE_MFPIC -DSRTCCHG .EQU FALSE ; DS-1302 CONFIGURE CHARGE ON (TRUE) OR OFF (FALSE) -; -ASCIENABLE .EQU TRUE ; TRUE FOR Z180 ASCI SUPPORT -UARTENABLE .EQU TRUE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) -UARTOSC .EQU 1843200 ; UART OSC FREQUENCY -UARTSBC .EQU FALSE ; ENABLE SBC/ZETA ONBOARD UART DETECTION -UARTCAS .EQU TRUE ; ENABLE ECB CASSETTE UART DETECTION -UARTMFP .EQU FALSE ; ENABLE MF/PIC UART DETECTION -UART4 .EQU TRUE ; ENABLE 4UART UART DETECTION -SIOENABLE .EQU FALSE ; TRUE FOR ZILOG SIO/2 SUPPORT -ACIAENABLE .EQU FALSE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT -; -VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT -CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT -NECENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT -TMSENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT -TMSMODE .EQU TMSMODE_SCG ; TMSMODE_[SCG/N8] -VGAENABLE .EQU FALSE ; TRUE FOR VGA VIDEO/KBD SUPPORT -; -SPKENABLE .EQU FALSE ; TRUE FOR RTC LATCH IOBIT SOUND -AYENABLE .EQU FALSE ; TRUE FOR AY PSG SOUND -AYMODE .EQU AYMODE_SCG ; AYMODE_[SCG/N8/RCZ80/RCZ180] -; -MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) -MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE) -; -FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT -FDMODE .EQU FDMODE_N8 ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 -FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIA .EQU FDM144 ; FDM720, FDM144, FDM360, FDM120 (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIAALT .EQU FDM720 ; ALTERNATE MEDIA TO TRY, SAME CHOICES AS ABOVE (ONLY RELEVANT IF FDMAUTO = TRUE) -FDMAUTO .EQU TRUE ; SELECT BETWEEN MEDIA OPTS ABOVE AUTOMATICALLY -; -RFENABLE .EQU FALSE ; TRUE FOR RAM FLOPPY SUPPORT -RFCNT .EQU 1 ; NUMBER OF RAM FLOPPY UNITS -; -IDEENABLE .EQU TRUE ; TRUE FOR IDE SUPPORT -IDEMODE .EQU IDEMODE_MK4 ; IDEMODE_DIO, IDEMODE_DIDE, IDEMODE_MK4 -IDECNT .EQU 2 ; NUMBER OF IDE UNITS -IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -IDE8BIT .EQU TRUE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -; -PPIDEENABLE .EQU FALSE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE) -PPIDEMODE .EQU PPIDEMODE_DIO3 ; PPIDEMODE_SBC, PPPIDEMODE_DIO3, PPIDEMODE_MFP, PPIDEMODE_N8, PPIDEMODE_RC -PPIDECNT .EQU 1 ; NUMBER OF PPIDE UNITS -PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE) -PPIDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE) -; -SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT -SDMODE .EQU SDMODE_MK4 ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD, SDMODE_MK4 -SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -SDCSIOFAST .EQU TRUE ; TABLE-DRIVEN BIT INVERTER -; -PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT -PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT -PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE) -PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) -; -PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT -PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) -PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) -; -HDSKENABLE .EQU FALSE ; TRUE FOR SIMH HDSK SUPPORT -HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -; -PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE) -KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE) -PPKKBLOUT .EQU KBD_US ; KEYBOARD LANGUAGE (US/DE) -KBDKBLOUT .EQU KBD_US ; KEYBOARD LANGUAGE (US/DE) -; -TERMENABLE .EQU FALSE ; TERM PSEUDO DEVICE, WILL BE ENABLED IF A VDA IS ENABLED -ANSITRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF ANSIENABLE = TRUE) -; -BOOTTYPE .EQU BT_MENU ; BT_MENU (WAIT FOR KEYPRESS), BT_AUTO (BOOT_DEFAULT AFTER BOOT_TIMEOUT SECS) -BOOT_TIMEOUT .EQU 20 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE -BOOT_DEFAULT .EQU 'Z' ; SELECTION TO INVOKE AT TIMEOUT -; -; 18.432MHz OSC @ FULL SPEED -; -Z180_CLKDIV .EQU 1 ; 0=OSC/2, 1=OSC, 2=OSC*2 -Z180_MEMWAIT .EQU 0 ; MEMORY WAIT STATES (0-3) -Z180_IOWAIT .EQU 1 ; ADD (0-3) I/O WAIT STATES ABOVE 1 W/S BUILT-IN -; -; 18.432MHz OSC @ DOUBLE SPEED -; -;Z180_CLKDIV .EQU 2 ; 0=OSC/2, 1=OSC, 2=OSC*2 -;Z180_MEMWAIT .EQU 1 ; MEMORY WAIT STATES (0-3) -;Z180_IOWAIT .EQU 1 ; ADD (0-3) I/O WAIT STATES ABOVE 1 W/S BUILT-IN -; -PIO_4P .EQU FALSE ; TRUE FOR ECB-4PIO PIO SUPPORT -PIO_ZP .EQU FALSE ; TRUE FOR ECB-ZILOG PERIPHERALS BOARD -PPI_SBC .EQU FALSE ; TRUE FOR SBC V2 8255 (IF NOT BEING USED FOR PPIDE) -; -UFENABLE .EQU FALSE ; TRUE FOR ECB USB-FIFO SUPPORT - +DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) +; +CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP +VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI] +ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPKTRACE .EQU 1 ; PPK DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +KBDTRACE .EQU 1 ; KBD DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPKKBLOUT .EQU KBD_US ; PPK KEYBOARD LANGUAGE: KBD_[US|DE] +KBDKBLOUT .EQU KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE] +; +HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT +SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM) +; +DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) +DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] +DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) +; +UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) +UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ +UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART +UARTCAS .EQU TRUE ; UART: AUTO-DETECT ECB CASSETTE UART +UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART +UART4 .EQU TRUE ; UART: AUTO-DETECT 4UART UART +; +ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) +; +ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) +; +SIOENABLE .EQU FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) +; +VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM) +VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30] +CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM) +NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM) +TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) +TMSMODE .EQU TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG/N8] +VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM) +; +SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) +; +AYENABLE .EQU FALSE ; AY: ENABLE AY PSG SOUND DRIVER +AYMODE .EQU AYMODE_SCG ; AY: DRIVER MODE: AYMODE_[SCG/N8/RCZ80/RCZ180] +; +MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) +MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .EQU FDMODE_N8 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) +FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] +FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] +FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS +; +RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER +RFCNT .EQU 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-2) +; +IDEENABLE .EQU TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .EQU IDEMODE_MK4 ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] +IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +IDE8BIT .EQU TRUE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) +PPIDEMODE .EQU PPIDEMODE_DIO3 ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +SDENABLE .EQU TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDMODE .EQU SDMODE_MK4 ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC126] +SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +SDCSIOFAST .EQU TRUE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE +; +PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) +PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT +PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT +; +PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) +PPPSDENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER SD CARD SUPPORT +PPPSDTRACE .EQU 1 ; PPP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPPCONENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER VIDEO/KBD SUPPORT +; +HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM) +; +PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD +PIO4BASE .EQU $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD +PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM) +PIOZBASE .EQU $88 ; PIO: PIO REGISTERS BASE ADR FOR ECB ZP BOARD +PPI_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP +; +UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM) +UFBASE .EQU $0C ; UF: REGISTERS BASE ADR diff --git a/Source/HBIOS/cfg_n8.asm b/Source/HBIOS/cfg_n8.asm index 6bcf7679..cc9778fd 100644 --- a/Source/HBIOS/cfg_n8.asm +++ b/Source/HBIOS/cfg_n8.asm @@ -3,108 +3,137 @@ ; ROMWBW 2.X CONFIGURATION FOR N8 ;================================================================================================== ; -; BUILD CONFIGURATION OPTIONS -; -CPUOSC .EQU 18432000 ; CPU OSC FREQ -MEMMGR .EQU MM_N8 ; MM_NONE, MM_SBC, MM_Z2, MM_N8, MM_Z180 -RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! -DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE) -INTMODE .EQU 2 ; 0=NONE, 1=INT MODE 1, 2=INT MODE 2 -DIAGENABLE .EQU FALSE ; TRUE FOR DIAGNOSTIC CODE PORT OUTPUT +; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM +; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD +; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY +; UNDER THIS DIRECTORY. +; +; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS +; FOR THE PLATFORM. +; +#DEFINE PLATFORM_NAME "N8" +; +PLATFORM .EQU PLT_N8 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126] +CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180] +BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] +; +BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT +BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT +BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT +; +CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ +INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 +DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) +MEMMGR .EQU MM_N8 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] +RAMBIAS .EQU 0 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE +; +Z180_BASE .EQU $40 ; Z180: I/O BASE ADDRESS FOR INTERNAL REGISTERS +Z180_CLKDIV .EQU 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2 +Z180_MEMWAIT .EQU 1 ; Z180: MEMORY WAIT STATES (0-3) +Z180_IOWAIT .EQU 3 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) +; +N8_PPI0 .EQU $80 ; N8: FIRST PARALLEL PORT REGISTERS BASE ADR +N8_PPI1 .EQU $84 ; N8: SECOND PARALLEL PORT REGISTERS BASE ADR +N8_RTC .EQU $88 ; N8: RTC LATCH REGISTER ADR +N8_ACR .EQU $94 ; N8: AUXILLARY CONTROL REGISTER (ACR) ADR +N8_RMAP .EQU $96 ; N8: ROM PAGE REGISTER ADR +N8_DEFACR .EQU $1B ; N8: AUX CTL REGISTER DEFAULT VALUE (QUIESCIENT STATE) +; +RTC .EQU N8_RTC ; RTC LATCH REGISTER ADR +PPIBASE .EQU N8_PPI0 ; PRIMARY PARALLEL PORT REGISTERS BASE ADR +; +CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT +; +DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS ; -CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP -VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...) -; -DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) -; -HTIMENABLE .EQU FALSE ; TRUE FOR SIMH TIMER SUPPORT -SIMRTCENABLE .EQU FALSE ; SIMH CLOCK DRIVER -DSRTCENABLE .EQU TRUE ; DS-1302 CLOCK DRIVER -DSRTCMODE .EQU DSRTCMODE_STD ; DSRTCMODE_STD, DSRTCMODE_MFPIC -DSRTCCHG .EQU FALSE ; DS-1302 CONFIGURE CHARGE ON (TRUE) OR OFF (FALSE) -; -ASCIENABLE .EQU TRUE ; TRUE FOR Z180 ASCI SUPPORT -UARTENABLE .EQU TRUE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) -UARTOSC .EQU 1843200 ; UART OSC FREQUENCY -UARTSBC .EQU FALSE ; ENABLE SBC/ZETA ONBOARD UART DETECTION -UARTCAS .EQU TRUE ; ENABLE ECB CASSETTE UART DETECTION -UARTMFP .EQU FALSE ; ENABLE MF/PIC UART DETECTION -UART4 .EQU TRUE ; ENABLE 4UART UART DETECTION -SIOENABLE .EQU FALSE ; TRUE FOR ZILOG SIO/2 SUPPORT -ACIAENABLE .EQU FALSE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT -; -VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT -CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT -NECENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT -TMSENABLE .EQU TRUE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT -TMSMODE .EQU TMSMODE_N8 ; TMSMODE_[SCG/N8] -VGAENABLE .EQU FALSE ; TRUE FOR VGA VIDEO/KBD SUPPORT -; -SPKENABLE .EQU FALSE ; TRUE FOR RTC LATCH IOBIT SOUND -AYENABLE .EQU TRUE ; TRUE FOR AY PSG SOUND -AYMODE .EQU AYMODE_N8 ; AYMODE_[SCG/N8/RCZ80/RCZ180] -; -MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) -MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE) -; -FDENABLE .EQU TRUE ; TRUE FOR FLOPPY SUPPORT -FDMODE .EQU FDMODE_N8 ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 -FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIA .EQU FDM144 ; FDM720, FDM144, FDM360, FDM120 (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIAALT .EQU FDM720 ; ALTERNATE MEDIA TO TRY, SAME CHOICES AS ABOVE (ONLY RELEVANT IF FDMAUTO = TRUE) -FDMAUTO .EQU TRUE ; SELECT BETWEEN MEDIA OPTS ABOVE AUTOMATICALLY -; -RFENABLE .EQU FALSE ; TRUE FOR RAM FLOPPY SUPPORT -RFCNT .EQU 1 ; NUMBER OF RAM FLOPPY UNITS -; -IDEENABLE .EQU FALSE ; TRUE FOR IDE SUPPORT -IDEMODE .EQU IDEMODE_DIO ; IDEMODE_DIO, IDEMODE_DIDE -IDECNT .EQU 1 ; NUMBER OF IDE UNITS -IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -IDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -; -PPIDEENABLE .EQU FALSE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE) -PPIDEMODE .EQU PPIDEMODE_N8 ; PPIDEMODE_SBC, PPPIDEMODE_DIO3, PPIDEMODE_MFP, PPIDEMODE_N8, PPIDEMODE_RC -PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE) -PPIDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -; -SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT -SDMODE .EQU SDMODE_CSIO ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD -SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER -; -PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT -PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT -PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE) -PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) -; -PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT -PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) -PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) -; -HDSKENABLE .EQU FALSE ; TRUE FOR SIMH HDSK SUPPORT -; -PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE) -KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE) -PPKKBLOUT .EQU KBD_US ; KEYBOARD LANGUAGE (US/DE) -KBDKBLOUT .EQU KBD_US ; KEYBOARD LANGUAGE (US/DE) -; -TERMENABLE .EQU FALSE ; TERM PSEUDO DEVICE, WILL BE ENABLED IF A VDA IS ENABLED -ANSITRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF ANSIENABLE = TRUE) -; -BOOTTYPE .EQU BT_MENU ; BT_MENU (WAIT FOR KEYPRESS), BT_AUTO (BOOT_DEFAULT AFTER BOOT_TIMEOUT SECS) -BOOT_TIMEOUT .EQU 20 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE -BOOT_DEFAULT .EQU 'Z' ; SELECTION TO INVOKE AT TIMEOUT -; -Z180_CLKDIV .EQU 1 ; 0=OSC/2, 1=OSC, 2=OSC*2 -Z180_MEMWAIT .EQU 1 ; MEMORY WAIT STATES (0-3) -Z180_IOWAIT .EQU 3 ; ADD (0-3) I/O WAIT STATES ABOVE 1 W/S BUILT-IN -; -PIO_4P .EQU FALSE ; TRUE FOR ECB-4PIO PIO SUPPORT -PIO_ZP .EQU FALSE ; TRUE FOR ECB-ZILOG PERIPHERALS BOARD -PPI_SBC .EQU FALSE ; TRUE FOR SBC V2 8255 (IF NOT BEING USED FOR PPIDE) -; -UFENABLE .EQU FALSE ; TRUE FOR ECB USB-FIFO SUPPORT - +DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) +; +CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP +VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI] +ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPKTRACE .EQU 1 ; PPK DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +KBDTRACE .EQU 1 ; KBD DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPKKBLOUT .EQU KBD_US ; PPK KEYBOARD LANGUAGE: KBD_[US|DE] +KBDKBLOUT .EQU KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE] +; +HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT +SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM) +; +DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) +DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] +DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) +; +UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) +UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ +UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART +UARTCAS .EQU TRUE ; UART: AUTO-DETECT ECB CASSETTE UART +UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART +UART4 .EQU TRUE ; UART: AUTO-DETECT 4UART UART +; +ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) +; +ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) +; +SIOENABLE .EQU FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) +; +VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM) +VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30] +CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM) +NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM) +TMSENABLE .EQU TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) +TMSMODE .EQU TMSMODE_N8 ; TMS: DRIVER MODE: TMSMODE_[SCG/N8] +VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM) +; +SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) +; +AYENABLE .EQU TRUE ; AY: ENABLE AY PSG SOUND DRIVER +AYMODE .EQU AYMODE_N8 ; AY: DRIVER MODE: AYMODE_[SCG/N8/RCZ80/RCZ180] +; +MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) +MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +FDENABLE .EQU TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .EQU FDMODE_N8 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) +FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] +FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] +FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS +; +RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER +RFCNT .EQU 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-2) +; +IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .EQU IDEMODE_DIO ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] +IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +IDE8BIT .EQU FALSE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) +PPIDEMODE .EQU PPIDEMODE_N8 ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +SDENABLE .EQU TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDMODE .EQU SDMODE_CSIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC126] +SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE +; +PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) +PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT +PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT +; +PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) +; +HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM) +; +PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD +PIO4BASE .EQU $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD +PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM) +PIOZBASE .EQU $88 ; PIO: PIO REGISTERS BASE ADR FOR ECB ZP BOARD +PPI_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP +; +UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM) +FIFO_BASE .EQU $0C ; UF: REGISTERS BASE ADR diff --git a/Source/HBIOS/cfg_rcz180.asm b/Source/HBIOS/cfg_rcz180.asm index a6dab2a0..5987a61b 100644 --- a/Source/HBIOS/cfg_rcz180.asm +++ b/Source/HBIOS/cfg_rcz180.asm @@ -3,113 +3,134 @@ ; ROMWBW 2.X CONFIGURATION DEFAULTS FOR RC2014 ;================================================================================================== ; -; BUILD CONFIGURATION OPTIONS -; -CPUOSC .EQU 18432000 ; CPU OSC FREQ -MEMMGR .EQU MM_Z180 ; MM_NONE, MM_SBC, MM_Z2, MM_N8, MM_Z180 -RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! -DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE) -INTMODE .EQU 2 ; 0=NONE, 1=INT MODE 1, 2=INT MODE 2 -DIAGENABLE .EQU TRUE ; TRUE FOR DIAGNOSTIC CODE PORT OUTPUT +; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM +; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD +; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY +; UNDER THIS DIRECTORY. +; +; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS +; FOR THE PLATFORM. +; +#DEFINE PLATFORM_NAME "RC2014" +; +PLATFORM .EQU PLT_RCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126] +CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180] +BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] +; +BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT +BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT +BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT +; +CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ +INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 +DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) +MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] +RAMBIAS .EQU 512 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE +MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY) +MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY) +MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY) +MPGSEL_3 .EQU $7B ; Z2 MEM MGR BANK 3 PAGE SELECT REG (WRITE ONLY) +MPGENA .EQU $7C ; Z2 MEM MGR PAGING ENABLE REGISTER (BIT 0, WRITE ONLY) +; +Z180_BASE .EQU $C0 ; Z180: I/O BASE ADDRESS FOR INTERNAL REGISTERS +Z180_CLKDIV .EQU 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2 +Z180_MEMWAIT .EQU 0 ; Z180: MEMORY WAIT STATES (0-3) +Z180_IOWAIT .EQU 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) +; +RTC .EQU $0C ; RTC LATCH REGISTER ADR +; +CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT +; +DIAGENABLE .EQU TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS ; -CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP -VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...) -; -DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) -; -HTIMENABLE .EQU FALSE ; TRUE FOR SIMH TIMER SUPPORT -SIMRTCENABLE .EQU FALSE ; SIMH CLOCK DRIVER -DSRTCENABLE .EQU FALSE ; DS-1302 CLOCK DRIVER -DSRTCMODE .EQU DSRTCMODE_STD ; DSRTCMODE_STD, DSRTCMODE_MFPIC -DSRTCCHG .EQU FALSE ; DS-1302 CONFIGURE CHARGE ON (TRUE) OR OFF (FALSE) -; -ASCIENABLE .EQU TRUE ; TRUE FOR Z180 ASCI SUPPORT -UARTENABLE .EQU FALSE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) -UARTOSC .EQU 1843200 ; UART OSC FREQUENCY -ACIAENABLE .EQU FALSE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT -; -SIOENABLE .EQU TRUE ; TRUE FOR ZILOG SIO SUPPORT -SIODEBUG .EQU FALSE ; PS -SIOCNT .EQU 2 ; 1 OR 2 SIO CHIPS (EACH CHIP HAS 2 CHANNELS) -SIO0MODE .EQU SIOMODE_RC ; TYPE OF FIRST SIO TO DETECT: SIOMODE_RC/SMB/ZP/EZZ80 -SIO0BASE .EQU $80 ; IO PORT ADDRESS BASE FOR FIRST SIO CHIP -SIO0ACLK .EQU 7372800 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO0ADIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO0ACFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG -SIO0BCLK .EQU 7372800 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO0BDIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO0BCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG -SIO1MODE .EQU SIOMODE_RC ; TYPE OF SECOND SIO TO DETECT: SIOMODE_RC, SIOMODE_SMB -SIO1BASE .EQU $84 ; IO PORT ADDRESS BASE FOR SECOND SIO CHIP -SIO1ACLK .EQU 7372800 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO1ADIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO1ACFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG -SIO1BCLK .EQU 7372800 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO1BDIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO1BCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG -; -VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT -CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT -NECENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT -TMSENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT -VGAENABLE .EQU FALSE ; TRUE FOR VGA VIDEO/KBD SUPPORT -; -SPKENABLE .EQU FALSE ; TRUE FOR RTC LATCH IOBIT SOUND -AYENABLE .EQU FALSE ; TRUE FOR AY PSG SOUND -AYMODE .EQU AYMODE_RCZ180 ; AYMODE_[SCG/N8/RCZ80/RCZ180] -; -MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) -MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE) -; -FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT -FDMODE .EQU FDMODE_RCWDC ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 -FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIA .EQU FDM144 ; FDM720, FDM144, FDM360, FDM120 (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIAALT .EQU FDM720 ; ALTERNATE MEDIA TO TRY, SAME CHOICES AS ABOVE (ONLY RELEVANT IF FDMAUTO = TRUE) -FDMAUTO .EQU TRUE ; SELECT BETWEEN MEDIA OPTS ABOVE AUTOMATICALLY -; -RFENABLE .EQU FALSE ; TRUE FOR RAM FLOPPY SUPPORT -; -IDEENABLE .EQU FALSE ; TRUE FOR IDE SUPPORT -IDEMODE .EQU IDEMODE_RC ; IDEMODE_DIO, IDEMODE_DIDE, IDEMODE_RC -IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -IDE8BIT .EQU TRUE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -; -PPIDEENABLE .EQU FALSE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE) -PPIDEMODE .EQU PPIDEMODE_RC ; PPIDEMODE_SBC, PPPIDEMODE_DIO3, PPIDEMODE_MFP, PPIDEMODE_N8, PPIDEMODE_RC -PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE) -PPIDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -; -SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT -SDMODE .EQU SDMODE_PPI ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD -SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER -; -PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT -; -PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT -PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) -PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) -; -HDSKENABLE .EQU FALSE ; TRUE FOR SIMH HDSK SUPPORT -; -TERMENABLE .EQU FALSE ; TERM PSEUDO DEVICE, WILL BE ENABLED IF A VDA IS ENABLED -; -BOOTTYPE .EQU BT_MENU ; BT_MENU (WAIT FOR KEYPRESS), BT_AUTO (BOOT_DEFAULT AFTER BOOT_TIMEOUT SECS) -BOOT_TIMEOUT .EQU 20 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE -BOOT_DEFAULT .EQU 'Z' ; SELECTION TO INVOKE AT TIMEOUT -; -; 18.432MHz OSC @ FULL SPEED -; -Z180_CLKDIV .EQU 1 ; 0=OSC/2, 1=OSC, 2=OSC*2 -Z180_MEMWAIT .EQU 0 ; MEMORY WAIT STATES (0-3) -Z180_IOWAIT .EQU 1 ; ADD (0-3) I/O WAIT STATES ABOVE 1 W/S BUILT-IN -; -PIO_4P .EQU FALSE ; TRUE FOR ECB-4PIO PIO SUPPORT -PIO_ZP .EQU FALSE ; TRUE FOR ECB-ZILOG PERIPHERALS BOARD -PPI_SBC .EQU FALSE ; TRUE FOR SBC V2 8255 (IF NOT BEING USED FOR PPIDE) -; -UFENABLE .EQU FALSE ; TRUE FOR ECB USB-FIFO SUPPORT - +DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) +; +CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP +VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI] +ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT +SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM) +; +DSRTCENABLE .EQU FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) +DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] +DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) +; +UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) +; +ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) +; +ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) +; +SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) +SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT +SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP +SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[RC|SMB|ZP|EZZ80] +SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR +SIO0ACLK .EQU 7372800 ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0ADIV .EQU 1 ; SIO 0A: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO0ACFG .EQU DEFSERCFG ; AIO 0A: SERIAL LINE CONFIG +SIO0BCLK .EQU 7372800 ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0BDIV .EQU 1 ; SIO 0B: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO0BCFG .EQU DEFSERCFG ; SIO 0B: SERIAL LINE CONFIG +SIO1MODE .EQU SIOMODE_RC ; SIO 1: CHIP TYPE: SIOMODE_[RC|SMB|ZP|EZZ80] +SIO1BASE .EQU $84 ; SIO 1: REGISTERS BASE ADR +SIO1ACLK .EQU 7372800 ; SIO 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO1ADIV .EQU 1 ; SIO 1A: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO1ACFG .EQU DEFSERCFG ; AIO 1A: SERIAL LINE CONFIG +SIO1BCLK .EQU 7372800 ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO1BDIV .EQU 1 ; SIO 1B: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO1BCFG .EQU DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG +; +VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM) +CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM) +NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM) +TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) +VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM) +; +SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) +; +AYENABLE .EQU FALSE ; AY: ENABLE AY PSG SOUND DRIVER +AYMODE .EQU AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG/N8/RCZ80/RCZ180] +; +MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) +MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) +FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] +FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] +FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS +; +RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER +; +IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .EQU IDEMODE_RC ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] +IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +IDE8BIT .EQU TRUE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) +PPIDEMODE .EQU PPIDEMODE_RC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +SDENABLE .EQU FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDMODE .EQU SDMODE_PPI ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC126] +SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE +; +PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) +; +PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) +; +HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM) +; +PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD +PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM) +PPI_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP +; +UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM) diff --git a/Source/HBIOS/cfg_rcz80.asm b/Source/HBIOS/cfg_rcz80.asm index 7310dd74..0f697c90 100644 --- a/Source/HBIOS/cfg_rcz80.asm +++ b/Source/HBIOS/cfg_rcz80.asm @@ -1,122 +1,140 @@ ; ;================================================================================================== -; ROMWBW 2.X CONFIGURATION DEFAULTS FOR RC2014 +; ROMWBW 2.X CONFIGURATION DEFAULTS FOR RC2014 Z80 ;================================================================================================== ; -; BUILD CONFIGURATION OPTIONS +; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM +; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD +; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY +; UNDER THIS DIRECTORY. ; -CPUOSC .EQU 7372800 ; CPU OSC FREQ -MEMMGR .EQU MM_Z2 ; MM_NONE, MM_SBC, MM_Z2, MM_N8, MM_Z180 -RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! -DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE) -INTMODE .EQU 1 ; 0=NONE, 1=INT MODE 1, 2=INT MODE 2 -DIAGENABLE .EQU TRUE ; TRUE FOR DIAGNOSTIC CODE PORT OUTPUT +; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS +; FOR THE PLATFORM. +; +#DEFINE PLATFORM_NAME "RC2014" +; +PLATFORM .EQU PLT_RCZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126] +CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180] +BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] +; +BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT +BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT +BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT +; +CPUOSC .EQU 7372800 ; CPU OSC FREQ IN MHZ +INTMODE .EQU 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 +DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) +MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] +MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY) +MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY) +MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY) +MPGSEL_3 .EQU $7B ; Z2 MEM MGR BANK 3 PAGE SELECT REG (WRITE ONLY) +MPGENA .EQU $7C ; Z2 MEM MGR PAGING ENABLE REGISTER (BIT 0, WRITE ONLY) +; +RTC .EQU $C0 ; RTC LATCH REGISTER ADR +; +CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT +; +DIAGENABLE .EQU TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS ; -CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP -VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...) -; -DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) -; -HTIMENABLE .EQU FALSE ; TRUE FOR SIMH TIMER SUPPORT -SIMRTCENABLE .EQU FALSE ; SIMH CLOCK DRIVER -DSRTCENABLE .EQU FALSE ; DS-1302 CLOCK DRIVER -DSRTCMODE .EQU DSRTCMODE_STD ; DSRTCMODE_STD, DSRTCMODE_MFPIC -DSRTCCHG .EQU FALSE ; DS-1302 CONFIGURE CHARGE ON (TRUE) OR OFF (FALSE) -; -ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -UARTENABLE .EQU FALSE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) -UARTOSC .EQU 1843200 ; UART OSC FREQUENCY -; -ACIAENABLE .EQU TRUE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT -ACIADEBUG .EQU FALSE ; PS -ACIACNT .EQU 1 ; 1 OR 2 ACIA CHIPS -ACIA0MODE .EQU ACIAMODE_RC ; TYPE OF FIRST ACIA TO DETECT: SIOMODE_RC -ACIA0BASE .EQU $80 ; IO PORT ADDRESS BASE FOR FIRST ACIA CHIP -ACIA0CLK .EQU CPUOSC ; 7372800 - ACIA FIXED OSC FREQUENCY -ACIA0DIV .EQU 1 ; 1=RC2014 -ACIA0CFG .EQU DEFSERCFG ; DEFAULT SERIAL LINE CONFIG -ACIA1MODE .EQU ACIAMODE_RC ; TYPE OF SECOND ACIA TO DETECT: SIOMODE_RC -ACIA1BASE .EQU $40 ; IO PORT ADDRESS BASE FOR SECOND ACIA CHIP -ACIA1CLK .EQU CPUOSC ; 7372800 - ACIA FIXED OSC FREQUENCY -ACIA1DIV .EQU 1 ; 1=RC2014 -ACIA1CFG .EQU DEFSERCFG ; DEFAULT SERIAL LINE CONFIG -; -SIOENABLE .EQU TRUE ; TRUE FOR ZILOG SIO SUPPORT -SIODEBUG .EQU FALSE ; PS -SIOCNT .EQU 2 ; 1 OR 2 SIO CHIPS (EACH CHIP HAS 2 CHANNELS) -SIO0MODE .EQU SIOMODE_RC ; TYPE OF FIRST SIO TO DETECT: SIOMODE_RC/SMB/ZP/EZZ80 -SIO0BASE .EQU $80 ; IO PORT ADDRESS BASE FOR FIRST SIO CHIP -SIO0ACLK .EQU CPUOSC ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO0ADIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO0ACFG .EQU DEFSERCFG ; DEFAULT SERIAL LINE CONFIG -SIO0BCLK .EQU CPUOSC ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO0BDIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO0BCFG .EQU DEFSERCFG ; DEFAULT SERIAL LINE CONFIG -SIO1MODE .EQU SIOMODE_RC ; TYPE OF SECOND SIO TO DETECT: SIOMODE_RC, SIOMODE_SMB -SIO1BASE .EQU $84 ; IO PORT ADDRESS BASE FOR SECOND SIO CHIP -SIO1ACLK .EQU CPUOSC ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO1ADIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO1ACFG .EQU DEFSERCFG ; DEFAULT SERIAL LINE CONFIG -SIO1BCLK .EQU CPUOSC ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO1BDIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO1BCFG .EQU DEFSERCFG ; DEFAULT SERIAL LINE CONFIG -; -VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT -CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT -NECENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT -TMSENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT -VGAENABLE .EQU FALSE ; TRUE FOR VGA VIDEO/KBD SUPPORT -; -SPKENABLE .EQU FALSE ; TRUE FOR RTC LATCH IOBIT SOUND -AYENABLE .EQU FALSE ; TRUE FOR AY PSG SOUND -AYMODE .EQU AYMODE_RCZ80 ; AYMODE_[SCG/N8/RCZ80/RCZ180] -; -MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) -MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE) -; -FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT -FDMODE .EQU FDMODE_RCWDC ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 -FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIA .EQU FDM144 ; FDM720, FDM144, FDM360, FDM120 (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIAALT .EQU FDM720 ; ALTERNATE MEDIA TO TRY, SAME CHOICES AS ABOVE (ONLY RELEVANT IF FDMAUTO = TRUE) -FDMAUTO .EQU TRUE ; SELECT BETWEEN MEDIA OPTS ABOVE AUTOMATICALLY -; -RFENABLE .EQU FALSE ; TRUE FOR RAM FLOPPY SUPPORT -; -IDEENABLE .EQU FALSE ; TRUE FOR IDE SUPPORT -IDEMODE .EQU IDEMODE_RC ; IDEMODE_DIO, IDEMODE_DIDE, IDEMODE_RC -IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -IDE8BIT .EQU TRUE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -; -PPIDEENABLE .EQU FALSE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE) -PPIDEMODE .EQU PPIDEMODE_RC ; PPIDEMODE_SBC, PPPIDEMODE_DIO3, PPIDEMODE_MFP, PPIDEMODE_N8, PPIDEMODE_RC -PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE) -PPIDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -; -SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT -SDMODE .EQU SDMODE_PPI ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD -SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER -; -PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT -; -PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT -PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) -PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) -; -HDSKENABLE .EQU FALSE ; TRUE FOR SIMH HDSK SUPPORT -; -TERMENABLE .EQU FALSE ; TERM PSEUDO DEVICE, WILL BE ENABLED IF A VDA IS ENABLED -; -BOOTTYPE .EQU BT_MENU ; BT_MENU (WAIT FOR KEYPRESS), BT_AUTO (BOOT_DEFAULT AFTER BOOT_TIMEOUT SECS) -BOOT_TIMEOUT .EQU 20 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE -BOOT_DEFAULT .EQU 'Z' ; SELECTION TO INVOKE AT TIMEOUT -; -PIO_4P .EQU FALSE ; TRUE FOR ECB-4PIO PIO SUPPORT -PIO_ZP .EQU FALSE ; TRUE FOR ECB-ZILOG PERIPHERALS BOARD -PPI_SBC .EQU FALSE ; TRUE FOR SBC V2 8255 (IF NOT BEING USED FOR PPIDE) -; -UFENABLE .EQU FALSE ; TRUE FOR ECB USB-FIFO SUPPORT - +DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) +; +CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP +VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI] +ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT +SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM) +; +DSRTCENABLE .EQU FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) +DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] +DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) +; +UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) +; +ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) +; +ACIAENABLE .EQU TRUE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) +ACIADEBUG .EQU FALSE ; ACIA: ENABLE DEBUG OUTPUT +ACIACNT .EQU 1 ; ACIA: NUMBER OF CHIPS TO DETECT (1-2) +ACIA0BASE .EQU $80 ; ACIA 0: REGISTERS BASE ADR +ACIA0CLK .EQU CPUOSC ; ACIA 0: OSC FREQ IN HZ +ACIA0DIV .EQU 1 ; ACIA 0: SERIAL CLOCK DIVIDER +ACIA0CFG .EQU DEFSERCFG ; ACIA 0: SERIAL LINE CONFIG (SEE STD.ASM) +ACIA1BASE .EQU $40 ; ACIA 1: REGISTERS BASE ADR +ACIA1CLK .EQU CPUOSC ; ACIA 1: OSC FREQ IN HZ +ACIA1DIV .EQU 1 ; ACIA 1: SERIAL CLOCK DIVIDER +ACIA1CFG .EQU DEFSERCFG ; ACIA 1: SERIAL LINE CONFIG (SEE STD.ASM) +; +SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) +SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT +SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP +SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[RC|SMB|ZP|EZZ80] +SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR +SIO0ACLK .EQU CPUOSC ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0ADIV .EQU 1 ; SIO 0A: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO0ACFG .EQU DEFSERCFG ; AIO 0A: SERIAL LINE CONFIG +SIO0BCLK .EQU CPUOSC ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0BDIV .EQU 1 ; SIO 0B: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO0BCFG .EQU DEFSERCFG ; SIO 0B: SERIAL LINE CONFIG +SIO1MODE .EQU SIOMODE_RC ; SIO 1: CHIP TYPE: SIOMODE_[RC|SMB|ZP|EZZ80] +SIO1BASE .EQU $84 ; SIO 1: REGISTERS BASE ADR +SIO1ACLK .EQU CPUOSC ; SIO 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO1ADIV .EQU 1 ; SIO 1A: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO1ACFG .EQU DEFSERCFG ; AIO 1A: SERIAL LINE CONFIG +SIO1BCLK .EQU CPUOSC ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO1BDIV .EQU 1 ; SIO 1B: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO1BCFG .EQU DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG +; +VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM) +CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM) +NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM) +TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) +VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM) +; +SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) +; +AYENABLE .EQU FALSE ; AY: ENABLE AY PSG SOUND DRIVER +AYMODE .EQU AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG/N8/RCZ80/RCZ180] +; +MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) +MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) +FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] +FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] +FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS +; +RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER +; +IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .EQU IDEMODE_RC ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] +IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +IDE8BIT .EQU TRUE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) +PPIDEMODE .EQU PPIDEMODE_RC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +SDENABLE .EQU FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDMODE .EQU SDMODE_PPI ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC126] +SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE +; +PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) +; +PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) +; +HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM) +; +PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD +PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM) +PPI_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP +; +UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM) diff --git a/Source/HBIOS/cfg_sbc.asm b/Source/HBIOS/cfg_sbc.asm index 86af4aa1..34fff224 100644 --- a/Source/HBIOS/cfg_sbc.asm +++ b/Source/HBIOS/cfg_sbc.asm @@ -3,116 +3,137 @@ ; ROMWBW 2.X CONFIGURATION DEFAULTS FOR SBC ;================================================================================================== ; -; BUILD CONFIGURATION OPTIONS -; -CPUOSC .EQU 8000000 ; CPU OSC FREQ -MEMMGR .EQU MM_SBC ; MM_NONE, MM_SBC, MM_Z2, MM_N8, MM_Z180 -RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! -DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE) -INTMODE .EQU 0 ; 0=NONE, 1=INT MODE 1, 2=INT MODE 2 -DIAGENABLE .EQU FALSE ; TRUE FOR DIAGNOSTIC CODE PORT OUTPUT +; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM +; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD +; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY +; UNDER THIS DIRECTORY. +; +; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS +; FOR THE PLATFORM. +; +#DEFINE PLATFORM_NAME "SBC" +; +PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126] +CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180] +BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] +; +BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT +BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT +BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT +; +CPUOSC .EQU 8000000 ; CPU OSC FREQ IN MHZ +INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 +DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) +MEMMGR .EQU MM_SBC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] +MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY) +MPCL_ROM .EQU $7C ; SBC MEM MGR ROM PAGE SELECT REG (WRITE ONLY) +; +RTC .EQU $70 ; RTC LATCH REGISTER ADR +PPIBASE .EQU $60 ; PRIMARY PARALLEL PORT REGISTERS BASE ADR +; +CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT +; +DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS ; -CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP -VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...) -; -DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) -; -HTIMENABLE .EQU FALSE ; TRUE FOR SIMH TIMER SUPPORT -SIMRTCENABLE .EQU FALSE ; SIMH CLOCK DRIVER -DSRTCENABLE .EQU TRUE ; DS-1302 CLOCK DRIVER -DSRTCMODE .EQU DSRTCMODE_STD ; DSRTCMODE_STD, DSRTCMODE_MFPIC -DSRTCCHG .EQU FALSE ; DS-1302 CONFIGURE CHARGE ON (TRUE) OR OFF (FALSE) -; -ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -UARTENABLE .EQU TRUE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) -UARTOSC .EQU 1843200 ; UART OSC FREQUENCY -UARTSBC .EQU TRUE ; ENABLE SBC/ZETA ONBOARD UART DETECTION -UARTCAS .EQU TRUE ; ENABLE ECB CASSETTE UART DETECTION -UARTMFP .EQU TRUE ; ENABLE MF/PIC UART DETECTION -UART4 .EQU TRUE ; ENABLE 4UART UART DETECTION -ACIAENABLE .EQU FALSE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT -; -SIOENABLE .EQU TRUE ; TRUE FOR ZILOG SIO SUPPORT -SIODEBUG .EQU FALSE ; PS -SIOCNT .EQU 1 ; 1 OR 2 SIO CHIPS (EACH CHIP HAS 2 CHANNELS) -SIO0MODE .EQU SIOMODE_ZP ; TYPE OF FIRST SIO TO DETECT: SIOMODE_RC/SMB/ZP/EZZ80 -SIO0BASE .EQU $B0 ; IO PORT ADDRESS BASE FOR FIRST SIO CHIP -SIO0ACLK .EQU 4915200 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO0ADIV .EQU 8 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO0ACFG .EQU DEFSERCFG ; DEFAULT SERIAL LINE CONFIG -SIO0BCLK .EQU 4915200 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO0BDIV .EQU 8 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO0BCFG .EQU DEFSERCFG ; DEFAULT SERIAL LINE CONFIG -; -VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT -CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT -NECENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT -TMSENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT -TMSMODE .EQU TMSMODE_SCG ; TMSMODE_[SCG/N8] -VGAENABLE .EQU FALSE ; TRUE FOR VGA VIDEO/KBD SUPPORT -VDUSIZ .EQU V80X25 ; VDU DISPLAY FORMAT V80X24, V80X25, V80X30 -; -SPKENABLE .EQU FALSE ; TRUE FOR RTC LATCH IOBIT SOUND -AYENABLE .EQU FALSE ; TRUE FOR AY PSG SOUND -AYMODE .EQU AYMODE_SCG ; AYMODE_[SCG/N8/RCZ80/RCZ180] -; -MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) -MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE) -; -FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT -FDMODE .EQU FDMODE_DIO3 ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 -FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIA .EQU FDM144 ; FDM720, FDM144, FDM360, FDM120 (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIAALT .EQU FDM720 ; ALTERNATE MEDIA TO TRY, SAME CHOICES AS ABOVE (ONLY RELEVANT IF FDMAUTO = TRUE) -FDMAUTO .EQU TRUE ; SELECT BETWEEN MEDIA OPTS ABOVE AUTOMATICALLY -; -RFENABLE .EQU FALSE ; TRUE FOR RAM FLOPPY SUPPORT -RFCNT .EQU 1 ; NUMBER OF RAM FLOPPY UNITS (MAX IS 2) -; -IDEENABLE .EQU FALSE ; TRUE FOR IDE SUPPORT -IDEMODE .EQU IDEMODE_DIO ; IDEMODE_DIO, IDEMODE_DIDE -IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -IDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -; -PPIDEENABLE .EQU FALSE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE) -PPIDEMODE .EQU PPIDEMODE_SBC ; PPIDEMODE_SBC, PPPIDEMODE_DIO3, PPIDEMODE_MFP, PPIDEMODE_N8, PPIDEMODE_RC -PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE) -PPIDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -; -SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT -SDMODE .EQU SDMODE_JUHA ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD -SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER -; -PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT -PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT -PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE) -PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) -; -PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT -PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) -PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) -; -HDSKENABLE .EQU FALSE ; TRUE FOR SIMH HDSK SUPPORT -HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -; -PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE) -KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE) -PPKKBLOUT .EQU KBD_US ; KEYBOARD LANGUAGE (US/DE) -KBDKBLOUT .EQU KBD_US ; KEYBOARD LANGUAGE (US/DE) -; -TERMENABLE .EQU FALSE ; TERM PSEUDO DEVICE, WILL BE ENABLED IF A VDA IS ENABLED -ANSITRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF ANSIENABLE = TRUE) -; -BOOTTYPE .EQU BT_MENU ; BT_MENU (WAIT FOR KEYPRESS), BT_AUTO (BOOT_DEFAULT AFTER BOOT_TIMEOUT SECS) -BOOT_TIMEOUT .EQU 20 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE -BOOT_DEFAULT .EQU 'Z' ; SELECTION TO INVOKE AT TIMEOUT -; -PIO_4P .EQU FALSE ; TRUE FOR ECB-4PIO PIO SUPPORT -PIO_ZP .EQU FALSE ; TRUE FOR ECB-ZILOG PERIPHERALS BOARD -PPI_SBC .EQU FALSE ; TRUE FOR SBC V2 8255 (IF NOT BEING USED FOR PPIDE) -; -UFENABLE .EQU FALSE ; TRUE FOR ECB USB-FIFO SUPPORT - +DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) +; +CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP +VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI] +ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPKTRACE .EQU 1 ; PPK DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +KBDTRACE .EQU 1 ; KBD DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPKKBLOUT .EQU KBD_US ; PPK KEYBOARD LANGUAGE: KBD_[US|DE] +KBDKBLOUT .EQU KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE] +; +HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT +SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM) +; +DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) +DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] +DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) +; +UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) +UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ +UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART +UARTCAS .EQU TRUE ; UART: AUTO-DETECT ECB CASSETTE UART +UARTMFP .EQU TRUE ; UART: AUTO-DETECT MF/PIC UART +UART4 .EQU TRUE ; UART: AUTO-DETECT 4UART UART +; +ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) +; +ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) +; +SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) +SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT +SIOCNT .EQU 1 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP +SIO0MODE .EQU SIOMODE_ZP ; SIO 0: CHIP TYPE: SIOMODE_[RC|SMB|ZP|EZZ80] +SIO0BASE .EQU $B0 ; SIO 0: REGISTERS BASE ADR +SIO0ACLK .EQU 4915200 ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0ADIV .EQU 8 ; SIO 0A: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO0ACFG .EQU DEFSERCFG ; AIO 0A: SERIAL LINE CONFIG +SIO0BCLK .EQU 4915200 ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0BDIV .EQU 8 ; SIO 0B: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO0BCFG .EQU DEFSERCFG ; SIO 0B: SERIAL LINE CONFIG +; +VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM) +VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30] +CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM) +NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM) +TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) +TMSMODE .EQU TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG/N8] +VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM) +; +SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) +; +AYENABLE .EQU FALSE ; AY: ENABLE AY PSG SOUND DRIVER +AYMODE .EQU AYMODE_SCG ; AY: DRIVER MODE: AYMODE_[SCG/N8/RCZ80/RCZ180] +; +MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) +MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .EQU FDMODE_DIO3 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) +FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] +FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] +FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS +; +RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER +RFCNT .EQU 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-2) +; +IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .EQU IDEMODE_DIO ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] +IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +IDE8BIT .EQU FALSE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) +PPIDEMODE .EQU PPIDEMODE_SBC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +SDENABLE .EQU FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDMODE .EQU SDMODE_JUHA ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC126] +SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE +; +PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) +PRPSDENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT +PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PRPCONENABLE .EQU TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT +; +PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) +; +HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM) +HDSKTRACE .EQU 1 ; HDSK: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD +PIO4BASE .EQU $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD +PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM) +PIOZBASE .EQU $88 ; PIO: PIO REGISTERS BASE ADR FOR ECB ZP BOARD +PPI_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP +; +UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM) +UFBASE .EQU $0C ; UF: REGISTERS BASE ADR diff --git a/Source/HBIOS/cfg_sc126.asm b/Source/HBIOS/cfg_sc126.asm index a505da00..10624ad6 100644 --- a/Source/HBIOS/cfg_sc126.asm +++ b/Source/HBIOS/cfg_sc126.asm @@ -3,113 +3,129 @@ ; ROMWBW 2.X CONFIGURATION DEFAULTS FOR SC126 ;================================================================================================== ; -; BUILD CONFIGURATION OPTIONS -; -CPUOSC .EQU 18432000 ; CPU OSC FREQ -MEMMGR .EQU MM_Z180 ; MM_NONE, MM_SBC, MM_Z2, MM_N8, MM_Z180 -RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! -DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE) -INTMODE .EQU 2 ; 0=NONE, 1=INT MODE 1, 2=INT MODE 2 -DIAGENABLE .EQU TRUE ; TRUE FOR DIAGNOSTIC CODE PORT OUTPUT +; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM +; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD +; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY +; UNDER THIS DIRECTORY. +; +; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS +; FOR THE PLATFORM. +; +#DEFINE PLATFORM_NAME "SC126" +; +PLATFORM .EQU PLT_SC126 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126] +CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180] +BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] +; +BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT +BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT +BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT +; +CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ +INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 +DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) +MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] +RAMBIAS .EQU 512 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE +; +Z180_BASE .EQU $C0 ; Z180: I/O BASE ADDRESS FOR INTERNAL REGISTERS +Z180_CLKDIV .EQU 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2 +Z180_MEMWAIT .EQU 0 ; Z180: MEMORY WAIT STATES (0-3) +Z180_IOWAIT .EQU 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3) +; +RTC .EQU $0C ; RTC LATCH REGISTER ADR +; +CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT +; +DIAGENABLE .EQU TRUE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT DIAGPORT .EQU $0D ; DIAGNOSTIC PORT ADDRESS ; -CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP -VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...) -; -DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) -; -HTIMENABLE .EQU FALSE ; TRUE FOR SIMH TIMER SUPPORT -SIMRTCENABLE .EQU FALSE ; SIMH CLOCK DRIVER -DSRTCENABLE .EQU TRUE ; DS-1302 CLOCK DRIVER -DSRTCMODE .EQU DSRTCMODE_STD ; DSRTCMODE_STD, DSRTCMODE_MFPIC -DSRTCCHG .EQU FALSE ; DS-1302 CONFIGURE CHARGE ON (TRUE) OR OFF (FALSE) -; -ASCIENABLE .EQU TRUE ; TRUE FOR Z180 ASCI SUPPORT -UARTENABLE .EQU FALSE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) -UARTOSC .EQU 1843200 ; UART OSC FREQUENCY -ACIAENABLE .EQU FALSE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT -; -SIOENABLE .EQU TRUE ; TRUE FOR ZILOG SIO SUPPORT -SIODEBUG .EQU FALSE ; PS -SIOCNT .EQU 2 ; 1 OR 2 SIO CHIPS (EACH CHIP HAS 2 CHANNELS) -SIO0MODE .EQU SIOMODE_RC ; TYPE OF FIRST SIO TO DETECT: SIOMODE_RC/SMB/ZP/EZZ80 -SIO0BASE .EQU $80 ; IO PORT ADDRESS BASE FOR FIRST SIO CHIP -SIO0ACLK .EQU 7372800 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO0ADIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO0ACFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG -SIO0BCLK .EQU 7372800 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO0BDIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO0BCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG -SIO1MODE .EQU SIOMODE_RC ; TYPE OF SECOND SIO TO DETECT: SIOMODE_RC, SIOMODE_SMB -SIO1BASE .EQU $84 ; IO PORT ADDRESS BASE FOR SECOND SIO CHIP -SIO1ACLK .EQU 7372800 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO1ADIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO1ACFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG -SIO1BCLK .EQU 7372800 ; 2457600/4915200=ZP,7372800=RC/SMB - SIO FIXED OSC FREQUENCY -SIO1BDIV .EQU 1 ; 1=RC2014/SMB, 2/4/8/16/32/64/128/256=ZP depending on jumper X5 -SIO1BCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG -; -VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT -CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT -NECENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT -TMSENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT -VGAENABLE .EQU FALSE ; TRUE FOR VGA VIDEO/KBD SUPPORT -; -SPKENABLE .EQU FALSE ; TRUE FOR RTC LATCH IOBIT SOUND -AYENABLE .EQU FALSE ; TRUE FOR AY PSG SOUND -AYMODE .EQU AYMODE_RCZ180 ; AYMODE_[SCG/N8/RCZ80/RCZ180] -; -MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) -MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE) -; -FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT -FDMODE .EQU FDMODE_RCWDC ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 -FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIA .EQU FDM144 ; FDM720, FDM144, FDM360, FDM120 (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIAALT .EQU FDM720 ; ALTERNATE MEDIA TO TRY, SAME CHOICES AS ABOVE (ONLY RELEVANT IF FDMAUTO = TRUE) -FDMAUTO .EQU TRUE ; SELECT BETWEEN MEDIA OPTS ABOVE AUTOMATICALLY -; -RFENABLE .EQU FALSE ; TRUE FOR RAM FLOPPY SUPPORT -; -IDEENABLE .EQU FALSE ; TRUE FOR IDE SUPPORT -IDEMODE .EQU IDEMODE_RC ; IDEMODE_DIO, IDEMODE_DIDE, IDEMODE_RC -IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -IDE8BIT .EQU TRUE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -; -PPIDEENABLE .EQU FALSE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE) -PPIDEMODE .EQU PPIDEMODE_RC ; PPIDEMODE_SBC, PPPIDEMODE_DIO3, PPIDEMODE_MFP, PPIDEMODE_N8, PPIDEMODE_RC -PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE) -PPIDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) -; -SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT -SDMODE .EQU SDMODE_SC126 ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD -SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER -; -PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT -; -PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT -PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) -PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) -; -HDSKENABLE .EQU FALSE ; TRUE FOR SIMH HDSK SUPPORT -; -TERMENABLE .EQU FALSE ; TERM PSEUDO DEVICE, WILL BE ENABLED IF A VDA IS ENABLED -; -BOOTTYPE .EQU BT_MENU ; BT_MENU (WAIT FOR KEYPRESS), BT_AUTO (BOOT_DEFAULT AFTER BOOT_TIMEOUT SECS) -BOOT_TIMEOUT .EQU 20 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE -BOOT_DEFAULT .EQU 'Z' ; SELECTION TO INVOKE AT TIMEOUT -; -; 18.432MHz OSC @ FULL SPEED -; -Z180_CLKDIV .EQU 1 ; 0=OSC/2, 1=OSC, 2=OSC*2 -Z180_MEMWAIT .EQU 0 ; MEMORY WAIT STATES (0-3) -Z180_IOWAIT .EQU 1 ; ADD (0-3) I/O WAIT STATES ABOVE 1 W/S BUILT-IN -; -PIO_4P .EQU FALSE ; TRUE FOR ECB-4PIO PIO SUPPORT -PIO_ZP .EQU FALSE ; TRUE FOR ECB-ZILOG PERIPHERALS BOARD -PPI_SBC .EQU FALSE ; TRUE FOR SBC V2 8255 (IF NOT BEING USED FOR PPIDE) -; -UFENABLE .EQU FALSE ; TRUE FOR ECB USB-FIFO SUPPORT - +DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) +; +CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP +VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI] +ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT +SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM) +; +DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) +DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] +DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) +; +UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) +; +ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) +; +ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) +; +SIOENABLE .EQU TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) +SIODEBUG .EQU FALSE ; SIO: ENABLE DEBUG OUTPUT +SIOCNT .EQU 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP +SIO0MODE .EQU SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[RC|SMB|ZP|EZZ80] +SIO0BASE .EQU $80 ; SIO 0: REGISTERS BASE ADR +SIO0ACLK .EQU 7372800 ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0ADIV .EQU 1 ; SIO 0A: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO0ACFG .EQU SER_115200_8N1 ; AIO 0A: SERIAL LINE CONFIG +SIO0BCLK .EQU 7372800 ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO0BDIV .EQU 1 ; SIO 0B: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO0BCFG .EQU SER_115200_8N1 ; SIO 0B: SERIAL LINE CONFIG +SIO1MODE .EQU SIOMODE_RC ; SIO 1: CHIP TYPE: SIOMODE_[RC|SMB|ZP|EZZ80] +SIO1BASE .EQU $84 ; SIO 1: REGISTERS BASE ADR +SIO1ACLK .EQU 7372800 ; SIO 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO1ADIV .EQU 1 ; SIO 1A: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO1ACFG .EQU SER_115200_8N1 ; AIO 1A: SERIAL LINE CONFIG +SIO1BCLK .EQU 7372800 ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800 +SIO1BDIV .EQU 1 ; SIO 1B: SERIAL CLOCK DIVIDER, RC2014/SMB=1, ZP=2/4/8/16/32/64/128/256 (X5) +SIO1BCFG .EQU SER_115200_8N1 ; SIO 1B: SERIAL LINE CONFIG +; +VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM) +CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM) +NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM) +TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) +VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM) +; +SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) +; +AYENABLE .EQU FALSE ; AY: ENABLE AY PSG SOUND DRIVER +AYMODE .EQU AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG/N8/RCZ80/RCZ180] +; +MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) +MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .EQU FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) +FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] +FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] +FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS +; +RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER +; +IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +IDEMODE .EQU IDEMODE_RC ; IDE: DRIVER MODE: IDEMODE_[DIO|DIDE] +IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +IDE8BIT .EQU TRUE ; IDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) +PPIDEMODE .EQU PPIDEMODE_RC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +SDENABLE .EQU TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDMODE .EQU SDMODE_SC126 ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC126] +SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE +; +PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) +; +PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) +; +HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM) +; +PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD +PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM) +PPI_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP +; +UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM) diff --git a/Source/HBIOS/cfg_una.asm b/Source/HBIOS/cfg_una.asm index 87cd0e8b..6e9ab427 100644 --- a/Source/HBIOS/cfg_una.asm +++ b/Source/HBIOS/cfg_una.asm @@ -3,14 +3,26 @@ ; ROMWBW 2.X CONFIGURATION DEFAULTS FOR UNA ;================================================================================================== ; -; BUILD CONFIGURATION OPTIONS +; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM +; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD +; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY +; UNDER THIS DIRECTORY. ; -CPUOSC .EQU 18432000 ; CPU OSC FREQ -RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! -INTMODE .EQU 0 ; 0=NONE, 1=INT MODE 1, 2=INT MODE 2 +; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS +; FOR THE PLATFORM. ; -DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) +#DEFINE PLATFORM_NAME "UNA" ; -BOOTTYPE .EQU BT_MENU ; BT_MENU (WAIT FOR KEYPRESS), BT_AUTO (BOOT_DEFAULT AFTER BOOT_TIMEOUT SECS) -BOOT_TIMEOUT .EQU 21 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE -BOOT_DEFAULT .EQU 'Z' ; SELECTION TO INVOKE AT TIMEOUT +PLATFORM .EQU PLT_UNA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126] +BIOS .EQU BIOS_UNA ; HARDWARE BIOS: BIOS_[WBW|UNA] +; +BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT +BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT +BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT +; +CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ +INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 +; +RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) +; +DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) diff --git a/Source/HBIOS/cfg_zeta.asm b/Source/HBIOS/cfg_zeta.asm index 66d480f6..21fb1f22 100644 --- a/Source/HBIOS/cfg_zeta.asm +++ b/Source/HBIOS/cfg_zeta.asm @@ -3,89 +3,112 @@ ; ROMWBW 2.X CONFIGURATION DEFAULTS FOR ZETA V1 ;================================================================================================== ; -; BUILD CONFIGURATION OPTIONS -; -CPUOSC .EQU 20000000 ; CPU OSC FREQ -MEMMGR .EQU MM_SBC ; MM_NONE, MM_SBC, MM_Z2, MM_N8, MM_Z180 -RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! -DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE) -INTMODE .EQU 0 ; 0=NONE, 1=INT MODE 1, 2=INT MODE 2 -DIAGENABLE .EQU FALSE ; TRUE FOR DIAGNOSTIC CODE PORT OUTPUT +; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM +; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD +; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY +; UNDER THIS DIRECTORY. +; +; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS +; FOR THE PLATFORM. +; +#DEFINE PLATFORM_NAME "ZETA" +; +PLATFORM .EQU PLT_ZETA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126] +CPUFAM .EQU CPU_Z80 ; CPU_[Z80|Z180]: CPU FAMILY +BIOS .EQU BIOS_WBW ; BIOS_[WBW|UNA]: HARDWARE BIOS +; +BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO] IF AUTO, BOOT DEFAULT AFTER TIMEOUT +BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT +BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT +; +CPUOSC .EQU 20000000 ; CPU OSC FREQ IN MHZ +INTMODE .EQU 0 ; INTERRUPT MODE: 0=NONE, 1=MODE 1, 2=MODE 2 +DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) +MEMMGR .EQU MM_SBC ; MM_[SBC|Z2|N8|Z180]: MEMORY MANAGER +MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY) +MPCL_ROM .EQU $7C ; SBC MEM MGR ROM PAGE SELECT REG (WRITE ONLY) +; +RTC .EQU $70 ; RTC LATCH REGISTER ADR +PPIBASE .EQU $60 ; PRIMARY PARALLEL PORT REGISTERS BASE ADR +; +CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT +; +DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS ; -CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP -VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...) +DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) +; +CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP +VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI] +ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT +SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM) +; +DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) +DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] +DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) ; -DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) +UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) +UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ +UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART +UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART +UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART +UART4 .EQU FALSE ; UART: AUTO-DETECT 4UART UART ; -HTIMENABLE .EQU FALSE ; TRUE FOR SIMH TIMER SUPPORT -SIMRTCENABLE .EQU FALSE ; SIMH CLOCK DRIVER -DSRTCENABLE .EQU TRUE ; DS-1302 CLOCK DRIVER -DSRTCMODE .EQU DSRTCMODE_STD ; DSRTCMODE_STD, DSRTCMODE_MFPIC -DSRTCCHG .EQU FALSE ; DS-1302 CONFIGURE CHARGE ON (TRUE) OR OFF (FALSE) +ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) ; -ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT -UARTENABLE .EQU TRUE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) -UARTOSC .EQU 1843200 ; UART OSC FREQUENCY -UARTSBC .EQU TRUE ; ENABLE SBC/ZETA ONBOARD UART DETECTION -UARTCAS .EQU FALSE ; ENABLE ECB CASSETTE UART DETECTION -UARTMFP .EQU FALSE ; ENABLE MF/PIC UART DETECTION -UART4 .EQU FALSE ; ENABLE 4UART UART DETECTION -SIOENABLE .EQU FALSE ; TRUE FOR ZILOG SIO/2 SUPPORT -SIOMODE .EQU SIOMODE_RC ; SIOMODE_RC, SIOMODE_SMB -ACIAENABLE .EQU FALSE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT +ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) ; -VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT -CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT -NECENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT -TMSENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT -VGAENABLE .EQU FALSE ; TRUE FOR VGA VIDEO/KBD SUPPORT +SIOENABLE .EQU FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) ; -SPKENABLE .EQU FALSE ; TRUE FOR RTC LATCH IOBIT SOUND -AYENABLE .EQU FALSE ; TRUE FOR AY PSG SOUND +VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM) +CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM) +NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM) +TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) +VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM) ; -MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED) -MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE) +SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) ; -FDENABLE .EQU TRUE ; TRUE FOR FLOPPY SUPPORT -FDMODE .EQU FDMODE_ZETA ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 -FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIA .EQU FDM144 ; FDM720, FDM144, FDM360, FDM120 (ONLY RELEVANT IF FDENABLE = TRUE) -FDMEDIAALT .EQU FDM720 ; ALTERNATE MEDIA TO TRY, SAME CHOICES AS ABOVE (ONLY RELEVANT IF FDMAUTO = TRUE) -FDMAUTO .EQU TRUE ; SELECT BETWEEN MEDIA OPTS ABOVE AUTOMATICALLY +AYENABLE .EQU FALSE ; AY: ENABLE AY PSG SOUND DRIVER ; -RFENABLE .EQU FALSE ; TRUE FOR RAM FLOPPY SUPPORT +MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) +MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) ; -IDEENABLE .EQU FALSE ; TRUE FOR IDE SUPPORT +FDENABLE .EQU TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .EQU FDMODE_ZETA ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) +FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] +FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] +FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS ; -PPIDEENABLE .EQU FALSE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE) -PPIDEMODE .EQU PPIDEMODE_SBC ; PPIDEMODE_SBC, PPPIDEMODE_DIO3, PPIDEMODE_MFP, PPIDEMODE_N8, PPIDEMODE_RC -PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE) -PPIDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) +RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER ; -SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT -SDMODE .EQU SDMODE_PPI ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD -SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) -SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER +IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) ; -PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT +PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) +PPIDEMODE .EQU PPIDEMODE_SBC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) ; -PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT -PPPSDENABLE .EQU TRUE ; TRUE FOR PARPORTPROP SD SUPPORT -PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) -PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) +SDENABLE .EQU FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDMODE .EQU SDMODE_PPI ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC126] +SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE ; -HDSKENABLE .EQU FALSE ; TRUE FOR SIMH HDSK SUPPORT +PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) ; -TERMENABLE .EQU FALSE ; TERM PSEUDO DEVICE, WILL BE ENABLED IF A VDA IS ENABLED +PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) +PPPSDENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER SD CARD SUPPORT +PPPSDTRACE .EQU 1 ; PPP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPPCONENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER VIDEO/KBD SUPPORT ; -BOOTTYPE .EQU BT_MENU ; BT_MENU (WAIT FOR KEYPRESS), BT_AUTO (BOOT_DEFAULT AFTER BOOT_TIMEOUT SECS) -BOOT_TIMEOUT .EQU 20 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE -BOOT_DEFAULT .EQU 'Z' ; SELECTION TO INVOKE AT TIMEOUT +HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM) ; -PIO_4P .EQU FALSE ; TRUE FOR ECB-4PIO PIO SUPPORT -PIO_ZP .EQU FALSE ; TRUE FOR ECB-ZILOG PERIPHERALS BOARD -PPI_SBC .EQU FALSE ; TRUE FOR SBC V2 8255 (IF NOT BEING USED FOR PPIDE) +PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD +PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM) +PPI_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP ; -UFENABLE .EQU FALSE ; TRUE FOR ECB USB-FIFO SUPPORT - +UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM) diff --git a/Source/HBIOS/cfg_zeta2.asm b/Source/HBIOS/cfg_zeta2.asm index 85a063db..d8395bc5 100644 --- a/Source/HBIOS/cfg_zeta2.asm +++ b/Source/HBIOS/cfg_zeta2.asm @@ -3,11 +3,116 @@ ; ROMWBW 2.X CONFIGURATION DEFAULTS FOR ZETA V2 ;================================================================================================== ; -; BUILD CONFIGURATION OPTIONS +; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM +; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD +; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY +; UNDER THIS DIRECTORY. ; -#INCLUDE "cfg_zeta.asm" ; USE ZETA CONFIG TO START +; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS +; FOR THE PLATFORM. ; -MEMMGR .SET MM_Z2 ; MM_NONE, MM_SBC, MM_Z2, MM_N8, MM_Z180 -INTMODE .SET 2 ; 0=NONE, 1=INT MODE 1, 2=INT MODE 2 +#DEFINE PLATFORM_NAME "ZETA V2" ; -FDMODE .SET FDMODE_ZETA2 ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 +PLATFORM .EQU PLT_ZETA2 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SC126] +CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180] +BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA] +; +BOOTTYPE .EQU BT_MENU ; BT_[MENU|AUTO], IF AUTO, BOOT DEFAULT AFTER TIMEOUT +BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT +BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT +; +CPUOSC .EQU 20000000 ; CPU OSC FREQ IN MHZ +INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2 +DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM) +; +RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) +MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] +MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY) +MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY) +MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY) +MPGSEL_3 .EQU $7B ; Z2 MEM MGR BANK 3 PAGE SELECT REG (WRITE ONLY) +MPGENA .EQU $7C ; Z2 MEM MGR PAGING ENABLE REGISTER (BIT 0, WRITE ONLY) +; +RTC .EQU $70 ; RTC LATCH REGISTER ADR +PPIBASE .EQU $60 ; PRIMARY PARALLEL PORT REGISTERS BASE ADR +; +CTCENABLE .EQU TRUE ; ENABLE ZILOG CTC SUPPORT +CTCBASE .EQU $20 ; CTC BASE I/O ADDRESS +; +DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT +DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS +; +DSKYENABLE .EQU FALSE ; ENABLES DSKY (DO NOT COMBINE WITH PPIDE) +; +CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP +VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI] +ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT +SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM) +; +DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM) +DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC] +DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!) +; +UARTENABLE .EQU TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) +UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ +UARTSBC .EQU TRUE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART +UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART +UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART +UART4 .EQU FALSE ; UART: AUTO-DETECT 4UART UART +; +ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM) +; +ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM) +; +SIOENABLE .EQU FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM) +; +VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM) +CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM) +NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM) +TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM) +VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM) +; +SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM) +; +AYENABLE .EQU FALSE ; AY: ENABLE AY PSG SOUND DRIVER +; +MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM) +MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +; +FDENABLE .EQU TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM) +FDMODE .EQU FDMODE_ZETA2 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|DIDE|N8|DIO3] +FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL) +FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111] +FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111] +FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS +; +RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER +; +IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) +; +PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM) +PPIDEMODE .EQU PPIDEMODE_SBC ; PPIDE: DRIVER MODE: PPIDEMODE_[SBC|DIO3|MFP|N8|RC] +PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPIDE8BIT .EQU FALSE ; PPIDE: USE 8-BIT TRANSFERS (CF CARDS MOSTLY) +; +SDENABLE .EQU FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM) +SDMODE .EQU SDMODE_PPI ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC126] +SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE +; +PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM) +; +PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM) +PPPSDENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER SD CARD SUPPORT +PPPSDTRACE .EQU 1 ; PPP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL) +PPPCONENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER VIDEO/KBD SUPPORT +; +HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM) +; +PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD +PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM) +PPI_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP +; +UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM) diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 40611d94..d3dad664 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -44,6 +44,25 @@ ; THAT AN OS IMAGES FILE IS APPENDED TO THE END OF THE IMAGE AND IS LAUNCHED ; AFTER HBIOS IS INSTALLED. ; +; INCLUDE FILE NESTING: +; +; hbios.asm +; - std.asm +; - ver.inc +; - hbios.inc +; - build.inc +; - config/_.asm +; - cfg_.asm +; - .asm +; - util.asm +; - time.asm +; - bcd.asm +; - decode.asm +; - encode.asm +; - [xio|mio].asm +; - dsky.asm +; +; ; INCLUDE GENERIC STUFF ; #INCLUDE "std.asm" @@ -95,6 +114,15 @@ MODCNT .SET MODCNT + 1 ; ; ; +#IF (CTCENABLE) +CTCA .EQU CTCBASE + 0 ; CTC: CHANNEL A REGISTER ADR +CTCB .EQU CTCBASE + 1 ; CTC: CHANNEL B REGISTER ADR +CTCC .EQU CTCBASE + 2 ; CTC: CHANNEL C REGISTER ADR +CTCD .EQU CTCBASE + 3 ; CTC: CHANNEL D REGISTER ADR +#ENDIF +; +; +; #IFNDEF APPBOOT ; .ORG 0 @@ -1186,7 +1214,7 @@ PSCNX .EQU $ + 1 ; START OF THE IVT, SO THE FIRST FOUR ENTIRES OF THE ; IVT CORRESPOND TO CTC CHANNELS A-D LD A,0 - OUT (CTCBASE),A ; SETUP CTC BASE INT VECTOR + OUT (CTCA),A ; SETUP CTC BASE INT VECTOR ; ; CTCA IS SLAVED (WIRED) TO TO CTCB TO ACT AS A PRESCALER ; CONFIGURE CHANNEL B FOR 50HZ PERIODIC INTERRUPTS @@ -1241,9 +1269,9 @@ PSCNX .EQU $ + 1 ; START OF THE IVT, SO THE FIRST FOUR ENTIRES OF THE ; IVT CORRESPOND TO CTC CHANNELS A-D LD A,0 - OUT (CTCBASE),A ; SETUP CTC BASE INT VECTOR + OUT (CTCA),A ; SETUP CTC BASE INT VECTOR ; - ; CTCC IS SLAVED (WIRED) TO TO CTCD TO ACT AS A PRESCALER + ; CTCC IS SLAVED (WIRED) TO CTCD TO ACT AS A PRESCALER ; CONFIGURE CHANNEL D FOR 50HZ PERIODIC INTERRUPTS ; CTC CLK = 921,200HZ ; CTCC TIME CONSTANT = 256 @@ -1428,7 +1456,7 @@ HB_PCPU: ; IF PLATFORM HAS A CONFIG JUMPER, CHECK TO SEE IF IT IS JUMPERED. ; IF SO, BYPASS SWITCH TO CRT CONSOLE (FAILSAFE MODE) ; -#IF ((PLATFORM != PLT_N8) & (PLATFORM != PLT_MK4) & (PLATFORM != PLT_RCZ80) & (PLATFORM != PLT_RCZ180) & (PLATFORM != PLT_EZZ80)) +#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_ZETA) | (PLATFORM == PLT_ZETA2)) IN A,(RTC) ; RTC PORT, BIT 6 HAS STATE OF CONFIG JUMPER BIT 6,A ; BIT 6 HAS CONFIG JUMPER STATE JR Z,INITSYS3 ; Z=SHORTED, BYPASS CONSOLE SWITCH @@ -2798,9 +2826,9 @@ SIZ_PIO .EQU $ - ORG_PIO ; #IF (UFENABLE) ORG_UF .EQU $ - #INCLUDE "usbfifo.asm" + #INCLUDE "uf.asm" SIZ_UF .EQU $ - ORG_UF - .ECHO "USB-FIFO occupies " + .ECHO "UF occupies " .ECHO SIZ_UF .ECHO " bytes.\n" #ENDIF diff --git a/Source/HBIOS/ide.asm b/Source/HBIOS/ide.asm index 30c8e408..5a0ce67a 100644 --- a/Source/HBIOS/ide.asm +++ b/Source/HBIOS/ide.asm @@ -110,7 +110,8 @@ IDE_DEVCNT .EQU 2 ; ASSUME ONLY PRIMARY INTERFACE IDE_IO_BASE .EQU $20 ; DEFAULT IO BASE (NOTE OVERRIDES BELOW) ; #IF (IDEMODE == IDEMODE_MK4) -IDE_IO_BASE .SET MK4_IDE +IDE_IO_BASE .SET $80 +IDE_XAR .EQU $88 ; EXTERNAL ADDRESS REGISTER (XAR)#ENDIF #ENDIF #IF (IDEMODE == IDEMODE_RC) @@ -806,11 +807,11 @@ IDE_RESET: #IF (IDEMODE == IDEMODE_MK4) ; USE HARDWARE RESET LINE LD A,$80 ; HIGH BIT OF XAR IS IDE RESET - OUT (MK4_XAR),A + OUT (IDE_XAR),A LD DE,2 ; DELAY 32US (SPEC IS >= 25US) CALL VDELAY XOR A ; CLEAR RESET BIT - OUT (MK4_XAR),A + OUT (IDE_XAR),A #ENDIF #IF ((IDEMODE == IDEMODE_RC) | (IDEMODE == IDEMODE_SMB)) diff --git a/Source/HBIOS/plt_ezz80.inc b/Source/HBIOS/plt_ezz80.inc deleted file mode 100644 index 357fc580..00000000 --- a/Source/HBIOS/plt_ezz80.inc +++ /dev/null @@ -1,20 +0,0 @@ -; -; EASY Z80 HARDWARE DEFINITIONS -; -#DEFINE PLATFORM_NAME "EASYZ80" -; -MPGSEL_0 .EQU $78 ; BANK_0 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_1 .EQU $79 ; BANK_1 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_2 .EQU $7A ; BANK_2 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_3 .EQU $7B ; BANK_3 PAGE SELECT REGISTER (WRITE ONLY) -MPGENA .EQU $7C ; PAGING ENABLE REGISTER - BIT 0 = 1 (WRITE ONLY) -; -RTC .EQU $C0 ; RTC PORT address -; -WDOG .EQU $6F ; WATCHDOG -; -CTCBASE .EQU $88 ; CTC BASE I/O ADDRESS -CTCA .EQU CTCBASE + 0 ; CTC CHANNEL A -CTCB .EQU CTCBASE + 1 ; CTC CHANNEL B -CTCC .EQU CTCBASE + 2 ; CTC CHANNEL C -CTCD .EQU CTCBASE + 3 ; CTC CHANNEL D diff --git a/Source/HBIOS/plt_mk4.inc b/Source/HBIOS/plt_mk4.inc deleted file mode 100644 index 9c398c95..00000000 --- a/Source/HBIOS/plt_mk4.inc +++ /dev/null @@ -1,22 +0,0 @@ -; -; MARK IV HARDWARE DEFINITIONS -; -#DEFINE PLATFORM_NAME "MARK IV" -; -RAMBIAS .EQU 512 ; RAM STARTS AT 512K -; -MK4_BASE .EQU $80 ; I/O BASE ADDRESS FOR ONBOARD PERIPHERALS -; -MK4_IDE .EQU MK4_BASE + $00 ; IDE REGISTERS ($00-$07, $0E-$0F) -MK4_XAR .EQU MK4_BASE + $08 ; EXTERNAL ADDRESS REGISTER (XAR) -MK4_SD .EQU MK4_BASE + $09 ; SD CARD CONTROL REGISTER -MK4_RTC .EQU MK4_BASE + $0A ; RTC INTERFACE REGISTER -; -RTC .EQU MK4_RTC ; GENERIC ALIAS FOR RTC PORT -; -Z180_BASE .EQU $40 ; I/O BASE ADDRESS FOR INTERNAL Z180 REGISTERS -; -; -FIFO_BASE .EQU $0C ; ECB USB-FIFO DEFAULT PORT -; -#INCLUDE "z180.inc" diff --git a/Source/HBIOS/plt_n8.inc b/Source/HBIOS/plt_n8.inc deleted file mode 100644 index 18790b4c..00000000 --- a/Source/HBIOS/plt_n8.inc +++ /dev/null @@ -1,28 +0,0 @@ -; -; N8 HARDWARE DEFINITIONS -; -#DEFINE PLATFORM_NAME "N8" -; -RAMBIAS .EQU 0 ; RAM STARTS AT 0K -; -N8_BASE .EQU $80 ; I/O BASE ADDRESS FOR ONBOARD PERIPHERALS -; -N8_PPI0 .EQU N8_BASE + $00 ; FIRST PARALLEL PORT -N8_PPI1 .EQU N8_BASE + $04 ; SECOND PARALLEL PORT -N8_RTC .EQU N8_BASE + $08 ; RTC LATCH AND BUFFER -N8_FDC .EQU N8_BASE + $0C ; FLOPPY DISK CONTROLLER -N8_UTIL .EQU N8_BASE + $10 ; FLOPPY DISK UTILITY -N8_ACR .EQU N8_BASE + $14 ; AUXILLARY CONTROL REGISTER -N8_RMAP .EQU N8_BASE + $16 ; ROM PAGE REGISTER -N8_VDP .EQU N8_BASE + $18 ; VIDEO DISPLAY PROCESSOR (TMS9918A) -N8_PSG .EQU N8_BASE + $1C ; PROGRAMMABLE SOUND GENERATOR (AY-3-8910) -; -N8_DEFACR .EQU $1B ; DEFAULT VALUE FOR ACR REGISTER -; -RTC .EQU N8_RTC ; GENERIC ALIAS FOR RTC PORT -PPIBASE .EQU N8_PPI0 ; GENERIC ALIAS FOR PRIMARY PARALLEL PORT -; -FIFO_BASE .EQU $0C ; ECB USB-FIFO DEFAULT PORT -; -Z180_BASE .EQU $40 ; I/O BASE ADDRESS FOR INTERNAL Z180 REGISTERS -#INCLUDE "z180.inc" diff --git a/Source/HBIOS/plt_rcz180.inc b/Source/HBIOS/plt_rcz180.inc deleted file mode 100644 index d1f2e488..00000000 --- a/Source/HBIOS/plt_rcz180.inc +++ /dev/null @@ -1,18 +0,0 @@ -; -; RC2014 Z180 HARDWARE DEFINITIONS -; -#DEFINE PLATFORM_NAME "RC2014" -; -RAMBIAS .EQU 512 ; RAM STARTS AT 512K -; -MPGSEL_0 .EQU $78 ; BANK_0 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_1 .EQU $79 ; BANK_1 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_2 .EQU $7A ; BANK_2 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_3 .EQU $7B ; BANK_3 PAGE SELECT REGISTER (WRITE ONLY) -MPGENA .EQU $7C ; PAGING ENABLE REGISTER - BIT 0 = 1 (WRITE ONLY) -; -RTC .EQU $0C ; ADDRESS OF RTC LATCH AND INPUT PORT -; -Z180_BASE .EQU $C0 ; I/O BASE ADDRESS FOR INTERNAL Z180 REGISTERS -; -#INCLUDE "z180.inc" diff --git a/Source/HBIOS/plt_rcz80.inc b/Source/HBIOS/plt_rcz80.inc deleted file mode 100644 index 2a83a991..00000000 --- a/Source/HBIOS/plt_rcz80.inc +++ /dev/null @@ -1,12 +0,0 @@ -; -; RC2014 HARDWARE DEFINITIONS -; -#DEFINE PLATFORM_NAME "RC2014" -; -MPGSEL_0 .EQU $78 ; BANK_0 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_1 .EQU $79 ; BANK_1 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_2 .EQU $7A ; BANK_2 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_3 .EQU $7B ; BANK_3 PAGE SELECT REGISTER (WRITE ONLY) -MPGENA .EQU $7C ; PAGING ENABLE REGISTER - BIT 0 = 1 (WRITE ONLY) -; -RTC .EQU $C0 ; RTC PORT address diff --git a/Source/HBIOS/plt_sbc.inc b/Source/HBIOS/plt_sbc.inc deleted file mode 100644 index 22fb1f11..00000000 --- a/Source/HBIOS/plt_sbc.inc +++ /dev/null @@ -1,28 +0,0 @@ -; -; SBC HARDWARE DEFINITIONS -; -#DEFINE PLATFORM_NAME "SBC" -; -SBC_BASE .EQU $60 ; I/O BASE ADDRESS FOR ONBOARD PERIPHERALS -; -#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_ZETA)) -; BIT 7 OF MPCL_ROM SELECTS ROM/RAM (0=ROM, 1=RAM) -MPCL_RAM .EQU SBC_BASE + $18 ; MEMORY PAGER CONFIG LATCH - RAM (WRITE ONLY) -MPCL_ROM .EQU SBC_BASE + $1C ; MEMORY PAGER CONFIG LATCH - ROM (WRITE ONLY) -#ENDIF -; -#IF (PLATFORM == PLT_ZETA2) -MPGSEL_0 .EQU SBC_BASE + $18 ; BANK_0 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_1 .EQU SBC_BASE + $19 ; BANK_1 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_2 .EQU SBC_BASE + $1A ; BANK_2 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_3 .EQU SBC_BASE + $1B ; BANK_3 PAGE SELECT REGISTER (WRITE ONLY) -MPGENA .EQU SBC_BASE + $1C ; PAGING ENABLE REGISTER - BIT 0 = 1 (WRITE ONLY) -#ENDIF -; -RTC .EQU SBC_BASE + $10 ; ADDRESS OF RTC LATCH AND INPUT PORT -PPIBASE .EQU SBC_BASE + $00 ; PPI 82C55 I/O IS DECODED TO PORT 60-67 -PIOZBASE .EQU $88 ; ZILOG PERIPHERALS DEFAULT PIO DEFAULT -PIO4BASE .EQU $90 ; ECB-4PIO DEFAULT PIO DEFAULT -; -; -FIFO_BASE .EQU $0C ; ECB USB-FIFO DEFAULT PORT diff --git a/Source/HBIOS/plt_sc126.inc b/Source/HBIOS/plt_sc126.inc deleted file mode 100644 index 4f63903b..00000000 --- a/Source/HBIOS/plt_sc126.inc +++ /dev/null @@ -1,12 +0,0 @@ -; -; SC126 Z180 HARDWARE DEFINITIONS -; -#DEFINE PLATFORM_NAME "SC126" -; -RAMBIAS .EQU 512 ; RAM STARTS AT 512K -; -RTC .EQU $0C ; ADDRESS OF RTC LATCH AND INPUT PORT -; -Z180_BASE .EQU $C0 ; I/O BASE ADDRESS FOR INTERNAL Z180 REGISTERS -; -#INCLUDE "z180.inc" diff --git a/Source/HBIOS/plt_una.inc b/Source/HBIOS/plt_una.inc deleted file mode 100644 index 827a36ca..00000000 --- a/Source/HBIOS/plt_una.inc +++ /dev/null @@ -1,4 +0,0 @@ -; -; UNA HARDWARE DEFINITIONS -; -#DEFINE PLATFORM_NAME "UNA" \ No newline at end of file diff --git a/Source/HBIOS/plt_zeta.inc b/Source/HBIOS/plt_zeta.inc deleted file mode 100644 index 0c13a45a..00000000 --- a/Source/HBIOS/plt_zeta.inc +++ /dev/null @@ -1,14 +0,0 @@ -; -; ZETA HARDWARE DEFINITIONS -; -; -#DEFINE PLATFORM_NAME "ZETA" -; -SBC_BASE .EQU $60 ; I/O BASE ADDRESS FOR ONBOARD PERIPHERALS -; -; BIT 7 OF MPCL_ROM SELECTS ROM/RAM (0=ROM, 1=RAM) -MPCL_RAM .EQU SBC_BASE + $18 ; MEMORY PAGER CONFIG LATCH - RAM (WRITE ONLY) -MPCL_ROM .EQU SBC_BASE + $1C ; MEMORY PAGER CONFIG LATCH - ROM (WRITE ONLY) -; -RTC .EQU SBC_BASE + $10 ; ADDRESS OF RTC LATCH AND INPUT PORT -PPIBASE .EQU SBC_BASE + $00 ; PPI 82C55 I/O IS DECODED TO PORT 60-67 diff --git a/Source/HBIOS/plt_zeta2.inc b/Source/HBIOS/plt_zeta2.inc deleted file mode 100644 index f1026150..00000000 --- a/Source/HBIOS/plt_zeta2.inc +++ /dev/null @@ -1,21 +0,0 @@ -; -; ZETA 2 HARDWARE DEFINITIONS -; -#DEFINE PLATFORM_NAME "ZETA V2" -; -SBC_BASE .EQU $60 ; I/O BASE ADDRESS FOR ONBOARD PERIPHERALS -; -MPGSEL_0 .EQU SBC_BASE + $18 ; BANK_0 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_1 .EQU SBC_BASE + $19 ; BANK_1 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_2 .EQU SBC_BASE + $1A ; BANK_2 PAGE SELECT REGISTER (WRITE ONLY) -MPGSEL_3 .EQU SBC_BASE + $1B ; BANK_3 PAGE SELECT REGISTER (WRITE ONLY) -MPGENA .EQU SBC_BASE + $1C ; PAGING ENABLE REGISTER - BIT 0 = 1 (WRITE ONLY) -; -RTC .EQU SBC_BASE + $10 ; ADDRESS OF RTC LATCH AND INPUT PORT -PPIBASE .EQU SBC_BASE + $00 ; PPI 82C55 I/O IS DECODED TO PORT 60-67 -; -CTCBASE .EQU $20 ; CTC BASE I/O ADDRESS -CTCA .EQU CTCBASE + 0 ; CTC CHANNEL A -CTCB .EQU CTCBASE + 1 ; CTC CHANNEL B -CTCC .EQU CTCBASE + 2 ; CTC CHANNEL C -CTCD .EQU CTCBASE + 3 ; CTC CHANNEL D diff --git a/Source/HBIOS/sd.asm b/Source/HBIOS/sd.asm index 26a69365..093b801d 100644 --- a/Source/HBIOS/sd.asm +++ b/Source/HBIOS/sd.asm @@ -187,7 +187,7 @@ SD_DO .EQU %00000001 ; RTC:0 IS DATA OUT (CARD -> CPU) ; #IF (SDMODE == SDMODE_MK4) ; MARK IV (CSIO STYLE INTERFACE) SD_DEVCNT .EQU 1 ; NUMBER OF PHYSICAL UNITS (SOCKETS) -SD_OPRREG .EQU MK4_SD ; DEDICATED MK4 SDCARD REGISTER +SD_OPRREG .EQU $89 ; DEDICATED MK4 SDCARD REGISTER SD_OPRDEF .EQU %00000000 ; QUIESCENT STATE SD_CS .EQU %00000100 ; SELECT ACTIVE SD_CNTR .EQU Z180_CNTR diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index 6665ab36..a7c3d48c 100644 --- a/Source/HBIOS/std.asm +++ b/Source/HBIOS/std.asm @@ -1,25 +1,18 @@ ; The purpose of this file is to define generic symbols and to include -; The purpose of this file is to define generic symbols and to include -; the appropriate std-*.inc file to bring in platform specifics. +; the requested build configuraton file to bring in platform specifics. -; There are several classes of systems supported by SBC. -; 1. SBC Z80 SBC (v1 or v2) w/ ECB interface -; 2. ZETA Standalone Z80 SBC w/ SBC compatibility -; 3. ZETA2 Second version of ZETA with enhanced memory bank switching -; 4. N8 MSX-compatible Z180 SBC w/ onboard video and sound -; 5. MK4 Mark IV Z180 based SBC w/ ECB interface -; 6. UNA Any Z80/Z180 computer with UNA BIOS -; 7. RCZ80 RC2014 based system with 512K banked RAM/ROM card -; 8. RCZ180 RC2014 based system with Z180 CPU -; 9. EZZ80 Easy Z80, Z80 SBC w/ RC2014 bus and CTC +; There are several hardware platforms supported by SBC. +; 1. SBC Z80 SBC (v1 or v2) w/ ECB interface +; 2. ZETA Standalone Z80 SBC w/ SBC compatibility +; 3. ZETA2 Second version of ZETA with enhanced memory bank switching +; 4. N8 MSX-ish Z180 SBC w/ onboard video and sound +; 5. MK4 Mark IV Z180 based SBC w/ ECB interface +; 6. UNA Any Z80/Z180 computer with UNA BIOS +; 7. RCZ80 RC2014 based system with 512K banked RAM/ROM card +; 8. RCZ180 RC2014 based system with Z180 CPU +; 9. EZZ80 Easy Z80, Z80 SBC w/ RC2014 bus and CTC ; 10. SC126 SC126 Z180 based system -; All the classes require certain generic definitions, and these are -; defined here prior to the inclusion of platform specific .inc files. - -; It is unfortunate, but all the possible config items must be defined -; here because the config gets read before the specific std-*.inc's - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; INCLUDE VERSION @@ -106,11 +99,6 @@ DSRTCMODE_NONE .EQU 0 ; NO DSRTC DSRTCMODE_STD .EQU 1 ; ORIGINAL DSRTC CIRCUIT (SBC, ZETA, MK4) DSRTCMODE_MFPIC .EQU 2 ; MF/PIC VARIANT ; -; ACIA MODE SELECTIONS -; -ACIAMODE_NONE .EQU 0 -ACIAMODE_RC .EQU 1 ; RC2014 ACIA MODULE (SPENCER OWEN) -; ; SIO MODE SELECTIONS ; SIOMODE_NONE .EQU 0 @@ -271,6 +259,11 @@ SER_1843200_8N1 .EQU SER_BAUD1843200 | SER_DATA8 | SER_PARNONE | SER_STOP1 SER_3686400_8N1 .EQU SER_BAUD3686400 | SER_DATA8 | SER_PARNONE | SER_STOP1 SER_7372800_8N1 .EQU SER_BAUD7372800 | SER_DATA8 | SER_PARNONE | SER_STOP1 ; +; TERMENABLE CONTROLS INCLUSION OF TERMINAL PSEUDO-DEVICE DRIVER +; IT IS SET TO TRUE BY THE INCLUSION OF ANY VDA DRIVER. +; +TERMENABLE .EQU FALSE ; TERM PSEUDO DEVICE, WILL AUTO-ENABLE IF A VDA IS ENABLED +; ; ECB-VDU MODES ; V80X24 .EQU 0 @@ -291,73 +284,29 @@ KBD_DE .EQU 1 ; GERMAN ; FORCECON .EQU 0 ; DEFAULT IS TO FOLLOW NORMAL SEQUENCE ; -#INCLUDE "build.inc" ; INCLUDE USER CONFIG, ADD VARIANT, TIMESTAMP, & ROMSIZE +#INCLUDE "build.inc" ; INCLUDE USER CONFIG, ADD VARIANT, TIMESTAMP, & ROMSIZE ; -#IF ((PLATFORM == PLT_N8) | (PLATFORM == PLT_MK4) | (PLATFORM == PLT_RCZ180) | (PLATFORM == PLT_SC126)) -CPUFAM .EQU CPU_Z180 -#ELSE -CPUFAM .EQU CPU_Z80 -#ENDIF -; -#IF (PLATFORM == PLT_UNA) -BIOS .EQU BIOS_UNA -#ELSE -BIOS .EQU BIOS_WBW -#ENDIF -; -; INCLUDE PLATFORM SPECIFIC HARDWARE DEFINITIONS -; -#IF (PLATFORM == PLT_SBC) -#INCLUDE "plt_sbc.inc" -#ENDIF -; -#IF (PLATFORM == PLT_ZETA) -#INCLUDE "plt_zeta.inc" -#ENDIF -; -#IF (PLATFORM == PLT_ZETA2) -#INCLUDE "plt_zeta2.inc" -#ENDIF -; -#IF (PLATFORM == PLT_N8) -#INCLUDE "plt_n8.inc" -#ENDIF +; INCLUDE Z180 REGISTER DEFINITIONS ; -#IF (PLATFORM == PLT_MK4) -#INCLUDE "plt_mk4.inc" -#ENDIF -; -#IF (PLATFORM == PLT_UNA) -#INCLUDE "plt_una.inc" -#ENDIF -; -#IF (PLATFORM == PLT_RCZ80) -#INCLUDE "plt_rcz80.inc" -#ENDIF -; -#IF (PLATFORM == PLT_RCZ180) -#INCLUDE "plt_rcz180.inc" -#ENDIF -; -#IF (PLATFORM == PLT_EZZ80) -#INCLUDE "plt_ezz80.inc" -#ENDIF -; -#IF (PLATFORM == PLT_SC126) -#INCLUDE "plt_sc126.inc" +#IF (BIOS == BIOS_WBW) + #IF (CPUFAM == CPU_Z180) + #INCLUDE "z180.inc" + #ENDIF #ENDIF ; ; SETUP DEFAULT CPU SPEED VALUES ; CPUKHZ .EQU CPUOSC / 1000 ; CPU FREQ IN KHZ ; -#IF (CPUFAM == CPU_Z180) -#IF (Z180_CLKDIV == 0) +#IF (BIOS == BIOS_WBW) + #IF (CPUFAM == CPU_Z180) + #IF (Z180_CLKDIV == 0) CPUKHZ .SET CPUKHZ / 2 ; ADJUST FOR HALF SPEED OPERATION -#ENDIF -#IF (Z180_CLKDIV == 2) + #ENDIF + #IF (Z180_CLKDIV == 2) CPUKHZ .SET CPUKHZ * 2 ; ADJUST FOR DOUBLE SPEED OPERATION -#ENDIF + #ENDIF + #ENDIF #ENDIF ; CPUMHZ .EQU CPUKHZ / 1000 ; CPU FREQ IN MHZ @@ -472,10 +421,10 @@ INT_SIO1 .EQU 14 ; ZILOG SIO 1, CHANNEL A & B ; Z80-BASED SYSTEMS -INT_CTC0A .EQU 0 ; ZILOG CTC #0, CHANNEL A -INT_CTC0B .EQU 1 ; ZILOG CTC #0, CHANNEL B -INT_CTC0C .EQU 2 ; ZILOG CTC #0, CHANNEL C -INT_CTC0D .EQU 3 ; ZILOG CTC #0, CHANNEL D +INT_CTC0A .EQU 0 ; ZILOG CTC 0, CHANNEL A +INT_CTC0B .EQU 1 ; ZILOG CTC 0, CHANNEL B +INT_CTC0C .EQU 2 ; ZILOG CTC 0, CHANNEL C +INT_CTC0D .EQU 3 ; ZILOG CTC 0, CHANNEL D INT_SIO0 .EQU 7 ; ZILOG SIO 0, CHANNEL A & B INT_SIO1 .EQU 8 ; ZILOG SIO 1, CHANNEL A & B INT_PIO0A .EQU 9 ; ZILOG PIO 0, CHANNEL A diff --git a/Source/HBIOS/tms.asm b/Source/HBIOS/tms.asm index 9b494150..ff9e0beb 100644 --- a/Source/HBIOS/tms.asm +++ b/Source/HBIOS/tms.asm @@ -16,13 +16,13 @@ ; #IF (TMSMODE == TMSMODE_N8) -TMS_DATREG .EQU N8_BASE + $18 ; READ/WRITE DATA -TMS_CMDREG .EQU N8_BASE + $19 ; READ STATUS / WRITE REG SEL +TMS_DATREG .EQU $98 ; READ/WRITE DATA +TMS_CMDREG .EQU $99 ; READ STATUS / WRITE REG SEL -TMS_PPIA .EQU N8_BASE + $04 ; PPI PORT A -TMS_PPIB .EQU N8_BASE + $05 ; PPI PORT B -TMS_PPIC .EQU N8_BASE + $06 ; PPI PORT C -TMS_PPIX .EQU N8_BASE + $07 ; PPI CONTROL PORT +TMS_PPIA .EQU $84 ; PPI PORT A +TMS_PPIB .EQU $85 ; PPI PORT B +TMS_PPIC .EQU $86 ; PPI PORT C +TMS_PPIX .EQU $87 ; PPI CONTROL PORT #ENDIF diff --git a/Source/HBIOS/usbfifo.asm b/Source/HBIOS/uf.asm similarity index 91% rename from Source/HBIOS/usbfifo.asm rename to Source/HBIOS/uf.asm index cf96aa68..e12969b5 100644 --- a/Source/HBIOS/usbfifo.asm +++ b/Source/HBIOS/uf.asm @@ -13,9 +13,9 @@ ; UF_PREINIT SETUP THE DISPATCH TABLE ENTRY AND INITIALIZE HARDWARE ; UF_INIT ANNOUNCE DEVICE DESCRIPTION AND PORT ; -FIFO_DATA .EQU (FIFO_BASE+0) ; READ/WRITE DATA -FIFO_STATUS .EQU (FIFO_BASE+1) ; READ/WRITE STATUS -FIFO_SEND_IMM .EQU (FIFO_BASE+2) ; WRITE PORT TO FORCE BUFFER FLUSH +FIFO_DATA .EQU (UFBASE+0) ; READ/WRITE DATA +FIFO_STATUS .EQU (UFBASE+1) ; READ/WRITE STATUS +FIFO_SEND_IMM .EQU (UFBASE+2) ; WRITE PORT TO FORCE BUFFER FLUSH FIFO_BUFFER .EQU FALSE ; OPTION TO BUFFER OUTPUT FOR 17ms ; UF_USB_ACTIVE .DB 0 ; USB CABLE CONNECTED STATUS FLAG @@ -58,7 +58,7 @@ UF_INIT: CALL NEWLINE ; PRINT DEVICE PRTS("USB-FIFO: $") PRTS("IO=0x$") - LD A,FIFO_BASE ; PRINT PORT + LD A,UFBASE ; PRINT PORT CALL PRTHEXBYTE LD A,(UF_USB_ACTIVE) ; PRINT CABLE STATUS OR A diff --git a/Source/HBIOS/ver.inc b/Source/HBIOS/ver.inc index 1b7b0393..cbc2e447 100644 --- a/Source/HBIOS/ver.inc +++ b/Source/HBIOS/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 9 #DEFINE RUP 2 #DEFINE RTP 0 -#DEFINE BIOSVER "2.9.2-pre.4" +#DEFINE BIOSVER "2.9.2-pre.5" diff --git a/Source/Images/BuildHD.ps1 b/Source/Images/BuildHD.ps1 index 932753ee..bff4d9a0 100644 --- a/Source/Images/BuildHD.ps1 +++ b/Source/Images/BuildHD.ps1 @@ -10,7 +10,8 @@ $Blank = ([byte[]](0xE5) * (128KB * 65)) if (!(Test-Path('Blank.tmp'))) {Set-Content -Value $Blank -Encoding byte -Path 'Blank.tmp'} "Creating hard disk images..." -for ($Dsk=0; $Dsk -lt 2; $Dsk++) +#for ($Dsk=0; $Dsk -lt 2; $Dsk++) +foreach ($Dsk in @("hd0","hd1","hd_cpm3")) { "Generating Hard Disk ${Dsk}..." for ($Slice=0; $Slice -lt 4; $Slice++) @@ -19,17 +20,17 @@ for ($Dsk=0; $Dsk -lt 2; $Dsk++) copy Blank.tmp slice${Slice}.tmp for ($Usr=0; $Usr -lt 16; $Usr++) { - if (Test-Path ("hd${Dsk}/s${Slice}/u${Usr}/*")) + if (Test-Path ("${Dsk}/s${Slice}/u${Usr}/*")) { - $Cmd = "cpmcp -f wbw_hd0 slice${Slice}.tmp hd${Dsk}/s${Slice}/u${Usr}/*.* ${Usr}:" + $Cmd = "cpmcp -f wbw_hd0 slice${Slice}.tmp ${Dsk}/s${Slice}/u${Usr}/*.* ${Usr}:" $Cmd Invoke-Expression $Cmd } } } - "Combining slices into final disk image hd${Dsk}..." - &$env:COMSPEC /c copy /b slice*.tmp ..\..\Binary\hd${Dsk}.img + "Combining slices into final disk image ${Dsk}..." + &$env:COMSPEC /c copy /b slice*.tmp ..\..\Binary\${Dsk}.img Remove-Item slice*.tmp } diff --git a/Source/Images/hd_cpm3/s0/u0/BDOS3.SPR b/Source/Images/hd_cpm3/s0/u0/BDOS3.SPR new file mode 100644 index 00000000..728fe2af Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/BDOS3.SPR differ diff --git a/Source/Images/hd_cpm3/s0/u0/BNKBDOS3.SPR b/Source/Images/hd_cpm3/s0/u0/BNKBDOS3.SPR new file mode 100644 index 00000000..97c8aee4 Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/BNKBDOS3.SPR differ diff --git a/Source/Images/hd_cpm3/s0/u0/CCP.COM b/Source/Images/hd_cpm3/s0/u0/CCP.COM new file mode 100644 index 00000000..3934d840 Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/CCP.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/COPYSYS.COM b/Source/Images/hd_cpm3/s0/u0/COPYSYS.COM new file mode 100644 index 00000000..e7e9570b Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/COPYSYS.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/CPMLDR.REL b/Source/Images/hd_cpm3/s0/u0/CPMLDR.REL new file mode 100644 index 00000000..c41d8cfc Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/CPMLDR.REL differ diff --git a/Source/Images/hd_cpm3/s0/u0/DATE.COM b/Source/Images/hd_cpm3/s0/u0/DATE.COM new file mode 100644 index 00000000..67a84b2d Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/DATE.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/DEVICE.COM b/Source/Images/hd_cpm3/s0/u0/DEVICE.COM new file mode 100644 index 00000000..78075a3f Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/DEVICE.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/DIR.COM b/Source/Images/hd_cpm3/s0/u0/DIR.COM new file mode 100644 index 00000000..16ead13b Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/DIR.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/DUMP.COM b/Source/Images/hd_cpm3/s0/u0/DUMP.COM new file mode 100644 index 00000000..97c10c03 Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/DUMP.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/ED.COM b/Source/Images/hd_cpm3/s0/u0/ED.COM new file mode 100644 index 00000000..203eafd7 Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/ED.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/ERASE.COM b/Source/Images/hd_cpm3/s0/u0/ERASE.COM new file mode 100644 index 00000000..cdc3ea60 Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/ERASE.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/GENCOM.COM b/Source/Images/hd_cpm3/s0/u0/GENCOM.COM new file mode 100644 index 00000000..d0816425 Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/GENCOM.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/GENCPM.COM b/Source/Images/hd_cpm3/s0/u0/GENCPM.COM new file mode 100644 index 00000000..d9d67499 Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/GENCPM.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/GET.COM b/Source/Images/hd_cpm3/s0/u0/GET.COM new file mode 100644 index 00000000..7f12456e Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/GET.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/HELP.COM b/Source/Images/hd_cpm3/s0/u0/HELP.COM new file mode 100644 index 00000000..378cf03b Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/HELP.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/HELP.HLP b/Source/Images/hd_cpm3/s0/u0/HELP.HLP new file mode 100644 index 00000000..428c767a Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/HELP.HLP differ diff --git a/Source/Images/hd_cpm3/s0/u0/HEXCOM.CPM b/Source/Images/hd_cpm3/s0/u0/HEXCOM.CPM new file mode 100644 index 00000000..9fdc1292 Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/HEXCOM.CPM differ diff --git a/Source/Images/hd_cpm3/s0/u0/PATCH.COM b/Source/Images/hd_cpm3/s0/u0/PATCH.COM new file mode 100644 index 00000000..548b266e Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/PATCH.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/PIP.COM b/Source/Images/hd_cpm3/s0/u0/PIP.COM new file mode 100644 index 00000000..e1321a2a Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/PIP.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/PUT.COM b/Source/Images/hd_cpm3/s0/u0/PUT.COM new file mode 100644 index 00000000..c9d35243 Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/PUT.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/R.COM b/Source/Images/hd_cpm3/s0/u0/R.COM new file mode 100644 index 00000000..fecaa4ac Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/R.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/README.1ST b/Source/Images/hd_cpm3/s0/u0/README.1ST new file mode 100644 index 00000000..1277e897 --- /dev/null +++ b/Source/Images/hd_cpm3/s0/u0/README.1ST @@ -0,0 +1,39 @@ +CP/M 3 +====== + + This archive contains an almost complete build of CP/M 3. + + If you have the source distribution, the file MAKING.DOC explains how to +set up the build environment on your computer. + +Differences from Digital Research CP/M 3 +======================================== + + All the CP/M 3 patches described in the document CPM3FIX.PAT have been +applied to the source code, except those to INITDIR. Patches 1-18 (except +nos. 5 and 9) were applied. + + CP/M 3 is now fully Year 2000 compliant. This affects the programs +DATE.COM, DIR.COM and SHOW.COM. + + Dates can be displayed in US, UK or Year-Month-Day format. This is set by +SETDEF: + + SETDEF [US] + SETDEF [UK] + SETDEF [YMD] respectively. + + The CCP has a further bug fix: A command sequence such as: + + C1 + :C2 + :C3 + + will now not execute the command C3 if the command C1 failed. + +What's missing? +=============== +INITDIR.COM - because it is written in PL/I and I can't make the + PL/I compiler at compile it. + Apparently a more recent version of the compiler is + required. \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s0/u0/RENAME.COM b/Source/Images/hd_cpm3/s0/u0/RENAME.COM new file mode 100644 index 00000000..8582175f Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/RENAME.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/RESBDOS3.SPR b/Source/Images/hd_cpm3/s0/u0/RESBDOS3.SPR new file mode 100644 index 00000000..a5f21969 Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/RESBDOS3.SPR differ diff --git a/Source/Images/hd_cpm3/s0/u0/SAVE.COM b/Source/Images/hd_cpm3/s0/u0/SAVE.COM new file mode 100644 index 00000000..03ceb989 Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/SAVE.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/SET.COM b/Source/Images/hd_cpm3/s0/u0/SET.COM new file mode 100644 index 00000000..e4c374dc Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/SET.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/SETDEF.COM b/Source/Images/hd_cpm3/s0/u0/SETDEF.COM new file mode 100644 index 00000000..005ac7ad Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/SETDEF.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/SHOW.COM b/Source/Images/hd_cpm3/s0/u0/SHOW.COM new file mode 100644 index 00000000..5f2458ec Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/SHOW.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/SUBMIT.COM b/Source/Images/hd_cpm3/s0/u0/SUBMIT.COM new file mode 100644 index 00000000..e0473c7c Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/SUBMIT.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/TYPE.COM b/Source/Images/hd_cpm3/s0/u0/TYPE.COM new file mode 100644 index 00000000..17e695f2 Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/TYPE.COM differ diff --git a/Source/Images/hd_cpm3/s0/u0/W.COM b/Source/Images/hd_cpm3/s0/u0/W.COM new file mode 100644 index 00000000..2e5ab12a Binary files /dev/null and b/Source/Images/hd_cpm3/s0/u0/W.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/ANAGRAM.COM b/Source/Images/hd_cpm3/s1/u0/ANAGRAM.COM new file mode 100644 index 00000000..0579d843 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/ANAGRAM.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/CHAPTER1.DOC b/Source/Images/hd_cpm3/s1/u0/CHAPTER1.DOC new file mode 100644 index 00000000..75464337 --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/CHAPTER1.DOC @@ -0,0 +1,2 @@ +Thió ió chapteò 1. + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/CHAPTER2.DOC b/Source/Images/hd_cpm3/s1/u0/CHAPTER2.DOC new file mode 100644 index 00000000..883bf158 --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/CHAPTER2.DOC @@ -0,0 +1,2 @@ +Thió ió chapteò 2. + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/CHAPTER3.DOC b/Source/Images/hd_cpm3/s1/u0/CHAPTER3.DOC new file mode 100644 index 00000000..e65f09cc --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/CHAPTER3.DOC @@ -0,0 +1,2 @@ +Thió ió chapteò 3. + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/DIARY.DOC b/Source/Images/hd_cpm3/s1/u0/DIARY.DOC new file mode 100644 index 00000000..cb3e9cb7 --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/DIARY.DOC @@ -0,0 +1,74 @@ + Trið Diary + +Septembeò 10 + +Whaô  á wonderfuì citù Londoî is¡ We'vå beeî herå twï  dayó  anä +havå  beeî  literallù runninç froí onå touò  tï  another®   We'rå +prettù  exhausted¬ anä looë ferwarä tï explorinç á fe÷ sightó  oî +ouò own. + +Thió  morninç wå tooë á touò thaô begaî aô Trafalgaò Square®   Wå +tooë  thå  undergrounä (theiò worä foò subway©  froí  ouò  hotel® +We'vå  founä  thå  Londoî undergrounä tï bå á greaô  waù  tï  geô +arounä  anä  lesó  costlù thaî taxis® Wå haä  á  whirlwinä  touò +seeinç  Parliament¬  thå Toweò oæ London¬ Toweò Bridge¬  anä  thå +changinç  oæ thå guarä aô thå palace® Mosô impressivå  werå  thå +crowî jeweló iî thå Toweò oæ London. + +Wå  havå beiî tourinç sï mucè thaô thió afternoon¬ wå decideä  tï +dï  á  littlå  shopping®   Wå wenô tï onå  oæ  thå  worlä  famouó +departmenô  stores® Thå enormitù oæ thå placå waó  overwhelming® +Wå founä wå werå morå comfortablå shoppinç inthå smalleò shops® É +boughô á wooì scaræ anä á teá set. + +Hydå Parë ió walkinç distancå froí ouò hotel® Sï aô thå enä oæ á +hectiã day¬ wå decideä á strolì througè thå parë waó jusô whaô wå +needed®   Wå endeä uð sittinç oî á parë bencè foò abouô aî  hour® +Thå peoplå-watchinç waó fun® Alì thå classiã Englisè  characteró +passeä  beforå uó ­­ meî iî derbù ható anä piî  stripes¬  nannieó +pushinç babù carriages¬ anä bobbieó amonç them. + +Ouò  morninç  touò  guidå saiä nï visiô  tï  Londoî  ió  completå +withouô  teá  aô thå Ritú Hotel® Sï froí Hydå Park wå  walkeä  á +shorô distancå uð Picadillù anä haä á mosô memorablå testime® Iô +waó  reallù á smalì meal¬ witè hoô disheó beinç offereä witè  thå +usuaì farå oæ scones¬ cookies¬ anä cakes. + +Afteò sufficientlù stuffinç ourselveó aô teatime¬ wå walkeä á biô +more® Buô thå Londoî rusè houò goô tï uó sï wå decideä tï taëe iî +á moviå ratheò thaî trù tï geô bacë tï thå hotel® Somehow¬  I'vå +gotteî enougè energù tï writå thió entrù iî mù trið diary®   I'vå +haä á trulù wonderfuì daù® É lovå thió city. + +Septembeò 12 + +I'vå  goô tï catcè uð oî twï dayó oæ diarù entries® Wå  wenô  tï +thå theateò lasô night¬ anä goô bacë tï thå hoteì toï latå tï  dï +anù writing. + +Yesterday¬  wå tooë á breaë froí organizeä tours¬ anä decideä  tï +visiô  severaì  Londoî siteó oî ouò own® Iî thå morninç  wå  wenô  tï +Westminsteò  Abbey® Wå boughô á guidebooë anä tooë  á  leisurelù +touò oæ thå church® + +Iî thå afternoon¬ wå visiteä thå Britisè Museum® Thå placå ió sï +hugå  thaô iô ió impossiblå tï eveî thinë oæ coverinç iô  alì  iî Šonå afternoon® Buô wå tooë á quicë touò anä sa÷ thå Magná Carta¬ +thå Rosettá Stone¬ anä á hugå collectioî oæ originaì  manuscriptó +anä  musicaì scoreó ­­ Bach¬ Handel¬ Beethoven¬  Keats¬  Shelley¬ +Dickenó, anä manù more. + +Today¬  wå lefô Londoî anä tooë á daù touò tï Stratforä-oî-Avon¬  thå +birthplacå  oæ Williaí Shakespeare® Wå wenô bù buó witè á  largå +grouð  buô thå touò guidå waó sï welì informeä thaô iô  waó  welì +wortè  it® Wå covereä á loô iî onå daù anä eveî tooë timå foò  á +leisurelù luncè aô á locaì hotel. + +Stratforä-oî-Avoî   ió  á  picturesquå  littlå  towî  anä   stilì +maintainó  itó  Elizabethaî  flavor®   Mosô  buildingó  arå   thå +originaló  anä havå beeî verù welì preserved® Wå enjoyeä  seeinç +alì thå siteó relateä tï Shakespeare'ó life. + +Tomorro÷ ió ouò lasô daù iî London® We'lì havå tï makå thå  mosô +oæ it! + + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/DICTSORT.COM b/Source/Images/hd_cpm3/s1/u0/DICTSORT.COM new file mode 100644 index 00000000..04c821b4 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/DICTSORT.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/FIND.COM b/Source/Images/hd_cpm3/s1/u0/FIND.COM new file mode 100644 index 00000000..e036680b Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/FIND.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/HOMONYMS.TXT b/Source/Images/hd_cpm3/s1/u0/HOMONYMS.TXT new file mode 100644 index 00000000..df51bf2d Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/HOMONYMS.TXT differ diff --git a/Source/Images/hd_cpm3/s1/u0/HYEXCEPT.TXT b/Source/Images/hd_cpm3/s1/u0/HYEXCEPT.TXT new file mode 100644 index 00000000..559ff865 --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/HYEXCEPT.TXT @@ -0,0 +1,358 @@ +CON-TROL-LABLE +EQ-UABLE +IN-SA-TIABLE +NE-GO-TIABLE +SO-CIABLE +TURN-TABLE +UN-CON-TROLLABLE +UN-SO-CIABLE + +DE-PEND-ENT +IN-DE-PEND-ENT + +ANY-THING +BAL-DING +DAR-LING +DUMP-LING +ERR-ING +EVE-NING +EVERY-THING +FAR-THING +FOUND-LING +INK-LING +MAIN-SPRING +NEST-LING +OFF-SPRING +PLAY-THING +SAP-LING +SHOE-STRING +SIB-LING +SOME-THING +STAR-LING +STER-LING +UN-ERR-ING +UP-SWING +WEAK-LING +YEAR-LING + +CIV-I-LIZE +CRYS-TAL-LIZE +IM-MO-BI-LIZE +ME-TA-BO-LIZE +MO-BI-LIZE +MO-NOP-O-LIZE +STA-BI-LI*ZE +TAN-TA-LIZE +UN-CIV-I-LIZED + +PAL-ATE +IN-CLEM-ENT +BAR-ON-ESS +LI-ON-ESS +EU-LOGY +PED-A-GOGY +LUS-CIOUS +AT-MOS-PHERE +MET-AL +NON-METAL +PET-AL +POST-AL +RENT-AL +CAT-ION +COM-BAT-IVE +STAT-URE +BECK-ON +BES-TIAL +COM-A-TOSE +COME-BACK +CO-ME-DIAN +COMP-TROLLER +CONE-FLOWER +CO-NUN-DRUM +EQUIPPED +HANDLE-BAR +INCH-WORM +INK-BLOT +INN-KEEPER +IN-TE-RIOR +MIN-IS-TER +MIN-IS-TRY +NONE-THE-LESS +QUA-DRILLE +SOM-ER-SAULT +SU-PE-RIOR +U-NA-NIM-ITY +U-NAN-I-MOUS +UNC-TUOUS +DEBT-OR +AC-KNOW-LEDGE +DE-DUCT-I*BLE +EX-ACT-I-TUDE +IN-EX-ACT-I-TUDE +PRE-DICT-*ABLE +RE-SPECT-*ABLE +UN-PRE-DICT-ABLE +VICT-UAL +NEEDLE-WORK +IDLER +BUFF-ER +OFF-BEAT +OFF-HAND +OFF-PRINT +OFF-SHOOT +OFF-SHORE +STIFF-EN +LEFT-IST +LEFT-OVER +LIFT-OFF +SOFT-HEARTED +EGG-SHELL +EGG-PLANT +EGG-NOG +EGG-HEAD +COGNAC +FOR-EIGN-ER +VIGNETTE +HOGS-HEAD +CHILD-ISH +ELD-EST +GOLD-EN +HOLD-OUT +HOLD-OVER +HOLD-UP +SELF-ISH +BULL-ISH +CREST-FALLEN +DIS-TILL-*E*RY +FALL-OUT +LULL-ABY +ROLL-AWAY +SELL-OUT +WALL-EYE +PSALM-IST +ELSE-WHERE +FALSE-HOOD +CON-SULT-ANT +VOLT-AGE +RE-SOLV-ABLE +RE-VOLV-ER +SOLV-ABLE +UN-SOLV-ABLE +BEACH-COMBER +BOMB-ER +CLIMB-ER +PLUMB-ER +DAMP-EN +DAMP-EST +CLINCH-ER +LAUNCH-ER +LUNCH-EON +RANCH-ER +TRENCH-ANT +AN-NOUNCER +BOUNCER +FENCER +HENCE-FORTH +MINCE-MEAT +SI-LENCER +BIND-ERY +BOUND-ARY +COM-MEND-*A-*T*ORY +DE-PEND-ABLE +EX-PEND-ABLE +FIEND-ISH +LAND-OWNER +OUT-LAND-ISH +ROUND-ABOUT +SEND-OFF +STAND-OUT +UN-DER-STAND-ABLE +CHANGE-OVER +HANG-OUT +HANG-OVER +HA-RANGUE +ME-RINGUE +ORANGE-ADE +TONGUE +VENGE-ANCE +SENSE-LESS +AC-COUNT-ANT +ANT-ACID +ANT-EATER +COUNT-ESS +PER-CENT-*AGE +REP-RE-SENTATIVE +ANT-HILL +PENT-HOUSE +AC-CEPT-ABLE +AC-CEPTOR +ADAPT-ABLE +ADAPT-ER +CRYPT-ANALYSIS +IN-TER-RU*P*T-*I*BLE +AN-TIQ-UI*TY +INEQ-UITY +INIQ-UITY +LIQ-UEFY +LIQ-UID +LIQ-UI-D*A*T*E +LIQ-UI-D*A-*T*ION +LIQ-UOR +PRE-REQ-UI-SITE +REQ-UI-SI-TION +SUB-SEQUENCE +U-BIQ-UI-TOUS +AB-SORB-ENT +CARB-ON +HERBAL +IM-PERT-TURB-ABLE +ARCH-ERY +ARCH-AN-GEL +RE-SEARCH-ER +UN-SEARCH-ABLE +AC-CORD-ANCE +BOARD-ER +CHORDAL +HARD-EN +HARD-EST +HAZ-ARD-OUS +JEOP-ARD-IZE +RE-CORDER +STAND-ARD-IZE +STEW-ARD-ESS +YARD-AGE +SURF-ER +MORGUE +CURL-I-CUE +AF-FIRM-*A*T*IVE +CON-FORM-*ITY +DE-FORM-ITY +IN-FORM-A*NT +NON-CON-FORM-IST +CAV-ERN-OUS +DIS-CERN-IBLE +MOD-ERN-IZE +TURN-ABOUT +TURN-OVER +UN-GOV-ERN-ABLE +WEST-ERN-IZE +HARP-IST +SHARPEN +TORQUE +COARS-EN +IR-RE-VERS-IBLE +NURSE-MAID +NURS-ERY +RE-HEARS-AL +RE-VERS-IBLE +WORS-EN +ART-IST +CON-VERT-IBLE +COURT-YARD +FORE-SHORT-EN +HEART-ACHE +HEART-ILY +SHORT-EN +APART-HEID +COURT-HOUSE +EARTH-EN-WARE +NORTH-EAST +NORTH-ERN +PORT-HOLE +NERV-OUS +OB-SERV-A*BLE +OB-SERVER +PRE-SERV-*A*T*I*VE +SERV-ER + +SERV-ICE-ABLE +PRE-SCHOOL +CON-DE-SCEND +CRE-SCENDO +DE-CRE-SCENDO +DE-SCEND-ENT +DE-SCENT +PLEB-I-SCITE +RE-SCIND +SEA-SCAPE +ASKANCE +SNAKE-SKIN +WHISK-ER +COLE-SLAW +RATTLE-SNAKE +CLASS-IFY +CLASS-ROOM +CROSS-OVER +DIS-MISS-*AL +EX-PRESS-*I*BLE +IM-PASS-ABLE +LESS-EN +PASS-ABLE +TOSS-UP +UN-CLASS-I-FIED +AR-MI-STICE +ASTIG-MA-TISM +ASTIR +ASTONISH-MENT +BLAST-OFF +BY-STAND-ER +CANDLE-STICK +CAST-AWAY +CAST-OFF +CON-TEST-ANT +CO-STAR +DE-TEST-ABLE +DI-GEST-IBLE +EAST-ERN +EX-IST-ENCE +FORE-STALL +IN-CON-TEST-ABLE +IN-DI-GES*T-*I*BLE +IN-EX-HAUST-IBLE +LIFE-STYLE +LIME-STONE +LIVE-STOCK +MILE-STONE +NON-EX-IST-ENT +PER-SIST-ENT +PHO-TO-STAT +RE-START-ED +RE-STATE-MENT +RE-STORE +SHY-STER +SIDE-STEP +SMOKE-STACK +SUG-GEST-*I*BLE +THERMO-STAT +WASTE-BAS-KET +WASTE-LAND +MAST-HEAD +POST-HU-MOUS +PRIEST-HOOD +SIDE-SWIPE +WATT-METER +BE-TWEEN +KIB-ITZER +BUZZ-ER +AL-GO-RITHM +BIB-LI-OG-RAPHY +BI-NO-MIAL +CEN-TER +COM-PUT-A*BIL-ITY +DEC-LA-RA-TION +DE-GREE +ES-TAB-LISH +GEN-ER-ATOR +HAP-HAZARD +NEG-LI-GIBLE +PE-RI-ODIC +POLY-NO-MIAL +PRE-VIOUS +PROB-ABIL-ITY +PROB-ABLE +PRO-CE-DURE +PUB-LI-CA-TION +PUB-LISH +RE-PLACE-MENT +WHEN-EVER + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/HYPHEN.COM b/Source/Images/hd_cpm3/s1/u0/HYPHEN.COM new file mode 100644 index 00000000..f37eae9d Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/HYPHEN.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/LOOKUP.COM b/Source/Images/hd_cpm3/s1/u0/LOOKUP.COM new file mode 100644 index 00000000..460bdfa3 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/LOOKUP.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/MAINDICT.CMP b/Source/Images/hd_cpm3/s1/u0/MAINDICT.CMP new file mode 100644 index 00000000..b36ede7b Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/MAINDICT.CMP differ diff --git a/Source/Images/hd_cpm3/s1/u0/MARKFIX.COM b/Source/Images/hd_cpm3/s1/u0/MARKFIX.COM new file mode 100644 index 00000000..2bb6078f Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/MARKFIX.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/MOVEPRN.COM b/Source/Images/hd_cpm3/s1/u0/MOVEPRN.COM new file mode 100644 index 00000000..63e864f4 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/MOVEPRN.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/PATCH.LST b/Source/Images/hd_cpm3/s1/u0/PATCH.LST new file mode 100644 index 00000000..7a4a98f1 --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/PATCH.LST @@ -0,0 +1,1877 @@ + ; + ;In order to minimize changes to the locations of User area + ;data, the origin is forced here to 180H above the start of + ;the TPA. + ; + ORG TPA+180H ;Always start user area in same spot + + ; + ;This jump table provides commonly used subroutines for use + ;by custom subroutines in the User areas. It must not be + ;modified in any way. + ; + + ; + ;To output a character to the terminal from within your + ; custom subroutines, call DISPLA with the character + ; to be output in the accumulator (A register). All + ; registers will be preserved. + ; +0280 DISPLA:: +0280 C3 0CB6 JMP CO ;Display character routine + + ; + ;To output a string to the terminal that is in the normal + ; user area format (count followed by bytes), call + ; STRING with HL pointing to the string to be output. + ; Upon returning, HL points to the byte following the + ; string. + ; +0283 STRING:: +0283 C3 17C6 JMP STROUT ;Display string routine + + ; + ;To use WordStar's standard list output drivers, call the + ; following subroutines. In all cases, all registers + ; except for the PSW are unchanged by the subroutines. + ; +0286 LSTOUT: ;Prints char in A. +0286 C3 0000* JMP LO + +0289 LSOSTA: ;Returns output status to A (0 if busy). +0289 C3 0000* JMP LOSTAT + +028C LSTIN: ;Inputs char from printer to A. (Only +028C C3 0000* JMP LI ;works if custom ULISTI exists.) + +028F LSISTA: ;Returns input status to A (0 if no char). +028F C3 0000* JMP LISTAT ;(Only works if custom ULISTA.) + +0292 LSTRNG: ;Send string to list device. (HL points + +0292 C3 0000* JMP LSTSTR ;to string, count byte first, just like + ;console strings). + + ; + ;This flag is used if WordStar is on a multi-user system. It should + ;be set to zero on single-user systems. Each bit of MPMFLG is used + ;as follows: + ; + ; Bit Meaning + ; + ; + ; 0 If 0, WordStar will issue a SYSTEM RESET when logging + ; onto a removable disk drive. If 1, no reset will + ; occur, and the operating system itself must handle + ; any disk swapping. + ; + ; 1 If 1, users can share documents. Before opening a + ; document to edit, WordStar will check to see if temporary + ; files with that document name (e.g. FILENAME.$A$) + ; already exist. If such files exist, WordStar will open + ; the document as a protected document, preventing any + ; changes to it. If 0, WordStar will delete existing + ; temporary files when opening the document for editing. + ; + ; 2 If 1, users can share printer. MP/M function calls are + ; issued to attach and detach the list device. If 0, + ; the printer is assumed to be always attached. + ; + ; 3 If 1, WordStar will issue frequent MP/M "dispatch to + ; next task" function calls to assure that multiple users + ; have balanced access to the computer. If 0, WordStar + ; assumes that only one user is on the computer at a time. + ; If the operating system itself can load share adequately + ; (such as MP/M 8/16 systems), set this bit to 0. + ; + ; 4-6 Reserved. + ; + ; 7 If 1, TurboDOS 1.3 operating system. WordStar will not + ; check the disk drive write protect vector, will not check + ; printer busy status, and will issue the TurboDos printer + ; detach call when done printing. If 0, CP/M or MP/M. + ; WordStar does not support TurboDos 1.2. + ; + ;If you are using MP/M, bits 0, 1 and 2 should all be set to 1. Bit 3 + ;should be set for older versions of MP/M. If you are running on a + ;networked system, only bit 1 should be set. If you are using TurboDos + ;1.3 in a multi-user environment, bits 1 and 7 should be set. If you + ;are using single-user TurboDos, only bit 7 should be set. + ; +0295 MPMFLG:: +0295 00 DB 0 ;Zero for single-user systems + +0296 00 DB 0 ;Reserved + + ; + ;SHARE specifies how WordStar will handle two users in a shared file + ;system who attempt to edit the same file. If 0, the second user + ;will be denied access to the file. If 1, the second user can + ;view as much of the file as can be loaded into memory, but he + ;cannot modify the file. + ; +0297 SHARE:: +0297 01 DB 1 ;Allow viewing (protected edit) + +0298 00 00 00 DB 0,0,0 ;Reserved + + ; + ;The function key table allows you to program any function keys that + ;your terminal supports into one or more other keystrokes. Note that + ;on many terminals, the function keys generate a sequence of characters + ;where the first character is a control code. Since WordStar probably + ;uses this same code for one its commands, a timer is used to determine + ;when the "burst" of characters from the function key is done. + ;This works because the terminal will usually send the function + ;key characters at close to full baud rate. At 9600 baud, each character + ;takes 1/960 of a second to send, or close to one millisecond. That + ;means that three characters would take approximately three milliseconds. + ;There is no way that even the fastest human typist could type that + ;fast! Therefore, this method will usually work. + ; + ;Each function key in the table below is represented by two strings. + ;The first describes the "burst" from the key. The second is what it + ;should be translated into. You may not use string indirections in + ;this table (size of -1 followed by address). + ; + ;The end of the function key table is indicated when the size of the + ;function key string is zero. If you have more function keys than will + ;fit, you can put a continuation address after the zero to point to more + ;table. The table at that address must be the same format as this + ;one. No continuation is indicated by an address of zero. + ; + ;One character "bursts" will not work here. If you need to translate + ;a single character into something else, use the user console input + ;routine UCONI. + ; + ;Warning! Terminals or computers that have their own type-ahead + ;buffering may cause problems with this approach since it will be more + ;likely that characters other than just function keys will be "burst" + ;into WordStar by it. + ; + +029B FUNDLY:: +029B 00 DB 0 ;Milliseconds of delay between characters + ;of function key burst (if zero, no + ;function keys are implemented). See + ;section on delays below before adjusting + ;FUNDLY for your system. + +029C 01 DB CTRLA ;Character that starts each burst + ;(set to 0FFh to disable) + +029D FUNTBL:: +029D 03 DB 3 ;Three chars in burst +029E 01 40 0D DB CTRLA,'@',CR ;Function key 1 +02A1 02 DB 2 ;Two chars in replacement +02A2 0B 42 DB CTRLK,'B' ;Mark beginning of block + +02A4 03 DB 3 +02A5 01 41 0D DB CTRLA,'A',CR ;Function key 2 +02A8 02 DB 2 +02A9 0B 4B DB CTRLK,'K' ;Mark end of block + +02AB 03 DB 3 +02AC 01 42 0D DB CTRLA,'B',CR ;Function key 3 +02AF 02 DB 2 +02B0 0B 43 DB CTRLK,'C' ;Copy marked block + +02B2 03 DB 3 +02B3 01 43 0D DB CTRLA,'C',CR ;Function key 4 +02B6 02 DB 2 +02B7 0B 56 DB CTRLK,'V' ;Move marked block + +02B9 03 DB 3 +02BA 01 44 0D DB CTRLA,'D',CR ;Function key 5 +02BD 02 DB 2 +02BE 0B 59 DB CTRLK,'Y' ;Delete marked block + +02C0 03 DB 3 +02C1 01 45 0D DB CTRLA,'E',CR ;Function key 6 +02C4 02 DB 2 +02C5 11 46 DB CTRLQ,'F' ;Find string + +02C7 03 DB 3 +02C8 01 46 0D DB CTRLA,'F',CR ;Function key 7 +02CB 02 DB 2 +02CC 11 41 DB CTRLQ,'A' ;Search and replace + +02CE 03 DB 3 +02CF 01 47 0D DB CTRLA,'G',CR ;Function key 8 +02D2 01 DB 1 +02D3 0C DB CTRLL ;Repeat last find or replace again + +02D4 03 DB 3 +02D5 01 48 0D DB CTRLA,'H',CR ;Function key 9 +02D8 02 DB 2 +02D9 0B 44 DB CTRLK,'D' ;Save document + +02DB 03 DB 3 +02DC 01 49 0D DB CTRLA,'I',CR ;Function key 10 +02DF 02 DB 2 +02E0 0B 51 DB CTRLK,'Q' ;Abandon editing + +02E2 03 DB 3 +02E3 01 4A 0D DB CTRLA,'J',CR ;Function key 11 +02E6 06 DB 6 +02E7 11 46 10 DB CTRLQ,'F',CTRLP ;Find end of paragraph +02EA 0D 0D 0D DB CR,CR,CR + +02ED 03 DB 3 +02EE 01 4B 0D DB CTRLA,'K',CR ;Function key 12 +02F1 08 DB 8 +02F2 11 46 10 DB CTRLQ,'F',CTRLP ;Find beginning of paragraph +02F5 0D 0D 42 0D DB CR,CR,'B',CR,CTRLD +02F9 04 + +02FA 00 DB 0 ;End of table +02FB 0000 DW 0 ;No continuation + + REPT 128-($-FUNTBL) ;Allow 128 bytes for table + DB 0 + ENDM + +031D 00 00 DB 0,0 ;Reserved + + ; + ; TERMINAL PATCH AREA + ; + ;This section contains the user-modifiable constants and + ; routines for hardware-dependent terminal functions + ; and characteristics required by the editor. + ; + ;There are three types of patches in this area. One can + ; patch data values (HITE, WID) which describe the + ; terminal, strings (CLEAD1, ERAEOL) which define + ; control sequences, or actual microprocessor + ; instructions. + ; + ;For the string sequences, the first byte of the patch + ; indicates the number of bytes in the string, + ; followed by that many string bytes. If there is + ; insufficient room for the whole string, the format + ; can be modified by putting a -1 (0FFH) where the + ; number of bytes would go, and then putting the + ; address in the following two bytes (low order byte + ; first) of the address where the longer patch + ; resides. The longer patch must then be of the + ; normal format which is the number of bytes followed + ; by the string. + ; + ;This area is normally patched for your specific terminal + ; by the interactive INSTALL program. Additional + ; patching to this area is needed only for unusual + ; terminals or video boards, or to meet special + ; requirements, or to enhance or personalize your + ; copy of WordStar. The default user area is + ; set up for this example installation. + ; + + ; + ;Video screen height, width, and wrap-around parameters are required. + ; +031F HITE:: +031F 18 DB 24 ;Must be exact screen height in lines. +0320 WID:: +0320 50 DB 80 ;Must be <= exact screen width in columns. +0321 WRAP:: +0321 FF DB TRUE ;Indicates if terminal wraps around to next + ;line if a character is displayed in WIDth + ;column of screen (set FALSE if it doesn't) + +0322 XONOFF:: +0322 FF DB TRUE ;TRUE if XON/XOFF protocol to be used for + ;the CRT terminal + +0323 SCROLL:: +0323 14 DB 20 ;Number of columns that are horizontally + ;scrolled when cursor moves beyond right + ;or left side of screen. + +0324 DIRSIZ:: +0324 05 DB 5 ;Number of lines available for directory + ;at bottom of screen. If zero, no directory. + +0325 0B DB 11 ;Larger directory for document selection + + ; + ;Delete Display String + ; + ;The following string indicates to WordStar how to display a delete + ;character (hex 7F) on the screen while editing. On terminals that + ;interpret the delete character code into a displayable character, it + ;is recommended that DELSTR be translated into the delete code itself + ;(length of 1, then 7FH). All characters in the string must display. + ; +0326 DELSTR:: +0326 03 DB 3 ;Number of chars in string +0327 44 45 4C DB 'DEL' ;What is displayed +032A 00 00 DB 0,0 ;Spare bytes + + ; + ;Soft and End of Line Hyphen Display String + ; + ;In order to distinguish soft hyphens from normal hyphens in the text, + ;WordStar will substitute the following string when one is encountered. + ; + +032C SHYSTR:: +032C 01 DB 1 ;Number of chars in string +032D 3D DB '=' ;What is displayed +032E 00 00 00 00 DB 0,0,0,0 ;Spare bytes + ; + ;Block Marker Strings + ; + ;Block marker strings are displayed on the screen to show the start and + ;end of a block of text. The strings are in the typical format of the + ;length followed by as many characters. Control characters should not + ;be included within these strings because they would not be sent + ;directly to the screen. + ; + +0332 BBLOCK:: +0332 03 DB 3 ;Three chars +0333 3C 42 3E DB '' ;Begin block +0336 00 DB 0 ;1 spare + ; +0337 KBLOCK:: +0337 03 DB 3 ;Three chars +0338 3C 4B 3E DB '' ;End block +033B 00 DB 0 ;1 spare + + ; + ;Special character used when displaying soft spaces with ^OB. + ; +033C SOFTSP:: +033C 2B DB '+' ;Soft spaces show up as plus signs + +033D 00 00 00 00 DB 0,0,0,0,0 ;Reserved +0341 00 + + ; + ;The following string is used at sign-on to describe the type + ;of terminal being used by WordStar. Up to 40 bytes are available + ;for the string, including its null terminator. + ; +0342 CRTID:: +0342 55 6E 69 6E DB 'Uninstalled Terminal',CR,LF,0 ;Terminal name +0346 73 74 61 6C +034A 6C 65 64 20 +034E 54 65 72 6D +0352 69 6E 61 6C +0356 0D 0A 00 +0359 20 20 20 20 DB ' ' ;Extra room +035D 20 20 20 20 +0361 20 20 20 20 +0365 20 20 20 20 +0369 20 + + ; + ;Cursor positioning control sequences are required. + ; + ;Cursor positioning for most terminals is accomplished + ; by sending: + ; + ; 1. A 'lead-in' string of one or more terminal + ; specific characters. + ; 2. The line number, with an offset (often 20H) added. + ; For some terminals, the column number is + ; sent first. + ; 3. For some terminals, another 'lead-in' string. + ; 4. The column (or line) number, with an offset. + ; 5. For some terminals, a terminating string. + ; + ;For most terminals, the line and column number are sent + ; as one-byte binary numbers. Some terminals require + ; that a two- or three-digit ASCII number is sent. + ; + ;For terminals that do not fit the above patterns, you + ; must code your own subroutine. + ; + ;For example, the cursor is positioned on this sample + ; installation by sending: + ; + ; ESCAPE, '=', + ; line number plus 20H, + ; column number plus 20H. + ; +036A CLEAD1:: ;Initial lead-in string +036A 02 DB 2 ;Number of characters +036B 1B DB ESC ;First character +036C 3D DB '=' ;Second character +036D 00 00 DB 0,0 ;Space for two more characters + +036F CLEAD2:: ;Sent between line and column +036F 00 DB 0 ;Number of characters, none in our +0370 00 DB 0 ;example. First character +0371 00 00 00 DB 0,0,0 ;Space for three more characters + +0374 CTRAIL:: ;Terminating string +0374 00 DB 0 ;Number of characters +0375 00 00 00 00 DB 0,0,0,0 ;Space for four characters + +0379 CB4LFG:: ;Send column before line? +0379 00 DB 0 ;Set non-zero to send column first + +037A CUROFF:: ;Cursor offsets + + ;Offset to add to line +037A 20 DB 20H ;Add 20H to line number (0 is top + ;line of screen before offset) + + ;Offset to add to column +037B 20 DB 20H ;Add 20H to column number (0 is + ;left-most column of screen + ;before offset) + +037C ASCUR:: ;Binary/ASCII digit flag +037C 00 DB 0 ;0 to send binary line and column + ;2 to send 2-digit ASCII numbers + ;3 to send 3-digit ASCII numbers + + ; + ;Provision for positioning cursor by user-coded + ; subroutine, instead of under control of above + ; items. For use in exceptional cases only. + ; + ;Insert a JMP instruction to your subroutine in the + ; following three bytes. Whenever the first byte + ; is non-NOP, this location will be called to + ; position the cursor, and the above cursor patch + ; items will be ignored. + ; + ;Your subroutine will receive the line number in the L + ; register (0 = top line), the column number in + ; the H register (0 = left-most column), and the + ; video attributes at the next typing position in + ; the A register. Attributes are represented as + ; described for the VIDATT routine, except that the + ; warning/error bit indicates double-strike. + ; + ;Your subroutine may alter all registers. + ; +037D UCRPOS:: +037D 00 NOP ;Normally NOP, or JMP to your cursor +037E 00 NOP ;positioning routine. +037F C9 RET + + ; + ;Displaying characters on some screens can be significantly faster if the + ;cursor can be turned off. + ; +0380 ONCUR:: ;Turn cursor on by changing to jump +0380 00 NOP ;to custom subroutine. +0381 00 NOP ; L = current cursor line +0382 C9 RET ; H = cursor column + +0383 OFFCUR:: ;Turn cursor off by changing to jump +0383 00 NOP ;to custom subroutine. +0384 00 NOP ; L = current cursor line +0385 C9 RET ; H = cursor column + + ; + ;Everything in the rest of this section is optional. + ; The items relate either to enhanced performance, + ; or for accomodating unusual terminals. + ; + + ; + ;Erase screen. If this function is not available, leave + ; the first byte zero, and the WordStar will either send + ; line feeds, or update a screen of text using ERAEOL + ; below. + ; + ;After the screen is erased, WordStar assumes that the video + ; attributes are set to normal (dim for the example + ; terminal), and that the cursor is at the home position + ; (upper left hand corner). + ; +0386 ERASCR:: +0386 03 DB 3 ;Number of characters +0387 1A DB CTRLZ ;First character (clear screen) +0388 1B 29 DB ESC,')' ;Additional characters (dim) +038A 00 00 00 00 DB 0,0,0,0,0,0 ;Room for 13 more +038E 00 00 +0390 00 00 00 00 DB 0,0,0,0,0,0,0 +0394 00 00 00 + + ; + ;Backspace one character string. If this function is not + ; available, leave the first byte zero, and WordStar + ; will use cursor addressing to backspace. + ; +0397 BAKSPC:: +0397 01 DB 1 ;Number of characters +0398 08 DB BS ;First character +0399 00 00 00 DB 0,0,0 ;Additional characters + + ; + ;Erase to end of line string. If this function is not + ; available, leave the first byte zero, and WordStar + ; will perform the function more slowly via software. + ; +039C ERAEOL:: +039C 02 DB 2 ;Number of characters +039D 1B DB ESC ;First character +039E 54 00 00 DB 'T',0,0 ;Additional characters + + ; + ;Erase to end of screen string. If this function is not + ; available, leave the first byte zero, and WordStar + ; will perform the function more slowly via software. + ; +03A1 ERAEOS:: +03A1 02 DB 2 ;Number of characters +03A2 1B DB ESC ;First character +03A3 59 00 00 DB 'Y',0,0 ;Additional characters + + ; + ;Delete screen line containing the cursor, and move lower + ; lines on the screen up one line. If this function + ; is not available, leave the first byte zero, and + ; WordStar will perform the function more slowly + ; via software. + ; +03A6 LINDEL:: +03A6 02 DB 2 ;Number of characters +03A7 1B DB ESC ;First character +03A8 52 00 00 DB 'R',0,0 ;Additional characters + + ; + ;Insert a blank line on the screen, moving the line + ; containing the cursor, and the lines below it down + ; one line. If this function is not available, leave + ; the first byte zero, and WordStar will perform + ; the function more slowly via software. + ; +03AB LININS:: +03AB 02 DB 2 ;Number of characters +03AC 1B DB ESC ;First character +03AD 45 00 00 DB 'E',0,0 ;Additional characters + + ; + ;WordStar will use LINDEL and LININS to delete or insert a group + ; of lines rather than just displaying a whole new screenful + ; of characters. LINMAX below indicates the maximum number + ; of lines that this would generally be faster than the + ; re-display. Set to zero if don't care. + ; +03B0 LINMAX:: +03B0 05 DB 5 ;Five lines + + ; + ;Terminal initialization string. A string of bytes which + ; will be sent to the terminal at the beginning of a + ; session. See also INISUB. + ; +03B1 TRMINI:: +03B1 FF DB -1 ;Number of bytes +03B2 0386 DW ERASCR ;Use extension mechanism (-1 as byte +03B4 00 00 DB 0,0 ;count) to erase screen as initialization. + + ; + ;Terminal un-initialization string. A string of bytes + ; which will be sent to the terminal at the end of a + ; session. See also UNISUB. + ; +03B6 TRMUNI:: +03B6 02 DB 2 ;Number of bytes +03B7 1B 28 DB ESC,'(' +03B9 00 00 DB 0,0 + + ; + ;User-patchable initialization subroutine. Called before + ; the TRMINI string is sent. This subroutine may be + ; used for special console initialization or other + ; purposes. See UCRPOS comments. + ; +03BB INISUB:: +03BB 00 NOP ;Normally NOP, or JMP to +03BC 00 NOP ;your subroutine +03BD C9 RET + + ; + ;User patchable un-initialization subroutine. Called + ; before the TRMUNI string is sent. This subroutine + ; may be used to 'undo' any special terminal status + ; used for the WordStar. See UCRPOS comments. + ; +03BE UNISUB:: +03BE 00 NOP ;Normally NOP, or JMP to +03BF 00 NOP ;your subroutine +03C0 C9 RET + + ; + ;Video attributes are used in various places on the WordStar display. + ;The following table describes what each bit of an attribute byte + ;means when used within WordStar. Note that when no bit is set, that + ;is the normal condition. + ; + ; Bit WordStar Usage + ; + ; none Normal text + ; 0 Strike-out text + ; 1 Warning & error messages + ; 2 Marked block of text + ; 3 Underlined text + ; 4 Subscripted text + ; 5 Superscripted text + ; 6 Bold text + ; 7 Italic (or ribbon color) + ; + ;For this sample installation, the following translation of attribute + ;bits into video conditions could be used. + ; + ; WordStar Example + ; + ; Normal Dim + ; Warning Blink + ; Marked Inverse + ; Underlined Underline + ; Subscripted Bright + ; Superscripted Bright + ; Highlighted Bright + ; + ;Because each terminal uses such diverse strings to change video + ;attributes, you must provide a custom subroutine at VIDATT to + ;build the proper one for yours. You may be able to take advantage + ;of the fact that many terminals use a binary method to encode the + ;attributes. If you do not wish to use any video attributes, put + ;the customary two NOP's followed by a RET at VIDATT to disable it. + ; + ;The following implementation is for this sample installation. On that + ;terminal the following sequences are required for the different + ;attributes in our table: + ; + ; Attribute Sequence Screen Space + ; + ; Dim ESC ) NO + ; Bright ESC ( NO + ; Normal video ESC G 0 YES + ; Blink ESC G 2 YES + ; Inverse ESC G 4 YES + ; Underline ESC G 8 YES + ; Underline, blink ESC G : YES + ; Underline, inverse ESC G < YES + ; Underline, inverse, blink ESC G > YES + ; + ;However, since the ESC G attributes take up screen space, we cannot + ;use them with WordStar. Therefore, all attributes are highlighted + ;using bright. + + + ; + ;The VIDATT subroutine is used to change video attributes on the screen. + ;On entry, WordStar will supply the attributes that are on in the C + ;register. You must translate them into whatever your particular terminal + ;requires. The following implementation is a sample installation. + ;This subroutine is called only when a video attribute changes. + ; +03C1 VIDATT:: ;Change to NOP, NOP, RET if not needed +03C1 21 03D2 LXI H,vdim +03C4 0C INR C ;Normal video? +03C5 0D DCR C +03C6 CA 0283 JZ STRING + ; +03C9 21 03CF LXI H,vbrite ;Highlight everything else +03CC C3 0283 JMP STRING + ; +03CF 02 1B 28 vbrite: DB 2,ESC,'(' ;Bright +03D2 02 1B 29 vdim: DB 2,ESC,')' ;Dim + + REPT 128-($-VIDATT) ;Allow total of 128 bytes for VIDATT + DB 0 + ENDM + + ; + ;Normally the status line, text and directories are displayed in + ;dim intensity so that bold and doublestruck text can be shown in + ;high intensity. Setting BRITE to 0FFH reverses the usage of + ;bright and dim for the status line, text and directories ;zero + ;normally. + ; +0441 00 BRITE:: DB 0 ;Don't reverse + ;0FFH = normal text bright + + ; + ;Delays are executed after various terminal functions, before + ; the next character is sent to the terminal, to + ; allow response time required by certain terminals + ; when operating at a high baud rate. Set to a + ; larger value if you suffer a loss of characters + ; after a terminal function. + ; + ;Note that an additional delay FUNDLY is located near the + ; function key table FUNTBL above. + ; + ;Each delay is approximately the number of milliseconds + ; on a 4 MHz Z80 processor, about twice as long on + ; a 2 MHz 8080 (in other words, divide delay values + ; in half for a 2 MHz processor to achieve the same + ; results). + ; +0442 DELCUS:: +0442 00 DB 0 ;No delay after cursor positioning + ;(if your terminal works better with + ;5 milliseconds of delay, you would + ;put a "5" here instead) + +0443 DELMIS:: ;Miscellaneous screen delays +0443 00 DB 0 ;No delay + +0444 DXOFF:: ;If XON/XOFF used for terminal, sometimes +0444 07D0 DW 2000 ;a legitimate ^S will be interpreted as an + ;XOFF character. DXOFF is used to time out + ;so that the terminal will continue. + +0446 DLONG:: ;Long delays (like at sign-on) +0446 07D0 DW 2000 ;2 seconds = 2,000 milliseconds + ;(1000 if 8080) + +0448 DMED:: ;Medium delays (like at P, O, or K menus) +0448 03E8 DW 1000 ;1 second = 1,000 milliseconds + ;(500 if 8080) + +044A DSHORT:: ;Short delays (like before help menus) +044A 00C8 DW 200 ;200 milliseconds (100 if 8080) + +044C UPDLY:: ;Position update delay +044C 00C8 DW 200 ;200 milliseconds (100 if 8080) + +044E DDISK:: ;Disk access delay. If character typed +044E 01F4 DW 500 ;during disk access, wait this duration for + ;more characters. 500 milliseconds + +0450 DFAST:: ;Delay when typing fast. Holds off displaying +0450 0032 DW 50 ;the rest of the line briefly + + ; + ;Optional user-supplied console I/O subroutines. You may + ; patch JMP's here to your own console input, console + ; output, and console status subroutines, in which + ; case these routines, instead of the operating + ; system BIOS entry points, will be used for all + ; console I/O. These subroutines may alter all registers. + ; + ;Use of a custom subroutine accessed here is suggested, + ; for example, to drive a video board that cannot be + ; driven via output to the operating system. + ; +0452 UCNSTA:: ;User console status subroutine. +0452 00 NOP ;Normally NOP, or JMP to your own +0453 00 NOP ;subroutine. Must return 0 in A if +0454 C9 RET ;no character ready, 0FFH if one is + ;ready. + +0455 UCONI:: ;User console input subroutine. +0455 00 NOP ;Normally NOP, or JMP to your own +0456 00 NOP ;subroutine. Must return the +0457 C9 RET ;character in A. May be called + ;before a character is ready. If + ;no character is ready, routine + ;must wait until a character is + ;available. + +0458 UCONO:: ;User console output subroutine. +0458 00 NOP ;Normally NOP, or JMP to your own +0459 00 NOP ;subroutine. Subroutine receives +045A C9 RET ;the character in A, video attributes in + ;B, and current cursor address in HL. + + ; + ;This is 128 bytes set aside for anything that the user wishes to use. + ;If more than 128 bytes are required, it is necessary to put them after + ;the main WordStar code which can be determined by looking at the + ;contents of BGNMEM to see where it is. After using as much space as + ;necessary, change BGNMEM to the new beginning of free memory. + ; +045B MORPAT:: +045B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +045F 0000 0000 +0463 0000 0000 +0467 0000 0000 +046B 0000 0000 +046F 0000 0000 +0473 0000 0000 +0477 0000 0000 +047B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +047F 0000 0000 +0483 0000 0000 +0487 0000 0000 +048B 0000 0000 +048F 0000 0000 +0493 0000 0000 +0497 0000 0000 +049B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +049F 0000 0000 +04A3 0000 0000 +04A7 0000 0000 +04AB 0000 0000 +04AF 0000 0000 +04B3 0000 0000 +04B7 0000 0000 +04BB 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +04BF 0000 0000 +04C3 0000 0000 +04C7 0000 0000 +04CB 0000 0000 +04CF 0000 0000 +04D3 0000 0000 +04D7 0000 0000 + + ; + ;CRTPAT is a patch area that may be used by WordStar's installation + ;program. + ; +04DB CRTPAT:: +04DB 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +04DF 0000 0000 +04E3 0000 0000 +04E7 0000 0000 +04EB 0000 0000 +04EF 0000 0000 +04F3 0000 0000 +04F7 0000 0000 +04FB 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +04FF 0000 0000 +0503 0000 0000 +0507 0000 0000 +050B 0000 0000 +050F 0000 0000 +0513 0000 0000 +0517 0000 0000 +051B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +051F 0000 0000 +0523 0000 0000 +0527 0000 0000 +052B 0000 0000 +052F 0000 0000 +0533 0000 0000 +0537 0000 0000 +053B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +053F 0000 0000 +0543 0000 0000 +0547 0000 0000 +054B 0000 0000 +054F 0000 0000 +0553 0000 0000 +0557 0000 0000 + + ; + ;The following string is used to describe the name of the default + ;printer used by WordStar. Up to 40 bytes are provided for the + ;string, including its null terminator. + ; +055B PRNID:: +055B 44 72 61 66 DB 'Draft Printer',CR,LF,0 ;Printer name +055F 74 20 50 72 +0563 69 6E 74 65 +0567 72 0D 0A 00 +056B 20 20 20 20 DB ' ' ;Additional room +056F 20 20 20 20 +0573 20 20 20 20 +0577 20 20 20 20 +057B 20 20 20 20 +057F 20 20 20 20 + + ; + ;WordStar uses a default printer driver if none is specified by the + ;user. The following is its name. It may be up to six characters long, + ;null terminated. + ; +0583 DEFPRN:: +0583 44 52 41 46 DB 'DRAFT',0 ;Standard driver +0587 54 00 +0589 20 DB ' ' ;One extra char + + ; + ;The print delay timer is used to time how long the printer is busy + ;before telling the user that it's been busy a long time. This would + ;primarily be used when the printer was in another room and you might + ;not know that it was busy due to a paper jam or being off line. + ; +058A PRNDLY:: ;Delay before saying printer busy +058A 0000 DW 0 ;Zero to disable + + ; + ;Pausing between each page is used if single sheets of paper are being + ;printed. + ; +058C PPAUSE:: +058C 00 DB FALSE ;Continuous form (don't pause) + + ; + ;Many printers can use form feeds to quickly get from one page to the + ;next. If your printer can, setting PFFEED to TRUE will cause WordStar + ;to use form feeds instead of carriage returns and line feeds. + ; + +058D PFFEED:: +058D 00 DB FALSE ;Carriage returns to next page + + ; + ;Some users, like programmers, may want to usually print non-documents. + ;In this case, WordStar prints any lines that begin with a period (dot + ;commands), and expands tab characters (09H) according to the filetype + ;in the EDCOND table elsewhere in the User Area. + ; +058E PNODOC:: +058E 00 DB FALSE ;Don't print as a non-document + + ; + ;Printer protocol flags. Only one of these flags may be set TRUE at + ;one time. If neither flag is set, WordStar assumes all printer busy + ;handshaking is done externally to WordStar (requires ULISTA and ULSTI + ;subroutines below). + ; + +058F LXOFF:: ;Printer XON/XOFF protocol. +058F 00 DB FALSE + +0590 LETX:: ;Printer ETX/ACK protocol. +0590 00 DB FALSE + +0591 LCHRMX:: ;Maximum chars before sending ETX. +0591 80 DB 128 ;Half of buffer size. + + ; + ;User list device output subroutines are used if the normal systems list + ;device is not to be used. The user subroutine overrides the LSTDEV + ;selection below. + ; +0592 ULOSTA:: +0592 00 NOP ;User list output status subroutine. +0593 00 NOP ;Normally NOP, or JMP to your own +0594 C9 RET ;subroutine. Must return 0 in AL if + ;list device is busy, 0FFH if idle. + +0595 ULSTO:: +0595 00 NOP ;User list output subroutine. +0596 00 NOP ;Normally NOP, or JMP to your own +0597 C9 RET ;subroutine. Subroutine receives the + ;character in AL. + + ; + ;User list input subroutines are used if either XON/XOFF or ETX/ACK + ;protocols are used to indicate when the printer is busy. + ; +0598 ULISTA:: +0598 00 NOP ;User list input status subroutine. +0599 00 NOP ;Normally NOP, or JMP to your own +059A C9 RET ;subroutine if LXOFF or LETX is TRUE. + ;Must return 0 in AL if no char pending. + +059B ULSTI:: +059B 00 NOP ;User list input subroutine. +059C 00 NOP ;Normally NOP, or JMP to your own +059D C9 RET ;subroutine if LXOFF or LETX is TRUE. + ;Returns character in AL. + + ; + ;Printer Output Selection + ; + ;When WordStar prints, it sends its output to one of the devices specified + ;with LSTDEV. + ; + ; 00H = TTY device + ; 01H = CRT device + ; 02H = LPT device + ; 03H = UL1 device + ; FFH = Default LST device + ; +059E LSTDEV:: +059E FF DB 0FFH ;Use LST device + + ; + ;Before printing, WordStar will call ULPORT below to allow for custom + ;print output redirection. A pointer to the name of the printer (null + ;terminated, all capital letters) will be passed to the subroutine in HL. + ;It is up to this subroutine to then route the printer output to the + ;appropriate output port by whatever means is available to it. + ; + +059F ULPORT:: +059F 00 NOP ;Normally NOP if no redirection to be done. +05A0 00 NOP ;Change to JMP to your own subroutine. +05A1 C9 RET + + ; + ;The user list device uninitialize routine is called after printing is + ;completed, and can be used to restore the printer state for non-WordStar + ;applications. + ; + +05A2 ULUNPT:: +05A2 00 NOP +05A3 00 NOP +05A4 C9 RET + + ; + ;The ULINI string is sent to the list device after ULPORT is executed + ;and before the document is printed. + ; +05A5 ULINI:: ;User list device initialize string +05A5 00 DB 0 +05A6 00 00 00 00 DB 0,0,0,0,0,0,0,0,0 +05AA 00 00 00 00 +05AE 00 + ; + ;The ULUNI string is sent to the list device after the document is + ;printed and before the ULUNPT routine is executed. + ; +05AF ULUNI:: ;User list device uninitialize routine +05AF 00 DB 0 +05B0 00 00 00 00 DB 0,0,0,0,0,0,0,0,0 +05B4 00 00 00 00 +05B8 00 + + ; + ;When WordStar begins printing, space is allocated for the three header and + ;three footer lines. HFMAX determines how much space to allocate. + ; +05B9 HFMAX:: +05B9 0064 DW 100 ;Up to 100 characters per header or footer + + ; + ;DATSEP is used while merge printing to separate one data item from + ;another in the data file. + ; +05BB DATSEP:: ;Comma +05BB 2C DB ',' + + ; + ;DLIST is the list output delay. Every time a character is output to + ;the printer, this delay is used. + ; +05BC DLIST:: +05BC 00 DB 0 ;No delay + + ; + ;Custom Printer Control Strings: These strings are sent to the printer + ;when the custom print control characters, ^Q, ^W, ^E, or ^R are + ;encountered in text being printed. They can be used to invoke special + ;printer functions not controlled by the standard driver, such as expanded + ;or compressed modes of printing. + ; + ;Note that some drivers may interfere or override the custom print controls + ;you have defined. In this case, use a generic driver such as DRAFT or + ;CUSTOM. + ; + ;A fixed length of 25 bytes is reserved for each string, where the + ;first byte is the count of characters to be sent to the printer, and + ;the following bytes (up to 5) are the characters to be sent. If + ;longer strings are required, the first byte can be -1, followed by a + ;two byte address pointing into a patch area, where the actual count + ;and string can be found. + ; +05BD UPRCTL:: ;Custom Print Controls + +05BD 00 UPRQ:: DB 0 ;^Q, length +05BE 00 00 00 00 DB 0,0,0,0,0,0 ; string of up to 24 characters +05C2 00 00 +05C4 00 00 00 00 DB 0,0,0,0,0,0 +05C8 00 00 +05CA 00 00 00 00 DB 0,0,0,0,0,0 +05CE 00 00 +05D0 00 00 00 00 DB 0,0,0,0,0,0 +05D4 00 00 + ; +05D6 00 UPRW:: DB 0 ;^W +05D7 00 00 00 00 DB 0,0,0,0,0,0 +05DB 00 00 +05DD 00 00 00 00 DB 0,0,0,0,0,0 +05E1 00 00 +05E3 00 00 00 00 DB 0,0,0,0,0,0 +05E7 00 00 +05E9 00 00 00 00 DB 0,0,0,0,0,0 +05ED 00 00 + ; +05EF 00 UPRE:: DB 0 ;^E +05F0 00 00 00 00 DB 0,0,0,0,0,0 +05F4 00 00 +05F6 00 00 00 00 DB 0,0,0,0,0,0 +05FA 00 00 +05FC 00 00 00 00 DB 0,0,0,0,0,0 +0600 00 00 +0602 00 00 00 00 DB 0,0,0,0,0,0 +0606 00 00 + ; +0608 00 UPRR:: DB 0 ;^R +0609 00 00 00 00 DB 0,0,0,0,0,0 +060D 00 00 +060F 00 00 00 00 DB 0,0,0,0,0,0 +0613 00 00 +0615 00 00 00 00 DB 0,0,0,0,0,0 +0619 00 00 +061B 00 00 00 00 DB 0,0,0,0,0,0 +061F 00 00 + + ; + ;Strike-out character + ; +0621 STKCHR:: +0621 2D DB '-' ;Strike out character + ; + ;If PFFEED above is TRUE, or you specifically tell WordStar to use form feeds + ;during printing, the following string is sent to the printer to eject the + ;paper to the next page. All printer drivers use this string. + ; +0622 01 FORMF:: DB 1 ;^L +0623 0C DB FFEED +0624 00 00 00 00 DB 0,0,0,0,0 +0628 00 +0629 00 00 00 00 DB 0,0,0,0,0,0 +062D 00 00 +062F 00 00 00 00 DB 0,0,0,0,0,0 +0633 00 00 +0635 00 00 00 00 DB 0,0,0,0,0,0 +0639 00 00 + ; + ;This is 128 bytes set aside for printer subroutines. + ;This area is also used for print control strings for the CUSTOM + ;printer driver. + ; +063B PRNPAT:: +063B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +063F 0000 0000 +0643 0000 0000 +0647 0000 0000 +064B 0000 0000 +064F 0000 0000 +0653 0000 0000 +0657 0000 0000 +065B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +065F 0000 0000 +0663 0000 0000 +0667 0000 0000 +066B 0000 0000 +066F 0000 0000 +0673 0000 0000 +0677 0000 0000 +067B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +067F 0000 0000 +0683 0000 0000 +0687 0000 0000 +068B 0000 0000 +068F 0000 0000 +0693 0000 0000 +0697 0000 0000 +069B 0000 0000 DW 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +069F 0000 0000 +06A3 0000 0000 +06A7 0000 0000 +06AB 0000 0000 +06AF 0000 0000 +06B3 0000 0000 +06B7 0000 0000 + + ; + ;If non-standard initialization parameters are used, the + ;following identification string can be displayed at + ;sign-on. Up to 40 bytes are available for the string, + ;including the null terminator. + ; +06BB INITID:: +06BB 00 DB 0 ;No ID if standard +06BC 20 20 20 20 DB ' ' +06C0 20 20 20 20 +06C4 20 20 20 20 +06C8 20 20 20 20 +06CC 20 20 20 +06CF 20 20 20 20 DB ' ' +06D3 20 20 20 20 +06D7 20 20 20 20 +06DB 20 20 20 20 +06DF 20 20 20 20 + + ; + ;Legal Drives + ; + ;Note that the first drive is assumed to be the default drive where any + ;special files are located such as the WSMSGS.OVR file. The drives listed + ;should be reduced to the ones that are actually in use on the system + ;upon which WordStar is running. + ; + ;If the most significant bit of the drive letter is set to 1, WordStar + ;will assume that the drive is non-removable. A disk reset will not + ;be done when non-removable drives are logged. + ; +06E3 LGLDRV:: +06E3 41 42 43 44 DB 'ABCDEFGHIJKLMNOP',0 ;Every legal drive +06E7 45 46 47 48 +06EB 49 4A 4B 4C +06EF 4D 4E 4F 50 +06F3 00 + + ; + ;Legal User Numbers + ; + ;Some CP/M operating systems can support user numbers from 0 to 15, + ;others support 0 to 31. Also, a user can be prevented from accessing + ;other user numbers if zero. + ; +06F4 LGLUSR:: +06F4 10 DB 16 ;Sixteen user numbers from 0 to 15 + + ; + ;WordStar uses several files. Their names are specified here. WordStar + ;uses the following search pattern to try to find the file: + ; + ; 1. Look on the current drive and user. + ; 2. Default user (DEFUSR) on the current drive. + ; 3. Current user on the default drive. + ; 4. Default user on the default drive. + ; + ;If the drive byte of the filename is non-zero, it should be set to a + ;number 1 through 16 representing drives A through P respectively. In + ;this case, WordStar will look only on the specified drive and the + ;DEFUSR user number for the file. + ; +06F5 MSFILE:: ;Message file +06F5 00 57 53 4D DB 0,'WSMSGS OVR' +06F9 53 47 53 20 +06FD 20 4F 56 52 + +0701 HPFILE:: ;Help messages file +0701 00 57 53 48 DB 0,'WSHELP OVR' +0705 45 4C 50 20 +0709 20 4F 56 52 + +070D FF DB 0FFH ;Zero if never to search for help + +070E IXFILE:: ;Indexer exclusion word list filename +070E 00 57 53 49 DB 0,'WSINDEX XCL' +0712 4E 44 45 58 +0716 20 58 43 4C + +071A LDFILE:: ;Load file for overlays +071A 00 57 53 20 DB 0,'WS OVR' +071E 20 20 20 20 +0722 20 4F 56 52 + +0726 OVFILE:: ;Print driver overlays +0726 00 57 53 50 DB 0,'WSPRINT OVR' +072A 52 49 4E 54 +072E 20 4F 56 52 + +0732 WSFILE:: ;File containing WordStar (after running pgm) +0732 00 57 53 20 DB 0,'WS COM' +0736 20 20 20 20 +073A 20 43 4F 4D + +073E SHFILE:: ;Shorthand file +073E 00 57 53 53 DB 0,'WSSHORT OVR' +0742 48 4F 52 54 +0746 20 4F 56 52 + + ; + ;If WordStar does not find its own files (WS.COM, WS.OVR...) on the + ;logged user, it will look for them on the default user. + ; +074A DEFUSR:: +074A 00 DB 0 ;Default user number for system files + ;Set to 0-16 or 0-31 (depends on LGLUSR), + ; or -1 to defeat + + ; + ;When you use the S command at the Opening Menu, this is the spelling + ;check command that is used. If you want WordStar to prompt for the + ;document to be checked and then automatically append it to this command, + ;set SPFILE non-zero. + ; +074B 02 SPCMD:: DB 2 ;Five letters in command +074C 54 57 DB 'TW' ;Run The WORD Plus +074E 00 00 00 00 DB 0,0,0,0,0 ;Spare bytes for longer commands +0752 00 +0753 00 00 00 00 DB 0,0,0,0,0 +0757 00 + +0758 FF SPFILE::DB 0FFH ;Automatically ask + + ; + ;When you run a program at the Opening Menu, WordStar first tries to find + ;the COM file in the current drive and user, then in this drive and user. + ;The default is to look on drive A, user 0. + ; +0759 01 URUN:: DB 1 ;Drive code (0=disabled, 1=A, 2=B, ...) +075A 00 DB 0 ;User number + + ; + ;INILOG allows the user to specify a drive and user number for WordStar to + ;log onto at start up time. The first byte is a character count, the + ;following bytes (up to three) can contain a drive name (A-P) and user + ;number (0-31). + ; +075B INILOG:: +075B 00 DB 0 +075C 00 00 00 DB 0,0,0 + + ; + ;WordStar creates backup and temporary files. The following + ;are the file types to be used for them. + ; +075F BAKTYP:: ;Type for backup files +075F 42 41 4B DB 'BAK' + +0762 BFTYPE:: +0762 24 42 24 DB '$B$' ;File type of temporary file before memory + +0765 AFTYPE:: +0765 24 41 24 DB '$A$' ;File type of temporary file after memory + +0768 BLKTYP:: +0768 24 43 24 DB '$C$' ;Type for block move/copy buffer file + + ; + ;When the directory is displayed, file types from this table + ;are suppressed. Question marks may be used as wild cards to + ;match any character. + ; +076B NOTYPE:: ;File types to be ommitted from directories +076B 43 4F 4D DB 'COM' ;Command files +076E 4F 56 52 DB 'OVR' ;Overlays +0771 24 3F 24 DB '$?$' ;WordStar temporary files + +0774 00 00 00 DB 0,0,0 +0777 00 00 00 DB 0,0,0 +077A 00 00 00 DB 0,0,0 +077D 00 00 00 DB 0,0,0 +0780 00 00 00 DB 0,0,0 +0783 00 DB 0 ;End of table + + ; + ;DIRFIL is a file name "image" that is used in conjunction with NOTYPE (above) + ;to determine which files are to be displayed in WordStar's directories. + ;DIRFIL determines which files can possibly be included, and NOTYPE then + ;eliminates certain types of files. Use a question mark in DIRFIL at each + ;spot where any file name character can match. + ; +0784 DIRFIL:: +0784 3F 3F 3F 3F DB "???????????" ;All files match +0788 3F 3F 3F 3F +078C 3F 3F 3F + + ; + ;The name of the file to be edited can be specified at the operating system + ;prompt. ININON indicates whether the file should be edited as a document + ;or nondocument. + ; +078F ININON:: +078F 00 DB FALSE ;Not non-document from command line + + ; + ;WordStar normally makes BAK backup files every time you save your work. + ;INITBAK can be used to disable backups by setting it FALSE. + ; +0790 INIBAK:: +0790 FF DB TRUE ;Make backups + + ; + ;When a nondocument is edited, WordStar will decide how to expand tabs + ;(ASCII 09H), and whether or not to use auto-indenting by looking in this + ;table. + ; + ;There is a special case of the tab masks shown below. When the most + ;significant bit of the tab mask is set to 1, WordStar will assume that + ;you want to use variable tabbing. When the tab key is typed, instead + ;of inserting an ASCII 09H into the file, spaces will be entered up to + ;the next tab stop. The tab stops used are in the INIRLR table. An + ;ASCII 09H can still be entered in this mode, however, by typing ^PI. + ; +0791 EDCOND:: ;Edit conditions for specific file types +0791 50 41 53 01 DB 'PAS',00000001B,TRUE ;File extension, followed by a +0795 FF +0796 50 4C 49 03 DB 'PLI',00000011B,TRUE ;binary tab mask (e.g. a mask of +079A FF +079B 43 20 20 03 DB 'C ',00000011B,TRUE ;00000111B expands tab characters +079F FF +07A0 48 20 20 03 DB 'H ',00000011B,TRUE ;to every 8th column), followed by +07A4 FF + ;TRUE if auto-indent is turned on. + +07A5 00 00 00 07 DB 0,0,0,00000111B,FALSE ;End of table with defaults if file +07A9 00 + ;type doesn't match above + +07AA 00 00 00 00 DB 0,0,0,0,0 ;Room for four more +07AE 00 +07AF 00 00 00 00 DB 0,0,0,0,0 +07B3 00 +07B4 00 00 00 00 DB 0,0,0,0,0 +07B8 00 +07B9 00 00 00 00 DB 0,0,0,0,0 +07BD 00 + + ; + ;WordStar normally only considers alphabetic or numeric characters + ;as being within a "word". If other characters are legally part + ;or a word too, then the bit for the corresponding character code in + ;the following table must be set to a 1. + ; + ;There are 256 bits in the table to allow for 8-bit character sets. + ;The default table has the bits set for the numbers "0" through "9" + ;(ASCII codes of 30H through 39H), for the upper case letters + ;"A" through "Z" (41H through 5AH), and the lower case letters "a" + ;through "z" (61H through 7AH). Since the ASCII codes are only + ;seven bits, the corresponding codes with the eighth bit set are + ;also legal. + ; +07BE LGLCHR::; 01234567 89ABCDEF +07BE 00 00 DB 00000000B,00000000B ;Codes 00H to 0FH +07C0 00 00 DB 00000000B,00000000B ;Codes 10H to 1FH +07C2 00 00 DB 00000000B,00000000B ;Codes 20H to 2FH +07C4 00 00 DB 00000000B,00000000B ;Codes 30H to 3FH +07C6 7F FF DB 01111111B,11111111B ;Codes 40H to 4FH +07C8 FF E0 DB 11111111B,11100000B ;Codes 50H to 5FH +07CA 7F FF DB 01111111B,11111111B ;Codes 60H to 6FH +07CC FF E0 DB 11111111B,11100000B ;Codes 70H to 7FH +07CE 00 00 DB 00000000B,00000000B ;Codes 80H to 8FH +07D0 00 00 DB 00000000B,00000000B ;Codes 90H to 9FH +07D2 00 00 DB 00000000B,00000000B ;Codes A0H to AFH +07D4 00 00 DB 00000000B,00000000B ;Codes B0H to BFH +07D6 7F FF DB 01111111B,11111111B ;Codes C0H to CFH +07D8 FF E0 DB 11111111B,11100000B ;Codes D0H to DFH +07DA 7F FF DB 01111111B,11111111B ;Codes E0H to EFH +07DC FF E0 DB 11111111B,11100000B ;Codes F0H to FFH + + ; + ;When you use ^A or ^F to move a word at a time, WordStar uses the + ;following table to determine which characters to skip. It is organized + ;in the same manner as LGLCHR above. + ; +07DE MOVCHR::; 01234567 89ABCDEF +07DE FF 92 DB 11111111B,10010010B ;Codes 00H to 0FH +07E0 FB C3 DB 11111011B,11000011B ;Codes 10H to 1FH +07E2 3F F5 DB 00111111B,11110101B ;Codes 20H to 2FH +07E4 FF CE DB 11111111B,11001110B ;Codes 30H to 3FH +07E6 FF FF DB 11111111B,11111111B ;Codes 40H to 4FH +07E8 FF FF DB 11111111B,11111111B ;Codes 50H to 5FH +07EA FF FF DB 11111111B,11111111B ;Codes 60H to 6FH +07EC FF FE DB 11111111B,11111110B ;Codes 70H to 7FH +07EE FF 92 DB 11111111B,10010010B ;Codes 80H to 8FH +07F0 FB C3 DB 11111011B,11000011B ;Codes 90H to 9FH +07F2 3F F5 DB 00111111B,11110101B ;Codes A0H to AFH +07F4 FF CE DB 11111111B,11001110B ;Codes B0H to BFH +07F6 FF FF DB 11111111B,11111111B ;Codes C0H to CFH +07F8 FF FF DB 11111111B,11111111B ;Codes D0H to DFH +07FA FF FF DB 11111111B,11111111B ;Codes E0H to EFH +07FC FF FE DB 11111111B,11111110B ;Codes F0H to FFH + + ; + ;Certain special characters can be inserted into this table to cause + ;WordStar to automatically generate a backspace character (^H) preceding + ;the character as you type. This can be especially useful for accent + ;characters in some foreign languages. + ; +07FE AUTOBS:: ;Automatic backspace table +07FE 00 DB 0 ;Number of characters in table +07FF 00 00 00 00 DB 0,0,0,0 ;Up to 8 character codes +0803 00 00 00 00 DB 0,0,0,0 + + ; + ;When WordStar gets a file for editing, it will use the following + ;initial conditions. + ; +0807 INIDOC:: ;Document initializations + +0807 03 DB 3 ;Top of page margin. + +0808 08 DB 8 ;Bottom of page margin. + +0809 42 DB 66 ;Total lines per page. + +080A 0001 DW 1 ;Initial page number (note 2 bytes). + +080C FF DB TRUE ;Page number prints at bottom of page + ;if TRUE. No page number if FALSE. + +080D 1C DB 28 ;Column where page number prints. + +080E 02 DB 2 ;Heading margin. This is the number of lines + ;above the text where the heading is to print. + +080F 02 DB 2 ;Footing margin. This is the number of lines + ;below the text where the footing is to print. + +0810 07 DB 00000111B ;Default document tab mask (must be + ;binary, 00000000B through 01111111B). + +0811 08 DB 8 ;Left column where printing starts. + +0812 FF DB TRUE ;Bidirectional printing if TRUE. Just + ;unidirectional or printer controlled + ;if FALSE. (Many printers do not allow + ;software control of print direction). + +0813 FF DB TRUE ;Letter quality printing if TRUE. Draft + ;quality if FALSE. (Only supported on + ;some printers.) + +0814 02 DB 2 ;Microjustified printing. 0 turns it off, + ;1 turns it on, and 2 makes it discretionary + ;(depending on the printer driver in use). + +0815 00 DB FALSE ;Underline blanks between words if TRUE. + ;NOTE: Not implemented for all printers. + +0816 0C DB 12 ;Standard character width (in HMI units). + ;The printer is reset to this when done + ;printing. + +0817 08 DB 8 ;Standard line height (in VMI units). The + ;printer is reset to this after .LH dot + ;commands. It is also used to determine + ;the page size in VMI units by multiplying + ;by the lines per page above. + +0818 0C DB 12 ;Character width (in HMI units) + ;for normal pitch. If HMI is 120, ten pitch + ;is 12/120, twelve pitch is 10/120. + +0819 0A DB 10 ;Character width for alternate pitch (use + ;^PA to select alternate pitch while editing). + +081A 03 DB 3 ;Subscript and superscript roll (in VMI + ;units). This value determines how + ;far up or down the carriage moves when + ;subscripting or superscripting. + +081B 08 DB 8 ;Line height (in VMI units). This value + ;determines how far to roll the carriage + ;to get to the next line. + + ; + ;The default ruler line can be described by defining the following values. + ;Note that the tab stop tables must contain values in ascending order only. + ;The regular tab stops are put in the table first, immediately followed by + ;the decimal tabs. + ; +081C INIRLR:: ;Ruler data + +081C 01 DB 1 ;Left ruler margin + +081D 41 DB 65 ;Right ruler margin + +081E 00 DB 0 ;Paragraph margin + +081F 0B DB 11 ;Eleven tabs +0820 06 0B 10 15 DB 6,11,16,21 ;Tab stops +0824 1A 1F 24 29 DB 26,31,36,41 ;(Must be in +0828 2E 33 38 DB 46,51,56 ;ascending order) +082B 00 00 00 00 DB 0,0,0,0 ;Space for 4 more + +082F 00 DB 0 ;No decimal tabs +0830 00 00 00 00 DB 0,0,0,0,0,0 ;Space for 6 +0834 00 00 + +002F inisiz EQU $-INIDOC ;Size of document initialization + + ; + ;INIRLI determines whether the ruler line is re-initialized from INIRLR each + ;time any document is edited. If INIRLI is FALSE, you can change the initial + ;ruler line with ^OL, ^OR, ^OI, and ^ON commands, and have those changes + ;be used for every document edited until you exit WordStar. + ; +0836 INIRLI:: +0836 FF DB TRUE ;Initialize ruler for each document + + ; + ;As you move through a document, WordStar executes some of the dot commands, + ;like .RR ruler line commands, as they are encountered. As WordStar moves + ;forward through the text, the old ruler line is stored in memory so that it + ;can be restored when you move backwards over the .RR later. Other dot + ;commands work in a similar manner. + ; + ;DSTKSZ is used to allocate storage for the dot commands. While you are + ;editing, WordStar puts a Dot-Limit indicator in the status line if you + ;use too many dot commands. + ; + ; Dot Command Size + ; .RR 26 + ; .RM .LM .LH .PL 1 + ; .MT .MB 1 + ; .PN 2 + ; +0837 DSTKSZ:: +0837 01F4 DW 500 ;Room for 19 .RR commands or 500 .RM & .LM + + ; + ;INIDIR determines whether the directory is initially displayed or not. + ;DIRSRT tells WordStar whether or not to sort directories in alphabetical + ;order before displaying them. + ; + +0839 INIDIR:: +0839 FF DB TRUE ;Directory on + +083A DIRSRT:: +083A FF DB TRUE ;Sort directory in alphabetical order + + ; + ;INIHLP is the default help level. It can have a value from 0 to 3. + ; + +083B INIHLP:: +083B 03 DB 3 ;Maximum help level at start + + ; + ;When editing, the last erasure can be undone with ^U. UNONE determines + ;whether single character erasures with ^G and DEL can also be undone. + ; + ;UNSIZE is the maximum erasure that can later be undone. The unerase + ;buffer shares the same memory space as the text you are editing. Making + ;UNSIZE very large may cause WordStar to "spill over" to disk more + ;frequently, slowing down editing. + ; +083C UNONE:: ;Don't unerase single characters +083C 00 DB FALSE + +083D UNSIZE:: +083D 01F4 DW 500 ;Maximum unerase size + + ; + ;VMSIZE indicates the number of 128-byte records that can be read from + ;the disk for WordStar's messages and menus. + ; +083F VMSIZE:: +083F 04 DB 4 ;Four records (.5k byte) + + ; + ;EDSIZE indicates the minimum number of records of edit buffer required + ;to edit a document properly. WordStar must be able to keep a whole + ;page in memory to determine page breaks and line numbers correctly. + ;Less memory can sometimes be used with occasional strange results. + ;(Non-documents are automatically allocated a minimum of 6 records.) + ; +0840 EDSIZE:: +0840 1C DB 28 ;Enough memory for an average full page + + ; + ;BFSIZE is the number of 128-byte records that WordStar uses for its + ;general purpose buffer. There is a different buffer allocation for + ;editing, the Opening Menu, and for merge printing. + ; + ;This buffer is used for: + ; + ; - File directories (each file uses 11 bytes), + ; - Printer driver directory (each driver uses 11 bytes and 256 + ; bytes are used for buffering), + ; - File copies, + ; - Block reads and writes, + ; - Merge printing. + ; +0841 BFSIZE:: +0841 10 DB 16 ;Edit buffer size (16 records = 2k) + ;(Minimum is 1 record) + +0842 10 DB 16 ;Opening menu buffer size + ;(Minimum is 3 records) + +0843 10 DB 16 ;Merge print buffer size + ;(Minimum is 1 record) + + ; + ;If a document becomes too large to fit in memory at one time, WordStar + ;begins to "spill" the excess to the disk. TYSIZE determines how many + ;128-bytes records to use for each spillover. Picking a correct size + ;is important but can usually be done by trial and error. If TYSIZE is + ;too large, you may see long delays during scrolling or typing when memory + ;fills. + ; +0844 TYSIZE:: +0844 10 DB 16 ;Number records read or stored while typing + +0845 00 00 00 00 DB 0,0,0,0 ;Reserved + + ; + ;A "find" or "find and replace" uses the INIFIN options if you do not + ;explicitly enter any at the "Options?" prompt. The possible options + ;that can be used are: + ; + ; W whole words only + ; U ignore case + ; B backwards search + ; G whole file + ; R rest of file + ; N replace without asking + ; + ;Blank the unused options. + ; +0849 INIFIN:: +0849 20 20 20 20 DB ' ' ;No options +084D 20 20 + + ; + ;The status line is usually displayed at the top of the screen. + ;INISTA lets you always turn it off. STFILL specifies what character + ;to use to fill unused space in the status line. + ; +084F INISTA:: +084F FF DB TRUE ;Display status line + +0850 STFILL:: +0850 20 DB ' ' ;Fill with blanks + + ; + ;When paragraphs are aligned with ^B or ^QU and hyphen help is on, HYMAX + ;is used to determine when to ask the user to hyphenate a word. + ; +0851 HYMAX:: +0851 05 DB 5 ;Ask user when the word extends more than 5 + ;characters past the right margin + + ; + ;When WordStar asks a question that requires a Y for yes or N for no response, + ;YNCR indicates whether or not the user must push the RETURN key before + ;WordStar will accept it. + ; +0852 YNCR:: +0852 00 DB FALSE ;Don't wait for RETURN key + + ; + ;WordStar can index every word in a document as well as selected words and + ;phrases. IDXALL determines whether this is the default or not. + ; +0853 IDXALL:: +0853 00 DB FALSE ;Don't index every word + + ; + ;Using ^B or ^QU in a nondocument normally strips the eighth bit from + ;each character in a line. STRPFL can disable stripping. + ; +0854 STRPFL:: +0854 FF DB TRUE ;Stripping is enabled + ; + ;Editor Entry Conditions + ; +0855 INIEDT:: +0855 FF DB TRUE ;Right justification when typing +0856 FF DB TRUE ;Word wrap when typing at end of line +0857 FF DB TRUE ;Insert on +0858 FF DB TRUE ;Print controls displayed +0859 00 DB FALSE ;No hyphen help +085A FF DB TRUE ;Ruler displayed +085B 00 DB FALSE ;Block column mode off +085C 00 DB FALSE ;Block column replace mode off +085D 01 DB 1 ;Single spacing +085E 02 DB 2 ;Scrolling speed +085F 00 DB FALSE ;Proportional spacing off +0860 00 DB FALSE ;Soft space not displayed + +0861 00 00 00 DB 0,0,0 ;Reserved + ; +000F iniesz EQU $-INIEDT ;Size of editor conditions + + ; + ;The following are special characters that affect how numbers are + ;evaluated and dispayed. + ; +0864 COMCHR:: +0864 2C DB ',' ;Comma to separate 1,000's + +0865 DECCHR:: +0865 2E DB '.' ;Decimal point + + ; + ;The following flags are used to control the way WordStar processes + ;certain commands. CTLNFL and CTLHFL are provided primarily to allow + ;WordStar 3.3 users to use ^N and ^H in the same way as they are accustomed. + ; +0866 CTLNFL:: +0866 FF DB TRUE ;Set non-zero if ^N to break line and + ;RETURN moves down a line when insert off. + ;Set to zero so ^N converts paragraph lines + ;and turns auto indent on/off for + ;nondocuments, and RETURN always inserts CRLF. + +0867 CTLHFL:: +0867 00 DB 0 ;Set non-zero if ^H to be same as ^S instead + ;of DEL. + +0868 CASEFL:: +0868 00 DB 0 ;Set non-zero if ^^ is case toggle. When + ;zero and CLTNFL is non-zero, use as + ;paragraph line and auto-indent on/off. + +0869 DELFLG:: +0869 00 DB 0 ;Set non-zero if DEL erases to left, zero + ;to erase to right (like ^G). + +086A BLKFLG:: +086A FF DB 0FFH ;Set non-zero if the cursor should move + ;to column 1 if the cursor is next to a block + ;marker at the left edge of the screen + +086B LSPFLG:: +086B 00 DB 0 ;Set non-zero if lines with soft carriage + ;returns should not be added to paragraphs + ;for line spacing other than 1 + + ; + ;RLRVID allows the user to select video attributes used to highlight + ;the ruler line. See VIDATT for bit definitions. + ; +086C RLRVID:: +086C 00 DB 0 ;No ruler highlighting + + ; + ;AHEAD indicates whether type ahead is allowed for ^E, ^X, ^W, ^Z, + ;^G, DEL, ^T, ^Y, ^QY, and ^QDEL. If AHEAD is 0, WordStar's type + ;ahead buffer will be flushed whenever one of the functions is + ;encountered. If it is non-zero, no flushing will occur. This + ;flag should be used primarily for external keyboard enhancers where + ;the functions shown above are to be used. WordStar's function key + ;and shorthand processing automatically compensate. + ; +086D AHEAD:: +086D 00 DB 0 ;Flush + + ; + ;Maximum size for the shorthand definitions. Should be optimized to + ;match actual usage since it reduces the amount of memory available + ;for text while editing and printing. The size of each definition + ;is equal to 5 plus the number of characters defined. If this value + ;is smaller than the size of the shorthand file (see SVFILE above), + ;only some of the definitions will be used. Setting it to zero + ;disables shorthand and makes the ESC key clear the screen instead. + ; +086E HANMAX:: +086E 04 DB 4 ;Size of shorthand buffer in records + ;(4 times 128 = 512 bytes) + + ; + ;With shorthand you can insert the dollar-formatted results of the last + ;math you performed. WordStar uses the format below when you do this. + ;(Make sure that the character count includes the zero at the end.) + ; +086F DOLLAR:: +086F 11 DB 17 ;Character count +0870 2D 2D 2C 2D DB '--,---,---,---.99' +0874 2D 2D 2C 2D +0878 2D 2D 2C 2D +087C 2D 2D 2E 39 +0880 39 +0881 00 00 00 DB 0,0,0 ;Spare + +0884 00 00 00 00 DB 0,0,0,0,0,0,0,0 ;Reserved +0888 00 00 00 00 +088C 00 00 00 00 DB 0,0,0,0,0,0,0,0 +0890 00 00 00 00 + + ; + ;EXTRA is a large buffer area for general patching. Some versions of + ;the WINSTALL installation program use EXTRA. Whenever EXTRA is used, + ;RAM1ST must be changed to point to the first available byte within EXTRA + ;that is still available for WordStar's use. If all of EXTRA is used, + ;RAM1ST should point to endpat. + ; +0894 RAM1ST:: +0894 0896 DW EXTRA ;First location in EXTRA that WordStar can use + ; +0896 EXTRA:: DS 512 ;Patch area +0A96 endpat:: ;End of patch area + + +0A96 08 0C 57 UDATE: DB 08,12,87 ;User area version date + + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/PRINT.TST b/Source/Images/hd_cpm3/s1/u0/PRINT.TST new file mode 100644 index 00000000..b8dc204a --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/PRINT.TST @@ -0,0 +1,143 @@ +.hePRINT.TST Features of Your Printer +.f1 WordStar +.f2 Print test +.f3 Page # +.oj on + WordStaò anä Youò Printer + +WordStar‚  workó  witè á widå rangå oæ printeró anä offeró  yoõ  á +varietù oæ prinô enhancements® Whetheò youò printeò caî producå +thå  prinô enhancementó outlineä iî thió documenô dependó oî  itó +capabilities®   Pleaså notå thaô noô alì printeró arå capablå  oæ +showinç alì thå exampleó below. + +Speciaì Printinç Capabilities + +WordStaò supportó thå followinç speciaì printinç capabilities: + + ª Boldface¬ Doublå strike + * Italics/Alternatå ribboî color + * Strikå out + * Overprinô (aó iî co^te) + * Noncontinuouó underline¬ anä +.ul on + * Continuouó underline +.ul off + + * SuperScript¬ SubScript + + * anä almosô anù combinatioî -­ WordStar + +Characteò Width + +Somå  printeró  wilì  supporô  WordStar‚  commandó  foò   variablå +characteò widths® + +.cw 24 +µ characteró peò inch® (.C× 24) +.cw 20 +¶ characteró peò inch® (.C× 20) +.cw 14 +8.¶ characteró peò inch® (.C× 14) +.cw 12 +1° characteró peò inch® (.C× 12) +.cw 10 +1² characteró peò inch® (.C× 10) +.cw 7 +17.± characteró peò inch® (.C× 7) +.cw 12 + +Youò printeò caî alsï bå seô tï "toggle¢ betweeî normaì pitcè anä +alternatå pitch: + +     Thió  sentencå ió printeä witè thå normaì 1°-pitcè  setting¬ +     theî toggleä tï 1² pitch¬ theî bacë tï normal. +.cw 7 + +Yoõ caî alsï changå thå normaì anä alternatå characteò widths: + +.cw 14 +.rm 55 +     Thå  "normal¢ characteò widtè ió 1´ (8.¶ cpi©  anä +     thå alternatå characteò widtè ió · (17.± cpi). +.pa Š.rm 65 +.cw 10 + +.cw 12 +Linå Height + +Yoõ caî alsï uså differenô linå heights. + +.lh 16 +Thió ió aî examplå oæ variablå linå height® (.LÈ 1¶ ­ ³ lpi) +.lh 12 +Thió ió aî examplå oæ variablå linå height® (.LÈ 1² ­ ´ lpi) +.lh 8 +Thió ió aî examplå oæ variablå linå height® (.LÈ ¸ ­ ¶ lpi) +.lh 6 +Thió ió aî examplå oæ variablå linå heighô® (.LÈ ¶ ­ ¸ lpi) +.lh 8 + +Proportionaì Printing + +.ps on +.uj on +WordStar‚  alsï supportó proportionaì printinç foò  mosô  printeró +thaô  havå  it®   Yoõ  selecô  proportionaì  fontó  bù   changinç +characteò widthó aó iî thå followinç examples: + +.cw 22 +Thió ió characteò widtè 22. +.cw 11 +Thió ió characteò widtè 11. +.cw 9 +Thió ió characteò widtè 9. +.cw 7 +Thió ió characteò widtè 7. +.uj dis +.ps off +.cw 12 + +Other + +Phantoí Spacå¬ Phantoí Rubout + +WordStaò maù allo÷ yoõ tï prinô speciaì characteró (foò  example¬ +á  paragrapè  sigî  oò centó sign© bù  usinç  thå  phantoí  spacå +commanä (^PF© oò thå phantoí rubouô commanä (^PG© iî á  document® +Foò  youò  printer¬ thå phantoí spacå characteò isº  ¬  anä  thå +phantoí rubouô characteò isº . + +Switchinç tï Drafô Mode + +.lq off +Doô matriø printeò driveró allo÷ switchinç froí NLÑ (neaò  letteò +quality© modå tï drafô modå foò fasteò printing. +.lq on + +Microspacå Justification + +.uj on +WordStar‚   allowó  microspacå  justification¬  iæ  youò   printeò +supportó  it¬ tï producå evenlù spaceä wordó iî  justifieä  text® +Microspacinç spreadó thå whitå spacå betweeî wordó (anä sometimeó +betweeî thå letteró oæ eacè word© aó evenlù aó possible® +.uj dis +.pa ŠLookinç Aô Thió Filå Onscreen + +Iæ  yoõ wanô tï seå thå embeddeä commandó thaô produceä thå  texô +yoõ arå no÷ reading¬ follo÷ theså steps: + +1 Aô thå Openinç Menu¬ presó D‚ tï ediô á document. + +² Aô thå prompô foò filename¬ typå print.tsô anä presó Enter. + +Noticå thaô thå texô onscreeî includeó somå characteró thaô don'ô +appeaò  iî  thå  printeä copy® Foò example¬ á  headinç  linå  ió +identifieä  bù  thå  doô  commanä .he®   Wordó  iî  boldfacå  arå +surroundeä bù ^ anä appeaò eitheò highlighteä oò iî á  differenô +coloò oî youò screen. + +Tï continuå viewinç thå contentó oæ thió file¬ ¬ presó ^C® Presó +^R‚ tï movå iî thå otheò direction. + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/READ.ME b/Source/Images/hd_cpm3/s1/u0/READ.ME new file mode 100644 index 00000000..3f1cf909 --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/READ.ME @@ -0,0 +1,2141 @@ + --THE README FILE-- + ------------------------ + +README contains late-breaking news and tips about WordStar, +and information about printers. + + +THE DISKS THAT CAME IN YOUR PACKAGE +----------------------------------- + +The file HOMONYMS.TXT is included on the Speller disk +contrary to what is listed in Appendix D. + + +INSTALLATION +------------ + +WINSTALL and WSCHANGE + + WordStar has two installation programs: + + o WINSTALL contains the basic choices to install WordStar. + It is recommended for all users. + + Be sure and install your valid disk drives since WordStar + running under CP/M cannot recover from attempts to access non- + existent disk drives. + + o WSCHANGE contains every installation and customization + choice. It is designed for advanced users and users who + want to customize WordStar after they're familiar with it. + Use the menu listing below for a directory of the menus + in WSCHANGE. + +Directory of WSCHANGE Menus + + The chart below shows the organization of menus in WSCHANGE. + Print it out and refer to it as you customize WordStar. + + Main Installation Menu + + A Console + A Monitor + A Monitor selection + B Monitor name + C Screen sizing + B Function keys + C Monitor patches + A Special characters + B Cursor control + C Screen control + D Keyboard patches + A Function keys + B Save function keys + E Interface patches + A Console busy handshaking + B Special I/O subroutines + B Printer + A Printer choices + A Printer selection + B Printer name + C Default printer driver + B Printer driver library + A Select library file + B Create smaller library + C Add new printer driver + D Change printer driver data + C WS printer patches + A Custom print controls, printer initialization + + NOTE: Disregard the "CUSTOM & SIMPLE Controls Save CUSTOM/SIMPLE + Controls" option shown. This is not available from this menu. + + D Printing defaults + E Printer interface + A Printer port selection + B Printer busy handshaking + C Printer subroutines + C Computer + A Disk drives + A Valid disk drives + B Maximum valid user number + C Delay disk access if typing + B Operating system + A Single-user system + B Multi-user MP/M + C Multi-user Turbo DOS + D ZCPR3 + C Memory usage + D WordStar files + E Directory display + F Computer patches + D WordStar + A Page layout + A Page sizing & margins + B Headers & footers + C Tabs + B Editing settings + A Edit screen & help level + B Typing + C Paragraph alignment + D Blocks + E Erase & unerase + F Lines & characters + G Find & replace + H WordStar 3.3 compatibility + I Printing defaults + C Other features + A Spelling checks + B Nondocument mode + C Indexing + D Shorthand (key macros) + E Merge printing + F Miscellaneous + E Patching + A Auto patcher + B Save settings + C Reset all settings + +MEMORY USAGE +------------ + + WordStar requires a minimum TPA size of 50 kbytes to run + using the factory defaults. The TPA is the amount of memory + available in your computer for use by programs that have a + file type of COM. To see how big the TPA is in your computer, + press the question mark key (?) at the Opening Menu. + + The amount of memory required by WordStar can be reduced by + approximately 3 kbytes if necessary. Use the WSCHANGE program + to select the minimum memory configuration option. The menu + will show you what capabilities are being reduced. + + WordStar uses a general-purpose buffer for a variety of + tasks. WordStar allocates memory to this buffer for editing, + for merge printing, and at the Opening Menu (see BFSIZE in + PATCH.LST). The buffer used for editing is usually the most + sensitive to a reduced TPA size. (You may be able to use the + Opening Menu and print, but there may be insufficient memory + for editing.) + + The merge print buffer is used only to hold merge print + variable names and data. Increase it if you run out of memory + while merge printing. + + The Opening Menu buffer is used primarily to hold the file + directory, and for miscellaneous tasks. + + +LOW-MEMORY INDICATOR IN STATUS LINE +----------------------------------- + + If the Low-Memory indicator appears in the status line, it + means that WordStar was unable to complete some function. + The most common symptoms are: the line number in the + status line is wrong, or a paragraph alignment could not be + completed. You may correct the line counter by saving your + file, exiting WordStar, and re-loading your file. To correct + the paragraph alignment, move your cursor to the point where + paragraph alignment stopped, and then press ^B again. + + The reason this comes up is that WordStar was not able to fit + a big enough chunk of text into memory at one time. + + When you first begin editing, WordStar uses the value from + EDSIZE in the user area to determine the minimum amount + of memory required for a page of text. The default + is set for approximately a 55 line by 66 column page. If + your page size is routinely larger than this, you may want + to increase EDSIZE. Multiply the number of lines by the + number of columns, and divide by 128. + + If the Low-Memory indicator comes on while printing, it is due + to either the same reasons as for editing, or there is + insufficient memory to print the text proportionally spaced. + The amount of memory required depends on which printer + driver you are using. If you aren't using the .PS ON dot + command to turn proportional spacing on in your document, + low memory won't be a problem. Also, WordStar uses more + memory for merge printing than it does for regular printing + (around 2.5 kbytes more). + + The Low-Memory indicator will also appear when a full disk error + is encountered during editing. Treat the disk-full error as you + would normally. + + +RAM-RESIDENT PROGRAMS +--------------------- + + RAM-resident programs, such as SmartKey, reduce the amount of + working memory (TPA) that WordStar can use. The new features in + WordStar, such as shorthand, may reduce the need for these + RAM-resident programs, thus freeing memory for WordStar. + + +ZCPR3 SUPPORT +------------- + + In order to enable the ZCPR facilities within WordStar, the user + must use the Z3INS utility provided with ZCPR to install the + address of the ZCPR "environment" into WordStar. The environment + contains information that WordStar uses to support ZCPR-specific + functions. + + Generally, the user should log onto the drive containing the file + WS.COM, and issue the command: + + Z3INS SYS.ENV WS.COM + + The user should also run either WINSTALL or WSCHANGE to further + install WordStar for ZCPR. However, this is not mandatory because + the only thing that happens is that the WordStar sign-on says + "ZCPR3," and the LGLUSR location in the user area is changed for a + maximum user number of 31. (The normal default for LGLUSR is 15.) + + Once the user has installed WordStar for use with ZCPR, the user + will be able to use the following ZCPR features: + + - A named directory may be used when logging onto a new drive/user. + + - A named directory may be used instead of a drive/user as part + of any file name. + + - The drive/user always appears above file directories. (For CP/M + only the drive letter is shown if the user number is zero.) + + - The directory name also appears above the directory if one has + been defined for the currently logged drive/user. + + - If WordStar does not find its OVR files on the current drive and + user, it will search the drives and user numbers in the ZCPR + search path rather than using its standard search pattern. + + - WordStar installs itself as a ZCPR "shell" process which lets the + user enter any legal ZCPR command when running a program. (CP/M + can only run programs that are COM files.) + + +OSBORNE USERS +------------- + + The command to change a hard carriage return to a soft carriage + return (document mode) or to turn Auto-indent ON (nondocument + mode) does not function on the Osborne because of a limitation + in its BIOS. The following patch can be applied to change the + command from ^^ to ^- (Ctrl-Hyphen): + + Using DDT or SID in the file WSMSGS.OVR: + + At 02DA replace 1E with a 1D + At 02EF replace 1E with a 1D + At 0359 replace 1E with a 1D + At 06B2 replace 1E with a 1D + At 06C9 replace 1E with a 1D + + At the system prompt type SAVE 53 WSMSGS.OVR + + For more information on how to use SID or DDT, see your CP/M + reference guide. As always, be sure and apply the patch to a + COPY of the file. + + +INSTRUCTIONS FOR TWO FLOPPY DISK COMPUTERS +------------------------------------------ + + Do not remove the Program disk while you are using WordStar. + + The Printer Driver Library file (WSPRINT.OVR) on the WordStar + program disk is much smaller than the Printer Driver Library + file contained on the disk labeled PRINTER. Be sure to read the + section in "Starting" that discusses the printer library file. + + +RUN A PROGRAM +------------- + + Once you press R you can type the drive and user number for the + program you want to run. You may run only .COM files. CCP commands, + such as DIR cannot be used. + + +INDEXING +-------- + +Using StarIndex + + StarIndex 1.01 works with files created with this release of + WordStar. + +"Can't Use That Printer" Message + + When WordStar creates an index or table of contents, it uses + the printer drivers $INDEX and $TOC. If you created a smaller + WSPRINT.OVR file, you may have left these drivers out. To + return them to the file, copy the original WSPRINT.OVR file + onto your disk. When you create a smaller file again, be sure + to save these drivers. See Appendix C in the WordStar manual + for a list of other drivers to save. + + +SPELL CHECKING +-------------- + + Dual floppy disk users: + + Unless you have sufficient room on your working WordStar program + disk for the files TW.COM, SPELL.COM, MARKFIX.COM, REVIEW.COM and + MAINDICT.CMP you will not be able to run a spell check from the + Opening Menu. You will need to exit WordStar and replace the + working WordStar program disk with the dictionary disk you created + during installation. This disk should contain the files listed + above. Make sure the disk in drive B has the file you want to + spell-check. + + Follow the directions for running a spell check in The WORD Plus + manual. + + +UPGRADING FROM A PREVIOUS RELEASE +--------------------------------- + + This release of WordStar contains many new features and commands. + See the "What's New" booklet for a complete list. The following + changes came in too late to be included in the documentation. + +Printer Patches + + Previous versions of WordStar treat most dot matrix printers + and other non-daisy wheel printers as a DRAFT printer with a + few patchable items. Because of this, many users have used + these patches to be able to use certain features of their + printers. Sometimes the patches have been quite extensive, and + some users have many files that count on them. + + The printer drivers of WordStar Release 4, on the other hand, + are very powerful. Almost every driver recognizes all the print + controls and all the dot commands. In fact, if a document is + written to be printed on one kind of printer, it is likely that + it will also print fine on some other printer. + + However, if you want to use your existing files with WordStar + 4, and those files rely on the user area being patched in a + special way, you can probably do so by moving the patches into + WordStar 4, and using the CUSTOM or SIMPLE printer driver. + + On the INSTALL disk is a program called MOVEPRN.COM that + copies the printer driver portion of the previous release's + user area into files that can be installed into Release 4 with + the "auto patcher" feature. + + Copy the program MOVEPRN.COM onto the disk containing the + WS.COM file for the previous version. Type + + MOVEPRN WS.COM FILE1.PAT FILE2.PAT + + MOVEPRN extracts the proper portions of the user area and + writes them into two files that may then be used with the "auto + patcher" feature of WSCHANGE. + + FILE1.PAT is to be used with the general patching menu + (Choose E "Patching" on the WSCHANGE Main Menu, then A "Auto + Patcher"). FILE2.PAT should be used to install strings first + into the SIMPLE driver, and then into the CUSTOM driver (choose + B "Printer" on the WSCHANGE Main Menu, then B "Printer driver + library", D "Change printer driver data" and D "Driver auto + patcher"). + + Test print your document first with the SIMPLE driver, and then + with the CUSTOM driver to see which one produces the most + satisfactory results. + + Also read Appendix C for more information on using the Auto + Patcher. + + +Hanging Indents + + For WordStar Professional Release 4, MailMerge reformats indented + text created with ^OG to the current margins. If you want the text + to remain indented, use embedded ruler lines or the .RM, .LM, + and .PM commands. See the "Reference Guide" for more information. + + Pressing ^OG to wrap back to the first tab on the ruler line after + having reached the last tab works the same way it did in previous + versions of WordStar, contrary to what is stated in the manual. + + +TERMINALS +--------- + + WordStar comes installed for an "idealized" special terminal. + WINSTALL and WSCHANGE allow you to install many terminals by + name, thus allowing WordStar to take advantage of the special + features that the terminal might support, such as underlining + or the function keys. + + Use either WINSTALL or WSCHANGE to pick your specific terminal + or computer screen from the Monitor menu. If your terminal + isn't on the menu, it probably emulates one of those that is + there. Look in your terminal documentation to find out. + + After you install WordStar for the proper terminal, run + WordStar and open the file PRINT.TST to see which attributes + (such as bold and underline) work on your screen. + WordStar will highlight the following in some way... + + Bold (^PB) + Underline (^PS) + Strike-out (^PX) + Subscript (^PV) + Superscript (^PT) + Doublestrike (^PD) + Italics (^PY) + Blocks (^KB, ^KK) + Error messages + + Most of the time, normal text will be shown in dim intensity, + and highlighted text will be shown in bright intensity. You + may have to use a brightness and/or contrast knob to adjust + your screen the first time you use WordStar this way. + + If your dim intensity is too dim to see well, and you can't + adjust it, you can change the BRITE flag to ON using WSCHANGE. + This will invert bright and dim in your text, so that regular + text is displayed bright, and highlighted text will be + displayed as dim. However, text in the menus is not affected. + + +DISPLAY PROBLEMS WITH TERMINALS +------------------------------- + + Once you have installed WordStar for the proper terminal, you + may still experience display problems. + + If text from the previous screen remains after WordStar + displays a new screenful of text, the most likely cause is + cursor wrap. Basically, WordStar must know what happens to the + cursor when a character is displayed at the rightmost position + of the screen. It can either remain at the right edge, or it + can wrap to the beginning of the next line. The WRAP flag in + WordStar must be set either on or off to correspond to the + way the terminal works. (It is generally set for the + terminal's factory default, but the default can usually be + changed using the terminal's setup mode.) + + Another possible cause for display problems is your terminal's + incomplete emulation of some other terminal. The most + common differences are... + + Line insert (LININS), line delete (LINDEL), + Erase to end of screen (ERAEOS), + Erase to end of line (ERAEOL), + And, erase screen (ERASCR). + + Look in the manual for your terminal and use WSCHANGE to see + if the control sequences match. + + +PRINTERS +-------- + +WHAT'S IN THIS SECTION + + This section contains the following information: + + Choosing a Printer + Setting Up Your Printer + Printer Drivers + Proportional Printing + Laser Printers + Information on Specific Printers + +CHOOSING A PRINTER + + WordStar is ready to work with over 100 printers. The printer you + choose during installation becomes your default printer. However, + when you print a document, you can choose any other printer. To + choose a default printer, follow these steps: + + 1. Look at the Printer Information brochure that came in your + package. The first chart shows the printers listed on the + Printer Selection Menus. If your printer is on the menu, + simply choose it during installation. + + 2. If your printer isn't listed on the menu, it may work like a + printer that is. Refer to the second chart in the Printer + Information brochure for a list of printers that work like + printers on the menu. When WordStar asks you to choose a + printer, choose the printer that works like yours. + + 3. If neither chart lists your printer, choose Typewriter Printer + (if your printer can backspace) or Draft Printer (if it can't). + These choices may not take advantage of all your printer's + features, but they will work with almost any printer. + + Note: If you choose Draft or Typewriter, you can modify custom + print controls and printer initialization. + + If you want to make more modifications to take advantage of your + printer's feature, choose the Custom or Simple drivers, then use + the WS Printer Patches section of WSCHANGE to tell WordStar the + codes for your printer. Refer to your printer manual for these + codes. Some printers work better with the Custom driver and some + with the Simple driver. Try using both and see which works better + with your printer. See the "Reference Guide" for more information. + +SETTING UP YOUR PRINTER + +Choosing a Printer Port + + Each printer is connected to a printer port at the back of + the computer. WordStar looks for printers on the LST: port. + If your printer is connected to a different port, use + WSCHANGE to tell WordStar the correct port. + +Testing Your Printer Connection + + At the operating system prompt, type "PIP LST:=READ.ME." This + file should be printed by your printer. If it is not, your printer + may be connected to a different port. See your computer reference + manual, and the section on the STAT command in your CP/M + reference manual for more information. + + +PRINTER DRIVERS + + The WSPRINT.OVR file on the Printers disk contains a printer + driver for each printer on the Printer Selection Menu. The printer + driver for a printer contains all the codes WordStar needs to work + with that printer. + + Each printer driver has a short name. If you choose a printer when + you print a document, you see the names of the printer drivers, not + the names of the printers. + +PROPORTIONAL PRINTING + + WordStar supports proportional printing on a number of printers. + To turn on proportional printing, either install WordStar to + default to proportional printing, or place a ".PS on" command + in your document. At print time, WordStar selects the + appropriate proportional font based on the character width + (.CW) currently in effect. + + The specific printer descriptions later in this section show + recommended character widths for proportional typefaces. + These widths are for a normal mix of upper- and lowercase + letters. If you have many words or phrases all in uppercase + or if you want your text less densely printed, choose a larger + character width. + + While WordStar mostly sets character widths based on the + proportional-width table in the driver, on the more advanced + daisy wheel printers, WordStar uses the printer's proportional- + spacing mode. WordStar determines how much white space is needed + to right-justify the line based on its own proportional width + tables. If the table values don't match the wheel installed, + WordStar won't be able to justify the line correctly. + + WordStar sends standard ASCII characters; if a proportional wheel + uses a different spoke mapping, set up the printer to handle this. + +LASER PRINTERS + + WordStar supports laser printer features such as font changes + and proportional spacing. + + WordStar supports several laser printers: the Canon LPB-8 A1 & A2; + the Hewlett-Packard LaserJet, LaserJet+, and LaserJet 500+; + and the Ricoh LP4080. Refer to the "Specific Printer + Information" section of this file for information on these + printers. General notes about using laser printers are given below. + +Paper Size and Margins + + Laser printers come with preset page margins. You need to + compensate for these margins by changing page length in your + WordStar documents. The chart below shows the recommended + settings for 8 1/2 X 11 inch paper for both portrait and landscape + orientations. These settings allow 55 lines of text for portrait + orientation and 40 lines of text for landscape orientation (at 6 + lines per inch). They also allow for a footer of up to 3 lines + and a one-line header. If you use multiple-line headers, adjust + the top margin accordingly. + + Dot Default Portrait Landscape + Setting Command Value Orientation Orientation + ------- ------- ------- ----------- ----------- + page length .PL 66 62 47 + top margin .MT 3 2 2 + bottom margin .MB 8 5 5 + header margin .HM 2 1 1 + footer margin .FM 2 2 2 + + If the laser printer is your primary printer, you can use WSCHANGE + to make these settings the defaults. + + Because laser printers leave small margins at the left and right + sides of the page, you may want to use a smaller page offset + setting (the default is .PO 8). + +Form Feeds + + When you print with a laser printer, answer Y for yes to the "Use + form feeds (Y/N)?" prompt at print time. (The default is NO.) If + the laser printer is your primary printer, you can use WSCHANGE to + change the default to yes. + +WordStar Commands for Font Selection + + The WordStar dot commands and print control commands listed below + determine the fonts used for printing a document. + + .PR .PR OR=L selects landscape orientation; .PR OR=P (or just + .PR OR) selects portrait orientation (the default). If + either of these commands appears after the first printing + line on a page, the orientation will not change until the + following page. + + .PS .PS ON selects proportionally spaced characters; .PS OFF + (the default) selects fixed-spaced characters. + + .CW The character-width setting (.CW followed by the width in + 120ths of an inch) determines the character pitch and font + selected for fixed-width printing. For proportional fonts, it + determines the point size and proportional-width table + selected. + + .LQ .LQ ON selects near letter quality print (if supported by + your printer). LQ OFF selects draft quality print. Default + is ON. + + ^PY The italic print control toggles between normal and italic + characters when the appropriate italic font is available. + + ^PB The boldface print control toggles between normal and bold + characters when the appropriate bold font is available. + + ^PD The double strike print control used with the laser printers + toggles overprinting with a horizontal offset of 1/120" + between the two character images. This allows a bold effect + where no bold font is available. + + ^PA ^PA turns alternate pitch on. Use .CW to assign different + character widths to normal pitch (see ^PN below) and alternate + pitch so that each pitch accesses a different font. You can + then change fonts by switching between the two pitches. This + is the only way to use two fonts on the same line. + (See "Character width" and "Pitch" in the "Reference Guide.") + + ^PN ^PN turns normal pitch on. You can use it with ^PA as + described above. + + ^P@ When working with columns, if you use alternate and normal + pitch for two fonts, or if you use proportional spacing, you + may need to use ^P@ to make sure the columns line up. + Remember that the column position set with ^P@ is determined + by the normal pitch character width. (See "Columns" and + "Proportional spacing" in the "Reference Guide." + +INFORMATION ON SPECIFIC PRINTERS + + This section describes the capabilities of each printer listed on + the Printer Selection Menu. The printers are listed in alphabetical + order (except for the generic printers such as "Draft," + "Typewriter," "Custom," "Simple," and the various print-to-disk + options, which are listed first). + + There is a chart for each printer explaining how features work and + listing any special notes about the printer. Each printer is + described in the following format: + +PRINTER NAME ----- Driver: (short name) + + ^PY Effect of italics/ribbon color print control + ^PT/V Subscript/superscript information + .CW Information on available character widths and fonts. The + chart shows the .CW, .LQ, and .PS settings required to use + different fonts. + + .LQ OFF .LQ ON .PS ON Font Name + ------- ------ ------ --------- + .cw val .cw val recommended value (range) font 1 + .cw val .cw val recommended value (range) font 2 + + .UL Continuous-underline information (if restrictions) + .UJ Microspace-justification information (if restrictions) + + N/A means a command has no effect on this printer. + + NOTES Switch settings, special features, anomalies. + +DRAFT PRINTER (nonbackspacing) ----- Driver: DRAFT + + ^PD Overprints the line twice + ^PB Overprints the line three times + ^PS Overprints the underscore character in a separate pass + ^PT/V Prints super/subscripts with a full line between + super/subscript and text + .LH Sets line height only in multiples of full lines + .CW N/A + .PS N/A + .LQ N/A + .UJ N/A + + NOTES This driver works with any printer that doesn't automatically + perform a line feed when it receives a carriage return command. All + overprinting is done by returning the carriage and passing over the + line again. + +TYPEWRITER PRINTER (backspacing) ----- Driver: TYPEWR + + ^PD Backspaces and overprints each character twice + ^PB Backspaces and overprints each character three times + ^PS Backspaces and overprints the underscore character + ^PT/V Prints super/subscripts with a full line between + super/subscript and text + .LH Sets line height only in multiples of full lines + .CW N/A + .PS N/A + .LQ N/A + .UJ N/A + + NOTES This driver works with any printer that doesn't automatically + perform a line feed when a it receives a carriage return command, + and responds to a backspace character. Overprinting is done by + backspacing. + +AUTO LINE FEED PRINTER (backspacing) ----- Driver: AUTOLF + + ^PD Backspaces and overprints each character twice + ^PB Backspaces and overprints each character three times + ^PS Backspaces and overprints the underscore character + ^PT/V Prints super/subscripts with a full line between + super/subscript and text + .LH Sets line height only in multiples of full lines + .CW N/A + .PS N/A + .LQ N/A + .UJ N/A + + NOTES This driver works with any printer that automatically + performs a line feed when it receives a carriage return character, + and responds to a backspace command. Overprinting is done by + backspacing. + +SIMPLE CUSTOMIZABLE PRINTERS ----- Driver: SIMPLE + + All print controls cause control strings (on and off) in + the user area to be sent to the printer. These strings + are used by both the SIMPLE and CUSTOM drivers. They can + be installed with the WSCHANGE program. + + .LQ Controlled by user area strings + .PS Controlled by user area strings + .CW N/A + .UJ N/A + .LH N/A + + NOTES This printer driver prints the line in one pass, sending + control strings from the user area to select print enhancements. + +CUSTOMIZABLE PRINTERS ----- Driver: CUSTOM + + All print controls cause control strings (on and off) in + the user area to be sent to the printer. These strings + are used by both the SIMPLE and CUSTOM drivers. They can + be installed with the WSCHANGE program. + + .LQ ON/OFF controlled by user area strings + .PS ON/OFF controlled by user area strings + .LH Sets line height only in multiples of full lines + .UJ N/A + .CW N/A + + NOTES This driver prints the line in multiple passes, sending + control strings from the user area to select print enhancements. + +PREVIEW TO DISK ----- Driver: PRVIEW + + This driver prints documents to the PREVIEW.WS file to allow + you to preview the format and appearance of a document before + printing. Headers, footers, and pagination are shown correctly + and print controls remain in the file to display onscreen + attributes. Dot commands are not printed. + +PRINT TO DISK WITHOUT PRINT CONTROLS ----- Driver: ASCII + + This driver prints to the ASCII.WS file, stripping headers and + footers, high bits, and print controls. + +PRINT TO DISK WITHOUT HEADERS AND FOOTERS ----- Driver: XTRACT + + This driver prints to the XTRACT.WS disk file, stripping headers + and footers, but preserving high bits and print controls. + +ANADEX 9500A, 9500B ----- Driver: 9500 + + ^PY N/A + ^PT/V Even superscript roll + + .CW .CW Font name + --- --------- + 9 13.3 cpi + 10 12 cpi + 12 10 cpi + 18 6.7 cpi + 20 6 cpi + 24 5 cpi + + .LH 1/24" resolution, use even values + .UJ This printer has no incremental horizontal positioning + .PS N/A + .LQ N/A + +ANADEX 9501B, INTEQ 5100B ----- Driver: 9501B + + ^PY N/A + ^PT/V Even superscript roll + + .CW .CW Font name + --- --------- + 7 16.7 cpi + 8 15 cpi + 10 12.5 cpi + 12 10 cpi + 14 8.3 cpi + 16 7.5 cpi + 20 6.2 cpi + 24 5 cpi + + .LH 1/24" resolution, use even values + .UJ This printer has no incremental horizontal positioning + .PS N/A + .LQ N/A + +C. ITOH STARWRITER 1550 AND 8510 ----- Driver: C1550 + + ^PY N/A + ^PT/V Prints full-size characters with roll + + .CW .CW Font Name + --- --------- + 7 compressed + 10 elite + 12 pica + 14 expanded compressed + 20 expanded elite + 24 expanded pica + + .LQ N/A + .PS N/A + .UL Continuous underlining suppresses microspace justification + +C. ITOH F10 STARWRITER ----- Driver: QUME + + See Diablo 630, 1610, 1620 Daisy Wheel. + + Note: Proportional printing was tested with a Theme 10 wheel. + +CANON LBP-8A1 AND LBP-8A2 LASER PRINTER ----- Driver: LBP8 + + ^PY Selects italics if appropriate font installed + ^PT/V Prints full-size characters with roll + .PS .PS + .CW OFF ON Font Name + --- -- --------- + 6 - 20 cpi + 8 - 15 cpi + 9 - 13.3 cpi + 10 - 12 cpi (elite) + 12 - 10 cpi + 20 - 6 cpi + 24 - 5 cpi + 16 - 7.5 cpi + - 7 (0-8) Garland 8 point + - 10 (9-11) Garland 12 point + - 14 (12-17) Expanded 8 point + - 20 (18-30) Expanded 12 point + + .LQ N/A + .PL For 11 inch paper, a value of 62 is recommended + .PR OR "=Landscape" or "=Portrait" to select orientation + + NOTES Answer yes to the "Use form feeds" prompt. This driver is + configured to select all the built-in fonts in the LBP8, as well + as fixed pitch cartridges and the Garland PS cartridge. Other + proportional cartridges require modifying the proportional spacing + tables with WSCHANGE. For more information on laser printers, see + the "Laser Printers" section above. + +CITIZEN MSP ----- Driver: CITMSP + + ^PY Selects italics + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + + .CW .CW Font Name + --- --------- + 7 compressed + 10 elite + 12 pica + 14 expanded compressed + 20 expanded elite + 24 expanded pica + + .LH Use even values. Driver operates at 2/48 resolution. + .PS N/A + .UJ Microjustification slows printing. Continuous underlining + suppresses microjustification. + + +DATAPRODUCTS PAPER TIGER SPG-8050 & SPG-8070 ----- Driver: SP8050 + + ^PY Selects italics + ^PT/V Prints half-size if .SR 0; otherwise, prints full-size + .LQ .LQ .PS + .CW ON OFF ON Font name + --- --- --- --------- + 7 7 5 (0-6) condensed + 10 10 8 (7-8) elite + 12 12 10 (9-13) pica + 14 14 - expanded condensed + 20 20 16 (14-17) expanded elite + 24 24 20 (18-30) expanded pica + +DIABLO 630, 1610, 1620 DAISY WHEEL ----- Driver: DIABLO + + ^PY Selects red/black ribbon color + ^PT/V Prints super/subscripts in separate pass with specified roll + .CW Supports any value from 0 to 30. Usual fixed pitch values + are 8 (15 cpi), 10 (12 cpi), and 12 (10 cpi). + .BP ON selects bidirectional printing; OFF selects left-to-right + printing + .LQ N/A + .UL Continuous underlining does not suppresses microspace + justification. Continuous underlining may be irregular. + .PS ON selects proportional spacing; OFF selects fixed pitch + spacing. If a proportional print wheel has a non-standard + spoke pattern, configure the printer to translate spoke + position into the appropriate character. This driver + explicitly positions each character when proportional spacing + is selected. + + NOTES The proportional spacing tables are set up for a Diablo + metal 96 character BOLD PS wheel. + +DIABLO 630 DAISY WHEEL WITH WP OPTIONS ----- Driver: 630WP + + ^PY Selects red/black ribbon color + ^PT/V Prints super/subscripts in separate pass with specified roll + .CW Supports any value from 0 to 30. Usual fixed pitch values + are 8 (15 cpi), 10 (12 cpi), and 12 (10 cpi). + .LQ N/A + .UL Continuous underlining does not affect microspace justifi- + cation + .PS ON selects proportional spacing; OFF selects fixed pitch + spacing. If a proportional print wheel has a non-standard + spoke pattern, configure the printer to translate spoke + position into the appropriate character. This driver sends + codes to the printer to turn proportional spacing on and off, + and the printer controls character to character spacing. + + NOTES The proportional spacing tables are set up for a Diablo + metal 96 character BOLD PS wheel. + +DIABLO 630 DAISY WHEEL, EXTENDED CHARACTER SET ----- Driver: 630ECS + + ^PY N/A + ^PT/V Prints super/subscripts in separate pass with specified roll + .CW Supports any value from 0 to 30. Usual fixed pitch values + are 8 (15 cpi), 10 (12 cpi), and 12 (10 cpi). + .LQ N/A + .UL Continuous underlining does not affect microspace justifi- + cation + .PS ON selects proportional spacing; OFF selects fixed pitch + spacing. If a proportional print wheel has a non-standard + spoke pattern, configure the printer to translate spoke + position into the appropriate character. This driver sends + codes to the printer to turn proportional spacing on and off, + and the printer controls character to character spacing. + + NOTES The proportional spacing tables have been set up for a Diablo + metal 96 character BOLD PS wheel. + +DIABLO C150 & C200 COLOR JET PRINTERS ----- Driver: C150 + + ^PY Selects red/black ink + .CW 10 characters per inch only + .LH 1/30" resolution + .PS N/A + .LQ N/A + +EPSON FX-80 AND FX-100 ----- Driver: FX80 + + ^PY Selects italics + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + + .CW .CW Font Name + --- --------- + 7 compressed + 10 elite + 12 pica + 14 expanded compressed + 20 expanded elite + 24 expanded pica + + .LH Use even values. Driver operates at 2/48" resolution. + .LQ N/A + .PS N/A + .UL Continuous underlining suppresses microspace justification + .UJ Microspace justification slows printing. Default is OFF. + +EPSON FX-85, FX-185 AND FX-286 ----- Driver: FX85 + + ^PY Selects draft quality italics + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + .LQ .LQ + .CW OFF ON .PS ON Font Name + --- --- ------ --------- + 6 - - compressed elite + 7 - - compressed + 10 - - elite + 12 12 11 (10-13) courier + 14 - - expanded compressed + 20 - - expanded elite + 24 24 22 (20-30) expanded courier + + .UL Continuous underlining suppresses microspace justification + .UJ Microspace justification slows printing. Default is OFF. + .UJ must be on for proportional text to be right-justified. + +EPSON LQ-800 AND LQ-1000 ----- Driver: LQ800 + + ^PY Selects italics + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + .LQ .LQ + .CW OFF ON .PS ON Font Name + --- --- ------ --------- + - - - compressed script + 6 6 - compressed elite + 7 7 6 (0-7) compressed + 8 - subscript 15 cpi + 10 10 - elite + 12 12 10 (8-16) pica + 14 14 - expanded compressed + 16 - expanded script + 20 20 - expanded elite + 24 24 - expanded courier + +EPSON LQ-1500, VERSION 2.0 ----- Driver: LQ1500 + + ^PY Selects italics + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + .LQ .LQ + .CW OFF ON .PS ON Font Name + --- --- ------ --------- + 7 - - compressed + 10 10 - elite + - - 8 (1-9) subscript 15 cpi + 12 12 11 (10-13) courier + 14 - - expanded compressed + - - 15 (14-18) expanded script + 20 20 - expanded elite + 24 24 20 (19-30) expanded courier + + .UL Continuous underlining suppresses microspace justification. + In proportional fonts, continuous underlining may appear + broken between words. + + NOTES If you have an older LQ-1500 (firmware version 1.8), your + printer will have horizontal position registration problems. For + best results, contact your printer dealer about a ROM upgrade. + +EPSON LX-80 - Driver: LX80 + + ^PY Selects draft mode italics + ^PT/V Prints half height if .SR 0, else full height with roll + + .LQ .LQ + .CW OFF ON Font Name + --- --- --------- + 7 - compressed + 10 - elite + 12 12 courier + 14 - expanded compressed + 20 - expanded elite + 24 24 expanded courier + + .LH Use even values. Driver operates at 2/48" resolution. + .PS N/A + .UL Continuous underlining suppresses microspace justification + .UJ Microspace justification slows printing. Default is OFF. + +EPSON MX-80 AND MX-100 WITH GRAFTRAX+ +EPSON MX-80 III AND MX-100 III ----- Driver: MX80 + + ^PY Selects italics + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + + .CW .CW Font Name + --- --------- + 7 compressed + 12 pica + 14 expanded compressed + 24 expanded pica + + .LH Use even values. Driver operates at 2/48" resolution. + .LQ N/A + .PS N/A + .UL Continuous underlining suppresses microspace justification + .UJ Microspace justification slows printing. Default is OFF. + + NOTES Older MX-80 and MX-100 printers don't have graphics mode (for + fine horizontal spacing), variable line height setting, printer + controlled underlining, or printer controlled super/subscripts. If + you have one of these printers, use the DRAFT driver, or adapt the + CUSTOM or SIMPLE driver to your needs. + +EPSON RX-80 AND RX-100 ----- Driver: RX80 + + ^PY Selects italics + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + + .CW .CW Font Name + --- --------- + 7 compressed + 10 elite + 12 pica + 14 expanded compressed + 20 expanded elite + 24 expanded pica + + .LH Use even values. Driver operates at 2/48" resolution. + .LQ N/A + .PS N/A + .UL Continuous underlining suppresses microspace justification + .UJ Microspace justification slows printing. Default is OFF. + +HEWLETT-PACKARD LASERJET PRINTERS + + The following information applies to the LaserJet, the LaserJet+, + and the LaserJet 500+. For general information on laser printers, + see the "Laser Printers" section above. + +The LaserJet Fonts + + The LaserJet has three different types of fonts: + + - The "internal" fonts that came with the printer + - Plug-in cartridges + - Soft fonts that must be downloaded through your computer. + (Only the LaserJet+ and LaserJet 500+ can use downloaded fonts.) + + The fonts available in your LaserJet depend on which cartridge + you have installed and which fonts you have downloaded. + +Font Installation + + Internal Fonts: + + The fonts that came with your printer are already in memory and + ready to use. Different LaserJet models come with different sets + of internal fonts. + + Cartridges: + + Cartridges containing a variety of character fonts can be + inserted into any LaserJet model. See your printer manual for + instructions. + + The font selection guidelines in the sections below contain + information about specific cartridges. The letter that identifies + your cartridge is on the front label, directly following the + number 92286. For example, the Y cartridge is labeled 92286Y. + + Soft fonts: + + Soft, or downloadable, fonts are supplied on disk. These fonts + are not explicitly supported by WordStar. + +LaserJet Font Selection + + Each LaserJet font has several characteristics associated with + it. When a printer driver specifies font characteristics to the + LaserJet, the LaserJet searches its available fonts for the best + match to the characteristics requested. The following table + describes these characteristics, in the order in which the + LaserJet evaluates them when selecting a font. + + Characteristic WordStar Control + -------------- ----------------- + * Orientation (portrait or landscape) .PR OR=P/L + * Symbol Set (Roman-8, USASCII, Printer driver + Line Draw, etc.) + * Proportional or fixed spacing .PS ON/OFF + * Print pitch (fixed-width fonts) .CW + * Character height (point size) .CW + * Character style (upright or italic) ^PY + * Stroke weight (light, medium, bold) ^PB + + Note that symbol set is high in the list of characteristics: + make sure that the driver you select is compatible with the symbol + set of your cartridge or downloaded fonts. The symbol sets used by + each driver are listed in the table in the next section. For example, + if your cartridge has the USASCII Symbol Set, you can't use the + HPLJ:U driver because it uses only the Roman-8 Symbol Set. + +LaserJet Printer Drivers + + WordStar provides two printer drivers for use with different + LaserJet font cartridges. Each of these drivers + lets you print with several of the available fonts. You can + use any of these drivers with the LaserJet, LaserJet+, or + LaserJet 500+, depending on the cartridge. + Refer to the table below to see which driver works + best for you. + + The table lists the following information for each driver: + + o The symbol sets used for fixed and proportional spacing + + These must correspond to the symbol sets on the installed + fonts you want to use. The "Default" symbol set refers to the + one the LaserJet defaults to. + + o The proportional-spacing tables used by the driver + + These tables are part of the LaserJet's method of proportional + spacing. The tables determine the width of each character in a + proportionally spaced font. The fonts corresponding to these + tables are used if available. If the corresponding font is not + installed, the table is still used, and the closest available + font is used. This may cause the spacing to appear too tight or + too loose. In this column, the number is the point size, R stands + for regular, B stands for bold, and I stands for italics (the + LaserJet has separate tables for each of these). + + o The font cartridges that work best with + the symbol sets and tables used by the driver + + The cartridges listed are the only ones directly + supported for use with WordStar. If your cartridge is not + listed, you may still be able to use it. Look at + the font information below and try the most compatible driver. + You may need to try different dot command settings or another + driver. The HPLJET is the most "general purpose" driver, so if + you're not sure which driver to use, try it first. + + Fixed-width Proportional Proportional Downloaded + Driver Symbol Set Symbol Set Tables Fonts/Cartridges + ------ ----------- ------------ ------------- ---------------- + + HPLJET Default Default TmsRmn 8R, F, P, most fixed + 10R,10B,10I + Helv 14B + + HPLJ:B Default USASCII TmsRmn 8R, B + 10R,10B,10I + Helv 14B + + HPLJ:U Roman-8, Roman-8 Helv 6R,8R, U, V + Line Draw 10R,12R,14R + + HPLJ:Y PCSET1 USASCII TmsRmn Y, AC + PCSET2 6,8,10,12,14 + (all in R,B,I) + 18B,24B,30B + + HPL:AD Roman-8, Roman-8 TmsRmn AD + Line Draw 6,8,10,12,14 + (all in R,B,I) + 18B,24B,30B + + The printer driver charts below show the actual fonts that print + with each printer driver and the recommended font cartridges. + The charts show the fonts used for both fixed + and proportional spacing and for different character width (.CW) + settings. + + The recommended .CW settings are shown first. The settings in + parentheses select the same font, but the spacing of characters + within a line may appear tighter or looser. + + After the name of each font, the charts note whether regular (R), + bold (B), and italic (I) fonts are available. If a bold font is + not available, you can use the ^PD (double strike) command to get + a boldface effect. + + The last column shows whether you can print in landscape (chosen + in WordStar with .PR OR=L) as well as portrait orientation. + + To use a particular font, choose the settings listed. For example, + to use the Times Roman 8 font with the HPLJET printer driver, insert + the F cartridge, turn .PS on and set character width to .CW 7. + +HP LASERJET, LASERJET+ (F cartridge and others) ----- Driver: HPLJET + + ^PY Selects italics if appropriate font installed + ^PT/V Prints full-size characters with roll + + Cartridge/ + Soft font .PS .CW Font/Point Size R B I Landscape + --------- --- -------- --------------- - - - --------- + F on 7 (0-7) Times Roman 8 x + 9 (8-11) Times Roman 10 x x x + 13 (12-30) Helvetica 14 x + off 7 (0-11) Line Printer 8.5 x + 12 (12-30) Courier 12 x x + P on 9 (0-30) Times Roman 10 x x x x + off 7 (0-11) Line Printer 8.5 x + 12 (12-30) Courier 12 x x (0-30) + + The following fixed pitch fonts may be available depending + on your cartridge. (Note that these are measure by pitch, + not by point size.): + + .CW Font Name + --- --------- + 7 16.7 pitch + 10 12 pitch + 12 10 pitch + 15 8.1 pitch + 18 6.5 pitch + 21 5.8 pitch + 27 4.5 pitch + + .LQ N/A + .PL For 11 inch paper, a value of 62 is recommended. + Too large a value will cause text to be lost at page bottom. + .PR OR "=Landscape" or "=Portrait" to select orientation. + + NOTES Answer yes to the "Use form feeds" prompt. This driver has + proportional spacing tables for all fonts in the F and P cartridges. + It should also work with many fixed width cartridges. +.p + +HP LASERJET, LASERJET+ (B cartridge) ----- Driver: HPLJ:B + + ^PY Selects italics if appropriate font installed + ^PT/V Prints full-size characters with roll + + Cartridge/ + Soft font .PS .CW Font/Point Size R B I Landscape + --------- --- -------- --------------- - - - --------- + B on 7 (0-7) Times Roman 8 x + 9 (8-11) Times Roman 10 x x x + 13 (12-30) Helvetica 14 x + off 7 (0-11) Line Printer 8.5* x x + 12 (12-30) Courier 12 x x + * Line printer 8.5 is not available in portrait mode + unless the LaserJet+ is used. + + .LQ N/A + .PL For 11 inch paper, a value of 62 is recommended. + Too large a value will cause text to be lost at page bottom. + .PR OR "=Landscape" or "=Portrait" to select orientation. + + NOTES Answer yes to the "Use form feeds" prompt. This driver has + proportional spacing tables for all fonts in the B cartridge. +.p + +HP LASERJET, LASERJET+ (U and V cartridges) ----- Driver: HPLJ:U + + ^PY Selects italics if appropriate font installed + ^PT/V Prints full-size characters with roll + + Cartridge/ + Soft font .PS .CW Font/Point Size R B I Landscape + --------- --- -------- --------------- - - - --------- + U on 5 (0-5) Helvetica 6 x + 7 (6-7) Helvetica 8 x + 9 (8-9) Helvetica 10 x + 11 (10-11) Helvetica 12 x + 13 (12-30) Helvetica 14 x + off 7 (0-11) Letter Gothic 9.5 x + 12 (12-30) Courier 12 x x (0-30) + + V on 5 (0-5) Helvetica 6 x landscape only* + 7 (6-7) Helvetica 8 x "* + 9 (8-9) Helvetica 10 x "* + 11 (10-11) Helvetica 12 x "* + 13 (12-30) Helvetica 14 x "* + off 7 (0-11) Letter Gothic 9.5 x ** + 12 (12-30) Courier 12 x + * No proportional font is available in portrait orientation. + ** With fixed spacing, in portrait orientation, .CW7 (0-11) + produces Line Printer 8.5 on the LaserJet+ and Courier 12 + on the LaserJet. + + .LQ N/A + .PL For 11 inch paper, a value of 62 is recommended. + Too large a value will cause text to be lost at page bottom. + .PR OR "=Landscape" or "=Portrait" to select orientation. + + NOTES Answer yes to the "Use form feeds" prompt. This driver has + proportional spacing tables for all fonts in the U and V cartridges. +.p + +HP LASERJET, LASERJET+ (Y cartridge, AC TmsRmn) ----- Driver: HPLJ:Y + + ^PY Selects italics if appropriate font installed + ^PT/V Prints full-size characters with roll + + Cartridge/ + Soft font .PS .CW Font/Point Size R B I Landscape + --------- --- -------- --------------- - - - --------- + Y on none available + off 7 (0-11) Line Printer 8.5 x x + 12 (12-30) PC Courier 12 x x x + + AC* on 5 (0-5) Times Roman 6 x x x x + 7 (6-7) Times Roman 8 x x x x + 9 (8-9) Times Roman 10 x x x x + 11 (10-11) Times Roman 12 x x x x + 13 (12-14) Times Roman 14 x x x x + 16 (15-18) Times Roman 18 x x + 20 (19-24) Times Roman 24 x x + 25 (25-30) Times Roman 30 x x + off 7 (0-11) Line Printer 8.5 x x (0-30) + 12 (12-30) Courier 12 x + * Other .CW settings may access additional fonts if a + cartridge is also installed. + + .LQ N/A + .PL For 11 inch paper, a value of 62 is recommended. + Too large a value will cause text to be lost at page bottom. + .PR OR "=Landscape" or "=Portrait" to select orientation. + + NOTES Answer yes to the "Use form feeds" prompt. This driver is for + use with the Y cartridge, which provides an IBM PC compatible symbol + set. In addition, this driver has complete proportional spacing + tables for the AC set of downloadable TmsRmn fonts. +.p + +HP LASERJET, LASERJET+ (AD TmsRmn) ----- Driver: HPL:AD + + ^PY Selects italics if appropriate font installed + ^PT/V Prints full-size characters with roll + + Cartridge/ + Soft font .PS .CW Font/Point Size R B I Landscape + --------- --- -------- --------------- - - - --------- + AD* on 5 (0-5) Times Roman 6 x x x x + 7 (6-7) Times Roman 8 x x x x + 9 (8-9) Times Roman 10 x x x x + 11 (10-11) Times Roman 12 x x x x + 13 (12-14) Times Roman 14 x x x x + 16 (15-18) Times Roman 18 x x + 20 (19-24) Times Roman 24 x x + 25 (25-30) Times Roman 30 x x + off 7 (0-11) Line Printer 8.5 x + 12 (12-30) Courier 12 x x (0-30) + + The following fixed pitch fonts may be available depending + on your cartridge. (Note that these are measure by pitch, + not by point size.): + + .CW Font Name + --- --------- + 7 16.7 pitch + 10 12 pitch + 12 10 pitch + 15 8.1 pitch + 18 6.5 pitch + 21 5.8 pitch + 27 4.5 pitch + + .LQ N/A + .PL For 11 inch paper, a value of 62 is recommended. + Too large a value will cause text to be lost at page bottom. + .PR OR "=Landscape" or "=Portrait" to select orientation. + + NOTES Answer yes to the "Use form feeds" prompt. This driver is for + use with the AD TmsRmn downloaded fonts, and for a ROMAN8 or + ROMAN8+LINEDRAW fixed width font cartridge. The driver includes + complete proportional spacing tables for the AD set of downloadable + TmsRmn fonts. + +HP THINKJET, IBM mode ----- Driver: HPTJI + + ^PY N/A + ^PT/V Prints full-size characters with roll + + .CW .CW Font Name + --- --------- + 7 compressed + 10 elite + 12 pica + 14 expanded compressed + 20 expanded elite + 24 expanded pica + + .LH Use even values. Driver operates at 2/48" resolution. + .LQ N/A + .PS N/A + .UL Continuous underlining suppresses microspace justification + .UJ Microspace justification slows printing. Default is ON. + + NOTES This printer does not have a true 10 pitch font, so character + widths are not exact, and ^P@ does not align exactly with text. + Because the printer has an automatic page offset, set the WordStar + page offset to zero. + +IBM COLOR PRINTER 5182 ----- Driver: IBMCLR + + ^PY Selects red/black ribbon color + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + .LQ .LQ .PS + .CW OFF ON ON Font Name + --- --- -------- --------- + 7 7 5 (0-6) compressed + 10 10 8 (7-8) elite + 12 12 10 (9-13) pica + 14 14 - expanded compressed + 20 20 15 (14-16) expanded elite + 24 24 20 (17-30) expanded pica + + .LH Use even values. Driver operates at 2/48" resolution. + .LQ Has same effect as ^PD + .UL Underlining may be irregular with microspace justification on + .UJ Microspace justification slows printing. Default is OFF. + +IBM GRAPHICS PRINTER 5152 ----- Driver: IBMGR + + ^PY N/A + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + + .CW .CW Font Name + --- --------- + 7 compressed + 12 pica + 14 expanded compressed + 24 expanded pica + + .LH Use even values. Driver operates at 2/48" resolution. + .LQ N/A + .PS N/A + .UL Continuous underlining suppresses microspace justification + .UJ Microspace justification slows printing. Default is OFF. + +IBM PROPRINTER 4201 ----- Driver: IBMPRO + + ^PY N/A + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + .LQ .LQ + .CW OFF ON Font Name + --- --- --------- + 7 7 compressed + 10 10 elite + 12 12 pica + 14 14 expanded compressed + 20 20 expanded elite + 24 24 expanded pica + + .LH Use even values. Driver operates at 2/48" resolution. + .PS N/A + .LQ Has same effect as ^PD + .UL Continuous underlining suppresses microspace justification + .UJ Microspace justification slows printing. Default is OFF. + + NOTES If you have a Proprinter XL, you can use WSCHANGE to patch + in the extra features. + +IBM QUIETWRITER 5201 ----- Driver: IBMQUI + + ^PY Toggles between A and * font cartridge. Set character + width to match cartridge in use. (A cartridge uses current + ^PN character width; * cartridge uses ^PA character width.) + ^PT/V Prints full-size characters with roll + .CW Selects character width. Character width must correspond + to the cartridge being used. + .LQ N/A + .PS ON selects proportional spacing, OFF selects fixed pitch + spacing + +IBM WHEELPRINTER 5216 ----- Driver: IBMWP + + ^PY N/A + ^PT/V Printer determined roll if .SR 0 + .CW Selects character spacing. Any value from 0 to 30 is + supported. Usual fixed pitch values are 8 (15 characters + per inch), 10 (12 cpi) and 12 (10 cpi). + .LQ N/A + .UL Continuous underlining does not affect microjustification + .PS ON selects proportional spacing, OFF selects fixed pitch. + This driver sends codes to the printer to turn proportional + spacing on and off, and the printer controls character to + character spacing. + + NOTES The proportional spacing tables are set up for an IBM + BOLD PS wheel. + +IBM WHEELPRINTER 5223 E ----- Driver: IBMWPE + + ^PY N/A + ^PT/V Printer determined roll if .SR 0 + .CW Selects character spacing. Any value from 0 to 30 is + supported. Usual fixed pitch values are 8 (15 characters + per inch), 10 (12 cpi) and 12 (10 cpi). + .LQ N/A + .UL Continuous underlining does not affect microjustification. + Continuous underlining will be somewhat irregular. + .PS ON selects proportional spacing, OFF selects fixed pitch. + This driver will send codes to the printer to turn propor- + tional spacing on and off, and the printer will control + character to character spacing. + + NOTES The proportional spacing tables are set up for an IBM + BOLD PS wheel. + +MANNESMANN TALLY MT-160L ----- Driver: MT160L + + ^PY N/A + ^PT/V Prints full-size characters with specified even roll + .LQ .LQ + .CW OFF ON Font Name + --- --- --------- + 6 - compressed elite + 7 - compressed + 10 10 elite + 12 12 pica + 14 - expanded compressed + 20 - expanded elite + 24 - expanded pica + + .LH Use even values. Driver operates at 2/48" resolution. + .UJ N/A + + NOTES This printer is not capable of incremental horizontal + positioning. As a result, microspace justification is not possible. + In addition, when changing character widths, characters may not + align to closer than one full character width. Also, page offsets + smaller than a character will not work. + +MPI PRINTMATE 99 & 350 ----- Driver: MPI99 + + ^PY N/A + ^PT/V Even superscript roll + .LQ .LQ + .CW OFF ON Font name + --- --- --------- + 7 - 17.1 cpi + 10 - 12 cpi + 12 12 10 cpi + 14 - 8.5 cpi + 20 - 6 cpi + 24 24 5 cpi + + .LH 1/24" resolution, use even values + .PS N/A + .UJ N/A + +NEC PINWRITER P2-3, P2-6, P3-3, P6-6 ----- Driver: NECP2I + + ^PY N/A + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + .LQ .LQ + .CW OFF ON Font Name + --- --- --------- + 7 - compressed + 10 10 elite + 12 12 pica + 14 - expanded compressed + 20 20 expanded elite + 24 24 expanded pica + + .PS N/A + .UL Continuous underline suppresses microspace justification + .UJ Microspace justification slows printing. Default is OFF. + + NOTES Page offsets smaller than the character width in effect are + not supported. Make sure switch 5 on the printer is off. + +NEC PINWRITER P5XL, P6, P7 ----- Driver: NECP5 + + ^PY Selects italics + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + .LQ .LQ + .CW OFF ON .PS ON Font Name + --- --- ------ --------- + 6 6 - compressed elite + 7 7 6 (0-8) compressed + 8 8 - subscript 15 cpi + 10 10 - elite + 12 12 10 (9-17) pica + 14 14 - expanded compressed + 16 16 - expanded script + 20 20 - expanded elite + 24 24 20 (18-26) expanded courier + 30 30 30 (27-30) triple elite + + +NEC SPINWRITER 2000R, 3500R +NEC SPINWRITER 2010, 3510, 7710 +NEC SPINWRITER 2030, 3530, 7730 ----- Driver: SPINWR + + See Diablo 630, 1610, 1620 Daisy Wheel. + + .BP N/A + + NOTES The proportional spacing tables are set up for a NEC BOLD PS + wheel. Proportional spacing is not supported on the 2010 and 2030. + +NEC SPINWRITER 2015, 3515, 7715 ----- Driver: DIABLO + + See Diablo 630, 1610, 1620 Daisy Wheel. + + .BP N/A + + NOTES The proportional spacing tables are set up for a NEC BOLD PS + wheel. This printer does not respond correctly to the phantom blank + and phantom rubout characters, and may lose horizontal alignment if + they are included in your document. Proportional spacing is not + supported on the 2015. + +NEC SPINWRITER 2050, 3550, 8850 ----- Driver: SPIN50 + + See Diablo 630, 1610, 1620 Daisy Wheel. + + .BP N/A + + NOTES The proportional spacing tables are set up for a NEC BOLD PS + wheel. Proportional spacing is not supported on the 2050. + +OKIDATA MICROLINE 84 STEP 2, STANDARD ----- Driver: ML84 + + ^PY N/A + ^PT/V Printer controlled if .SR 0; otherwise, full-size with roll + .LQ .LQ + .CW OFF ON Font Name + --- --- --------- + 7 7 compressed + 10 10 elite + 12 12 pica + 14 14 expanded compressed + 20 20 expanded elite + 24 24 expanded pica + + .PS N/A + .UJ In draft mode (.LQ OFF), this printer is not capable of + microspace justification. Different character widths may + not line up correctly. + + NOTES Page offsets smaller than the character width in effect are + not supported. + +OKIDATA MICROLINE 92 AND 93, STANDARD ----- Driver: ML92 + + ^PY N/A + ^PT/V Printer controlled if .SR 0; otherwise, full-size with roll + .LQ .LQ + .CW OFF ON Font Name + --- --- --------- + 7 compressed + 10 10 elite + 12 12 pica + 14 expanded compressed + 20 20 expanded elite + 24 24 expanded pica + + .PS N/A + .UJ In draft mode (.LQ OFF), this printer is not capable of + microspace justification. Different character widths may + not line up correctly. + + NOTES Page offsets smaller than the character width in effect are + not supported. + +OKIDATA MICROLINE 84, 92, 93, IBM PLUG & PLAY ----- Driver: ML92I + + ^PY N/A + ^PT/V Printer controlled if .SR 0; otherwise, full-size with roll + .LQ .LQ + .CW OFF ON Font Name + --- --- --------- + 7 compressed + 12 12 pica + 14 expanded compressed + 24 24 expanded pica + + .PS N/A + .UJ In draft mode (.LQ OFF), this printer is not capable of + microspace justification. Different character widths may + not line up correctly. + + NOTES Page offsets smaller than the character width in effect are + not supported. + +OKIDATA MICROLINE 182, STANDARD ----- Driver: ML182 +OKIDATA MICROLINE 182, IBM ML182I + + ^PY N/A + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + .LQ .LQ + .CW OFF ON Font Name + --- --- --------- + 7 - compressed + 10 10 elite + 12 12 pica + 14 - expanded compressed + 20 20 expanded elite + 24 24 expanded pica + + NOTES This printer is not capable of incremental horizontal + positioning, so microspace justification is not possible. In + addition, when changing character widths, characters may not align + to closer than one full character width. Also, page offsets smaller + than a character do not work. + +OKIDATA MICROLINE 192, STANDARD ----- Driver: ML192 +OKIDATA MICROLINE 192, IBM ML192I + + ^PY Selects draft mode italics. No half height italics + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + .LQ .LQ + .CW OFF ON .PS ON Font Name + --- --- ------ --------- + 7 - - compressed + 10 10 9 (9-10) elite + 12 12 11 (11-17) pica + 14 - - expanded compressed + 20 20 18 (18-20) expanded elite + 24 24 22 (21-30) expanded pica + + NOTES This printer does not have control strings to select + proportional and fixed pitch printing. This choice can only be + made through the printer's own menu functions. For reasonable + results, make sure that your document and printer are both fixed + pitch or both proportional. + +OKIDATA MICROLINE 292, STANDARD ----- Driver: ML292 +OKIDATA MICROLINE 292, IBM ML292I + + ^PY Selects italics. No half height italics + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + .LQ .LQ + .CW OFF ON .PS ON Font Name + --- --- ------ --------- + 7 7 7 (6-8) compressed + 10 10 9 (9-10) elite + 12 12 11 (11-12) pica + 14 14 13 (13-17) expanded compressed + 20 20 18 (18-20) expanded elite + 24 24 22 (21-30) expanded pica + + NOTES This printer does not have control strings to select + proportional and fixed pitch printing. This choice can only be + made through the printer's own menu functions. For reasonable + results, make sure that your document and printer are both fixed + pitch or both proportional. + +OKIDATA PACEMARK 2410, STANDARD ----- Driver: PM2410 + + ^PY N/A + ^PT/V Prints full-size characters with roll + .LQ .LQ + .CW OFF ON Font Name + --- --- --------- + 7 - compressed + 10 10 elite + 12 12 pica + 14 - expanded compressed + 20 20 expanded elite + 24 24 expanded pica + + .UJ Compressed and expanded compressed characters will not be + microspace justified. Also, they may not align perfectly + with other character widths. + + NOTES If you have the IBM-compatible printer, do not use this + installation. Instead, choose the IBM Graphics Printer. + +PANASONIC KX-P1090 ----- Driver: P1090 + + ^PY Selects italics + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + + .CW .CW Font Name + --- --------- + 7 compressed + 10 elite + 12 pica + 14 expanded compressed + 20 expanded elite + 24 expanded pica + + .LH Use even values. Driver operates at 2/48" resolution. + .LQ N/A + .PS N/A + .UL Continuous underlining suppresses microspace justification. + +QUME SPRINT SERIES ----- Driver: QUME + + See Diablo 630, 1610, 1620 Daisy Wheel. + + .PS N/A + + NOTES Make sure you use the appropriate switch settings for your + interface module. Set the switches on the module accordingly: + IBM Centronics module: 1, 2, 8, 9 ON. All others OFF. + RS-232-C module: 1, 2 ON. All others OFF. + +QUME SPRINT WITH WP OPTION ----- Driver: QUMEWP + + See Diablo 630, 1610, 1620 Daisy Wheel. + + .PS N/A + +RICOH LP4080R LASER PRINTER ----- Driver: LP4080 + + ^PY N/A + ^PT/V Prints full-size characters with roll + .PS .PS + .CW OFF ON Font Name + --- --- --------- + 8 - 15 cpi + 10 - 12 cpi elite + 12 - 10 cpi courier + - 11 (0-30) proportional + + .LQ N/A + .PL For 11 inch paper, a value of 62 is recommended + .PR OR "=Landscape" or "=Portrait" to select orientation + + NOTES Answer yes to the "Use form feeds" prompt. This driver is + configured to select all the built in fonts in the LP4080R, in both + portrait and landscape mode. For more information on laser printers, + see the "Laser Printers" section above. + +SILVER REED EXP-550/500 DAISY WHEEL ----- Driver: SR550 + + See Diablo 630, 1610, 1620 Daisy Wheel. + + NOTES Proportional spacing tables (Model 500 does not support + proportional printing) are set up for a Silver Reed PS wheel. + You need to change the switch settings for proportional + fonts. Set the SW-1 switches accordingly: + For proportional fonts: 1, 2 ON, 3-6 OFF + For nonproportional fonts: All OFF. + +STAR MICRONICS GEMINI 10X AND 15X ----- Driver: GEM10X + + ^PY Selects italics + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + + .CW .CW Font Name + --- --------- + 7 compressed + 10 elite + 12 pica + 14 expanded compressed + 20 expanded elite + 24 expanded pica + + .LH Use even values. Driver operates at 2/48" resolution. + .LQ N/A + .PS N/A + .UL Continuous underlining suppresses microspace justification + .UJ Microspace justification slows printing. Default is OFF. + +STAR MICRONICS NX-10 ----- Driver: NX10 + + ^PY Selects draft quality italics + ^PT/V Prints half-size if .SR 0; otherwise full-size with roll + .LQ .LQ .PS + .CW OFF ON ON Font Name + --- --- --- --------- + 6 - 4 (0-5) compressed elite + 7 - 7 (6-7) compressed + 10 - 9 (8-9) elite + 12 12 11 (10-12) pica + 14 - - expanded compressed + 20 - - expanded elite + 24 24 - expanded pica + + .UL Continuous underlining suppresses microjustification + .UJ Microjustification slows printing + +STAR MICRONICS SG10 ---- Driver: SG10 +STAR MICRONICS SG10I ---- Driver: SG10I + + ^PY Selects draft mode italics + ^PT/V Prints full size characters with roll + + .LQ .LQ + .CW OFF ON .PS ON Font Name + --- --- ------ --------- + 7 - - compressed + 10 - 10 (9-12) elite + 12 12 - pica + 14 - - expanded compressed + 20 - 20 (18-24) expanded elite + 24 24 - expanded pica + + .UL Continuous underlining suppresses microjustification + .UJ Microjustification slows printing + .PS Draft quality proportional + + NOTE: Because of printer firmware limitations, combinations of + print enhancements may cause poor printed output. + +TANDY DMP-130 MATRIX PRINTER ----- Driver: DMP13 + + ^PY Selects italics + ^PT/V Prints half-size characters (17 cpi, or 8.5 cpi for + expanded fonts) + .LQ .LQ + .CW OFF ON .PS ON Font Name + --- --- ------ --------- + 7 - - compressed + - 10 - elite + 12 12 11 (11-13) pica + 14 - - expanded compressed + - 20 - expanded elite + 24 24 22 (21-30) expanded pica + + NOTES Printer must be in Tandy mode. + +TANDY DMP-2100P MATRIX PRINTER ----- Driver: D2100P + + ^PY N/A + ^PT/V Prints full-size characters with roll + .LQ .LQ + .CW OFF ON .PS ON Font Name + --- --- ------ --------- + 7 - - compressed + - 10 9 (9-10) elite + 12 12 11 (11-13) pica + 14 - - expanded compressed + - 20 18 (18-20) expanded elite + 24 24 22 (21-30) expanded pica + + NOTES Printer must be in Tandy mode. + +TANDY DMP-2110 MATRIX PRINTER ----- Driver: D2110 + + ^PY Selects italics + ^PT/V Prints half-size if .SR 0; otherwise, full-size with roll + .LQ .LQ + .CW OFF ON .PS ON Font Name + --- --- ------ --------- + 7 - - compressed + - 10 9 (9-10) elite + 12 12 11 (11-13) pica + 14 - - expanded compressed + - 20 18 (18-20) expanded elite + 24 24 22 (21-30) expanded pica + + NOTES Printer must be in Tandy mode. + +TANDY DWP-230 DAISY WHEEL ----- Driver: DWP230 +TANDY DWP-520 DAISY WHEEL ----- Driver: DWP520 + + ^PY N/A + ^PT/V Prints super/subscripts in separate pass with specified roll + .CW Supports any value from 0 to 30. Usual fixed pitch values are + 10 (12 cpi) and 12 (10 cpi). + .BP N/A + .LQ N/A + .PS ON selects proportional spacing. Spacing tables are set up for + a DIABLO BOLD PS wheel, #303029-01. + .UL Continuous underlining does not suppress microjustification + for DWP230; does suppress it for DWP520. + +TEXAS INSTRUMENTS 855 AND 865 ----- Driver: TI855 + + ^PY N/A + ^PT/V Prints full-size characters with roll + .LQ .LQ + .CW OFF ON .PS ON Font Name + --- --- ------ --------- + 6 6 6 (0-8) compressed + 10 10 10 (9-11) elite + 12 12 12 (12-17) pica + 14 14 - expanded compressed + 20 20 20 (18-22) expanded elite + 24 24 24 (23-30) expanded pica + +TOSHIBA P351, P351C, P341, P321 ----- Driver: P351 + + ^PY Selects italics + ^PT/V Prints full-size characters with roll + .LQ .LQ + .CW OFF ON .PS ON Font Name + --- --- ------ --------- + 7 - - compressed + - 10 9 (0-9) elite + 12 12 11 (10-14) pica + 14 - - expanded compressed + - 20 18 (15-19) expanded elite + 24 24 22 (20-30) expanded pica + +TOSHIBA P1340 ----- Driver: P1340 + + ^PY No effect + ^PT/V Prints full-size characters with roll + .LQ .LQ + .CW OFF ON Font Name + --- --- --------- + 10 10 elite + 12 12 pica + 14 - expanded compressed + 20 - expanded elite + 24 24 expanded pica + +TOSHIBA P1351 ----- Driver: P1351 + + ^PY N/A + ^PT/V Prints full-size characters with roll + .LQ .LQ + .CW OFF ON .PS ON Font Name + --- --- ------ --------- + 7 - - compressed + - 10 9 (0-9) elite + 12 12 11 (10-14) pica + 14 - - expanded compressed + - 20 18 (15-19) expanded elite + 24 24 22 (20-30) expanded pica + +ZENITH Z-125AA ----- Driver: Z125 + + ^PY N/A + ^PT/V No incremental vertical positioning + + .CW .CW Font name + --- --------- + 7 16.7 cpi + 9 13.3 cpi + 10 12 cpi + 12 10 cpi + 14 8.3 cpi + 18 6.7 cpi + 20 6 cpi + 24 5 cpi + + .LH Full lines only + .UJ N/A + .PS N/A + .LQ N/A + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/README b/Source/Images/hd_cpm3/s1/u0/README new file mode 100644 index 00000000..39793dad --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/README @@ -0,0 +1,15 @@ +This disk contains an updated printer driver file for your +WordStar, CP/M Edition, Release 4. This file corrects problems +you may have experienced with form feeds, page length, and right- +justified proportional spacing. + +Follow the instructions on page xxii of the WordStar Reference +Guide for creating a new WSPRINT.OVR file. Substitute a copy of +this WSPRINT disk (make sure it is a boot disk) for the copy of +your original PRINT disk in step 2. + + + + + + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/REVIEW.COM b/Source/Images/hd_cpm3/s1/u0/REVIEW.COM new file mode 100644 index 00000000..ec90bc03 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/REVIEW.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/RULER.DOC b/Source/Images/hd_cpm3/s1/u0/RULER.DOC new file mode 100644 index 00000000..172a6efe --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/RULER.DOC @@ -0,0 +1,22 @@ + Thå Ruleò Line + +Thió  documenô  ió seô uð tï teacè yoõ abouô ruleò  lines®   Thió +texô  waó writteî usinç thå defaulô lefô anä righô marginó  oæ  ± +anä  65®   Wå didn'ô changå anù tabó here® Next¬  wå  wanteä  tï +changå  botè  marginó  tï  indenô thå texô®  Wå  useä  doô +commands® Witè doô commands¬ thå ne÷ marginó arå saveä wheî  yoõ +exiô anä savå thå document. +.lm10 +.rm45 +         Ne÷  marginó  changå thå  ruleò  anä +         text®   Watcè thå ruleò linå aó  yoõ +         movå  thå cursoò througè thió  text® +         WordStaò wilì continuå tï holä theså +         marginó untiì yoõ enteò anotheò  doô +         ãommand. +.lm1 +.rm65 +Margiî  changeó brinç thå ruleò anä thå texô bacë tï thå  defaulô +settingó oncå again. + + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/SAMPLE1.DOC b/Source/Images/hd_cpm3/s1/u0/SAMPLE1.DOC new file mode 100644 index 00000000..0bb6b8fb --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/SAMPLE1.DOC @@ -0,0 +1,17 @@ + Itinerary + +Depart Datå Time Arrive Date Time + +Florence 10¯3± 08:30 a Rome 10¯31 05:3µ p +Romå 11¯05 08:00 a Naples 11/05 12:2· p + +Noô includeä iî thå rateó are +.lm10 +.rm55 + +         Transfeò  services¬ sightseeing¬ mealó  excepô +         aó specified¬ tipó tï statioî porters¬  wines¬ +         spirits¬   mineraì waters¬  laundry¬   theateò +         tickets¬ anä otheò itemó oæ á similaò personaì +         nature® + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/SAMPLE2.DOC b/Source/Images/hd_cpm3/s1/u0/SAMPLE2.DOC new file mode 100644 index 00000000..e19c63d8 --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/SAMPLE2.DOC @@ -0,0 +1,15 @@ + +Excursions + + +Daù ± +Florencå-Romeº Leavå aô 8:3° aí bù deluxå motorcoach® Arrivå aô +Romå iî thå afternoon® + +Daù ² +Romeº   Morninç  anä afternooî citù  sightseeinç  bù  motorcoach® +Englisè speakinç guidå optional. + +Farå iî firsô clasó hotelsº $100.00® Batè optionaìº $25.00® + + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/SAMPLE3.DOC b/Source/Images/hd_cpm3/s1/u0/SAMPLE3.DOC new file mode 100644 index 00000000..725a3dab --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/SAMPLE3.DOC @@ -0,0 +1,5 @@ +Daù 8 +Romå-Naplesº   Deparô  aô 8:0° aí bù CIAÔ deluxå  motorcoacè  viá +Formia®   Arrivå  Napleó  aô  luncè  time®   Afternooî   optionaì +excursioî tï Phlegreaî Fieldó anä Sulphuò Mine® + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/SPELL.COM b/Source/Images/hd_cpm3/s1/u0/SPELL.COM new file mode 100644 index 00000000..55a617a6 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/SPELL.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/TABLE.DOC b/Source/Images/hd_cpm3/s1/u0/TABLE.DOC new file mode 100644 index 00000000..90748d1c --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/TABLE.DOC @@ -0,0 +1,17 @@ + TABLÅ II + + CENTRIFUGAÌ FORCÅ CALIBRATIOÎ DATA + +__________________________________________________________________ + Elemenô No® | Maximuí ç ü Minimuí ç ü Averagå ç ü Spreaä iî ç | +______________|____________|___________|___________|_____________| + ± ü 2.2± ü 1.6µ ü 1.9³ | 0.5¶ | + ü 2.2° ü 1.6µ ü 1.9³ ü 0.5° | + ² ü 2.4¸ ü 2.2µ ü 2.3¶ ü 0.2³ | + ü 2.5° ü 2.2² ü 2.3¶ ü 0.2¸ | + ³ ü 3.0¸ ü 2.5¹ ü 2.8´ ü 0.4¹ | + ü 3.1² ü 2.5¸ ü 2.8µ ü 0.5´ | + ´ ü 3.0· ü 2.6° ü 2.8´ ü 0.4· | + ü 3.1° ü 2.6° ü 2.8µ ü 0.5° | + + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/TEXT.DOC b/Source/Images/hd_cpm3/s1/u0/TEXT.DOC new file mode 100644 index 00000000..e0cfaabf --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/TEXT.DOC @@ -0,0 +1,94 @@ + Gulliver'ó Travels + Parô I + + Á Voyagå tï Lilliput + + Chap® I + + +Mù fatheò haä á smalì estatå iî Nottinghamshire» É waó thå  thirä +oæ  fivå  sons®  Hå senô må tï Emanueì Collegå  iî  Cambridgå  aô +fourteeî  yearó  old¬ wherå É resideä threå  years¬  anä  applieä +myselæ  closå  tï mù studiesº buô thå chargå  oæ  maintaininç  må +(althougè  É haä á verù scantù allowance© beinç toï greaô  foò  á +narro÷  fortune¬  É waó bounä apprenticå tï Mr® Jameó  Bates¬  aî +eminenô surgeoî iî London¬ witè whoí É continueä fouò years»  anä +mù  fatheò  no÷ anä theî sendinç må smalì sumó oæ money¬  É  laiä +theí  ouô  iî  learninç  navigation¬  anä  otheò  partó  oæ   thå +mathematics¬  usefuì tï thoså whï intenä tï travel¬ aó  É  alwayó +believeä iô woulä bå somå timå oò otheò mù fortunå tï do® Wheî  É +lefô Mr® Bates¬ É wenô dowî tï mù father» wherå bù thå assistancå +oæ  hií anä mù unclå John¬ anä somå otheò relations¬ É goô  fortù +pounds¬  anä á promiså oæ thirtù poundó á yeaò tï maintaiî må  aô +Leydenº  therå  É  studieä physiã twï  yearó  anä  seveî  months¬ +knowinç iô woulä bå usefuì iî lonç voyages. + +Sooî  afteò mù returî froí Leyden¬ É waó recommended¬ bù mù  gooä +masteò Mr® Bates¬ tï bå surgeoî tï thå "Swallow,¢ Captaiî Abrahaí +Panneì  commander» witè whoí É continueä threå yearó anä á  half¬ +makinç  á  voyagå oò twï intï thå Levant¬ anä somå  otheò  parts® +Wheî  É  camå back¬ É resolveä tï settlå iî Londoî tï  whicè  Mr® +Bates¬ mù master¬ encourageä me¬ anä bù hií É waó recommendeä  tï +severaì  patients® É tooë parô oæ á smalì houså iî thå Olä  Jury» +anä  beinç  adviseä tï alteò maù condition¬ É marrieä  Mrs®  Marù +Burton¬ seconä daughteò tï Mr® Edmunä Burton¬ hosieò iî  Newgatå- +street¬ witè whoí É receiveä fouò hundreä poundó foò á portion. + +But¬ mù gooä masteò Bateó dyinç iî twï yearó after¬ anä É  havinç +fe÷  friends¬ mù businesó begaî tï fail» foò mù consciencå  woulä +noô  suffeò må tï imitatå thå baä practicå oæ toï manù  amonç  mù +brethren®   Havinç thereforå consulteä witè mù wife¬ anä somå  oæ +mù  acquaintance¬ É determineä tï gï agaiî tï sea® É waó  surgeoî +successivelù  iî  twï ships¬ anä madå severaì  voyages¬  foò  siø +years¬ tï thå Easô anä Wesô-Indies¬ bù whicè É goô somå  additioî +tï  mù fortune® Mù houró oæ leisurå É spenô iî readinç  thå  besô +authors¬  ancienô anä modern¬ beinç alwayó provideä witè  á  gooä +numbeò oæ books» anä wheî É waó ashore¬ iî observinç thå  manneró +anä  dispositionó  oæ  thå  people¬ aó  welì  aó  learninç  theiò +language¬  whereiî É haä á greaô facilitù bù thå strengtè  oæ  mù +memory. + +Thå  lasô  oæ theså voyageó noô provinç verù  fortunate¬  É  gre÷ +wearù  oæ thå sea¬ anä intendeä tï staù aô homå witè mù wifå  anä +family®   É  removeä froí thå Olä Jurù tï Fetteò-Lane¬  anä  froí +thencå tï Wapping¬ hopinç tï geô businesó amonç thå sailors»  buô +iô woulä noô turî tï account® Afteò threå yearó expectatioî  thaô Šthingó woulä mend¬ É accepteä aî advantageouó offeò froí  Captaiî +Williaí  Prichard¬  masteò oæ thå "Antelope,¢ whï  waó  makinç  á +voyagå  tï thå Soutè-Sea® Wå seô saiì froí Bristoì Maù  4¬  1699¬ +anä ouò voyagå waó verù prosperous. + +Iô  woulä noô bå proper¬ foò somå reasons¬ tï troublå thå  readeò +witè  thå  particularó oæ ouò adventureó iî thoså  seasº  leô  iô +sufficå  tï  inforí him¬ thaô iî ouò passagå froí thencå  tï  thå +Easô-Indies¬ wå werå driveî bù á violenô storí tï thå  nortè-wesô +oæ  Vaî Diemen'ó Land® Bù aî observation¬ wå founä  ourselveó  iî +thå  latitudå oæ 3° degreeó ² minuteó south® Twelvå oæ  ouò  cre÷ +werå  deaä bù immoderatå labouò anä ilì food¬ thå resô werå iî  á +verù  weaë  condition® Oî thå fiftè oæ November¬  whicè  waó  thå +beginninç oæ summeò iî thoså parts¬ thå weatheò beinç verù  hazy¬ +thå  seameî  spieä á rock¬ withiî halæ á cable'ó  lengtè  oæ  thå +ship»  buô thå winä waó sï strong¬ thaô wå werå  driveî  directlù +upoî  it¬ anä immediatelù split® Siø oæ thå crew¬ oæ whoí  É  waó +one¬  havinç leô dowî thå boaô intï thå sea¬ madå á shifô tï  geô +cleaò oæ thå ship¬ anä thå rock® Wå roweä bù mù computatioî abouô +threå leagues¬ tilì wå werå ablå tï worë nï longer¬ beinç alreadù +spenô  witè  labouò  whilå wå werå iî  thå  ship®   Wå  thereforå +trusteä ourselveó tï thå mercù oæ thå waves¬ anä iî abouô halæ aî +houò thå boaô waó overseô bù á suddeî flurrù froí thå north® Whaô +becamå mù companionó iî thå boat¬ aó welì aó oæ thoså whï escapeä +oî  thå  rock¬  oò werå lefô iî thå vessel¬ É  cannoô  tell»  buô +concludå  theù werå alì lost® Foò mù owî part¬ É swaí aó  fortunå +directeä  me¬ anä waó pusheä forwarä bù winä anä tide®   É  ofteî +leô mù legó droð anä coulä feeì nï bottomº buô wheî É waó  almosô +gone¬  anä ablå tï strugglå nï longer¬ É founä myselæ  withiî  mù +depth» anä bù thió timå thå storí waó mucè abated® Thå  declivitù +waó  sï  small¬  thaô É walkeä neaò á milå beforå É  goô  tï  thå +shore¬  whicè  É  conjectureä  waó abouô  eighô  o'clocë  iî  thå +evening® É theî advanceä forwarä neaò halæ á mile¬ buô coulä  noô +discoveò anù sigî oæ houseó oò inhabitants» aô leasô É waó iî  sï +weaë  á condition¬ thaô É diä noô observå them® É  waó  extremelù +tired¬ anä witè that¬ anä thå heaô oæ thå weather¬ anä abouô halæ +á pinô oæ brandù thaô É dranë aó É lefô thå ship¬ É founä  myselæ +mucè inclineä tï sleep. + + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/TW.COM b/Source/Images/hd_cpm3/s1/u0/TW.COM new file mode 100644 index 00000000..57747ef6 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/TW.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/WC.COM b/Source/Images/hd_cpm3/s1/u0/WC.COM new file mode 100644 index 00000000..857ca9b1 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/WC.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/WINSTALL.COM b/Source/Images/hd_cpm3/s1/u0/WINSTALL.COM new file mode 100644 index 00000000..4ed26d07 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/WINSTALL.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/WORDFREQ.COM b/Source/Images/hd_cpm3/s1/u0/WORDFREQ.COM new file mode 100644 index 00000000..27e74c52 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/WORDFREQ.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/WS.COM b/Source/Images/hd_cpm3/s1/u0/WS.COM new file mode 100644 index 00000000..00f5114f Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/WS.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/WS.OVR b/Source/Images/hd_cpm3/s1/u0/WS.OVR new file mode 100644 index 00000000..00434197 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/WS.OVR differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSCHANGE.COM b/Source/Images/hd_cpm3/s1/u0/WSCHANGE.COM new file mode 100644 index 00000000..2bcc433b Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/WSCHANGE.COM differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSCHANGE.OVR b/Source/Images/hd_cpm3/s1/u0/WSCHANGE.OVR new file mode 100644 index 00000000..a2122665 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/WSCHANGE.OVR differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSCHHELP.OVR b/Source/Images/hd_cpm3/s1/u0/WSCHHELP.OVR new file mode 100644 index 00000000..bad58e6e Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/WSCHHELP.OVR differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSHELP.OVR b/Source/Images/hd_cpm3/s1/u0/WSHELP.OVR new file mode 100644 index 00000000..02634675 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/WSHELP.OVR differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSINDEX.XCL b/Source/Images/hd_cpm3/s1/u0/WSINDEX.XCL new file mode 100644 index 00000000..4b0e5c58 --- /dev/null +++ b/Source/Images/hd_cpm3/s1/u0/WSINDEX.XCL @@ -0,0 +1,232 @@ +A +ABOUT +ABOVE +ACROSS +AFTER +AFTERWARDS +AGAIN +AGAINST +AGO +AHEAD +ALIKE +ALL +ALMOST +ALONE +ALONG +ALREADY +ALSO +ALTHOUGH +ALTOGETHER +ALWAYS +AMONG +AN +AND +ANOTHER +ANY +ANYMORE +ANYONE +ANYTHING +ANYWAY +ANYWHERE +ARE +AREN'T +AROUND +AS +ASIDE +AT +AVAILABLE +AWAY +B +BE +BECAUSE +BEEN +BEFORE +BEFOREHAND +BELOW +BENEATH +BESIDES +BETWEEN +BEYOND +BUT +BY +C +D +DID +DIDN'T +DO +DOES +DOESN'T +DONE +DON'T +DOWN +DOWNRIGHT +E +EACH +EITHER +ELSE +EVEN +EVER +EXCEPT +F +FINALLY +FOR +FROM +G +H +HAD +HADN'T +HAPPEN +HAS +HASN'T +HAVE +HAVEN'T +HE +HER +HERE +HERE'S +HERS +HIM +HIS +HOW +HOWEVER +I +IF +IN +INTO +IS +ISN'T +IT +ITS +ITSELF +IT'LL +IT'S +I'D +I'LL +I'M +I'VE +J +JUST +K +KNOW +KNOWING +KNOWS +L +LIKE +M +MAYBE +ME +MY +N +NO +NONE +NOR +NOT +NOW +O +OF +OFF +OFTEN +OH +ON +ONLY +ONTO +OR +OTHER +OTHERWISE +OUR +OURS +OUT +OVER +P +Q +R +S +SHE +SINCE +SO +SOME +SOON +SOONER +SUCH +T +THAN +THAT +THAT'S +THE +THEIR +THEM +THEMSELVES +THEN +THERE +THEREFORE +THERE'LL +THERE'S +THESE +THEY +THEY'D +THEY'LL +THEY'RE +THEY'VE +THIS +THOSE +THOUGH +THROUGH +THROUGHOUT +THUS +TIL +TO +TOGETHER +TOO +U +UN +UNDER +UNTIL +UP +US +V +VALUE +VALUED +VERY +W +WAS +WASN'T +WE +WE'D +WE'LL +WE'RE +WE'VE +WHAT +WHATEVER +WHATEVER'S +WHAT'S +WHEN +WHENEVER +WHERE +WHEREAS +WHEREVER +WHERE'S +WHETHER +WHICH +WHICHEVER +WHILE +WHO +WHOSE +WHY +WILL +WITH +WITHIN +WITHOUT +WON'T +X +YES +YET +YOU +YOUR +YOURS +YOURSELF +YOU'D +YOU'LL +YOU'RE +YOU'VE +Z + \ No newline at end of file diff --git a/Source/Images/hd_cpm3/s1/u0/WSMSGS.OVR b/Source/Images/hd_cpm3/s1/u0/WSMSGS.OVR new file mode 100644 index 00000000..7f16fda8 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/WSMSGS.OVR differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSPRINT.OVR b/Source/Images/hd_cpm3/s1/u0/WSPRINT.OVR new file mode 100644 index 00000000..6f5aa696 Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/WSPRINT.OVR differ diff --git a/Source/Images/hd_cpm3/s1/u0/WSSHORT.OVR b/Source/Images/hd_cpm3/s1/u0/WSSHORT.OVR new file mode 100644 index 00000000..d240a40d Binary files /dev/null and b/Source/Images/hd_cpm3/s1/u0/WSSHORT.OVR differ diff --git a/Tools/simh/Sim.cfg b/Tools/simh/Sim.cfg index 2b86fdb4..7a8d6d04 100644 --- a/Tools/simh/Sim.cfg +++ b/Tools/simh/Sim.cfg @@ -33,11 +33,8 @@ set hdsk0 wrtenb set hdsk1 wrtenb ; enable timer interrupt, 50Hz -; DDT, SID, etc. use the normal IM 1 vector 6 ($38) -; for breakpoints so we use vector 6 ($30) d timd 20 -;d timh 38 -d timh 30 +d timh 38 set simh timeron ; start emulation