Skip to content

Commit

Permalink
Initial Release Candidate for v3.4
Browse files Browse the repository at this point in the history
- Minor doc updates
- Comment updates in ansi.asm and tms.asm
- Correction to build process for ROMless systems
- Fix for ZRC (default configuration) to use all available RAM
  • Loading branch information
wwarthen committed Dec 28, 2023
1 parent def84ed commit cdb9f9b
Show file tree
Hide file tree
Showing 19 changed files with 241 additions and 16 deletions.
Binary file modified Doc/RomWBW Applications.pdf
Binary file not shown.
Binary file modified Doc/RomWBW Disk Catalog.pdf
Binary file not shown.
Binary file modified Doc/RomWBW Errata.pdf
Binary file not shown.
Binary file modified Doc/RomWBW ROM Applications.pdf
Binary file not shown.
Binary file modified Doc/RomWBW System Guide.pdf
Binary file not shown.
Binary file modified Doc/RomWBW User Guide.pdf
Binary file not shown.
26 changes: 25 additions & 1 deletion ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
**RomWBW ReadMe** \
Version 3.4 \
Wayne Warthen ([[email protected]](mailto:[email protected])) \
22 Dec 2023
27 Dec 2023

# Overview

Expand Down Expand Up @@ -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
Expand Down
27 changes: 26 additions & 1 deletion ReadMe.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
RomWBW ReadMe
Wayne Warthen ([email protected])
22 Dec 2023
27 Dec 2023



Expand Down Expand Up @@ -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.


Expand Down
24 changes: 24 additions & 0 deletions Source/Doc/ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion Source/HBIOS/Build.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -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
)
Expand Down
3 changes: 2 additions & 1 deletion Source/HBIOS/Build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ set -e
export ROM_PLATFORM
export ROM_CONFIG
export ROMSIZE
export RAMSIZE
export CPUFAM

if [ "${ROM_PLATFORM}" == "dist" ] ; then
Expand Down Expand Up @@ -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}
4 changes: 2 additions & 2 deletions Source/HBIOS/Config/RCZ80_zrc.asm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
3 changes: 2 additions & 1 deletion Source/HBIOS/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down Expand Up @@ -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 \
Expand Down
153 changes: 153 additions & 0 deletions Source/HBIOS/Makefile.new
Original file line number Diff line number Diff line change
@@ -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 >$@

2 changes: 1 addition & 1 deletion Source/HBIOS/ansi.asm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 2 additions & 5 deletions Source/HBIOS/hbios_env.asm
Original file line number Diff line number Diff line change
Expand Up @@ -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
;
Expand Down
2 changes: 1 addition & 1 deletion Source/HBIOS/tms.asm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion Source/ver.inc
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion Source/ver.lib
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit cdb9f9b

Please sign in to comment.