Compare commits

...

123 Commits

Author SHA1 Message Date
Wayne Warthen
252e9077e6 Bump Version 2025-02-12 15:47:45 -08:00
Wayne Warthen
6c06413dfe Add STRICTPART Config Setting
New STRICTPART setting prevents access to slices that overlap with foreign (non-CP/M) partitions.
2025-02-12 15:39:47 -08:00
Wayne Warthen
a8ee0ca19b Expanded Release Notes
See discussion #499
2025-02-12 12:53:30 -08:00
Wayne Warthen
5a48cc5b42 Update vdu.asm 2025-02-10 19:04:48 -08:00
Wayne Warthen
ae9b9f9c14 Release Testing WIP 2025-02-08 17:35:51 -08:00
Wayne Warthen
874f1b999e Escape '$' in STARTZPM and STARTZCM
The STARTZPM and STARTZCM startup alias files include commands to set the ZCPR path with "$$" as one of the parameters.  The '$' characters were not escaped.

Thanks and credit to Joao Miguel Duraes for identifying this issue and Wayne Hortensius for the solution.
2025-02-07 17:20:07 -08:00
Wayne Warthen
64611e1df4 Create cfg_RCEZ80.asm
Restore accidentally removed copy of cfg_RCEZ80.asm
2025-02-06 17:18:29 -08:00
Wayne Warthen
ebe1504d75 UNARCU Fix & More Release Work
- UNARC updated to UNARCU11 which fixes an edge case where the user number was being incorrectly changed.  See #496.  Thanks and credit to Lars Nelson for this.
2025-02-06 17:02:06 -08:00
Wayne Warthen
6dc4be24e1 Release Testing WIP
- Minor updates to Zeta and Zeta 2 configs.
2025-02-02 17:18:05 -08:00
Wayne Warthen
257fa5407b Release Testing Updates
Minor changes to config files.
2025-02-02 16:03:41 -08:00
Wayne Warthen
b8fbe0094c Release Testing WIP
- Config file updates
- Fix VRC initialization
2025-02-01 17:57:16 -08:00
Wayne Warthen
9c815a6b4c RCZ80 skz Config Tweaks
The watchdog I/O port for RCZ80_skz_std was misconfigured.
2025-01-30 19:54:18 -08:00
Wayne Warthen
2d854510e3 Accommodate uz80as #define Comments
uz80as does not handle comments on #define lines very well.  This is a minor change to accommodate it.
2025-01-30 13:06:15 -08:00
Wayne Warthen
374c0675f1 Config and Release Notes Updates
- More config file cleanup
- Per Issue #498, added VDAEMU_SERKBD default change in Release Notes
2025-01-30 10:42:15 -08:00
Wayne Warthen
766a65bed0 More Config Tweaks 2025-01-27 19:22:31 -08:00
Wayne Warthen
7ecd0aa574 Merge pull request #497 from kiwisincebirth/map/doc3
Forth documentation and Hide NVR Config app
2025-01-27 10:41:15 -08:00
Mark Pruden
c5280b3ebd Improvement to Forth documentation,
and hide NVR Configure app from app list menu
as it is in the main help menu
2025-01-27 13:11:27 +11:00
Wayne Warthen
8756937946 Minor Release Cleanups 2025-01-25 13:26:07 -08:00
Wayne Warthen
de94085558 Minor Config File Cleanups 2025-01-24 11:24:55 -08:00
Wayne Warthen
7d1cbe0f70 Use Introduction for ReadMe
See Discussion Documentation 3.5 Improvement #493
2025-01-24 11:12:33 -08:00
Wayne Warthen
8e189b4a4a Merge pull request #495 from kiwisincebirth/map/doc2
Some very minor tweaks to documentation
2025-01-24 10:51:26 -08:00
Mark Pruden
c1866d7091 added the missing "Installaltion..." section from Readme -> Introduction 2025-01-24 13:01:48 +11:00
Mark Pruden
eca0370c65 Minor improvements 2025-01-24 12:33:47 +11:00
Mark Pruden
ee7c28c119 Minor improvements 2025-01-24 11:56:48 +11:00
Wayne Warthen
1ae6274e45 Documentation Tweaks 2025-01-23 11:29:37 -08:00
Wayne Warthen
0adef71f6a Merge pull request #494 from kiwisincebirth/map/doc-intro-hw
Documentation New Introduction and Hardware documents
2025-01-23 10:32:54 -08:00
Mark Pruden
d4195b2908 Documentation New Introduction and Hardware documents
with content moved from User Guide
2025-01-23 14:38:00 +11:00
Wayne Warthen
33603ed826 Merge pull request #492 from kiwisincebirth/map/changelog
minor doc improve
2025-01-19 07:19:58 -08:00
Mark Pruden
1279daa2fc minor doc improve 2025-01-19 23:00:14 +11:00
Wayne Warthen
ab4f43c6bb Improve DEFSERCFG Config
- Move DEFSERCFG from an equate to a #DEFINE which allows properly overriding it globally.
2025-01-18 16:41:31 -08:00
Wayne Warthen
e4bbeece09 Update release.yml
- Support beta releases
2025-01-17 11:47:23 -08:00
Wayne Warthen
997c3fbcde Move v3.5 to Beta 2025-01-17 10:44:19 -08:00
Wayne Warthen
14c8eddcbd Merge pull request #491 from kiwisincebirth/map/rom-bank-layout
Rom Bank Layout improvements
2025-01-17 09:23:04 -08:00
Mark Pruden
81d99a76fc Put back the usrrom size check. 2025-01-17 11:58:20 +11:00
Mark Pruden
4555bdec11 Rom Bank Layout improvements
Rom Bank 1 has no size constraint, can increase romldr (oversize) without build issue, bank truncation
Rom bank 2 usrrom (last app) has size constraint check, shouldnt be function of app
Rom bank 2 usr rom pads to end of 32k in its Size, unnecessary as handled by "srec_cat -crop"

So
* move out the bank size protections (from user rom) into layout.inc
* ensre bank 1 has same protection as bank2.
* make user rom a realistic size ($200), padding handled by crc check
* also good to .ECHO overall sizes of banks, improve logging.
2025-01-16 14:32:40 +11:00
Wayne Warthen
9103304399 K80W & EaZy80-512 Config Tweaks 2025-01-12 16:52:09 -08:00
Wayne Warthen
1ab10410a8 EZ512 & K80W Tweaks
- EZ512 memory manager was missing a text label at boot.
- K80W now enables VRC
2025-01-10 17:12:24 -08:00
Wayne Warthen
8a16b851ad Update cvdu.asm
- Improves compatibility with high speed CPUs.
2025-01-07 18:57:15 -08:00
Wayne Warthen
a27f2479af EaZy80-512 & K80W Fixes
Minor fixes from Bill Shen.
2025-01-07 16:11:00 -08:00
Wayne Warthen
f50ae14f9e Video Driver Fixes
Thanks and credit to Phillip Summers for finding these and suggesting solutions.
- VGA driver initialization fixed.
- CVDU probe fixed to not rely on ready bit of CVDU
2025-01-05 19:55:37 -08:00
Wayne Warthen
b02aecb45d Clarify CIO Parity Settings, Issue #488
- Updated System Guide to clarify the function of the parity settings per Issue #488
2025-01-05 16:03:22 -08:00
Wayne Warthen
4e716c6b74 Update Makefile.new 2024-12-31 16:47:14 -08:00
Wayne Warthen
63460a982b Missing Config & Add Doc
- Add missing config file for K80W
- Add K80W to documentation
2024-12-31 12:03:57 -08:00
Wayne Warthen
c6d5d41933 Add K80W Hardware Support 2024-12-31 11:50:31 -08:00
Wayne Warthen
5544275e0d Console Takeover Improvements, Issue #485
Thanks and credit to @skullandbones for pointing out multiple deficiencies in the console takeover algorithm.  In this commit:
- All char units are flushed when a new RomLdr prompt is emitted.
- Intervening non-space characters will now prevent console takeover.  Console takeover requires two consecutive space characters on the same character unit with no intervening non-space characters on the same unit or any intervening characters on an alternate unit.
2024-12-23 13:56:09 -08:00
Wayne Warthen
f976ede2d1 Typo in ASSIGN
A very minor typo in assign.asm caused the TASM under Windows to fail even though it did not cause a problem for uz80as under Linux/MacOS.
2024-12-22 13:52:04 -08:00
Wayne Warthen
751cc62a81 Deprecate Monsputer, Issue #483
The Monsputer was already omitted from the standard builds.  It had almost no impact on the core code, so I have annotated some references to Monsputer as deprecated.
2024-12-22 13:47:06 -08:00
Wayne Warthen
77b98260e9 Merge pull request #484 from kiwisincebirth/map/assign-improve
Consider heap space remaining before each ASSIGN /B= assignment
2024-12-22 13:29:45 -08:00
Mark Pruden
986acd481b Consider heap space remaining before each ASSIGN /B= assigment 2024-12-22 19:37:54 +11:00
Wayne Warthen
f8f46c630a Merge pull request #482 from kiwisincebirth/map/cbios-size
CBIOS Size reduce by reducing resident utils
2024-12-21 09:12:00 -08:00
Mark Pruden
4df6f00ed9 CBIOS Size reduce by reducing resident utils 2024-12-21 23:17:22 +11:00
Wayne Warthen
6647b09cf7 Fixes to EaZy80-512 Build 2024-12-20 15:57:36 -08:00
Wayne Warthen
f36a90afae Add EaZy80-512 2024-12-20 15:17:58 -08:00
Wayne Warthen
3c3ae4c6ab Merge pull request #480 from kiwisincebirth/map/disk-labels
Added Disk Labels (Loader.ASM)
2024-12-20 10:54:35 -08:00
Wayne Warthen
4110c67db4 Merge pull request #481 from kiwisincebirth/map/doc-assign
Documentation for ASSIGN.COM
2024-12-20 10:46:19 -08:00
Mark Pruden
4ac6a7d706 Documentation for ASSIGN.COM 2024-12-20 14:59:12 +11:00
Mark Pruden
1b7ef20ad1 Added Disk Labels (Loader.ASM), minor code improvement 2024-12-20 12:46:25 +11:00
Wayne Warthen
913a9caa87 CPUSPD Doc Update
- Clarifies the speed multiplier capabilities of the Z180 chip variants.
2024-12-19 10:18:16 -08:00
Wayne Warthen
58444fb213 Minor Improvement to TUNE Doc
- Improved Application documentation for TUNE related to recent addition of -MSX and -RC options.
2024-12-18 14:50:33 -08:00
Wayne Warthen
7917f0a5ad Merge pull request #479 from kiwisincebirth/map/change-attributes
Changed the Attribute for MD RF devices
2024-12-18 14:30:41 -08:00
Mark Pruden
8d8868e5d5 Changed the Attribute for MD RF devices reordering/fliping (RF<->Flash) so bit masks are easier 2024-12-18 18:12:38 +11:00
Wayne Warthen
a6b3b980f2 Merge pull request #476 from kiwisincebirth/map/assign1
added new /b=options to assign.com
2024-12-17 15:28:55 -08:00
Mark Pruden
d5c331076c added new /b=options to assign.com - Not complete at this time. 2024-12-17 13:13:12 +11:00
Wayne Warthen
bb4a64c35d Allow Forcing Detection of AY/YM PSG in HBIOS
See Issue #468
2024-12-16 11:29:49 -08:00
Wayne Warthen
757f0b08ff Minor Follow-up on KBD Interrupt Enhancement
- Add call to KBD_PREINIT to the CVDU driver.
2024-12-16 10:47:53 -08:00
Wayne Warthen
5bb168eb6e Merge pull request #475 from b1ackmai1er/master
Roll out kbd preinit into cga, gdc and vga driver
2024-12-16 10:37:27 -08:00
b1ackmai1er
cee3f8af78 Merge pull request #74 from wwarthen/master
Resync
2024-12-16 19:53:39 +08:00
Wayne Warthen
70cc884014 Fix .gitignore 2024-12-15 15:01:28 -08:00
Wayne Warthen
e4475b5e99 NetBoot Enhancements, Issue #463
- Correct typo in netboot.mod
- Added support for Duodyne NetBoot

Co-Authored-By: Douglas Miller <16920069+durgadas311@users.noreply.github.com>
2024-12-15 14:49:24 -08:00
b1ackmai1er
2e216d6bf5 Add cga graphic set picture 2024-12-14 20:10:13 +08:00
b1ackmai1er
e428e7ff8e rename 2024-12-14 18:24:32 +08:00
b1ackmai1er
083715e097 Add cga graphic set picture 2024-12-14 18:01:18 +08:00
b1ackmai1er
b0bb87ba0a typo 2024-12-14 17:19:14 +08:00
b1ackmai1er
83cd133c66 kbd preinit updates 2024-12-14 13:59:11 +08:00
b1ackmai1er
327a21ee10 Update hbios 2024-12-14 13:20:19 +08:00
b1ackmai1er
0d645cec30 kbd correction. vga kbd preinit 2024-12-14 13:19:38 +08:00
b1ackmai1er
82d28e143b kbd preinit for vga 2024-12-14 13:17:32 +08:00
b1ackmai1er
c0b48a007c kbd optimizations 2024-12-14 13:11:49 +08:00
b1ackmai1er
60b143fe01 Merge pull request #73 from wwarthen/master
Resync
2024-12-14 12:41:42 +08:00
Wayne Warthen
be618e07a6 Merge pull request #473 from kiwisincebirth/map/doc-userguide-fix
Minor doc upgrade
2024-12-13 18:32:33 -08:00
Mark Pruden
893da14d50 Minor doc upgrade 2024-12-14 12:16:25 +11:00
b1ackmai1er
83ef709a71 Merge pull request #72 from wwarthen/master
Resync
2024-12-14 01:21:10 +08:00
Wayne Warthen
5f54db2d60 Merge pull request #472 from kiwisincebirth/map/z80asm
Z80ASM Disk Image Improvements
2024-12-13 09:00:13 -08:00
Wayne Warthen
33e6fdadd7 Merge pull request #471 from kiwisincebirth/map/move-zpcom
In Disk Images Moved ZP.COM from ZPM to Common/Z3
2024-12-13 08:52:03 -08:00
Mark Pruden
fe947248bd Z80ASM Disk Image Improvements 2024-12-13 16:11:01 +11:00
Mark Pruden
b7c9a3b821 In Disk Images Moved ZP.COM from ZPM to Common/Z3 2024-12-13 12:50:20 +11:00
b1ackmai1er
fa8df65b50 Merge pull request #71 from wwarthen/master
Resync
2024-12-13 05:33:37 +08:00
Wayne Warthen
26a87a16a8 KBD Driver Pre Init
- Updated KBD driver to use PREINIT to disable interrupts.
2024-12-12 13:26:10 -08:00
Wayne Warthen
66bc219b32 Merge pull request #467 from b1ackmai1er/master
PS2 keyboard spurious interrupts
2024-12-12 11:59:35 -08:00
Wayne Warthen
0ad7431528 Add Options to Force Standard Ports in TUNE App
The Why Em-ulator cannot be detected by the normal probing mechanism in TUNE.  Added options to force the standard port configurations (MSX or RC).  See #468
2024-12-12 11:48:22 -08:00
b1ackmai1er
e433eb4962 Refactor ps2 keyboard driver 2024-12-11 21:38:26 +08:00
b1ackmai1er
b5b9098429 PS2 keyboard spurious interrupts
Resolved keyboard interrupt errors when a key is pressed during reboot. Turn off keyboard controller interrupt enable before cold boot process starts. I'm wondering if  duodyne interrupt generator is immune to DI :)?
2024-12-09 21:18:03 +08:00
Wayne Warthen
49ff4e4bc0 Merge pull request #464 from b1ackmai1er/master
Documentation updates
2024-12-08 13:51:45 -08:00
Wayne Warthen
59a7b6c42d Merge branch 'master' into master 2024-12-08 13:46:24 -08:00
Wayne Warthen
f9ed5651e6 KBD Interrupt Processing Cleanup
- I finally realized there was a much simpler way to setup the instance data pointer (IY) for the interrupt handler.  This implements the change and reduces the complexity of the code.
- Related to PR #460
2024-12-08 13:37:09 -08:00
Wayne Warthen
efb9ac21f0 NVRAM Doc Improvements, Issue #451 2024-12-08 11:46:01 -08:00
Wayne Warthen
a8f2aa71cc Baud Rate Mask Fix, Issue #465
Thanks and credit to Mark Pruden for finding this.
2024-12-08 07:28:23 -08:00
b1ackmai1er
043600595f Update ps2iface.inc 2024-12-08 21:19:18 +08:00
b1ackmai1er
c106b75261 Refactor ps2iface 2024-12-08 21:12:47 +08:00
b1ackmai1er
55336ac010 Typo 2024-12-08 17:30:01 +08:00
b1ackmai1er
778231dc80 Doc updates for front panel diagnostics 2024-12-08 16:18:45 +08:00
b1ackmai1er
61d9555dc0 Document updates 2024-12-08 15:26:10 +08:00
b1ackmai1er
4b963c3ab4 Merge pull request #69 from wwarthen/master
Resync
2024-12-08 10:50:30 +08:00
Wayne Warthen
2788fa4fdf Bump Version Numbers 2024-12-07 16:16:26 -08:00
Wayne Warthen
1468cecfad Update M80 from v3.43 to v3.44
- This addresses the issue with M80 from Issue #462.
- All of the other binaries from the newer distribution of Microsoft Basic Compiler match the binaries already in the disk image.
2024-12-07 16:02:11 -08:00
Wayne Warthen
8f75441317 Add NVRAM Configure to Main RomLdr Help
See Issue #451
2024-12-07 15:44:36 -08:00
Wayne Warthen
007e8a372a Final Tweaks to KBD Interrupt Support
Related to PR #460
2024-12-07 15:12:19 -08:00
Wayne Warthen
7606abb8f3 Follow-up on KBD Interrupt Support
Related to PR #460
2024-12-07 13:48:43 -08:00
Wayne Warthen
e3192bfbe6 Merge pull request #460 from b1ackmai1er/master
Master
2024-12-07 13:06:34 -08:00
b1ackmai1er
9d7adbec63 Spelling 2024-12-07 19:22:06 +08:00
b1ackmai1er
2d1811dcb4 Typos 2024-12-07 19:11:48 +08:00
b1ackmai1er
cfa86a9f2a Spurious interrupt fix. 2024-12-07 11:28:24 +08:00
b1ackmai1er
7a663e2a3c Use IY to retrieve status and data port values from idat tables. 2024-12-06 22:32:24 +08:00
b1ackmai1er
1a73a9614b Initialize interrupt vector after kbd controller detected 2024-12-06 19:31:52 +08:00
b1ackmai1er
660bb20bba Merge pull request #68 from wwarthen/master
Resync
2024-12-06 19:07:17 +08:00
Wayne Warthen
f03dcf7193 Clean Up NVRAM Switch Terminology
- Essentially, switch from the term "default boot" to the term "boot options".

See Issue #451
2024-12-05 19:01:03 -08:00
b1ackmai1er
64dbf4ff35 EZZ80_IO fixes 2024-12-06 05:39:57 +08:00
Wayne Warthen
edd0e58031 Help Text Update in sysconf, See #451
- Per Issue #451, minor correction to help text in sysconf.asm.

Co-Authored-By: Mark Pruden <github@mp.tidykiwi.com>
2024-12-05 11:12:22 -08:00
Wayne Warthen
887311827a RomLdr Tweaks
- Related to #451
2024-12-05 10:56:39 -08:00
b1ackmai1er
ce98947d07 Cleanup 2024-12-05 20:50:17 +08:00
b1ackmai1er
5d92341189 PS2 Interrupt driven keyboard for Duo
For keyboard interface on I/O Multi board. Default is disabled. Requires interrupt #2 jumper set on I/O Multiboard, which is pin 11-12 in P5. Has limitations around port settings. Do not have a video card on my Duo so have been forcing a video driver to load and testing with PIP CON:=UR2: . Let me know what you think.
2024-12-05 20:41:03 +08:00
b1ackmai1er
2a501566d7 Merge branch 'wwarthen:master' into master 2024-12-04 17:55:34 +08:00
b1ackmai1er
736e4e276c Merge pull request #67 from wwarthen/master
Resync
2024-12-03 20:44:05 +08:00
211 changed files with 18917 additions and 3785 deletions

View File

@@ -31,6 +31,8 @@ jobs:
echo "Tag: ${{github.ref_name}}"
if grep -q "dev" <<< "${{github.ref_name}}"; then
TITLE="RomWBW Development Snapshot"
elif grep -q "beta" <<< "${{github.ref_name}}"; then
TITLE="RomWBW Beta Release"
elif grep -q "pre" <<< "${{github.ref_name}}"; then
TITLE="RomWBW Prerelease"
elif grep -q "rc" <<< "${{github.ref_name}}"; then

3
.gitignore vendored
View File

