diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index b5e2f665..74a3a3a6 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 6f070cad..6ff51c89 100644 Binary files a/Doc/RomWBW Disk Catalog.pdf and b/Doc/RomWBW Disk Catalog.pdf differ diff --git a/Doc/RomWBW Errata.pdf b/Doc/RomWBW Errata.pdf index 22fdae85..3c72f800 100644 Binary files a/Doc/RomWBW Errata.pdf and b/Doc/RomWBW Errata.pdf differ diff --git a/Doc/RomWBW ROM Applications.pdf b/Doc/RomWBW ROM Applications.pdf index 9899e664..08d0e025 100644 Binary files a/Doc/RomWBW ROM Applications.pdf and b/Doc/RomWBW ROM Applications.pdf differ diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index 45330303..c67bfe59 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 4f832ea2..71ea264e 100644 Binary files a/Doc/RomWBW User Guide.pdf and b/Doc/RomWBW User Guide.pdf differ diff --git a/ReadMe.md b/ReadMe.md index 4fe5130b..f1ea670b 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -3,7 +3,7 @@ **RomWBW ReadMe** \ Version 3.4 \ Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ -22 Dec 2023 +27 Dec 2023 # Overview @@ -197,6 +197,30 @@ let me know if I missed you! Aztec C, HiTech C, SLR Z80ASM, Turbo Pascal, Microsoft BASIC Compiler, Microsoft Fortran Compiler, and a Games compendium. +- Martin R has provided substantial help reviewing and improving the + User Guide. + +- Jacques Pelletier has contributed the DS1501 RTC driver code. + +- Jose Collado has contributed enhancements to the TMS driver including + compatibility with standard TMS register configuration. + +- Kevin Boone has contributed a generic HBIOS date/time utility (WDATE). + +- Matt Carroll has contributed a fix to XM.COM that corrects the port + specification when doing a send. + +- Dean Jenkins enhanced the build process to accommodate the Raspberry + Pi 4. + +- Tom Plano has contributed a new utility (HTALK) to allow talking + directly to HBIOS COM ports. + +- Lars Nelson has contributed several generic utilities such as a + universal (OS agnostic) UNARC application. + +- Dylan Hall added support for specifying a secondary console. + Contributions of all kinds to RomWBW are very welcome. # Licensing diff --git a/ReadMe.txt b/ReadMe.txt index 7df74066..7fa7f6d5 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -1,6 +1,6 @@ RomWBW ReadMe Wayne Warthen (wwarthen@gmail.com) -22 Dec 2023 +27 Dec 2023 @@ -197,6 +197,31 @@ let me know if I missed you! including Aztec C, HiTech C, SLR Z80ASM, Turbo Pascal, Microsoft BASIC Compiler, Microsoft Fortran Compiler, and a Games compendium. +- Martin R has provided substantial help reviewing and improving the + User Guide. + +- Jacques Pelletier has contributed the DS1501 RTC driver code. + +- Jose Collado has contributed enhancements to the TMS driver + including compatibility with standard TMS register configuration. + +- Kevin Boone has contributed a generic HBIOS date/time utility + (WDATE). + +- Matt Carroll has contributed a fix to XM.COM that corrects the port + specification when doing a send. + +- Dean Jenkins enhanced the build process to accommodate the Raspberry + Pi 4. + +- Tom Plano has contributed a new utility (HTALK) to allow talking + directly to HBIOS COM ports. + +- Lars Nelson has contributed several generic utilities such as a + universal (OS agnostic) UNARC application. + +- Dylan Hall added support for specifying a secondary console. + Contributions of all kinds to RomWBW are very welcome. diff --git a/Source/Doc/ReadMe.md b/Source/Doc/ReadMe.md index 93aba3a8..c377e12f 100644 --- a/Source/Doc/ReadMe.md +++ b/Source/Doc/ReadMe.md @@ -187,6 +187,30 @@ please let me know if I missed you! BASIC Compiler, Microsoft Fortran Compiler, and a Games compendium. +* Martin R has provided substantial help reviewing and improving the + User Guide. + +* Jacques Pelletier has contributed the DS1501 RTC driver code. + +* Jose Collado has contributed enhancements to the TMS driver + including compatibility with standard TMS register configuration. + +* Kevin Boone has contributed a generic HBIOS date/time utility (WDATE). + +* Matt Carroll has contributed a fix to XM.COM that corrects the + port specification when doing a send. + +* Dean Jenkins enhanced the build process to accommodate the + Raspberry Pi 4. + +* Tom Plano has contributed a new utility (HTALK) to allow talking + directly to HBIOS COM ports. + +* Lars Nelson has contributed several generic utilities such as + a universal (OS agnostic) UNARC application. + +* Dylan Hall added support for specifying a secondary console. + Contributions of all kinds to RomWBW are very welcome. # Licensing diff --git a/Source/HBIOS/Build.cmd b/Source/HBIOS/Build.cmd index 83b317b3..03dbe739 100644 --- a/Source/HBIOS/Build.cmd +++ b/Source/HBIOS/Build.cmd @@ -139,7 +139,7 @@ if %ROMSize% gtr 0 ( copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin %ROMName%.upd || exit /b copy /b hbios_app.bin + osimg_small.bin %ROMName%.com || exit /b ) else ( - copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin + ..\RomDsk\ram%ROMSize%_wbw.dat %ROMName%.rom || exit /b + copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin + ..\RomDsk\ram%RAMSize%_wbw.dat %ROMName%.rom || exit /b copy /b hbios_rom.bin + osimg.bin + osimg1.bin + osimg2.bin %ROMName%.upd || exit /b copy /b hbios_app.bin + osimg_small.bin %ROMName%.com || exit /b ) diff --git a/Source/HBIOS/Build.sh b/Source/HBIOS/Build.sh index c50d3f73..6bd29d53 100755 --- a/Source/HBIOS/Build.sh +++ b/Source/HBIOS/Build.sh @@ -6,6 +6,7 @@ set -e export ROM_PLATFORM export ROM_CONFIG export ROMSIZE +export RAMSIZE export CPUFAM if [ "${ROM_PLATFORM}" == "dist" ] ; then @@ -114,4 +115,4 @@ fi #echo OBJECTS=${OBJECTS} -make ROM_PLATFORM=${ROM_PLATFORM} ROM_CONFIG=${ROM_CONFIG} ROMSIZE=${ROMSIZE} +make ROM_PLATFORM=${ROM_PLATFORM} ROM_CONFIG=${ROM_CONFIG} ROMSIZE=${ROMSIZE} RAMSIZE=${RAMSIZE} diff --git a/Source/HBIOS/Config/RCZ80_zrc.asm b/Source/HBIOS/Config/RCZ80_zrc.asm index 8e9424ed..272aac78 100644 --- a/Source/HBIOS/Config/RCZ80_zrc.asm +++ b/Source/HBIOS/Config/RCZ80_zrc.asm @@ -34,8 +34,8 @@ CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES ; -RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) -ROMSIZE .SET 256 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!) +RAMSIZE .SET 1536 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) +ROMSIZE .SET 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!) MEMMGR .SET MM_ZRC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180] ; UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM) diff --git a/Source/HBIOS/Makefile b/Source/HBIOS/Makefile index 1eb3302d..1d4b6c64 100644 --- a/Source/HBIOS/Makefile +++ b/Source/HBIOS/Makefile @@ -53,6 +53,7 @@ ROMNAME=${ROM_PLATFORM}_${ROM_CONFIG} # $(info ROM_PLATFORM=$(ROM_PLATFORM)) # $(info ROM_CONFIG=$(ROM_CONFIG)) # $(info ROMSIZE=$(ROMSIZE)) +# $(info RAMSIZE=$(RAMSIZE)) # $(info ROMNAME=$(ROMNAME)) # $(info CPUFAM=$(CPUFAM)) # $(info TASM=$(TASM)) @@ -81,7 +82,7 @@ $(OBJECTS) : $(ROMDEPS) cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin >$(ROMNAME).upd ; \ cat hbios_app.bin osimg_small.bin > $(ROMNAME).com ; \ else \ - cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin >$(ROMNAME).rom ; \ + cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin ../RomDsk/ram$(RAMSIZE)_wbw.dat >$(ROMNAME).rom ; \ cat hbios_rom.bin osimg.bin osimg1.bin osimg2.bin >$(ROMNAME).upd ; \ cat hbios_app.bin osimg_small.bin > $(ROMNAME).com ; \ fi \ diff --git a/Source/HBIOS/Makefile.new b/Source/HBIOS/Makefile.new new file mode 100644 index 00000000..f5e51005 --- /dev/null +++ b/Source/HBIOS/Makefile.new @@ -0,0 +1,153 @@ +DIST_OBJECTS := DYNO_std MK4_std N8_std RCZ180_ext RCZ180_nat RCZ180_z1rcc \ + RCZ280_ext RCZ280_nat RCZ280_zz80mb RCZ280_zzrcc RCZ280_zzrcc_ram \ + RCZ80_std RCZ80_kio RCZ80_easy RCZ80_tiny RCZ80_skz RCZ80_zrc \ + RCZ80_zrc_ram RCZ80_zrc512 RPH_std SBC_std SBC_simh MBC_std \ + DUO_std SCZ180_sc126 SCZ180_sc130 SCZ180_sc131 SCZ180_sc140 \ + SCZ180_sc503 SCZ180_sc700 S100_std UNA_std Z80RETRO_std \ + ZETA_std ZETA2_std HEATH_std EPITX_std +# RCZ80_mt RCZ80_duart MON_std + +OBJECTS := $(DIST_OBJECTS) +#OBJECTS := SBC_std S100_std +OBJECTS := $(OBJECTS:=.rom) $(OBJECTS:=.com) $(OBJECTS:=.upd) +OBJECTS := $(filter-out UNA_%.com UNA_%.upd,$(OBJECTS)) + +DEST = ../../Binary +TOOLS = ../../Tools +OTHERS = *.img *.rom *.com *.upd *.bin *.hex cpm.sys zsys.sys build.inc *.build.inc font*.asm *.dat hbios_env.sh + +FONTS := font8x11c.asm font8x11u.asm font8x16c.asm font8x16u.asm font8x8c.asm font8x8u.asm \ + fontcgac.asm fontcgau.asm fontvgarcc.asm fontvgarcu.asm + +include $(TOOLS)/Makefile.inc + +SHELL=/bin/bash + +font%.asm: + cp ../Fonts/$@ . + +camel80.bin: + cp ../Forth/$@ . + +tastybasic.bin: + cp ../TastyBasic/src/$@ . + +s100mon.bin: + $(ZXCC) $(CPM)/SLR180 -s100mon/FH + $(ZXCC) $(CPM)/MLOAD25 -s100mon.bin=s100mon + +%.build.inc: + echo $@ + cat <<-EOF >$@ + ; RomWBW Configured for $(*F) at $$(date +%Y-%m-%d) + ; + #DEFINE TIMESTAMP "$$(date +%Y-%m-%d)" + #DEFINE CONFIG "$(*F)" + ; + #INCLUDE "Config/$(*F).asm" + ; + EOF + cat $@ + +%.usrrom.bin: usrrom.asm %.build.inc + cp $(*F).build.inc build.inc + $(TASM) $(TASMFLAGS) $< $@ $(@:.bin=.lst) + rm build.inc + +%.updater.bin: updater.asm %.build.inc + cp $(*F).build.inc build.inc + $(TASM) $(TASMFLAGS) $< $@ $(@:.bin=.lst) + rm build.inc + +%.eastaegg.bin: eastaegg.asm %.build.inc + cp $(*F).build.inc build.inc + $(TASM) $(TASMFLAGS) $< $@ $(@:.bin=.lst) + rm build.inc + +%.game.bin: game.asm %.build.inc + cp $(*F).build.inc build.inc + $(TASM) $(TASMFLAGS) $< $@ $(@:.bin=.lst) + rm build.inc + +%.nascom.bin: nascom.asm %.build.inc + cp $(*F).build.inc build.inc + $(TASM) $(TASMFLAGS) $< $@ $(@:.bin=.lst) + rm build.inc + +%.romldr.bin: romldr.asm %.build.inc + cp $(*F).build.inc build.inc + $(TASM) $(TASMFLAGS) $< $@ $(@:.bin=.lst) + rm build.inc + +%.dbgmon.bin: dbgmon.asm %.build.inc + cp $(*F).build.inc build.inc + $(TASM) $(TASMFLAGS) $< $@ $(@:.bin=.lst) + rm build.inc + +%.hbios_env.com: hbios_env.asm %.build.inc + cp $(*F).build.inc build.inc + $(TASM) $(TASMFLAGS) -dBASH $< $@ $(@:.com=.lst) + rm build.inc + +%.hbios_env.sh: %.hbios_env.com + $(ZXCC) $< >$@ + +%.hbios_rom.bin: hbios.asm %.build.inc %.hbios_env.sh $(FONTS) + . ./$(*F).hbios_env.sh + TARGETS=("" "z80" "hd64180" "z280") + CPU=$${TARGETS[$$CPUFAM]} + cp $(*F).build.inc build.inc + $(BINDIR)/uz80as -t $$CPU -dROMBOOT $< $@ $(@:.bin=.lst) + srec_cat $@ -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $@ -Binary + rm build.inc + +%.hbios_app.bin: hbios.asm %.build.inc %.hbios_env.sh $(FONTS) + . ./$(*F).hbios_env.sh + TARGETS=("" "z80" "hd64180" "z280") + CPU=$${TARGETS[$$CPUFAM]} + cp $(*F).build.inc build.inc + $(BINDIR)/uz80as -t $$CPU -dAPPBOOT $< $@ $(@:.bin=.lst) + rm build.inc + +%.osimg.bin: %.romldr.bin %.dbgmon.bin + cat $(*F).romldr.bin $(*F).dbgmon.bin ../ZSDOS/zsys_wbw.bin ../CPM22/cpm_wbw.bin >$@ + srec_cat $@ -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $@ -Binary + +UNA_%.osimg.bin: UNA_%.romldr.bin UNA_%.dbgmon.bin + cat UNA_$(*F).romldr.bin UNA_$(*F).dbgmon.bin ../ZSDOS/zsys_una.bin ../CPM22/cpm_una.bin >$@ + srec_cat $@ -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $@ -Binary + +%.osimg_small.bin: %.romldr.bin %.dbgmon.bin + cat $(*F).romldr.bin $(*F).dbgmon.bin ../ZSDOS/zsys_wbw.bin >$@ + +%.osimg1.bin: camel80.bin %.nascom.bin tastybasic.bin %.game.bin %.eastaegg.bin netboot.mod %.updater.bin %.usrrom.bin + cat camel80.bin $(*F).nascom.bin tastybasic.bin $(*F).game.bin $(*F).eastaegg.bin netboot.mod $(*F).updater.bin $(*F).usrrom.bin >$@ + srec_cat $@ -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $@ -Binary + +%.imgpad2.bin: imgpad2.asm %.build.inc + cp $(*F).build.inc build.inc + $(TASM) $(TASMFLAGS) $< $@ $(@:.bin=.lst) + srec_cat $@ -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $@ -Binary + rm build.inc + +S100_%.imgpad2.bin: s100mon.bin + cp $< $@ + srec_cat $@ -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $@ -Binary + +%.rom: %.hbios_rom.bin %.osimg.bin %.osimg1.bin %.imgpad2.bin %.hbios_env.sh + . ./$(*F).hbios_env.sh + if [ $$ROMSIZE -gt 0 ] ; then RD="rom$$ROMSIZE" ; else RD="ram$$RAMSIZE" ; fi + cat $(*F).hbios_rom.bin $(*F).osimg.bin $(*F).osimg1.bin $(*F).imgpad2.bin ../RomDsk/$${RD}_wbw.dat >$@ + +UNA_%.rom: UNA_%.osimg.bin UNA_%.hbios_env.sh + . ./UNA_$(*F).hbios_env.sh + cat ../UBIOS/UNA-BIOS.BIN UNA_$(*F).osimg.bin ../UBIOS/FSFAT.BIN ../RomDsk/rom$${ROMSIZE}_una.dat >$@ + cp UNA_$(*F).osimg.bin $(DEST)/UNA_WBW_SYS.bin + cp ../RomDsk/rom$${ROMSIZE}_una.dat $(DEST)/UNA_WBW_ROM$${ROMSIZE}.bin + +%.com: %.hbios_app.bin %.osimg_small.bin + cat $(*F).hbios_app.bin $(*F).osimg_small.bin >$@ + +%.upd: %.hbios_rom.bin %.osimg.bin %.osimg1.bin %.imgpad2.bin + cat $(*F).hbios_rom.bin $(*F).osimg.bin $(*F).osimg1.bin $(*F).imgpad2.bin >$@ + diff --git a/Source/HBIOS/ansi.asm b/Source/HBIOS/ansi.asm index f9d3b922..50fbc9e6 100644 --- a/Source/HBIOS/ansi.asm +++ b/Source/HBIOS/ansi.asm @@ -1257,7 +1257,7 @@ ANSI_SGR_BG: ; ; ;...................................................................................... -; ### JLC Mod - Implement new Private Sequence to call VDAINI and Change Default Colors +; ### JLC Mod - Implement new Private Sequence to call VDASCO and Change Default Colors ; ANSI_SSC: ; SET SCREEN COLOR (CUSTOM EXTENSION) LD A,(ANSI_PARIDX) ; GET CURRENT PARM INDEX diff --git a/Source/HBIOS/hbios_env.asm b/Source/HBIOS/hbios_env.asm index df792dae..6d551d03 100644 --- a/Source/HBIOS/hbios_env.asm +++ b/Source/HBIOS/hbios_env.asm @@ -24,12 +24,9 @@ ; ; Print all desired config values... ; -#if (ROMSIZE > 0) - prtval("ROMSIZE$", ROMSIZE) -#else - prtval("ROMSIZE$", RAMSIZE) -#endif prtval("CPUFAM$", CPUFAM) + prtval("ROMSIZE$", ROMSIZE) + prtval("RAMSIZE$", RAMSIZE) ; ret ; diff --git a/Source/HBIOS/tms.asm b/Source/HBIOS/tms.asm index f6f14686..bf0e25da 100644 --- a/Source/HBIOS/tms.asm +++ b/Source/HBIOS/tms.asm @@ -369,7 +369,7 @@ TMS_VDASAT: RET TMS_VDASCO: - ; ### JLC Mod - Implement Default Text Mode Colors via ANSI_VDAINI or direct HBIOS Call + ; ### JLC Mod - Implement Default Text Mode Colors via ANSI_VDASCO or direct HBIOS Call ; ; Color setting is in reg D in ANSI Format as described in RomWBW System Guide ; Convert Color Format from ANSI to TMS shuffling bits arround and using diff --git a/Source/ver.inc b/Source/ver.inc index 2e66ec76..e9bdac40 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,7 +2,7 @@ #DEFINE RMN 4 #DEFINE RUP 0 #DEFINE RTP 0 -#DEFINE BIOSVER "3.4.0-dev.40" +#DEFINE BIOSVER "3.4.0-rc.0" #define rmj RMJ #define rmn RMN #define rup RUP diff --git a/Source/ver.lib b/Source/ver.lib index c81349bf..ae7e15dc 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 4 rup equ 0 rtp equ 0 biosver macro - db "3.4.0-dev.40" + db "3.4.0-rc.0" endm