mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
Compare commits
11 Commits
v3.4.0-dev
...
v3.4.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1a9701e51d | ||
|
|
23e0b82112 | ||
|
|
b4b5ef19fc | ||
|
|
4dd46c3df6 | ||
|
|
17e3a95768 | ||
|
|
3529cdaa2f | ||
|
|
556b7074ae | ||
|
|
952489eac4 | ||
|
|
8f326fb081 | ||
|
|
2925ab3d42 | ||
|
|
cdb9f9b40a |
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
BEFORE YOU CREATE A PULL REQUEST:
|
||||
|
||||
- Please base all pull requests against the dev branch
|
||||
- Please base all pull requests against the master branch
|
||||
- Include a clear description of your change
|
||||
- Reference related Issue(s) (e.g., "Resolves Issue #123")
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ NOTE: Changes require HBIOS/CBIOS/Apps sync, version bump to 3.4 to ensure integ
|
||||
- M?R: User Guide enhancements and corrections
|
||||
- D?H: Added support for specification of secondary console
|
||||
- WBW: Added platform for Monsputer
|
||||
- WBW: Added FAT.COM to standard ROM Disk (removed RMAC.COM & LINK.COM)
|
||||
|
||||
Version 3.3
|
||||
-----------
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
28
ReadMe.md
28
ReadMe.md
@@ -3,7 +3,7 @@
|
||||
**RomWBW ReadMe** \
|
||||
Version 3.4 \
|
||||
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
|
||||
22 Dec 2023
|
||||
30 Dec 2023
|
||||
|
||||
# Overview
|
||||
|
||||
@@ -197,6 +197,32 @@ 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.
|
||||
|
||||
- Bill Shen has contributed boot loaders for several of his systems.
|
||||
|
||||
Contributions of all kinds to RomWBW are very welcome.
|
||||
|
||||
# Licensing
|
||||
|
||||
29
ReadMe.txt
29
ReadMe.txt
@@ -1,6 +1,6 @@
|
||||
RomWBW ReadMe
|
||||
Wayne Warthen (wwarthen@gmail.com)
|
||||
22 Dec 2023
|
||||
30 Dec 2023
|
||||
|
||||
|
||||
|
||||
@@ -197,6 +197,33 @@ 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.
|
||||
|
||||
- Bill Shen has contributed boot loaders for several of his systems.
|
||||
|
||||
Contributions of all kinds to RomWBW are very welcome.
|
||||
|
||||
|
||||
|
||||
@@ -189,9 +189,9 @@ show_spd:
|
||||
ld b,BF_SYSGET
|
||||
ld c,BF_SYSGET_CPUINFO
|
||||
rst 08
|
||||
jp nz,err_not_sup
|
||||
jp nz,err_api
|
||||
call crlf2
|
||||
ld (cpu_spd),de ; save CPU speed for now
|
||||
push de ; save CPU speed for now
|
||||
push bc ; Oscillator speed to HL
|
||||
pop hl
|
||||
ld de,str_spacer
|
||||
@@ -199,10 +199,18 @@ show_spd:
|
||||
call prtd3m ; print it
|
||||
ld de,str_oscspd
|
||||
call prtstr
|
||||
call crlf
|
||||
ld de,str_cpuspd
|
||||
call prtstr
|
||||
pop hl ; recover CPU speed
|
||||
call prtd3m ; print it
|
||||
ld de,str_mhz
|
||||
call prtstr
|
||||
;
|
||||
ld b,BF_SYSGET
|
||||
ld c,BF_SYSGET_CPUSPD
|
||||
rst 08
|
||||
jp nz,err_not_sup
|
||||
ret nz ; no CPU speed info, done
|
||||
push de ; save wait states for now
|
||||
ld a,l
|
||||
ld de,str_slow
|
||||
@@ -216,11 +224,6 @@ show_spd:
|
||||
jr z,show_spd1
|
||||
jp err_invalid
|
||||
show_spd1:
|
||||
call crlf
|
||||
call prtstr
|
||||
ld hl,(cpu_spd) ; recover CPU speed
|
||||
call prtd3m
|
||||
ld de,str_cpuspd
|
||||
call prtstr
|
||||
pop hl
|
||||
ld a,h ; memory wait states
|
||||
@@ -284,6 +287,9 @@ err_not_sup:
|
||||
err_invalid:
|
||||
ld de,str_err_invalid
|
||||
jr err_ret
|
||||
err_api:
|
||||
ld de,str_err_api
|
||||
jr err_ret
|
||||
;
|
||||
err_ret:
|
||||
call crlf2
|
||||
@@ -659,21 +665,24 @@ delay1:
|
||||
; Constants
|
||||
;=======================================================================
|
||||
;
|
||||
str_banner .db "RomWBW CPU Speed Selector v0.5, 2-Feb-2022",0
|
||||
str_banner .db "RomWBW CPU Speed Selector v0.6, 29-Dec-2023",0
|
||||
str_spacer .db " ",0
|
||||
str_oscspd .db " MHz Oscillator",0
|
||||
str_slow .db " CPU speed is HALF (",0
|
||||
str_full .db " CPU speed is FULL (",0
|
||||
str_dbl .db " CPU speed is DOUBLE (",0
|
||||
str_cpuspd .db " MHz)",0
|
||||
str_cpuspd .db " CPU speed is ",0
|
||||
str_mhz .db " MHz",0
|
||||
|
||||
str_slow .db " (Half)",0
|
||||
str_full .db " (Full)",0
|
||||
str_dbl .db " (Double)",0
|
||||
str_memws .db " Memory Wait State(s)",0
|
||||
str_iows .db " I/O Wait State(s)",0
|
||||
str_err_una .db " ERROR: UNA not supported by application",0
|
||||
str_err_inv .db " ERROR: Invalid BIOS (signature missing)",0
|
||||
str_err_ver .db " ERROR: Unexpected HBIOS version",0
|
||||
str_err_parm .db " ERROR: Parameter error (CPUSPD /? for usage)",0
|
||||
str_err_not_sup .db " ERROR: Platform or configuration not supported!",0
|
||||
str_err_not_sup .db " ERROR: Platform or configuration does not support CPU speed configuration!",0
|
||||
str_err_invalid .db " ERROR: Invalid configuration!",0
|
||||
str_err_api .db " ERROR: HBIOS API error!",0
|
||||
str_usage .db " Usage: CPUSPD <cpuspd>,<memws>,<iows>\r\n"
|
||||
.db "\r\n"
|
||||
.db " <cpuspd>: \"Half\", \"Full\", or \"Double\"\r\n"
|
||||
@@ -693,7 +702,6 @@ stack .equ $ ; stack top
|
||||
;
|
||||
;
|
||||
tmpstr .fill 9,0 ; temp string (8 chars, 0 term)
|
||||
cpu_spd .dw 0 ; current cpu speed
|
||||
new_cpu_spd .db $FF ; new CPU speed
|
||||
new_ws_mem .db $FF ; new memory wait states
|
||||
new_ws_io .db $FF ; new I/O wait states
|
||||
|
||||
@@ -187,6 +187,33 @@ 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.
|
||||
|
||||
* Bill Shen has contributed boot loaders for several of his
|
||||
systems.
|
||||
|
||||
Contributions of all kinds to RomWBW are very welcome.
|
||||
|
||||
# Licensing
|
||||
|
||||
@@ -2640,6 +2640,7 @@ therefore, globally available.
|
||||
| XM | XModem file transfer program adapted to hardware. Automatically uses primary serial port on system. |
|
||||
| FLASH | Will Sowerbutts' in-situ ROM programming utility. |
|
||||
| FDISK80 | John Coffman's Z80 hard disk partitioning tool. See documentation in Doc directory. |
|
||||
| FAT | Access MS-DOS FAT filesystems from RomWBW (based on FatFs). |
|
||||
| TALK | Direct console I/O to a specified character device. |
|
||||
| RTC | Manage and test the Real Time Clock hardware. |
|
||||
| TIMER | Display value of running periodic system timer. |
|
||||
@@ -2647,12 +2648,12 @@ therefore, globally available.
|
||||
|
||||
Some custom applications do not fit on the ROM disk. They are found on the
|
||||
disk image files or the individual files can be found in the Binary/Apps
|
||||
directory of the distribution.
|
||||
directory of the distribution. They are also included on the
|
||||
floppy disk and hard disk images.
|
||||
|
||||
| **Application** | **Description** |
|
||||
|-----------------|--------------------------------------------------------------------|
|
||||
| TUNE | Play .PT2, .PT3, .MYM audio files. |
|
||||
| FAT | Access MS-DOS FAT filesystems from RomWBW (based on FatFs). |
|
||||
| INTTEST | Test interrupt vector hooking. |
|
||||
|
||||
# FAT Filesystem
|
||||
@@ -3713,6 +3714,7 @@ them over any older versions of the app on your disk:
|
||||
* TALK.COM
|
||||
* RTC.COM
|
||||
* TIMER.COM
|
||||
* FAT.COM
|
||||
|
||||
For example: `B>COPY ASSIGN.COM C:`
|
||||
|
||||
@@ -3722,9 +3724,13 @@ system and then update all copies. These applications are found in
|
||||
the Binary/Apps directory of the distribution and in all of the disk
|
||||
images.
|
||||
|
||||
* FAT.COM
|
||||
* TUNE.COM
|
||||
|
||||
The files normally contained on the standard ROM Disk is based on a 512K
|
||||
ROM. If your system has a smaller size ROM, then not all of these
|
||||
files will be included on your ROM Disk. You will need to copy them to
|
||||
your system from the /Binary/Apps folder of the RomWBW distribution.
|
||||
|
||||
**WARNING**: If you run a RomWBW-specific application that is not
|
||||
the appropriate for the version of RomWBW you are running, the
|
||||
application will generate an error message and abort.
|
||||
@@ -3908,6 +3914,9 @@ please let me know if I missed you!
|
||||
|
||||
* Dylan Hall added support for specifying a secondary console.
|
||||
|
||||
* Bill Shen has contributed boot loaders for several of his
|
||||
systems.
|
||||
|
||||
Contributions of all kinds to RomWBW are very welcome.
|
||||
|
||||
# Licensing
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
;
|
||||
#include "cfg_rcz280.asm"
|
||||
;
|
||||
CPUOSC .SET 12000000 ; CPU OSC FREQ IN MHZ
|
||||
CPUOSC .SET 24000000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .SET 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
;
|
||||
#include "cfg_rcz280.asm"
|
||||
;
|
||||
CPUOSC .SET 12000000 ; CPU OSC FREQ IN MHZ
|
||||
CPUOSC .SET 24000000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .SET 3 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
|
||||
@@ -50,7 +50,7 @@ MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .SET TRUE ; MD: ENABLE RAM DISK
|
||||
;
|
||||
Z2UENABLE .SET TRUE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
|
||||
Z2UOSC .SET (CPUOSC / 8) ; Z2U: OSC FREQUENCY IN MHZ
|
||||
Z2UOSC .SET (CPUOSC / 16) ; Z2U: OSC FREQUENCY IN MHZ
|
||||
Z2U0HFC .SET TRUE ; Z2U0: ENABLE HARDWARE FLOW CONTROL
|
||||
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
|
||||
@@ -50,7 +50,7 @@ MDROM .SET FALSE ; MD: ENABLE ROM DISK
|
||||
MDRAM .SET TRUE ; MD: ENABLE RAM DISK
|
||||
;
|
||||
Z2UENABLE .SET TRUE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
|
||||
Z2UOSC .SET (CPUOSC / 8) ; Z2U: OSC FREQUENCY IN MHZ
|
||||
Z2UOSC .SET (CPUOSC / 16) ; Z2U: OSC FREQUENCY IN MHZ
|
||||
Z2U0HFC .SET TRUE ; Z2U0: ENABLE HARDWARE FLOW CONTROL
|
||||
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.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)
|
||||
|
||||
@@ -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 \
|
||||
|
||||
132
Source/HBIOS/Makefile.new
Normal file
132
Source/HBIOS/Makefile.new
Normal file
@@ -0,0 +1,132 @@
|
||||
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 MK4_std UNA_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
|
||||
OTHERS += *.build.inc font*.asm *.dat hbios_env.sh
|
||||
|
||||
FONTS := font8x11c.asm font8x11u.asm font8x16c.asm font8x16u.asm
|
||||
FONTS += font8x8c.asm font8x8u.asm fontcgac.asm fontcgau.asm
|
||||
FONTS += fontvgarcc.asm fontvgarcu.asm
|
||||
|
||||
BUILD_COMPONENT = \
|
||||
cp $(*F).build.inc build.inc ; \
|
||||
$(TASM) $(TASMFLAGS) $< $@ $(@:.bin=.lst) ; \
|
||||
rm build.inc
|
||||
|
||||
SHELL=/bin/bash
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
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 $@
|
||||
echo "; RomWBW Configured for $(*F) at $$(date +%Y-%m-%d)" >>$@
|
||||
echo ";" >>$@
|
||||
echo "#DEFINE TIMESTAMP \"$$(date +%Y-%m-%d)\"" >>$@
|
||||
echo "#DEFINE CONFIG \"$(*F)\"" >>$@
|
||||
echo ";" >>$@
|
||||
echo "#INCLUDE \"Config/$(*F).asm\"" >>$@
|
||||
echo ";" >>$@
|
||||
cat $@
|
||||
|
||||
%.usrrom.bin: usrrom.asm %.build.inc ; $(BUILD_COMPONENT)
|
||||
%.updater.bin: updater.asm %.build.inc ; $(BUILD_COMPONENT)
|
||||
%.eastaegg.bin: eastaegg.asm %.build.inc ; $(BUILD_COMPONENT)
|
||||
%.game.bin: game.asm %.build.inc ; $(BUILD_COMPONENT)
|
||||
%.nascom.bin: nascom.asm %.build.inc ; $(BUILD_COMPONENT)
|
||||
%.romldr.bin: romldr.asm %.build.inc ; $(BUILD_COMPONENT)
|
||||
%.dbgmon.bin: dbgmon.asm %.build.inc ; $(BUILD_COMPONENT)
|
||||
|
||||
%.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
|
||||
|
||||
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.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
|
||||
|
||||
%.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
|
||||
|
||||
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
|
||||
|
||||
%.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 >$@
|
||||
|
||||
%.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 >$@
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -28,7 +28,7 @@ BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
CPUOSC .EQU 12000000 ; CPU OSC FREQ IN MHZ
|
||||
CPUOSC .EQU 24000000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
DEFSERCFG .EQU SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
|
||||
@@ -92,6 +92,8 @@ MODCNT .SET MODCNT + 1
|
||||
;
|
||||
;
|
||||
;
|
||||
#DEFINE ALIGN(N) .FILL ((($+(N-1)) & ~(N-1)) - $)
|
||||
;
|
||||
#IF (FPLED_ENABLE)
|
||||
#DEFINE DIAG(N) PUSH AF
|
||||
#DEFCONT \ LD A,N
|
||||
@@ -1245,10 +1247,8 @@ BOOTWAIT:
|
||||
;
|
||||
JR Z280_INITZ ; JUMP TO CODE CONTINUATION
|
||||
;
|
||||
#IF (($ % 2) == 1)
|
||||
; WORD ALIGN THE TABLE
|
||||
.DB 0
|
||||
#ENDIF
|
||||
; WORD ALIGN THE PDR TABLE
|
||||
ALIGN(2)
|
||||
;
|
||||
Z280_BOOTPDRTBL:
|
||||
; LOWER 32 K (BANKED)
|
||||
@@ -2094,6 +2094,15 @@ HB_CPU2:
|
||||
HB_CPU3:
|
||||
#ENDIF
|
||||
;
|
||||
#IF (CPUFAM == CPU_Z280)
|
||||
;
|
||||
; Z280 ALWAYS HALVES THE INPUT OSCILLATOR TO DERIVE
|
||||
; ACTUAL CPU SPEED.
|
||||
; ADJUST HL TO REFLECT HALF SPEED OPERATION
|
||||
SRL H ; ADJUST HL ASSUMING
|
||||
RR L ; HALF SPEED OPERATION
|
||||
#ENDIF
|
||||
;
|
||||
; HL SHOULD NOW HAVE FINAL CPU RUNNING SPEED IN KHZ.
|
||||
; UPDATE CB_CPUMHZ/CB_CPUKHZ WITH THIS VALUE.
|
||||
;
|
||||
@@ -5223,12 +5232,12 @@ SYS_INTSET1:
|
||||
; HERE IN AN EFFORT TO MINIMIZE WASTED SPACE. THERE SHOULD BE
|
||||
; A LITTLE LESS THAN 4K OF CODE ABOVE.
|
||||
;
|
||||
Z280_IVT_SLACK .EQU $1000 - ($ & $FFF)
|
||||
.ECHO "Z280 IVT SLACK occupies "
|
||||
.ECHO Z280_IVT_SLACK
|
||||
.ECHO " bytes.\n"
|
||||
;.FILL $1000 - ($ & $FFF) ; MUST BE 4K ALIGNED!
|
||||
.FILL Z280_IVT_SLACK ; MUST BE 4K ALIGNED!
|
||||
Z280_IVT_SLACK_ORG .EQU $
|
||||
ALIGN($1000)
|
||||
Z280_IVT_SLACK .EQU $ - Z280_IVT_SLACK_ORG
|
||||
.ECHO "Z280 IVT SLACK occupies "
|
||||
.ECHO Z280_IVT_SLACK
|
||||
.ECHO " bytes.\n"
|
||||
;
|
||||
Z280_IVT:
|
||||
.DW 0, 0 ; RESERVED
|
||||
@@ -7865,8 +7874,9 @@ HB_WRKBUF .FILL 512,0 ; INTERNAL DISK BUFFER
|
||||
;
|
||||
#IFDEF MG014_MAP
|
||||
;
|
||||
.FILL 32 - ($ & (32 - 1)) ; ALIGN TO 32 BYTE BOUNDARY
|
||||
|
||||
; ALIGN TO 32 BYTE BOUNDARY
|
||||
ALIGN($20)
|
||||
;
|
||||
MG014_STATMAPLO:
|
||||
; LOWER NIBBLE
|
||||
.DB $08 ; 00
|
||||
|
||||
@@ -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
|
||||
;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -216,19 +216,8 @@ UART_INIT1:
|
||||
LD A,(IY+1) ; GET UART TYPE
|
||||
OR A ; SET FLAGS
|
||||
JR Z,UART_INIT2 ; SKIP IF ZERO (NOT DETECTED)
|
||||
PUSH AF ; SAVE TYPE VALUE
|
||||
CALL UART_PRTCFG ; PRINT IF NOT ZERO
|
||||
POP AF ; RESTORE TYPE VALUE
|
||||
BIT UART_CTSBAD,A ; CTS STALL?
|
||||
JR Z,UART_INIT2 ; IF NOT, SKIP AHEAD
|
||||
CALL NEWLINE ; FORMATTING
|
||||
PRTS("UART$") ; FORMATTING
|
||||
LD A,(IY) ; DEVICE NUM
|
||||
CALL PRTDECB ; PRINT DEVICE NUM
|
||||
PRTS(": $") ; FORMATTING
|
||||
LD DE,UART_STR_BADCTS ; LOAD WARNING MESSAGE
|
||||
CALL WRITESTR ; ... AND PRINT IT
|
||||
;
|
||||
;
|
||||
UART_INIT2:
|
||||
POP BC ; RESTORE LOOP CONTROL
|
||||
INC C ; NEXT UNIT
|
||||
@@ -963,6 +952,11 @@ UART_PRTCFG2:
|
||||
PRTS(" AFC$")
|
||||
;
|
||||
UART_PRTCFG3:
|
||||
BIT UART_CTSBAD,(IY+1) ; GET BADCTS BIT
|
||||
JR Z,UART_PRTCFG4
|
||||
PRTS(" NO_CTS!$")
|
||||
;
|
||||
UART_PRTCFG4:
|
||||
;
|
||||
XOR A
|
||||
RET
|
||||
@@ -1023,8 +1017,6 @@ UART_STR_16850 .DB "16850$"
|
||||
;
|
||||
UART_PAR_MAP .DB "NONENMNS"
|
||||
;
|
||||
UART_STR_BADCTS .DB "CTS STALL, HARDWARE FLOW CONTROL SUSPENDED$"
|
||||
;
|
||||
; WORKING VARIABLES
|
||||
;
|
||||
UART_DEV .DB 0 ; DEVICE NUM USED DURING INIT
|
||||
|
||||
@@ -24,27 +24,27 @@ set RomApps2=fdu format survey sysgen talk timer cpuspd
|
||||
|
||||
set RomApps=
|
||||
|
||||
copy NUL rom128_wbw.dat
|
||||
copy NUL rom128_una.dat
|
||||
copy NUL rom128_wbw.dat || exit /b
|
||||
copy NUL rom128_una.dat || exit /b
|
||||
|
||||
:: MakeDisk <OutputFile> <ImageSize> <Format> <Directory> <Bios>
|
||||
|
||||
set RomApps=%RomApps1%
|
||||
|
||||
call :MakeDisk rom256_wbw wbw_rom256 ROM_256KB 0x20000 wbw
|
||||
call :MakeDisk rom256_una wbw_rom256 ROM_256KB 0x20000 una
|
||||
call :MakeDisk rom256_wbw wbw_rom256 ROM_256KB 0x20000 wbw || exit /b
|
||||
call :MakeDisk rom256_una wbw_rom256 ROM_256KB 0x20000 una || exit /b
|
||||
|
||||
set RomApps=%RomApps1% %RomApps2%
|
||||
|
||||
call :MakeDisk rom512_wbw wbw_rom512 ROM_512KB 0x60000 wbw
|
||||
call :MakeDisk rom512_una wbw_rom512 ROM_512KB 0x60000 una
|
||||
call :MakeDisk rom512_wbw wbw_rom512 ROM_512KB 0x60000 wbw || exit /b
|
||||
call :MakeDisk rom512_una wbw_rom512 ROM_512KB 0x60000 una || exit /b
|
||||
|
||||
call :MakeDisk rom1024_wbw wbw_rom1024 ROM_1024KB 0xE0000 wbw
|
||||
call :MakeDisk rom1024_una wbw_rom1024 ROM_1024KB 0xE0000 una
|
||||
call :MakeDisk rom1024_wbw wbw_rom1024 ROM_1024KB 0xE0000 wbw || exit /b
|
||||
call :MakeDisk rom1024_una wbw_rom1024 ROM_1024KB 0xE0000 una || exit /b
|
||||
|
||||
call :MakeDisk ram512_wbw wbw_ram512 RAM_512KB 0x40000 wbw
|
||||
call :MakeDisk ram512_wbw wbw_ram512 RAM_512KB 0x40000 wbw || exit /b
|
||||
|
||||
call :MakeDisk ram1024_wbw wbw_ram1024 RAM_1024KB 0xC0000 wbw
|
||||
call :MakeDisk ram1024_wbw wbw_ram1024 RAM_1024KB 0xC0000 wbw || exit /b
|
||||
|
||||
goto :eof
|
||||
|
||||
|
||||
BIN
Source/RomDsk/ROM_512KB/FAT.COM
Normal file
BIN
Source/RomDsk/ROM_512KB/FAT.COM
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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"
|
||||
#define rmj RMJ
|
||||
#define rmn RMN
|
||||
#define rup RUP
|
||||
|
||||
@@ -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"
|
||||
endm
|
||||
|
||||
@@ -124,16 +124,15 @@ all:: $(OBJECTS)
|
||||
@for dir in $(SUBDIRS) ; do \
|
||||
$(MAKE) --directory $$dir ; \
|
||||
done
|
||||
rm -f /tmp/casefn.cache
|
||||
@if [ "$(DEST)" ] && [ "$(OBJECTS)" ] ; then for file in $(filter-out $(NOCOPY),$(OBJECTS)) ; do \
|
||||
mkdir -p $(DEST) ; \
|
||||
echo Copying $$file to $(DEST) ; \
|
||||
rm -f /tmp/casefn.cache ; \
|
||||
cp $$($(CASEFN) $$file) $(DEST) ; \
|
||||
done ; fi
|
||||
@if [ "$(DOCDEST)" ] && [ "$(DOCS)" ] ; then for file in $(DOCS) ; do \
|
||||
mkdir -p $(DOCDEST) ; \
|
||||
echo Copying $$file to $(DOCDEST) ; \
|
||||
rm -f /tmp/casefn.cache ; \
|
||||
cp $$($(CASEFN) $$file) $(DOCDEST) ; \
|
||||
done ; fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user