@@ -20,7 +20,7 @@
Binary/**/*.mym
Binary/**/*.pt3
!Binary/CPNET/NetBoot/cpnos-wbw.sys
!Binary/CPNET/NetBoot/*/cpnos.sys
Source/**/eeprom
Source/Apps/Assign.com
@@ -98,6 +98,7 @@ Tools/unix/zx/zx
!Source/ZSDOS/*.[Cc][Oo][Mm]
!Source/ZRC/*.bin
!Source/ZRC512/*.bin
!Source/EZ512/*.bin
!Source/Z1RCC/*.bin
!Source/ZZRCC/*.bin
!Source/FZ80/*.bin

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -38,8 +38,8 @@ Version 3.5
- WBW: Add CPU speed selection for HEATH platform to HBIOS
- WBW: Add Warm/Cold reboot options to CPUSPD utility
- D?N: Added support for eZ80 CPU
- MAP: Contributed COPYSL utility
- MAP: Added new HBIOS function EXT_SLICE (orginally SYSGET_DIOMED)
- MAP: Contributed COPYSL utility that allows disk slices to be copied
- MAP: Added new HBIOS function EXT_SLICE, extended disk slice info
- MAP: ROMLDR now uses EXT_SLICE to get Slice Sector for boot
- MAP: CBIOS now uses EXT_SLICE during drive selection
- MAP: CPM3 Boot Loader, and BIOS (drive select) now use EXT_SLICE
@@ -47,7 +47,15 @@ Version 3.5
- MAP: Significant improvement in Disk Catalog document
- MAP: Added Disk Image for the Z3PLUS (Z-System for CP/M-Plus) os.
- H?H: Fix XModem 12.3 WRERR to put CAN char in proper register to send.
- MAP: Initial NVRAM configuration infrastructure, and boot device selection.
- MAP: Added support for dynamic HBIOS config via (RTC) NVRAM
- MAP: Added boot application to allow config of NVRAM options
- MAP: Configuration of autoboot disk/app added to NVRAM config
- WBW: Autoboot is now handled in separate prompt during RomWBW startup
- MAP: Added additional tools (Linker/Disasembler) to the Z80ASM Disk Image
- PMS: Support interrupt-driven PS2 Keyboard Interface
- D?M: Added NetBoot support for Duodyne
- WBW: Add options to TUNE/HBIOS to force detection of MSX and RC AY/YM standard PSG ports
- MAP: Added /B=OPTIONS for automated drive assignment to ASSIGN.COM
Version 3.4
-----------

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@@ -31,9 +31,9 @@ Log of changes in RomWBW by version.
RomWBW User Guide ("RomWBW User Guide.pdf")
RomWBW System Guide ("RomWBW System Guide.pdf")
RomWBW Applications ("RomWBW Applications.pdf")
RomWBW ROM Applications ("RomWBW ROM Applications.pdf")
RomWBW Disk Catalog ("RomWBW Disk Catalog.pdf")
RomWBW Errata ("RomWBW Errata.pdf")
RomWBW Hardware ("RomWBW Hardware.pdf")
-------------------------------------------------------
Documentation set for RomWBW. The primary document is the

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Doc/RomWBW Hardware.pdf Normal file

Binary file not shown.

BIN
Doc/RomWBW Introduction.pdf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

96
RELEASE_NOTES.md Normal file
View File

@@ -0,0 +1,96 @@
# RomWBW Release Notes
This file contains information useful to those upgrading to a new
release of RomWBW.
## All Versions
- **Please** review the "Upgrading" Section of the RomWBW User Guide.
- The RomWBW ROM and the RomWBW disk images are intended to be a
matched set. After upgrading your ROM, it is important to update
the OS boot tracks of your disks as well as the RomWBW-specific
applications. This is discussed in the "Upgrading" section of the
RomWBW User Guide.
## Version 3.5
### Upgrade Notes
- RomWBW is now more strict with respect to hard disk partition
tables. If your hard disk media was created using any of the
pre-built disk image files, this will **not** affect you. Otherwise,
you may find you are unable to access slices beyond the first
slice. If so, use `FDISK80` to reset the partition table on the
disk. This will restore normal access to all slices. **Only** do
this if you are having an issue.
- For those building custom ROMs that are overriding `DEFSERCFG`, note
that this setting has been moved to a `#DEFINE` instead of an equate
(`.SET` or `.EQU`). You will find this `#DEFINE` at the top of all
standard config files. You will need to change your setting to a
`#DEFINE` at the top of your config file and remove any `.SET` or
`.EQU` lines for `DEFSERCFG`.
- Combining config settings `AUTOCON` and `VDAEMU_SERKBD` causes issues
at the boot loader prompt. So, all config files have been changed to
consistently enable `AUTOCON` and disable `VDAEMU_SERKBD` (`$FF`). If
are want to use `VDAEMU_SERKBD`, you need to set it in your config
file as well as disabling AUTOCON.
### New Features
- RC2014 Front Panel and LCD Screen support.
- Console "takeover" support at Boot Loader prompt by pressing the
<space> key twice on an alternate console device.
- Cowgol disk image based on the work of Ladislau Szilagyi.
- TMS video is automatically reset after an OS warm boot which
allows OS to recover from applications that reprogram the TMS
video display controller.
- Implemented "application" RAM banks that can be discovered bia
the HBIOS API.
- Documentation improvements (Mark Pruden), including:
- Reorganization into multiple directories.
- Improved Disk Management section in User Guide.
- Overhaul of Disk Catalog.
- Disk image for Z3PLUS (Mark Pruden).
- `REBOOT` application added (Martin R). Also, reboot capability
added to `CPUSPD` utility.
- `COPYSL` slice copy application (Mark Pruden).
- Improved disk slice management and protection (Mark Pruden).
- Initial NVRAM configuration support (Mark Pruden).
- Enhancements to ASSIGN command to automatically assign drives
(Mark Pruden).
### New Hardware Support
- NABU w/ RomWBW Option Board.
- EF9345 video display controller driver (Laszlo Szolnoki).
- Duodyne Disk I/O (CP/NET) and Media boards.
- PS/2 keyboard interface on RCBus systems.
- S100 FPGA-based Z80 including console, SD Cards, and RTC.
- Support for 16C550-family UART support on additional platforms.
- Genesis STD Bus Z180 platform (Doug Jackson).
- Support for Dinoboard eZ80 CPU board provided by Dean Netherton.
- Added interrupt support to PS/2 keyboard driver by Phil Summers.

272
ReadMe.md
View File

@@ -1,17 +1,22 @@
**RomWBW ReadMe** \
**RomWBW Introduction** \
Version 3.5 \
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
01 Dec 2024
11 Feb 2025
# Overview
RomWBW software provides a complete, commercial quality implementation
of CP/M (and workalike) operating systems and applications for modern
Z80/180/280 retro-computing hardware systems. A wide variety of
platforms are supported including those produced by these developer
communities:
Z80/180/280 retro-computing hardware systems.
A wide variety of platforms are supported including those produced by
these developer communities:
- [RetroBrew Computers](https://www.retrobrewcomputers.org)
(<https://www.retrobrewcomputers.org>)
@@ -23,10 +28,21 @@ communities:
- [Small Computer Central](https://smallcomputercentral.com/)
(<https://smallcomputercentral.com/>)
A complete list of the currently supported platforms is found in the
\[Installation\] section.
A complete list of the currently supported platforms is found in [RomWBW
Hardware](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Hardware.pdf)
.
General features include:
# Description
## Primary Features
By design, RomWBW isolates all of the hardware specific functions in the
ROM chip itself. The ROM provides a hardware abstraction layer such that
all of the operating systems and applications on a disk will run on any
RomWBW-based system. To put it simply, you can take a disk (or CF/SD/USB
Card) and move it between systems transparently.
Supported hardware features of RomWBW include:
- Z80 Family CPUs including Z80, Z180, and Z280
- Banked memory services for several banking designs
@@ -36,34 +52,19 @@ General features include:
- Video drivers including TMS9918, SY6545, MOS8563, HD6445
- Keyboard (PS/2) drivers via VT8242 or PPI interfaces
- Real time clock drivers including DS1302, BQ4845
- OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and
FreeRTOS
- Support for CP/NET networking using Wiznet, MT011 or Serial
- Built-in VT-100 terminal emulation support
RomWBW is distributed as both source code and pre-built ROM and disk
images. Some of the provided software can be launched directly from the
ROM firmware itself:
- System Monitor
- Operating Systems (CP/M 2.2, ZSDOS)
- ROM BASIC (Nascom BASIC and Tasty BASIC)
- ROM Forth
A dynamic disk drive letter assignment mechanism allows mapping
operating system drive letters to any available disk media.
Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.)
support the use of multiple slices (up to 256 per device). Each slice
contains a complete CP/M filesystem and can be mapped independently to
any drive letter. This overcomes the inherent size limitations in legacy
OSes and allows up to 2GB of accessible storage on a single device.
OSes and allows up to 2GB of addressable storage on a single device,
with up to 128MB accessible at any one time.
The pre-built ROM firmware images are generally suitable for most users.
However, it is also very easy to modify and build custom ROM images that
fully tailor the firmware to your specific preferences. All tools
required to build custom ROM firmware under Windows are included no
need to install assemblers, etc. The firmware can also be built using
Linux or MacOS after confirming a few standard tools have been
installed.
## Included Software
Multiple disk images are provided in the distribution. Most disk images
contain a complete, bootable, ready-to-run implementation of a specific
@@ -72,37 +73,79 @@ with a full operating system implementation. If you use this disk image,
you can easily pick whichever operating system you want to boot without
changing media.
By design, RomWBW isolates all of the hardware specific functions in the
ROM chip itself. The ROM provides a hardware abstraction layer such that
all of the operating systems and applications on a disk will run on any
RomWBW-based system. To put it simply, you can take a disk (or CF/SD/USB
Card) and move it between systems transparently.
Some of the included software:
- Operating Systems (CP/M 2.2, ZSDOS, NZ-COM, CP/M 3, ZPM3, Z3PLUS, QPM
)
- Support for other operating systems, p-System, FreeRTOS, and FUZIX.
- Programming Tools (Z80ASM, Turbo Pascal, Forth, Cowgol)
- C Compilers including Aztec-C, and HI-TECH C
- Microsoft Basic Compiler, and Microsoft Fortran
- Some games such as Colossal Cave, Zork, etc
- Wordstar Word processing software
Some of the provided software can be launched directly from the ROM
firmware itself:
- System Monitor
- Operating Systems (CP/M 2.2, ZSDOS)
- ROM BASIC (Nascom BASIC and Tasty BASIC)
- ROM Forth
A tool is provided that allows you to access a FAT-12/16/32 filesystem.
The FAT filesystem may be coresident on the same disk media as RomWBW
slices or on stand-alone media. This makes exchanging files with modern
OSes such as Windows, MacOS, and Linux very easy.
# Acquiring RomWBW
## ROM Distribution
The [RomWBW Repository](https://github.com/wwarthen/RomWBW)
(<https://github.com/wwarthen/RomWBW>) on GitHub is the official
distribution location for all project source and documentation. The
fully-built distribution releases are available on the [RomWBW Releases
Page](https://github.com/wwarthen/RomWBW/releases)
(<https://github.com/wwarthen/RomWBW/releases>) of the repository. On
this page, you will normally see a Development Snapshot as well as
distribution location for all project source and documentation.
RomWBW is distributed as both source code and pre-built ROM and disk
images.
The pre-built ROM images distributed with RomWBW are based on the
default system configurations as determined by the hardware
provider/designer. The pre-built ROM firmware images are generally
suitable for most users.
The fully-built distribution releases are available on the [RomWBW
Releases Page](https://github.com/wwarthen/RomWBW/releases)
(<https://github.com/wwarthen/RomWBW/releases>) of the repository.
On this page, you will normally see a Development Snapshot as well as
recent stable releases. Unless you have a specific reason, I suggest you
stick to the most recent stable release. Expand the “Assets” drop-down
for the release you want to download, then select the asset named
RomWBW-vX.X.X-Package.zip. The Package asset includes all pre-built ROM
and Disk images as well as full source code. The other assets contain
only source code and do not have the pre-built ROM or disk images.
stick to the most recent stable release.
All source code and distributions are maintained on GitHub. Code
contributions are very welcome.
The asset named RomWBW-vX.X.X-Package.zip includes all pre-built ROM and
Disk images as well as full source code. The other assets contain only
source code and do not have the pre-built ROM or disk images.
# Installation & Operation
#### Distribution Directory Layout
The RomWBW distribution is a compressed zip archive file organized in a
set of directories. Each of these directories has its own ReadMe.txt
file describing the contents in detail. In summary, these directories
are:
| **Directory** | **Description** |
|----|----|
| **Binary** | The final output files of the build process are placed here. Most importantly, the ROM images with the file names ending in “.rom” and disk images ending in .img. |
| **Doc** | Contains various detailed documentation, both RomWBW specifically as well as the operating systems and applications. |
| **Source** | Contains the source code files used to build the software and ROM images. |
| **Tools** | Contains the programs that are used by the build process or that may be useful in setting up your system. |
#### Building from Source
It is also very easy to modify and build custom ROM images that fully
tailor the firmware to your specific preferences. All tools required to
build custom ROM firmware under Windows are included no need to
install assemblers, etc. The firmware can also be built using Linux or
MacOS after confirming a few standard tools have been installed.
## Installation & Operation
In general, installation of RomWBW on your platform is very simple. You
just need to program your ROM with the correct ROM image from the RomWBW
@@ -113,21 +156,79 @@ functionality.
Complete instructions for installation and operation of RomWBW are found
in the [RomWBW User
Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20User%20Guide.pdf).
It is also a good idea to review the [Release
Notes](https://github.com/wwarthen/RomWBW/blob/master/RELEASE_NOTES.md)
for helpful release-specific information.
## Documentation
Documentation for RomWBW includes:
There are several documents that form the core of the RomWBW
documentation:
- [RomWBW User
Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20User%20Guide.pdf)
- [RomWBW System
Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20System%20Guide.pdf)
is the main user guide for RomWBW, it covers the major topics of how
to install, manage and use RomWBW, and includes additional guidance to
the use of some of the operating systems supported by RomWBW
- [RomWBW
Hardware](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Hardware.pdf)
contains a description of all the hardware platforms, and devices
supported by RomWBW.
- [RomWBW
Applications](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Applications.pdf)
- [RomWBW
Errata](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Errata.pdf)
is a reference for the ROM-hosted and OS-hosted applications created
or customized to enhance the operation of RomWBW.
# Acknowledgments
- [RomWBW Disk
Catalog](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Disk%20Catalog.pdf)
is a reference for the contents of the disk images provided with
RomWBW, with a description of many of the files on each image
- [RomWBW System
Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20System%20Guide.pdf)
discusses much of the internal design and construction of RomWBW. It
includes a reference for the RomWBW HBIOS API functions.
Each of the operating systems and ROM applications included with RomWBW
are sophisticated tools in their own right. It is not reasonable to
fully document their usage. However, you will find complete manuals in
PDF format in the Doc directory of the distribution. The intention of
this documentation is to describe the operation of RomWBW and the ways
in which it enhances the operation of the included applications and
operating systems.
Since RomWBW is purely a software product for many different platforms,
the documentation does **not** cover hardware construction,
configuration, or troubleshooting please see your hardware provider
for this information.
# Support
## Getting Assistance
The best way to get assistance with RomWBW or any aspect of the
RetroBrew Computers projects is via one of the community forums:
- [RetroBrew Computers Forum](https://www.retrobrewcomputers.org/forum/)
- [RC2014 Google
Group](https://groups.google.com/forum/#!forum/rc2014-z80)
- [retro-comp Google
Group](https://groups.google.com/forum/#!forum/retro-comp)
Submission of issues and bugs are welcome at the [RomWBW GitHub
Repository](https://github.com/wwarthen/RomWBW).
Also feel free to email Wayne Warthen at <wwarthen@gmail.com>. I am
happy to provide support adapting RomWBW to new or modified systems
# Contributions
All source code and distributions are maintained on GitHub.
Contributions of all kinds to RomWBW are very welcome.
## Acknowledgments
I want to acknowledge that a great deal of the code and inspiration for
RomWBW has been provided by or derived from the work of others in the
@@ -198,10 +299,14 @@ let me know if I missed you!
- Martin R has provided substantial help reviewing and improving the
User Guide and Applications documents.
- Mark Pruden has also contributed a great deal of content to the Disk
Catalog, User Guide as well as contributing the disk image for the
Z3PLUS operating system, the COPYSL utility, and also implemented
feature for RomWBW configuration by NVRAM.
- Mark Pruden has made a wide variety of contributions including:
- significant content in the Disk Catalog and User Guide
- creation of the Introduction and Hardware documents
- Z3PLUS operating system disk image
- COPYSL utility
- a feature for RomWBW configuration by NVRAM
- the /B bulk mode of disk assignment to the ASSIGN utility
- Jacques Pelletier has contributed the DS1501 RTC driver code.
@@ -234,10 +339,47 @@ let me know if I missed you!
- Les Bird has contributed support for the NABU w/ Option Board
Contributions of all kinds to RomWBW are very welcome.
## Related Projects
Outside of the hardware platforms adapted to RomWBW, there are a variety
of projects that either target RomWBW specifically or provide a
RomWBW-specific variation. These efforts are greatly appreciated and are
listed below. Please contact the author if there are any other such
projects that are not listed.
#### Z88DK
Z88DK is a software powerful development kit for Z80 computers
supporting both C and assembly language. This kit now provides specific
library support for RomWBW HBIOS. The Z88DK project is hosted at
<https://github.com/z88dk/z88dk>.
#### Paleo Editor
Steve Garcia has created a Windows-hosted IDE that is tailored to
development of RomWBW. The project can be found at
<https://github.com/alloidian/PaleoEditor>.
#### Z80 fig-FORTH
Dimitri Theulings implementation of fig-FORTH for the Z80 has a
RomWBW-specific variant. The project is hosted at
<https://github.com/dimitrit/figforth>.
#### Assembly Language Programming for the RC2014 Zed
Bruce Hall has written a very nice document that describes how to
develop assembly language applications on RomWBW. It begins with the
setup and configuration of a new RC2014 Zed system running RomWBW. It
describes not only generic CP/M application development, but also RomWBW
HBIOS programming and bare metal programming. The latest copy of this
document is hosted at [http://w8bh.net/Assembly for
RC2014Z.pdf](http://w8bh.net/Assembly%20for%20RC2014Z.pdf).
# Licensing
## License Terms
RomWBW is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your
@@ -277,19 +419,3 @@ encouraged to submit their contributions via the RomWBW source code
control system to ensure their contributions are clearly documented.
All contributions to RomWBW are subject to this license.
# Getting Assistance
The best way to get assistance with RomWBW or any aspect of the
RetroBrew Computers projects is via one of the community forums:
- [RetroBrew Computers Forum](https://www.retrobrewcomputers.org/forum/)
- [RC2014 Google
Group](https://groups.google.com/forum/#!forum/rc2014-z80)
- [retro-comp Google
Group](https://groups.google.com/forum/#!forum/retro-comp)
Submission of issues and bugs are welcome at the [RomWBW GitHub
Repository](https://github.com/wwarthen/RomWBW).
Also feel free to email Wayne Warthen at <wwarthen@gmail.com>.

View File

@@ -1,6 +1,9 @@
RomWBW ReadMe
RomWBW Introduction
Wayne Warthen (wwarthen@gmail.com)
01 Dec 2024
11 Feb 2025
@@ -9,9 +12,10 @@ OVERVIEW
RomWBW software provides a complete, commercial quality implementation
of CP/M (and workalike) operating systems and applications for modern
Z80/180/280 retro-computing hardware systems. A wide variety of
platforms are supported including those produced by these developer
communities:
Z80/180/280 retro-computing hardware systems.
A wide variety of platforms are supported including those produced by
these developer communities:
- RetroBrew Computers (https://www.retrobrewcomputers.org)
- RC2014 (https://rc2014.co.uk),
@@ -19,10 +23,23 @@ communities:
- Retro Computing (https://groups.google.com/g/retro-comp)
- Small Computer Central (https://smallcomputercentral.com/)
A complete list of the currently supported platforms is found in the
[Installation] section.
A complete list of the currently supported platforms is found in RomWBW
Hardware .
General features include:
DESCRIPTION
Primary Features
By design, RomWBW isolates all of the hardware specific functions in the
ROM chip itself. The ROM provides a hardware abstraction layer such that
all of the operating systems and applications on a disk will run on any
RomWBW-based system. To put it simply, you can take a disk (or CF/SD/USB
Card) and move it between systems transparently.
Supported hardware features of RomWBW include:
- Z80 Family CPUs including Z80, Z180, and Z280
- Banked memory services for several banking designs
@@ -32,34 +49,20 @@ General features include:
- Video drivers including TMS9918, SY6545, MOS8563, HD6445
- Keyboard (PS/2) drivers via VT8242 or PPI interfaces
- Real time clock drivers including DS1302, BQ4845
- OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and
FreeRTOS
- Support for CP/NET networking using Wiznet, MT011 or Serial
- Built-in VT-100 terminal emulation support
RomWBW is distributed as both source code and pre-built ROM and disk
images. Some of the provided software can be launched directly from the
ROM firmware itself:
- System Monitor
- Operating Systems (CP/M 2.2, ZSDOS)
- ROM BASIC (Nascom BASIC and Tasty BASIC)
- ROM Forth
A dynamic disk drive letter assignment mechanism allows mapping
operating system drive letters to any available disk media.
Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.)
support the use of multiple slices (up to 256 per device). Each slice
contains a complete CP/M filesystem and can be mapped independently to
any drive letter. This overcomes the inherent size limitations in legacy
OSes and allows up to 2GB of accessible storage on a single device.
OSes and allows up to 2GB of addressable storage on a single device,
with up to 128MB accessible at any one time.
The pre-built ROM firmware images are generally suitable for most users.
However, it is also very easy to modify and build custom ROM images that
fully tailor the firmware to your specific preferences. All tools
required to build custom ROM firmware under Windows are included no
need to install assemblers, etc. The firmware can also be built using
Linux or MacOS after confirming a few standard tools have been
installed.
Included Software
Multiple disk images are provided in the distribution. Most disk images
contain a complete, bootable, ready-to-run implementation of a specific
@@ -68,11 +71,24 @@ with a full operating system implementation. If you use this disk image,
you can easily pick whichever operating system you want to boot without
changing media.
By design, RomWBW isolates all of the hardware specific functions in the
ROM chip itself. The ROM provides a hardware abstraction layer such that
all of the operating systems and applications on a disk will run on any
RomWBW-based system. To put it simply, you can take a disk (or CF/SD/USB
Card) and move it between systems transparently.
Some of the included software:
- Operating Systems (CP/M 2.2, ZSDOS, NZ-COM, CP/M 3, ZPM3, Z3PLUS,
QPM )
- Support for other operating systems, p-System, FreeRTOS, and FUZIX.
- Programming Tools (Z80ASM, Turbo Pascal, Forth, Cowgol)
- C Compilers including Aztec-C, and HI-TECH C
- Microsoft Basic Compiler, and Microsoft Fortran
- Some games such as Colossal Cave, Zork, etc
- Wordstar Word processing software
Some of the provided software can be launched directly from the ROM
firmware itself:
- System Monitor
- Operating Systems (CP/M 2.2, ZSDOS)
- ROM BASIC (Nascom BASIC and Tasty BASIC)
- ROM Forth
A tool is provided that allows you to access a FAT-12/16/32 filesystem.
The FAT filesystem may be coresident on the same disk media as RomWBW
@@ -80,30 +96,67 @@ slices or on stand-alone media. This makes exchanging files with modern
OSes such as Windows, MacOS, and Linux very easy.
ACQUIRING ROMWBW
ROM Distribution
The RomWBW Repository (https://github.com/wwarthen/RomWBW) on GitHub is
the official distribution location for all project source and
documentation. The fully-built distribution releases are available on
the RomWBW Releases Page (https://github.com/wwarthen/RomWBW/releases)
of the repository. On this page, you will normally see a Development
Snapshot as well as recent stable releases. Unless you have a specific
reason, I suggest you stick to the most recent stable release. Expand
the “Assets” drop-down for the release you want to download, then select
the asset named RomWBW-vX.X.X-Package.zip. The Package asset includes
all pre-built ROM and Disk images as well as full source code. The other
assets contain only source code and do not have the pre-built ROM or
disk images.
documentation.
All source code and distributions are maintained on GitHub. Code
contributions are very welcome.
RomWBW is distributed as both source code and pre-built ROM and disk
images.
The pre-built ROM images distributed with RomWBW are based on the
default system configurations as determined by the hardware
provider/designer. The pre-built ROM firmware images are generally
suitable for most users.
The fully-built distribution releases are available on the RomWBW
Releases Page (https://github.com/wwarthen/RomWBW/releases) of the
repository.
On this page, you will normally see a Development Snapshot as well as
recent stable releases. Unless you have a specific reason, I suggest you
stick to the most recent stable release.
The asset named RomWBW-vX.X.X-Package.zip includes all pre-built ROM and
Disk images as well as full source code. The other assets contain only
source code and do not have the pre-built ROM or disk images.
Distribution Directory Layout
The RomWBW distribution is a compressed zip archive file organized in a
set of directories. Each of these directories has its own ReadMe.txt
file describing the contents in detail. In summary, these directories
are:
-------------------------------------------------------------------------
DIRECTORY DESCRIPTION
----------- -------------------------------------------------------------
BINARY The final output files of the build process are placed here.
Most importantly, the ROM images with the file names ending
in “.rom” and disk images ending in .img.
DOC Contains various detailed documentation, both RomWBW
specifically as well as the operating systems and
applications.
SOURCE Contains the source code files used to build the software and
ROM images.
TOOLS Contains the programs that are used by the build process or
that may be useful in setting up your system.
-------------------------------------------------------------------------
Building from Source
It is also very easy to modify and build custom ROM images that fully
tailor the firmware to your specific preferences. All tools required to
build custom ROM firmware under Windows are included no need to
install assemblers, etc. The firmware can also be built using Linux or
MacOS after confirming a few standard tools have been installed.
INSTALLATION & OPERATION
Installation & Operation
In general, installation of RomWBW on your platform is very simple. You
just need to program your ROM with the correct ROM image from the RomWBW
@@ -112,23 +165,79 @@ drives (IDE disk, CF Card, SD Card, etc.) which then provides even more
functionality.
Complete instructions for installation and operation of RomWBW are found
in the RomWBW User Guide.
in the RomWBW User Guide. It is also a good idea to review the Release
Notes for helpful release-specific information.
Documentation
Documentation for RomWBW includes:
There are several documents that form the core of the RomWBW
documentation:
- RomWBW User Guide
- RomWBW System Guide
- RomWBW Applications
- RomWBW Errata
- RomWBW User Guide is the main user guide for RomWBW, it covers the
major topics of how to install, manage and use RomWBW, and includes
additional guidance to the use of some of the operating systems
supported by RomWBW
- RomWBW Hardware contains a description of all the hardware
platforms, and devices supported by RomWBW.
- RomWBW Applications is a reference for the ROM-hosted and OS-hosted
applications created or customized to enhance the operation of
RomWBW.
- RomWBW Disk Catalog is a reference for the contents of the disk
images provided with RomWBW, with a description of many of the files
on each image
- RomWBW System Guide discusses much of the internal design and
construction of RomWBW. It includes a reference for the RomWBW HBIOS
API functions.
Each of the operating systems and ROM applications included with RomWBW
are sophisticated tools in their own right. It is not reasonable to
fully document their usage. However, you will find complete manuals in
PDF format in the Doc directory of the distribution. The intention of
this documentation is to describe the operation of RomWBW and the ways
in which it enhances the operation of the included applications and
operating systems.
Since RomWBW is purely a software product for many different platforms,
the documentation does NOT cover hardware construction, configuration,
or troubleshooting please see your hardware provider for this
information.
ACKNOWLEDGMENTS
SUPPORT
Getting Assistance
The best way to get assistance with RomWBW or any aspect of the
RetroBrew Computers projects is via one of the community forums:
- RetroBrew Computers Forum
- RC2014 Google Group
- retro-comp Google Group
Submission of issues and bugs are welcome at the RomWBW GitHub
Repository.
Also feel free to email Wayne Warthen at wwarthen@gmail.com. I am happy
to provide support adapting RomWBW to new or modified systems
CONTRIBUTIONS
All source code and distributions are maintained on GitHub.
Contributions of all kinds to RomWBW are very welcome.
Acknowledgments
I want to acknowledge that a great deal of the code and inspiration for
RomWBW has been provided by or derived from the work of others in the
RetroBrew Computers Community. I sincerely appreciate all of their
@@ -199,10 +308,14 @@ let me know if I missed you!
- Martin R has provided substantial help reviewing and improving the
User Guide and Applications documents.
- Mark Pruden has also contributed a great deal of content to the Disk
Catalog, User Guide as well as contributing the disk image for the
Z3PLUS operating system, the COPYSL utility, and also implemented
feature for RomWBW configuration by NVRAM.
- Mark Pruden has made a wide variety of contributions including:
- significant content in the Disk Catalog and User Guide
- creation of the Introduction and Hardware documents
- Z3PLUS operating system disk image
- COPYSL utility
- a feature for RomWBW configuration by NVRAM
- the /B bulk mode of disk assignment to the ASSIGN utility
- Jacques Pelletier has contributed the DS1501 RTC driver code.
@@ -236,13 +349,50 @@ let me know if I missed you!
- Les Bird has contributed support for the NABU w/ Option Board
Contributions of all kinds to RomWBW are very welcome.
Related Projects
Outside of the hardware platforms adapted to RomWBW, there are a variety
of projects that either target RomWBW specifically or provide a
RomWBW-specific variation. These efforts are greatly appreciated and are
listed below. Please contact the author if there are any other such
projects that are not listed.
Z88DK
Z88DK is a software powerful development kit for Z80 computers
supporting both C and assembly language. This kit now provides specific
library support for RomWBW HBIOS. The Z88DK project is hosted at
https://github.com/z88dk/z88dk.
Paleo Editor
Steve Garcia has created a Windows-hosted IDE that is tailored to
development of RomWBW. The project can be found at
https://github.com/alloidian/PaleoEditor.
Z80 fig-FORTH
Dimitri Theulings implementation of fig-FORTH for the Z80 has a
RomWBW-specific variant. The project is hosted at
https://github.com/dimitrit/figforth.
Assembly Language Programming for the RC2014 Zed
Bruce Hall has written a very nice document that describes how to
develop assembly language applications on RomWBW. It begins with the
setup and configuration of a new RC2014 Zed system running RomWBW. It
describes not only generic CP/M application development, but also RomWBW
HBIOS programming and bare metal programming. The latest copy of this
document is hosted at http://w8bh.net/Assembly for RC2014Z.pdf.
LICENSING
License Terms
RomWBW is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your
@@ -282,20 +432,3 @@ encouraged to submit their contributions via the RomWBW source code
control system to ensure their contributions are clearly documented.
All contributions to RomWBW are subject to this license.
GETTING ASSISTANCE
The best way to get assistance with RomWBW or any aspect of the
RetroBrew Computers projects is via one of the community forums:
- RetroBrew Computers Forum
- RC2014 Google Group
- retro-comp Google Group
Submission of issues and bugs are welcome at the RomWBW GitHub
Repository.
Also feel free to email Wayne Warthen at wwarthen@gmail.com.

View File

@@ -23,6 +23,26 @@ CLI_HAVE_HBIOS_SWITCH1 ; NOT MATCHED --HBIOS
LD (HBIOSMD), A
RET
CLI_PORTS:
LD HL, CLIARGS ; TEST FOR -MSX ON COMMAND LINE
LD DE, OPT_MSX
CALL STRINDEX
JR NZ, CLI_PORTS1
LD A,PORTS_MSX
JR CLI_PORTS_Z
CLI_PORTS1:
LD HL, CLIARGS ; TEST FOR -RC ON COMMAND LINE
LD DE, OPT_RC
CALL STRINDEX
JR NZ, CLI_PORTS2
LD A,PORTS_RC
JR CLI_PORTS_Z
CLI_PORTS2:
LD A,PORTS_AUTO ; USE AUTO PORT SELECTION
CLI_PORTS_Z:
LD (USEPORTS),A ; SAVE PORTS SELECTION
RET
CLI_ABRT_UNSUPPFILTYP:
PUSH AF
ISHBIOS
@@ -79,6 +99,8 @@ CLI_OCTAVE_ADJST5:
LD (OCTAVEADJ), A
RET
OPT_MSX .DB "-MSX", 0 ; USE MSX PORTS
OPT_RC .DB "-RC", 0 ; USE RC PORTS
HBIOSOPT: .DB "--HBIOS", 0
DOWN1 .DB "-t1", 0 ; DOWN AN OCTAVE
DOWN2 .DB "-t2", 0 ; DOWN TWO OCTAVE

View File

@@ -52,6 +52,7 @@
; 2024-07-08 [WBW] Add support for Les Bird's Graphics, Sound, Joystick
; 2024-07-11 [WBW] Updated, Les Bird's module now uses same settings as EB6
; 2024-09-17 [WBW] Add support for HEATH H8 with Les Bird's MSX Card
; 2024-12-12 [WBW] Add options to force standard MSX or RC ports
;_______________________________________________________________________________
;
; ToDo:
@@ -73,6 +74,10 @@ TYPPT2 .EQU 1 ; FILTYP value for PT2 sound file
TYPPT3 .EQU 2 ; FILTYP value for PT3 sound file
TYPMYM .EQU 3 ; FILTYP value for MYM sound file
;
PORTS_AUTO .EQU 0 ; AUTO select audio chip ports
PORTS_MSX .EQU 1 ; force MSX audio chip ports
PORTS_RC .EQU 2 ; force RCBUS audio chip ports
;
; HIGH SPEED CPU CONTROL
;
SBCV2004 .EQU 0 ; ENABLE SBC-V2-004 HALF CLOCK DIVIDER
@@ -106,6 +111,7 @@ Id .EQU 1 ; 5) Insert official identificator
PRTSTRDE(MSGBAN) ; Print to banner message
CALL CLI_ABRT_IF_OPT_FIRST
CALL CLI_PORTS
CALL CLI_HAVE_HBIOS_SWITCH
CALL CLI_OCTAVE_ADJST
JP CONTINUE
@@ -125,6 +131,22 @@ CONTINUE:
OR A
JR NZ, TSTTIMER ; skip hardware check if using hbios
LD A, (USEPORTS) ; get ports option
LD HL,MSXPORTS ; assume MSX
CP PORTS_MSX ; use MSX?
JR Z,FORCE
LD HL,RCPORTS ; asssume RC
CP PORTS_RC ; use RC?
JR Z,FORCE
JR AUTOSEL ; otherwise do auto select
FORCE:
LD BC,CFGSIZ ; Size of one entry
LD DE,CFG ; Active config structure
LDIR ; Update active config structure
JR MAT ; Continue
AUTOSEL:
LD HL,CFGTBL ; Point to start of config table
CFGSEL:
LD A,$FF ; End of table marker
@@ -646,6 +668,17 @@ CFGSIZ .EQU $ - CFGTBL
;
.DB $FF ; END OF TABLE MARKER
;
; The following are table entries (like above), but not part of auto
; detection searching. They are selected byh command line options.
;
MSXPORTS:
.DB $FF, $A0, $A1, $FF, $FF, $FF, $FF ; GENERIC MSX
.DW HWSTR_MSX
;
RCPORTS:
.DB $FF, $D8, $D0, $FF, $FF, $FF, $FF ; GENERIC RC
.DW HWSTR_RC
;
CFG: ; ACTIVE CONFIG VALUES (FROM SELECTED CFGTBL ENTRY)
PLT .DB 0 ; RomWBW HBIOS platform id
PORTS:
@@ -672,11 +705,13 @@ TMP .DB 0 ; work around use of undocumented Z80
HBIOSMD .DB 0 ; NON-ZERO IF USING HBIOS SOUND DRIVER, ZERO OTHERWISE
OCTAVEADJ .DB 0 ; AMOUNT TO ADJUST OCTAVE UP OR DOWN
MSGBAN .DB "Tune Player for RomWBW v3.11, 17-Sep-2024",0
USEPORTS .DB 0 ; AUDIO CHIP PORT SELECTION MODE
MSGBAN .DB "Tune Player for RomWBW v3.12, 12-Dec-2024",0
MSGUSE .DB "Copyright (C) 2024, Wayne Warthen, GNU GPL v3",13,10
.DB "PTxPlayer Copyright (C) 2004-2007 S.V.Bulba",13,10
.DB "MYMPlay by Marq/Lieves!Tuore",13,10,13,10
.DB "Usage: TUNE <filename>.[PT2|PT3|MYM] [--hbios] [+tn|-tn]",0
.DB "Usage: TUNE <filename>.[PT2|PT3|MYM] [-msx|-rc] [--hbios] [+tn|-tn]",0
MSGBIO .DB "Incompatible BIOS or version, "
.DB "HBIOS v", '0' + RMJ, ".", '0' + RMN, " required",0
MSGPLT .DB "Hardware error, system not supported!",0
@@ -700,6 +735,8 @@ HWSTR_MBC .DB "NHYODYNE Sound Module",0
HWSTR_DUO .DB "DUODYNE Sound Module",0
HWSTR_NABU .DB "NABU Onboard Sound",0
HWSTR_HEATH .DB "HEATH H8 MSX Module",0
HWSTR_MSX .DB "MSX Standard Ports (A0H/A1H)",0
HWSTR_RC .DB "RCBus Standard Ports (D8H/D0H)",0
MSGUNSUP .db "MYM files not supported with HBIOS yet!\r\n", 0

View File

@@ -11,6 +11,8 @@
; ex: ASSIGN (display all active drive assignments)
; ASSIGN /? (display version and usage)
; ASSIGN /L (display all possible devices)
; ASSIGN /B=OPTS (perform assignment based on options)
; ASSIGN C: (display assignment for C:)
; ASSIGN C:=D: (swaps C: and D:)
; ASSIGN C:=FD0: (assign C: to floppy unit 0)
; ASSIGN C:=IDE0:1 (assign C: to IDE unit0, slice 1)
@@ -33,6 +35,9 @@
; 2023-06-19 [WBW] Update for revised DIODEVICE API
; 2023-09-19 [WBW] Added CHUSB & CHSD device support
; 2023-10-13 [WBW] Fixed DPH creation to select correct DPB
; 2024-12-17 [MAP] Added new /B=opt feaure to assign drives
; 2024-12-21 [MAP] Added CBIOS heap estimation to /B to prevent
; overflow when the drives are finally added
;_______________________________________________________________________________
;
; ToDo:
@@ -52,6 +57,7 @@ bnksel .equ $FFF3 ; HBIOS bank select vector
stamp .equ $40 ; loc of RomWBW CBIOS zero page stamp
;
#include "../../ver.inc"
#include "../../HBIOS/hbios.inc"
;
;===============================================================================
; Code Section
@@ -80,7 +86,7 @@ start:
call init ; initialize
jr nz,exit ; abort if init fails
;
; do the real work
; do the real work
call process ; parse and process command line
jr nz,exit ; done if error or no action
;
@@ -160,12 +166,14 @@ init:
ld e,(hl) ; dereference HL
inc hl ; ... into DE to get
ld d,(hl) ; ... DPB map pointer
ld (dpbloc),de ; and save it
ld (dpbloc),de ; and save it
;
; test for CP/M 3 and branch if so
ld a,(cpmver) ; low byte of cpm version
cp $30 ; CP/M 3.0?
jp nc,initcpm3 ; handle CP/M 3.0 or greater
;
; CP/M 2.2 (CBIOS) initialization
;
; make a local working copy of the drive map
ld hl,(maploc) ; copy from CBIOS drive map
@@ -215,6 +223,13 @@ initx:
add hl,de ; adjust
ld (heaplim),hl ; save it
;
; establish remaining heap, used for estimation during /b
ld de,(maploc) ; start of free heap space
or a ; clear carry
sbc hl,de ; upper heap - start of heap = size
ld de,SIZ_DBUF ; 128 bytes for directory buffer
sbc hl,de ; less directory buffer overhead
ld (heaprem),hl ; save heap size that can be allocated
#if 0
ld a,' '
call crlf
@@ -229,7 +244,9 @@ initx:
call prtchr
ld bc,(heaplim)
call prthexword
call prtchr
ld bc,(heaprem)
call prthexword
#endif
;
; return success
@@ -253,7 +270,7 @@ initcpm3:
; switch to sysbnk
ld a,($FFE0) ; get current bank
push af ; save it
ld bc,$F8F2 ; HBIOS Get Bank Info
ld bc,BC_SYSGET_BNKINFO ; HBIOS Get Bank Info
rst 08 ; call HBIOS, E=User Bank
ld a,e ; HBIOS User Bank
call bnksel ; HBIOS BNKSEL
@@ -282,7 +299,7 @@ initc3:
inc de ; bump to slice
ld a,(hl) ; get slice from drvtbl
ld (de),a ; save slice to drvmap
initc4:
initc4:
inc de ; bump past slice
inc de ; skip
inc de ; ... dph
@@ -399,6 +416,8 @@ option:
ld a,(hl) ; get it
cp '?' ; is it a '?' as expected?
jp z,usage ; yes, display usage
cp 'B' ; assign Boot Hard Drive Slices
jp z,bootdr ; yes, assign boot drive slices
cp 'L' ; is it a 'L', display device list?
jp z,devlist ; yes, display device list
jp errprm ; anything else is an error
@@ -438,9 +457,8 @@ devlist:
or a ; set flags
jr nz,devlstu ; do UNA mode dev list
;
ld b,$F8 ; hbios func: sysget
ld c,$10 ; sysget subfunc: diocnt
rst 08 ; call hbios, E := device count
ld bc,BC_SYSGET_DIOCNT ; hbios func: sysget subfunc: diocnt
rst 08 ; call hbios, E := device count
ld b,e ; use device count for loop count
ld c,0 ; use C for device index
devlist1:
@@ -486,6 +504,496 @@ devlstu1:
djnz devlstu1 ; loop as needed
ret ; return
;
; -------------------------------------------------
; /B=XXX - Bootup drive Assignment
;
; Variable used across the entire bootdr: function
; - (mapwrk) working table of assignments
; - (mapadr) pointer to next drive assignment in mapwrk
; - (dstdrv) Drive letter of next assigment 0-15
; - (tmpstr) List of Option letters being processed
;
bootdr:
; command line processing mapping options into (tmpstr)
inc hl ; next char after the /B expect a delimeter
call nonblank ; skip ws
cp '='
inc hl
call nonblank ; skip ws
call getalpha ; options string into (tmpstr)
;
; defaulting loop for normal disk boot starting at A:
ld hl,mapwrk ; DE := working drive map
ld (mapadr),hl ; save pointer o next drive maping
xor a ; next dest drive letter start at A:
ld (dstdrv),a
bootdr1:
; process next letter in the cmd line options
ld a,(tmpstr) ; next letter
res 5,a ; FORCE UPPERCASE (IMPERFECTLY)
; Case Statement
ld hl,bootdr2 ; return address for below JP
push hl ; when RET from below JP, return
cp 'A'
jp z,bootdra ; RAM
cp 'B'
jp z,bootdrb ; BOOT
cp 'F'
jp z,bootdrf ; FLOPPY
cp 'H'
jp z,bootdrh ; HARD DRIVES (improved)
cp 'L'
jp z,bootdrl ; HARD DRIVES (legacy)
cp 'O'
jp z,bootdro ; ROM
cp 'P'
jp z,bootdrp ; PRESERVE/KEEP (SKIP)
cp 'S'
jp z,bootdrs ; SLICES (OFF BOOT DRIVE)
cp 'X'
jp z,bootdrx ; UNASSIGN
cp 'Z'
jp z,bootdrz ; UNASSIGN ALL REMAINING
; no valid option was found just ignore and continue
; potentially signal an error
pop hl ; remove the return address, since no match
bootdr2:
jr c,bootdr4 ; if overflowed, exhaused drives then error
; bump to next letter in tmp str, by shifing string left in buffer
ld hl,tmpstr+1 ; copy from +1 in buffer
ld a,(hl) ; copy next char for Z check
ld de,tmpstr ; copy down to +0 in buffer
ld bc,16 ; buffer is 16 bytes
ldir
or a ; set flags based on next char
jr nz,bootdr1 ; loop if character found
bootdr3:
xor a ; success
ret ; finished
bootdr4:
or $ff ; failure
ret ; finished
;
; -------------------------------------------------
; /B=XXX AGORITHMS START HERE
;
; PRESERVE, SKIP 1, JUST LOOP
bootdrp:
; determine the drive being preserved, calc estimate
ld hl,(mapadr) ; address of next map entry in table. Indirect
ld a,(hl) ; the unit number of drive being skipped
call bootdest ; for unit in A, calc the heap estimate -> DE
; subtract bytes from estimate, not not checking for overflow
ld hl,(heaprem) ; remaing heap estimate
or a ; clear carry
sbc hl,de ; subtract slice from heap estimate
ld (heaprem),hl ; update estimate based on adding slice
; and skip to next drive
call bootinc ; Skip to next drive letter
ret ; Finished
;
; EXCLUDE / UNASSIGNED / GAP
bootdrx:
ld a,$FF ; $FF (unit) signal a drive not assigned
ld (unit),a ; set unit
xor a ; slice 0
ld (slice),a ; save as slice to assign.
ld hl,SIZ_DMAP ; heap used is 4 bytes for drvmap entry only
ld (slicmem),hl ; save estmate so heap space can be counted
call bootadd ; assign the slice
ret ; Finished, returning error
;
; EXCLUDE / UNASSIGNED - ALL REMAINING
bootdrz:
ld a,$FF ; $FF (unit) signal a drive not assigned
ld (unit),a ; set unit
xor a ; slice 0
ld (slice),a ; save as slice to assign.
ld hl,0 ; all remainging drives consume 0 bytes
ld (slicmem),hl ; save estmate so heap space can be counted
bootdrz1:
call bootadd ; assign the slice
jr nc,bootdrz1 ; NC still can continue to allocate
xor a ; success
ret ; Finished
;
; BOOT DRIVE
bootdrb:
ld bc,BC_SYSGET_BOOTINFO ; HBIOS SysGet; BootInfo
rst 08 ; Get boot disk unit/slice in DE
ld a,e ; boot slice returned in E
ld (slice),a ; save as slice to assign.
ld a,d ; boot unit id returned in D
ld (unit),a ; save as unit number
call bootdest ; calc estimat of unit A store in (sliceem)
call bootadd ; add the boot drive slice
ret ; Finished, returning error
;
; RAM DRIVE
bootdra:
ld a,$FF ; specific mask to include all BITS
ld (atrmask),a ; mask for device attributes
ld a,%00010101 ; specific mask for RAM DRIVE.
ld (atrcomp),a ; compare to after mask
ld hl,EST_MD ; estimate of heap used. for RAM ROM
ld (slicmem),hl ; save estmate so heap space can be counted
call bootadds ; do single slice assignment
ret ; Finished, returning error
;
; ROM DRIVE
; Note: if MDFFENABLE is enabled, this wont select the ROM since the
; driver returns MD_AFSH (%00010111), and we cannot generalise this mask
bootdro:
ld a,%11111101 ; ROM mask, excluding Bit 1, which varies
ld (atrmask),a ; mask for device attributes
ld a,%00010100 ; for values "MD_AROM", "MD_AFSH"; Att="000101x0"
ld (atrcomp),a ; compare to after mask
ld hl,EST_MD ; estimate of heap used. for RAM ROM
ld (slicmem),hl ; save estmate so heap space can be counted
call bootadds ; do single slice assignment
ret ; Finished, returning error
;
; FLOPPY DRIVE(S)
bootdrf:
ld a,%11000000 ; device parameters (Removable Floppy)
ld (atrmask),a ; mask for device attributes
ld (atrcomp),a ; compare to after mask
ld hl,EST_FD ; estimate of heap used. for Floppy
ld (slicmem),hl ; save estmate so heap space can be counted
call bootadds ; do single slice assignment
ret ; Finished, returning error
;
; SLICES (From Boot Drive Only)
bootdrs:
; find the boot drive, save unit /slice number
ld a,(mapwrk) ; boot drive unit number
ld (unit),a ; save as unit number to assign
ld hl,EST_HD ; estimate of heap used, for HDD
ld (slicmem),hl ; save estmate so heap space can be counted
ld a,0 ; starting slice number
bootdrs1:
; A is next slice to assign when entering here
ld (slice),a ; save as slice to assign.
call bootadd ; add the slice, return Z - past the last drive
jr c,bootdrs2 ; drives exhaused, finish up
ld a,(slice) ; get the slice just consumed
inc a ; next slice
JR bootdrs1 ; loop round
bootdrs2:
xor a ; success
ret
;
; HARD DRIVE(S) - Improved from CBIOS - More Drives
bootdrh:
ld a,%00100000 ; device parameters (High Capacity)
ld (atrmask),a ; mask for device attributes
ld (atrcomp),a ; compare to after mask
ld hl,EST_HD ; estimate of heap used, for HDD
ld (slicmem),hl ; save estmate so heap space can be counted
; count the number of drives matching criteria
call bootcnt ; return Drive count in A
; compute Slices per volume from drv count in A
call bootdrh1 ; return SPV in A
ld (slicec),a ; slice per volume count
; do the drive assignment
call bootaddn ; do the drive assignment
ret ; Finished returning error
;
; Input A contains device count return SPV (slices per volume) in A
bootdrh1:
ld e,a ; divide by by e, the number of devices
ld a,(dstdrv) ; next destination drive to map, 0-15
ld d,a ; put it in d
ld a,16 ; total number of drives
sub d ; less assigned = remaining
; above assumes we have space remaining on heap for all drives
; ideally should take A=Min( A, (heaprem)/EST_HD ) before division
ld d,a ; divides d - remaing drives
; The following routine divides d by e and places the quotient in d and the remainder in a
; https://wikiti.brandonw.net/index.php?title=Z80_Routines:Math:Division
xor a
ld b, 8
bootdrh2:
sla d
rla
cp e
jr c, $+4
sub e
inc d
djnz bootdrh2
ld a,d ; end of the division the quotiant in A
ret ; return it
;
; HARD DRIVE(S) - Legacy (from CBIOS)
bootdrl:
ld a,%00100000 ; device parameters (High Capacity)
ld (atrmask),a ; mask for device attributes
ld (atrcomp),a ; compare to after mask
ld hl,EST_HD ; estimate of heap used, for HDD
ld (slicmem),hl ; save estmate so heap space can be counted
;
; count the number of drives matching criteria
call bootcnt ; return Drive count in A
;
; compute Slices per volume from drv count in A
call bootdrl1 ; return SPV in A
ld (slicec),a ; slice per volume count
;
; do the drive assignment
call bootaddn ; do the drive assignment
xor a ; Success
ret ; Finished
;
; Input A contains device count return SPV (slices per volume) in A
bootdrl1:
ld e,8 ; ASSUME 8 SLICES PER VOLUME
dec a ; DEC ACCUM TO CHECK FOR COUNT = 1
jr z,bootdrl2 ; YES, SKIP AHEAD TO IMPLEMENT 8 HDSPV
ld e,4 ; NOW ASSUME 4 SLICES PER VOLUME
dec a ; DEC ACCUM TO CHECK FOR COUNT = 2
jr z,bootdrl2 ; YES, SKIP AHEAD TO IMPLEMENT 4 HDSPV
ld e,2 ; IN ALL OTHER CASES, WE USE 2 HDSPV
bootdrl2:
ld a,e
ret
;
; -------------------------------------------------
; Memory allocation estimates for each device type
;
SIZ_DBUF .EQU 128 ; actual size of directory buffer
SIZ_DPH .EQU 20 ; actual size of a DPH structure
SIZ_DMAP .EQU 4 ; actual bytes per drvmap entry
;
EST_FIXED .EQU SIZ_DPH+SIZ_DMAP ; overhead for all assignments
;
EST_MD .EQU EST_FIXED + 24 ; estimated size for ram/rom
EST_FD .EQU EST_FIXED + 192 ; estimated size for floppy
EST_HD .EQU EST_FIXED + 256 ; estimated size hdd (CKS/ALS)
;
; -------------------------------------------------
; /B=XXX - General Purpose Functions
;
; Determine Slice Estimate for Unit in A reg
; storing estimate in (slicmem), and DE
;
bootdest:
; is it assigned
ld c,a ; store unit (passed in A) for hbios call
ld de,SIZ_DMAP ; assume unassigned, 4 bytes for drvmap
cp $FF ; unassigned?
jr z,bootdest2 ; finished at this point.
; check for UNA mode, before calling HBIOS
ld a,(unamod) ; get UNA mode flag, and set Flags
or a ; if UNA Mode then dont do hbios lookup
jr nz,bootdest1 ; use worst case scenario (future una call)
; determine device type by hbios lookup
ld b,BF_DIODEVICE ; get device info
rst 08 ; Note C was set above
; now work out the bytes to allocate
ld a,d ; device type to A
ld de,EST_MD ; assume md size
cp DIODEV_MD ; ram/rom MD device
jr z,bootdest2 ; finished at this point
ld de,EST_FD ; assume floppy
cp DIODEV_FD ; floppy device
jr z,bootdest2 ; finished at this point
bootdest1:
ld de,EST_HD ; otherwise assume HD
bootdest2:
ld (slicmem),de
ret
;
; Count Number of Devices
; (atrmask) mask the device attribtes
; (atrcomp) compare to set zero flag
; return A number of drives mathing the attributes
bootcnt:
; loop thru hbios units looking for device type/unit match
ld bc,BC_SYSGET_DIOCNT ; hbios func: sysget subfunc: diocnt
rst 08 ; call hbios, E := device count
ld b,e ; use device count for loop count
ld c,0 ; use C for device index C = 0
ld l,0 ; will contain the drive count
bootcnt1:
call bootmat ; perform the match on device C, Z if match
jr nz,bootcnt2 ; not matching, skip and continue loop
inc l ; same so incrment the counter
bootcnt2:
inc c ; next drive letter
djnz bootcnt1 ; loop
ld a,l ; return the count in A register
or a ; ensure registers are set correctly
ret ; Finished
;
; Loop though all devices add a single slice based on device attributes
; See method below for documentation. Noting (slice) is defaulted to 1
bootadds
ld a,1
ld (slicec),a
; fall through to bootaddn
;
; Loop though all devices add N slice(s) based on device attributes
; (atrmask) mask the device attribtes
; (atrcomp) compare to set zero flag
; (slicec) number of slices
; return C flag
; C have expended all drives
; NC still can continue to allocate
; Z otherwise successfully completed
bootaddn
; loop thru hbios units looking for device type/unit match
ld bc,BC_SYSGET_DIOCNT ; hbios func: sysget subfunc: diocnt
rst 08 ; call hbios, E := device count
ld b,e ; use device count for loop count
ld c,0 ; use C for device index C = 0
bootaddn1:
call bootmat ; perform the match on device C, Z if match
jr nz,bootaddn4 ; not same skip volume, continue loop
; save the disk unit
ld a,c ; get the unit id back into A
ld (unit),a ; unit to add, if we add it.
; setup inner loop
push bc ; save loop control for outer loop
ld a,(slicec) ; count of slices to assign
ld b,a ; use device count for loop count
ld c,0 ; use C for slice index slice = 0
bootaddn2:
; entering here C contains updated slice
ld a,c ; slice number
ld (slice),a ; slice number
; assign the slice and loop
push bc ; save loop control
call bootadd ; add the slice
pop bc ; restore loop
jr c,bootaddn3 ; if bootadd, ran out of drives to allocate
inc c ; next slice
djnz bootaddn2 ; inner loop
bootaddn3:
; finish inner loop for next disk unit
pop bc ; restore loop control for outer
ret c ; return if no drives left to allocate
bootaddn4:
; continue looping to next unit
inc c ; next device
djnz bootaddn1 ; outer loop
xor a ; success
ret ; Finished
;
; Add a Single Drive.
; based on (unit) and (slice) variables
; This routine will skip if drive already assigned
; return C flag
; C have expended all drives
; NC still can continue to allocate
bootadd:
; check we are not already past last (P:) drive
ld hl,dstdrv ; destination drive
ld a,15
cp (hl) ; C set if >= 16
ret c ; Return with carry, cannot assign.
; do we need to perform duplicate check
ld a,(dstdrv) ; next destination drive to map, could be A: (=0)
or a ; is it A:
jr z,bootadd1 ; nothing to check we are assigning the A: drive
; perform duplicate check before assignment
ld b,a ; B number of entries to check
ld hl,mapwrk ; HL point to working drive map table to compare to
ld de,unit ; DE comparison, unit/slice are ordered (psudo mapwrk entry)
call valid3 ; perform a duplicate check (REUSED)
jr z,bootinc1 ; Z - found a duplicate, exit out
;
bootadd1:
; check we have enough heap to allocate
ld hl,(heaprem) ; remaing heap estimate
ld de,(slicmem) ; memory alloc per drive
or a ; clear carry
sbc hl,de ; subtract slice from heap estimate
ret c ; overflow (not enough heap) so abort
ld (heaprem),hl ; update estimate based on sub of mem
; actually assign it.
ld hl,(mapadr) ; address of next map entry in table
ld a,(unit) ; the unit number
ld (hl), a ; write unit number to Table
inc hl
ld a,(slice) ; the slice
ld (hl), a ; write slice to the table
; show the new assignment
push bc
push de
ld a,(dstdrv) ; destination drive
call showone ; show it's new value
pop de
pop bc
; signal the change has occured
ld hl,modcnt ; point to mod count
inc (hl) ; increment it
; fall through to bootinc and inc target drive
;
; Increment to the next drive (A-P)
; return C flag
; C have expended all drives
; NC still can continue to allocate
bootinc:
; check we are not already past last (P:) drive
ld hl,dstdrv ; destination drive
ld a,15
cp (hl) ; C set if >= 16
ret c ; Return with carry, cannot increment.
; actually increment it
inc (hl) ; increment destination drive (A-P)
ld hl,(mapadr) ; address in working assignment table (mapwrk)
ld bc,4
add hl,bc
ld (mapadr),hl ; move address to next location in map
bootinc1:
ld hl,dstdrv ; destination drive
ld a,15
cp (hl) ; C set if >= 16
ret
;
; Does Disk Unit Meet matching Criteria
; pass in C which is the unit, ret Z if matching:
; * (atrmask) mask the device attribtes
; * (atrcomp) compare to set zero flag
; registers BC DE HL are preserved
bootmat:
push hl
push de
push bc ; preserve
; get the disk unit attributes
ld b,BF_DIODEVICE ; hbios func: diodevice C:= DISK UNIT
rst 08 ; call hbios, C := device attributes
; do the attribute comparison
ld a,(atrmask) ; attribute bit mask
and c ; mask with device attributes from hbios
ld c,a ; move value back to c
ld a,(atrcomp) ; value parameter to compare with
cp c ; do the comparison : Z if matching
jr nz,bootmat3 ; not matching, just return, NZ go no further
; Attributes match - did caller request high capacity device
bit 5,a ; high capacity flag passed in (atrcomp)
jr NZ,bootmat1 ; IF hig capacity, test if hd is onlne
; Attributes match - but NOT high capacity
xor a ; Result = Z
jr bootmat3 ; and return
bootmat1:
; Attributes match - and IS high capacity
pop bc ; get C para back (unit)
push bc
; Sense Media
ld b,BF_DIOMEDIA ; HBIOS FUNC: SENSE MEDIA
ld e,1 ; PERFORM MEDIA DISCOVERY
rst 08 ; DO IT
; returns NZ if error (no media), and Z if no error (media detected)
; can just return this flag
bootmat3:
pop bc
pop de
pop hl ; restore and return
ret
;
; ----------------------------------------------------------------
;
; Install the new drive map into CBIOS
;
install:
@@ -546,7 +1054,7 @@ install3:
ld (heaptop),de ; DE has next byte available
;
; allocate directory buffer
ld hl,128 ; size of directory buffer
ld hl,SIZ_DBUF ; size of directory buffer
call alloc ; allocate the space
jp c,instovf ; handle overflow error
ld (dirbuf),hl ; ... and save in dirbuf
@@ -574,8 +1082,7 @@ dph_init2:
ld a,(hl) ; unit to A
push bc ; save loop control
push hl ; save drive map pointer
;ld hl,16 ; size of a DPH structure
ld hl,20 ; size of a DPH structure
ld hl,SIZ_DPH ; size of a DPH structure
call alloc ; allocate space for dph
jp c,instovf ; handle overflow error
push hl ; save DPH location
@@ -607,9 +1114,15 @@ dph_init3:
call prtdecw ; print it
ld de,msgmem ; add description
call prtstr ; and print it
;
#if 0
call crlf
ld bc,(heaprem)
call prthexword
#endif
;
call drvrst ; perform BDOS drive reset
;
;
xor a ; signal success
ret ; done
;
@@ -653,25 +1166,25 @@ makdphuna1: ; handle ram/rom
makdphwbw: ; determine appropriate dpb (WBW mode, unit number in A)
;
ld c,a ; unit number to C
ld b,$17 ; HBIOS: Report Device Info
ld b,BF_DIODEVICE ; HBIOS: Report Device Info
rst 08 ; call HBIOS, return w/ device type in D, physical unit in E
ld a,d ; device type to A
cp $00 ; ram/rom?
cp DIODEV_MD ; ram/rom?
jr nz,makdph00 ; if not, skip ahead to other types
ld a,e ; physical unit number to A
ld e,1 ; assume rom
ld e,MID_MDROM ; assume rom
cp $01 ; rom?
jr z,makdph0 ; yes, jump ahead
ld e,2 ; otherwise ram
ld e,MID_MDRAM ; otherwise ram
jr makdph0 ; jump ahead
makdph00:
ld e,6 ; assume floppy
cp $01 ; floppy?
makdph00:
ld e,MID_FD144 ; assume floppy
cp DIODEV_FD ; floppy?
jr z,makdph0 ; yes, jump ahead
ld e,3 ; assume ram floppy
cp $02 ; ram floppy?
ld e,MID_RF ; assume ram floppy
cp DIODEV_RF ; ram floppy?
jr z,makdph0 ; yes, jump ahead
ld e,4 ; everything else is assumed to be hard disk
ld e,MID_HD ; everything else is assumed to be hard disk
jr makdph0 ; yes, jump ahead
;
makdph0:
@@ -689,7 +1202,7 @@ makdph1:
pop hl ; hl := start of dph
ld a,8 ; size of dph reserved area
call addhl ; leave it alone (zero filled)
;
;
ld bc,(dirbuf) ; address of dirbuf
ld (hl),c ; plug dirbuf
inc hl ; ... into dph
@@ -716,7 +1229,7 @@ makdph2:
;
; HL := alloc size, DE bumped
ex de,hl
ld e,(hl) ; get size to allocate
ld e,(hl) ; get size to allocate
inc hl ; ...
ld d,(hl) ; ... into HL
inc hl ; and bump DE
@@ -730,7 +1243,7 @@ makdph2:
; allocate memory
call alloc ; do the allocation
jp c,instovf ; bail out on overflow
makdph3:
; swap hl and bc
push bc ; bc -> (sp)
@@ -741,7 +1254,7 @@ makdph3:
ld (hl),c ; save cks/als buf
inc hl ; ... address in
ld (hl),b ; ... dph and bump
inc hl ; ... to next dph entry
inc hl ; ... to next dph entry
xor a ; signal success
ret
;
@@ -751,7 +1264,7 @@ instcpm3:
; swicth to sysbnk
ld a,($FFE0) ; get current bank
push af ; save it
ld bc,$F8F2 ; HBIOS Get Bank Info
ld bc,BC_SYSGET_BNKINFO ; HBIOS Get Bank Info
rst 08 ; call HBIOS, E=User Bank
ld a,e ; HBIOS User Bank
call $FFF3 ; HBIOS BNKSEL
@@ -763,8 +1276,7 @@ instcpm3:
ld h,(hl) ; ...
ld l,a ; ...
ld (dphadr),hl ; save starting dphadr
ld hl,(drvtbl) ; get drive table in HL
ld de,mapwrk ; DE := working drive map
ld b,16
@@ -783,7 +1295,7 @@ instc1:
inc de ; ...
jr instc3 ; resume loop without copy
;
instc2:
instc2:
push hl ; save drvtbl entry adr
push de ; save mapwrk entry adr
ld de,(dphadr) ; get cur dph adr
@@ -865,15 +1377,15 @@ alloc:
ex de,hl ; de=new heaptop, hl=heaplim
sbc hl,de ; heaplim - heaptop
jr c,allocx ; c set on overflow error
; allocation succeeded, commit new heaptop
; allocation succeeded, commit new heaptop
ld (heaptop),de ; save new heaptop
allocx:
allocx:
pop hl ; return value to hl
pop de ; recover de
ret
;
; Scan drive map table for integrity
; Currently just checks for multiple drive
; Currently just checks for multiple drive
; letters referencing a single file system
;
valid:
@@ -905,6 +1417,14 @@ valid2: ; setup for inner loop
call addhl ; point to entry following
pop de ; de points to comparison entry
;
; Scan for a match in (mapwrk)
; The following comparison code is called elsewhere, not just from above
; (please respect the contract)
; hl : pointer to start of items to scan check in map
; de is the invarient (fixed) entry in the table to compare against
; b : is the number of items to check
; return Z - Found a duplicate comparison=0
; return NZ - No Matches found (a=$ff)
valid3: ; inner loop
; bypass unassigned drives (only need to test 1)
ld a,(hl) ; get first drive unit in A
@@ -981,7 +1501,7 @@ drvswap:
ld a,(srcdrv) ; get the source drive
call chkdrv ; valid drive?
ret nz ; abort if not
ld hl,(drives) ; load source/dest in DE
ld hl,(drives) ; load source/dest in HL
ld a,h ; put source drive num in a
cp l ; compare to the dest drive num
jp z,errswp ; Invalid swap request, src == dest
@@ -1001,7 +1521,7 @@ drvswap:
rlca
call addhl
ld (dstptr),hl
;
;
; 1) dest -> temp
ld hl,(dstptr)
ld de,tmpent
@@ -1064,20 +1584,19 @@ drvmap1: ; loop through device table looking for a match
djnz drvmap1 ; and loop
jp errdev
;
drvmap2:
drvmap2:
; convert index to device type id
ld a,c ; index to accum
ld (device),a ; save as device id
;
; loop thru hbios units looking for device type/unit match
ld b,$F8 ; hbios func: sysget
ld c,$10 ; sysget subfunc: diocnt
rst 08 ; call hbios, E := device count
ld bc,BC_SYSGET_DIOCNT ; hbios func: sysget subfunc: diocnt
rst 08 ; call hbios, E := device count
ld b,e ; use device count for loop count
ld c,0 ; use C for device index
drvmap3:
push bc ; preserve loop control
ld b,$17 ; hbios func: diodevice
ld b,BF_DIODEVICE ; hbios func: diodevice
rst 08 ; call hbios, D := device, E := unit
pop bc ; restore loop control
ld a,(device)
@@ -1099,7 +1618,7 @@ drvmap5:
call chkdev ; check validity
pop bc ; restore unit
ret nz ; bail out on error
; resolve the CBIOS DPH table entry
ld a,(dstdrv) ; dest drv num to A
call chkdrv ; valid drive?
@@ -1206,12 +1725,12 @@ showall:
ld b,16 ; 16 drives possible
ld c,0 ; map index (drive letter)
;
ld a,b ; load count
or $FF ; signal no action
ret z ; bail out if zero
; ld a,b ; load count
; or $FF ; signal no action
; ret z ; bail out if zero
;
showall1: ; loop
ld a,c ;
; ld a,c ;
push bc ; save loop control
call showass
pop bc ; restore loop control
@@ -1226,8 +1745,9 @@ showall1: ; loop
showass:
;
; setup HL to point to desired entry in table
ld c,a ; save incoming drive in C
; ld c,a ; save incoming drive in C
ld hl,mapwrk ; HL = address of drive map
ld a,c
rlca
rlca
call addhl ; HL = address of drive map table entry
@@ -1301,7 +1821,7 @@ prtdev:
or a ; set flags
ld a,e ; put device num back
jr nz,prtdevu ; print device in UNA mode
ld b,$17 ; hbios func: diodevice
ld b,BF_DIODEVICE ; hbios func: diodevice
ld c,a ; unit to C
rst 08 ; call hbios, D := device, E := unit
push de ; save results
@@ -1326,7 +1846,7 @@ prtdevu:
push bc
push de
push hl
;
;
; UNA mode version of print device
ld b,a ; B := unit num
push bc ; save for later
@@ -1389,15 +1909,14 @@ chkdrv:
;
chkdev: ; HBIOS variant
push af ; save incoming unit
ld b,$F8 ; hbios func: sysget
ld c,$10 ; sysget subfunc: diocnt
ld bc,BC_SYSGET_DIOCNT ; hbios func: sysget subfunc: diocnt
rst 08 ; call hbios, E := device count
pop af ; restore incoming unit
cp e ; compare to unit count
jp nc,errdev ; if too high, error
;
; get device/unit info
ld b,$17 ; hbios func: diodevice
ld b,BF_DIODEVICE ; hbios func: diodevice
ld c,a ; unit to C
rst 08 ; call hbios, C := device attributes
;
@@ -1476,7 +1995,7 @@ prtstr1:
;
prtstr2:
pop de ; restore registers
ret
ret
;
; Print the value in A in hex without destroying any registers
;
@@ -1499,7 +2018,7 @@ prthexword:
ld a,b
call prthex
ld a,c
call prthex
call prthex
pop af
ret
;
@@ -1523,9 +2042,9 @@ hexascii:
hexconv:
and $0F ; low nibble only
add a,$90
daa
daa
adc a,$40
daa
daa
ret
;
; Print value of A or HL in decimal with leading zero suppression
@@ -1871,19 +2390,27 @@ drives:
dstdrv .db 0 ; destination drive
srcdrv .db 0 ; source drive
device .db 0 ; source device
; note (unit and slice) need to be kept ordered since they are used
; in code forming a temp table entry (comparison purposes). See bootadd:
unit .db 0 ; source unit
slice .db 0 ; source slice
;
atrmask .db 0 ; device attributes mask before compare
atrcomp .db 0 ; device attributes compare to
slicec .db 1 ; number of slices to assign for each volume
slicmem .dw 280 ; memory to allocate to next slice assigment
;
unamod .db 0 ; $FF indicates UNA UBIOS active
modcnt .db 0 ; count of drive map modifications
;
srcptr .dw 0 ; source pointer for copy
dstptr .dw 0 ; destination pointer for copy
tmpent .fill 4,0 ; space to save a table entry
tmpstr .fill 9,0 ; temporary string of up to 8 chars, zero term
tmpstr .fill 17,0 ; temporary string of up to 16 chars, zero term
;
heaptop .dw 0 ; current address of top of heap memory
heaplim .dw 0 ; heap limit address
heaprem .dw $7FFF ; estimate of heap remaining, (before allocate)
;
dirbuf .dw 0 ; directory buffer location
;
@@ -1893,6 +2420,7 @@ scbop .db $FF ; set a byte
scbval .dw $FF ; value to set
;
mapwrk .fill (4 * 16),$FF ; working copy of drive map
mapadr .dw mapwrk ; working pointer into mapwrk used by /B=
;
devtbl: ; device table
.dw dev00, dev01, dev02, dev03
@@ -1936,17 +2464,19 @@ stack .equ $ ; stack top
; Messages
;
indent .db " ",0
msgban1 .db "ASSIGN v1.8 for RomWBW CP/M ",0
msgban1 .db "ASSIGN v2.0 for RomWBW CP/M ",0
msg22 .db "2.2",0
msg3 .db "3",0
msbban2 .db ", 13-Oct-2023",0
msbban2 .db ", 21-Dec-2024",0
msghb .db " (HBIOS Mode)",0
msgub .db " (UBIOS Mode)",0
msgban3 .db "Copyright 2023, Wayne Warthen, GNU GPL v3",0
msgban3 .db "Copyright 2024, Wayne Warthen, GNU GPL v3",0
msguse .db "Usage: ASSIGN D:[=[{D:|<device>[<unitnum>]:[<slicenum>]}]][,...]",13,10
.db " ex. ASSIGN (display all active assignments)",13,10
.db " ASSIGN /? (display version and usage)",13,10
.db " ASSIGN /L (display all possible devices)",13,10
.db " ASSIGN /B=OPTS (perform assignment based on options)",13,10
.db " ASSIGN C: (display assignment for C:)",13,10
.db " ASSIGN C:=D: (swaps C: and D:)",13,10
.db " ASSIGN C:=FD0: (assign C: to floppy unit 0)",13,10
.db " ASSIGN C:=IDE0:1 (assign C: to IDE unit0, slice 1)",13,10

View File

@@ -12,6 +12,7 @@ call BuildZ1RCC || exit /b
call BuildZZRCC || exit /b
call BuildZRC512 || exit /b
call BuildFZ80 || exit /b
call BuildEZ512 || exit /b
if "%1" == "dist" (
call Clean || exit /b

4
Source/BuildEZ512.cmd Normal file
View File

@@ -0,0 +1,4 @@
@echo off
setlocal
pushd EZ512 && call Build || exit /b & popd

View File

@@ -411,8 +411,7 @@ REBOOT:
;
#IFDEF PLTWBW
; WARM START
LD B,BF_SYSRESET ; SYSTEM RESTART
LD C,BF_SYSRES_WARM ; WARM START
LD BC,BC_SYSRES_WARM ; SYSTEM WARM RESTART
CALL $FFF0 ; CALL HBIOS
#ENDIF
;
@@ -2199,8 +2198,7 @@ INIT:
#ELSE
; GET CRITICAL BANK ID'S
LD B,BF_SYSGET ; HBIOS FUNC=GET SYS INFO
LD C,BF_SYSGET_BNKINFO ; HBIOS SUBFUNC=GET BANK ASSIGNMENTS
LD BC,BC_SYSGET_BNKINFO ; HBIOS FUNC=GET SYS INFO;GET BANK ASSIGNMENTS
RST 08 ; CALL HBIOS
LD A,D ; GET HBIOS BANK RETURNED IN D
LD (BNKBIOS),A ; ... AND SAVE IT
@@ -2213,8 +2211,7 @@ INIT:
#ENDIF
;
; SOFT RESET HBIOS
LD B,BF_SYSRESET ; HB FUNC: RESET
LD C,BF_SYSRES_INT ; WARM START
LD BC,BC_SYSRES_INT ; HB FUNC: RESET; WARM START
RST 08 ; DO IT
;
#IF DEBUG
@@ -2343,10 +2340,8 @@ INIT2:
LD C,(HL) ; PUT UNIT NUM IN C
RST 08 ; CALL HBIOS
LD A,C ; GET ATTRIBUTES
AND %10001111 ; ISOLATE TYPE BITS
CP %00000100 ; NOT FLOPPY, TYPE = ROM?
JR Z,INIT2A ; IF SO, ADJUST DEF DRIVE
CP %00000111 ; NOT FLOPPY, TYPE = FLASH?
AND %10001101 ; ISOLATE TYPE BITS, NOT FLOPPY
CP %00000100 ; TYPE=ROM/FLASH ; Att="0xxx01x0"
JR NZ,INIT2X ; IF NOT THEN DONE
;
INIT2A:
@@ -2496,8 +2491,7 @@ DEV_INIT000:
DEV_INIT00:
; LOOP THRU DEVICES ADDING DEVICES TO DEVMAP
; CONSOLE DEVICE WAS ALREADY DONE, SO IT IS SKIPPED HERE
LD B,BF_SYSGET ; HBIOS FUNC: GET SYS INFO
LD C,BF_SYSGET_CIOCNT ; SUBFUNC: GET CIO UNIT COUNT
LD BC,BC_SYSGET_CIOCNT ; HBIOS FUNC: GET SYS INFO; GET CIO UNIT COUNT
RST 08 ; E := SERIAL UNIT COUNT
LD B,E ; COUNT TO B
LD C,0 ; UNIT INDEX
@@ -2928,8 +2922,7 @@ DRV_INIT:
; DEVICES. NON-HARD DISK UNITS ARE ALWAYS CONSIDERED
; ACTIVE, BUT HARD DISK UNITS ARE ONLY CONSIDERED ACTIVE
; IF THERE IS MEDIA IN THE DRIVE.
LD B,BF_SYSGET
LD C,BF_SYSGET_DIOCNT
LD BC,BC_SYSGET_DIOCNT ; GET DISK UNIT COUNT
RST 08 ; E := DISK UNIT COUNT
LD B,E ; COUNT TO B
LD A,B ; COUNT TO A
@@ -3435,6 +3428,63 @@ DEV15 .EQU DEVUNK
;
#ENDIF
;
;
;__________________________________________________________________________________________________
;
; INITIALIZATION Utilities
;
; PRINT VALUE OF A IN DECIMAL WITH LEADING ZERO SUPPRESSION
;
PRTDECB:
PUSH HL
PUSH AF
LD L,A
LD H,0
CALL PRTDEC
POP AF
POP HL
RET
;
; PRINT VALUE OF HL IN DECIMAL WITH LEADING ZERO SUPPRESSION
;
PRTDEC:
PUSH BC
PUSH DE
PUSH HL
LD E,'0'
LD BC,-10000
CALL PRTDEC1
LD BC,-1000
CALL PRTDEC1
LD BC,-100
CALL PRTDEC1
LD C,-10
CALL PRTDEC1
LD E,0
LD C,-1
CALL PRTDEC1
POP HL
POP DE
POP BC
RET
PRTDEC1:
LD A,'0' - 1
PRTDEC2:
INC A
ADD HL,BC
JR C,PRTDEC2
SBC HL,BC
CP E
JR Z,PRTDEC3
LD E,0
CALL COUT
PRTDEC3:
RET
;
;__________________________________________________________________________________________________
;
; INITIALIZATION Working Storage
;
DPHTOP .DW 0 ; CURRENT TOP OF DPH POOL
DIRBUF .DW 0 ; DIR BUF POINTER
HEAPTOP .DW BUFPOOL ; CURRENT TOP OF HEAP

View File

@@ -28,10 +28,10 @@ PC_COLON:
LD A,':'
JR PC_PRTCHR
PC_COMMA:
PUSH AF
LD A,','
JR PC_PRTCHR
;PC_COMMA:
; PUSH AF
; LD A,','
; JR PC_PRTCHR
PC_LBKT:
PUSH AF
@@ -43,30 +43,30 @@ PC_RBKT:
LD A,']'
JR PC_PRTCHR
PC_LT:
PUSH AF
LD A,'<'
JR PC_PRTCHR
;PC_LT:
; PUSH AF
; LD A,'<'
; JR PC_PRTCHR
PC_GT:
PUSH AF
LD A,'>'
JR PC_PRTCHR
;PC_GT:
; PUSH AF
; LD A,'>'
; JR PC_PRTCHR
PC_LPAREN:
PUSH AF
LD A,'('
JR PC_PRTCHR
;PC_LPAREN:
; PUSH AF
; LD A,'('
; JR PC_PRTCHR
PC_RPAREN:
PUSH AF
LD A,')'
JR PC_PRTCHR
;PC_RPAREN:
; PUSH AF
; LD A,')'
; JR PC_PRTCHR
PC_ASTERISK:
PUSH AF
LD A,'*'
JR PC_PRTCHR
;PC_ASTERISK:
; PUSH AF
; LD A,'*'
; JR PC_PRTCHR
PC_CR:
PUSH AF
@@ -201,7 +201,7 @@ _REGDMP:
LD A,'@'
CALL COUT
POP AF
PUSH BC
LD BC,(REGDMP_PC)
CALL PRTHEXWORD ; PC
@@ -235,7 +235,7 @@ _REGDMP:
POP AF
;LD SP,(RD_STKSAV) ; BACK TO ORIGINAL STACK FRAME
JP $FFFF ; RETURN, $FFFF IS DYNAMICALLY UPDATED
REGDMP_RET .EQU $-2 ; RETURN ADDRESS GOES HERE
;
@@ -340,17 +340,17 @@ ADDHLA1:
; IN: MULTIPLY H BY E
; OUT: HL = RESULT, E = 0, B = 0
;
MULT8:
LD D,0
LD L,D
LD B,8
MULT8_LOOP:
ADD HL,HL
JR NC,MULT8_NOADD
ADD HL,DE
MULT8_NOADD:
DJNZ MULT8_LOOP
RET
;MULT8:
; LD D,0
; LD L,D
; LD B,8
;MULT8_LOOP:
; ADD HL,HL
; JR NC,MULT8_NOADD
; ADD HL,DE
;MULT8_NOADD:
; DJNZ MULT8_LOOP
; RET
;
; FILL MEMORY AT HL WITH VALUE A, LENGTH IN BC, ALL REGS USED
; LENGTH *MUST* BE GREATER THAN 1 FOR PROPER OPERATION!!!
@@ -364,54 +364,6 @@ FILL:
LDIR ; DO THE REST
RET ; RETURN
;
; PRINT VALUE OF A IN DECIMAL WITH LEADING ZERO SUPPRESSION
;
PRTDECB:
PUSH HL
PUSH AF
LD L,A
LD H,0
CALL PRTDEC
POP AF
POP HL
RET
;
; PRINT VALUE OF HL IN DECIMAL WITH LEADING ZERO SUPPRESSION
;
PRTDEC:
PUSH BC
PUSH DE
PUSH HL
LD E,'0'
LD BC,-10000
CALL PRTDEC1
LD BC,-1000
CALL PRTDEC1
LD BC,-100
CALL PRTDEC1
LD C,-10
CALL PRTDEC1
LD E,0
LD C,-1
CALL PRTDEC1
POP HL
POP DE
POP BC
RET
PRTDEC1:
LD A,'0' - 1
PRTDEC2:
INC A
ADD HL,BC
JR C,PRTDEC2
SBC HL,BC
CP E
JR Z,PRTDEC3
LD E,0
CALL COUT
PRTDEC3:
RET
;
; PRINT THE HEX BYTE VALUE IN A
;
PRTHEXBYTE:
@@ -457,9 +409,9 @@ HEXASCII:
HEXCONV:
AND 0FH ;LOW NIBBLE ONLY
ADD A,90H
DAA
DAA
ADC A,40H
DAA
DAA
RET
;
;****************************
@@ -488,40 +440,40 @@ BCD2BYTE:
; [0..99] => [00H..99H]
;*****************************
;
BYTE2BCD:
PUSH BC
LD B,10
LD C,-1
BYTE2BCD1:
INC C
SUB B
JR NC,BYTE2BCD1
ADD A,B
LD B,A
LD A,C
ADD A,A
ADD A,A
ADD A,A
ADD A,A
OR B
POP BC
RET
;BYTE2BCD:
; PUSH BC
; LD B,10
; LD C,-1
;BYTE2BCD1:
; INC C
; SUB B
; JR NC,BYTE2BCD1
; ADD A,B
; LD B,A
; LD A,C
; ADD A,A
; ADD A,A
; ADD A,A
; ADD A,A
; OR B
; POP BC
; RET
;
; PRINT A BYTE BUFFER IN HEX POINTED TO BY DE
; REGISTER A HAS SIZE OF BUFFER
;
PRTHEXBUF:
OR A
RET Z ; EMPTY BUFFER
;PRTHEXBUF:
; OR A
; RET Z ; EMPTY BUFFER
;
LD B,A
PRTHEXBUF1:
CALL PC_SPACE
LD A,(DE)
CALL PRTHEXBYTE
INC DE
DJNZ PRTHEXBUF1
RET
; LD B,A
;PRTHEXBUF1:
; CALL PC_SPACE
; LD A,(DE)
; CALL PRTHEXBYTE
; INC DE
; DJNZ PRTHEXBUF1
; RET
;
; LEFT SHIFT DE:HL BY B BITS (B > 0)
;

View File

@@ -11,7 +11,7 @@
; THE RETROBREW COMPUTING GROUP HAS BEEN USING A CONVENTION OF PREFIXING THE
; OS IMAGE WITH 3 SECTORS (512 BYTES X 3 FOR A TOTAL OF 1536 BYTES):
;
; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP,
; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP,
; PARTITION TABLE, AND BOOT SIGNATURE
; SECTOR 2: RESERVED
; SECTOR 3: METADATA
@@ -29,6 +29,7 @@
;
SYS_ENT .EQU $E600 ; SYSTEM (OS) ENTRY POINT ADDRESS
SYS_LOC .EQU $D000 ; STARTING ADDRESS TO LOAD SYSTEM IMAGE
SYS_SEC .EQU 22 ; NUMBER OF SECTORS TO READ
SYS_END .EQU $FE00 ; ENDING ADDRESS OF SYSTEM IMAGE
;
SEC_SIZE .EQU 512 ; DISK SECTOR SIZE
@@ -76,8 +77,8 @@ BOOT:
CALL PRTDOT ; PROGRESS
;
LD C,$42 ; UNA FUNC: READ SECTORS
LD DE,$D000 ; STARTING ADDRESS FOR IMAGE
LD L,22 ; READ 22 SECTORS
LD DE,SYS_LOC ; STARTING ADDRESS FOR IMAGE
LD L,SYS_SEC ; NUMBER OF SECTORS
CALL $FFFD ; DO READ
JR NZ,ERROR ; HANDLE ERROR
CALL PRTDOT ; PROGRESS
@@ -147,10 +148,10 @@ HEXASCII:
HEXCONV:
AND $0F ;LOW NIBBLE ONLY
ADD A,$90
DAA
DAA
ADC A,$40
DAA
RET
DAA
RET
;
ERROR:
LD DE,STR_ERR ; POINT TO ERROR STRING
@@ -252,7 +253,7 @@ PR_SIG .DB $5A,$A5 ; SIGNATURE GOES HERE
PR_WP .DB 0 ; (1) WRITE PROTECT BOOLEAN
PR_UPDSEQ .DW 0 ; (2) PREFIX UPDATE SEQUENCE NUMBER (DEPRECATED?)
PR_VER .DB RMJ,RMN,RUP,RTP ; (4) OS BUILD VERSION
PR_LABEL .DB "Unlabeled$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!)
PR_LABEL .DB "CP/M 2.2$$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!)
.DW 0 ; (2) DEPRECATED
PR_LDLOC .DW SYS_LOC ; (2) ADDRESS TO START LOADING SYSTEM
PR_LDEND .DW SYS_END ; (2) ADDRESS TO STOP LOADING SYSTEM

View File

@@ -11,7 +11,7 @@
; THE RETROBREW COMPUTING GROUP HAS BEEN USING A CONVENTION OF PREFIXING THE
; OS IMAGE WITH 3 SECTORS (512 BYTES X 3 FOR A TOTAL OF 1536 BYTES):
;
; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP,
; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP,
; PARTITION TABLE, AND BOOT SIGNATURE
; SECTOR 2: RESERVED
; SECTOR 3: METADATA
@@ -31,6 +31,7 @@
; THE SIZE OF CPMLDR.BIN CHANGES, SYS_SIZ MUST BE UPDATED!!!
;
SYS_SIZ .EQU $0F00 ; SIZE OF CPMLDR.BIN
SYS_SEC .EQU 8 ; NUMBER OF SECTORS TO READ
SYS_ENT .EQU $0100 ; SYSTEM (OS) ENTRY POINT ADDRESS
SYS_LOC .EQU $0100 ; STARTING ADDRESS TO LOAD SYSTEM IMAGE
SYS_END .EQU SYS_SIZ + SYS_LOC ; ENDING ADDRESS OF SYSTEM IMAGE
@@ -57,6 +58,8 @@ PT_SIZ .EQU $40
; THE FOLLOWING BOOTSTRAP CODE IS BUILT TO ASSUME IT WILL BE EXECUTED AT A STARTING
; ADDRESS OF $8000. THIS CODE IS *ONLY* FOR UNA. THE ROMWBW ROM BOOTLOADER
; USES THE METADATA TO LOAD THE OS DIRECTLY.
;
; UNA DOES NOT SUPPORT CP/M 3 THIS CODE IS NOT USED, AND COULD BE REMOVED
;
.ORG $8000
JR BOOT
@@ -80,8 +83,8 @@ BOOT:
CALL PRTDOT ; PROGRESS
;
LD C,$42 ; UNA FUNC: READ SECTORS
LD DE,$D000 ; STARTING ADDRESS FOR IMAGE
LD L,22 ; READ 22 SECTORS
LD DE,SYS_LOC ; STARTING ADDRESS FOR IMAGE
LD L,SYS_SEC ; NUMBER OF SECTORS
CALL $FFFD ; DO READ
JR NZ,ERROR ; HANDLE ERROR
CALL PRTDOT ; PROGRESS
@@ -151,10 +154,10 @@ HEXASCII:
HEXCONV:
AND $0F ;LOW NIBBLE ONLY
ADD A,$90
DAA
DAA
ADC A,$40
DAA
RET
DAA
RET
;
ERROR:
LD DE,STR_ERR ; POINT TO ERROR STRING
@@ -256,7 +259,7 @@ PR_SIG .DB $5A,$A5 ; SIGNATURE GOES HERE
PR_WP .DB 0 ; (1) WRITE PROTECT BOOLEAN
PR_UPDSEQ .DW 0 ; (2) PREFIX UPDATE SEQUENCE NUMBER (DEPRECATED?)
PR_VER .DB RMJ,RMN,RUP,RTP ; (4) OS BUILD VERSION
PR_LABEL .DB "Unlabeled$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!)
PR_LABEL .DB "CP/M 3.0$$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!)
.DW 0 ; (2) DEPRECATED
PR_LDLOC .DW SYS_LOC ; (2) ADDRESS TO START LOADING SYSTEM
PR_LDEND .DW SYS_END ; (2) ADDRESS TO STOP LOADING SYSTEM

View File

@@ -398,23 +398,23 @@ system configuration.
### Basic Operation
The application is an interactive application it does not have command line syntax.
The application is an interactive application; it does not have a command line syntax.
Instead commands are executed from within the application in a command line structure.
When you first start the (`SYSCONF`) utility it will display the current switches
followed by a command listing.
When you first run the (`SYSCONF`) utility the NVRAM will be uninitialised, and can
be initialised using the (R)eset command, which write default values to NVRAM.
be initialised using the (R)eset command, which writes default values to NVRAM.
Updates are done immediately to NVRAM as you enter them, i.e. there is no confirm
changes step. If you make an incorrect changes you simply need to enter a new
changes step. If you make any incorrect changes, you simply need to enter a new
command to set the Switch value correctly.
Once a change has been made it is available, however may not take effect until
Once a change has been made it is available, however it may not take effect until
the next system reboot. This is dependent on the Switch itself.
If no NVRAM is provided by your hardware then running this application will just
If no NVRAM is provided by your hardware, then running this application will just
report the missing hardware and exit immediately.
To exit from the application use the (Q)uit command.
@@ -445,7 +445,7 @@ character is used to delimit parameters in the command.
This switch will define if the system will perform auto boot at the RomWBW boot prompt.
Enabling this will not prevent a user from typing a boot command, so long as the timeout is not
exceeded. When configured this replaces the (`BOOT_DEFAULT`) variable
exceeded. When configured this replaces the (`AUTO_CMD`) variable
defined in build configuration.
Making changes to auto boot has no affect until the next reboot.
@@ -465,13 +465,13 @@ Making changes to auto boot has no affect until the next reboot.
| S AB E,10 | Enable Auto Boot with 10 second delay |
| S AB D | Disable Auto Boot |
#### Default Boot (DB)
#### Boot Options (BO)
This switch will define the default boot command to be executed when pressing enter
at the RomWBW boot prompt. When configured this replaces the (`BOOT_TIMEOUT`) variable
defined in build configuration.
This switch will define the boot command to be executed when auto boot is
enabled. When configured this replaces the (`AUTO_CMD`) variable
defined in the ROM build configuration.
Making changes to auto boot has no affect until the next reboot.
Making changes to boot options has no affect until the next reboot.
**Arguments**
@@ -487,8 +487,8 @@ Making changes to auto boot has no affect until the next reboot.
| Command | Description |
|-------------|----------------------------------------------------------|
| S DB D,2,14 | Set the default boot from Disk; Unit 2, Slice 14 |
| S DB R,M | Set the default boot to be the (M)onitor Rom Application |
| S BO D,2,14 | Set the default boot from Disk; Unit 2, Slice 14 |
| S BO R,M | Set the default boot to be the (M)onitor Rom Application |
## CP/M 2.2
@@ -596,7 +596,7 @@ CamelForth is the version of Forth included as part of the boot ROM in
RomWBW. It has been converted from the Z80 CP/M version published at
<https://www.camelforth.com/page.php?5>. The
author is Brad Rodriguez who is a prolific Forth enthusiast, whose work
can be found here: <https://www.bradrodriguez/papers/index.html>.
can be found here: <https://www.bradrodriguez.com/papers>.
For those are who are not familiar with Forth, I recommend the
wikipedia article <https://en.wikipedia.org/wiki/Forth_(programming_language)>
@@ -618,6 +618,10 @@ words are added to the dictionary.
This implementation does not support loading or saving of programs. All programs
need to be typed in. Additionally, screen editing and code blocks are not supported.
A CP/M version is not provided with RomWBW, this is only a ROM application. If you need to
run it under CP/M you would need to download it from the camelforth web site, the link is
above.
### Structure of Forth source files
File | Description
@@ -1077,9 +1081,12 @@ to display, assign, reassign, or remove the drive letter assignments.
| `ASSIGN /?`
| `ASSIGN /L`
| `ASSIGN ` *`<drv>`*`=`
| `ASSIGN `
| `ASSIGN [`*`<drv>`*`],...`
| `ASSIGN `*`<drv>`*`=[`*`<device>`*`:[`*`<slice>`*`]],...`
| `ASSIGN `*`<tgtdrv>`*`=`*`<srcdrv>`*`,...`
| `ASSIGN ` *`<drv>`*`=[`*`<device>`*`:[`*`<slice>`*`]],...`
| `ASSIGN ` *`<tgtdrv>`*`=`*`<srcdrv>`*`,...`
| `ASSIGN /B='*'<option>'*'['*'<option>'*'['*'<option>'*'...]]`
#### Usage
@@ -1090,23 +1097,36 @@ used in drive assignments in the running system. The devices listed
may or may not contain media. Although some device types support the
use of slices, the list does not indicate this.
`ASSIGN A:` just specifying the drive letter will display the
assignment for the drive letter
`ASSIGN` with no parameters will list all of the current drive
assignments.
`ASSIGN `*`<drv>`* will display the assignment for the specific drive
#### Usage (Specific)
The following describes how to assign drive specifically by identifing each
drive by its unique device and slice id's
`ASSIGN ` *`<drv>`* will display the assignment for the specific drive
For example, `ASSIGN C:` will display the assignment for drive C:.
`ASSIGN `*`<drv>`*`=`*`<device>`*`[:`*`<slice>`*`]` will assign (or
`ASSIGN ` *`<drv>`*`=`*`<device>`*`[:`*`<slice>`*`]` will assign (or
reassign) a drive letter to a new device and (optionally) slice. If no
slice is specified, then slice 0 is assumed. For example, `ASSIGN
C:=IDE0` will assign drive letter C: to device IDE0, slice 0. `ASSIGN
D:=IDE0:3` will assign drive letter D: to device IDE0 slice 3.
`ASSIGN `*`<drv>`*`=` can be used to remove the assignment from a
The `ASSIGN` command will not allow you to specify a slice (other than
zero) for devices that do not support slices.
A slice should only be specified for hard disk devices (SD, IDE, PPIDE).
Floppy disk drives and RAM/ROM drives do not have slices.
`ASSIGN ` *`<drv>`*`=` can be used to remove the assignment from a
drive letter. So, `ASSIGN E:=` will remove the association of drive
letter E: from any previous device.
`ASSIGN `*`<tgtdrv>`*`=`*`<srcdrv>`* is used to swap the assignments
`ASSIGN ` *`<tgtdrv>`*`=`*`<srcdrv>`* is used to swap the assignments
of two drive letters. For example, `ASSIGN C:=D:` will swap the device
assignments of C: and D:.
@@ -1118,6 +1138,78 @@ When the command runs it will echo the resultant assignments to the
console to confirm its actions. It will also display the remaining
space available in disk buffers.
#### Usage (Bulk)
The following describes how to assign drives in bulk without having to specify
the identifiers of each drive being mapped. Instead bulk mode has a
predefined set options (identified by single letter) which will map drives.
Bulk mode works by assigning drives sequentially starting at A: until all
drives are used, or there are no more options to process. Each option
will typically map between 0 and N drives depending on the option
and the available hardware in your system.
`ASSIGN /B=`*`<option><option>`*... will perform bulk assignment .
The following options will assign a small number of devices, typically you would
place at beginning of an option list.
| Option | Name | Description | Assigned |
|--------|----------|---------------------------------------------|----------|
| B | Boot | The boot device | 1 |
| A | RAM | Ram drive | 0,1 |
| O | ROM | Rom drive | 0,1 |
| F | Floppy | All floppy devices, with/without media | 0,1,2,.. |
| P | Preserve | Skip and preserve the next drive assignment | 1 |
| X | Exclude | Un-assign / Exclude the next drive | 1 |
A drive e.g. RAM, ROM, FLOPPY can only be assigned if it exists. if you system
doesn't have the hardware that supports the device, then no devices will be
assigned, and the next option will be processed.
`B` assigns the boot device. If used the `B`oot drive should typically be
assigned first.
`P` will not make any changes to the next drive, it will skip over it. While the
`X` option will un-assign the next drive, leaving a gap.
The remaining options will fill drives mostly to end, from hard drive slices,
generally choose 1 of the following:
| Option | Name | Description | Assigned |
|--------|-------------|---------------------------------------------|----------|
| S | Slices | Assign slices from boot hard drive | ...max |
| H | Hard Drive | Assign slices evenly from all hard drives | ...max |
| L | Legacy HD | Assign slices from all hard drives (legacy) | 6,...max |
| Z | Exclude All | Un-assign all remaining drives | ...max |
`S`lices assignment will map all remaining drives to slices from the boot device.
If I have other hard drives present these will not be mapped by this option.
e.g. `ASSIGN /B=BAOS`
Will first assign drives `A:(Boot), B:(RAM), C:(ROM)` this leaves 13 drives
which will be assigned to slices from the boot hard drive (D: thru P:),
leaving no unused drives.
'H'ard drive assignment will attempt to fill all remaining drive letters
by splitting the number of drives remaining evenly across all.
e.g. `ASSIGN /B=BAOH`
Will first assign drives `A:(Boot), B:(RAM), C:(ROM)` this leaves 13 drives
available. If I have 3 hard disks then (13/3) = 4 slices from each hard drive will
be assigned to drives (D: thru O:), leaving a single unused drive (P:).
`L`egacy hard drive assignment is identical to how the startup hard disk assignment
works. ie. Attempt to assign up to 8 hard drives split across hard drives
detected at boot.
e.g. `ASSIGN /B=BAOL`
Will first assign drives `A:(Boot), B:(RAM), C:(ROM)`. If I have 3 hard disks
then (8/3) = 2 slices from each hard drive will be assigned to drives (D: thru I:),
leaving 7 unused drives (J: thru P:).
#### Notes
If the `ASSIGN` command encounters any rule violations or errors, it
@@ -1136,10 +1228,6 @@ being assigned actually contains readable media. If the assigned
device has no media, you will receive an I/O error when you attempt to
use the drive letter.
The `ASSIGN` command will not allow you to specify a slice (other than
zero) for devices that do not support slices (such as floppy drives
or RAM/ROM disks).
The `ASSIGN` command does not check that the media is large enough to
support the slice you specify. In other words, you could potentially
assign a drive letter to a slice that is beyond the end of the media
@@ -1152,7 +1240,11 @@ data (such as a FAT filesystem).
You will not be allowed to assign multiple drive letters to a single
device and slice. In other words, only one drive letter may refer to a
single filesystem at a time.
single filesystem at a time.
Attempts to assign a duplicate drive letter will fail and display an
error. If you wish to assign a different drive letter to a
device/unit/slice, unassign the existing drive letter first.
Drive letter A: must always be assigned to a device and slice. The
`ASSIGN` command will enforce this.
@@ -1163,14 +1255,6 @@ all drive letters will return to their default assignments. A SUBMIT
batch file can be used to setup desired drive assignments
automatically at boot.
Floppy disk drives and RAM/ROM drives do not have slices. A slice
should only be specified for hard disk devices (SD, IDE, PPIDE).
Only one drive letter may be assigned to a specific device/unit/slice
at a time. Attempts to assign a duplicate drive letter will fail and
display an error. If you wish to assign a different drive letter to a
device/unit/slice, unassign the existing drive letter first.
Be aware that this command will allow you to reassign or remove the
assignment of your system drive letter. This can cause your operating
system to fail and force you to reboot.
@@ -1251,11 +1335,6 @@ cold reboot of the system.
The functionality is highly dependent on the capabilities of your system.
At present, all Z180 systems can change their CPU speed and their
wait states. SBC and MBC systems may be able to change their CPU
speed if the hardware supports it and it is enabled in the HBIOS
configuration.
#### Syntax
| `CPUSPD [`*`<speed>`*`[,[`*`<memws>`*`][,[`*`<iows>`*`]]]`
@@ -1290,11 +1369,27 @@ If an attempt is made to change the speed of a system
that is definitely incapable of doing so, then an error result is
returned.
Z180-based systems will be able to adjust their CPU speed depending
on the specific variant of the Z180 chip being used:
| Z180 Variant | Capability |
| --------------------|--------------------|
| Z80180 (original) | Half |
| Z8S180 Rev. K | Half, Full |
| Z8S180 Rev. N | Half, Full, Double |
SBC and MBC systems may be able to change their CPU
speed if the hardware supports it and it is enabled in the HBIOS
configuration.
The `CPUSPD` command makes no attempt to ensure that the new CPU
speed will actually work on the current hardware. Setting a CPU
speed that exceeds the capabilities of the system will result in
unstable operation or a system stall.
In the case of Z180 CPUs, it is frequently necessary to add
memory wait states when increasing the CPU speed.
Some peripherals are dependent on the CPU speed. For example, the Z180
ASCI baud rate and system timer are derived from the CPU speed. The
CPUSPD application will attempt to adjust these peripherals for
@@ -2202,11 +2297,24 @@ MYM sound files.
#### Syntax
`TUNE `*`<filename>`*
`TUNE `*`<filename>`* `*`<options>`*`
*`<filename>`* is the name of a sound file ending in .PT2, .PT3, or
.MYM
| Option | Description |
| ----------- | ------------------------------------------------------ |
| `-MSX` | Force MSX port addresses A0H/A1H (no PSG detection) |
| `-RC` | Force RCBus port addresses D8H/D0H (no PSG detection) |
| `--HBIOS` | Utilise HBIOS' sound driver |
| `+T1` | Play tune an octave higher |
| `+T2` | Play tune two octaves higher |
| `-T1` | Play tune an octave lower |
| `-T2` | Play tune two octaves lower |
The +t and -t options apply only to HBIOS mode operation. The `-MSX`,
`-RC`, and `--HBIOS` options are mutually exclusive. See Notes below.
#### Usage
The TUNE application supports PT and YM sound file formats. It
@@ -2224,6 +2332,10 @@ well known port addresses at startup. It will auto-configure itself
for the hardware found. If no hardware is detected, it will abort with
an error message.
Some hardware (notably Why-Em-Ulator) cannot be detected due limitations
of the emulation. In such cases, you can force the use of the two
most common port addresses using the `-msx` or `-rc` options.
On Z180 systems, I/O wait states are added when writing to the sound
chip to avoid exceeding its speed limitations. On Z80 systems, you
will need to ensure that the CPU clock speed of your system does not
@@ -2234,23 +2346,33 @@ accurately pace the sound file output. If no system timer is
available, a delay loop is calculated instead. The delay loop will not
be as accurate as the system timer.
There are two modes of operations. A direct hardware interface for the
There are two modes of operation. A direct hardware interface for the
AY-3-8910 or YM2149 chips, or a compatibility layer thru HBIOS supporting
the SN76489 chip.
both the AY-3-8910 and the SN76489 chip.
By default the application will attempt to interface directly to the sound
chip. The optional argument `--hbios` supplied after the filename, will
chip. The optional argument `--HBIOS` supplied after the filename, will
enable the application to use the HBIOS sound driver.
The HBIOS mode also support other switch as described below.
The following summarizes the different modes of operation for the
application:
| Switch | Description |
| ----------- | ------------------------------------------------------ |
| `--hbios` | Utilise HBIOS' sound driver |
| `+t1` | Play tune an octave higher |
| `+t2` | Play tune two octaves higher |
| `-t1` | Play tune an octave lower |
| `-t2` | Play tune two octaves lower |
- If you use `TUNE` with no options, it will use it's original behavior
of searching for and detecting a sound chip. `TUNE` will play sound
files directly to the PSG hardware. In this mode it does not
matter if HBIOS does or does not know about the sound chip.
- If you use `TUNE` with the `--HBIOS` option, it will not detect a sound chip
and will use the RomWBW HBIOS interface. This will only work if HBIOS
was configured for the installed sound card and HBIOS detects the sound chip.
- If you use `TUNE` with `-RC` or `-MSX`, it will play tunes directly to the PSG
hardware (not via HBIOS) and will bypass detection. In this mode it does
not matter if HBIOS does or does not know about the sound chip.
Note that the HBIOS API for sound cards is pretty good, but does not implement
everything that the sound card can do. For best fidelity, use `TUNE` without the
`--HBIOS` option.
All RomWBW operating system boot disks include a selection of sound
files in user area 3.
@@ -2433,7 +2555,7 @@ checking.
The `WDATE` application was written and contributed by Kevin Boone.
The source code is available on GitHub at
<https://github.com/kevinboone/wdate-cpm/blob/main/README.md>.
<https://github.com/kevinboone/wdate-cpm>.
`\clearpage`{=latex}

View File

@@ -8,11 +8,12 @@ $define{doc_date}{$date{%d %b %Y}$}$
$ifndef{doc_authmail}$ $define{doc_authmail}{wwarthen@gmail.com}$ $endif$
$define{doc_orgname}{RetroBrew Computers Group}$
$define{doc_orgurl}{www.retrobrewcomputers.org}$
$define{doc_intro}{[RomWBW Introduction]($doc_root$/RomWBW Introduction.pdf)}$
$define{doc_user}{[RomWBW User Guide]($doc_root$/RomWBW User Guide.pdf)}$
$define{doc_sys}{[RomWBW System Guide]($doc_root$/RomWBW System Guide.pdf)}$
$define{doc_apps}{[RomWBW Applications]($doc_root$/RomWBW Applications.pdf)}$
$define{doc_catalog}{[RomWBW Disk Catalog]($doc_root$/RomWBW Disk Catalog.pdf)}$
$define{doc_errata}{[RomWBW Errata]($doc_root$/RomWBW Errata.pdf)}$
$define{doc_hardware}{[RomWBW Hardware]($doc_root$/RomWBW Hardware.pdf)}$
---
title: $doc_product$ $doc_title$

View File

@@ -15,20 +15,24 @@ set PATH=%TOOLS%\gpp;%PATH%
if not "%1"=="" (call :GenDoc %1 & goto :eof)
call :GenDoc ReadMe || exit /b
:: call :GenDoc ReadMe || exit /b
call :GenDoc Introduction || exit /b
call :GenDoc UserGuide || exit /b
call :GenDoc SystemGuide || exit /b
call :GenDoc Applications || exit /b
call :GenDoc Catalog || exit /b
call :GenDoc Errata || exit /b
call :GenDoc Hardware || exit /b
if exist ReadMe.gfm copy Readme.gfm ..\..\ReadMe.md || exit /b
if exist ReadMe.txt copy ReadMe.txt ..\..\ReadMe.txt || exit /b
:: if exist ReadMe.gfm copy Readme.gfm ..\..\ReadMe.md || exit /b
:: if exist ReadMe.txt copy ReadMe.txt ..\..\ReadMe.txt || exit /b
if exist Introduction.gfm copy Introduction.gfm ..\..\ReadMe.md || exit /b
if exist Introduction.txt copy Introduction.txt ..\..\ReadMe.txt || exit /b
if exist Introduction.pdf copy Introduction.pdf "..\..\Doc\RomWBW Introduction.pdf" || exit /b
if exist UserGuide.pdf copy UserGuide.pdf "..\..\Doc\RomWBW User Guide.pdf" || exit /b
if exist SystemGuide.pdf copy SystemGuide.pdf "..\..\Doc\RomWBW System Guide.pdf" || exit /b
if exist Applications.pdf copy Applications.pdf "..\..\Doc\RomWBW Applications.pdf" || exit /b
if exist Catalog.pdf copy Catalog.pdf "..\..\Doc\RomWBW Disk Catalog.pdf" || exit /b
if exist Errata.pdf copy Errata.pdf "..\..\Doc\RomWBW Errata.pdf" || exit /b
if exist Hardware.pdf copy Hardware.pdf "..\..\Doc\RomWBW Hardware.pdf" || exit /b
echo.
goto :eof
@@ -53,4 +57,4 @@ pandoc %1.tmp -f markdown -t gfm-yaml_metadata_block -s -o %1.gfm --default-imag
::pandoc %1.tmp -f markdown -t gfm-yaml_metadata_block -s -o %1.txt --markdown-headings=setext --default-image-extension=png || exit /b
pandoc %1.tmp -f markdown -t plain+gutenberg -s -o %1.txt || exit /b
goto :eof
goto :eof

View File

@@ -381,11 +381,10 @@ The following files appear in User Area 0
| `GET.COM` | DRI CPM+ Temporarily get console input form a disk file |
| `HELP.COM` | DRI CPM+ Display information on how to use commands |
| `HELP.HLP` | DRI CPM+ Databse of help information for HELP.COM |
| `HEXCOM.COM` | DRI CPM+ Create a COM file from a hex file output by MAC |
| `HEXCOM.COM` | DRI CPM+ Create a COM file from a hex file (replaces LOAD.COM) |
| `INITDIR.COM` | DRI CPM+ Initializes a disk to allow time and date stamping |
| `LIB.COM` | DRI object file library manager |
| `LINK.COM` | DRI object file linker |
| `LOAD.COM` | DRI loader for Intel hex files |
| `MAC.COM` | DRI 8080 macro assembler |
| `PATCH.COM` | DRI CPM+ Display or install patch to the CPM+ system or command files |
| `PIP.COM` | DRI CPM+ Periperal Interchange Program |
@@ -538,8 +537,6 @@ This is a generic ZPM3 adaptation for RomWBW.
| `GENCPM.COM` | 15 | DRI CPM3 Utility to Create a memory image of CPM3.SYS |
| `GOTO.COM` | 15 | |
| `HELPC15.CFG` | 14 | |
| `HP-RPN.HLP` | 10 | Help File for HP RPN Calculators ? |
| `HP-ZP.HLP` | 10 | Help File for HP ZP Calculators ? |
| `IF.COM` | 15 | Extended flow control tester for FCP (v1.6 Type 3) |
| `IF.HLP` | 10 | |
| `LOADSEG.COM` | 15 | ZCCP Utility to Load RSXes, TCAPs and Named Directory files. |
@@ -559,9 +556,6 @@ This is a generic ZPM3 adaptation for RomWBW.
| `ZF11.CFG` | 14 | |
| `ZFMACRO.HLP` | 10 | |
| `ZHELP.COM` | 15 | |
| `ZP.COM` | 15 | Patch utility edits files, disk sectors, or memory |
| `ZP.HLP` | 10 | Help File for ZP.COM |
| `ZP17.CFG` | 14 | |
| `ZSHOW.COM` | 15 | displays amount of information about your Z-System |
### Additional Files
@@ -676,6 +670,8 @@ The following are found in
| CPN3MT.LBR | CP/NET 3 | CP/M 3 | RCBus w/ MT011 |
| CPN12DUO.LBR | CP/NET 1.2 | CP/M 2.2 | Duodyne w/ Disk I/O |
| CPN3DUO.LBR | CP/NET 3 | CP/M 3 | Duodyne w/ Disk I/O |
| CPN12SER.LBR | CP/NET 1.2 | CP/M 2.2 | RomWBW Serial Port |
| CPN3SER.LBR | CP/NET 3 | CP/M 3 | RomWBW Serial Port |
## General Purpose Applications
@@ -789,6 +785,8 @@ The following files are found in
| `COPY.COM` | Z | File copier with ZSDOS date stamping awareness |
| `COPY.CFG` | Z | ZCNFG configuration file for COPY application |
| `EDITNDR.COM` | Z3 | Edit named directory register in memory. |
| `HP-RPN.HLP` | Z3 | Help File for ZP.COM - HP RPN Calculators |
| `HP-ZP.HLP` | Z3 | Help File for ZP.COM - HP ZP Calculators |
| `KERCPM22.COM` | CPM22 | Kermit communication application |
| `KERCPM3.COM` | CPM3 | Kermit communication application |
| `LBREXT.COM` | Z | Extract file from .LBR libraries |
@@ -814,6 +812,9 @@ The following files are found in
| `ZCNFG24.CFG` | Z | Configuration file for ZCNFG.COM |
| `ZEX.COM` | Z3 | A memory-based command file processor, like SUBMIT |
| `ZEX.CFG` | Z3 | ZCNFG configuration file for ZEX program |
| `ZP.COM` | Z3 | Screen-oriented file/disk/memory record patcher (ZAP) |
| `ZP.HLP` | Z3 | Help File for ZP.COM |
| `ZP17.CFG` | Z3 | Configuration file for ZP.COM |
| `ZXD.CFG` | Z | Configuration file for ZXD.COM |
| `ZXD.COM` | Z | Extended directory utility w/ date/time stamp support |
| `Z3LOC.COM` | Z3 | Display info of the ZCPR3 CCP, BDOS, and BIOS |
@@ -1306,7 +1307,9 @@ Also contained on this image in User Area 1 are.
| Floppy Disk Image: **fd_z80asm.img**
| Hard Disk Image: **hd_z80asm.img**
Z80ASM is a relocating macro assembler for CP/M. It takes assembly language
This disk contains 4 major components
* Z80ASM is a relocating macro assembler for CP/M. It takes assembly language
source statements from a disk file, converts them into their binary equivalent,
and stores the output in either a core-image, Intel hex format, or relocatable
object file. The mnemonics recognized are those of Zilog/Mostek. The optional
@@ -1314,19 +1317,91 @@ listing output may be sent to a disk file, the console and/or the printer, in
any combination. Output files may also be generated containing cross-reference
information on each symbol used.
The manual is available in the Doc/Language directory,
z80asm (SLR Systems).pdf
* SLR180 is a powerful relocating macro assembler for Z80
compatible CP/M systems. It takes assembly language source
statements from a disk file, converts them into their binary
equivalent, and stores the output in either a core-image, Intel
hex format, or relocatable object file. The mnemonics recognized
are those of Zilog/Hitachi. The optional listing output may be
sent to a disk file, the console and/or the printer, in any
combination. Output files may also be generated containing
cross-reference information on each symbol used.
* SLRNK is a powerful linking loader for Z80-based CP/M systems.
It takes relocatable binary information in either Microsoft or
SLR Systems format from a disk file, resolves external and entry
point references, and stores the output in memory for execution
or outputs it to a disk file.
* Z80DIS is an entirely new disassembler for Z80 based CP/M sys-
tems. Z80DIS is written in TURBO PASCAL. Z80DIS generates Z80
mnemonics and prepares an assembly language file with many
special features for ease of understanding the intent of the
code. The program and documantation are Copyright 1985, by
Kenneth Gielow, Palo Alto, CA. All rights are reserved.
The manual(s) are available in the Doc/Language directory,
* z80asm (SLR Systems).pdf
* SL180 (SLR Systems 1985).pdf
* SLRNK (SLR Systems 1984).pdf
* Z80DIS User Manual (1985).pdf
A run through of using the assembler is available at
[https://8bitlabs.ca/Posts/2023/05/20/learning-z80-asm]
And another shorter, but shows linker usage guide
[https://pollmyfinger.wordpress.com/2022/01/10/modular-retro-z80-assembly-language-programming-using-slr-systems-z80asm-and-srlnk/]
The following files are found in
* /Source/Images/d_z80asm
| **File** | **Description** |
|------------|-------------------------------------|
| DUMP.* | Sample Program |
| TEST.* | Sample Program |
| Z80ASM.COM | Relocating macro assembler for CP/M |
| Z80ASM.DOC | Documentation for Z80.COM |
User Area 0 - Assembler
| **File** | **Description** |
|-------------|---------------------------------------------|
| 180FIG.COM | Configuration utility for SLR180.COM |
| 8080.MAC | ? |
| CONFIG.COM | Configuration utility for Z80ASM.COM |
| DUMP.* | Sample Program |
| MAKESYM.COM | Symbol File .SYM file generation |
| MAKESYM.DOC | Documentation for MAKESYM.COM |
| SLR180.COM | HD64180 Relocating Macro Assembler |
| SLR180.DOC | Release Notes for SLR180.COM |
| SYNTAX.HLP | Documentation basic usage for all SLR Tools |
| SYNTAX.TXT | Documentation basic usage for all SLR Tools |
| TEST.* | Sample Program |
| Z80ASM.COM | Z80 Relocating Macro Assembler |
| Z80ASM.DOC | Release Notes for Z80ASM.COM |
User Area 1 - Linker
| **File** | **Description** |
|--------------|-----------------------------------------------|
| LNKFIG.COM | Configuration utility for SLRNK.COM |
| NZLNKFIX.ZEX | ? |
| SLRIB.COM | SuperLibrarian, library manager |
| SLRNK.COM | SuperLinker, the main linker tool |
| SLRNK.DOC | Release Notes for SLRNK.COM |
| SLRNKFIX.ZEX | ? |
| SYNTAX.HLP | Documentation basic usage for all SLR Tools |
| SYNTAX.TXT | Documentation basic usage for all SLR Tools |
| SYSSLR.REL | SYSLIB (older) Library compatible with SLR |
| VSLR.REL | VLIB (older) Library compatible with SLR |
| Z3SLR.REL | Z3LIB (older) Library compatible with SLR |
User Area 2 - Disassembler
| **File** | **Description** |
|--------------|----------------------------------|
| README.22 | Documentation for Z80DIS |
| Z80DIS.000 | Overlay File for Z80DIS.COM |
| Z80DIS.001 | Overlay File for Z80DIS.COM |
| Z80DIS.002 | Overlay File for Z80DIS.COM |
| Z80DIS.COM | Z80DIS Disassembler main program |
| Z80DIS22.DOC | Main Documentation for Z80DIS |
| ZDINSTAL.COM | Instal and Config for Z80DIS.COM |
| ZDINSTAL.DTA | Overlay file for ZDINSTAL.COM |
| ZDINSTAL.MSG | Overlay file for ZDINSTAL.COM |

View File

@@ -1,19 +0,0 @@
$define{doc_title}{Errata}$
$include{"Book.h"}$
# Errata
The following errata apply to $doc_product$ $doc_ver$:
* The use of high density floppy disks requires a CPU speed of 8 MHz or
greater.
* The PropIO support is based on RomWBW specific firmware. Be sure to
program/update your PropIO firmware with the corresponding firmware
image provided in the Binary directory of the RomWBW distribution.
* Reading bytes from the video memory of the VDU board (not Color
VDU) appears to be problematic. This is only an issue when the driver
needs to scroll a portion of the screen which is done by applications
such as WordStar or ZDE. You are likely to see screen corruption in
this case.

2089
Source/Doc/Hardware.md Normal file

File diff suppressed because it is too large Load Diff

409
Source/Doc/Introduction.md Normal file
View File

@@ -0,0 +1,409 @@
$define{doc_title}{Introduction}$
$include{"Book.h"}$
# Overview
RomWBW software provides a complete, commercial quality
implementation of CP/M (and workalike) operating systems and
applications for modern Z80/180/280 retro-computing hardware systems.
A wide variety of platforms are supported including those
produced by these developer communities:
* [RetroBrew Computers](https://www.retrobrewcomputers.org)
(<https://www.retrobrewcomputers.org>)
* [RC2014](https://rc2014.co.uk) (<https://rc2014.co.uk>), \
[RC2014-Z80](https://groups.google.com/g/rc2014-z80)
(<https://groups.google.com/g/rc2014-z80>)
* [Retro Computing](https://groups.google.com/g/retro-comp)
(<https://groups.google.com/g/retro-comp>)
* [Small Computer Central](https://smallcomputercentral.com/)
(<https://smallcomputercentral.com/>)
A complete list of the currently supported platforms is found in
$doc_hardware$ .
`\clearpage`{=latex}
# Description
## Primary Features
By design, RomWBW isolates all of the hardware specific functions in
the ROM chip itself. The ROM provides a hardware abstraction layer
such that all of the operating systems and applications on a disk
will run on any RomWBW-based system. To put it simply, you can take
a disk (or CF/SD/USB Card) and move it between systems transparently.
Supported hardware features of RomWBW include:
* Z80 Family CPUs including Z80, Z180, and Z280
* Banked memory services for several banking designs
* Disk drivers for RAM, ROM, Floppy, IDE ATA/ATAPI, CF, SD, USB, Zip, Iomega
* Serial drivers including UART (16550-like), ASCI, ACIA, SIO
* Video drivers including TMS9918, SY6545, MOS8563, HD6445
* Keyboard (PS/2) drivers via VT8242 or PPI interfaces
* Real time clock drivers including DS1302, BQ4845
* Support for CP/NET networking using Wiznet, MT011 or Serial
* Built-in VT-100 terminal emulation support
A dynamic disk drive letter assignment mechanism allows mapping
operating system drive letters to any available disk media.
Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.)
support the use of multiple slices (up to 256 per device). Each slice
contains a complete CP/M filesystem and can be mapped independently to
any drive letter. This overcomes the inherent size limitations in legacy
OSes and allows up to 2GB of addressable storage on a single device,
with up to 128MB accessible at any one time.
## Included Software
Multiple disk images are provided in the distribution. Most disk
images contain a complete, bootable, ready-to-run implementation of a
specific operating system. A "combo" disk image contains multiple
slices, each with a full operating system implementation. If you use
this disk image, you can easily pick whichever operating system you
want to boot without changing media.
Some of the included software:
* Operating Systems (CP/M 2.2, ZSDOS, NZ-COM, CP/M 3, ZPM3, Z3PLUS, QPM )
* Support for other operating systems, p-System, FreeRTOS, and FUZIX.
* Programming Tools (Z80ASM, Turbo Pascal, Forth, Cowgol)
* C Compiler's including Aztec-C, and HI-TECH C
* Microsoft Basic Compiler, and Microsoft Fortran
* Some games such as Colossal Cave, Zork, etc
* Wordstar Word processing software
Some of the provided software can be launched directly from the
ROM firmware itself:
* System Monitor
* Operating Systems (CP/M 2.2, ZSDOS)
* ROM BASIC (Nascom BASIC and Tasty BASIC)
* ROM Forth
A tool is provided that allows you to access a FAT-12/16/32 filesystem.
The FAT filesystem may be coresident on the same disk media as RomWBW
slices or on stand-alone media. This makes exchanging files with modern
OSes such as Windows, MacOS, and Linux very easy.
`\clearpage`{=latex}
## ROM Distribution
The [RomWBW Repository](https://github.com/wwarthen/RomWBW)
(<https://github.com/wwarthen/RomWBW>) on GitHub is the official
distribution location for all project source and documentation.
RomWBW is distributed as both source code and pre-built ROM and disk
images.
The pre-built ROM images distributed with RomWBW are based on
the default system configurations as determined by the hardware
provider/designer. The pre-built ROM firmware images are generally
suitable for most users.
The fully-built distribution releases are available on the
[RomWBW Releases Page](https://github.com/wwarthen/RomWBW/releases)
(<https://github.com/wwarthen/RomWBW/releases>) of the repository.
On this page, you will normally see a Development Snapshot as well as
recent stable releases. Unless you have a specific reason, I suggest you
stick to the most recent stable release.
The asset named RomWBW-vX.X.X-Package.zip includes all pre-built ROM
and Disk images as well as full source code. The other assets contain
only source code and do not have the pre-built ROM or disk images.
#### Distribution Directory Layout
The RomWBW distribution is a compressed zip archive file organized in
a set of directories. Each of these directories has its own
ReadMe.txt file describing the contents in detail. In summary, these
directories are:
| **Directory** | **Description** |
|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Binary** | The final output files of the build process are placed here. Most importantly, the ROM images with the file names ending in ".rom" and disk images ending in .img. |
| **Doc** | Contains various detailed documentation, both RomWBW specifically as well as the operating systems and applications. |
| **Source** | Contains the source code files used to build the software and ROM images. |
| **Tools** | Contains the programs that are used by the build process or that may be useful in setting up your system. |
`\clearpage`{=latex}
#### Building from Source
It is also very easy to modify and build custom ROM
images that fully tailor the firmware to your specific preferences.
All tools required to build custom ROM firmware under Windows are
included -- no need to install assemblers, etc. The firmware can also
be built using Linux or MacOS after confirming a few standard tools
have been installed.
## Installation & Operation
In general, installation of RomWBW on your platform is very simple. You
just need to program your ROM with the correct ROM image from the RomWBW
distribution. Subsequently, you can write disk images on your disk
drives (IDE disk, CF Card, SD Card, etc.) which then provides even more
functionality.
Complete instructions for installation and operation of RomWBW are found
in the $doc_user$. It is also a good idea to review the [Release
Notes](https://github.com/wwarthen/RomWBW/blob/master/RELEASE_NOTES.md)
for helpful release-specific information.
## Documentation
There are several documents that form the core of the RomWBW documentation:
* $doc_user$ is the main user guide for RomWBW, it covers the major topics
of how to install, manage and use RomWBW, and includes additional guidance
to the use of some of the operating systems supported by RomWBW
* $doc_hardware$ contains a description of all the hardware platforms,
and devices supported by RomWBW.
* $doc_apps$ is a reference for the ROM-hosted and OS-hosted applications
created or customized to enhance the operation of RomWBW.
* $doc_catalog$ is a reference for the contents of the disk images
provided with RomWBW, with a description of many of the files on each image
* $doc_sys$ discusses much of the internal design and construction
of RomWBW. It includes a reference for the RomWBW HBIOS API
functions.
Each of the operating systems and ROM applications included with RomWBW
are sophisticated tools in their own right. It is not reasonable to
fully document their usage. However, you will find complete manuals
in PDF format in the Doc directory of the distribution. The intention
of this documentation is to describe the operation of RomWBW and the ways in
which it enhances the operation of the included applications and
operating systems.
Since RomWBW is purely a software product for many different platforms,
the documentation does **not** cover hardware construction,
configuration, or troubleshooting -- please see your hardware provider
for this information.
# Support
## Getting Assistance
The best way to get assistance with RomWBW or any aspect of the
RetroBrew Computers projects is via one of the community forums:
* [RetroBrew Computers Forum](https://www.retrobrewcomputers.org/forum/)
* [RC2014 Google Group](https://groups.google.com/forum/#!forum/rc2014-z80)
* [retro-comp Google Group](https://groups.google.com/forum/#!forum/retro-comp)
Submission of issues and bugs are welcome at the
[RomWBW GitHub Repository](https://github.com/wwarthen/RomWBW).
Also feel free to email $doc_author$ at [$doc_authmail$](mailto:$doc_authmail$).
I am happy to provide support adapting RomWBW to new or modified systems
# Contributions
All source code and distributions are maintained on GitHub.
Contributions of all kinds to RomWBW are very welcome.
## Acknowledgments
I want to acknowledge that a great deal of the code and inspiration
for RomWBW has been provided by or derived from the work of others
in the RetroBrew Computers Community. I sincerely appreciate all of
their contributions. The list below is probably missing many names --
please let me know if I missed you!
* Andrew Lynch started it all when he created the N8VEM Z80 SBC
which became the first platform RomWBW supported. Some of his
original code can still be found in RomWBW.
* Dan Werner wrote much of the code from which RomWBW was originally
derived and he has always been a great source of knowledge and
advice.
* Douglas Goodall contributed code, time, testing, and advice in "the
early days". He created an entire suite of application programs to
enhance the use of RomWBW. Unfortunately, they have become unusable
due to internal changes within RomWBW. As of RomWBW 2.6, these
applications are no longer provided.
* Sergey Kiselev created several hardware platforms for RomWBW
including the very popular Zeta.
* David Giles created support for the Z180 CSIO which is now included
SD Card driver.
* Phil Summers contributed the Forth and BASIC adaptations in ROM, the
AY-3-8910 sound driver, DMA support, and a long list of general code
and documentation enhancements.
* Ed Brindley contributed some of the code that supports the RCBus
platform.
* Spencer Owen created the RC2014 series of hobbyist kit computers
which has exponentially increased RomWBW usage. Some of his kits
include RomWBW.
* Stephen Cousins has likewise created a series of hobbyist kit
computers at Small Computer Central and is distributing RomWBW
with many of them.
* Alan Cox has contributed some driver code and has provided a great
deal of advice.
* The CP/NET client files were developed by Douglas Miller.
* Phillip Stevens contributed support for FreeRTOS.
* Curt Mayer contributed the original Linux / MacOS build process.
* UNA BIOS and FDISK80 are the products of John Coffman.
* FLASH4 is a product of Will Sowerbutts.
* CLRDIR is a product of Max Scane.
* Tasty Basic is a product of Dimitri Theulings.
* Dean Netherton contributed eZ80 CPU support, the sound driver
interface, and the SN76489 sound driver.
* The RomWBW Disk Catalog document was produced by Mykl Orders.
* Rob Prouse has created many of the supplemental disk images
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 and Applications documents.
* Mark Pruden has made a wide variety of contributions including:
- significant content in the Disk Catalog and User Guide
- creation of the Introduction and Hardware documents
- Z3PLUS operating system disk image
- COPYSL utility
- a feature for RomWBW configuration by NVRAM
- the /B bulk mode of disk assignment to the ASSIGN utility
* 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.
* Laszlo Szolnoki has contributed an EF9345 video display
controller driver.
* Ladislau Szilagyi has contributed an enhanced version of
CP/M Cowgol that leverages RomWBW memory banking.
* Les Bird has contributed support for the NABU w/ Option Board
`\clearpage`{=latex}
## Related Projects
Outside of the hardware platforms adapted to RomWBW, there are a variety
of projects that either target RomWBW specifically or provide
a RomWBW-specific variation. These efforts are greatly appreciated
and are listed below. Please contact the author if there are any other
such projects that are not listed.
#### Z88DK
Z88DK is a software powerful development kit for Z80 computers
supporting both C and assembly language. This kit now provides
specific library support for RomWBW HBIOS. The Z88DK project is
hosted at <https://github.com/z88dk/z88dk>.
#### Paleo Editor
Steve Garcia has created a Windows-hosted IDE that is tailored to
development of RomWBW. The project can be found at
<https://github.com/alloidian/PaleoEditor>.
#### Z80 fig-FORTH
Dimitri Theulings' implementation of fig-FORTH for the Z80 has a
RomWBW-specific variant. The project is hosted at
<https://github.com/dimitrit/figforth>.
#### Assembly Language Programming for the RC2014 Zed
Bruce Hall has written a very nice document that describes how to
develop assembly language applications on RomWBW. It begins with the
setup and configuration of a new RC2014 Zed system running RomWBW.
It describes not only generic CP/M application development, but also
RomWBW HBIOS programming and bare metal programming. The latest copy
of this document is hosted at
[http://w8bh.net/Assembly for RC2014Z.pdf](http://w8bh.net/Assembly%20for%20RC2014Z.pdf).
# Licensing
## License Terms
RomWBW is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
RomWBW is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with RomWBW. If not, see <https://www.gnu.org/licenses/>.
Portions of RomWBW were created by, contributed by, or derived from
the work of others. It is believed that these works are being used
in accordance with the intentions and/or licensing of their creators.
If anyone feels their work is being used outside of its intended
licensing, please notify:
> $doc_author$ \
> [$doc_authmail$](mailto:$doc_authmail$)
RomWBW is an aggregate work. It is composed of many individual,
standalone programs that are distributed as a whole to function as
a cohesive system. Each program may have its own licensing which
may be different from other programs within the aggregate.
In some cases, a single program (e.g., CP/M Operating System) is
composed of multiple components with different licenses. It is
believed that in all such cases the licenses are compatible with
GPL version 3.
RomWBW encourages code contributions from others. Contributors
may assert their own copyright in their contributions by
annotating the contributed source code appropriately. Contributors
are further encouraged to submit their contributions via the RomWBW
source code control system to ensure their contributions are clearly
documented.
All contributions to RomWBW are subject to this license.

View File

@@ -9,7 +9,7 @@
# On Ubuntu Linux:
# apt install gpp pandoc texlive texlive-luatex texlive-fonts-extra
#
OBJECTS = ReadMe.gfm ReadMe.txt UserGuide.pdf SystemGuide.pdf Applications.pdf Catalog.pdf Errata.pdf
OBJECTS = Introduction.gfm Introduction.txt Introduction.pdf UserGuide.pdf SystemGuide.pdf Applications.pdf Catalog.pdf Hardware.pdf
# DEST = ../../Doc
TOOLS = ../../Tools
OTHERS = *.tmp
@@ -31,16 +31,17 @@ all :: deploy
pandoc $< -f markdown -t dokuwiki -s -o $@ --default-image-extension=pdf
%.gfm : %.tmp
pandoc $< -f markdown -t gfm -s -o $@ --default-image-extension=pdf
pandoc $< -f markdown -t gfm-yaml_metadata_block -s -o $@ --default-image-extension=pdf
%.txt : %.tmp
pandoc $< -f markdown -t plain -s -o $@ --default-image-extension=pdf
deploy :
cp ReadMe.gfm "../../ReadMe.md"
cp ReadMe.txt "../../ReadMe.txt"
cp Introduction.gfm "../../ReadMe.md"
cp Introduction.txt "../../ReadMe.txt"
cp Introduction.pdf "../../Doc/RomWBW Introduction.pdf"
cp UserGuide.pdf "../../Doc/RomWBW User Guide.pdf"
cp SystemGuide.pdf "../../Doc/RomWBW System Guide.pdf"
cp Applications.pdf "../../Doc/RomWBW Applications.pdf"
cp Catalog.pdf "../../Doc/RomWBW Disk Catalog.pdf"
cp Errata.pdf "../../Doc/RomWBW Errata.pdf"
cp Hardware.pdf "../../Doc/RomWBW Hardware.pdf"

View File

@@ -3,9 +3,10 @@ $include{"Basic.h"}$
# Overview
RomWBW software provides a complete, commercial quality
implementation of CP/M (and workalike) operating systems and
RomWBW software provides a complete, commercial quality
implementation of CP/M (and workalike) operating systems and
applications for modern Z80/180/280 retro-computing hardware systems.
A wide variety of platforms are supported including those
produced by these developer communities:
@@ -22,7 +23,7 @@ produced by these developer communities:
A complete list of the currently supported platforms is found in the
[Installation] section.
General features include:
Supported hardware features of RomWBW include:
* Z80 Family CPUs including Z80, Z180, and Z280
* Banked memory services for several banking designs
@@ -31,7 +32,7 @@ General features include:
* Video drivers including TMS9918, SY6545, MOS8563, HD6445
* Keyboard (PS/2) drivers via VT8242 or PPI interfaces
* Real time clock drivers including DS1302, BQ4845
* OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and FreeRTOS
* Support for CP/NET networking using Wiznet, MT011 or Serial
* Built-in VT-100 terminal emulation support
RomWBW is distributed as both source code and pre-built ROM and disk
@@ -43,13 +44,14 @@ ROM firmware itself:
* ROM BASIC (Nascom BASIC and Tasty BASIC)
* ROM Forth
A dynamic disk drive letter assignment mechanism allows mapping
operating system drive letters to any available disk media.
Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.)
support the use of multiple slices (up to 256 per device). Each slice
contains a complete CP/M filesystem and can be mapped independently to
A dynamic disk drive letter assignment mechanism allows mapping
operating system drive letters to any available disk media.
Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.)
support the use of multiple slices (up to 256 per device). Each slice
contains a complete CP/M filesystem and can be mapped independently to
any drive letter. This overcomes the inherent size limitations in legacy
OSes and allows up to 2GB of accessible storage on a single device.
OSes and allows up to 2GB of accessible storage on a single device,
with up to 128MB accessible at any one time.
The pre-built ROM firmware images are generally suitable for most
users. However, it is also very easy to modify and build custom ROM
@@ -72,25 +74,25 @@ such that all of the operating systems and applications on a disk
will run on any RomWBW-based system. To put it simply, you can take
a disk (or CF/SD/USB Card) and move it between systems transparently.
A tool is provided that allows you to access a FAT-12/16/32 filesystem.
The FAT filesystem may be coresident on the same disk media as RomWBW
A tool is provided that allows you to access a FAT-12/16/32 filesystem.
The FAT filesystem may be coresident on the same disk media as RomWBW
slices or on stand-alone media. This makes exchanging files with modern
OSes such as Windows, MacOS, and Linux very easy.
# Acquiring RomWBW
The [RomWBW Repository](https://github.com/wwarthen/RomWBW)
(<https://github.com/wwarthen/RomWBW>) on GitHub is the official
distribution location for all project source and documentation. The
fully-built distribution releases are available on the
(<https://github.com/wwarthen/RomWBW>) on GitHub is the official
distribution location for all project source and documentation.
The fully-built distribution releases are available on the
[RomWBW Releases Page](https://github.com/wwarthen/RomWBW/releases)
(<https://github.com/wwarthen/RomWBW/releases>) of the repository. On
this page, you will normally see a Development Snapshot as well as
(<https://github.com/wwarthen/RomWBW/releases>) of the repository.
On this page, you will normally see a Development Snapshot as well as
recent stable releases. Unless you have a specific reason, I suggest you
stick to the most recent stable release. Expand the "Assets" drop-down
for the release you want to download, then select the asset named
RomWBW-vX.X.X-Package.zip. The Package asset includes all pre-built ROM
and Disk images as well as full source code. The other assets contain
stick to the most recent stable release.
The asset named RomWBW-vX.X.X-Package.zip includes all pre-built ROM
and Disk images as well as full source code. The other assets contain
only source code and do not have the pre-built ROM or disk images.
All source code and distributions are maintained on GitHub. Code
@@ -105,16 +107,20 @@ drives (IDE disk, CF Card, SD Card, etc.) which then provides even more
functionality.
Complete instructions for installation and operation of RomWBW are
found in the $doc_user$.
found in the $doc_user$. It is also a good idea to review the
[Release Notes](https://github.com/wwarthen/RomWBW/blob/master/RELEASE_NOTES.md)
for helpful release-specific information.
## Documentation
Documentation for $doc_product$ includes:
* $doc_intro$
* $doc_user$
* $doc_sys$
* $doc_apps$
* $doc_errata$
* $doc_catalog$
* $doc_hardware$
# Acknowledgments
@@ -188,11 +194,14 @@ please let me know if I missed you!
* Martin R has provided substantial help reviewing and improving the
User Guide and Applications documents.
* Mark Pruden has also contributed a great deal of content to the
Disk Catalog, User Guide as well as contributing the disk image
for the Z3PLUS operating system, the COPYSL utility, and also
implemented feature for RomWBW configuration by NVRAM.
* Mark Pruden has made a wide variety of contributions including:
- significant content in the Disk Catalog and User Guide
- creation of the Introduction and Hardware documents
- Z3PLUS operating system disk image
- COPYSL utility
- a feature for RomWBW configuration by NVRAM
- the /B bulk mode of disk assignment to the ASSIGN utility
* Jacques Pelletier has contributed the DS1501 RTC driver code.

View File

@@ -531,7 +531,7 @@ The following switch ID's are defined, and described in sections below.
| Switch Number | Name | Description |
|---------------|--------------|-----------------------------------------------|
| 0x00 | -reserved- | Reserved |
| 0x01 | Default Boot | Default boot, either a Rom App or Disk Boot |
| 0x01 | Boot Options | ROM or Disk Boot Settings |
| 0x02 | -n/a- | -n/a- high order byte of previous switch |
| 0x03 | Auto Boot | Automatically boot enabled without user input |
| 0x04 - 0xFE | -future- | Future general usage |
@@ -544,18 +544,19 @@ the bytes in NVRAM to check for authenticity before using the configuration.
|-------------|--------------|-----------------------------------|
| 0x00 | Header Byte | Header Signature Byte 'W' |
| 0x01 - 0x03 | Switch Data | Actual Switch Data |
| 0x04 | Parity Check | Parity byte to check authenticity |
| 0x04 | Parity Check | Checksum byte to check integrity |
The above data is copied into the HBIOS Configuration Block (HCB) at startup at
the location starting at CB_SWITCHES.
### Default Boot (NVSW_DEFBOOT)
### Boot Options (NVSW_BOOTOPTS)
16 bit Switch defining the default Rom application or Disk device to boot.
16 bit Switch defining the ROM application or Disk device to boot if
automatic booting is enabled.
| Bit 15 | Bits 14-8 | Bits 7-0 |
|-------------|-------------------|--------------------|
| 1 = Rom App | -undefined- | App to Boot (Char) |
| 1 = ROM App | -undefined- | App to Boot (Char) |
| 0 = Disk | Disk Unit (0-127) | Disk Slice (0-255) |
### Auto Boot (NVSW_AUTOBOOT)
@@ -774,18 +775,18 @@ Character devices can usually be configured with line characteristics
such as speed, framing, etc. A word value (16 bit) is used to describe
the line characteristics as indicated below:
| **Bits** | **Characteristic** |
|---------:|----------------------------------------|
| 15-14 | Reserved (set to 0) |
| 13 | RTS |
| 12-8 | Baud Rate (see below) |
| 7 | DTR |
| 6 | XON/XOFF Flow Control |
| 5 | Stick Parity (set for true) |
| 4 | Even Parity (set for true) |
| 3 | Parity Enable (set for true) |
| 2 | Stop Bits (set for true) |
| 1-0 | Data Bits (5-8 encoded as 0-3) |
| **Bits** | **Characteristic** |
|---------:|------------------------------------------------------------|
| 15-14 | Reserved (set to 0) |
| 13 | RTS |
| 12-8 | Baud Rate (see below) |
| 7 | DTR |
| 6 | XON/XOFF Flow Control |
| 5 | 1 = Stick Parity(Mark/Space), 0 = Normal Parity (odd/even) |
| 4 | 1 = Even/Space, 0 = Odd/Mark |
| 3 | Parity Enable (set for true) |
| 2 | Stop Bits (set for true) |
| 1-0 | Data Bits (5-8 encoded as 0-3) |
The 5-bit Baud Rate value (V) is encoded as V = 75 * 2^X * 3^Y. The
bits are defined as YXXXX.
@@ -1161,7 +1162,7 @@ The non-Floppy specific bits are:
|---------:|--------------------------------------------------|
| 4 | LBA Capable |
| 3-0 | Media Type: 0=Hard Disk, 1=CF, 2=SD, 3=USB, |
| | 4=ROM, 5=RAM, 6=RAMF, 7=FLASH, 8=CD-ROM, |
| | 4=ROM, 5=RAM, 6=FLASH, 7=RAMF, 8=CD-ROM, |
| | 9=Cartridge |
Device Type (D) indicates the specific hardware driver that handles the
@@ -2382,6 +2383,11 @@ Cold Start (0x02):
: Perform a system cold start (like a power on). All devices are
reinitialized.
User Restart (0x03):
: Perform a video terminal reset. Terminal emulation and visual display
systems are reset.
The Status (A) is a standard HBIOS result code.
### Function 0xF1 -- System Version (SYSVER)
@@ -3334,28 +3340,62 @@ placeholder
### Diagnostic LEDs
Progress through the boot and initialization process can be difficult to monitor
due to the lack of console or video output. Access to these output devices does
not become available until late the in the boot process. If these output devices
are also involved with the issue trying to be resolved then trouble shooting is
even more difficult.
Progress through the boot and initialization process can be difficult to
monitor due to the lack of console or video output. Access to these output
devices does not become available until late the in the boot process. If
these output devices are also involved with the issue trying to be resolved
then trouble shooting is even more difficult.
ROMWBW can be configured to display boot progress with the assistance of additional
hardware. This take the form of an LED breakout debugging board connected to an
8-bit output port. As the boot code executes, the LED output display is updated.
ROMWBW can be configured to display boot progress with the assistance of
additional hardware. This can take the form of a front panel LED display or
LED breakout debugging board connected to an 8-bit output port. Or it can
utilize existing platform status LEDS.
To use a LED breakout board, it must be connected the computers data, reset and port
select lines.
As the boot code executes, the LED output display is updated to indicate the execution progress.
To enable the DIAG option the following settings must be made in the systems .ini
configuration file, where 0xnn is the port address.
Platforms that have these capabilities built in have them enabled by default.
DIAGENABLE .SET TRUE
DIAGPORT .SET 0xnn
#### Front Panel display
The following table shows the ROMWBW process steps in relation to the LED display.
A LED front panel or breakout board needs to be connected the computers data,
reset and port select lines.
| **LED** | **RomWBW Processes** |
To enable this option the following settings can be made in the platforms custom
configuration file.
```
FPLED_ENABLE .SET TRUE ; ENABLE FRONT PANEL
```
Custom hardware can be configured with :
```
FPLED_IO .SET $nn ; USE PORT ADDRESS nn
FPLED_INV .SET FALSE ; INVERTED LED BITS
```
#### Platform Status LEDS
These status LEDs use preexisting status LEDs on each platform.
Enable using:
```
LEDENABLE .SET TRUE ; ENABLES STATUS LED
```
Customize using:
```
LEDMODE .SET LEDMODE_STD ; LEDMODE_[STD|SC|RTC|NABU]
LEDPORT .SET $nn ; STATUS LED PORT ADDRESS
```
The following table shows the ROMWBW process steps in relation to the panel
display.
| **PANEL** | **RomWBW Processes** |
|------------|------------------------------------------------|
| `........` | Initial boot |
| | Jump to start address |

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,16 @@
Eazy80_512 has a 64K ROM contains a monitor. The monitor command "b 4" loads RomWBW program
starting from SD sector 288 into first 4 banks of memory. RAM disk is not loaded, so drive A is
blank.
Bank Contents Description
-------- -------- -----------
0x0 BIOS HBIOS Bank (operating)
0x1 IMG0 ROM Loader, Monitor, ROM OSes
0x2 IMG1 ROM Applications
0x3 IMG2 Reserved
0x4-0xB RAMD RAM Disk Banks <- not loaded, blank
0xC BUF OS Buffers (CP/M3)
0xD AUX Aux Bank (CP/M 3, BPBIOS, etc.)
0xE USR User Bank (CP/M TPA, etc.)
0xF COM Common Bank, Upper 32KB

26
Source/EZ512/Build.cmd Normal file
View File

@@ -0,0 +1,26 @@
@echo off
setlocal
set TOOLS=../../Tools
set PATH=%TOOLS%\srecord;%PATH%
for %%f in (..\..\Binary\RCZ80_ez512_*.rom) do call :build %%~nf
goto :eof
:build
echo.
echo Creating %1 disk image...
echo.
srec_cat -generate 0x0 0x100000 --constant 0x00 -o temp.dat -binary
srec_cat temp.dat -binary -exclude 0x0 0x200 ez512_cfldr.bin -binary -o temp.dat -binary
srec_cat temp.dat -binary -exclude 0x1B8 0x200 ez512_ptbl.bin -binary -offset 0x1B8 -o temp.dat -binary
srec_cat temp.dat -binary -exclude 0x1F000 0x20000 ez512_mon.bin -binary -offset 0x1F000 -o temp.dat -binary
srec_cat temp.dat -binary -exclude 0x24000 0xA4000 ..\..\Binary\%1.rom -binary -offset 0x24000 -o temp.dat -binary
move temp.dat ..\..\Binary\%1_hd1k_prefix.dat
copy /b ..\..\Binary\%1_hd1k_prefix.dat + ..\..\Binary\hd1k_cpm22.img + ..\..\Binary\hd1k_zsdos.img + ..\..\Binary\hd1k_nzcom.img + ..\..\Binary\hd1k_cpm3.img + ..\..\Binary\hd1k_zpm3.img + ..\..\Binary\hd1k_ws4.img ..\..\Binary\%1_hd1k_combo.img || exit /b
goto :eof

3
Source/EZ512/Clean.cmd Normal file
View File

@@ -0,0 +1,3 @@
@echo off
setlocal

View File

@@ -0,0 +1,22 @@
Eazy80_512 Disk Prefix Layout
=============================
---- Bytes ---- --- Sectors ---
Start Length Start Length Description
------- ------- ------- ------- ---------------------------
0x00000 0x001BE 0 1 CF Boot Loader
0x001B8 0x00048 RomWBW Partition Table
0x00200 0x1EE00 1 247 Unused
0x1F000 0x01000 248 8 EZ512 Monitor v0.3
0x20000 0x04000 256 32 Unused
0x24000 0x80000 288 1024 RomWBW
0xA4000 0x5C000 1312 736 Unused
0x100000 2048 Start of slices (partition 0x1E)
Notes
-----
- Eazy80_512 monitor reads the first 128KB of RomWBW stored started from sector 288 into banks 0-3
- Afterward Z80 jumps to location 0x0 to execute RomWBW

27
Source/EZ512/Makefile Normal file
View File

@@ -0,0 +1,27 @@
DEST=../../Binary
HD1KIMGS = $(DEST)/hd1k_cpm22.img $(DEST)/hd1k_zsdos.img $(DEST)/hd1k_nzcom.img \
$(DEST)/hd1k_cpm3.img $(DEST)/hd1k_zpm3.img $(DEST)/hd1k_ws4.img
ROMS := $(wildcard $(DEST)/RCZ80_ez512_*.rom)
ROMS := $(patsubst $(DEST)/%.rom,%,$(ROMS))
OBJECTS := $(patsubst %,%_hd1k_prefix.dat,$(ROMS))
OBJECTS += $(patsubst %,%_hd1k_combo.img,$(ROMS))
TOOLS = ../../Tools
include $(TOOLS)/Makefile.inc
DIFFPATH = $(DIFFTO)/Binary
%_hd1k_prefix.dat: $(DEST)/%.rom
srec_cat -generate 0x0 0x100000 --constant 0x00 -o temp.dat -binary
srec_cat temp.dat -binary -exclude 0x0 0x200 ez512_cfldr.bin -binary -o temp.dat -binary
srec_cat temp.dat -binary -exclude 0x1B8 0x200 ez512_ptbl.bin -binary -offset 0x1B8 -o temp.dat -binary
srec_cat temp.dat -binary -exclude 0x1F000 0x20000 ez512_mon.bin -binary -offset 0x1F000 -o temp.dat -binary
srec_cat temp.dat -binary -exclude 0x24000 0xA4000 $< -binary -offset 0x24000 -o temp.dat -binary
mv temp.dat $@
%_hd1k_combo.img: %_hd1k_prefix.dat $(HD1KIMGS)
cat $^ > $@

Binary file not shown.

BIN
Source/EZ512/ez512_mon.bin Normal file

Binary file not shown.

BIN
Source/EZ512/ez512_ptbl.bin Normal file

Binary file not shown.

BIN
Source/Fonts/fontcgac.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
Source/Fonts/fontcgau.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@@ -6,7 +6,7 @@ BF_SYSRESET EQU 0F0h ; RESTART SYSTEM
BF_SYSRES_WARM EQU 01h ; WARM START (RESTART BOOT LOADER)
; THE FOLLOWING NEED TO BE SYNCED WITH STD.ASM SO ROMLDR
; THE FOLLOWING NEED TO BE SYNCED WITH INCLUDE.ASM SO ROMLDR
; KNOWS WHERE THIS EXECUTES AT
FTH_SIZ EQU 1700h
@@ -31,7 +31,7 @@ HB_LOC EQU 0FD80h
; You should have received a copy of the GNU General Public License
; along with this program. If not, see <http://www.gnu.org/licenses/>.
; Commercial inquiries should be directed to the author at
; Commercial inquiries should be directed to the author at
; 115 First St., #105, Collingwood, Ontario L9Y 4W3 Canada
; or via email to bj@camelforth.com
;
@@ -68,18 +68,18 @@ HB_LOC EQU 0FD80h
; keywords are being passed in a
; macro.
; b1ackmai1er difficultylevelhigh@gmail.com
; 03-Dec 20 v1.02 Add James Bowmans double
; 03-Dec 20 v1.02 Add James Bowmans double
; precision words as per RC2014
; version. Increase terminal
; version. Increase terminal
; input buffer (TIB) size.
; b1ackmai1er difficultylevelhigh@gmail.com
; b1ackmai1er difficultylevelhigh@gmail.com
; 22-Jan 21 v1.02 Adjust for revised HBIOS
; proxy size.
; b1ackmai1er difficultylevelhigh@gmail.com
; 07-Sep 21 v1.02 Separate additions.
; 07-Sep 21 v1.02 Separate additions.
; 05-Oct 21 v1.02 Add Douglas Beattie Jr.'s
; API call and port read and
; write words.
; write words.
; ===============================================
; Macros to define Forth headers
; HEAD label,length,name,action
@@ -296,7 +296,7 @@ dodoes: ; -- a-addr
next
; CP/M TERMINAL I/O =============================
;C EMIT c -- output character to console
head EMIT,4,EMIT,docode
PUSH DE
@@ -309,7 +309,7 @@ dodoes: ; -- a-addr
POP DE
pop BC ; PUT TOP OF STACK IN BC
next
;
;
;Z SAVEKEY -- addr temporary storage for KEY?
head savekey,7,SAVEKEY,dovar
SVKY: DW 0
@@ -318,7 +318,7 @@ SVKY: DW 0
head querykey,4,KEY?,docode
PUSH BC ; SAVE TOP OF STACK
PUSH DE
PUSH HL ; GET CONSOLE INPUT STATUS VIA HBIOS
PUSH HL ; GET CONSOLE INPUT STATUS VIA HBIOS
LD C,CIODEV_CONSOLE ; CONSOLE UNIT TO C
LD B,CIOIST ; HBIOS FUNC: INPUT STATUS
RST 08 ; HBIOS RETURNS STATUS IN A
@@ -334,7 +334,7 @@ key3: LD C,0
LD (HL),B
INC HL
LD (HL),C
POP HL
POP HL
POP DE
next
@@ -1090,6 +1090,6 @@ ELSE
nop
ENDIF
.DEPHASE
END

View File

@@ -61,7 +61,17 @@ call hbios_env.cmd
if %Platform%==UNA goto :UNA
::
:: Bring the previously build font files into this directory
:: Determine proper variant of the NetBoot module to embed
::
if %Platform%==DUO (
set NetBoot=netboot-duo.mod
) else (
set NetBoot=netboot-mt.mod
)
::
:: Bring the previously build font files into this directory
::
copy ..\Fonts\font*.asm . || exit /b
@@ -101,7 +111,7 @@ tasm -t%CPUType% -g3 -fFF -dCPM sysconf.asm sysconf.com sysconf_com.lst || exit
::
copy /b romldr.bin + dbgmon.bin + ..\zsdos\zsys_wbw.bin + ..\cpm22\cpm_wbw.bin osimg.bin || exit /b
copy /b ..\Forth\camel80.bin + nascom.bin + ..\tastybasic\src\tastybasic.bin + game.bin + eastaegg.bin + netboot.mod + updater.bin + sysconf.bin + usrrom.bin osimg1.bin || exit /b
copy /b ..\Forth\camel80.bin + nascom.bin + ..\tastybasic\src\tastybasic.bin + game.bin + eastaegg.bin + %NETBOOT% + updater.bin + sysconf.bin + usrrom.bin osimg1.bin || exit /b
if %Platform%==S100 (
zxcc slr180 -s100mon/fh
@@ -217,6 +227,7 @@ call Build ZETA2 std || exit /b
call Build N8 std || exit /b
call Build MK4 std || exit /b
call Build RCZ80 std || exit /b
call Build RCEZ80 std || exit /b
call Build RCZ80 kio_std || exit /b
call Build RCZ80 easy_std || exit /b
call Build RCZ80 tiny_std || exit /b
@@ -224,6 +235,8 @@ call Build RCZ80 skz_std || exit /b
call Build RCZ80 zrc_std || exit /b
call Build RCZ80 zrc_ram_std || exit /b
call Build RCZ80 zrc512_std || exit /b
call Build RCZ80 ez512_std || exit /b
call Build RCZ80 k80w_std || exit /b
call Build RCZ180 ext_std || exit /b
call Build RCZ180 nat_std || exit /b
call Build RCZ180 z1rcc_std || exit /b

View File

@@ -18,6 +18,7 @@ if [ "${ROM_PLATFORM}" == "dist" ] ; then
ROM_PLATFORM="ZETA2"; ROM_CONFIG="std"; bash Build.sh
ROM_PLATFORM="N8"; ROM_CONFIG="std"; bash Build.sh
ROM_PLATFORM="MK4"; ROM_CONFIG="std"; bash Build.sh
ROM_PLATFORM="RCEZ80"; ROM_CONFIG="std"; bash Build.sh
ROM_PLATFORM="RCZ80"; ROM_CONFIG="std"; bash Build.sh
ROM_PLATFORM="RCZ80"; ROM_CONFIG="kio_std"; bash Build.sh
ROM_PLATFORM="RCZ80"; ROM_CONFIG="easy_std"; bash Build.sh
@@ -26,6 +27,8 @@ if [ "${ROM_PLATFORM}" == "dist" ] ; then
ROM_PLATFORM="RCZ80"; ROM_CONFIG="zrc_std"; bash Build.sh
ROM_PLATFORM="RCZ80"; ROM_CONFIG="zrc_ram_std"; bash Build.sh
ROM_PLATFORM="RCZ80"; ROM_CONFIG="zrc512_std"; bash Build.sh
ROM_PLATFORM="RCZ80"; ROM_CONFIG="ez512_std"; bash Build.sh
ROM_PLATFORM="RCZ80"; ROM_CONFIG="k80w_std"; bash Build.sh
ROM_PLATFORM="RCZ180"; ROM_CONFIG="ext_std"; bash Build.sh
ROM_PLATFORM="RCZ180"; ROM_CONFIG="nat_std"; bash Build.sh
ROM_PLATFORM="RCZ180"; ROM_CONFIG="z1rcc_std"; bash Build.sh

View File

@@ -43,9 +43,15 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_38400_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_DUO.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
BT_REC_TYPE .SET BT_REC_NONE ; BOOT RECOVERY METHOD TO USE: BT_REC_[NONE|FORCE|SBCB0|SBC1B|SBCRI|DUORI]
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
BATCOND .SET TRUE ; ENABLE LOW BATTERY WARNING MESSAGE
CPUOSC .SET 8000000 ; CPU OSC FREQ IN MHZ
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
@@ -56,11 +62,28 @@ ROMSIZE .SET 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
PCFENABLE .SET TRUE ; ENABLE PCF8584 I2C CONTROLLER
;
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
INTRTCENABLE .SET FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
UARTINTS .SET FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
;
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
;
MDFFENABLE .SET FALSE ; MD: ENABLE FLASH FILE SYSTEM
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
ESPENABLE .SET FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
;
DMAENABLE .SET TRUE ; DMA: ENABLE DMA DRIVER (DMA.ASM)

View File

@@ -43,9 +43,12 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_38400_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_DYNO.asm"
;
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
;
Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2

View File

@@ -45,6 +45,7 @@
#DEFINE PLATFORM_NAME "Z180 MiniITX"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_EPITX.asm"
;

View File

@@ -43,8 +43,14 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_FZ80.asm"
;
CPUOSC .SET 8000000 ; CPU OSC FREQ IN MHZ
CRTACT .SET TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
;
LPTENABLE .SET TRUE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)

View File

@@ -42,12 +42,13 @@
; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE PLATFORM_NAME "GM STD BUS Z180", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_GMZ180.asm"
;
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
;
Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
@@ -59,7 +60,7 @@ FPLED_IO .SET $00 ; FP: PORT ADDRESS FOR FP LEDS
LEDENABLE .SET FALSE ; ENABLES STATUS LED (SINGLE LED)
LEDMODE .SET LEDMODE_STD ; LEDMODE_[STD|SC|RTC|NABU]
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
@@ -81,7 +82,7 @@ FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_GM ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM]
SDMODE .SET SDMODE_GM ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)

View File

@@ -43,5 +43,31 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_HEATH.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 16384000 ; CPU OSC FREQ IN MHZ
;
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
;
TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
TMS80COLS .SET TRUE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
AY38910ENABLE .SET TRUE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_MSX ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]

View File

@@ -43,9 +43,14 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_38400_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_MBC.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
CPUSPDDEF .SET SPD_LOW ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
CPUOSC .SET 8000000 ; CPU OSC FREQ IN MHZ
@@ -59,17 +64,22 @@ ICMENABLE .SET FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
PKDENABLE .SET TRUE ; ENABLES DSKY NG PKD DRIVER (8259)
;
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
UARTINTS .SET FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
LPTENABLE .SET TRUE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
UARTINTS .SET FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
;
CVDUMON .SET CVDUMON_CGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
MDFFENABLE .SET FALSE ; MD: ENABLE FLASH FILE SYSTEM
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
LPTENABLE .SET TRUE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
ESPENABLE .SET TRUE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
;
DMAENABLE .SET FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)

View File

@@ -43,9 +43,14 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_38400_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_MK4.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
@@ -53,22 +58,38 @@ 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)
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
INTRTCENABLE .SET FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
;
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
CVDUENABLE .SET TRUE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
VGAENABLE .SET TRUE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_DIDE ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FDCNT .SET 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
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|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM]
SDMODE .SET SDMODE_MK4 ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
;
PRPENABLE .SET TRUE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
PPPENABLE .SET FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
;
YM2612ENABLE .SET FALSE ; YM2612: ENABLE YM2612 DRIVER

View File

@@ -43,6 +43,7 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_MON.asm"
;

View File

@@ -43,23 +43,49 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_38400_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_N8.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
;
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)
;
DSKYENABLE .SET FALSE ; ENABLES DSKY FUNCTIONALITY
ICMENABLE .SET FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
PKDENABLE .SET FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
INTRTCENABLE .SET FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
UARTENABLE .SET FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
;
TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDCNT .SET 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDMODE .SET SDMODE_CSIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM]
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_CSIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
PPPENABLE .SET FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
;
AY38910ENABLE .SET TRUE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER

View File

@@ -43,9 +43,24 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_38400_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_NABU.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
LEDENABLE .SET TRUE ; ENABLES STATUS LED (SINGLE LED)
;
CRTACT .SET TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
;
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
;
TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMS80COLS .SET TRUE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
AY38910ENABLE .SET TRUE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER

View File

@@ -43,6 +43,7 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCEZ80.asm"
;
@@ -51,7 +52,7 @@ CPUOSC .SET 20000000 ; CPU OSC FREQ IN MHZ
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;;
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
@@ -68,7 +69,7 @@ IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80]
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
@@ -80,3 +81,4 @@ SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -43,9 +43,14 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ180.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
;
MEMMGR .SET MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON]
@@ -53,14 +58,18 @@ MEMMGR .SET MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON]
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)
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET FALSE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
@@ -74,15 +83,29 @@ EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -43,9 +43,14 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ180.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
;
MEMMGR .SET MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON]
@@ -53,14 +58,18 @@ MEMMGR .SET MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON]
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)
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET FALSE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
@@ -73,16 +82,30 @@ VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]]
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -45,9 +45,14 @@
#DEFINE PLATFORM_NAME "Z1RCC", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ180.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
;
RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
@@ -60,12 +65,15 @@ Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET FALSE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
@@ -82,15 +90,29 @@ MDRAM .SET TRUE ; MD: ENABLE RAM DISK
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -43,9 +43,14 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ280.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 24000000 ; CPU OSC FREQ IN MHZ
INTMODE .SET 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
@@ -55,11 +60,18 @@ Z280_MEMLOWAIT .SET 0 ; Z280: LOW 8MB MEMORY WAIT STATES (0-3)
Z280_MEMHIWAIT .SET 0 ; Z280: HIGH 8MB MEMORY WAIT STATES (0-3)
Z280_IOWAIT .SET 1 ; Z280: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
Z280_INTWAIT .SET 0 ; Z280: INT ACK WAIT STATUS (0-3)
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET TRUE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
Z2UENABLE .SET TRUE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
ACIAENABLE .SET TRUE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
@@ -73,15 +85,29 @@ EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -43,9 +43,14 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ280.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 24000000 ; CPU OSC FREQ IN MHZ
INTMODE .SET 3 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
@@ -55,12 +60,18 @@ Z280_MEMLOWAIT .SET 0 ; Z280: LOW 8MB MEMORY WAIT STATES (0-3)
Z280_MEMHIWAIT .SET 0 ; Z280: HIGH 8MB MEMORY WAIT STATES (0-3)
Z280_IOWAIT .SET 1 ; Z280: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
Z280_INTWAIT .SET 0 ; Z280: INT ACK WAIT STATUS (0-3)
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET TRUE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
Z2UENABLE .SET TRUE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
@@ -74,15 +85,29 @@ EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT SC ONLY
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -45,9 +45,14 @@
#DEFINE PLATFORM_NAME "ZZ80MB", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ280.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 24000000 ; CPU OSC FREQ IN MHZ
INTMODE .SET 3 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
@@ -58,11 +63,18 @@ Z280_MEMLOWAIT .SET 0 ; Z280: LOW 8MB MEMORY WAIT STATES (0-3)
Z280_MEMHIWAIT .SET 0 ; Z280: HIGH 8MB MEMORY WAIT STATES (0-3)
Z280_IOWAIT .SET 1 ; Z280: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
Z280_INTWAIT .SET 0 ; Z280: INT ACK WAIT STATUS (0-3)
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET TRUE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
Z2UENABLE .SET TRUE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
Z2U0HFC .SET TRUE ; Z2U 0: ENABLE HARDWARE FLOW CONTROL
@@ -77,15 +89,29 @@ EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -45,9 +45,14 @@
#DEFINE PLATFORM_NAME "ZZRCC", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ280.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 29491200 ; CPU OSC FREQ IN MHZ
INTMODE .SET 3 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
@@ -64,9 +69,15 @@ Z280_INTWAIT .SET 0 ; Z280: INT ACK WAIT STATUS (0-3)
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET TRUE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
Z2UENABLE .SET TRUE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
Z2UOSC .SET (CPUOSC / 16) ; Z2U: OSC FREQUENCY IN MHZ
@@ -85,15 +96,29 @@ MDRAM .SET TRUE ; MD: ENABLE RAM DISK
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -45,9 +45,14 @@
#DEFINE PLATFORM_NAME "ZZRCC", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ280.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 29491200 ; CPU OSC FREQ IN MHZ
INTMODE .SET 3 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
@@ -64,9 +69,15 @@ Z280_INTWAIT .SET 0 ; Z280: INT ACK WAIT STATUS (0-3)
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET TRUE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
Z2UENABLE .SET TRUE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
Z2UOSC .SET (CPUOSC / 16) ; Z2U: OSC FREQUENCY IN MHZ
@@ -85,16 +96,29 @@ MDRAM .SET TRUE ; MD: ENABLE RAM DISK
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
;
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW DEFAULT BUILD SETTINGS FOR RCBUS Z80 W/ JBL GAME BOARDS
; ROMWBW DEFAULT BUILD SETTINGS FOR RCBUS Z80 W/ JBL GAME BOARDS AND COLECO STYLE GAMES
;==================================================================================================
;
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
@@ -54,7 +54,6 @@
; MOVING THE SECONDARY CLOCK DIVIDER JUMPER (E.G., 38400 @ 2.458MHZ). THE BAUD RATE DOES
; NOT NEED TO BE CHANGED IN THIS CONFIGURATION FILE IN ORDER TO DO THIS, BUT THE DEVICE
; LIST WILL INCORRECTLY SHOW THE PORT RUNNING AT 115200 REGARDLESS OF THE CLOCK DIVIDER.
; UNCOMMENT THE LINE THAT SETS BOOTCON TO 1 TO BOOT ON THE SECOND SIO PORT BY DEFAULT.
;
; THE COMPLETE SET OF DEFAULT CONFIGURATION SETTINGS FOR THIS PLATFORM ARE FOUND IN THE
; CFG_<PLT>.ASM INCLUDED FILE WHICH IS FOUND IN THE PARENT DIRECTORY. THIS FILE CONTAINS
@@ -64,41 +63,29 @@
; YOUR FILE IN THE BUILD PROCESS.
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "Config/RCZ80_std.asm"
;
CPUOSC .SET 3686400 ; CPU OSC FREQ IN MHZ
;
VDAEMU_SERKBD .SET 1 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
INTMODE .SET 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
;
UARTENABLE .SET FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
;
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
SIOCNT .SET 1 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
SIO0MODE .SET SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP|Z80R]
SIO0BASE .SET $80 ; SIO 0: REGISTERS BASE ADR
SIO0ACLK .SET CPUOSC ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
SIO0ACFG .SET SER_115200_8N1 ; SIO 0A: SERIAL LINE CONFIG
SIO0ACTCC .SET -1 ; SIO 0A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
SIO0BCLK .SET 7372800 ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
SIO0BCFG .SET SER_115200_8N1 ; SIO 0B: SERIAL LINE CONFIG
SIO0BCTCC .SET -1 ; SIO 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
;
TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMSMODE .SET TMSMODE_COLECO ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
;
FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SN76489ENABLE .SET TRUE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET TRUE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -43,13 +43,17 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE PLATFORM_NAME "Easy-Z80", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ80.asm"
;
PLATFORM .SET PLT_EZZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH|EPITX|MON|STDZ180|NABU|FZ80]
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 10000000 ; CPU OSC FREQ IN MHZ
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
@@ -58,18 +62,18 @@ CTCTIMER .SET TRUE ; ENABLE CTC PERIODIC TIMER
CTCMODE .SET CTCMODE_CTR ; CTC MODE: CTCMODE_[NONE|CTR|TIM16|TIM256]
CTCOSC .SET 921600 ; CTC CLOCK FREQUENCY
WDOGMODE .SET WDOG_EZZ80 ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
WDOGIO .SET $6F ; WATCHDOG REGISTER ADR
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET TRUE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
;
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
@@ -86,20 +90,31 @@ TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IMM DISK DRIVER (IMM.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -0,0 +1,119 @@
;
;==================================================================================================
; ROMWBW DEFAULT BUILD SETTINGS FOR RCBUS Z80 ZRC512
;==================================================================================================
;
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
; INDICATED ABOVE. THESE SETTINGS DEFINE THE OFFICIAL BUILD FOR THIS
; PLATFORM AS DISTRIBUTED IN ROMWBW RELEASES.
;
; ROMWBW USES CASCADING CONFIGURATION FILES AS INDICATED BELOW:
;
; cfg_MASTER.asm - MASTER: CONFIGURATION FILE DEFINES ALL POSSIBLE ROMWBW SETTINGS
; |
; +-> cfg_<platform>.asm - PLATFORM: DEFAULT SETTINGS FOR SPECIFIC PLATFORM
; |
; +-> Config/<plt>_std.asm - BUILD: SETTINGS FOR EACH OFFICIAL DIST BUILD
; |
; +-> Config/<plt>_<cust>.asm - USER: CUSTOM USER BUILD SETTINGS
;
; THE TOP (MASTER CONFIGURATION) FILE DEFINES ALL POSSIBLE ROMWBW
; CONFIGURATION SETTINGS. EACH FILE BELOW THE MASTER CONFIGURATION FILE
; INHERITS THE CUMULATIVE SETTINGS OF THE FILES ABOVE IT AND MAY
; OVERRIDE THESE SETTINGS AS DESIRED.
;
; OTHER THAN THE TOP MASTER FILE, EACH FILE MUST "#INCLUDE" ITS PARENT
; FILE (SEE #INCLUDE STATEMENT BELOW). THE TOP TWO FILES SHOULD NOT BE
; MODIFIED.
;
; TO CUSTOMIZE YOUR BUILD SETTINGS YOU SHOULD MODIFY THIS FILE, THE
; DEFAULT BUILD SETTINGS (Config/<platform>_std.asm) OR PREFERABLY
; CREATE AN OPTIONAL CUSTOM USER SETTINGS FILE THAT INCLUDES THE DEFAULT
; BUILD SETTINGS FILE (SEE EXAMPLE Config/SBC_user.asm).
;
; BY CREATING A CUSTOM USER SETTINGS FILE, YOU ARE LESS LIKELY TO BE
; IMPACTED BY FUTURE CHANGES BECAUSE YOU WILL BE INHERITING MOST
; OF YOUR SETTINGS WHICH WILL BE UPDATED BY AUTHORS AS ROMWBW EVOLVES.
;
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE
; SOURCE DIRECTORY (TWO DIRECTORIES ABOVE THIS ONE).
;
; *** WARNING: ASIDE FROM THE MASTER CONFIGURATION FILE, YOU MUST USE
; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE PLATFORM_NAME "EaZy80-512", " [", CONFIG, "]"
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ80.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 22000000 ; CPU OSC FREQ IN MHZ
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
KIOENABLE .SET TRUE ; ENABLE ZILOG KIO SUPPORT
KIOBASE .SET $00 ; KIO BASE I/O ADDRESS
CTCENABLE .SET TRUE ; ENABLE ZILOG CTC SUPPORT
CTCBASE .SET KIOBASE+$04 ; CTC BASE I/O ADDRESS
CTCOSC .SET 1843200 ; CTC CLOCK FREQUENCY
;
RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
MEMMGR .SET MM_EZ512 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON|EZ512]
;
FPLED_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET FALSE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
;
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
SIOCNT .SET 1 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
SIO0MODE .SET SIOMODE_STD ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP|Z80R]
SIO0BASE .SET KIOBASE+$08 ; SIO 0: REGISTERS BASE ADR
SIO0ACLK .SET CTCOSC ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
SIO0BCLK .SET CTCOSC ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
;
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
MDROM .SET FALSE ; MD: ENABLE ROM DISK
;
IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_EZ512 ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET FALSE ; CH: ENABLE CH375/376 USB SUPPORT
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -0,0 +1,73 @@
;
;==================================================================================================
; ROMWBW DEFAULT BUILD SETTINGS FOR RCBUS Z80 K80W
;==================================================================================================
;
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
; INDICATED ABOVE. THESE SETTINGS DEFINE THE OFFICIAL BUILD FOR THIS
; PLATFORM AS DISTRIBUTED IN ROMWBW RELEASES.
;
; ROMWBW USES CASCADING CONFIGURATION FILES AS INDICATED BELOW:
;
; cfg_MASTER.asm - MASTER: CONFIGURATION FILE DEFINES ALL POSSIBLE ROMWBW SETTINGS
; |
; +-> cfg_<platform>.asm - PLATFORM: DEFAULT SETTINGS FOR SPECIFIC PLATFORM
; |
; +-> Config/<plt>_std.asm - BUILD: SETTINGS FOR EACH OFFICIAL DIST BUILD
; |
; +-> Config/<plt>_<cust>.asm - USER: CUSTOM USER BUILD SETTINGS
;
; THE TOP (MASTER CONFIGURATION) FILE DEFINES ALL POSSIBLE ROMWBW
; CONFIGURATION SETTINGS. EACH FILE BELOW THE MASTER CONFIGURATION FILE
; INHERITS THE CUMULATIVE SETTINGS OF THE FILES ABOVE IT AND MAY
; OVERRIDE THESE SETTINGS AS DESIRED.
;
; OTHER THAN THE TOP MASTER FILE, EACH FILE MUST "#INCLUDE" ITS PARENT
; FILE (SEE #INCLUDE STATEMENT BELOW). THE TOP TWO FILES SHOULD NOT BE
; MODIFIED.
;
; TO CUSTOMIZE YOUR BUILD SETTINGS YOU SHOULD MODIFY THIS FILE, THE
; DEFAULT BUILD SETTINGS (Config/<platform>_std.asm) OR PREFERABLY
; CREATE AN OPTIONAL CUSTOM USER SETTINGS FILE THAT INCLUDES THE DEFAULT
; BUILD SETTINGS FILE (SEE EXAMPLE Config/SBC_user.asm).
;
; BY CREATING A CUSTOM USER SETTINGS FILE, YOU ARE LESS LIKELY TO BE
; IMPACTED BY FUTURE CHANGES BECAUSE YOU WILL BE INHERITING MOST
; OF YOUR SETTINGS WHICH WILL BE UPDATED BY AUTHORS AS ROMWBW EVOLVES.
;
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE
; SOURCE DIRECTORY (TWO DIRECTORIES ABOVE THIS ONE).
;
; *** WARNING: ASIDE FROM THE MASTER CONFIGURATION FILE, YOU MUST USE
; ".SET" TO OVERRIDE SETTINGS. THE ASSEMBLER WILL ERROR IF YOU ATTEMPT
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "Config/RCZ80_std.asm"
;
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
CPUOSC .SET 22000000 ; CPU OSC FREQ IN MHZ
;
KIOENABLE .SET TRUE ; ENABLE ZILOG KIO SUPPORT
CTCENABLE .SET TRUE ; ENABLE ZILOG CTC SUPPORT
CTCBASE .SET KIOBASE+$04 ; CTC BASE I/O ADDRESS
CTCOSC .SET 1843200 ; CTC CLOCK FREQUENCY
;
DSRTCMODE .SET DSRTCMODE_K80W ; DSRTC: OPERATING MODE: DSRTCMODE_[STD|MFPIC|K80W]
;
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
;
SIOCNT .SET 1 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
SIO0MODE .SET SIOMODE_STD ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP|Z80R]
SIO0BASE .SET KIOBASE+$08 ; SIO 0: REGISTERS BASE ADR
SIO0ACLK .SET CTCOSC ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
SIO0BCLK .SET CTCOSC ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
;
VRCENABLE .SET TRUE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
;
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_K80W ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY

View File

@@ -43,17 +43,19 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "Config/RCZ80_std.asm"
;
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
KIOENABLE .SET TRUE ; ENABLE ZILOG KIO SUPPORT
;
CTCENABLE .SET TRUE ; ENABLE ZILOG CTC SUPPORT
CTCBASE .SET KIOBASE+$04 ; CTC BASE I/O ADDRESS
CTCTIMER .SET TRUE ; ENABLE CTC PERIODIC TIMER
;
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
;
SIOCNT .SET 1 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP

View File

@@ -43,23 +43,34 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ80.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ
;
KIOENABLE .SET FALSE ; ENABLE ZILOG KIO SUPPORT
CTCENABLE .SET FALSE ; ENABLE ZILOG CTC SUPPORT
;
SKZENABLE .SET TRUE ; ENABLE SERGEY'S Z80-512K FEATURES
SKZDIV .SET DIV_12 ; UART CLK (CLK2) DIVIDER FOR Z80-512K
WDOGMODE .SET WDOG_SKZ ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET TRUE ; ENABLE LCD DISPLAY
LEDENABLE .SET TRUE ; ENABLES STATUS LED (SINGLE LED)
LEDPORT .SET $6E ; STATUS LED PORT ADDRESS
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
@@ -77,14 +88,29 @@ EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IMM DISK DRIVER (IMM.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -43,18 +43,28 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ80.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ
;
KIOENABLE .SET FALSE ; ENABLE ZILOG KIO SUPPORT
CTCENABLE .SET FALSE ; ENABLE ZILOG CTC SUPPORT
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET TRUE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
@@ -70,22 +80,29 @@ EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80]
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
IMMENABLE .SET FALSE ; IMM: ENABLE IMM DISK DRIVER (IMM.ASM)
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -43,13 +43,17 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE PLATFORM_NAME "Tiny-Z80", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ80.asm"
;
PLATFORM .SET PLT_EZZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH|EPITX|MON|STDZ180|NABU|FZ80]
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 16000000 ; CPU OSC FREQ IN MHZ
INTMODE .SET 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
@@ -61,18 +65,20 @@ CTCOSC .SET 921600 ; CTC CLOCK FREQUENCY
EIPCENABLE .SET TRUE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
WDOGMODE .SET WDOG_EZZ80 ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
WDOGIO .SET $6F ; WATCHDOG REGISTER ADR
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET TRUE ; ENABLE LCD DISPLAY
LEDENABLE .SET TRUE ; ENABLES STATUS LED (SINGLE LED)
LEDPORT .SET $6E ; STATUS LED PORT ADDRESS
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
;
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
@@ -92,17 +98,30 @@ EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
IDE0BASE .SET $90 ; IDE 0: IO BASE ADDRESS
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IMM DISK DRIVER (IMM.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -48,6 +48,7 @@
; 3. ENABLES LPT PRINTER SUPPORT
;
#DEFINE PLATFORM_NAME "My Custom RCBus Computer", " [", CONFIG, "]"
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
;
#INCLUDE "Config/RCZ80_std.asm" ; INHERIT FROM OFFICIAL BUILD SETTINGS

View File

@@ -45,21 +45,34 @@
#DEFINE PLATFORM_NAME "ZRC512", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ80.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 22000000 ; CPU OSC FREQ IN MHZ
;
KIOENABLE .SET FALSE ; ENABLE ZILOG KIO SUPPORT
CTCENABLE .SET FALSE ; ENABLE ZILOG CTC SUPPORT
;
RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
MEMMGR .SET MM_ZRC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON]
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET TRUE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ACIAENABLE .SET TRUE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
@@ -75,17 +88,29 @@ MDROM .SET FALSE ; MD: ENABLE ROM DISK
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IMM DISK DRIVER (IMM.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -45,21 +45,34 @@
#DEFINE PLATFORM_NAME "ZRC", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ80.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 14745600 ; CPU OSC FREQ IN MHZ
;
KIOENABLE .SET FALSE ; ENABLE ZILOG KIO SUPPORT
CTCENABLE .SET FALSE ; ENABLE ZILOG CTC SUPPORT
;
RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
MEMMGR .SET MM_ZRC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON]
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET TRUE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ACIAENABLE .SET TRUE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
@@ -75,16 +88,29 @@ MDROM .SET FALSE ; MD: ENABLE ROM DISK
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IMM DISK DRIVER (IMM.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -45,21 +45,34 @@
#DEFINE PLATFORM_NAME "ZRC", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RCZ80.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 14745600 ; CPU OSC FREQ IN MHZ
;
KIOENABLE .SET FALSE ; ENABLE ZILOG KIO SUPPORT
CTCENABLE .SET FALSE ; ENABLE ZILOG CTC SUPPORT
;
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|Z280|MBC|RPH|MON]
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET TRUE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
INTRTCENABLE .SET FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ACIAENABLE .SET TRUE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
@@ -73,16 +86,29 @@ EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IMM DISK DRIVER (IMM.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -43,9 +43,14 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_38400_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_RPH.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
INTMODE .SET 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;

View File

@@ -43,9 +43,14 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_57600_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_S100.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
;
Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
@@ -60,7 +65,9 @@ ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
SCONENABLE .SET TRUE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
;
IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_SC ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM]
SDMODE .SET SDMODE_SC ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY

View File

@@ -43,6 +43,7 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_38400_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_SBC.asm"
;
@@ -51,6 +52,7 @@ INTMODE .SET 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
HTIMENABLE .SET TRUE ; ENABLE SIMH TIMER SUPPORT
SIMRTCENABLE .SET TRUE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM)
;
SSERENABLE .SET TRUE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
SSERSTATUS .SET $6D ; SSER: STATUS PORT

View File

@@ -43,16 +43,33 @@
; TO USE ".EQU" BECAUSE IT WON'T LET YOU REDEFINE A SETTING WITH ".EQU".
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_38400_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_SBC.asm"
;
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
BT_REC_TYPE .SET BT_REC_NONE ; BOOT RECOVERY METHOD TO USE: BT_REC_[NONE|FORCE|SBCB0|SBC1B|SBCRI|DUORI]
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUSPDCAP .SET SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
CPUSPDDEF .SET SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
CPUOSC .SET 8000000 ; CPU OSC FREQ IN MHZ
INTMODE .SET 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
;
DSKYENABLE .SET FALSE ; ENABLES DSKY FUNCTIONALITY
ICMENABLE .SET FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
PKDENABLE .SET FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
;
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
;
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
;
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
CVDUENABLE .SET TRUE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
@@ -61,10 +78,25 @@ VGAENABLE .SET TRUE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_DIO3 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FDCNT .SET 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
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|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM]
SDMODE .SET SDMODE_PPI ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
;
PRPENABLE .SET TRUE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
;
SPKENABLE .SET FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
;
DMAENABLE .SET FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
;
YM2612ENABLE .SET FALSE ; YM2612: ENABLE YM2612 DRIVER

View File

@@ -45,9 +45,14 @@
#DEFINE PLATFORM_NAME "Small Computer SC126", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_SCZ180.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
;
Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
@@ -57,12 +62,14 @@ Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPLED_IO .SET $0D ; FP: PORT ADDRESS FOR FP LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
LCDENABLE .SET FALSE ; ENABLE LCD DISPLAY
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
INTRTCENABLE .SET FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
@@ -71,22 +78,33 @@ SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_SC ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
AY38910ENABLE .SET TRUE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -45,9 +45,14 @@
#DEFINE PLATFORM_NAME "Small Computer SC130", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_SCZ180.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
;
Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
@@ -56,14 +61,15 @@ Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
;
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
;
LCDENABLE .SET FALSE ; ENABLE LCD DISPLAY
LEDENABLE .SET TRUE ; ENABLE STATUS LED (SINGLE LED)
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
@@ -72,22 +78,33 @@ SIOENABLE .SET TRUE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
;
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
FDMODE .SET FDMODE_RCWDC ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
FD0TYPE .SET FDT_3HD ; FD 0: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
;
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
;
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_SC ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET TRUE ; CH: ENABLE CH375/376 USB SUPPORT
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
;
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
;
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
;
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
AY38910ENABLE .SET TRUE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
;
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -45,9 +45,14 @@
#DEFINE PLATFORM_NAME "Small Computer SC131", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_SCZ180.asm"
;
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
BOOT_PRETTY .SET FALSE ; BOOT WITH PRETTY PLATFORM NAME
AUTOCON .SET TRUE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
;
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
;
Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
@@ -56,12 +61,13 @@ Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
;
FPLED_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL LEDS
FPSW_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL SWITCHES
;
;
LCDENABLE .SET FALSE ; ENABLE LCD DISPLAY
LEDENABLE .SET TRUE ; ENABLE STATUS LED (SINGLE LED)
LEDMODE .SET LEDMODE_SC ; LEDMODE_[STD|SC|RTC|NABU]
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
;
DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
;
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
@@ -73,9 +79,5 @@ SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_SC ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
CHENABLE .SET FALSE ; CH: ENABLE CH375/376 USB SUPPORT
LCDENABLE .SET FALSE ; DISABLE LCD DISPLAY

View File

@@ -45,6 +45,7 @@
#DEFINE PLATFORM_NAME "Small Computer SC140", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_SCZ180.asm"
;
@@ -61,6 +62,8 @@ FPSW_IO .SET $A0 ; FP: PORT ADDRESS FOR FP SWITCHES
;
LEDENABLE .SET TRUE ; ENABLE STATUS LED (SINGLE LED)
;
LCDENABLE .SET FALSE ; DISABLE LCD DISPLAY
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
;
@@ -85,3 +88,4 @@ PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_LINC ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -45,6 +45,7 @@
#DEFINE PLATFORM_NAME "Small Computer SC503", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_SCZ180.asm"
;
@@ -60,7 +61,8 @@ FPSW_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL SWITCHES
FPSW_IO .SET $A0 ; FP: PORT ADDRESS FOR FP SWITCHES
;
LEDENABLE .SET TRUE ; ENABLES STATUS LED (SINGLE LED)
LEDMODE .SET LEDMODE_STD ; LEDMODE_[STD|SC|RTC|NABU]
;
LCDENABLE .SET FALSE ; DISABLE LCD DISPLAY
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
@@ -87,3 +89,4 @@ PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_LINC ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

View File

@@ -45,6 +45,7 @@
#DEFINE PLATFORM_NAME "Small Computer SC700", " [", CONFIG, "]"
;
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
;
#INCLUDE "cfg_SCZ180.asm"
;
@@ -57,8 +58,7 @@ Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
FPLED_IO .SET $00 ; FP: PORT ADDRESS FOR FP LEDS
LEDENABLE .SET TRUE ; ENABLES STATUS LED (SINGLE LED)
LEDMODE .SET LEDMODE_STD ; LEDMODE_[STD|SC|RTC|NABU]
VDAEMU_SERKBD .SET 0 ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
;
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
@@ -83,10 +83,10 @@ IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
;
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
SDMODE .SET SDMODE_SC ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM]
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
;
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
AY38910ENABLE .SET TRUE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
AYMODE .SET AYMODE_RCZ180 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT

Some files were not shown because too many files have changed in this diff Show More