diff --git a/.gitignore b/.gitignore index a468cb9a..af06bcf5 100644 --- a/.gitignore +++ b/.gitignore @@ -77,7 +77,6 @@ Tools/unix/zx/zx !Source/ver.lib !Source/Apps/FAT/FAT.COM -!Source/Apps/copysl/copysl.com !Source/Apps/ZMP/zmpx.com !Source/Apps/ZMD/zmdsubs.rel !Source/Apps/Test/vdctest/font.asm @@ -121,11 +120,14 @@ Binary/Apps/Tunes/inchina.vgm Binary/Apps/Tunes/shirakaw.vgm Binary/Apps/Tunes/startdem.vgm Binary/Apps/Tunes/wonder01.vgm +Binary/Apps/copysl.doc Binary/Apps/fdu.doc Binary/Apps/zmconfig.ovr Binary/Apps/zminit.ovr Binary/Apps/zmp.doc Binary/Apps/zmp.hlp +Binary/Apps/zmp.cfg +Binary/Apps/zmp.fon Binary/Apps/zmterm.ovr Binary/Apps/zmxfer.ovr Binary/CPM3/bdos3.spr @@ -144,8 +146,7 @@ Binary/CPNET/cpn12ser.lbr Binary/CPNET/cpn3duo.lbr Binary/CPNET/cpn3mt.lbr Binary/CPNET/cpn3ser.lbr -Binary/RCEZ80_std.upd -Binary/RCZ80_std.upd +Binary/*.upd Binary/ZPM3/bnkbdos3.spr Binary/ZPM3/bnkbios3.spr Binary/ZPM3/gencpm.dat @@ -174,74 +175,17 @@ Source/Fonts/fontcgau.asm Source/Fonts/fontvgarcc.asm Source/Fonts/fontvgarcc.bin Source/Fonts/fontvgarcu.asm -Source/HBIOS/RCEZ80_std.upd -Source/HBIOS/RCZ80_std.upd +Source/HBIOS/*.upd Source/HBIOS/build_env.cmd Source/HBIOS/hbios_env.sh +Source/HBIOS/netboot.mod +Source/Images/*.cat +Source/Images/*.img Source/Images/blank144 Source/Images/blankhd1k Source/Images/blankhd512 -Source/Images/fd144_aztecc.img -Source/Images/fd144_bascomp.img -Source/Images/fd144_cowgol.img -Source/Images/fd144_cpm22.img -Source/Images/fd144_cpm3.img -Source/Images/fd144_fortran.img -Source/Images/fd144_games.img -Source/Images/fd144_hitechc.img -Source/Images/fd144_nzcom.img -Source/Images/fd144_qpm.img -Source/Images/fd144_tpascal.img -Source/Images/fd144_ws4.img -Source/Images/fd144_z80asm.img -Source/Images/fd144_zpm3.img -Source/Images/fd144_zsdos.img -Source/Images/hd1k_aztecc.img -Source/Images/hd1k_bascomp.img -Source/Images/hd1k_blank.img -Source/Images/hd1k_bp.img -Source/Images/hd1k_combo.img -Source/Images/hd1k_cowgol.img -Source/Images/hd1k_cpm22.img -Source/Images/hd1k_cpm3.img -Source/Images/hd1k_fortran.img -Source/Images/hd1k_games.img -Source/Images/hd1k_hitechc.img -Source/Images/hd1k_nzcom.img -Source/Images/hd1k_qpm.img -Source/Images/hd1k_tpascal.img -Source/Images/hd1k_ws4.img -Source/Images/hd1k_z80asm.img -Source/Images/hd1k_zpm3.img -Source/Images/hd1k_zsdos.img -Source/Images/hd512_aztecc.img -Source/Images/hd512_bascomp.img -Source/Images/hd512_blank.img -Source/Images/hd512_combo.img -Source/Images/hd512_cowgol.img -Source/Images/hd512_cpm22.img -Source/Images/hd512_cpm3.img -Source/Images/hd512_dos65.img -Source/Images/hd512_fortran.img -Source/Images/hd512_games.img -Source/Images/hd512_hitechc.img -Source/Images/hd512_nzcom.img -Source/Images/hd512_qpm.img -Source/Images/hd512_tpascal.img -Source/Images/hd512_ws4.img -Source/Images/hd512_z80asm.img -Source/Images/hd512_zpm3.img -Source/Images/hd512_zsdos.img -Source/RomDsk/rom0_una.dat -Source/RomDsk/rom0_wbw.dat -Source/RomDsk/rom128_una.dat -Source/RomDsk/rom128_wbw.dat -Source/RomDsk/rom256_una.dat -Source/RomDsk/rom256_wbw.dat -Source/RomDsk/rom384_una.dat -Source/RomDsk/rom384_wbw.dat -Source/RomDsk/rom896_una.dat -Source/RomDsk/rom896_wbw.dat +Source/RomDsk/*.cat +Source/RomDsk/*.dat Source/ZCPR-DJ/zcprdemo.com Source/ZPM3/autotog.com Source/ZPM3/clrhist.com diff --git a/Doc/ChangeLog.txt b/Doc/ChangeLog.txt index 132fa966..cf1bdd7b 100644 --- a/Doc/ChangeLog.txt +++ b/Doc/ChangeLog.txt @@ -1,3 +1,8 @@ +Version 3.6 +----------- +- MGG: Added COBOL language disk image +- WDC: Added config options to PCF driver + Version 3.5.1 ------------- - WBW: Fix CPMLDR.SYS & ZPMLDR.SYS for SYSCOPY (reported by Guido Santer) diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 755d8798..f480fe75 100644 Binary files a/Doc/RomWBW Applications.pdf and b/Doc/RomWBW Applications.pdf differ diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index 2c7fce85..406f9d29 100644 Binary files a/Doc/RomWBW Disk Catalog.pdf and b/Doc/RomWBW Disk Catalog.pdf differ diff --git a/Doc/RomWBW Hardware.pdf b/Doc/RomWBW Hardware.pdf index 6a450ac7..b3a38686 100644 Binary files a/Doc/RomWBW Hardware.pdf and b/Doc/RomWBW Hardware.pdf differ diff --git a/Doc/RomWBW Introduction.pdf b/Doc/RomWBW Introduction.pdf index 38bb3e2d..2e5d408f 100644 Binary files a/Doc/RomWBW Introduction.pdf and b/Doc/RomWBW Introduction.pdf differ diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index 08cfd621..340d1332 100644 Binary files a/Doc/RomWBW System Guide.pdf and b/Doc/RomWBW System Guide.pdf differ diff --git a/Doc/RomWBW User Guide.pdf b/Doc/RomWBW User Guide.pdf index 4eda25ad..e11b341c 100644 Binary files a/Doc/RomWBW User Guide.pdf and b/Doc/RomWBW User Guide.pdf differ diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index dfa8f85d..47a8b95b 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -13,6 +13,24 @@ release of RomWBW. applications. This is discussed in the "Upgrading" section of the RomWBW User Guide. +## Version 3.5.1 + +This is a patch release of v3.5. + +### Fixes + +- Corrects an issue with the `CPMLDR.SYS` and `ZPMLDR.SYS` files that + caused `SYSCOPY` to fail when used with them. + +- Added missing `BCLOAD` file to the MS BASIC Compiler disk image. + +### New Features + +- Added `SLABEL` application (Mark Pruden). + +- Variety of documentation improvements, especially an overhaul of + the Hardware Document (Mark Pruden). + ## Version 3.5 ### Upgrade Notes diff --git a/ReadMe.md b/ReadMe.md index f7a884a4..5192d03c 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -5,9 +5,9 @@ **RomWBW Introduction** \ -Version 3.5 \ +Version 3.6 \ Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ -18 May 2025 +23 May 2025 # Overview diff --git a/ReadMe.txt b/ReadMe.txt index 3d12b649..2a73568e 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -1,6 +1,6 @@ RomWBW Introduction Wayne Warthen (wwarthen@gmail.com) -18 May 2025 +23 May 2025 diff --git a/Source/Doc/Basic.h b/Source/Doc/Basic.h index 5057e66d..bea16f6f 100644 --- a/Source/Doc/Basic.h +++ b/Source/Doc/Basic.h @@ -1,4 +1,4 @@ -$define{doc_ver}{Version 3.5}$ +$define{doc_ver}{Version 3.6}$ $define{doc_product}{RomWBW}$ $define{file_root}{https://github.com/wwarthen/RomWBW/raw/master}$ $define{doc_root}{$file_root$/Doc}$ diff --git a/Source/Doc/Hardware.md b/Source/Doc/Hardware.md index 9aa01173..520779dc 100644 --- a/Source/Doc/Hardware.md +++ b/Source/Doc/Hardware.md @@ -40,14 +40,19 @@ KIO refers to a Zilog specific Serial/Parallel Counter/Timer (Z84C90). The RCBus Z180 & Z280 require a separate RAM/ROM memory module. There are two types of these modules, you must pick the correct ROM for your type of memory module: -* The RCBus Z180 & Z280 require a separate RAM/ROM memory module. There are two types - of these modules, you must pick the correct ROM for your type of memory module: -* The second type of RAM/ROM module has no bank switching logic – this is called - (“Native”) because the CPU itself provides the bank switching logic. +* The first type of RAM/ROM module includes Z2 style memory bank + switching on the memory module itself. This is called "External" (ext) + because the bank switching is external from the CPU itself. + +* The second type of RAM/ROM module has no bank switching logic on the + memory module. Bank switching is implemented via the Z180 or Z280 + MMU – this is called “Native” (nat) because the CPU itself provides + the bank switching logic. Only Z180 and Z280 CPUs have the ability to do bank switching in the CPU, so the ext/nat selection only applies to them. Z80 CPUs have no -built-in bank switching logic, so they are always configured for +built-in bank switching logic, so they always require a RAM/ROM module +with Z2 style bank switching and the ROMs are always configured for external bank switching. `\clearpage`{=latex} diff --git a/Source/HBIOS/cfg_MASTER.asm b/Source/HBIOS/cfg_MASTER.asm index 5e4f8708..470a523e 100644 --- a/Source/HBIOS/cfg_MASTER.asm +++ b/Source/HBIOS/cfg_MASTER.asm @@ -128,6 +128,8 @@ CTCOSC .EQU 614400 ; CTC CLOCK FREQUENCY ; PCFENABLE .EQU FALSE ; ENABLE PCF8584 I2C CONTROLLER PCFBASE .EQU $F0 ; PCF8584 BASE I/O ADDRESS +PCFCLK .EQU 12 ; PCF CLOCK BASE +PCFTRNS .EQU 90 ; PCF TRANSFER SPEED ; EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION ; diff --git a/Source/HBIOS/cfg_RCZ80.asm b/Source/HBIOS/cfg_RCZ80.asm index df87d202..77c0c6c3 100644 --- a/Source/HBIOS/cfg_RCZ80.asm +++ b/Source/HBIOS/cfg_RCZ80.asm @@ -96,6 +96,8 @@ CTCOSC .SET CPUOSC ; CTC CLOCK FREQUENCY ; PCFENABLE .SET FALSE ; ENABLE PCF8584 I2C CONTROLLER PCFBASE .SET $F0 ; PCF8584 BASE I/O ADDRESS +PCFCLK .SET 8 ; PCF CLOCK BASE +PCFTRNS .SET 90 ; PCF TRANSFER SPEED ; EIPCENABLE .SET FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION ; diff --git a/Source/HBIOS/pcf.asm b/Source/HBIOS/pcf.asm index c8c0eaa1..0d5216c8 100644 --- a/Source/HBIOS/pcf.asm +++ b/Source/HBIOS/pcf.asm @@ -82,10 +82,46 @@ PCF_TRNS11 .EQU 002H ; 11 kHz */ PCF_TRNS15 .EQU 003H ; 1.5 kHz */ ; ; BELOW VARIABLES CONTROL PCF CLOCK DIVISOR PROGRAMMING -; HARD-CODED FOR NOW ; -PCF_CLK .EQU PCF_CLK12 -PCF_TRNS .EQU PCF_TRNS90 +#IF (PCFCLK = 3) +PCF_CLK .EQU PCF_CLK3 +#ELSE + #IF (PCFCLK = 443) +PCF_CLK .EQU PCF_CLK443 + #ELSE + #IF (PCFCLK = 6) +PCF_CLK .EQU PCF_CLK6 + #ELSE + #IF (PCFCLK = 8) +PCF_CLK .EQU PCF_CLK8 + #ELSE + #IF (PCFCLK = 12) +PCF_CLK .EQU PCF_CLK12 + #ELSE ***ERROR + .ERROR "PCFCLK UNDEFINED OR WRONG VALUE VALID VALUES ARE (3,443,6,8,12)" + #ENDIF + #ENDIF + #ENDIF + #ENDIF +#ENDIF +; +#IF (PCFTRNS = 90) +PCF_TRNS .EQU PCF_TRNS90 +#ELSE + #IF (PCFTRNS = 45) +PCF_TRNS .EQU PCF_TRNS45 + #ELSE + #IF (PCFTRNS = 11) +PCF_TRNS .EQU PCF_TRNS11 + #ELSE + #IF (PCFTRNS = 15) +PCF_TRNS .EQU PCF_TRNS15 + #ELSE ***ERROR + .ERROR "PCFTRNS UNDEFINED OR WRONG VALUE VALID VALUES ARE (90,45,11,15)" + #ENDIF + #ENDIF + #ENDIF +#ENDIF ; ; TIMEOUT AND DELAY VALUES (ARBITRARY) ; diff --git a/Source/Images/Makefile b/Source/Images/Makefile index 3e65dcf2..3738e362 100644 --- a/Source/Images/Makefile +++ b/Source/Images/Makefile @@ -8,7 +8,7 @@ FDIMGS = fd144_cpm22.img fd144_zsdos.img fd144_nzcom.img \ fd144_z3plus.img \ fd144_z80asm.img fd144_aztecc.img fd144_hitechc.img \ fd144_bascomp.img fd144_fortran.img fd144_games.img \ - fd144_tpascal.img fd144_cowgol.img + fd144_tpascal.img fd144_cowgol.img fd144_cobol.img HD512IMGS = hd512_cpm22.img hd512_zsdos.img hd512_nzcom.img \ hd512_cpm3.img hd512_zpm3.img hd512_ws4.img HD512XIMGS = hd512_z80asm.img hd512_aztecc.img hd512_hitechc.img \ @@ -16,7 +16,7 @@ HD512XIMGS = hd512_z80asm.img hd512_aztecc.img hd512_hitechc.img \ hd512_tpascal.img hd512_dos65.img hd512_qpm.img \ hd512_z3plus.img \ hd512_cowgol.img hd512_msxroms1.img hd512_msxroms2.img \ - hd512_blank.img + hd512_cobol.img hd512_blank.img HD1KIMGS = hd1k_cpm22.img hd1k_zsdos.img hd1k_nzcom.img \ hd1k_cpm3.img hd1k_zpm3.img hd1k_ws4.img HD1KXIMGS = hd1k_z80asm.img hd1k_aztecc.img hd1k_hitechc.img \ @@ -24,7 +24,7 @@ HD1KXIMGS = hd1k_z80asm.img hd1k_aztecc.img hd1k_hitechc.img \ hd1k_tpascal.img hd1k_qpm.img \ hd1k_z3plus.img \ hd1k_cowgol.img hd1k_msxroms1.img hd1k_msxroms2.img \ - hd1k_blank.img + hd1k_cobol.img hd1k_blank.img HD1KXIMGS += hd1k_bp.img HD512PREFIX = diff --git a/Source/ver.inc b/Source/ver.inc index a5fff33d..b03e2f39 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -1,8 +1,8 @@ #DEFINE RMJ 3 -#DEFINE RMN 5 -#DEFINE RUP 1 +#DEFINE RMN 6 +#DEFINE RUP 0 #DEFINE RTP 0 -#DEFINE BIOSVER "3.5.1-rc.5" +#DEFINE BIOSVER "3.6.0-dev.0" #define rmj RMJ #define rmn RMN #define rup RUP diff --git a/Source/ver.lib b/Source/ver.lib index f9ba8e7e..8ea05b52 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -1,7 +1,7 @@ rmj equ 3 -rmn equ 5 -rup equ 1 +rmn equ 6 +rup equ 0 rtp equ 0 biosver macro - db "3.5.1-rc.5" + db "3.6.0-dev.0" endm