mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
Compare commits
125 Commits
v3.6.0-dev
...
v3.6.0-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c1bc58b687 | ||
|
|
cc32697ae3 | ||
|
|
42e630a746 | ||
|
|
605ac58f7a | ||
|
|
b9a251bb1f | ||
|
|
f283aed73b | ||
|
|
704b31eb23 | ||
|
|
a57fc8d4fa | ||
|
|
5ccc225343 | ||
|
|
25facb8e4d | ||
|
|
ac48639bfc | ||
|
|
8c7f51fd74 | ||
|
|
2de1c9b05d | ||
|
|
2ac394f22b | ||
|
|
b652412964 | ||
|
|
bb93010716 | ||
|
|
f5a7c61214 | ||
|
|
6a9f06cb22 | ||
|
|
99ed022660 | ||
|
|
eec721e3bb | ||
|
|
9233d19c2c | ||
|
|
0656589f06 | ||
|
|
7686cef325 | ||
|
|
063e7c87d4 | ||
|
|
e771ca88c1 | ||
|
|
915552fed8 | ||
|
|
6592a0797f | ||
|
|
ad2d3f3ac3 | ||
|
|
d0ac04045a | ||
|
|
54c9478dfd | ||
|
|
b62f652a69 | ||
|
|
3a571c6d2f | ||
|
|
08753fe7dd | ||
|
|
c39d81c226 | ||
|
|
c8448940dd | ||
|
|
ad5961ba6e | ||
|
|
d741d18705 | ||
|
|
71bc7719e8 | ||
|
|
e1ded4d07c | ||
|
|
4bca65e53c | ||
|
|
cbfa6d9241 | ||
|
|
2d0ebf49f7 | ||
|
|
7177f1183d | ||
|
|
9d04a7b1df | ||
|
|
6121e80310 | ||
|
|
d6e2e042f8 | ||
|
|
361e9ed83a | ||
|
|
4ee14cbefa | ||
|
|
10b4f98276 | ||
|
|
affc47efc2 | ||
|
|
1195a82ab9 | ||
|
|
2d77d4f036 | ||
|
|
43a835fdde | ||
|
|
22f9c9cef1 | ||
|
|
7e4ce45f9a | ||
|
|
f164ffdc76 | ||
|
|
6684a3e039 | ||
|
|
6202bd244c | ||
|
|
9ba4a7fecd | ||
|
|
130c0590fa | ||
|
|
a11b42f734 | ||
|
|
33f69d0497 | ||
|
|
648c464518 | ||
|
|
a4b8d14e3d | ||
|
|
08f2eb215a | ||
|
|
cf528ef1c1 | ||
|
|
16449bb817 | ||
|
|
e6b3945e42 | ||
|
|
c11ec9f097 | ||
|
|
8983b3642d | ||
|
|
fa4f0c996a | ||
|
|
74cfca470d | ||
|
|
1f6672ebab | ||
|
|
b5f402554c | ||
|
|
ee6cd57f15 | ||
|
|
e43b739ddd | ||
|
|
474a261649 | ||
|
|
2b459b1358 | ||
|
|
5e7009876c | ||
|
|
046c8cc20c | ||
|
|
caf7544219 | ||
|
|
58d0c7add0 | ||
|
|
067363824c | ||
|
|
edaa4e2a03 | ||
|
|
1a38b97e51 | ||
|
|
36dac79faf | ||
|
|
1738bfeb35 | ||
|
|
79180f2a3b | ||
|
|
a51a581d97 | ||
|
|
aee9b4aa87 | ||
|
|
9f2bee08b6 | ||
|
|
ec973d0b3f | ||
|
|
a6f04b8be2 | ||
|
|
cccb51b3c4 | ||
|
|
15f22a0cb0 | ||
|
|
b82910cad8 | ||
|
|
a188add0eb | ||
|
|
641a4d7daf | ||
|
|
d7dc9aafa4 | ||
|
|
072774a147 | ||
|
|
15e44ecd8e | ||
|
|
2eb4e5606c | ||
|
|
15f440ce4d | ||
|
|
1a8f03b322 | ||
|
|
2d2696d22c | ||
|
|
090d26b2af | ||
|
|
e4c55edc02 | ||
|
|
a68ae0cd24 | ||
|
|
45ac5cb3be | ||
|
|
21f7dfc4fb | ||
|
|
d92fb77f11 | ||
|
|
4006bc0224 | ||
|
|
0d5681d2db | ||
|
|
ab9e6d662d | ||
|
|
4fa7bf0117 | ||
|
|
14a9f51efe | ||
|
|
a052b145fe | ||
|
|
1d7b0d970f | ||
|
|
ddeb6ce48b | ||
|
|
b6598cdcc6 | ||
|
|
c802bd2ce2 | ||
|
|
6ad93577db | ||
|
|
cb2f4e5773 | ||
|
|
e6a14dda4d | ||
|
|
8163c20342 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -100,7 +100,7 @@ Tools/unix/zx/zx
|
||||
!Source/EZ512/*.bin
|
||||
!Source/Z1RCC/*.bin
|
||||
!Source/ZZRCC/*.bin
|
||||
!Source/FZ80/*.bin
|
||||
!Source/SZ80/*.bin
|
||||
!Tools/cpm/**
|
||||
!Tools/unix/zx/*
|
||||
!Tools/zx/*
|
||||
|
||||
@@ -1,42 +1,90 @@
|
||||
# Contributing to RomWBW
|
||||
|
||||
> **WARNING**: The `dev` branch of RomWBW has been deprecated as of v3.4. All Pull Requests should now target the `master` branch.
|
||||
> **WARNING**: The `dev` branch of RomWBW has been deprecated as of
|
||||
v3.4. All Pull Requests should now target the `master` branch.
|
||||
|
||||
Contributions of all kinds to RomWBW are welcomed and greatly appreciated.
|
||||
Contributions of all kinds to RomWBW are welcomed and greatly
|
||||
appreciated.
|
||||
|
||||
- Reporting bug(s) and suggesting new feature(s)
|
||||
- Discussing the current state of the code
|
||||
- Submitting a fixes and enhancements
|
||||
- Submitting fixes and enhancements
|
||||
|
||||
## RomWBW GitHub Repository
|
||||
|
||||
The [RomWBW GitHub Repository](https://github.com/wwarthen/RomWBW) is the primary location for developing, supporting, and distributing RomWBW. Although input is gladly accepted from almost any channel, the GitHub Repository is preferred.
|
||||
The [RomWBW GitHub Repository](https://github.com/wwarthen/RomWBW) is
|
||||
the primary location for developing, supporting, and distributing
|
||||
RomWBW. Although input is gladly accepted from almost any channel, the
|
||||
GitHub Repository is preferred.
|
||||
|
||||
- Use **Issues** to report bugs, request enhancements, or ask usage questions.
|
||||
- Use **Issues** to report bugs, request enhancements, or ask usage
|
||||
questions.
|
||||
- Use **Discussions** to interact with others
|
||||
- Use **Pull Requests** to submit content (code, documentation, etc.)
|
||||
|
||||
## Submitting Content
|
||||
|
||||
This RomWBW Project uses the standard [GitHub Flow](https://docs.github.com/en/get-started/quickstart/github-flow). Submission of content changes (including code) are ideally done via Pull Requests.
|
||||
This RomWBW Project uses the standard
|
||||
[GitHub Flow](https://docs.github.com/en/get-started/quickstart/github-flow).
|
||||
Submission of content changes (including code) are ideally done via Pull
|
||||
Requests.
|
||||
|
||||
- Submitters are advised to contact [Wayne Warthen](mailto:wwarthen@gmail.com) or start a GitHub Discussion prior to starting any significant work. This is simply to ensure that submissions are consistent
|
||||
with the overall goals and intentions of RomWBW.
|
||||
- All submissions should be based on the `master` branch. To create your submission, fork the RomWBW repository and create your branch from `master`. Make (and test) your changes in your personal fork.
|
||||
- Please update relevant documentation and the `ChangeLog` found in the `Doc` folder.
|
||||
- You are encouraged to comment your submissions to ensure your work is properly attributed.
|
||||
- When ready, submit a Pull Request to merge your forked branch into the RomWBW master branch.
|
||||
- Submitters are advised to contact [Wayne Warthen](mailto:wwarthen@
|
||||
gmail.com) or start a GitHub Discussion prior to starting any
|
||||
significant work. This is simply to ensure that submissions are
|
||||
consistent with the overall goals and intentions of RomWBW.
|
||||
- All submissions should be based on the `master` branch. To create
|
||||
your submission, fork the RomWBW repository and create your branch from
|
||||
`master`. Make (and test) your changes in your personal fork.
|
||||
- Please update relevant documentation and the `ChangeLog` found in the
|
||||
`Doc` folder.
|
||||
- You are encouraged to comment your submissions to ensure your work is
|
||||
properly attributed.
|
||||
- When ready, submit a Pull Request to merge your forked branch into the
|
||||
RomWBW master branch.
|
||||
|
||||
## Coding Style
|
||||
|
||||
Due to the nature of the project, you will find a variety of coding styles. When making changes to existing code, please try to be consistent with the existing coding style. You may not like the current style, but no one likes mixed styles
|
||||
in one file/module.
|
||||
Due to the nature of the project, you will find a variety of coding
|
||||
styles. When making changes to existing code, please try to be
|
||||
consistent with the existing coding style. You may not like the current
|
||||
style, but no one likes mixed styles in one file/module.
|
||||
|
||||
Be careful with white space. RomWBW is primarily assembly langauge code. The use of tab stops at every 8 characters is pretty standard for assembler. If you use something else, then your code will look odd when viewed by others.
|
||||
Be careful with white space. RomWBW is primarily assembly langauge
|
||||
code. The use of tab stops at every 8 characters is pretty standard for
|
||||
assembler. If you use something else, then your code will look odd
|
||||
when viewed by others.
|
||||
|
||||
In most cases, the use of `<cr><lf>` line endings is preferred. This is standard for the operating systems of the era that RomWBW provides. Also note that CP/M text files should end with a ctrl-Z (0x1A). This is not magically added by the
|
||||
tools that generate the disk images.
|
||||
In most cases, the use of `<cr><lf>` line endings is preferred. This is
|
||||
standard for the operating systems of the era that RomWBW provides.
|
||||
Also note that CP/M text files should end with a ctrl-Z (0x1A). This is
|
||||
not magically added by the tools that generate the disk images.
|
||||
|
||||
## Hints for Developers
|
||||
|
||||
- The majority of RomWBW is assembled with TASM (and it's compatible
|
||||
equivalent sz80as). These tools have quirks that are very subtle. For
|
||||
example, TASM does not evaluate expressions in the standard way. It
|
||||
uses a left to right approach. Check the TASM documentation carefully.
|
||||
|
||||
- The following two Z80 instructions highlight a common issue with the
|
||||
Z80 assembler syntax. Parens in operands frequently indicate an
|
||||
indirect reference. To treat the operand as an expression, use the
|
||||
second format.
|
||||
|
||||
```
|
||||
LD A,(5+5) ; Load A with the value at address 10
|
||||
LD A,0+(5+5) ; Load A with the value 10
|
||||
```
|
||||
|
||||
- The RomWBW documewntation in the Doc directory is generated with a
|
||||
process outside of the normal build process. To update documentation,
|
||||
please update the .md files in Source/Doc. Those are the Markdown
|
||||
source files for the documentation. The PDF files will be updated
|
||||
offline from those.
|
||||
|
||||
## License
|
||||
|
||||
RomWBW is licensed under GPLv3. When you submit code changes, your submissions are understood to be under the same [GPLv3 License](https://www.gnu.org/licenses/gpl-3.0.html) that covers the project.
|
||||
RomWBW is licensed under GPLv3. When you submit code changes, your
|
||||
submissions are understood to be under the same [GPLv3 License]
|
||||
(https://www.gnu.org/licenses/gpl-3.0.html) that covers the project.
|
||||
|
||||
@@ -62,6 +62,7 @@ ZCPR D&J User Manual. This manual supplements the ZCPR Manual.
|
||||
|
||||
|
||||
ZSDOS Manual ("ZSDOS Manual.pdf")
|
||||
ZSDOS Programmer's Manual ("ZSDOS Programmers Manual.pdf")
|
||||
---------------------------------
|
||||
|
||||
ZSDOS is the DOS portion of Z-System. This is the manual for ZSDOS
|
||||
@@ -69,6 +70,10 @@ ZSDOS is the DOS portion of Z-System. This is the manual for ZSDOS
|
||||
ignored since that work has already been completed as part of the
|
||||
RomWBW distribution.
|
||||
|
||||
The ZSDOS Programmer's Manual is also included courtesy of Wayne
|
||||
Hortensius and Randy Merkel. This manual includes documentation of the
|
||||
ZSDOS BDOS API enhancements.
|
||||
|
||||
ZPM3 ("ZPM3.txt")
|
||||
-----------------
|
||||
|
||||
|
||||
BIN
Doc/CPM/ZSDOS Programmers Manual.pdf
Normal file
BIN
Doc/CPM/ZSDOS Programmers Manual.pdf
Normal file
Binary file not shown.
@@ -20,6 +20,21 @@ Version 3.6
|
||||
- WBW: Improved image creation process to allow user defined aggregates
|
||||
- WBW: Implemented config driven slice name and system image specification
|
||||
- D?N: Added native USB driver support (keyboard, floppy, mass storage)
|
||||
- MGG: Added sample program source files for all language disk iamges
|
||||
- WBW: Added support for S100 Dual CF Interface
|
||||
- WBW: Added support for S100 ESP32 SD Interface
|
||||
- MAP: User guide. Reorder sections around disk formatting
|
||||
- R?M: Randy Merkel provided ZSDOS Programmer's Manual as translated by Wayne Hortensius
|
||||
- WBW: Updated Cowgol disk image with latest COWFIX.COM from Ladislau Szilagyi
|
||||
- WBW: Preliminary support for S100 Computers Z80 CPU
|
||||
- HJB: Added MSX platform
|
||||
- M?R: Update Timer app with "zero" option
|
||||
- HJB: Update PPIDE driver, add support for MSX BEER IDE interface
|
||||
- HJB: Added loader for MSX
|
||||
- HJB: Added IDE driver master media detect option
|
||||
- WBW: Add support for S100 Serial I/O DLP Serial connection
|
||||
- P?D: Generate compressed ROM for EaZyZ80 512
|
||||
- DDW: Added support for the 'N8PC' platform. Includes support for the M6242 RTC chip.
|
||||
|
||||
Version 3.5.1
|
||||
-------------
|
||||
@@ -90,7 +105,7 @@ Version 3.5
|
||||
- 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
|
||||
- WBW: Added TE Editor (Ladislau Szilagyi)
|
||||
- WBW: Refrech Cowgol disk image (Ladislau Szilagyi)
|
||||
- WBW: Refresh Cowgol disk image (Ladislau Szilagyi)
|
||||
|
||||
Version 3.4
|
||||
-----------
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -8,10 +8,27 @@ release of RomWBW.
|
||||
- **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.
|
||||
matched set. After upgrading your ROM, you need to update your
|
||||
boot disk media by doing one of the following:
|
||||
|
||||
- Write a new disk image (typically hd1k_combo.img) onto your
|
||||
disk media (will overwrite existing data/files).
|
||||
- Update the boot tracks of the bootable OS images as described in
|
||||
the RomWBW User Guid.
|
||||
|
||||
## Version 3.6
|
||||
|
||||
### Upgrade Notes
|
||||
|
||||
- The FZ80 (S100 FPGA Z80) platform has been renamed to SZ80 (S100 Z80)
|
||||
and has two configurations. SZ80_std is for the generic S100
|
||||
Z80 CPU. SZ80_fpga is for the FPGA Z80 SBC.
|
||||
|
||||
### New Features
|
||||
|
||||
### New Hardware Support
|
||||
|
||||
- Support for MSX systems.
|
||||
|
||||
## Version 3.5.1
|
||||
|
||||
@@ -94,7 +111,6 @@ This is a patch release of v3.5.
|
||||
- Enhancements to ASSIGN command to automatically assign drives
|
||||
(Mark Pruden).
|
||||
|
||||
|
||||
### New Hardware Support
|
||||
|
||||
- NABU w/ RomWBW Option Board.
|
||||
|
||||
12
ReadMe.md
12
ReadMe.md
@@ -7,7 +7,7 @@
|
||||
**RomWBW Introduction** \
|
||||
Version 3.6 \
|
||||
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
|
||||
20 Jul 2025
|
||||
30 Nov 2025
|
||||
|
||||
# Overview
|
||||
|
||||
@@ -80,7 +80,7 @@ Some of the included software:
|
||||
- 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
|
||||
- Microsoft Basic Compiler, Microsoft Fortran, and Microsoft COBOL
|
||||
- Some games such as Colossal Cave, Zork, etc
|
||||
- Wordstar Word processing software
|
||||
|
||||
@@ -355,6 +355,14 @@ let me know if I missed you!
|
||||
- Jörg Linder has contributed disassembled and nicely commented source
|
||||
for ZSDOS2 and the BPBIOS utilities.
|
||||
|
||||
- Marshall Gates has contriubed sample program source files for all of
|
||||
the language disk images.
|
||||
|
||||
- Randy Merkel provided the ZSDOS Programmer’s Manual as translated by
|
||||
Wayne Hortensius.
|
||||
|
||||
- Henk Berends added support for the MSX platform.
|
||||
|
||||
## Related Projects
|
||||
|
||||
Outside of the hardware platforms adapted to RomWBW, there are a variety
|
||||
|
||||
12
ReadMe.txt
12
ReadMe.txt
@@ -1,6 +1,6 @@
|
||||
RomWBW Introduction
|
||||
Wayne Warthen (wwarthen@gmail.com)
|
||||
20 Jul 2025
|
||||
30 Nov 2025
|
||||
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ Some of the included software:
|
||||
- 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
|
||||
- Microsoft Basic Compiler, Microsoft Fortran, and Microsoft COBOL
|
||||
- Some games such as Colossal Cave, Zork, etc
|
||||
- Wordstar Word processing software
|
||||
|
||||
@@ -362,6 +362,14 @@ let me know if I missed you!
|
||||
- Jörg Linder has contributed disassembled and nicely commented source
|
||||
for ZSDOS2 and the BPBIOS utilities.
|
||||
|
||||
- Marshall Gates has contriubed sample program source files for all of
|
||||
the language disk images.
|
||||
|
||||
- Randy Merkel provided the ZSDOS Programmer’s Manual as translated by
|
||||
Wayne Hortensius.
|
||||
|
||||
- Henk Berends added support for the MSX platform.
|
||||
|
||||
|
||||
Related Projects
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# RomWBW HBIOS CP/M FAT Utility ("FAT.COM")
|
||||
|
||||
Author: Wayne Warthen \
|
||||
Updated: 6-May-2024
|
||||
Updated: 27-Aug-2025
|
||||
|
||||
This application allows copying files between CP/M filesystems and FAT
|
||||
filesystems (DOS, Windows, Mac, Linux, etc.). The application runs on
|
||||
@@ -142,10 +142,10 @@ creation.
|
||||
|
||||
| Date | Version | Notes |
|
||||
|------------:|-------- |-------------------------------------------------------------|
|
||||
| 2-May-2019 | v0.9 | (beta) initial release |
|
||||
| 7-May-2019 | v0.9.1 | (beta) added REN and DEL |
|
||||
| 8-May-2019 | v0.9.2 | (beta) handle file collisions w/ user prompt |
|
||||
| 8-Oct-2019 | v0.9.3 | (beta) fixed incorrect filename buffer size (MAX_FN) |
|
||||
| 2-May-2019 | v0.9 | (beta) initial release |
|
||||
| 7-May-2019 | v0.9.1 | (beta) added REN and DEL |
|
||||
| 8-May-2019 | v0.9.2 | (beta) handle file collisions w/ user prompt |
|
||||
| 8-Oct-2019 | v0.9.3 | (beta) fixed incorrect filename buffer size (MAX_FN) |
|
||||
| 10-Oct-2019 | v0.9.4 | (beta) upgraded to FatFs R0.13c |
|
||||
| 10-Oct-2019 | v0.9.5 | (beta) added MD (make directory) |
|
||||
| 10-Oct-2019 | v0.9.6 | (beta) added FORMAT |
|
||||
@@ -153,6 +153,7 @@ creation.
|
||||
| | | add attributes to directory listing |
|
||||
| 12-Apr-2021 | v0.9.8 | (beta) support CP/NET drives |
|
||||
| 12-Oct-2023 | v0.9.9 | (beta) handle updated HBIOS Disk Device call |
|
||||
| 6-Jan-2024 | v1.0.0 | updated to latest FsFat (v0.15) |
|
||||
| 6-Jan-2024 | v1.0.0 | updated to latest FsFat (v0.15) |
|
||||
| | | updated to latest SDCC (v4.3) |
|
||||
| 6-May-2024 | v1.1.0 | improve floppy format boot record |
|
||||
| 6-May-2024 | v1.1.0 | improve floppy format boot record |
|
||||
| 27-Aug-2025 | v1.2.0 | update location of RomWBW IDENT pointer |
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -31,7 +31,7 @@ STKSIZ .EQU $FF
|
||||
;
|
||||
; HBIOS SYSTEM CALLS AND ID STRING ADDRESS
|
||||
;
|
||||
ROMWBW_ID .EQU $FFFE ; ROMWBW ID STRING ADDRESS
|
||||
ROMWBW_ID .EQU $FFFC ; ROMWBW ID STRING ADDRESS
|
||||
HBIOS_SYS .EQU $FFF0 ; HBIOS SYSCALL ADDRESS
|
||||
|
||||
H_SYSGET .EQU $F8 ; GET SYSTEM INFO
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
IDENT .EQU $FFFE ; loc of RomWBW HBIOS ident ptr
|
||||
IDENT .EQU $FFFC ; loc of RomWBW HBIOS ident ptr
|
||||
;
|
||||
BF_SYSVER .EQU $F1 ; BIOS: VER function
|
||||
BF_SYSGET .EQU $F8 ; HBIOS: SYSGET function
|
||||
@@ -7,6 +7,6 @@ BF_SND .EQU $50
|
||||
BF_SNDRESET .EQU BF_SND + 0 ; RESET SOUND SYSTEM
|
||||
BF_SNDVOL .EQU BF_SND + 1 ; REQUEST SOUND VOL - L CONTAINS VOLUME (255 MAX, 0 SILENT) - SCALED AS REQUIRED BY DRIVER (EG: MAPS TO JUST 4 BIT RESOLUTION FOR SN76489)
|
||||
BF_SNDPRD .EQU BF_SND + 2 ; REQUEST SOUND PERIOD - HL CONTAINS DRIVER SPECIFIC VALUE
|
||||
BF_SNDNOTE .EQU BF_SND + 3 ; REQUEST NOTE - L CONTAINS NOTE - EACH VALUE IS QUARTER NOTE
|
||||
BF_SNDNOTE .EQU BF_SND + 3 ; REQUEST NOTE - L CONTAINS NOTE - EACH VALUE IS AN EIGHTH TONE
|
||||
BF_SNDPLAY .EQU BF_SND + 4 ; INITIATE THE REQUESTED SOUND COMMAND
|
||||
BF_SNDQUERY .EQU BF_SND + 5 ; E IS SUBFUNCTION
|
||||
|
||||
@@ -446,7 +446,7 @@ IDBIO:
|
||||
;
|
||||
IDBIO1:
|
||||
; Check for RomWBW (HBIOS)
|
||||
LD HL,($FFFE) ; HL := HBIOS ident location
|
||||
LD HL,($FFFC) ; HL := HBIOS ident location
|
||||
LD A,'W' ; First byte of ident
|
||||
CP (HL) ; Compare
|
||||
JR NZ,IDBIO2 ; Not HBIOS
|
||||
|
||||
@@ -239,7 +239,7 @@ IDBIO:
|
||||
;
|
||||
IDBIO1:
|
||||
; Check for RomWBW (HBIOS)
|
||||
LD HL,(0FFFEH) ; HL := HBIOS ident location
|
||||
LD HL,(0FFFCH) ; HL := HBIOS ident location
|
||||
LD A,'W' ; First byte of ident
|
||||
CP (HL) ; Compare
|
||||
JR NZ,IDBIO2 ; Not HBIOS
|
||||
|
||||
@@ -180,7 +180,7 @@ IDBIO:
|
||||
;
|
||||
IDBIO1:
|
||||
; Check for RomWBW (HBIOS)
|
||||
LD HL,(0FFFEH) ; HL := HBIOS ident location
|
||||
LD HL,(0FFFCH) ; HL := HBIOS ident location
|
||||
LD A,'W' ; First byte of ident
|
||||
CP (HL) ; Compare
|
||||
JR NZ,IDBIO2 ; Not HBIOS
|
||||
|
||||
@@ -175,7 +175,7 @@ IDBIO:
|
||||
;
|
||||
IDBIO1:
|
||||
; Check for RomWBW (HBIOS)
|
||||
LD HL,(0FFFEH) ; HL := HBIOS ident location
|
||||
LD HL,(0FFFCH) ; HL := HBIOS ident location
|
||||
LD A,'W' ; First byte of ident
|
||||
CP (HL) ; Compare
|
||||
JR NZ,IDBIO2 ; Not HBIOS
|
||||
|
||||
@@ -273,7 +273,7 @@ IDBIO:
|
||||
;
|
||||
IDBIO1:
|
||||
; Check for RomWBW (HBIOS)
|
||||
LD HL,(0FFFEH) ; HL := HBIOS ident location
|
||||
LD HL,(0FFFCH) ; HL := HBIOS ident location
|
||||
LD A,'W' ; First byte of ident
|
||||
CP (HL) ; Compare
|
||||
JR NZ,IDBIO2 ; Not HBIOS
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
; 2024-12-21 [MAP] Added CBIOS heap estimation to /B to prevent
|
||||
; overflow when the drives are finally added
|
||||
; 2025-07-19 [D?N] Support for native USB drivers
|
||||
; 2025-08-09 [WBW] Support for ESPSD driver
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
; ToDo:
|
||||
@@ -189,7 +190,7 @@ init:
|
||||
ldir ; do the copy
|
||||
;
|
||||
; determine end of CBIOS (assume HBIOS for now)
|
||||
ld hl,($FFFE) ; get proxy start address
|
||||
ld hl,($FFFC) ; get proxy start address
|
||||
ld (bioend),hl ; save as CBIOS end address
|
||||
;
|
||||
; check for UNA (UBIOS)
|
||||
@@ -2429,7 +2430,7 @@ devtbl: ; device table
|
||||
.dw dev04, dev05, dev06, dev07
|
||||
.dw dev08, dev09, dev10, dev11
|
||||
.dw dev12, dev13, dev14, dev15
|
||||
.dw dev16
|
||||
.dw dev16, dev17
|
||||
;
|
||||
devunk .db "?",0
|
||||
dev00 .db "MD",0
|
||||
@@ -2448,9 +2449,10 @@ dev12 .db "SYQ",0
|
||||
dev13 .db "CHUSB",0
|
||||
dev14 .db "CHSD",0
|
||||
dev15 .db "USB",0
|
||||
dev16 .equ devunk
|
||||
dev16 .db "ESPSD",0
|
||||
dev17 .equ devunk
|
||||
;
|
||||
devcnt .equ 17 ; 17 device types defined
|
||||
devcnt .equ 18 ; 18 device types defined
|
||||
;
|
||||
udevram .db "RAM",0
|
||||
udevrom .db "ROM",0
|
||||
@@ -2468,10 +2470,10 @@ stack .equ $ ; stack top
|
||||
; Messages
|
||||
;
|
||||
indent .db " ",0
|
||||
msgban1 .db "ASSIGN v2.1 for RomWBW CP/M ",0
|
||||
msgban1 .db "ASSIGN v2.2 for RomWBW CP/M ",0
|
||||
msg22 .db "2.2",0
|
||||
msg3 .db "3",0
|
||||
msbban2 .db ", 19-Jul-2025",0
|
||||
msbban2 .db ", 9-Aug-2025",0
|
||||
msghb .db " (HBIOS Mode)",0
|
||||
msgub .db " (UBIOS Mode)",0
|
||||
msgban3 .db "Copyright 2025, Wayne Warthen, GNU GPL v3",0
|
||||
|
||||
@@ -29,7 +29,7 @@ bf_sysres_int .equ $00 ; reset hbios internal
|
||||
bf_sysres_warm .equ $01 ; warm start (restart boot loader)
|
||||
bf_sysres_cold .equ $02 ; cold start
|
||||
;
|
||||
ident .equ $FFFE ; loc of RomWBW HBIOS ident ptr
|
||||
ident .equ $FFFC ; loc of RomWBW HBIOS ident ptr
|
||||
;
|
||||
;=======================================================================
|
||||
;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,299 +1,299 @@
|
||||
;==============================================================================
|
||||
; REBOOT - Allows the user to Cold or Warm Boot the RomWBW System
|
||||
; Version 1.0 12-October-2024
|
||||
;==============================================================================
|
||||
;
|
||||
; Author: MartinR (October 2024)
|
||||
; Based **very heavily** on code by Wayne Warthen (wwarthen@gmail.com)
|
||||
;______________________________________________________________________________
|
||||
;
|
||||
; Usage:
|
||||
; REBOOT [/C] [/W] [/?]
|
||||
; ex: REBOOT Display version and usage
|
||||
; REBOOT /? Display version and usage
|
||||
; REBOOT /C Cold boot RomWBW system
|
||||
; REBOOT /W Warm boot RomWBW system
|
||||
;
|
||||
; Operation:
|
||||
; Cold or warm boots a RomWBW system depending on the user option selected.
|
||||
;
|
||||
; This code will only execute on a Z80 CPU (or derivitive)
|
||||
;
|
||||
; This source code assembles with TASM V3.2 under Windows-11 using the
|
||||
; following command line:
|
||||
; tasm -80 -g3 -l REBOOT.ASM REBOOT.COM
|
||||
; ie: Z80 CPU; output format 'binary' named .COM (rather than .OBJ)
|
||||
; and includes a symbol table as part of the listing file.
|
||||
;______________________________________________________________________________
|
||||
;
|
||||
; Change Log:
|
||||
; 2024-09-11 [WBW] Release of RomWBW CPU Speed Selector v1.0 used as the basis
|
||||
; 2024-10-12 [MR ] Initial release of version 1.0
|
||||
;______________________________________________________________________________
|
||||
;
|
||||
; Include Files
|
||||
;
|
||||
#include "../../ver.inc" ; Used for building RomWBW
|
||||
#include "../../HBIOS/hbios.inc"
|
||||
|
||||
;#include "ver.inc" ; Used for testing purposes....
|
||||
;#include "hbios.inc" ; ....during code development
|
||||
;
|
||||
;===============================================================================
|
||||
;
|
||||
; General operational equates (should not requre adjustment)
|
||||
;
|
||||
stksiz .equ $40 ; Working stack size
|
||||
;
|
||||
restart .equ $0000 ; CP/M restart vector
|
||||
bdos .equ $0005 ; BDOS invocation vector
|
||||
;
|
||||
bf_sysreset .equ $F0 ; restart system
|
||||
bf_sysres_int .equ $00 ; reset hbios internal
|
||||
bf_sysres_warm .equ $01 ; warm start (restart boot loader)
|
||||
bf_sysres_cold .equ $02 ; cold start
|
||||
;
|
||||
ident .equ $FFFE ; loc of RomWBW HBIOS ident ptr
|
||||
;
|
||||
;===============================================================================
|
||||
;
|
||||
.org $0100 ; standard CP/M TPA executable
|
||||
;
|
||||
; setup stack (save old value)
|
||||
ld (stksav),sp ; save stack
|
||||
ld sp,stack ; set new stack
|
||||
;
|
||||
call crlf
|
||||
ld de,str_banner ; banner
|
||||
call prtstr
|
||||
;
|
||||
; initialization
|
||||
call init ; initialize
|
||||
jr nz,exit ; abort if init fails
|
||||
;
|
||||
call main ; do the real work
|
||||
;
|
||||
exit:
|
||||
; clean up and return to command processor
|
||||
call crlf ; formatting
|
||||
ld sp,(stksav) ; restore stack
|
||||
jp restart ; return to CP/M via restart
|
||||
;
|
||||
;
|
||||
;===============================================================================
|
||||
; Main Program
|
||||
;===============================================================================
|
||||
;
|
||||
; Initialization
|
||||
;
|
||||
init:
|
||||
; check for UNA (UBIOS)
|
||||
ld a,($FFFD) ; fixed location of UNA API vector
|
||||
cp $C3 ; jp instruction?
|
||||
jr nz,initwbw ; if not, not UNA
|
||||
ld hl,($FFFE) ; get jp address
|
||||
ld a,(hl) ; get byte at target address
|
||||
cp $FD ; first byte of UNA push ix instruction
|
||||
jr nz,initwbw ; if not, not UNA
|
||||
inc hl ; point to next byte
|
||||
ld a,(hl) ; get next byte
|
||||
cp $E5 ; second byte of UNA push ix instruction
|
||||
jr nz,initwbw ; if not, not UNA
|
||||
jp err_una ; UNA not supported
|
||||
;
|
||||
initwbw:
|
||||
; get location of config data and verify integrity
|
||||
ld hl,(ident) ; HL := adr or RomWBW HBIOS ident
|
||||
ld a,(hl) ; get first byte of RomWBW marker
|
||||
cp 'W' ; match?
|
||||
jp nz,err_inv ; abort with invalid config block
|
||||
inc hl ; next byte (marker byte 2)
|
||||
ld a,(hl) ; load it
|
||||
cp ~'W' ; match?
|
||||
jp nz,err_inv ; abort with invalid config block
|
||||
inc hl ; next byte (major/minor version)
|
||||
ld a,(hl) ; load it
|
||||
cp rmj << 4 | rmn ; match?
|
||||
jp nz,err_ver ; abort with invalid os version
|
||||
;
|
||||
initz:
|
||||
; initialization complete
|
||||
xor a ; signal success
|
||||
ret ; return
|
||||
;
|
||||
;
|
||||
;
|
||||
main:
|
||||
; skip to start of first command line parameter
|
||||
ld ix,$0081 ; point to start of parm area (past length byte)
|
||||
call nonblank ; skip to next non-blank char
|
||||
cp '/' ; option prefix?
|
||||
jr nz,usage ; display help info & exit if nothing to do
|
||||
;
|
||||
; process any options
|
||||
inc ix ; fetch next character and process
|
||||
ld a,(ix)
|
||||
call upcase ; ensure it's an upper case character
|
||||
cp 'C' ; if it's a 'C' then
|
||||
jr z,cboot ; do a cold boot.
|
||||
cp 'W' ; if it's a 'W' then
|
||||
jr z,wboot ; do a warm boot.
|
||||
cp '?' ; if it's a '?' then
|
||||
jr z,usage ; display usage info and exit.
|
||||
jr err_parm ; or not a recognised option, so report and exit.
|
||||
;
|
||||
; Handle Usage Information
|
||||
;
|
||||
usage:
|
||||
call crlf2 ; display the options for this utility
|
||||
ld de,str_usage
|
||||
call prtstr
|
||||
or $FF
|
||||
ret ; exit back out to CP/M CCP
|
||||
;
|
||||
; Handle Warm Boot
|
||||
;
|
||||
wboot:
|
||||
ld de,str_warmboot ; message
|
||||
call prtstr ; display it
|
||||
ld b,bf_sysreset ; system restart
|
||||
ld c,bf_sysres_warm ; warm start
|
||||
call $fff0 ; call hbios
|
||||
;
|
||||
; Handle Cold Boot
|
||||
;
|
||||
cboot:
|
||||
ld de,str_coldboot ; message
|
||||
call prtstr ; display it
|
||||
ld b,bf_sysreset ; system restart
|
||||
ld c,bf_sysres_cold ; cold start
|
||||
call $fff0 ; call hbios
|
||||
;
|
||||
;===============================================================================
|
||||
; Error Handlers
|
||||
;===============================================================================
|
||||
;
|
||||
err_una:
|
||||
ld de,str_err_una
|
||||
jr err_ret
|
||||
err_inv:
|
||||
ld de,str_err_inv
|
||||
jr err_ret
|
||||
err_ver:
|
||||
ld de,str_err_ver
|
||||
jr err_ret
|
||||
err_parm:
|
||||
ld de,str_err_parm
|
||||
jr err_ret
|
||||
|
||||
;
|
||||
err_ret:
|
||||
call crlf2
|
||||
call prtstr
|
||||
or $FF ; signal error
|
||||
ret
|
||||
;
|
||||
;===============================================================================
|
||||
; Utility Routines
|
||||
;===============================================================================
|
||||
;
|
||||
; Print character in A without destroying any registers
|
||||
;
|
||||
prtchr:
|
||||
push af
|
||||
push bc ; save registers
|
||||
push de
|
||||
push hl
|
||||
ld e,a ; character to print in E
|
||||
ld c,$02 ; BDOS function to output a character
|
||||
call bdos ; do it
|
||||
pop hl ; restore registers
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
; Start a new line
|
||||
;
|
||||
crlf2:
|
||||
call crlf ; two of them
|
||||
crlf:
|
||||
push af ; preserve AF
|
||||
ld a,13 ; <CR>
|
||||
call prtchr ; print it
|
||||
ld a,10 ; <LF>
|
||||
call prtchr ; print it
|
||||
pop af ; restore AF
|
||||
ret
|
||||
;
|
||||
; Print a zero terminated string at (de) without destroying any registers
|
||||
;
|
||||
prtstr:
|
||||
push af
|
||||
push de
|
||||
;
|
||||
prtstr1:
|
||||
ld a,(de) ; get next char
|
||||
or a
|
||||
jr z,prtstr2
|
||||
call prtchr
|
||||
inc de
|
||||
jr prtstr1
|
||||
;
|
||||
prtstr2:
|
||||
pop de ; restore registers
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
; Get the next non-blank character from (ix)
|
||||
;
|
||||
nonblank:
|
||||
ld a,(ix) ; load next character
|
||||
or a ; string ends with a null
|
||||
ret z ; if null, return pointing to null
|
||||
cp ' ' ; check for blank
|
||||
ret nz ; return if not blank
|
||||
inc ix ; if blank, increment character pointer
|
||||
jr nonblank ; and loop
|
||||
;
|
||||
; Convert character in A to uppercase
|
||||
;
|
||||
upcase:
|
||||
cp 'a' ; if below 'a'
|
||||
ret c ; ... do nothing and return
|
||||
cp 'z' + 1 ; if above 'z'
|
||||
ret nc ; ... do nothing and return
|
||||
res 5,a ; clear bit 5 to make lower case -> upper case
|
||||
ret ; and return
|
||||
;
|
||||
;===============================================================================
|
||||
; Constants
|
||||
;===============================================================================
|
||||
;
|
||||
str_banner .db "RomWBW Reboot Utility, Version 1.0, 12-Oct-2024\r\n"
|
||||
.db " Wayne Warthen (wwarthen@gmail.com) & MartinR",0
|
||||
;
|
||||
str_warmboot .db "\r\n\r\nWarm booting...\r\n",0
|
||||
str_coldboot .db "\r\n\r\nCold booting...\r\n",0
|
||||
;
|
||||
str_err_una .db " ERROR: UNA not supported by application",0
|
||||
str_err_inv .db " ERROR: Invalid BIOS (signature missing)",0
|
||||
str_err_ver .db " ERROR: Unexpected HBIOS version",0
|
||||
str_err_parm .db " ERROR: Parameter error (REBOOT /? for usage)",0
|
||||
;
|
||||
str_usage .db " Usage: REBOOT /? - Display this help info.\r\n"
|
||||
.db " REBOOT /W - Warm boot system\r\n"
|
||||
.db " REBOOT /C - Cold boot system\r\n"
|
||||
.db " Options are case insensitive.\r\n",0
|
||||
;
|
||||
;===============================================================================
|
||||
; Working data
|
||||
;===============================================================================
|
||||
;
|
||||
stksav .dw 0 ; stack pointer saved at start
|
||||
.fill stksiz,0 ; stack
|
||||
stack .equ $ ; stack top
|
||||
;
|
||||
;===============================================================================
|
||||
;
|
||||
;==============================================================================
|
||||
; REBOOT - Allows the user to Cold or Warm Boot the RomWBW System
|
||||
; Version 1.0 12-October-2024
|
||||
;==============================================================================
|
||||
;
|
||||
; Author: MartinR (October 2024)
|
||||
; Based **very heavily** on code by Wayne Warthen (wwarthen@gmail.com)
|
||||
;______________________________________________________________________________
|
||||
;
|
||||
; Usage:
|
||||
; REBOOT [/C] [/W] [/?]
|
||||
; ex: REBOOT Display version and usage
|
||||
; REBOOT /? Display version and usage
|
||||
; REBOOT /C Cold boot RomWBW system
|
||||
; REBOOT /W Warm boot RomWBW system
|
||||
;
|
||||
; Operation:
|
||||
; Cold or warm boots a RomWBW system depending on the user option selected.
|
||||
;
|
||||
; This code will only execute on a Z80 CPU (or derivitive)
|
||||
;
|
||||
; This source code assembles with TASM V3.2 under Windows-11 using the
|
||||
; following command line:
|
||||
; tasm -80 -g3 -l REBOOT.ASM REBOOT.COM
|
||||
; ie: Z80 CPU; output format 'binary' named .COM (rather than .OBJ)
|
||||
; and includes a symbol table as part of the listing file.
|
||||
;______________________________________________________________________________
|
||||
;
|
||||
; Change Log:
|
||||
; 2024-09-11 [WBW] Release of RomWBW CPU Speed Selector v1.0 used as the basis
|
||||
; 2024-10-12 [MR ] Initial release of version 1.0
|
||||
;______________________________________________________________________________
|
||||
;
|
||||
; Include Files
|
||||
;
|
||||
#include "../../ver.inc" ; Used for building RomWBW
|
||||
#include "../../HBIOS/hbios.inc"
|
||||
|
||||
;#include "ver.inc" ; Used for testing purposes....
|
||||
;#include "hbios.inc" ; ....during code development
|
||||
;
|
||||
;===============================================================================
|
||||
;
|
||||
; General operational equates (should not requre adjustment)
|
||||
;
|
||||
stksiz .equ $40 ; Working stack size
|
||||
;
|
||||
restart .equ $0000 ; CP/M restart vector
|
||||
bdos .equ $0005 ; BDOS invocation vector
|
||||
;
|
||||
bf_sysreset .equ $F0 ; restart system
|
||||
bf_sysres_int .equ $00 ; reset hbios internal
|
||||
bf_sysres_warm .equ $01 ; warm start (restart boot loader)
|
||||
bf_sysres_cold .equ $02 ; cold start
|
||||
;
|
||||
ident .equ $FFFC ; loc of RomWBW HBIOS ident ptr
|
||||
;
|
||||
;===============================================================================
|
||||
;
|
||||
.org $0100 ; standard CP/M TPA executable
|
||||
;
|
||||
; setup stack (save old value)
|
||||
ld (stksav),sp ; save stack
|
||||
ld sp,stack ; set new stack
|
||||
;
|
||||
call crlf
|
||||
ld de,str_banner ; banner
|
||||
call prtstr
|
||||
;
|
||||
; initialization
|
||||
call init ; initialize
|
||||
jr nz,exit ; abort if init fails
|
||||
;
|
||||
call main ; do the real work
|
||||
;
|
||||
exit:
|
||||
; clean up and return to command processor
|
||||
call crlf ; formatting
|
||||
ld sp,(stksav) ; restore stack
|
||||
jp restart ; return to CP/M via restart
|
||||
;
|
||||
;
|
||||
;===============================================================================
|
||||
; Main Program
|
||||
;===============================================================================
|
||||
;
|
||||
; Initialization
|
||||
;
|
||||
init:
|
||||
; check for UNA (UBIOS)
|
||||
ld a,($FFFD) ; fixed location of UNA API vector
|
||||
cp $C3 ; jp instruction?
|
||||
jr nz,initwbw ; if not, not UNA
|
||||
ld hl,($FFFE) ; get jp address
|
||||
ld a,(hl) ; get byte at target address
|
||||
cp $FD ; first byte of UNA push ix instruction
|
||||
jr nz,initwbw ; if not, not UNA
|
||||
inc hl ; point to next byte
|
||||
ld a,(hl) ; get next byte
|
||||
cp $E5 ; second byte of UNA push ix instruction
|
||||
jr nz,initwbw ; if not, not UNA
|
||||
jp err_una ; UNA not supported
|
||||
;
|
||||
initwbw:
|
||||
; get location of config data and verify integrity
|
||||
ld hl,(ident) ; HL := adr or RomWBW HBIOS ident
|
||||
ld a,(hl) ; get first byte of RomWBW marker
|
||||
cp 'W' ; match?
|
||||
jp nz,err_inv ; abort with invalid config block
|
||||
inc hl ; next byte (marker byte 2)
|
||||
ld a,(hl) ; load it
|
||||
cp ~'W' ; match?
|
||||
jp nz,err_inv ; abort with invalid config block
|
||||
inc hl ; next byte (major/minor version)
|
||||
ld a,(hl) ; load it
|
||||
cp rmj << 4 | rmn ; match?
|
||||
jp nz,err_ver ; abort with invalid os version
|
||||
;
|
||||
initz:
|
||||
; initialization complete
|
||||
xor a ; signal success
|
||||
ret ; return
|
||||
;
|
||||
;
|
||||
;
|
||||
main:
|
||||
; skip to start of first command line parameter
|
||||
ld ix,$0081 ; point to start of parm area (past length byte)
|
||||
call nonblank ; skip to next non-blank char
|
||||
cp '/' ; option prefix?
|
||||
jr nz,usage ; display help info & exit if nothing to do
|
||||
;
|
||||
; process any options
|
||||
inc ix ; fetch next character and process
|
||||
ld a,(ix)
|
||||
call upcase ; ensure it's an upper case character
|
||||
cp 'C' ; if it's a 'C' then
|
||||
jr z,cboot ; do a cold boot.
|
||||
cp 'W' ; if it's a 'W' then
|
||||
jr z,wboot ; do a warm boot.
|
||||
cp '?' ; if it's a '?' then
|
||||
jr z,usage ; display usage info and exit.
|
||||
jr err_parm ; or not a recognised option, so report and exit.
|
||||
;
|
||||
; Handle Usage Information
|
||||
;
|
||||
usage:
|
||||
call crlf2 ; display the options for this utility
|
||||
ld de,str_usage
|
||||
call prtstr
|
||||
or $FF
|
||||
ret ; exit back out to CP/M CCP
|
||||
;
|
||||
; Handle Warm Boot
|
||||
;
|
||||
wboot:
|
||||
ld de,str_warmboot ; message
|
||||
call prtstr ; display it
|
||||
ld b,bf_sysreset ; system restart
|
||||
ld c,bf_sysres_warm ; warm start
|
||||
call $fff0 ; call hbios
|
||||
;
|
||||
; Handle Cold Boot
|
||||
;
|
||||
cboot:
|
||||
ld de,str_coldboot ; message
|
||||
call prtstr ; display it
|
||||
ld b,bf_sysreset ; system restart
|
||||
ld c,bf_sysres_cold ; cold start
|
||||
call $fff0 ; call hbios
|
||||
;
|
||||
;===============================================================================
|
||||
; Error Handlers
|
||||
;===============================================================================
|
||||
;
|
||||
err_una:
|
||||
ld de,str_err_una
|
||||
jr err_ret
|
||||
err_inv:
|
||||
ld de,str_err_inv
|
||||
jr err_ret
|
||||
err_ver:
|
||||
ld de,str_err_ver
|
||||
jr err_ret
|
||||
err_parm:
|
||||
ld de,str_err_parm
|
||||
jr err_ret
|
||||
|
||||
;
|
||||
err_ret:
|
||||
call crlf2
|
||||
call prtstr
|
||||
or $FF ; signal error
|
||||
ret
|
||||
;
|
||||
;===============================================================================
|
||||
; Utility Routines
|
||||
;===============================================================================
|
||||
;
|
||||
; Print character in A without destroying any registers
|
||||
;
|
||||
prtchr:
|
||||
push af
|
||||
push bc ; save registers
|
||||
push de
|
||||
push hl
|
||||
ld e,a ; character to print in E
|
||||
ld c,$02 ; BDOS function to output a character
|
||||
call bdos ; do it
|
||||
pop hl ; restore registers
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
; Start a new line
|
||||
;
|
||||
crlf2:
|
||||
call crlf ; two of them
|
||||
crlf:
|
||||
push af ; preserve AF
|
||||
ld a,13 ; <CR>
|
||||
call prtchr ; print it
|
||||
ld a,10 ; <LF>
|
||||
call prtchr ; print it
|
||||
pop af ; restore AF
|
||||
ret
|
||||
;
|
||||
; Print a zero terminated string at (de) without destroying any registers
|
||||
;
|
||||
prtstr:
|
||||
push af
|
||||
push de
|
||||
;
|
||||
prtstr1:
|
||||
ld a,(de) ; get next char
|
||||
or a
|
||||
jr z,prtstr2
|
||||
call prtchr
|
||||
inc de
|
||||
jr prtstr1
|
||||
;
|
||||
prtstr2:
|
||||
pop de ; restore registers
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
; Get the next non-blank character from (ix)
|
||||
;
|
||||
nonblank:
|
||||
ld a,(ix) ; load next character
|
||||
or a ; string ends with a null
|
||||
ret z ; if null, return pointing to null
|
||||
cp ' ' ; check for blank
|
||||
ret nz ; return if not blank
|
||||
inc ix ; if blank, increment character pointer
|
||||
jr nonblank ; and loop
|
||||
;
|
||||
; Convert character in A to uppercase
|
||||
;
|
||||
upcase:
|
||||
cp 'a' ; if below 'a'
|
||||
ret c ; ... do nothing and return
|
||||
cp 'z' + 1 ; if above 'z'
|
||||
ret nc ; ... do nothing and return
|
||||
res 5,a ; clear bit 5 to make lower case -> upper case
|
||||
ret ; and return
|
||||
;
|
||||
;===============================================================================
|
||||
; Constants
|
||||
;===============================================================================
|
||||
;
|
||||
str_banner .db "RomWBW Reboot Utility, Version 1.0, 12-Oct-2024\r\n"
|
||||
.db " Wayne Warthen (wwarthen@gmail.com) & MartinR",0
|
||||
;
|
||||
str_warmboot .db "\r\n\r\nWarm booting...\r\n",0
|
||||
str_coldboot .db "\r\n\r\nCold booting...\r\n",0
|
||||
;
|
||||
str_err_una .db " ERROR: UNA not supported by application",0
|
||||
str_err_inv .db " ERROR: Invalid BIOS (signature missing)",0
|
||||
str_err_ver .db " ERROR: Unexpected HBIOS version",0
|
||||
str_err_parm .db " ERROR: Parameter error (REBOOT /? for usage)",0
|
||||
;
|
||||
str_usage .db " Usage: REBOOT /? - Display this help info.\r\n"
|
||||
.db " REBOOT /W - Warm boot system\r\n"
|
||||
.db " REBOOT /C - Cold boot system\r\n"
|
||||
.db " Options are case insensitive.\r\n",0
|
||||
;
|
||||
;===============================================================================
|
||||
; Working data
|
||||
;===============================================================================
|
||||
;
|
||||
stksav .dw 0 ; stack pointer saved at start
|
||||
.fill stksiz,0 ; stack
|
||||
stack .equ $ ; stack top
|
||||
;
|
||||
;===============================================================================
|
||||
;
|
||||
.end
|
||||
File diff suppressed because it is too large
Load Diff
@@ -68,7 +68,7 @@ bf_sysreset .equ $F0 ; restart system
|
||||
bf_sysres_int .equ $00 ; reset hbios internal
|
||||
bf_sysres_warm .equ $01 ; warm start (restart boot loader)
|
||||
;
|
||||
ident .equ $FFFE ; loc of RomWBW HBIOS ident ptr
|
||||
ident .equ $FFFC ; loc of RomWBW HBIOS ident ptr
|
||||
;
|
||||
sigbyte1 .equ $A5 ; 1st sig byte boot info sector (bb_sig)
|
||||
sigbyte2 .equ $5A ; 2nd sig byte boot info sector (bb_sig)
|
||||
|
||||
@@ -1,399 +1,399 @@
|
||||
;===============================================================================
|
||||
; STARTUP - Application run automatically at OS startup
|
||||
;
|
||||
;===============================================================================
|
||||
;
|
||||
; Author: Wayne Warthen (wwarthen@gmail.com)
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
; Usage:
|
||||
; MODE [/?]
|
||||
;
|
||||
; Operation:
|
||||
; Determines if STARTUP.CMD exists on startup drive, user 0. If it is
|
||||
; found, it is run via SUBMIT.
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
; Change Log:
|
||||
; 2017-12-01 [WBW] Initial release
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
; ToDo:
|
||||
; 1) Detect OS type (CP/M or ZSYS) and run different batch files as a result.
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
;===============================================================================
|
||||
; Definitions
|
||||
;===============================================================================
|
||||
;
|
||||
stksiz .equ $40 ; Working stack size
|
||||
;
|
||||
restart .equ $0000 ; CP/M restart vector
|
||||
bdos .equ $0005 ; BDOS invocation vector
|
||||
;
|
||||
ident .equ $FFFE ; loc of RomWBW HBIOS ident ptr
|
||||
;
|
||||
rmj .equ 2 ; intended CBIOS version - major
|
||||
rmn .equ 9 ; intended CBIOS version - minor
|
||||
;
|
||||
bf_cioinit .equ $04 ; HBIOS: CIOINIT function
|
||||
bf_cioquery .equ $05 ; HBIOS: CIOQUERY function
|
||||
bf_ciodevice .equ $06 ; HBIOS: CIODEVICE function
|
||||
bf_sysget .equ $F8 ; HBIOS: SYSGET function
|
||||
;
|
||||
;===============================================================================
|
||||
; Code Section
|
||||
;===============================================================================
|
||||
;
|
||||
.org $100
|
||||
;
|
||||
; setup stack (save old value)
|
||||
ld (stksav),sp ; save stack
|
||||
ld sp,stack ; set new stack
|
||||
;
|
||||
; initialization
|
||||
call init ; initialize
|
||||
jr nz,exit ; abort if init fails
|
||||
;
|
||||
; process
|
||||
call process ; do main processing
|
||||
jr nz,exit ; abort on error
|
||||
;
|
||||
exit: ; clean up and return to command processor
|
||||
call crlf ; formatting
|
||||
ld sp,(stksav) ; restore stack
|
||||
;jp restart ; return to CP/M via restart
|
||||
ret ; return to CP/M w/o restart
|
||||
;
|
||||
; Initialization
|
||||
;
|
||||
init:
|
||||
;
|
||||
initx
|
||||
; initialization complete
|
||||
xor a ; signal success
|
||||
ret ; return
|
||||
;
|
||||
; Process
|
||||
;
|
||||
process:
|
||||
; skip to start of first parm
|
||||
ld ix,$81 ; point to start of parm area (past len byte)
|
||||
call nonblank ; skip to next non-blank char
|
||||
jp z,runcmd ; no parms, do command processing
|
||||
;
|
||||
process1:
|
||||
; process options (if any)
|
||||
cp '/' ; option prefix?
|
||||
jp nz,erruse ; invalid option introducer
|
||||
call option ; process option
|
||||
ret nz ; some options mean we are done (e.g., "/?")
|
||||
inc ix ; skip option character
|
||||
call nonblank ; skip whitespace
|
||||
jr nz,process1 ; continue option checking
|
||||
jp runcmd ; end of parms, do cmd processing
|
||||
;
|
||||
;
|
||||
;
|
||||
runcmd:
|
||||
call ldfil ; load executable
|
||||
ret nz ; abort on error
|
||||
;
|
||||
xor a
|
||||
ret
|
||||
;
|
||||
; Load file for execution
|
||||
;
|
||||
ldfil:
|
||||
ld c,15 ; BDOS function: Open File
|
||||
ld de,fcb ; pointer to FCB
|
||||
call bdos ; do it
|
||||
inc a ; check for err, 0xFF --> 0x00
|
||||
jp z,errfil ; handle file not found err
|
||||
;
|
||||
ld c,16 ; BDOS function: Close File
|
||||
ld de,fcb ; pointer to FCB
|
||||
call bdos ; do it
|
||||
inc a ; check for err, 0xFF --> 0x00
|
||||
jp z,errfil ; handle file close err
|
||||
;
|
||||
xor a ; signal success
|
||||
ret ; done
|
||||
|
||||
|
||||
;
|
||||
; Handle options
|
||||
;
|
||||
option:
|
||||
;
|
||||
inc ix ; next char
|
||||
ld a,(ix) ; get it
|
||||
cp '?' ; is it a '?' as expected?
|
||||
jp z,usage ; yes, display usage
|
||||
jp errprm ; anything else is an error
|
||||
;
|
||||
; Display usage
|
||||
;
|
||||
usage:
|
||||
;
|
||||
call crlf ; formatting
|
||||
ld de,msgban ; point to version message part 1
|
||||
call prtstr ; print it
|
||||
call crlf2 ; blank line
|
||||
ld de,msguse ; point to usage message
|
||||
call prtstr ; print it
|
||||
or $FF ; signal no action performed
|
||||
ret ; and return
|
||||
;
|
||||
; Print character in A without destroying any registers
|
||||
;
|
||||
prtchr:
|
||||
push bc ; save registers
|
||||
push de
|
||||
push hl
|
||||
ld e,a ; character to print in E
|
||||
ld c,$02 ; BDOS function to output a character
|
||||
call bdos ; do it
|
||||
pop hl ; restore registers
|
||||
pop de
|
||||
pop bc
|
||||
ret
|
||||
;
|
||||
prtdot:
|
||||
;
|
||||
; shortcut to print a dot preserving all regs
|
||||
push af ; save af
|
||||
ld a,'.' ; load dot char
|
||||
call prtchr ; print it
|
||||
pop af ; restore af
|
||||
ret ; done
|
||||
;
|
||||
; Print a zero terminated string at (DE) without destroying any registers
|
||||
;
|
||||
prtstr:
|
||||
push de
|
||||
;
|
||||
prtstr1:
|
||||
ld a,(de) ; get next char
|
||||
or a
|
||||
jr z,prtstr2
|
||||
call prtchr
|
||||
inc de
|
||||
jr prtstr1
|
||||
;
|
||||
prtstr2:
|
||||
pop de ; restore registers
|
||||
ret
|
||||
;
|
||||
; Print the value in A in hex without destroying any registers
|
||||
;
|
||||
prthex:
|
||||
push af ; save AF
|
||||
push de ; save DE
|
||||
call hexascii ; convert value in A to hex chars in DE
|
||||
ld a,d ; get the high order hex char
|
||||
call prtchr ; print it
|
||||
ld a,e ; get the low order hex char
|
||||
call prtchr ; print it
|
||||
pop de ; restore DE
|
||||
pop af ; restore AF
|
||||
ret ; done
|
||||
;
|
||||
; print the hex word value in bc
|
||||
;
|
||||
prthexword:
|
||||
push af
|
||||
ld a,b
|
||||
call prthex
|
||||
ld a,c
|
||||
call prthex
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
; print the hex dword value in de:hl
|
||||
;
|
||||
prthex32:
|
||||
push bc
|
||||
push de
|
||||
pop bc
|
||||
call prthexword
|
||||
push hl
|
||||
pop bc
|
||||
call prthexword
|
||||
pop bc
|
||||
ret
|
||||
;
|
||||
; Convert binary value in A to ascii hex characters in DE
|
||||
;
|
||||
hexascii:
|
||||
ld d,a ; save A in D
|
||||
call hexconv ; convert low nibble of A to hex
|
||||
ld e,a ; save it in E
|
||||
ld a,d ; get original value back
|
||||
rlca ; rotate high order nibble to low bits
|
||||
rlca
|
||||
rlca
|
||||
rlca
|
||||
call hexconv ; convert nibble
|
||||
ld d,a ; save it in D
|
||||
ret ; done
|
||||
;
|
||||
; Convert low nibble of A to ascii hex
|
||||
;
|
||||
hexconv:
|
||||
and $0F ; low nibble only
|
||||
add a,$90
|
||||
daa
|
||||
adc a,$40
|
||||
daa
|
||||
ret
|
||||
;
|
||||
; Print value of A or HL in decimal with leading zero suppression
|
||||
; Use prtdecb for A or prtdecw for HL
|
||||
;
|
||||
prtdecb:
|
||||
push hl
|
||||
ld h,0
|
||||
ld l,a
|
||||
call prtdecw ; print it
|
||||
pop hl
|
||||
ret
|
||||
;
|
||||
prtdecw:
|
||||
push af
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
call prtdec0
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
prtdec0:
|
||||
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
|
||||
prtdec1:
|
||||
ld a,'0' - 1
|
||||
prtdec2:
|
||||
inc a
|
||||
add hl,bc
|
||||
jr c,prtdec2
|
||||
sbc hl,bc
|
||||
cp e
|
||||
ret z
|
||||
ld e,0
|
||||
call prtchr
|
||||
ret
|
||||
;
|
||||
; Start a new line
|
||||
;
|
||||
crlf2:
|
||||
call crlf ; two of them
|
||||
crlf:
|
||||
push af ; preserve AF
|
||||
ld a,13 ; <CR>
|
||||
call prtchr ; print it
|
||||
ld a,10 ; <LF>
|
||||
call prtchr ; print it
|
||||
pop af ; restore AF
|
||||
ret
|
||||
;
|
||||
; Get the next non-blank character from (HL).
|
||||
;
|
||||
nonblank:
|
||||
ld a,(ix) ; load next character
|
||||
or a ; string ends with a null
|
||||
ret z ; if null, return pointing to null
|
||||
cp ' ' ; check for blank
|
||||
ret nz ; return if not blank
|
||||
inc ix ; if blank, increment character pointer
|
||||
jr nonblank ; and loop
|
||||
;
|
||||
; Convert character in A to uppercase
|
||||
;
|
||||
ucase:
|
||||
cp 'a' ; if below 'a'
|
||||
ret c ; ... do nothing and return
|
||||
cp 'z' + 1 ; if above 'z'
|
||||
ret nc ; ... do nothing and return
|
||||
res 5,a ; clear bit 5 to make lower case -> upper case
|
||||
ret ; and return
|
||||
;
|
||||
; Add the value in A to HL (HL := HL + A)
|
||||
;
|
||||
addhl:
|
||||
add a,l ; A := A + L
|
||||
ld l,a ; Put result back in L
|
||||
ret nc ; if no carry, we are done
|
||||
inc h ; if carry, increment H
|
||||
ret ; and return
|
||||
;
|
||||
; Jump indirect to address in HL
|
||||
;
|
||||
jphl:
|
||||
jp (hl)
|
||||
;
|
||||
; Errors
|
||||
;
|
||||
erruse: ; command usage error (syntax)
|
||||
ld de,msguse
|
||||
jr err
|
||||
;
|
||||
errprm: ; command parameter error (syntax)
|
||||
ld de,msgprm
|
||||
jr err
|
||||
;
|
||||
errfil: ; STARTUP.CMD file not present
|
||||
ld de,msgfil
|
||||
jr err
|
||||
;
|
||||
err: ; print error string and return error signal
|
||||
call crlf ; print newline
|
||||
;
|
||||
err1: ; without the leading crlf
|
||||
call prtstr ; print error string
|
||||
;
|
||||
err2: ; without the string
|
||||
; call crlf ; print newline
|
||||
or $FF ; signal error
|
||||
ret ; done
|
||||
;
|
||||
;===============================================================================
|
||||
; Storage Section
|
||||
;===============================================================================
|
||||
;
|
||||
fcb .db 0 ; Drive code, 0 = current drive
|
||||
.db "START " ; File name, 8 chars
|
||||
.db "COM" ; File type, 3 chars
|
||||
.fill 36-($-fcb),0 ; zero fill remainder of fcb
|
||||
;
|
||||
cmdblk .db cmdlen ; length
|
||||
cmdtxt .db " B:SUBMIT START"
|
||||
.db 0 ; null terminator
|
||||
cmdlen .equ $ - cmdtxt
|
||||
cmdend .equ $
|
||||
;
|
||||
stksav .dw 0 ; stack pointer saved at start
|
||||
.fill stksiz,0 ; stack
|
||||
stack .equ $ ; stack top
|
||||
;
|
||||
; Messages
|
||||
;
|
||||
msgban .db "STARTUP v1.0, 01-Dec-2017",13,10
|
||||
.db "Copyright (C) 2017, Wayne Warthen, GNU GPL v3",0
|
||||
msguse .db "Usage: STARTUP [/?]",0
|
||||
msgprm .db "Parameter error (STARTUP /? for usage)",0
|
||||
msgfil .db "STARTUP.CMD file missing",0
|
||||
;
|
||||
.end
|
||||
;===============================================================================
|
||||
; STARTUP - Application run automatically at OS startup
|
||||
;
|
||||
;===============================================================================
|
||||
;
|
||||
; Author: Wayne Warthen (wwarthen@gmail.com)
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
; Usage:
|
||||
; MODE [/?]
|
||||
;
|
||||
; Operation:
|
||||
; Determines if STARTUP.CMD exists on startup drive, user 0. If it is
|
||||
; found, it is run via SUBMIT.
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
; Change Log:
|
||||
; 2017-12-01 [WBW] Initial release
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
; ToDo:
|
||||
; 1) Detect OS type (CP/M or ZSYS) and run different batch files as a result.
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
;===============================================================================
|
||||
; Definitions
|
||||
;===============================================================================
|
||||
;
|
||||
stksiz .equ $40 ; Working stack size
|
||||
;
|
||||
restart .equ $0000 ; CP/M restart vector
|
||||
bdos .equ $0005 ; BDOS invocation vector
|
||||
;
|
||||
ident .equ $FFFC ; loc of RomWBW HBIOS ident ptr
|
||||
;
|
||||
rmj .equ 2 ; intended CBIOS version - major
|
||||
rmn .equ 9 ; intended CBIOS version - minor
|
||||
;
|
||||
bf_cioinit .equ $04 ; HBIOS: CIOINIT function
|
||||
bf_cioquery .equ $05 ; HBIOS: CIOQUERY function
|
||||
bf_ciodevice .equ $06 ; HBIOS: CIODEVICE function
|
||||
bf_sysget .equ $F8 ; HBIOS: SYSGET function
|
||||
;
|
||||
;===============================================================================
|
||||
; Code Section
|
||||
;===============================================================================
|
||||
;
|
||||
.org $100
|
||||
;
|
||||
; setup stack (save old value)
|
||||
ld (stksav),sp ; save stack
|
||||
ld sp,stack ; set new stack
|
||||
;
|
||||
; initialization
|
||||
call init ; initialize
|
||||
jr nz,exit ; abort if init fails
|
||||
;
|
||||
; process
|
||||
call process ; do main processing
|
||||
jr nz,exit ; abort on error
|
||||
;
|
||||
exit: ; clean up and return to command processor
|
||||
call crlf ; formatting
|
||||
ld sp,(stksav) ; restore stack
|
||||
;jp restart ; return to CP/M via restart
|
||||
ret ; return to CP/M w/o restart
|
||||
;
|
||||
; Initialization
|
||||
;
|
||||
init:
|
||||
;
|
||||
initx
|
||||
; initialization complete
|
||||
xor a ; signal success
|
||||
ret ; return
|
||||
;
|
||||
; Process
|
||||
;
|
||||
process:
|
||||
; skip to start of first parm
|
||||
ld ix,$81 ; point to start of parm area (past len byte)
|
||||
call nonblank ; skip to next non-blank char
|
||||
jp z,runcmd ; no parms, do command processing
|
||||
;
|
||||
process1:
|
||||
; process options (if any)
|
||||
cp '/' ; option prefix?
|
||||
jp nz,erruse ; invalid option introducer
|
||||
call option ; process option
|
||||
ret nz ; some options mean we are done (e.g., "/?")
|
||||
inc ix ; skip option character
|
||||
call nonblank ; skip whitespace
|
||||
jr nz,process1 ; continue option checking
|
||||
jp runcmd ; end of parms, do cmd processing
|
||||
;
|
||||
;
|
||||
;
|
||||
runcmd:
|
||||
call ldfil ; load executable
|
||||
ret nz ; abort on error
|
||||
;
|
||||
xor a
|
||||
ret
|
||||
;
|
||||
; Load file for execution
|
||||
;
|
||||
ldfil:
|
||||
ld c,15 ; BDOS function: Open File
|
||||
ld de,fcb ; pointer to FCB
|
||||
call bdos ; do it
|
||||
inc a ; check for err, 0xFF --> 0x00
|
||||
jp z,errfil ; handle file not found err
|
||||
;
|
||||
ld c,16 ; BDOS function: Close File
|
||||
ld de,fcb ; pointer to FCB
|
||||
call bdos ; do it
|
||||
inc a ; check for err, 0xFF --> 0x00
|
||||
jp z,errfil ; handle file close err
|
||||
;
|
||||
xor a ; signal success
|
||||
ret ; done
|
||||
|
||||
|
||||
;
|
||||
; Handle options
|
||||
;
|
||||
option:
|
||||
;
|
||||
inc ix ; next char
|
||||
ld a,(ix) ; get it
|
||||
cp '?' ; is it a '?' as expected?
|
||||
jp z,usage ; yes, display usage
|
||||
jp errprm ; anything else is an error
|
||||
;
|
||||
; Display usage
|
||||
;
|
||||
usage:
|
||||
;
|
||||
call crlf ; formatting
|
||||
ld de,msgban ; point to version message part 1
|
||||
call prtstr ; print it
|
||||
call crlf2 ; blank line
|
||||
ld de,msguse ; point to usage message
|
||||
call prtstr ; print it
|
||||
or $FF ; signal no action performed
|
||||
ret ; and return
|
||||
;
|
||||
; Print character in A without destroying any registers
|
||||
;
|
||||
prtchr:
|
||||
push bc ; save registers
|
||||
push de
|
||||
push hl
|
||||
ld e,a ; character to print in E
|
||||
ld c,$02 ; BDOS function to output a character
|
||||
call bdos ; do it
|
||||
pop hl ; restore registers
|
||||
pop de
|
||||
pop bc
|
||||
ret
|
||||
;
|
||||
prtdot:
|
||||
;
|
||||
; shortcut to print a dot preserving all regs
|
||||
push af ; save af
|
||||
ld a,'.' ; load dot char
|
||||
call prtchr ; print it
|
||||
pop af ; restore af
|
||||
ret ; done
|
||||
;
|
||||
; Print a zero terminated string at (DE) without destroying any registers
|
||||
;
|
||||
prtstr:
|
||||
push de
|
||||
;
|
||||
prtstr1:
|
||||
ld a,(de) ; get next char
|
||||
or a
|
||||
jr z,prtstr2
|
||||
call prtchr
|
||||
inc de
|
||||
jr prtstr1
|
||||
;
|
||||
prtstr2:
|
||||
pop de ; restore registers
|
||||
ret
|
||||
;
|
||||
; Print the value in A in hex without destroying any registers
|
||||
;
|
||||
prthex:
|
||||
push af ; save AF
|
||||
push de ; save DE
|
||||
call hexascii ; convert value in A to hex chars in DE
|
||||
ld a,d ; get the high order hex char
|
||||
call prtchr ; print it
|
||||
ld a,e ; get the low order hex char
|
||||
call prtchr ; print it
|
||||
pop de ; restore DE
|
||||
pop af ; restore AF
|
||||
ret ; done
|
||||
;
|
||||
; print the hex word value in bc
|
||||
;
|
||||
prthexword:
|
||||
push af
|
||||
ld a,b
|
||||
call prthex
|
||||
ld a,c
|
||||
call prthex
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
; print the hex dword value in de:hl
|
||||
;
|
||||
prthex32:
|
||||
push bc
|
||||
push de
|
||||
pop bc
|
||||
call prthexword
|
||||
push hl
|
||||
pop bc
|
||||
call prthexword
|
||||
pop bc
|
||||
ret
|
||||
;
|
||||
; Convert binary value in A to ascii hex characters in DE
|
||||
;
|
||||
hexascii:
|
||||
ld d,a ; save A in D
|
||||
call hexconv ; convert low nibble of A to hex
|
||||
ld e,a ; save it in E
|
||||
ld a,d ; get original value back
|
||||
rlca ; rotate high order nibble to low bits
|
||||
rlca
|
||||
rlca
|
||||
rlca
|
||||
call hexconv ; convert nibble
|
||||
ld d,a ; save it in D
|
||||
ret ; done
|
||||
;
|
||||
; Convert low nibble of A to ascii hex
|
||||
;
|
||||
hexconv:
|
||||
and $0F ; low nibble only
|
||||
add a,$90
|
||||
daa
|
||||
adc a,$40
|
||||
daa
|
||||
ret
|
||||
;
|
||||
; Print value of A or HL in decimal with leading zero suppression
|
||||
; Use prtdecb for A or prtdecw for HL
|
||||
;
|
||||
prtdecb:
|
||||
push hl
|
||||
ld h,0
|
||||
ld l,a
|
||||
call prtdecw ; print it
|
||||
pop hl
|
||||
ret
|
||||
;
|
||||
prtdecw:
|
||||
push af
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
call prtdec0
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
prtdec0:
|
||||
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
|
||||
prtdec1:
|
||||
ld a,'0' - 1
|
||||
prtdec2:
|
||||
inc a
|
||||
add hl,bc
|
||||
jr c,prtdec2
|
||||
sbc hl,bc
|
||||
cp e
|
||||
ret z
|
||||
ld e,0
|
||||
call prtchr
|
||||
ret
|
||||
;
|
||||
; Start a new line
|
||||
;
|
||||
crlf2:
|
||||
call crlf ; two of them
|
||||
crlf:
|
||||
push af ; preserve AF
|
||||
ld a,13 ; <CR>
|
||||
call prtchr ; print it
|
||||
ld a,10 ; <LF>
|
||||
call prtchr ; print it
|
||||
pop af ; restore AF
|
||||
ret
|
||||
;
|
||||
; Get the next non-blank character from (HL).
|
||||
;
|
||||
nonblank:
|
||||
ld a,(ix) ; load next character
|
||||
or a ; string ends with a null
|
||||
ret z ; if null, return pointing to null
|
||||
cp ' ' ; check for blank
|
||||
ret nz ; return if not blank
|
||||
inc ix ; if blank, increment character pointer
|
||||
jr nonblank ; and loop
|
||||
;
|
||||
; Convert character in A to uppercase
|
||||
;
|
||||
ucase:
|
||||
cp 'a' ; if below 'a'
|
||||
ret c ; ... do nothing and return
|
||||
cp 'z' + 1 ; if above 'z'
|
||||
ret nc ; ... do nothing and return
|
||||
res 5,a ; clear bit 5 to make lower case -> upper case
|
||||
ret ; and return
|
||||
;
|
||||
; Add the value in A to HL (HL := HL + A)
|
||||
;
|
||||
addhl:
|
||||
add a,l ; A := A + L
|
||||
ld l,a ; Put result back in L
|
||||
ret nc ; if no carry, we are done
|
||||
inc h ; if carry, increment H
|
||||
ret ; and return
|
||||
;
|
||||
; Jump indirect to address in HL
|
||||
;
|
||||
jphl:
|
||||
jp (hl)
|
||||
;
|
||||
; Errors
|
||||
;
|
||||
erruse: ; command usage error (syntax)
|
||||
ld de,msguse
|
||||
jr err
|
||||
;
|
||||
errprm: ; command parameter error (syntax)
|
||||
ld de,msgprm
|
||||
jr err
|
||||
;
|
||||
errfil: ; STARTUP.CMD file not present
|
||||
ld de,msgfil
|
||||
jr err
|
||||
;
|
||||
err: ; print error string and return error signal
|
||||
call crlf ; print newline
|
||||
;
|
||||
err1: ; without the leading crlf
|
||||
call prtstr ; print error string
|
||||
;
|
||||
err2: ; without the string
|
||||
; call crlf ; print newline
|
||||
or $FF ; signal error
|
||||
ret ; done
|
||||
;
|
||||
;===============================================================================
|
||||
; Storage Section
|
||||
;===============================================================================
|
||||
;
|
||||
fcb .db 0 ; Drive code, 0 = current drive
|
||||
.db "START " ; File name, 8 chars
|
||||
.db "COM" ; File type, 3 chars
|
||||
.fill 36-($-fcb),0 ; zero fill remainder of fcb
|
||||
;
|
||||
cmdblk .db cmdlen ; length
|
||||
cmdtxt .db " B:SUBMIT START"
|
||||
.db 0 ; null terminator
|
||||
cmdlen .equ $ - cmdtxt
|
||||
cmdend .equ $
|
||||
;
|
||||
stksav .dw 0 ; stack pointer saved at start
|
||||
.fill stksiz,0 ; stack
|
||||
stack .equ $ ; stack top
|
||||
;
|
||||
; Messages
|
||||
;
|
||||
msgban .db "STARTUP v1.0, 01-Dec-2017",13,10
|
||||
.db "Copyright (C) 2017, Wayne Warthen, GNU GPL v3",0
|
||||
msguse .db "Usage: STARTUP [/?]",0
|
||||
msgprm .db "Parameter error (STARTUP /? for usage)",0
|
||||
msgfil .db "STARTUP.CMD file missing",0
|
||||
;
|
||||
.end
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -10,8 +10,9 @@ call BuildZRC || exit /b
|
||||
call BuildZ1RCC || exit /b
|
||||
call BuildZZRCC || exit /b
|
||||
call BuildZRC512 || exit /b
|
||||
call BuildFZ80 || exit /b
|
||||
call BuildSZ80 || exit /b
|
||||
call BuildEZ512 || exit /b
|
||||
call BuildMSX || exit /b
|
||||
|
||||
if "%1" == "dist" (
|
||||
call Clean || exit /b
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
pushd FZ80 && call Build || exit /b & popd
|
||||
4
Source/BuildMSX.cmd
Normal file
4
Source/BuildMSX.cmd
Normal file
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
pushd MSX && call Build || exit /b & popd
|
||||
4
Source/BuildSZ80.cmd
Normal file
4
Source/BuildSZ80.cmd
Normal file
@@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
pushd SZ80 && call Build || exit /b & popd
|
||||
@@ -3408,7 +3408,7 @@ DEVTBL: ; DEVICE TABLE
|
||||
.DW DEV04, DEV05, DEV06, DEV07
|
||||
.DW DEV08, DEV09, DEV10, DEV11
|
||||
.DW DEV12, DEV13, DEV14, DEV15
|
||||
.DW DEV16
|
||||
.DW DEV16, DEV17
|
||||
;
|
||||
DEVUNK .DB "???$"
|
||||
DEV00 .DB "MD$"
|
||||
@@ -3427,7 +3427,8 @@ DEV12 .DB "SYQ$"
|
||||
DEV13 .DB "CHUSB$"
|
||||
DEV14 .DB "CHSD$"
|
||||
DEV15 .DB "USB$"
|
||||
DEV16 .EQU DEVUNK
|
||||
DEV16 .DB "ESPSD$"
|
||||
DEV17 .EQU DEVUNK
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
|
||||
@@ -26,3 +26,5 @@ pushd Doc && call Clean & popd
|
||||
pushd ZRC && call Clean & popd
|
||||
pushd Z1RCC && call Clean & popd
|
||||
pushd ZZRCC && call Clean & popd
|
||||
pushd MSX && call Clean & popd
|
||||
pushd EZ512 && call Clean & popd
|
||||
|
||||
@@ -330,8 +330,8 @@ and display the contents in hexadecimal.
|
||||
|
||||
**`K`** - Echo any key-presses from the terminal. Press 'ESC' key
|
||||
to quit. This facility provides that any key stroke sent to
|
||||
the computer will be echoed back to the terminal. File down
|
||||
loads will be echoed as well while this facility is ‘on’.
|
||||
the computer will be echoed back to the terminal. File downloads
|
||||
will be echoed as well while this facility is ‘on’.
|
||||
|
||||
#### Load Hex
|
||||
|
||||
@@ -364,7 +364,7 @@ Use clip leaded LEDs to confirm the data written.
|
||||
#### Program Memory
|
||||
|
||||
**`P xxxx`** - Program memory location xxxx. This routine will
|
||||
allow you to program a hexadecimal value 'into memory starting
|
||||
allow you to program a hexadecimal value into memory starting
|
||||
at location xxxx. Press 'Enter' on a blank line to
|
||||
return to the Monitor prompt.
|
||||
|
||||
@@ -496,14 +496,14 @@ A comprehensive instruction manual is available in the Doc/Contrib directory.
|
||||
|
||||
TastyBASIC offers a minimal implementation of BASIC that is only 2304
|
||||
bytes in size. It originates from Li-Chen Wang's Palo Alto Tiny BASIC
|
||||
from around 1976. It's small size is suited the tiny memory capacities of
|
||||
from around 1976. It's small size suited the tiny memory capacities of
|
||||
the time. This implementation is by Dimitri Theulings and his original
|
||||
source can be found at <https://github.com/dimitrit/tastybasic>.
|
||||
|
||||
### Features / Limitations
|
||||
|
||||
- Integer arithmetic, numbers -32767 to 32767
|
||||
- Singles letter variables A-Z
|
||||
- Single letter variables A-Z
|
||||
- 1-dimensional array support
|
||||
- Strings are not supported
|
||||
|
||||
@@ -587,12 +587,12 @@ Extensions and changes to this implementation compared to the original distribut
|
||||
|
||||
| Word | Syntax | Description |
|
||||
|------|----------------------------|-------------------------------|
|
||||
| D+ | d1 d2 -- d1+d2 | Add double numbers |
|
||||
| 2>R | d -- | 2 to R |
|
||||
| 2R> | d -- | fetch 2 from R |
|
||||
| M*/ | d1 n2 u3 -- d=(d1*n2)/u3 | double precision mult. div |
|
||||
| SVC | hl de bc n -- hl de bc af | Execute a RomWBW function |
|
||||
| P! | n p -- | Write a byte to a I/O port |
|
||||
| D+ | d1 d2 -- d1+d2 | Add double numbers |
|
||||
| 2>R | d -- | 2 to R |
|
||||
| 2R> | d -- | fetch 2 from R |
|
||||
| M\*/ | d1 n2 u3 -- d=(d1\*n2)/u3 | double precision mult. div |
|
||||
| SVC | hl de bc n -- hl de bc af | Execute a RomWBW function |
|
||||
| P! | n p -- | Write a byte to a I/O port |
|
||||
| P@ | p -- n | Read a byte from and I/O port |
|
||||
|
||||
## Play a Game (2048)
|
||||
@@ -721,10 +721,10 @@ character-input/output device is to be used as the serial device for transfer.
|
||||
|
||||
When your console is the serial device used for the transfer, no progress
|
||||
information is displayed as this would disrupt the x-modem file transfer.
|
||||
If you use an alternate character-input/output devices as the serial device
|
||||
If you use an alternate character-input/output device as the serial device
|
||||
for the transfer then progress information will be displayed on the console device.
|
||||
|
||||
Due to different platform processor speeds, serials speeds and flow
|
||||
Due to different platform processor speeds, serial speeds and flow
|
||||
control capabilities the default console or serial device speed may
|
||||
need to be reduced for a successful transfer and flash to occur.
|
||||
The **Set Console Interface/Baud code** option at the Boot Loader can
|
||||
@@ -758,14 +758,14 @@ Option ( < ) - Revert to Original Baud Rate
|
||||
|
||||
Option ( U ) - Begin Update
|
||||
|
||||
The will begin the update process. The updater will expect to start receiving
|
||||
This will begin the update process. The updater will expect to start receiving
|
||||
an x-modem file on the serial device unit.
|
||||
|
||||
X-modem sends the file in packets of 128 bytes. The updater will cache 32
|
||||
packets which is 1 flash sector and then write that sector to the
|
||||
flash device.
|
||||
|
||||
If using separate console, bank and sector progress information will shown
|
||||
If using separate console, bank and sector progress information will be shown
|
||||
|
||||
```
|
||||
BANK 00 s00 s01 s02 s03 s04 s05 s06 s06 s07
|
||||
@@ -819,7 +819,7 @@ Option ( 3 ) - Calculate and display CRC32 of a 1024k (2x512Kb) ROM.
|
||||
|
||||
Can be used to verify if a ROM image has been transferred and flashed
|
||||
correctly. Refer to the Tera Term section below for details on
|
||||
configuring the automatic display of a files CRC after it has been
|
||||
configuring the automatic display of a file's CRC after it has been
|
||||
transferred.
|
||||
|
||||
In Windows, right clicking on a file should also give you a context
|
||||
@@ -837,7 +837,7 @@ process could be worthwhile if you are:
|
||||
* Doing development on RomWBW drivers
|
||||
|
||||
Macros can be used to automate sending ROM updates or images and
|
||||
for my own purposed I have set up a separate macro for transferring
|
||||
for my own purpose I have set up a separate macro for transferring
|
||||
each of the standard build ROM, my own custom configuration ROM
|
||||
and update ROM.
|
||||
|
||||
@@ -883,7 +883,6 @@ Feedback to the RomWBW developers on these guidelines would be appreciated.
|
||||
|
||||
### Notes
|
||||
|
||||
Notes
|
||||
* All testing was done with Tera Term x-modem, Forcing checksum mode
|
||||
using macros was found to give the most reliable transfer.
|
||||
* Partial writes can be completed with 39SF040 chips. Other chips
|
||||
@@ -925,7 +924,7 @@ Users should not remove this check from the templated code.
|
||||
If required, the user application may make use of the Z80 interrupt system
|
||||
but if the user application wishes to rely on HBIOS functionality then it
|
||||
must adhere to the HBIOS framework for managing interupts. Alternatively,
|
||||
if the user appliction has no need for the HBIOS then it may use its own
|
||||
if the user application has no need for the HBIOS then it may use its own
|
||||
custom code for handling interrupts. In that case, a hard reset, rather
|
||||
than an HBIOS warm start, would be necessary to return control to RomWBW.
|
||||
|
||||
@@ -1020,9 +1019,9 @@ Disk-based CP/M:
|
||||
|
||||
For systems starting CP/M from a disk created from an image file, there are a small number
|
||||
of additional applications stored in the ```USER 2``` area of the disk. These applications
|
||||
do not form part of CP/M, but rather are small utilities used for test purposes during develpment work.
|
||||
They may, or may not, fuction correctly with any given hardware or software configuration.
|
||||
Documentation for these untilities is very limited, though the source files maybe found
|
||||
do not form part of CP/M, but rather are small utilities used for test purposes during development work.
|
||||
They may, or may not, function correctly with any given hardware or software configuration.
|
||||
Documentation for these utilities is very limited, though the source files may be found
|
||||
in the /Source folder. Note that these utiltites are not available when starting CP/M
|
||||
from the ROM image or from a floppy disk.
|
||||
|
||||
@@ -1332,6 +1331,11 @@ Use `CLRDIR` with caution as changes made to disks by `CLRDIR` cannot be undone.
|
||||
If `CLRDIR` is used on disk containing data then the directory area will be
|
||||
reinitialised and the data previously stored will be lost.
|
||||
|
||||
**WARNING**: Earlier versions of the `CLRDIR` application do not
|
||||
appear to check for disk errors when it runs. If you attempt to run
|
||||
`CLRDIR` on a drive that is mapped to a slice that does not actually fit
|
||||
on the physical disk, it may behave erratically.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## CPUSPD (CPU Speed)
|
||||
@@ -1349,13 +1353,15 @@ The functionality is highly dependent on the capabilities of your system.
|
||||
|
||||
#### Syntax
|
||||
|
||||
| `CPUSPD [`*`<speed>`*`[,[`*`<memws>`*`][,[`*`<iows>`*`]]]`
|
||||
| `CPUSPD [`*\<speed\>*`[,[`*\<memws\>*`][,[`*\<iows\>*`]]]`
|
||||
| `CPUSPD (W)armBoot`
|
||||
| `CPUSPD (C)oldBoot`
|
||||
|
||||
*`<speed>`* is one of (H)alf, (F)ull, (D)ouble, or (Q)uad.
|
||||
*`<memws>`* is a number specifying the desired memory wait states.
|
||||
*`<iows>`* is a number specifying the desired I/O wait states.
|
||||
*\<speed\>* is one of (H)alf, (F)ull, (D)ouble, or (Q)uad.
|
||||
|
||||
*\<memws\>* is a number specifying the desired memory wait states.
|
||||
|
||||
*\<iows\>* is a number specifying the desired I/O wait states.
|
||||
|
||||
#### Usage
|
||||
|
||||
@@ -1364,7 +1370,7 @@ and wait state information of the running system. Wait state
|
||||
information is not available for all systems.
|
||||
|
||||
To modify the running speed of a system, you can specify the
|
||||
`*`<speed>`*` parameter. To modify either or both of the wait
|
||||
*\<speed\>* parameter. To modify either or both of the wait
|
||||
states, you can enter the desired number. Either or both of the wait
|
||||
state parameters may be omitted and the current wait state settings
|
||||
will remain in effect.
|
||||
@@ -1431,20 +1437,20 @@ The source code is provided in the RomWBW distribution.
|
||||
The purpose of this utility is to allow the copying of whole disk slices
|
||||
from one disk slice to another slice
|
||||
|
||||
This tool is only supported by RomWBW HBIOS, it uses HDIOS for all its
|
||||
This tool is only supported by RomWBW HBIOS; it uses HBIOS for all its
|
||||
disk IO. UNA UBIOS is not supported by this tool.
|
||||
|
||||
This tool is running on CP/M 2.2 or 3.0 and has access to full 64kb of
|
||||
RAM, with a minimum of 48kb TPA
|
||||
|
||||
This tool only works with hard disk devices, other media types like
|
||||
This tool only works with hard disk devices; other media types like
|
||||
floppy, are not supported at this time. This tool works across different
|
||||
hard disk device types, even of different physical type
|
||||
|
||||
Both hd1k and hd512 are fully supported, however copying from one layout
|
||||
type to the other is not supported.
|
||||
|
||||
During operation data is copied in a single read/write pass, data is not
|
||||
During operation, data is copied in a single read/write pass; data is not
|
||||
verified by default. If there is a write error, it will be reported, and
|
||||
operation will stop.
|
||||
|
||||
@@ -1472,7 +1478,7 @@ V - Verify. Does an additional read and verify after write.
|
||||
|
||||
#### Usage
|
||||
|
||||
When run COPYSL will perform command line argument validation and display
|
||||
When run, COPYSL will perform command line argument validation and display
|
||||
an error if they are illegal. Also any disk IO errors will cause COPYSL
|
||||
to exit.
|
||||
|
||||
@@ -1724,7 +1730,7 @@ to format and test floppy disk media.
|
||||
|
||||
#### Syntax
|
||||
|
||||
`FDU`
|
||||
| `FDU`
|
||||
|
||||
#### Usage
|
||||
|
||||
@@ -1761,7 +1767,7 @@ provided in the RomWBW distribution.
|
||||
| Disk-based |Yes|
|
||||
|
||||
Most of the hardware platforms that run RomWBW support the use of
|
||||
EEPROMs -- Electronically Erasable Programmable ROMs. The `FLASH`
|
||||
EEPROMs -- Electrically Erasable Programmable ROMs. The `FLASH`
|
||||
application can be used to reprogram such ROMS in-situ (in-place),
|
||||
thus making it possible to upgrade ROMs without a programmer or even
|
||||
removing the ROM from your system.
|
||||
@@ -1794,7 +1800,7 @@ Options:
|
||||
#### Usage
|
||||
|
||||
To program your EEPROM ROM chip, first transfer the file to your
|
||||
RomWBW system. Then use the command `FLASH WRITE *`<filename>`*. The
|
||||
RomWBW system. Then use the command `FLASH WRITE `*\<filename\>*. The
|
||||
application will auto-detect the type of EEPROM chip you have,
|
||||
program it, and verify it.
|
||||
|
||||
@@ -1845,7 +1851,7 @@ make it simpler to format media including floppy disks.
|
||||
|
||||
#### Syntax
|
||||
|
||||
`FORMAT`
|
||||
| `FORMAT`
|
||||
|
||||
#### Notes
|
||||
|
||||
@@ -1872,16 +1878,16 @@ against HBIOS Character Units.
|
||||
|
||||
#### Syntax
|
||||
|
||||
`HTALK COMn:`
|
||||
| `HTALK `*<unit>*
|
||||
|
||||
#### Usage
|
||||
|
||||
`HTALK` operates at the HBIOS level.
|
||||
|
||||
The parameter to `TALK` refers to a HBIOS character unit. Upon
|
||||
execution all characters typed at the console will be sent to the
|
||||
device specified and all characters received by the specified device
|
||||
will be echoed on the console.
|
||||
The *<unit>* parameter to `TALK` is a single number referring to an HBIOS
|
||||
character unit. Upon execution all characters typed at the console will
|
||||
be sent to the device specified and all characters received by the
|
||||
specified device will be echoed on the console.
|
||||
|
||||
Press Control+Z on the console to terminate the application.
|
||||
|
||||
@@ -1908,8 +1914,8 @@ ports dynamically.
|
||||
|
||||
#### Syntax
|
||||
|
||||
`MODE /?`
|
||||
`MODE COM`*`<n>`*`: [`*`<baud>`*`[,`*`<parity>`*`[,`*`<databits>`*`[,`*`<stopbits>`*`]]]] [/P]`
|
||||
| `MODE /?`
|
||||
| `MODE COM`*`<n>`*`: [`*`<baud>`*`[,`*`<parity>`*`[,`*`<databits>`*`[,`*`<stopbits>`*`]]]] [/P]`
|
||||
|
||||
`/?` displays command usage and version information
|
||||
|
||||
@@ -2024,7 +2030,7 @@ and set the time and registers of the RTC.
|
||||
|
||||
#### Syntax
|
||||
|
||||
`RTC`
|
||||
| `RTC`
|
||||
|
||||
#### Usage
|
||||
|
||||
@@ -2076,14 +2082,14 @@ support most of the hardware variations included with RomWBW.
|
||||
|
||||
Display or change the label of a disk slice.
|
||||
|
||||
The label applied is only used as informational purposes, displayed by RomWBW
|
||||
The label applied is only used for informational purposes, displayed by RomWBW
|
||||
when an OS is booted. It has no correlation with any OS volume label scheme
|
||||
that may exist. i.e. It does not affect the CP/M 3 disk label as applied by
|
||||
the `SET` command
|
||||
|
||||
#### Syntax
|
||||
|
||||
`SLABEL [unit.slice=label] [/?]`
|
||||
| `SLABEL [unit.slice=label] [/?]`
|
||||
|
||||
`unit.slice` the disk unit and slice number to apply the new label to. This
|
||||
is in the same format as when booting the system to a disk
|
||||
@@ -2108,7 +2114,7 @@ This will only display labels for the first 64 slices of any device. Slices
|
||||
higher than this are currently ignored.
|
||||
|
||||
Only bootable RomWBW disk images have a label, which is defined by the OS
|
||||
which is booted. i.e. NZ-COM has a label of "ZSDOS 1.1" since that is the
|
||||
that is booted. i.e. NZ-COM has a label of "ZSDOS 1.1" since that is the
|
||||
booted OS. Prior to RomWBW 3.5 all disk images were defined with the label
|
||||
"Unlabeled".
|
||||
|
||||
@@ -2164,7 +2170,7 @@ discover ports that are 'write-only'.
|
||||
| Disk-based |Yes|
|
||||
|
||||
System Configuration (`SYSCONF`) is a utility that allows system configuration to
|
||||
be set, dynamically and stored in NVRAM provided by an RTC chip.
|
||||
be set dynamically and stored in NVRAM provided by an RTC chip.
|
||||
|
||||
(`SYSCONF`) is both a ROM utility ('W' Menu option), and a CP/M application.
|
||||
Noting however the CP/M application is not included on an disk image, it is found in
|
||||
@@ -2200,7 +2206,6 @@ Commands:
|
||||
(H)elp [{SW}] - This help menu, or help on a switch
|
||||
e(X)it - Exit Configuration
|
||||
|
||||
$
|
||||
```
|
||||
|
||||
When you run (`SYSCONF`) for the first time the NVRAM will be uninitialised, and can
|
||||
@@ -2220,7 +2225,7 @@ To exit from the application use the (Q)uit command.
|
||||
|
||||
#### Commands and Syntax
|
||||
|
||||
The following are the accepted commands, unless otherwise specified a "Space"
|
||||
The following are the accepted commands, unless otherwise specified. A "Space"
|
||||
character is used to delimit parameters in the command.
|
||||
|
||||
| Command | Argument(s) | Description |
|
||||
@@ -2254,7 +2259,7 @@ Making changes to auto boot has no affect until the next reboot.
|
||||
| Type | Arguments | Description |
|
||||
|----------|------------|--------------------------------------------------------|
|
||||
| Enable | 'E' | Auto Boot. eg. "E,10" will auto boot, after 10 seconds |
|
||||
| | Timout | Timeout in seconds in the range 0-15, 0 = immediate |
|
||||
| | Timeout | Timeout in seconds in the range 0-15, 0 = immediate |
|
||||
| Disabled | 'D' | No Auto Boot. e.g. "D" will disable autoboot |
|
||||
|
||||
**Examples**
|
||||
@@ -2360,7 +2365,7 @@ considered its own operating system. Each slice can be made bootable
|
||||
with its own system tracks.
|
||||
|
||||
`SYSCOPY` uses drive letters to specify where to read/write the system
|
||||
boot images. However, at startup, the boot loaded will require you to
|
||||
boot images. However, at startup, the boot(?) loaded will require you to
|
||||
enter the actual disk device and slice to boot from. So, you need to
|
||||
be careful to pay attention to the device and slice that is assigned
|
||||
to a drive letter so you will know what to enter at the boot loader
|
||||
@@ -2372,10 +2377,10 @@ not currently assigned to a drive letter, you will need to assign a
|
||||
drive letter first.
|
||||
|
||||
Not all disk formats include space for system tracks. Such disk
|
||||
formats cannot contains a system boot image and, therefore, cannot be
|
||||
formats cannot contain a system boot image and, therefore, cannot be
|
||||
made bootable. The best example of such disk formats are the ROM and
|
||||
RAM disks. To maximize usable file space on these drives, they do not
|
||||
have system tracks. Obviously, ROM operating system is supported by
|
||||
have system tracks. Obviously, the ROM operating system is supported by
|
||||
choosing a ROM operating system at the boot loader prompt. Any attempt
|
||||
to write a system boot image to disk media with no system tracks will
|
||||
cause SYSCOPY to fail with an error message.
|
||||
@@ -2411,7 +2416,7 @@ shown on your console. The `TALK` application does this.
|
||||
|
||||
#### Syntax
|
||||
|
||||
`TALK [TTY:|CRT:|BAT:UC1:]`
|
||||
| `TALK [TTY:|CRT:|BAT:|UC1:]`
|
||||
|
||||
#### Usage
|
||||
|
||||
@@ -2448,7 +2453,7 @@ Z80 port of Palo Alto Tiny Basic.
|
||||
|
||||
#### Syntax
|
||||
|
||||
`TBASIC` [*\<filename\>*]
|
||||
| `TBASIC` [*\<filename\>*]
|
||||
|
||||
#### Usage
|
||||
|
||||
@@ -2479,19 +2484,22 @@ displays the value of the counter.
|
||||
|
||||
#### Syntax
|
||||
|
||||
`TIMER`
|
||||
`TIMER /?`
|
||||
`TIMER /C`
|
||||
| `TIMER`
|
||||
| `TIMER /?`
|
||||
| `TIMER /C`
|
||||
| `TIMER /Z`
|
||||
|
||||
#### Usage
|
||||
|
||||
Use `TIMER` to display the current value of the counter.
|
||||
|
||||
Use `TIMER /C` to display the value of the counter continuously.
|
||||
Use `TIMER /C` to display the value of the counter continuously. Press any key to exit.
|
||||
|
||||
Use `TIMER /Z` to zero the seconds counter.
|
||||
|
||||
The display of the counter will be something like this:
|
||||
|
||||
`13426 Ticks 268.52 Seconds`
|
||||
`2859 Ticks 24.18 Seconds 0:00:24.18 HH:MM:SS`
|
||||
|
||||
The first number is the total number of ticks since system startup, where
|
||||
there are 50 ticks per second. The second number is the total number of
|
||||
@@ -2499,15 +2507,18 @@ seconds since system startup. Numbers are displayed in decimal format.
|
||||
|
||||
#### Notes
|
||||
|
||||
The seconds value is displayed with a fractional value which is not a
|
||||
an actual fraction, but rather the number of ticks past the seconds
|
||||
rollover. All values are in hex.
|
||||
Not all systems will have a system timer. In this case, the
|
||||
`TIMER` command will output 0 for both ticks and seconds and never
|
||||
increment.
|
||||
|
||||
The resolution of the timer is determined by the system timer
|
||||
frequency which is typically 50Hz. This means that the seconds
|
||||
fraction will increment 0.02 seconds with each timer tick.
|
||||
|
||||
The primary use of the `TIMER` application is to test the system
|
||||
timer functionality of your system.
|
||||
|
||||
In theory, you could capture the value before and after some process
|
||||
you want to time.
|
||||
timer functionality of your system. However, it can be used to
|
||||
capture the value before and after some process you want to measure
|
||||
the elapsed runtime of.
|
||||
|
||||
#### Etymology
|
||||
|
||||
@@ -2527,12 +2538,12 @@ If your RomWBW system has a sound card based on either an AY-3-8190 or
|
||||
YM2149F sound chip, you can use the `TUNE` application to play PT or
|
||||
MYM sound files.
|
||||
|
||||
Note: TUNE will detect an AY-3-8910/YM2149 Sound Module re-gardless of
|
||||
Note: TUNE will detect an AY-3-8910/YM2149 Sound Module regardless of
|
||||
whether support for it is included in the RomWBW HBIOS configuration
|
||||
|
||||
#### Syntax
|
||||
|
||||
`TUNE `*`<filename>`* `*`<options>`*`
|
||||
| `TUNE `*`<filename>`* `*`<options>`*`
|
||||
|
||||
*`<filename>`* is the name of a sound file ending in .PT2, .PT3, or
|
||||
.MYM
|
||||
@@ -2667,7 +2678,7 @@ chips.
|
||||
|
||||
#### Syntax
|
||||
|
||||
`VGMPLAY `*`<filename>`*
|
||||
| `VGMPLAY `*`<filename>`*
|
||||
|
||||
*`<filename>`* is the name of a sound file ending in .VGM
|
||||
|
||||
@@ -2818,6 +2829,7 @@ files between systems using a serial port.
|
||||
| `XM R `*`<filename>`*
|
||||
|
||||
The following may be added to the action codes:
|
||||
|
||||
| `S`: Send a file
|
||||
| `L`: Send a file from a library
|
||||
| `R`: Receive a file
|
||||
@@ -2854,7 +2866,7 @@ the following:
|
||||
to be sent.
|
||||
|
||||
2. On your host computer, specify the name to assign to the received
|
||||
file and initiate and XModem receive operation.
|
||||
file and initiate an XModem receive operation.
|
||||
|
||||
Please refer to the documentation of your host computer's terminal
|
||||
emulation software for specific instructions on how to use XModem.
|
||||
@@ -2910,7 +2922,7 @@ to Z-System compatibility.
|
||||
|
||||
#### Syntax
|
||||
|
||||
`ZMD` *\<mode\>\<protocol\>\<unit\>* [*\<filename\>*]
|
||||
| `ZMD` *\<mode\>\<protocol\>\<unit\>* [*\<filename\>*]
|
||||
|
||||
where *\<mode\>* can be:\
|
||||
**` S -`** Send file from BBS \
|
||||
@@ -2935,7 +2947,7 @@ To transfer a file from your host computer to your RomWBW computer, do
|
||||
the following:
|
||||
|
||||
1. Enter one of the `ZMD` receive commands specifying the name you want
|
||||
to give to the received file (no filename required for ZModem transfers).
|
||||
to give to the received file (no filename required for ZModem transfers).["ZMD does not do ZModem transfers"]
|
||||
|
||||
2. On your host computer select a file to send and initiate an XModem or
|
||||
YModem send operation.
|
||||
@@ -2954,17 +2966,17 @@ emulation software for specific instructions on how to use XModem.
|
||||
|
||||
#### Notes
|
||||
|
||||
The ZMP adaptation that comes with RomWBW will default to using
|
||||
The ZMD adaptation that comes with RomWBW will default to using
|
||||
the current HBIOS console port for transfers. Note that if you
|
||||
change your console port at the OS level (e.g., STAT CON:=UC1:),
|
||||
this does not change the HBIOS console.
|
||||
|
||||
`ZMP` attempts to determine the best way to drive the serial port based
|
||||
`ZMD` attempts to determine the best way to drive the serial port based
|
||||
on your hardware configuration. When possible, it will bypass the
|
||||
HBIOS for faster operation. However, in many cases, it will use HBIOS
|
||||
so that flow control can be used.
|
||||
|
||||
`ZMP` is dependent on a reliable communications channel. You must
|
||||
`ZMD` is dependent on a reliable communications channel. You must
|
||||
ensure that the serial port can be serviced fast enough by either
|
||||
using a baud rate that is low enough or ensuring that hardware flow
|
||||
control is fully functional (end to end).
|
||||
@@ -2990,7 +3002,7 @@ that is independent of the console running `ZMP`.
|
||||
|
||||
#### Syntax
|
||||
|
||||
`ZMD` *[\<unit\>]*
|
||||
| `ZMD` *[\<unit\>]*
|
||||
|
||||
*\<unit\>* can specify a single digit (0-9) indicating
|
||||
the RomWBW Character Unit to use for the modem port.
|
||||
|
||||
@@ -729,6 +729,7 @@ distribution. Some provide command line help themselves. Some are fairly obvio
|
||||
| `CRUNCH28.CFG` | | ZCNFG configuration file for CRUNCH & UNCR |
|
||||
| `DDTZ.COM` | | Z80 debug tool (modified to use RST 6) |
|
||||
| `DDTZ.DOC` | | Documentation for DDTZ |
|
||||
| `DOWNLOAD.COM` | Grant Searle | Grant Searle's DOWNLOAD, used by File Packager |
|
||||
| `EX.COM` | | Batch file processor (alternative to DRI SUBMIT) |
|
||||
| `FIND.COM` | Jay Cotton | Search all drives for a file () |
|
||||
| `GENHEX.COM` | | Generates an Intel Hex file from the input file |
|
||||
@@ -769,7 +770,7 @@ distribution. Some provide command line help themselves. Some are fairly obvio
|
||||
|
||||
## OS General Files
|
||||
|
||||
The following files are spcific files share across several OS's.
|
||||
The following files are specific files shared across several OS's.
|
||||
In general, there is no documentation for these applications included with
|
||||
the RomWBW distribution. Some provide command line help themselves.
|
||||
Some are fairly obvious.
|
||||
@@ -788,6 +789,7 @@ 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. |
|
||||
| `HELLO.ASM` | CPM22 | Sample assembly language source file |
|
||||
| `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 |
|
||||
@@ -976,6 +978,7 @@ The following files are found in
|
||||
| `TSTDSKNG.COM` | DSKY NEXT GENERATION TEST APPLICATION |
|
||||
| `VDCONLY.COM` | COLOR VDU TEST |
|
||||
| `VDCTEST.COM` | COLOR VDU TEST |
|
||||
| `Z80TYPE.COM` | Z80 Chip Variant Detection |
|
||||
| `ZEXALL.COM` | Z80 Instruction Set Exerciser |
|
||||
| `ZEXDOC.COM` | Z80 Instruction Set Exerciser |
|
||||
|
||||
@@ -1237,6 +1240,7 @@ The following files are found in
|
||||
| `DRTCPM.OBJ` | Startup Object File (???) |
|
||||
| `EXEC.H` | Language include file (see manual) |
|
||||
| `FLOAT.H` | Language include file (see manual) |
|
||||
| `HELLO.C` | Sample C source file |
|
||||
| `HITECH.H` | Language include file (see manual) |
|
||||
| `LIBC.LIB` | Standard C Runtime Library |
|
||||
| `LIBF.LIB` | Floating Point Library |
|
||||
@@ -1430,15 +1434,15 @@ The following files are found in
|
||||
| `TURBO.OVR` | Part of TURBO Pascal |
|
||||
| `TURBOMSG.OVR` | Part of TURBO Pascal |
|
||||
|
||||
## WordStar 4 (Word processor)
|
||||
## Word Processing
|
||||
|
||||
| Floppy Disk Image: **fd_ws4.img**
|
||||
| Hard Disk Image: **hd_ws4.img**
|
||||
| Floppy Disk Image: **fd_wp.img**
|
||||
| Hard Disk Image: **hd_wp.img**
|
||||
| Combo Disk Image: **Slice 5**
|
||||
|
||||
The following files are found in
|
||||
|
||||
* /Source/Images/d_ws4
|
||||
* /Source/Images/d_wp
|
||||
|
||||
| **File** | **Description** |
|
||||
|----------------|-----------------|
|
||||
|
||||
@@ -116,9 +116,12 @@ Others
|
||||
| [eZ80 for RCBus Module]^8^, 512K RAM/ROM | RCBus | RCEZ80_std.rom | 115200 |
|
||||
| [Genesis Z180 System]^7^ | STD | GMZ180_std.rom | 115200 |
|
||||
| [Heath H8 Z80 System]^5^ | H8 | HEATH_std.rom | 115200 |
|
||||
| [MSX]^9^ | MSX | MSX_std.rom | 115200 |
|
||||
| [N8 PC]^10^ | ISA | N8PC_std.rom | 38400 |
|
||||
| [NABU w/ RomWBW Option Board]^5^ | NABU | NABU_std.rom | 115200 |
|
||||
| [S100 Computers Z180 SBC]^4^ | S100 | S100_std.rom | 57600 |
|
||||
| [S100 Computers FPGA Z80 SBC]^4^ | S100 | FZ80_std.rom | 9600 |
|
||||
| [S100 Computers Z180 SBC]^4^ | S100 | SZ180_std.rom | 57600 |
|
||||
| [S100 Computers Z80 CPU]^4^ | S100 | SZ80_std.rom | 19200 |
|
||||
| [S100 Computers T35 FPGA Z80 SBC]^4^ | S100 | SZ80_t35.rom | 9600 |
|
||||
| [UNA Hardware BIOS]^1^ | - | UNA_std.rom | - |
|
||||
| [Z80-Retro SBC]^3^ | - | Z80RETRO_std.rom | 38400 |
|
||||
| [Z180 Mark IV SBC]^1^ | ECB | MK4_std.rom | 38400 |
|
||||
@@ -131,6 +134,8 @@ Others
|
||||
| ^6^Designed by Alan Cox
|
||||
| ^7^Designed by Doug Jackson
|
||||
| ^8^Designed by Dean Netherton
|
||||
| ^9^MSX Port by Henk Berends
|
||||
| ^10^Designed by Dan Werner
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
@@ -414,14 +419,16 @@ of the SIO ports, for ease of use with modern computers.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## S100 Computers FPGA Z80 SBC
|
||||
## S100 Computers
|
||||
|
||||
An FPGA Z80 based S100 SBC
|
||||
### S100 Computers Z80 CPU
|
||||
|
||||
* Creator: John Monahan |
|
||||
* Website: [S100 Computers FPGA Z80 SBC](http://www.s100computers.com/My%20System%20Pages/FPGA%20Z80%20SBC/FPGA%20Z80%20SBC.htm)
|
||||
Z80-based S100 Modular System
|
||||
|
||||
#### ROM Image File: FZ80_std.rom
|
||||
* Creator: John Monahan
|
||||
* Website: [S100 Computers Z80 CPU](http://www.s100computers.com/My%20System%20Pages/Z80%20Board/Z80%20CPU%20Board.htm)
|
||||
|
||||
#### ROM Image File: SZ80_std.rom
|
||||
|
||||
| | |
|
||||
|-------------------|---------------|
|
||||
@@ -429,7 +436,56 @@ An FPGA Z80 based S100 SBC
|
||||
| Default CPU Speed | 8.000 MHz |
|
||||
| Interrupts | None |
|
||||
| System Timer | None |
|
||||
| Serial Default | 9600 Baud |
|
||||
| Serial Default | 19200 Baud |
|
||||
| Memory Manager | SZ80 |
|
||||
| ROM Size | 0 KB |
|
||||
| RAM Size | 1024 KB |
|
||||
|
||||
#### Supported Hardware
|
||||
|
||||
- FP: LEDIO=5
|
||||
- PLDSER: IO=172
|
||||
- SCC MODE=SZ80, IO=160, CHANNEL A
|
||||
- SCC MODE=SZ80, IO=160, CHANNEL B
|
||||
- SCON: IO=0
|
||||
- ESPSD: IO=128, PRIMARY
|
||||
- ESPSD: IO=128, SECONDARY
|
||||
- MD: TYPE=RAM
|
||||
- PPIDE: MODE=S100A, IO=48, MASTER
|
||||
- PPIDE: MODE=S100A, IO=48, SLAVE
|
||||
- PPIDE: MODE=S100B, IO=48, MASTER
|
||||
- PPIDE: MODE=S100B, IO=48, SLAVE
|
||||
|
||||
#### Notes:
|
||||
|
||||
- Initial console will depend on the IOBYTE dip switch settings.
|
||||
See website for dip switch settings.
|
||||
|
||||
- Version 6.0 or greater of the S100 Z80 Monitor ROM is required to
|
||||
load and run RomWBW.
|
||||
|
||||
- RomWBW is loaded by the S100 monitor from either CF Card or SD Card.
|
||||
The CF/SD Card should be imaged using SZ80_std_hd1k_combo.img which
|
||||
includes RomWBW.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
### S100 Computers T35 FPGA Z80 SBC
|
||||
|
||||
A T35 FPGA Z80 based S100 SBC
|
||||
|
||||
* Creator: John Monahan
|
||||
* Website: [S100 Computers FPGA Z80 SBC](http://www.s100computers.com/My%20System%20Pages/FPGA%20Z80%20SBC/FPGA%20Z80%20SBC.htm)
|
||||
|
||||
#### ROM Image File: SZ80_t35.rom
|
||||
|
||||
| | |
|
||||
|-------------------|---------------|
|
||||
| Bus | S100 |
|
||||
| Default CPU Speed | 8.000 MHz |
|
||||
| Interrupts | None |
|
||||
| System Timer | None |
|
||||
| Serial Default | 19200 Baud |
|
||||
| Memory Manager | Z2 |
|
||||
| ROM Size | 0 KB |
|
||||
| RAM Size | 512 KB |
|
||||
@@ -438,19 +494,41 @@ An FPGA Z80 based S100 SBC
|
||||
|
||||
- FP: LEDIO=255
|
||||
- DS5RTC: RTCIO=104, IO=104
|
||||
- SSER: IO=52
|
||||
- LPT: MODE=S100, IO=199
|
||||
- FV: IO=192, KBD MODE=FV, KBD IO=3
|
||||
- TSER: IO=53
|
||||
- PLDSER: IO=172
|
||||
- SCC MODE=SZ80, IO=160, CHANNEL A
|
||||
- SCC MODE=SZ80, IO=160, CHANNEL B
|
||||
- LPT: MODE=T35, IO=199
|
||||
- TVGA: IO=192, KBD MODE=T35, KBD IO=3
|
||||
- KBD: ENABLED
|
||||
- SCON: IO=0
|
||||
- ESPSD: IO=128, PRIMARY
|
||||
- ESPSD: IO=128, SECONDARY
|
||||
- MD: TYPE=RAM
|
||||
- PPIDE: IO=48, MASTER
|
||||
- PPIDE: IO=48, SLAVE
|
||||
- SD: MODE=FZ80, IO=108, UNITS=2
|
||||
- PPIDE: MODE=STD, IO=48, MASTER
|
||||
- PPIDE: MODE=STD, IO=48, SLAVE
|
||||
- PPIDE: MODE=S100A, IO=56, MASTER
|
||||
- PPIDE: MODE=S100A, IO=56, SLAVE
|
||||
- PPIDE: MODE=S100B, IO=56, MASTER
|
||||
- PPIDE: MODE=S100B, IO=56, SLAVE
|
||||
- SD: MODE=T35, IO=108, UNITS=2
|
||||
|
||||
|
||||
#### Notes:
|
||||
|
||||
- Requires matching FPGA code
|
||||
- This RomWBW build is specifically for the Trion T35 based module on
|
||||
the S100 Z80 FPGA board. The Waveshare FPGA module is not supported
|
||||
at this time.
|
||||
|
||||
- Requires matching FPGA code, see
|
||||
[S100 Projects RomWBW T35 Project](https://github.com/s100projects/ROMWBW_T35).
|
||||
|
||||
- Initial console will depend on the IOBYTE dip switch settings.
|
||||
See website for dip switch settings.
|
||||
|
||||
- RomWBW is loaded by the S100 monitor from either CF Card or SD Card.
|
||||
The CF/SD Card should be imaged using SZ80_t35_hd1k_combo.img which
|
||||
includes RomWBW.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
@@ -577,6 +655,47 @@ It also has an interface to the RetroBrew bus (ECB) for access to additional per
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## MSX
|
||||
|
||||
Support for standard MSX hardware by Henk Berends
|
||||
|
||||
The default configuration is for a European MSX 2 (PAL) with international keyboard and 512KB RAM Mapper extension.
|
||||
|
||||
#### ROM Image File: MSX_std.rom
|
||||
|
||||
| | |
|
||||
|-------------------|---------------|
|
||||
| Bus | MSX |
|
||||
| Default CPU Speed | 3.579 MHz |
|
||||
| Interrupts | Mode 1 |
|
||||
| System Timer | TMS |
|
||||
| Serial Default | 115200 Baud |
|
||||
| Memory Manager | MSX |
|
||||
| ROM Size | 0 KB |
|
||||
| RAM Size | 448 KB |
|
||||
|
||||
#### Supported Hardware
|
||||
|
||||
- RP5C01: IO=180
|
||||
- UART: IO=128
|
||||
- UART: IO=136
|
||||
- TMS: MODE=MSXMKY, IO=152, SCREEN=80X24, KEYBOARD=MKY, INTERRUPTS ENABLED
|
||||
- MKY: IO=168
|
||||
- MD: TYPE=RAM
|
||||
- IDE: MODE=RC, IO=16, MASTER
|
||||
- IDE: MODE=RC, IO=16, SLAVE
|
||||
- PPIDE: MODE=MSX_BEER, IO=48, MASTER
|
||||
- PPIDE: MODE=MSX_BEER, NO SLAVE
|
||||
- AY38910: MODE=MSX, IO=160, CLOCK=1789772 HZ
|
||||
|
||||
#### Notes:
|
||||
|
||||
- MSX 1 can be used with the TMS VDP set to 40 columns mode.
|
||||
- Storage options are the BEER IDE and SODA IDE interfaces.
|
||||
- Serial option is a 16550 UART interface.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## NABU w/ RomWBW Option Board
|
||||
|
||||
No modifications to the NABU motherboard needed. Leave the standard NABU ROM in its socket
|
||||
@@ -812,6 +931,46 @@ This configuration is for the N8-2312 and latter (4314) revisions
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## N8 PC
|
||||
|
||||
This is a variant of the N8 computer.
|
||||
|
||||
* Creator: Dan Werner
|
||||
* Project GitHub: [N8 PC](https://github.com/danwerner21/N8PC)
|
||||
|
||||
#### ROM Image File: N8PC_std.rom
|
||||
|
||||
| | |
|
||||
|-------------------|---------------|
|
||||
| Bus | ISA |
|
||||
| Default CPU Speed | 9.216 MHz |
|
||||
| Interrupts | None |
|
||||
| System Timer | Z180 |
|
||||
| Serial Default | 38400 Baud |
|
||||
| Memory Manager | N8 |
|
||||
| ROM Size | 512 KB |
|
||||
| RAM Size | 512 KB |
|
||||
|
||||
#### Supported Hardware
|
||||
|
||||
- PKD: IO=132, SIZE=8X1
|
||||
- M6242RTC: IO=160
|
||||
- ASCI: IO=64
|
||||
- ASCI: IO=65
|
||||
- TMS: MODE=N8PC, IO=152, SCREEN=80X24, KEYBOARD=KBD
|
||||
- KBD: ENABLED
|
||||
- MD: TYPE=RAM
|
||||
- MD: TYPE=ROM
|
||||
- FD: MODE=N8, IO=140, DRIVE 0, TYPE=3.5" HD
|
||||
- FD: MODE=N8, IO=140, DRIVE 1, TYPE=3.5" HD
|
||||
- PPIDE: MODE=STD, IO=132, MASTER
|
||||
- PPIDE: MODE=STD, IO=132, SLAVE
|
||||
- AY38910: MODE=N8, IO=156, CLOCK=3579545 HZ
|
||||
|
||||
#### Notes:
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## RCBus Z80
|
||||
|
||||
### RCBus Z80 CPU Module
|
||||
@@ -1136,7 +1295,8 @@ It is designed specifically for ROM-less RomWBW. HBIOS is loaded from disk at bo
|
||||
Eazy80-512 is Eazy80 rev2 pc board configured with 512K RAM to run RomWBW.
|
||||
The design was derived from modifications to Eazy80 Rev1 that supported RomWBW.
|
||||
|
||||
HBIOS is loaded from disk at boot by ROM monitor
|
||||
HBIOS is loaded from disk at boot by ROM monitor or via a a compressed
|
||||
ROM image.
|
||||
|
||||
(Not to be confused with EasyZ80)
|
||||
|
||||
@@ -1145,7 +1305,7 @@ HBIOS is loaded from disk at boot by ROM monitor
|
||||
* Retrobrew Wiki: [Eazy80 Rev2, Glue-less Configuration](https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:eazy80:eazy80rev2:eazy80rev2home)
|
||||
* Google Groups: [EaZy80, A Simple80 with KIO](https://groups.google.com/g/retro-comp/c/0cUDbZspHyQ)
|
||||
|
||||
#### ROM Image File: RCZ80_ez512_std.rom
|
||||
#### ROM Image File: RCZ80_ez512_std.rom
|
||||
|
||||
| | |
|
||||
|-------------------|---------------|
|
||||
@@ -1158,6 +1318,41 @@ HBIOS is loaded from disk at boot by ROM monitor
|
||||
| ROM Size | 0 KB |
|
||||
| RAM Size | 512 KB |
|
||||
|
||||
#### Compressed ROM Image File: RCZ80_ez512_std_64k.rom
|
||||
|
||||
The RomWBW utility program 'compress' is designed to squeeze the
|
||||
compiled RomWBW 128K file 'RCZ80_ez512_std.upd' into a 64K ROM. As there
|
||||
are many areas in RomWBW with repeating bytes of the same value, it is
|
||||
possible to compress the 128K file to fit into a 64K ROM.
|
||||
|
||||
The compression program looks for two or more consecutive bytes of the
|
||||
same value (any values of $00 to $FF). If it finds duplicates, it leaves
|
||||
two of the duplicate bytes followed by a byte count, n-1 (n <= $FF),
|
||||
where n is the total number of duplicates. If the program succeeds in
|
||||
compressing the input file to fit into the available space, the file
|
||||
'RCZ80_ez512_std_64k.rom' is constructed, along with a short Z80
|
||||
decompression program that will be stored in the last 256 bytes of the
|
||||
ROM. The constructed 64K file is saved and the unused storage space is
|
||||
output in bytes. Should compression fail to fit the input file into
|
||||
available space, only an error message and the overrun in bytes is
|
||||
output.
|
||||
|
||||
The decompression program, located at $FF00, is executed at startup via
|
||||
the 3-byte jump at location $0000, decompressing the stored code in ROM
|
||||
into the computer's RAM. When decompression finishes, control is passed
|
||||
to RAM location $0000, which in turn starts execution of RomWBW.
|
||||
|
||||
The 64K ROM Layout:
|
||||
|
||||
* The first 3 bytes are always $C3 $00 $FF, a jump to the Z80
|
||||
decompression code located at $FF00 in the ROM.
|
||||
|
||||
* Locations $0003 up to, and including, $FEFF are available to store
|
||||
the compressed 128K input file.
|
||||
|
||||
* Location $FF00 up to, and including, $FFFF, is where the Z80
|
||||
decompression program is stored.
|
||||
|
||||
#### Supported Hardware
|
||||
|
||||
- DSRTC: MODE=STD, IO=192
|
||||
@@ -1744,7 +1939,7 @@ as defined by the IEEE-696 specs.
|
||||
* Creator: John Monahan |
|
||||
* Website: [S100 Computers Z180 SBC](http://www.s100computers.com/My%20System%20Pages/Z180%20SBC/Z180%20SBC.htm)
|
||||
|
||||
#### ROM Image File: S100_std.rom
|
||||
#### ROM Image File: SZ180_std.rom
|
||||
|
||||
| | |
|
||||
|-------------------|---------------|
|
||||
@@ -1760,11 +1955,20 @@ as defined by the IEEE-696 specs.
|
||||
#### Supported Hardware
|
||||
|
||||
- INTRTC: ENABLED
|
||||
- PLDSER: IO=172
|
||||
- ASCI: IO=192, INTERRUPTS ENABLED
|
||||
- ASCI: IO=193, INTERRUPTS ENABLED
|
||||
- SCC MODE=SZ80, IO=160, CHANNEL A
|
||||
- SCC MODE=SZ80, IO=160, CHANNEL B
|
||||
- SCON: IO=0
|
||||
- ESPSD: IO=128, PRIMARY
|
||||
- ESPSD: IO=128, SECONDARY
|
||||
- MD: TYPE=RAM
|
||||
- MD: TYPE=ROM
|
||||
- PPIDE: MODE=S100A, IO=48, MASTER
|
||||
- PPIDE: MODE=S100A, IO=48, SLAVE
|
||||
- PPIDE: MODE=S100B, IO=48, MASTER
|
||||
- PPIDE: MODE=S100B, IO=48, SLAVE
|
||||
- SD: MODE=SC, IO=12, UNITS=1
|
||||
|
||||
#### Notes:
|
||||
@@ -2081,7 +2285,7 @@ Z180 CPU (eg. SC722) with 1MB linear memory (eg. SC721)
|
||||
- PPIDE: IO=32, SLAVE
|
||||
- SD: MODE=SC, IO=12, UNITS=1
|
||||
|
||||
\clearpage`{=latex}
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## Z80-Retro SBC
|
||||
|
||||
@@ -2227,8 +2431,11 @@ may be discovered by RomWBW in your system.
|
||||
| PPPCON | ParPortProp Serial Console Interface |
|
||||
| PRPCON | PropIO Serial Console Interface |
|
||||
| SCON | S100 Console |
|
||||
| SIO | Zilog Serial Port Interface |
|
||||
| SIO | Zilog Serial Input/Output Controller (SIO) |
|
||||
| SCC | Zilog Serial Communications Controller (SCC) |
|
||||
| SSER | Simple Serial Interface |
|
||||
| TSER | Trion FPGA Serial Interface |
|
||||
| PLDSER | PLD USB Serial Interface |
|
||||
| UART | 16C550 Family Serial Interface |
|
||||
| USB-FIFO | FT232H-based ECB USB FIFO |
|
||||
| Z2U | Zilog Z280 CPU Built-in Serial Ports |
|
||||
@@ -2238,16 +2445,20 @@ discovers for the initial console. The following character devices are
|
||||
scanned in the order shown. The available character devices depend on
|
||||
the active platform and configuration.
|
||||
|
||||
#. SSER: Simple Serial Interface
|
||||
#. ASCI: Zilog Z180 CPU Built-in Serial Ports
|
||||
#. Z2U: Zilog Z280 CPU Built-in Serial Ports
|
||||
#. UART: 16C550 Family Serial Interface
|
||||
#. DUART: SCC2681 or compatible Dual UART
|
||||
#. SIO: Zilog Serial Port Interface
|
||||
#. SIO: Zilog Serial Port Interface (SIO)
|
||||
#. SCC: Zilog Serial Port Interface (SCC)
|
||||
#. EZ80UART: eZ80 Serial Port Interface
|
||||
#. ACIA: MC68B50 Asynchronous Communications Interface Adapter
|
||||
#. SSER: Simple Serial Interface
|
||||
#. TSER: Trion FPGA Serial Interface
|
||||
#. PLDSER: PLD USB Serial Interface
|
||||
#. USB-FIFO: FT232H-based ECB USB FIFO
|
||||
|
||||
|
||||
## Disk
|
||||
|
||||
| **ID** | **Description** |
|
||||
@@ -2266,6 +2477,7 @@ the active platform and configuration.
|
||||
| RF | RAM Floppy Disk Interface |
|
||||
| SD | SD Card Interface |
|
||||
| SYQ | Iomega SparQ Drive on PPI |
|
||||
| ESPSD | S100 ESP32-based SD Card Interface |
|
||||
|
||||
## Video
|
||||
|
||||
@@ -2273,10 +2485,10 @@ the active platform and configuration.
|
||||
|-----------|--------------------------------------------------------|
|
||||
| CVDU | MC8563-based Video Display Controller |
|
||||
| EF | EF9345 Video Display Controller |
|
||||
| FV | S100 FPGA Z80 Onboard VGA/Keyboard |
|
||||
| TVGA | S100 Trion FPGA Onboard VGA/Keyboard |
|
||||
| GDC | uPD7220 Video Display Controller |
|
||||
| TMS | TMS9918/38/58 Video Display Controller |
|
||||
| VDU | MC6845 Family Video Display Controller (*) |
|
||||
| VDU | MC6845 Family Video Display Controller (\*) |
|
||||
| VGA | HD6445CP4-based Video Display Controller |
|
||||
| VRC | VGARC Video Display Controller |
|
||||
| XOSERA | XOSERA FPGA-based Video Display Controller |
|
||||
@@ -2322,6 +2534,9 @@ Note:
|
||||
| PCF | PCF8584-based I2C Real-Time Clock |
|
||||
| RP5C01 | Ricoh RPC01A Real-Time Clock w/ NVRAM |
|
||||
| SIMRTC | SIMH Simulator Real-Time Clock |
|
||||
| MMRTC | NS MM58167B Real-Time Clock (no NVRAM) |
|
||||
| DS12RTC | Dallas Semiconductor DS1288x Real-Time Clock w/ NVRAM |
|
||||
| M6242 | MSM6242 Real-Time Clock (no NVRAM) |
|
||||
|
||||
## DsKy (DiSplay KeYpad)
|
||||
|
||||
@@ -2405,3 +2620,4 @@ for more information on UNA.
|
||||
CP/M 3, ZPM3, and p-System.
|
||||
|
||||
- Some of the RomWBW-specific applications are not UNA compatible.
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ Some of the included software:
|
||||
* 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
|
||||
* Microsoft Basic Compiler, Microsoft Fortran, and Microsoft COBOL
|
||||
* Some games such as Colossal Cave, Zork, etc
|
||||
* Wordstar Word processing software
|
||||
|
||||
@@ -339,6 +339,14 @@ please let me know if I missed you!
|
||||
* Jörg Linder has contributed disassembled and nicely commented
|
||||
source for ZSDOS2 and the BPBIOS utilities.
|
||||
|
||||
* Marshall Gates has contriubed sample program source files for all
|
||||
of the language disk images.
|
||||
|
||||
* Randy Merkel provided the ZSDOS Programmer's Manual as translated
|
||||
by Wayne Hortensius.
|
||||
|
||||
* Henk Berends added support for the MSX platform.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
|
||||
## Related Projects
|
||||
|
||||
@@ -659,8 +659,10 @@ latter version of the SBC.
|
||||
On systems with RTC devices (that have Non-Volatile RAM), RomWBW supports storing
|
||||
some limited configuration option options inside this RAM.
|
||||
|
||||
Several configuration options are currently supported; these are known as Switches.
|
||||
The following switch ID's are defined, and described in sections below.
|
||||
Several configuration options are currently supported; these are
|
||||
referred to as Switches. In this case the term Switches refers to "soft"
|
||||
switches stored in NVRAM, not physical panel switches. The following
|
||||
switch ID's are defined, and described in sections below.
|
||||
|
||||
| Switch Number | Name | Description |
|
||||
|---------------|--------------|-----------------------------------------------|
|
||||
@@ -683,6 +685,11 @@ the bytes in NVRAM to check for authenticity before using the configuration.
|
||||
The above data is copied into the HBIOS Configuration Block (HCB) at startup at
|
||||
the location starting at CB_SWITCHES.
|
||||
|
||||
Although the switch data is stored in NVRAM, it is intended that you
|
||||
use [SYSGET Subfunction 0xC0 -- Get Switches (SWITCH)] or
|
||||
[SYSSET Subfunction 0xC0 -- Set Switches (SWITCH)] to read or write
|
||||
the switch values described here.
|
||||
|
||||
### Boot Options (NVSW_BOOTOPTS)
|
||||
|
||||
16 bit Switch defining the ROM application or Disk device to boot if
|
||||
@@ -705,13 +712,15 @@ automatic booting is enabled.
|
||||
|
||||
### Status Reset (0xFF)
|
||||
|
||||
The Status Reset switch is not a general purpose switch, it is a control mechanism
|
||||
to allow the global status of all switches to be determined. The meaning of the switch
|
||||
is different for Read (Get Status) and Write (Reset NVRAM)
|
||||
The Status Reset switch is a virtual switch that does not have a
|
||||
corresponding stored value. It is a control mechanism to allow the
|
||||
global status of all switches to be determined. The meaning of the
|
||||
switch is different for Read (Get Status) and Write (Reset NVRAM)
|
||||
|
||||
#### GET (Get Status)
|
||||
|
||||
The read Get Status of switches. This returns very specific values from the function call.
|
||||
When the switch number 0xFF is read (using the Get Switches function),
|
||||
the status of the NVRAM switches will be returned as follows:
|
||||
|
||||
| Status | A Register | Z / NZ Flag |
|
||||
|----------------------------------------------|------------|--------------|
|
||||
@@ -721,8 +730,10 @@ The read Get Status of switches. This returns very specific values from the func
|
||||
|
||||
#### SET (Reset NVRAM)
|
||||
|
||||
Reset NVRAM to default values. This will wipe any existing data and set default
|
||||
values into NVRAM.
|
||||
When the switch number 0xFF is written (using the Set Switches
|
||||
function), the stored values of all switches will be reset to their
|
||||
default values. This will wipe any existing data and set default values
|
||||
into NVRAM.
|
||||
|
||||
# Driver Model
|
||||
|
||||
@@ -1089,6 +1100,7 @@ below enumerates their values.
|
||||
| DIODEV_CHUSB | 0x0D | CH375/376 USB Disk | ch.asm |
|
||||
| DIODEV_CHSD | 0x0E | CH375/376 SD Card | ch.asm |
|
||||
| DIODEV_USB | 0x0F | CH376 Native USB Device | ch376.asm |
|
||||
| DIODEV_ESPSD | 0x10 | S100 ESP32 SD Card | espsd.asm |
|
||||
|
||||
A fixed set of media types are defined. The currently defined media
|
||||
types identifiers are listed below. Each driver will support one or
|
||||
@@ -1196,8 +1208,8 @@ point, all disk drivers support both LBA and CHS addressing.
|
||||
| E: Sector Count | |
|
||||
| HL: Buffer Address | |
|
||||
|
||||
Read Sector Count (E) sectors into the buffer located in Buffer Bank ID (D)
|
||||
at Buffer Address (HL) starting at the Current Sector. The returned
|
||||
Read Sector Count (E) sectors into the buffer located in Buffer Bank ID
|
||||
(D) at Buffer Address (HL) starting at the Current Sector. The returned
|
||||
Status (A) is a standard HBIOS result code.
|
||||
|
||||
The Current Sector is established by a prior DIOSEEK function call;
|
||||
@@ -1207,18 +1219,21 @@ successfully read. On error, the Current Sector will be the sector where
|
||||
the error occurred. Sectors Read (E) indicates the number of sectors
|
||||
successfully read.
|
||||
|
||||
A Sector Count of zero will result in no sectors being read and a
|
||||
status of success. The buffer will not be modified.
|
||||
|
||||
For buffers in the bottom 32KB ram, the Bank ID is used to identify the
|
||||
bank to use for the buffer. If the buffer is located in your current
|
||||
active bank, you will need to provide the current Bank ID, which can be
|
||||
obtained using [Function 0xF3 -- System Get Bank (SYSGETBNK)]. For
|
||||
buffers in the top 32K of memory the Bank ID is not strictly required as
|
||||
this memory is always mapped to the common bank.
|
||||
|
||||
The caller must ensure that the Buffer Address is large enough to
|
||||
contain all sectors requested. Disk data transfers will be faster if
|
||||
the buffer resides in the top 32K of memory because it avoids a
|
||||
double buffer copy.
|
||||
|
||||
Also for buffers in the top 32K of memory the Bank ID is not
|
||||
strictly required as this memory is alway mapped to the common bank.
|
||||
For buffers in the bottom 32KB ram, the Bank ID is used to identify
|
||||
the bank to use for the buffer. If you do not wih to use banked memory
|
||||
you will need to provide the current Bank ID, which can be obtained
|
||||
using [Function 0xF3 -- System Get Bank (SYSGETBNK)]
|
||||
|
||||
### Function 0x14 -- Disk Write (DIOWRITE)
|
||||
|
||||
| **Entry Parameters** | **Returned Values** |
|
||||
@@ -1229,9 +1244,9 @@ using [Function 0xF3 -- System Get Bank (SYSGETBNK)]
|
||||
| E: Sector Count | |
|
||||
| HL: Buffer Address | |
|
||||
|
||||
Write Sector Count (E) sectors from the buffer located in Buffer Bank ID (D)
|
||||
at Buffer Address (HL) starting at the Current Sector. The returned
|
||||
Status (A) is a standard HBIOS result code.
|
||||
Write Sector Count (E) sectors from the buffer located in Buffer Bank ID
|
||||
(D) at Buffer Address (HL) starting at the Current Sector. The
|
||||
returned Status (A) is a standard HBIOS result code.
|
||||
|
||||
The Current Sector is established by a prior DIOSEEK function call;
|
||||
however, multiple read/write/verify function calls can be made after a
|
||||
@@ -1240,6 +1255,16 @@ successfully written. On error, the Current Sector will be the sector
|
||||
where the error occurred. Sectors Written (E) indicates the number of
|
||||
sectors successfully written.
|
||||
|
||||
A Sector Count of zero will result in no sectors being written and a
|
||||
status of success. The buffer will not be modified.
|
||||
|
||||
For buffers in the bottom 32KB ram, the Bank ID is used to identify the
|
||||
bank to use for the buffer. If the buffer is located in your current
|
||||
active bank, you will need to provide the current Bank ID, which can be
|
||||
obtained using [Function 0xF3 -- System Get Bank (SYSGETBNK)]. For
|
||||
buffers in the top 32K of memory the Bank ID is not strictly required as
|
||||
this memory is always mapped to the common bank.
|
||||
|
||||
Disk data transfers will be faster if the buffer resides in the top 32K
|
||||
of memory because it avoids a double copy.
|
||||
|
||||
@@ -1418,6 +1443,8 @@ unit. The table below enumerates these values.
|
||||
| RTCDEV_RP5 | 0x05 | Ricoh RPC01A Real-Time Clock w/ NVRAM | rp5rtc.asm |
|
||||
| RTCDEV_EZ80 | 0x07 | eZ80 on-chip RTC | ez80rtc.asm |
|
||||
| RTCDEV_PC | 0x08 | MC146818/DS1285/DS12885 RTC w/ NVRAM | pcrtc.asm |
|
||||
| RTCDEV_MM | 0x09 | NS MM58167B RTC (no NVRAM) | mmrtc.asm |
|
||||
| RTCDEV_DS12 | 0x0A | DS1288x RTC w/NVRAM | ds12rtc.asm |
|
||||
|
||||
The time functions to get and set the time (RTCGTM and RTCSTM) require a
|
||||
6 byte date/time buffer in the following format. Each byte is BCD
|
||||
@@ -1529,9 +1556,9 @@ Work in progress, documentation required...
|
||||
Returns device information for the RTC unit. The Status (A) is a
|
||||
standard HBIOS result code.
|
||||
|
||||
Device Attribute (C) values are not yet defined. Device Type (D)
|
||||
indicates the specific hardware driver that handles the specified
|
||||
character unit. Values are listed at the start of this section. Device
|
||||
Device Attributes (C) values are not yet defined. Device Type (D)
|
||||
indicates the specific hardware driver that handles the RTC unit.
|
||||
Values are listed at the start of this section. Device
|
||||
Number (E) indicates the physical device number assigned per driver
|
||||
which is always 0 for RTC.
|
||||
|
||||
@@ -1775,7 +1802,7 @@ below enumerates their values.
|
||||
| VDADEV_VGA | 0x04 | HD6445CP4-based Video Display Controller | vga.asm |
|
||||
| VDADEV_VRC | 0x05 | VGARC | vrc.asm |
|
||||
| VDADEV_EF | 0x06 | EF9345 | ef.asm |
|
||||
| VDADEV_FV | 0x07 | S100 FPGA VGA | fv.asm |
|
||||
| VDADEV_TVGA | 0x07 | S100 TRION FPGA VGA | tvga.asm |
|
||||
| VDADEV_XOSERA | 0x08 | Xosera FPGA-based Video Display Controller | xosera.asm |
|
||||
|
||||
Depending on the capabilities of the hardware, the use of colors and
|
||||
@@ -2277,8 +2304,8 @@ using values that correspond to musical notes. The frequency will be
|
||||
applied when the next SNDPLAY function is invoked. The returned Status
|
||||
(A) is a standard HBIOS result code.
|
||||
|
||||
The Note (HL) values correspond to eighth notes. Increasing/decreasing
|
||||
the value by 8 results in a full note increment/decrement.
|
||||
The Note (HL) values correspond to eighth tones. Increasing/decreasing
|
||||
the value by 8 results in a full tone increment/decrement.
|
||||
Increasing/decreasing the value by 48 results in a full octave
|
||||
increment/decrement. The value 0 corresponds to Bb/A# in octave 0.
|
||||
|
||||
@@ -2286,7 +2313,7 @@ The sound chip resolution and its oscillator limit the range and
|
||||
accuracy of the notes played. The typical range of the AY-3-8910 is six
|
||||
octaves: Bb2/A#2 to A7, where each value is a unique tone. Values above
|
||||
and below can still be played but each eighth tone step may not result
|
||||
in a note change.
|
||||
in a tone change.
|
||||
|
||||
The following table shows the mapping of the Note (HL) value to the
|
||||
corresponding octave and note.
|
||||
@@ -2505,9 +2532,8 @@ If the Unit specified is not a hard disk the Media ID will be returned and
|
||||
the slice parameter ignored. If there is no media in device, or the slice
|
||||
number is invaid (Parameter Out Of Range) the function will return an error status.
|
||||
|
||||
**NOTE:
|
||||
This function was placed in HBIOS to be shared between the diffeent CP/M
|
||||
varients supported by RomWBW. It is not strictly a BIOS function,
|
||||
**NOTE:** This function was placed in HBIOS to be shared between the different CP/M
|
||||
variants supported by RomWBW. It is not strictly a BIOS function,
|
||||
and may be moved in future.
|
||||
|
||||
`\clearpage`{=latex}
|
||||
@@ -2583,14 +2609,14 @@ The hardware Platform (L) is identified as follows:
|
||||
| PLT_MBC | 13 | NHYODYNE MULTI-BOARD COMPUTER |
|
||||
| PLT_RPH | 14 | RHYOPHYRE GRAPHICS SBC |
|
||||
| PLT_Z80RETRO | 15 | Z80 RETRO COMPUTER |
|
||||
| PLT_S100 | 16 | S100 COMPUTERS Z180 |
|
||||
| PLT_SZ180 | 16 | S100 COMPUTERS Z180 |
|
||||
| PLT_DUO | 17 | DUODYNE Z80 SYSTEM |
|
||||
| PLT_HEATH | 18 | HEATHKIT H8 Z80 SYSTEM |
|
||||
| PLT_EPITX | 19 | Z180 MINI-ITX |
|
||||
| PLT_MON | 20 | MONSPUTER (DEPRECATED) |
|
||||
| PLT_GMZ180 | 21 | GENESIS Z180 SYSTEM |
|
||||
| PLT_NABU | 22 | NABU PC W/ ROMWBW OPTION BOARD |
|
||||
| PLT_FZ80 | 23 | S100 FPGA Z80 |
|
||||
| PLT_SZ80 | 23 | S100 COMPUTERS Z80 |
|
||||
| PLT_RCEZ80 | 24 | RCBUS W/ eZ80 |
|
||||
|
||||
For more information on these platforms see $doc_hardware$
|
||||
|
||||
@@ -1117,100 +1117,6 @@ starting the operating system. Even better, you can use an auto-submit
|
||||
batch file to customzie the assignments at startup without any user
|
||||
intervention.
|
||||
|
||||
## Disk Operations/Commands
|
||||
|
||||
With some understanding of how RomWBW presents disk space to the
|
||||
operating systems, we need to go over the options for actually setting
|
||||
up your disk(s) with content.
|
||||
|
||||
### Preparing Media for First Use
|
||||
|
||||
You can initialize the media in-place using your RomWBW system.
|
||||
Essentially, this means you are creating a set of blank directories on
|
||||
your disk so that files can be saved there.
|
||||
This is somewhat analogous to partitioning of a hard disk
|
||||
or doing a low level format of a floppy disk.
|
||||
|
||||
Initilizing a Floppy disk is covered in the section [Floppy Disk Formatting],
|
||||
or for a Hard disk the section [Hard Disk Preparation] covers the steps to
|
||||
manually setup a hard disk for first use.
|
||||
|
||||
### Clearing (Formatting) Drives
|
||||
|
||||
This is somewhat analogous to doing a FORMAT operation on other systems.
|
||||
|
||||
With RomWBW you use the `CLRDIR` command to do this.
|
||||
This command is merely "clearing out" the directory space of the drive
|
||||
referred to by a drive letter and setting up the new empty directory.
|
||||
|
||||
Refer to $doc_apps$ for more information on use of the `CLRDIR` command.
|
||||
|
||||
Since `CLRDIR` works on drive letters, make
|
||||
absolutely sure you know what media and slice are assigned to that
|
||||
drive letter before using `CLRDIR` because `CLRDIR` will wipe out any
|
||||
pre-existing contents of the slice.
|
||||
|
||||
After `CLRDIR` completes, the slice should be ready to use by the operating
|
||||
system via the drive letter assigned.
|
||||
Start by using the `DIR` command on the drive.
|
||||
This should return without error, but list no files.
|
||||
|
||||
Here is an example of using `CLRDIR`. In this example, the `ASSIGN`
|
||||
command is used to show the current drive letter assignments. Then
|
||||
the `CLRDIR` command is used to initialize the directory of drive 'G'
|
||||
which is slice 2 of hard disk device IDE0 ("IDE0:2").
|
||||
|
||||
```
|
||||
B>ASSIGN
|
||||
|
||||
A:=MD0:0
|
||||
B:=MD1:0
|
||||
C:=FD0:0
|
||||
D:=FD1:0
|
||||
E:=IDE0:0
|
||||
F:=IDE0:1
|
||||
G:=IDE0:2
|
||||
H:=IDE0:3
|
||||
|
||||
B>CLDIR G:
|
||||
CLRDIR Version 1.2B May 2024 by Max Scane
|
||||
|
||||
Warning - this utility will overwrite the directory sectors of Drive: G
|
||||
Type CAPITAL Y to proceed, any key other key to exit. Y
|
||||
Directory cleared.
|
||||
B>
|
||||
```
|
||||
|
||||
### Checking Disk Layout
|
||||
|
||||
If you are not sure which disk layout is used for your existing
|
||||
media, you can use the CP/M 2.2 `STAT` command to display information
|
||||
including the number of "32 Byte Directory Entries"
|
||||
for a drive letter on the corresponding hard disk.
|
||||
|
||||
- If it indicates 512, your disk layout is Classic (hd512).
|
||||
- If it indicates 1024, your disk layout is Modern (hd1k).
|
||||
|
||||
Here is an example of checking the disk layout.
|
||||
|
||||
```
|
||||
B>STAT E:DSK:
|
||||
|
||||
E: Drive Characteristics
|
||||
65408: 128 Byte Record Capacity
|
||||
8176: Kilobyte Drive Capacity
|
||||
1024: 32 Byte Directory Entries
|
||||
0: Checked Directory Entries
|
||||
256: Records/ Extent
|
||||
32: Records/ Block
|
||||
64: Sectors/ Track
|
||||
2: Reserved Tracks
|
||||
```
|
||||
|
||||
It is critical that you include `DSK:` after the drive letter in the
|
||||
`STAT` command line. The important line to look at is labeled "32 Byte
|
||||
Directory Entries".
|
||||
|
||||
# Disk Types
|
||||
|
||||
## RAM & ROM Disks
|
||||
@@ -1500,7 +1406,9 @@ There are two approaches to preparing disks for use by RomWBW.
|
||||
including files to a disk.
|
||||
|
||||
This section of the document describes the manual process of preparing
|
||||
empty disks that are ready for use by an operating system.
|
||||
empty disks that are ready for use by an operating system.
|
||||
This is somewhat analogous to partitioning and formatting of a hard disk
|
||||
or doing a low level format of a floppy disk.
|
||||
|
||||
Alternatively, you can use the pre-built RomWBW disk images to quickly
|
||||
create disk media that already has a large selection of files and
|
||||
@@ -1728,12 +1636,7 @@ You need to initialize each slice for CP/M to use it.
|
||||
This is somewhat analogous to doing a FORMAT operation on other systems,
|
||||
and is done using the `CLRDIR` command.
|
||||
|
||||
This is covered in the section [Clearing (Formatting) Drives]
|
||||
|
||||
**WARNING**: Earlier versions of the `CLRDIR` application do not
|
||||
appear to check for disk errors when it runs. If you attempt to run
|
||||
`CLRDIR` on a drive that is mapped to a slice that does not actually fit
|
||||
on the physical disk, it may behave erratically.
|
||||
This is covered in the next section [Clearing (Formatting) Drives]
|
||||
|
||||
Assuming you want to use additional slices, you should initialize them
|
||||
using the same process. You may need to reassign drive letters to
|
||||
@@ -1742,11 +1645,57 @@ You can use the `ASSIGN` command to handle this.
|
||||
|
||||
## Post Disk Preparation
|
||||
|
||||
Once a disk (either floppy or hard disk) has been initialised and
|
||||
formattted you may optionally;
|
||||
Once a disk has been initialised you may need to do one or more of the following;
|
||||
* Clear (Format) the drive
|
||||
* Make the disk bootable
|
||||
* Copy system (or other) files to the disk
|
||||
|
||||
### Clearing (Formatting) Drives
|
||||
|
||||
This is somewhat analogous to doing a FORMAT operation on other systems.
|
||||
|
||||
With RomWBW you use the `CLRDIR` command to do this.
|
||||
This command is merely "clearing out" the directory space of the drive
|
||||
referred to by a drive letter and setting up the new empty directory.
|
||||
|
||||
Refer to $doc_apps$ for more information on use of the `CLRDIR` command.
|
||||
|
||||
Since `CLRDIR` works on drive letters, make
|
||||
absolutely sure you know what media and slice are assigned to that
|
||||
drive letter before using `CLRDIR` because `CLRDIR` will wipe out any
|
||||
pre-existing contents of the slice.
|
||||
|
||||
After `CLRDIR` completes, the drive should be ready to use by the operating
|
||||
system via the drive letter assigned.
|
||||
Start by using the `DIR` command on the drive.
|
||||
This should return without error, but list no files.
|
||||
|
||||
Here is an example of using `CLRDIR`. In this example, the `ASSIGN`
|
||||
command is used to show the current drive letter assignments. Then
|
||||
the `CLRDIR` command is used to initialize the directory of drive 'G'
|
||||
which is slice 2 of hard disk device IDE0 ("IDE0:2").
|
||||
|
||||
```
|
||||
B>ASSIGN
|
||||
|
||||
A:=MD0:0
|
||||
B:=MD1:0
|
||||
C:=FD0:0
|
||||
D:=FD1:0
|
||||
E:=IDE0:0
|
||||
F:=IDE0:1
|
||||
G:=IDE0:2
|
||||
H:=IDE0:3
|
||||
|
||||
B>CLDIR G:
|
||||
CLRDIR Version 1.2B May 2024 by Max Scane
|
||||
|
||||
Warning - this utility will overwrite the directory sectors of Drive: G
|
||||
Type CAPITAL Y to proceed, any key other key to exit. Y
|
||||
Directory cleared.
|
||||
B>
|
||||
```
|
||||
|
||||
### Making a Disk Bootable
|
||||
|
||||
To make a disk bootable you will need to follow the specific instructions
|
||||
@@ -1777,6 +1726,38 @@ system and application files to your disks.
|
||||
Refer to [Transferring Files] for more information on getting
|
||||
files onto your disks.
|
||||
|
||||
### Checking Disk Layout
|
||||
|
||||
If you are not sure which disk layout is used for your existing
|
||||
media, you can use the CP/M 2.2 `STAT` command to display information
|
||||
including the number of "32 Byte Directory Entries"
|
||||
for a drive letter on the corresponding hard disk.
|
||||
|
||||
Note: For CP/M 3 the command is `SHOW [DRIVE]`
|
||||
|
||||
- If it indicates 512, your disk layout is Classic (hd512).
|
||||
- If it indicates 1024, your disk layout is Modern (hd1k).
|
||||
|
||||
Here is an example of checking the disk layout.
|
||||
|
||||
```
|
||||
B>STAT E:DSK:
|
||||
|
||||
E: Drive Characteristics
|
||||
65408: 128 Byte Record Capacity
|
||||
8176: Kilobyte Drive Capacity
|
||||
1024: 32 Byte Directory Entries
|
||||
0: Checked Directory Entries
|
||||
256: Records/ Extent
|
||||
32: Records/ Block
|
||||
64: Sectors/ Track
|
||||
2: Reserved Tracks
|
||||
```
|
||||
|
||||
It is critical that you include `DSK:` after the drive letter in the
|
||||
`STAT` command line. The important line to look at is labeled "32 Byte
|
||||
Directory Entries".
|
||||
|
||||
# Disk Images
|
||||
|
||||
Since it would be quite a bit of work to transfer over all the files you
|
||||
@@ -1813,7 +1794,7 @@ The following table shows the disk images available.
|
||||
| xxx_nzcom.img | NZCOM ZCPR 3.4 Operating System | Yes |
|
||||
| xxx_qpm.img | QPM Operating System | Yes |
|
||||
| xxx_tpascal.img | Borland Turbo Pascal Compiler | No |
|
||||
| xxx_ws4.img | WordStar v4 & ZDE Applications | No |
|
||||
| xxx_wp.img | WordStar v4 & ZDE Applications | No |
|
||||
| xxx_z80asm.img | Relocating macro assembler for CP/M | No |
|
||||
| xxx_zpm3.img | ZPM3 Operating System | Yes |
|
||||
| xxx_zsdos.img | ZCPR-DJ & ZSDOS 1.1 Operating System | Yes |
|
||||
@@ -2493,6 +2474,7 @@ via the NZ-COM adaptation (see below).
|
||||
* [ZCPR Manual]($doc_root$/CPM/ZCPR Manual.pdf)
|
||||
* [ZCPR-DJ]($doc_root$/CPM/ZCPR-DJ.doc)
|
||||
* [ZSDOS Manual]($doc_root$/CPM/ZSDOS Manual.pdf)
|
||||
* [ZSDOS Programmer's Manual]($doc_root$/CPM/ZSDOS Programmers Manual.pdf)
|
||||
|
||||
#### Boot Disk
|
||||
|
||||
@@ -2573,6 +2555,7 @@ Manual.pdf" document in order to use this operating system effectively.
|
||||
* [NZCOM Users Manual]($doc_root$/CPM/NZCOM Users Manual.pdf)
|
||||
* [Z-System Users Guide]($doc_root$/CPM/Z-System Users Guide.pdf)
|
||||
* [ZCPR3.3 User Guide]($doc_root$/CPM/ZCPR3.3 User Guide.pdf)
|
||||
* [ZSDOS Programmer's Manual]($doc_root$/CPM/ZSDOS Programmers Manual.pdf)
|
||||
|
||||
#### Boot Disk
|
||||
|
||||
|
||||
@@ -3,9 +3,13 @@ setlocal
|
||||
|
||||
set TOOLS=../../Tools
|
||||
|
||||
set PATH=%TOOLS%\srecord;%PATH%
|
||||
set PATH=%TOOLS%\zxcc;%TOOLS%\srecord;%TOOLS%\compress;%PATH%
|
||||
|
||||
for %%f in (..\..\Binary\RCZ80_ez512_*.rom) do call :build %%~nf
|
||||
set CPMDIR80=%TOOLS%/cpm/
|
||||
|
||||
zxcc z80asm -decomp/HL
|
||||
|
||||
for %%f in (..\..\Binary\RCZ80_ez512_*.upd) do call :build %%~nf
|
||||
|
||||
goto :eof
|
||||
|
||||
@@ -21,6 +25,17 @@ srec_cat temp.dat -binary -exclude 0x1F000 0x20000 ez512_mon.bin -binary -offset
|
||||
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
|
||||
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_wp.img ..\..\Binary\%1_hd1k_combo.img || exit /b
|
||||
|
||||
::
|
||||
:: The following lines produce a 64K ROM that can be used in the EaZy80-512.
|
||||
:: In order to fit in the required 64K, TastyBASIC and the Game components
|
||||
:: are removed from the ROM. If the layout of the ROM components
|
||||
:: changes (see ..\Source\layout.inc), the address range that is carved
|
||||
:: out below may need to be adjusted.
|
||||
::
|
||||
srec_cat ..\..\Binary\%1.upd -binary -exclude 0x13700 0x14A00 -fill 0xC9 0x13700 0x14A00 -o temp.upd -binary
|
||||
compress temp.upd
|
||||
srec_cat decomp.hex -intel temp.upd.cmp -binary -offset 3 -o ..\..\Binary\%1_64k.rom -binary
|
||||
|
||||
goto :eof
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
if exist *.upd del *.upd
|
||||
if exist *.cmp del *.cmp
|
||||
if exist *.hex del *.hex
|
||||
if exist *.lst del *.lst
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
DEST=../../Binary
|
||||
OTHERS=*.hex *.upd *.cmp
|
||||
|
||||
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
|
||||
$(DEST)/hd1k_cpm3.img $(DEST)/hd1k_zpm3.img $(DEST)/hd1k_wp.img
|
||||
|
||||
ROMS := $(wildcard $(DEST)/RCZ80_ez512_*.rom)
|
||||
ROMS := $(patsubst $(DEST)/%.rom,%,$(ROMS))
|
||||
ROMS := $(wildcard $(DEST)/RCZ80_ez512_*.upd)
|
||||
ROMS := $(patsubst $(DEST)/%.upd,%,$(ROMS))
|
||||
|
||||
OBJECTS := $(patsubst %,%_hd1k_prefix.dat,$(ROMS))
|
||||
OBJECTS += $(patsubst %,%_hd1k_combo.img,$(ROMS))
|
||||
OBJECTS += $(patsubst %,%_64k.rom,$(ROMS))
|
||||
|
||||
TOOLS = ../../Tools
|
||||
|
||||
@@ -25,3 +27,14 @@ DIFFPATH = $(DIFFTO)/Binary
|
||||
|
||||
%_hd1k_combo.img: %_hd1k_prefix.dat $(HD1KIMGS)
|
||||
cat $^ > $@
|
||||
|
||||
# The following recipe produces a 64K ROM that can be used in the EaZy80-512.
|
||||
# In order to fit in the required 64K, TastyBASIC and the Game components
|
||||
# are removed from the ROM. If the layout of the ROM components
|
||||
# changes (see ..\Source\layout.inc), the address range that is carved
|
||||
# out below may need to be adjusted.
|
||||
|
||||
%_64k.rom: $(DEST)/%.upd decomp.hex
|
||||
srec_cat $< -binary -exclude 0x13700 0x14A00 -fill 0xC9 0x13700 0x14A00 -o temp.upd -binary
|
||||
$(COMPRESS) temp.upd
|
||||
srec_cat decomp.hex -intel temp.upd.cmp -binary -offset 3 -o $@ -binary
|
||||
|
||||
151
Source/EZ512/decomp.z80
Normal file
151
Source/EZ512/decomp.z80
Normal file
@@ -0,0 +1,151 @@
|
||||
; 251003 decomp_rom_v1.1
|
||||
; Mark Pruden: Fix for omitted Bank 4
|
||||
;
|
||||
; 250208 decomp_rom v1.0
|
||||
; Paul de Bak: Renamed and used in RomWBW utility program 'compress_upd.c'
|
||||
; to compress *.upd binary files
|
||||
;
|
||||
;1/17/25
|
||||
;decompress RomWBW v1.0 - Original version by Bill Shen
|
||||
;Routine in ROM that decompress RomWBW data file into RAM and jump to it.
|
||||
;copy data file to RAM starting from bank 0, addr 0.
|
||||
;when encountered two consecutive bytes of same values, the tird byte following the consecutive values
|
||||
; describe how many more identical bytes need to be added.
|
||||
;decompression ends when 3 banks (96KB) are expanded
|
||||
;compressed data is stored from address $3 to below $FF00
|
||||
;decompress program is located at $FF00
|
||||
|
||||
;register usage
|
||||
;regC points to bankreg
|
||||
;regB is ROM source ($20)
|
||||
;regD is RAM destination bank
|
||||
;regE is previous value
|
||||
;regHL is destination pointer
|
||||
;regIX is source pointer
|
||||
;regIY points to byte count
|
||||
|
||||
bankreg equ 0ch ;PIO port C is 512K RAM bank register
|
||||
SIOAData equ 8h ;location of SIO chan A data
|
||||
SIOACmd equ 9h ;location of SIO ch A command/status reg
|
||||
SIOBData equ 0ah ;location of SIO chan B data
|
||||
SIOBCmd equ 0bh ;location of SIO ch B command/status reg
|
||||
PORTCData equ 0ch ;PIA port C data
|
||||
PORTCCmd equ 0dh ;PIA port C command
|
||||
|
||||
org 0
|
||||
jp 0ff00h ;do program at top of memory
|
||||
dataRomWBW:
|
||||
;compressed RomWBW data appended here
|
||||
org 0ff00h
|
||||
ld a,09h ;write to KIO command reg first, enable PIA mux
|
||||
out (0eh),a ; SIO-CTC-PIO priority daisy chain
|
||||
|
||||
ld hl,0ff00h ;copy self into RAM
|
||||
ld de,0ff00h
|
||||
ld bc,100h
|
||||
ldir
|
||||
|
||||
xor a ;PortC are all outputs. This will cause both RAM and ROM
|
||||
out (PORTCCmd),a ; to be enabled until following OUT instruction, since RAM and
|
||||
; ROM have same contents, this won't cause contention
|
||||
ld a,00100010b ; ROM enable, RAM disable, bank$2, nRTSA, nRTSB enabled
|
||||
out (PORTCData),a
|
||||
;register usage
|
||||
;regC points to bankreg
|
||||
;regB is ROM source ($20)
|
||||
;regD is RAM destination bank
|
||||
;regE is previous value
|
||||
;regHL is destination pointer
|
||||
;regIX is source pointer
|
||||
;regIY points to byte count
|
||||
ld c,bankreg ;regC points to bank register IO address
|
||||
ld e,0 ;make sure regE is not the same as very first byte which is 0xC3
|
||||
ld b,20h ;regB is ROM source
|
||||
ld d,80h ;regD is RAM destination
|
||||
ld hl,0 ;destination starts from bank 0, address 0
|
||||
ld ix,dataRomWBW ;regIX points to compressed RomWBW
|
||||
ld iy,cSame ;regIY points to the count of same value
|
||||
start:
|
||||
out (c),b ;read data from ROM
|
||||
;these two lines are executing program in ROM which has same program as RAM
|
||||
ld a,(ix) ;read from source
|
||||
out (c),d
|
||||
;running in RAM
|
||||
ld (hl),a ;write to destination
|
||||
cp e ;two consecutive same values?
|
||||
jp z,decomp
|
||||
ld e,a ;update the 'previous' value
|
||||
inc ix ;next value in ROM
|
||||
inc hl ;next destination value
|
||||
ld a,h
|
||||
cp 80h ;check for address greater than 32KB
|
||||
jp z,nxtDbank
|
||||
jp start
|
||||
nxtDbank:
|
||||
ld hl,0
|
||||
inc d ;next bank
|
||||
ld a,d
|
||||
;; cp 83h ;compare to bank 3
|
||||
cp 84h ;MP compare to bank 4
|
||||
jp z,decompDone
|
||||
jp start
|
||||
decomp:
|
||||
out (c),b ;read data from ROM
|
||||
;running in ROM
|
||||
inc ix ;point to byte count of same value
|
||||
ld a,(ix) ;get the count value
|
||||
out (c),d ;switch to RAM bank
|
||||
;running in RAM
|
||||
dec a ;reduce by 1 because one byte is already written
|
||||
ld (iy),a ;store count to cSame pointed by regIY
|
||||
jp z,DoDecomp2 ;just two consecutive values
|
||||
DoDecomp:
|
||||
inc hl ;next destination value
|
||||
ld a,h
|
||||
cp 80h
|
||||
jp z,nxtDbank1
|
||||
DoDecomp1:
|
||||
ld (hl),e ;write previous value (in regE) to destination
|
||||
dec (iy)
|
||||
jp nz,DoDecomp
|
||||
DoDecomp2:
|
||||
;done with block decompression, get ready to start over
|
||||
out (c),b
|
||||
;running in ROM
|
||||
inc ix ;point to next data in ROM
|
||||
ld e,(ix)
|
||||
dec e ;make sure previous value does not match, in case of large
|
||||
; block (>256) of same values
|
||||
out (c),d
|
||||
;running in RAM
|
||||
inc hl
|
||||
ld a,h
|
||||
cp 80h ;check for address grater than 32KB
|
||||
jp z,nxtDbank2
|
||||
jp start
|
||||
nxtDbank1:
|
||||
ld hl,0
|
||||
inc d ;next bank
|
||||
ld a,d
|
||||
cp 83h ;compare to bank3
|
||||
jp z,decompDone
|
||||
out (c),d ;update bank before continuing
|
||||
jp DoDecomp1
|
||||
nxtDbank2:
|
||||
ld hl,0
|
||||
inc d ;next bank
|
||||
ld a,d
|
||||
cp 83h ;compare to bank 3
|
||||
jp z,decompDone
|
||||
jp start
|
||||
decompDone:
|
||||
;decompression is done, reaching 96KB of data
|
||||
ld a,80h ;ROM disable, RAM enable, bank$0, nRTSA, nRTSB enabled
|
||||
out (c),a
|
||||
jp 0 ;execute RomWBW
|
||||
|
||||
cSame: db 0 ;count of the same value
|
||||
|
||||
end
|
||||
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
FPGA Z80 has no real ROM. It has a single 512K RAM chip.
|
||||
|
||||
The ROMless startup mode treats the entire 512KB as RAM. 384KB of RAM
|
||||
must be preloaded by the FPGA Monitor CF Loader. There will be no ROM
|
||||
disk available under RomWBW. There will be a RAM Disk and it's initial
|
||||
contents will be seeded by the image loaded by the CF Loader.
|
||||
|
||||
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
|
||||
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
|
||||
@@ -71,7 +71,7 @@ Bank ID Usage
|
||||
0x82 User TPA
|
||||
0x83 Common
|
||||
|
||||
ROMless Standard Bank Layout (512K): ZRC, ZRC512, EZ512, Z1RCC, ZZRCC, FZ80
|
||||
ROMless Standard Bank Layout (512K): ZRC, ZRC512, EZ512, Z1RCC, ZZRCC
|
||||
|
||||
Bank ID Usage
|
||||
------- ------
|
||||
|
||||
@@ -108,10 +108,10 @@ tasm -t%CPUType% -g3 -fFF -dCPM sysconf.asm sysconf.com sysconf_com.lst || exit
|
||||
|
||||
:: Create platform specific hardware monitor
|
||||
|
||||
if %Platform%==S100 (
|
||||
zxcc slr180 -s100mon/fh || exit /b
|
||||
zxcc mload25 -s100mon || exit /b
|
||||
set HwMon=s100mon.com
|
||||
if %Platform%==SZ180 (
|
||||
zxcc slr180 -sz180mon/fh || exit /b
|
||||
zxcc mload25 -sz180mon || exit /b
|
||||
set HwMon=sz180mon.com
|
||||
) else (
|
||||
call :asm hwmon || exit /b
|
||||
set HwMon=hwmon.bin
|
||||
@@ -233,6 +233,7 @@ call Build MBC std || exit /b
|
||||
call Build ZETA std || exit /b
|
||||
call Build ZETA2 std || exit /b
|
||||
call Build N8 std || exit /b
|
||||
call Build N8PC std || exit /b
|
||||
call Build MK4 std || exit /b
|
||||
call Build RCZ80 std || exit /b
|
||||
call Build RCEZ80 std || exit /b
|
||||
@@ -263,13 +264,15 @@ call Build GMZ180 std || exit /b
|
||||
call Build DYNO std || exit /b
|
||||
call Build RPH std || exit /b
|
||||
call Build Z80RETRO std || exit /b
|
||||
call Build S100 std || exit /b
|
||||
call Build SZ180 std || exit /b
|
||||
call Build DUO std || exit /b
|
||||
call Build HEATH std || exit /b
|
||||
call Build EPITX std || exit /b
|
||||
:: call Build MON std || exit /b
|
||||
call Build NABU std || exit /b
|
||||
call Build FZ80 std || exit /b
|
||||
call Build SZ80 std || exit /b
|
||||
call Build SZ80 t35 || exit /b
|
||||
call Build UNA std || exit /b
|
||||
call Build MSX std || exit /b
|
||||
|
||||
goto :eof
|
||||
|
||||
@@ -27,8 +27,8 @@ $ErrorAction = 'Stop'
|
||||
# UNA BIOS is simply imbedded, it is not built here.
|
||||
#
|
||||
|
||||
$PlatformListZ80 = "SBC", "MBC", "ZETA", "ZETA2", "RCZ80", "EZZ80", "Z80RETRO", "DUO", "UNA", "HEATH", "MON", "NABU", "FZ80", "RCEZ80"
|
||||
$PlatformListZ180 = "N8", "MK4", "RCZ180", "SCZ180", "DYNO", "RPH", "S100", "EPITX", "GMZ180"
|
||||
$PlatformListZ80 = "SBC", "MBC", "ZETA", "ZETA2", "RCZ80", "EZZ80", "Z80RETRO", "DUO", "UNA", "HEATH", "MON", "NABU", "SZ80", "RCEZ80", "MSX"
|
||||
$PlatformListZ180 = "N8", "MK4", "RCZ180", "SCZ180", "DYNO", "RPH", "SZ180", "EPITX", "GMZ180","N8PC"
|
||||
$PlatformListZ280 = "RCZ280"
|
||||
|
||||
#
|
||||
|
||||
@@ -17,6 +17,7 @@ if [ "${ROM_PLATFORM}" == "dist" ] ; then
|
||||
ROM_PLATFORM="ZETA"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="ZETA2"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="N8"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="N8PC"; 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
|
||||
@@ -47,13 +48,15 @@ if [ "${ROM_PLATFORM}" == "dist" ] ; then
|
||||
ROM_PLATFORM="DYNO"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="RPH"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="Z80RETRO"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="S100"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="SZ180"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="DUO"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="HEATH"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="EPITX"; ROM_CONFIG="std"; bash Build.sh
|
||||
# ROM_PLATFORM="MON"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="NABU"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="FZ80"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="SZ80"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="SZ80"; ROM_CONFIG="t35"; bash Build.sh
|
||||
ROM_PLATFORM="MSX"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="UNA"; ROM_CONFIG="std"; bash Build.sh
|
||||
exit
|
||||
fi
|
||||
|
||||
94
Source/HBIOS/Config/MSX_std.asm
Normal file
94
Source/HBIOS/Config/MSX_std.asm
Normal file
@@ -0,0 +1,94 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR MSX
|
||||
;==================================================================================================
|
||||
;
|
||||
; 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 "cfg_MSX.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 FALSE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
|
||||
;
|
||||
CPUOSC .SET 3579545 ; CPU OSC FREQ IN MHZ
|
||||
;
|
||||
RAMSIZE .SET 512-64 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!) (MSX_NOTE: SUBSTRACT 64K FROM RAM MAPPER SIZE)
|
||||
;
|
||||
KIOENABLE .SET FALSE ; ENABLE ZILOG KIO SUPPORT
|
||||
CTCENABLE .SET FALSE ; ENABLE ZILOG CTC SUPPORT
|
||||
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 TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
MKYKBLOUT .SET KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
;
|
||||
DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
RP5RTCENABLE .SET TRUE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM) (MSX_NOTE: MSX 1 MAY NOT HAVE A RTC, MSX 2 ALWAYS HAS ONE)
|
||||
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 FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
;
|
||||
TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_MSXMKY ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|MSXUKY]
|
||||
TMS80COLS .SET TRUE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9938/V9958
|
||||
;
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FDENABLE .SET FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM) (MSX_NOTE: REQUIRES SODA IDE CART)
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
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) (MSX_NOTE: SOME MSX MACHINES DON'T HAVE A LPT PORT)
|
||||
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 (MSX_NOTE: THERE ARE CARTS WITH THIS PSG LIKE THE MMM)
|
||||
AY38910ENABLE .SET TRUE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
|
||||
93
Source/HBIOS/Config/N8PC_std.asm
Normal file
93
Source/HBIOS/Config/N8PC_std.asm
Normal file
@@ -0,0 +1,93 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR N8PC
|
||||
;==================================================================================================
|
||||
;
|
||||
; 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_38400_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
|
||||
;
|
||||
#INCLUDE "cfg_N8PC.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 9216000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .SET 0 ; 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
|
||||
;
|
||||
M6242RTCENABLE .SET TRUE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.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 TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
;
|
||||
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
|
||||
|
||||
|
||||
DSKYENABLE .SET TRUE ; ENABLES DSKY FUNCTIONALITY
|
||||
PKDENABLE .SET TRUE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .SET N8_PPI0 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .SET 1000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
@@ -70,7 +70,7 @@ ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
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]
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR S100
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR S100 Z180
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -45,7 +45,7 @@
|
||||
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
|
||||
#DEFINE DEFSERCFG SER_57600_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
|
||||
;
|
||||
#INCLUDE "cfg_S100.asm"
|
||||
#INCLUDE "cfg_SZ180.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
|
||||
@@ -55,19 +55,27 @@ CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
|
||||
;
|
||||
Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .SET 1 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .SET 2 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
Z180_IOWAIT .SET 3 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
;
|
||||
CRTACT .SET TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
INTRTCENABLE .SET TRUE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
MMRTCENABLE .SET TRUE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
DS12RTCENABLE .SET TRUE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
PLDSERENABLE .SET TRUE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
SCCENABLE .SET TRUE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
SCC0ACFG .SET SER_19200_8N1 ; SCC 0A: SERIAL LINE CONFIG
|
||||
SCC0BCFG .SET SER_19200_8N1 ; SCC 0B: SERIAL LINE CONFIG
|
||||
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)
|
||||
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|EZ512|K80W]
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
;
|
||||
ESPSDENABLE .SET TRUE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
ESPSDCNT .SET 1 ; ESPSD: NUMBER OF BOARDS TO DETECT (1-2), 1-2 DEVICES PER BOARD
|
||||
ESPSD0DUAL .SET TRUE ; ESPSD 0: DUAL INTERFACE BOARD (DUAL SD)
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR S100 FPGA Z80
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR S100 Z80
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -43,14 +43,27 @@
|
||||
; 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
|
||||
#DEFINE DEFSERCFG SER_19200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
|
||||
;
|
||||
#INCLUDE "cfg_FZ80.asm"
|
||||
#INCLUDE "cfg_SZ80.asm"
|
||||
;
|
||||
CPUOSC .SET 8000000 ; CPU OSC FREQ IN MHZ
|
||||
CRTACT .SET TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
RAMSIZE .SET 896 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
MEMMGR .SET MM_SZ80 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON|EZ512|SZ80]
|
||||
;
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .SET $05 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
;
|
||||
MMRTCENABLE .SET TRUE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
DS12RTCENABLE .SET TRUE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
PLDSERENABLE .SET TRUE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
SCCENABLE .SET TRUE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
SCONENABLE .SET TRUE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
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)
|
||||
ESPSDENABLE .SET TRUE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
ESPSDCNT .SET 1 ; ESPSD: NUMBER OF BOARDS TO DETECT (1-2), 1-2 DEVICES PER BOARD
|
||||
ESPSD0DUAL .SET TRUE ; ESPSD 0: DUAL INTERFACE BOARD (DUAL SD)
|
||||
82
Source/HBIOS/Config/SZ80_t35.asm
Normal file
82
Source/HBIOS/Config/SZ80_t35.asm
Normal file
@@ -0,0 +1,82 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW DEFAULT BUILD SETTINGS FOR S100 T35 FPGA Z80
|
||||
;==================================================================================================
|
||||
;
|
||||
; 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 "S100 TRION Z80", " [", CONFIG, "]" ; TEXT LABEL OF THIS CONFIG IN STARTUP MESSAGES
|
||||
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
|
||||
#DEFINE DEFSERCFG SER_19200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
|
||||
;
|
||||
#INCLUDE "cfg_SZ80.asm"
|
||||
;
|
||||
CPUOSC .SET 8000000 ; CPU OSC FREQ IN MHZ
|
||||
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_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON|EZ512|SZ80]
|
||||
;
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
;
|
||||
DS5RTCENABLE .SET TRUE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PLDSERENABLE .SET TRUE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
TSERENABLE .SET TRUE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SCCENABLE .SET TRUE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
SCONENABLE .SET TRUE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
;
|
||||
LPTENABLE .SET TRUE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
TVGAENABLE .SET TRUE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDECNT .SET 3 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $30 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE1MODE .SET PPIDEMODE_S100A ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $38 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE2MODE .SET PPIDEMODE_S100B ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $38 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
;
|
||||
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
;
|
||||
ESPSDENABLE .SET TRUE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
ESPSDCNT .SET 1 ; ESPSD: NUMBER OF BOARDS TO DETECT (1-2), 1-2 DEVICES PER BOARD
|
||||
ESPSD0DUAL .SET TRUE ; ESPSD 0: DUAL INTERFACE BOARD (DUAL SD)
|
||||
@@ -38,7 +38,8 @@ ROM2 [32K] -> rom2.bin
|
||||
netboot [4.00K]
|
||||
updater.bin [3.25K]
|
||||
sysconf.bin [2.00K]
|
||||
usrrom.bin [3.75K]
|
||||
usrrom.bin [0.50K]
|
||||
slack [3.25K]
|
||||
|
||||
ROM3 [32K] -> rom3.bin
|
||||
hwmon [ 8.00K]
|
||||
|
||||
@@ -42,8 +42,8 @@ else
|
||||
BIOS=wbw
|
||||
endif
|
||||
|
||||
ifeq ($(ROM_PLATFORM),S100)
|
||||
HWMON=s100mon.bin
|
||||
ifeq ($(ROM_PLATFORM),SZ180)
|
||||
HWMON=sz180mon.bin
|
||||
else
|
||||
HWMON=hwmon.bin
|
||||
endif
|
||||
@@ -108,9 +108,9 @@ sysconf.com:
|
||||
@$(TASM) -dCPM sysconf.asm sysconf.com sysconf_com.lst
|
||||
cp $@ $(DEST)/Apps
|
||||
|
||||
s100mon.bin:
|
||||
$(ZXCC) $(CPM)/SLR180 -s100mon/FH
|
||||
$(ZXCC) $(CPM)/MLOAD25 -s100mon.bin=s100mon
|
||||
sz180mon.bin:
|
||||
$(ZXCC) $(CPM)/SLR180 -sz180mon/FH
|
||||
$(ZXCC) $(CPM)/MLOAD25 -sz180mon.bin=sz180mon
|
||||
|
||||
tastybasic.bin:
|
||||
cp ../TastyBasic/src/$@ .
|
||||
@@ -139,7 +139,7 @@ eastaegg.bin: build.inc
|
||||
updater.bin: build.inc
|
||||
romfonts.bin: build.inc
|
||||
hwmon.bin: build.inc
|
||||
s100mon.bin: build.inc
|
||||
sz180mon.bin: build.inc
|
||||
|
||||
dumps:
|
||||
for i in $(MOREDIFF) ; do \
|
||||
|
||||
@@ -6,7 +6,7 @@ DIST_OBJECTS := \
|
||||
DUO_std SCZ180_sc126 SCZ180_sc130 SCZ180_sc131 SCZ180_sc140 \
|
||||
SCZ180_sc503 SCZ180_sc700 S100_std UNA_std Z80RETRO_std \
|
||||
ZETA_std ZETA2_std HEATH_std EPITX_std GMZ180_std
|
||||
# RCZ80_mt RCZ80_duart MON_std
|
||||
# RCZ80_mt RCZ80_duart MON_std N8PC_std
|
||||
|
||||
OBJECTS := $(DIST_OBJECTS)
|
||||
OBJECTS := RCZ80_std
|
||||
@@ -45,9 +45,9 @@ camel80.bin:
|
||||
tastybasic.bin:
|
||||
cp ../TastyBasic/src/$@ .
|
||||
|
||||
s100mon.bin:
|
||||
$(ZXCC) $(CPM)/SLR180 -s100mon/FH
|
||||
$(ZXCC) $(CPM)/MLOAD25 -s100mon.bin=s100mon
|
||||
sz180mon.bin:
|
||||
$(ZXCC) $(CPM)/SLR180 -sz180mon/FH
|
||||
$(ZXCC) $(CPM)/MLOAD25 -sz180mon.bin=sz180mon
|
||||
|
||||
%.build.inc:
|
||||
echo $@
|
||||
@@ -117,7 +117,7 @@ DUO_%.osimg1.bin: NETBOOT=netboot-duo.mod
|
||||
cat camel80.bin $(*F).nascom.bin tastybasic.bin $(*F).game.bin $(*F).eastaegg.bin $(NETBOOT) $(*F).updater.bin $(*F).sysconf.bin $(*F).usrrom.bin >$@
|
||||
srec_cat $@ -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $@ -Binary
|
||||
|
||||
S100_%.imgpad2.bin: s100mon.bin
|
||||
S100_%.imgpad2.bin: sz180mon.bin
|
||||
cp $< $@
|
||||
srec_cat $@ -Binary -Crop 0 0x7FFF -Checksum_Negative_Big_Endian 0x7FFF 1 1 -o $@ -Binary
|
||||
|
||||
@@ -143,4 +143,3 @@ UNA_%.rom: UNA_%.osimg.bin UNA_%.hbios_env.sh
|
||||
|
||||
%.upd: %.hbios_rom.bin %.osimg.bin %.osimg1.bin %.imgpad2.bin
|
||||
cat $(*F).hbios_rom.bin $(*F).osimg.bin $(*F).osimg1.bin $(*F).imgpad2.bin >$@
|
||||
|
||||
|
||||
@@ -45,8 +45,8 @@ AUD_SCALE .EQU 3
|
||||
; ON ENTRY, DE IS ADDRESS OF NOTE TABLE, HL IS NOTE TO PLAY
|
||||
; NOTE VALUE 0 MEANS B0b/A0# IN OCTAVE 0 WHICH IS THE FIRST ENTRY
|
||||
; OF THE NOTE TABLE. THE NOTE TABLE REPRESENTS THE FREQUENCIES
|
||||
; FOR 1 FULL OCTAVE IN QUARTER NOTES. SINCE THERE ARE 12 NOTES
|
||||
; IN AN OCTAVE, THE TABLE HAS 48 ENTRIES FOR ALL QUARTER NOTES.
|
||||
; FOR 1 FULL OCTAVE IN EIGHTH TONES. SINCE THERE ARE 12 HALF TONES
|
||||
; IN AN OCTAVE, THE TABLE HAS 48 ENTRIES FOR ALL EIGHTH TONES.
|
||||
;
|
||||
; ON EXIT, HL CONTAINS THE PERIOD VALUE TO PROGRAM INTO THE PSG
|
||||
; DERIVED FROM THE NOTE TABLE SCALED TO THE REQUESTED OCTAVE.
|
||||
|
||||
@@ -559,7 +559,7 @@ AYT_REGWR .DB "\r\nOUT AY-3-8910 $"
|
||||
; EIGHTH TONE FREQUENCY TABLE
|
||||
;======================================================================
|
||||
;
|
||||
; THE FOLLOWING TABLE MAPS A FULL OCTAVE OF EIGHTH-NOTES
|
||||
; THE FOLLOWING TABLE MAPS A FULL OCTAVE OF EIGHTH-TONES
|
||||
; STARTING AT A# IN OCTAVE 0 TO THE CORRESPONDING PERIOD
|
||||
; VALUE TO USE ON THE PSG TO ACHIEVE THE DESIRED NOTE FREQUENCY.
|
||||
;
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_DUO ; 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]
|
||||
PLATFORM .SET PLT_DUO ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -168,6 +169,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -177,6 +186,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
;
|
||||
UARTENABLE .SET FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
@@ -222,6 +237,8 @@ SIO0BCLK .SET (7372800/4) ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7
|
||||
SIO0BCFG .SET DEFSERCFG ; SIO 0B: SERIAL LINE CONFIG
|
||||
SIO0BCTCC .SET 1 ; SIO 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
@@ -231,7 +248,7 @@ CVDUMODE .SET CVDUMODE_MBC ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
|
||||
CVDUMON .SET CVDUMON_CGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_DUO ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
|
||||
TMSMODE .SET TMSMODE_DUO ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET TRUE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
@@ -239,7 +256,7 @@ VGASIZ .SET V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -282,18 +299,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $88 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $20 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $14 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_MT ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_MT ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -327,7 +347,7 @@ PIO0BASE .SET $68 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $6C ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET TRUE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_SPP ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_SPP ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $48 ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -354,6 +374,8 @@ SYQMODE .SET IMMMODE_SPP ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .SET $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_DYNO ; 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]
|
||||
PLATFORM .SET PLT_DYNO ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -167,6 +168,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -176,6 +185,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .SET $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
@@ -241,20 +256,22 @@ SIO1BCLK .SET 7372800 ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372
|
||||
SIO1BCFG .SET SER_115200_8N1 ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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]
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -297,18 +314,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $4C ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
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|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_PPI ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -338,6 +358,8 @@ IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM
|
||||
;
|
||||
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_EPITX ; 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]
|
||||
PLATFORM .SET PLT_EPITX ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -163,6 +164,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -172,6 +181,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 2 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .SET $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
@@ -237,20 +252,22 @@ SIO1BCLK .SET 7372800 ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372
|
||||
SIO1BCFG .SET SER_115200_8N1 ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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]
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -293,18 +310,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $20 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_EPITX ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_EPITX ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $40 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 2 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -337,7 +357,7 @@ PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $0C ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -364,6 +384,8 @@ SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.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]
|
||||
PLATFORM .SET PLT_EZZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -167,6 +168,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -176,6 +185,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .SET $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
@@ -246,20 +261,22 @@ SIO1BCLK .SET CPUOSC ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=73728
|
||||
SIO1BCFG .SET DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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]
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -302,18 +319,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $20 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
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]
|
||||
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 2 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -346,7 +366,7 @@ PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $0C ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -373,6 +393,8 @@ SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_GMZ180 ; 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]
|
||||
PLATFORM .SET PLT_GMZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -162,6 +163,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -171,6 +180,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .SET $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
@@ -236,20 +251,22 @@ SIO1BCLK .SET 7372800 ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372
|
||||
SIO1BCFG .SET SER_115200_8N1 ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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]
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -292,18 +309,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $20 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
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|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_GM ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -336,7 +356,7 @@ PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $18 ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -363,6 +383,8 @@ SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_HEATH ; 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]
|
||||
PLATFORM .SET PLT_HEATH ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -167,6 +168,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -176,6 +185,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .SET $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
@@ -246,20 +261,22 @@ SIO1BCLK .SET CPUOSC ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=73728
|
||||
SIO1BCFG .SET DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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]
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET TRUE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -302,18 +319,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $20 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_MT ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_MT ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 2 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -336,7 +356,7 @@ PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $0C ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -363,6 +383,8 @@ SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_NONE ; 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]
|
||||
PLATFORM .EQU PLT_NONE ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .EQU CPU_NONE ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .EQU FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .EQU BIOS_NONE ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -206,6 +207,14 @@ DS5RTCENABLE .EQU FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
PCRTCENABLE .EQU FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
PCRTC_BASE .EQU $C0 ; Default port for PCRTC, like DSRTC.
|
||||
;
|
||||
MMRTCENABLE .EQU FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .EQU FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
DS12RTC_BASE .EQU $70 ; DS12RTC: I/O BASE ADDRESS
|
||||
;
|
||||
M6242RTCENABLE .EQU TRUE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
M6242RTC_BASE .EQU $A0 ; M6242RTC: I/O BASE ADDRESS
|
||||
;
|
||||
SSERENABLE .EQU FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .EQU SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .EQU $FF ; SSER: STATUS PORT
|
||||
@@ -215,6 +224,12 @@ SSERIINV .EQU FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .EQU %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .EQU FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .EQU FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .EQU SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .EQU FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .EQU SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .EQU FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .EQU 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .EQU $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
@@ -295,6 +310,28 @@ SIO1BCLK .EQU CPUOSC ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=73728
|
||||
SIO1BCFG .EQU DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .EQU -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .EQU FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
SCCDEBUG .EQU FALSE ; SCC: ENABLE DEBUG OUTPUT
|
||||
SCCBOOT .EQU 0 ; SCC: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
SCCCNT .EQU 2 ; SCC: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
SCCINTS .EQU FALSE ; SCC: INCLUDE SCC INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
SCC0MODE .EQU SCCMODE_SZ80 ; SCC 0: CHIP TYPE: SCCMODE_[STD|SZ80]
|
||||
SCC0BASE .EQU $FF ; SCC 0: REGISTERS BASE ADR
|
||||
SCC0ACLK .EQU 4915200 ; SCC 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SCC0ACFG .EQU DEFSERCFG ; SCC 0A: SERIAL LINE CONFIG
|
||||
SCC0ACTCC .EQU -1 ; SCC 0A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SCC0BCLK .EQU 4915200 ; SCC 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SCC0BCFG .EQU DEFSERCFG ; SCC 0B: SERIAL LINE CONFIG
|
||||
SCC0BCTCC .EQU -1 ; SCC 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SCC1MODE .EQU SCCMODE_SZ80 ; SCC 1: CHIP TYPE: SIOMODE_[STD|SZ80]
|
||||
SCC1BASE .EQU $FF ; SCC 1: REGISTERS BASE ADR
|
||||
SCC1ACLK .EQU 4915200 ; SCC 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SCC1ACFG .EQU DEFSERCFG ; SCC 1A: SERIAL LINE CONFIG
|
||||
SCC1ACTCC .EQU -1 ; SCC 1A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SCC1BCLK .EQU 4915200 ; SCC 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SCC1BCFG .EQU DEFSERCFG ; SCC 1B: SERIAL LINE CONFIG
|
||||
SCC1BCTCC .EQU -1 ; SCC 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
@@ -306,7 +343,7 @@ GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
GDCMODE .EQU GDCMODE_RPH ; GDC: GDC MODE: GDCMODE_[NONE|ECB|RPH]
|
||||
GDCMON .EQU GDCMON_EGA ; GDC: GDC MONITOR SETUP: GDCMON_[NONE|CGA|EGA]
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
|
||||
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .EQU FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
@@ -314,7 +351,7 @@ VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .EQU FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .EQU FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .EQU FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .EQU FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .EQU FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
XOSENABLE .EQU FALSE ; XOSERA: ENABLE XOSERA VIDEO DRIVERS (XOSERA.ASM)
|
||||
XOS_BASE .EQU $20 ; XOSERA: I/O BASE ADDRESS (REQUIRES 32 BYTES)
|
||||
XOSSIZ .EQU V80X30 ; XOSERA: DISPLAY FORMAT [V80X30|V80X60]
|
||||
@@ -337,6 +374,7 @@ RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
RFCNT .EQU 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-4)
|
||||
;
|
||||
IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
IDEDETECTMEDIA .EQU FALSE ; IDE: PROBE FOR MEDIA IN MASTER UNIT, IF NOT DETECTED THEN DON'T ENABLE DRIVER
|
||||
IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
IDECNT .EQU 1 ; IDE: NUMBER OF IDE INTERFACES TO DETECT (1-3), 2 DRIVES EACH
|
||||
IDE0MODE .EQU IDEMODE_NONE ; IDE 0: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC|GIDE]
|
||||
@@ -361,18 +399,21 @@ IDE2B8BIT .EQU TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .EQU 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .EQU PPIDEMODE_NONE ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .EQU $60 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .EQU FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .EQU PPIDEMODE_NONE ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .EQU $20 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .EQU FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .EQU PPIDEMODE_NONE ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .EQU $14 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .EQU FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .EQU FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .EQU FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .EQU SDMODE_NONE ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
|
||||
SDMODE .EQU SDMODE_NONE ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .EQU $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .EQU 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -414,7 +455,7 @@ PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .EQU LPTMODE_NONE ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .EQU LPTMODE_NONE ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .EQU 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .EQU $E8 ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -441,6 +482,15 @@ SYQMODE .EQU IMMMODE_NONE ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .EQU LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .EQU LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .EQU FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
ESPSDTRACE .EQU 1 ; ESPSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
ESPSD_USECD .EQU FALSE ; ESPSD: ENABLE CARD DETECT SIGNAL USAGE
|
||||
ESPSDCNT .EQU 1 ; ESPSD: NUMBER OF BOARDS TO DETECT (1-2), 1-2 DEVICES PER BOARD
|
||||
ESPSD0BASE .EQU $80 ; ESPSD 0: ESP32 INTERFACE IO BASE ADR
|
||||
ESPSD0DUAL .EQU TRUE ; ESPSD 0: DUAL INTERFACE BOARD (DUAL SD)
|
||||
ESPSD1BASE .EQU $82 ; ESPSD 1: ESP32 INTERFACE IO BASE ADR
|
||||
ESPSD1DUAL .EQU TRUE ; ESPSD 1: DUAL INTERFACE BOARD (DUAL SD)
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .EQU $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
@@ -513,7 +563,3 @@ CHNATIVEEZ80 .EQU FALSE ; CH376: DELEGATE USB DRIVERS TO EZ80'S FIRMWARE
|
||||
_CH376_DATA_PORT .EQU $FF88 ; CH376: DATA PORT
|
||||
_CH376_COMMAND_PORT .EQU $FF89 ; CH376: COMMAND PORT
|
||||
_USB_MODULE_LEDS .EQU $FF8A ; CH376: LED CONTROL PORT
|
||||
|
||||
_CH376_DAT_PORT_ADDR .EQU _CH376_DATA_PORT
|
||||
_CH376_CMD_PORT_ADDR .EQU _CH376_COMMAND_PORT
|
||||
_USB_MOD_LEDS_ADDR .EQU _USB_MODULE_LEDS
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_MBC ; 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]
|
||||
PLATFORM .SET PLT_MBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -161,6 +162,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTC_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -170,6 +179,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
;
|
||||
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
@@ -215,6 +230,8 @@ SIO0BCLK .SET (4915200/8) ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7
|
||||
SIO0BCFG .SET DEFSERCFG ; SIO 0B: SERIAL LINE CONFIG
|
||||
SIO0BCTCC .SET -1 ; SIO 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
@@ -224,7 +241,7 @@ CVDUMODE .SET CVDUMODE_MBC ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
|
||||
CVDUMON .SET CVDUMON_CGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_MBC ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
|
||||
TMSMODE .SET TMSMODE_MBC ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET TRUE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
@@ -232,7 +249,7 @@ VGASIZ .SET V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -276,18 +293,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $60 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $20 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $14 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_JUHA ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_JUHA ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -315,7 +335,7 @@ PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_SPP ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_SPP ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $E8 ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -342,6 +362,8 @@ SYQMODE .SET IMMMODE_SPP ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .SET $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_MK4 ; 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]
|
||||
PLATFORM .SET PLT_MK4 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -167,6 +168,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -176,6 +185,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
;
|
||||
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
@@ -226,6 +241,8 @@ SIO0BCLK .SET (4915200/8) ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7
|
||||
SIO0BCFG .SET DEFSERCFG ; SIO 0B: SERIAL LINE CONFIG
|
||||
SIO0BCTCC .SET -1 ; SIO 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
@@ -235,7 +252,7 @@ CVDUMODE .SET CVDUMODE_ECB ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
|
||||
CVDUMON .SET CVDUMON_EGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
|
||||
TMSMODE .SET TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
@@ -243,7 +260,7 @@ VGASIZ .SET V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -287,18 +304,21 @@ IDE2B8BIT .SET FALSE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 2 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $14 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $20 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
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|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_MK4 ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -335,6 +355,8 @@ IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM
|
||||
;
|
||||
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .SET $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -51,8 +51,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_MON ; 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]
|
||||
PLATFORM .SET PLT_MON ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -164,6 +165,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -173,6 +182,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .SET $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
@@ -243,20 +258,22 @@ SIO1BCLK .SET CPUOSC ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=73728
|
||||
SIO1BCFG .SET DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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]
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -299,18 +316,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $20 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_MT ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_MT ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 2 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -343,7 +363,7 @@ PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $0C ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -370,6 +390,8 @@ SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW PLATFORM CONFIGURATION DEFAULTS FOR PLATFORM: FZ80
|
||||
; ROMWBW PLATFORM CONFIGURATION DEFAULTS FOR PLATFORM: MSX
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -42,43 +42,44 @@
|
||||
; ".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 "S100 FPGA Z80", " [", CONFIG, "]" ; TEXT LABEL OF THIS CONFIG IN STARTUP MESSAGES
|
||||
#DEFINE PLATFORM_NAME "MSX Computer", " [", CONFIG, "]" ; TEXT LABEL OF THIS CONFIG IN STARTUP MESSAGES
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE
|
||||
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
|
||||
#DEFINE DEFSERCFG SER_115200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_FZ80 ; 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]
|
||||
PLATFORM .SET PLT_MSX ; 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|MSX|N8PC]
|
||||
CPUFAM .SET CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET TRUE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
USELZSA2 .SET TRUE ; ENABLE FONT COMPRESSION
|
||||
USELZSA2 .SET FALSE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .SET 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .SET 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
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
|
||||
AUTOCON .SET FALSE ; ENABLE CONSOLE TAKEOVER AT LOADER PROMPT
|
||||
STRICTPART .SET TRUE ; ENFORCE STRICT PARTITION TABLE VALIDATION
|
||||
;
|
||||
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)
|
||||
CPUOSC .SET 3579545 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .SET 1 ; 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!!!)
|
||||
RAMSIZE .SET 512-64 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMFONTS .SET TRUE ; LOAD FONTS FROM ROM
|
||||
ROMFONTS .SET FALSE ; LOAD FONTS FROM ROM
|
||||
APP_BNKS .SET $FF ; BANKS TO RESERVE FOR APP USE ($FF FOR AUTO SIZING)
|
||||
MEMMGR .SET MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON|EZ512]
|
||||
MPGSEL_0 .SET $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .SET $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_2 .SET $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_3 .SET $7B ; Z2 MEM MGR BANK 3 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGENA .SET $7C ; Z2 MEM MGR PAGING ENABLE REGISTER (BIT 0, WRITE ONLY)
|
||||
MEMMGR .SET MM_MSX ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON|EZ512|MSX]
|
||||
RAMBIAS .SET 2 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
MPGSEL_0 .SET $FC ; MEM MGR BANK 0 PAGE SELECT REG (MSX_NOTE: SOME RAM MAPPERS SUPPORT READ)
|
||||
MPGSEL_1 .SET $FD ; MEM MGR BANK 1 PAGE SELECT REG (MSX_NOTE: SOME RAM MAPPERS SUPPORT READ)
|
||||
MPGSEL_2 .SET $FE ; MEM MGR BANK 2 PAGE SELECT REG (MSX_NOTE: SOME RAM MAPPERS SUPPORT READ)
|
||||
MPGSEL_3 .SET $FF ; MEM MGR BANK 3 PAGE SELECT REG (MSX_NOTE: SOME RAM MAPPERS SUPPORT READ)
|
||||
;
|
||||
RTCIO .SET $C0 ; RTC LATCH REGISTER ADR
|
||||
;
|
||||
@@ -96,6 +97,9 @@ CTCTIMCH .SET 3 ; TIMER CHANNEL (0-3)
|
||||
CTCOSC .SET CPUOSC ; CTC CLOCK FREQUENCY
|
||||
;
|
||||
PCFENABLE .SET FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
PCFBASE .SET $F0 ; PCF8584 BASE I/O ADDRESS
|
||||
PCFCLK .SET PCFCLK_8 ; PCF CLOCK BASE: PCFCLK_[3|443|6|8|12]
|
||||
PCFTRNS .SET PCFTRNS_90 ; PCF TRANSFER SPEED: PCFTRNS_[90|45|11|15]
|
||||
;
|
||||
EIPCENABLE .SET FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
@@ -103,10 +107,10 @@ SKZENABLE .SET FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
SKZDIV .SET DIV_1 ; UART CLK (CLK2) DIVIDER FOR Z80-512K
|
||||
;
|
||||
WDOGMODE .SET WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
WDOGIO .SET $6E ; WATCHDOG REGISTER ADR
|
||||
WDOGIO .SET $6F ; WATCHDOG REGISTER ADR
|
||||
;
|
||||
FPLED_ENABLE .SET TRUE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .SET $FF ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .SET $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_INV .SET FALSE ; FP: LED BITS ARE INVERTED
|
||||
FPLED_DSKACT .SET TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
@@ -134,7 +138,7 @@ GM7303ENABLE .SET FALSE ; ENABLES THE GM7303 BOARD WITH 16X2 LCD
|
||||
;
|
||||
BOOTCON .SET 0 ; BOOT CONSOLE DEVICE
|
||||
SECCON .SET $FF ; SECONDARY CONSOLE DEVICE
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
CRTACT .SET TRUE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
VDAEMU .SET EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI]
|
||||
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
ANSITRACE .SET 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -157,7 +161,7 @@ BQRTC_BASE .SET $50 ; BQRTC: I/O BASE ADDRESS
|
||||
;
|
||||
INTRTCENABLE .SET FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
;
|
||||
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
RP5RTCENABLE .SET TRUE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
;
|
||||
HTIMENABLE .SET FALSE ; ENABLE SIMH TIMER SUPPORT
|
||||
SIMRTCENABLE .SET FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM)
|
||||
@@ -165,16 +169,30 @@ SIMRTCENABLE .SET FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM)
|
||||
DS7RTCENABLE .SET FALSE ; DS7RTC: ENABLE DS-1307 I2C CLOCK DRIVER (DS7RTC.ASM)
|
||||
DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET TRUE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
SSERENABLE .SET TRUE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $34 ; SSER: STATUS PORT
|
||||
SSERDATA .SET $35 ; SSER: DATA PORT
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
SSERDATA .SET $FF ; SSER: DATA PORT
|
||||
SSERIRDY .SET %00000001 ; SSER: INPUT READY BIT MASK
|
||||
SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET TRUE ; SSER: OUTPUT READY BIT INVERTED
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
@@ -185,15 +203,15 @@ DUART1BASE .SET $40 ; DUART 1: BASE ADDRESS OF CHIP
|
||||
DUART1ACFG .SET DEFSERCFG ; DUART 1A: SERIAL LINE CONFIG
|
||||
DUART1BCFG .SET DEFSERCFG ; DUART 1B: SERIAL LINE CONFIG
|
||||
;
|
||||
UARTENABLE .SET FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTCNT .SET 1 ; UART: NUMBER OF CHIPS TO DETECT (1-8)
|
||||
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTCNT .SET 2 ; UART: NUMBER OF CHIPS TO DETECT (1-8)
|
||||
UARTOSC .SET 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .SET FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UART4UART .SET FALSE ; UART: SUPPORT 4UART ECB BOARD
|
||||
UART4UARTBASE .SET $C0 ; UART: BASE IO ADDRESS OF 4UART ECB BOARD
|
||||
UART0BASE .SET $FF ; UART 0: REGISTERS BASE ADR
|
||||
UART0BASE .SET $80 ; UART 0: REGISTERS BASE ADR
|
||||
UART0CFG .SET DEFSERCFG ; UART 0: SERIAL LINE CONFIG
|
||||
UART1BASE .SET $FF ; UART 1: REGISTERS BASE ADR
|
||||
UART1BASE .SET $88 ; UART 1: REGISTERS BASE ADR
|
||||
UART1CFG .SET DEFSERCFG ; UART 1: SERIAL LINE CONFIG
|
||||
UART2BASE .SET $FF ; UART 2: REGISTERS BASE ADR
|
||||
UART2CFG .SET DEFSERCFG ; UART 2: SERIAL LINE CONFIG
|
||||
@@ -246,20 +264,22 @@ SIO1BCLK .SET CPUOSC ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=73728
|
||||
SIO1BCFG .SET DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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)
|
||||
TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_MSXMKY ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET TRUE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9938/V9958
|
||||
TMSTIMENABLE .SET TRUE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET TRUE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET TRUE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET FALSE ; MD: ENABLE ROM DISK
|
||||
@@ -277,7 +297,8 @@ FD1TYPE .SET FDT_3HD ; FD 1: DRIVE TYPE: FDT_[3DD|3HD|5DD|5HD|8]
|
||||
;
|
||||
RFENABLE .SET FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
;
|
||||
IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
IDEENABLE .SET TRUE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
IDEDETECTMEDIA .SET TRUE ; IDE: PROBE FOR MEDIA IN MASTER UNIT, IF NOT DETECTED THEN DON'T ENABLE DRIVER
|
||||
IDETRACE .SET 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
IDECNT .SET 1 ; IDE: NUMBER OF IDE INTERFACES TO DETECT (1-3), 2 DRIVES EACH
|
||||
IDE0MODE .SET IDEMODE_RC ; IDE 0: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC|GIDE]
|
||||
@@ -286,14 +307,14 @@ IDE0DATLO .SET $00 ; IDE 0: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE0DATHI .SET $00 ; IDE 0: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE0A8BIT .SET TRUE ; IDE 0A (MASTER): 8 BIT XFER
|
||||
IDE0B8BIT .SET TRUE ; IDE 0B (MASTER): 8 BIT XFER
|
||||
IDE1MODE .SET IDEMODE_NONE ; IDE 1: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC|GIDE]
|
||||
IDE1BASE .SET $00 ; IDE 1: IO BASE ADDRESS
|
||||
IDE1MODE .SET IDEMODE_RC ; IDE 1: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC|GIDE]
|
||||
IDE1BASE .SET $18 ; IDE 1: IO BASE ADDRESS
|
||||
IDE1DATLO .SET $00 ; IDE 1: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE1DATHI .SET $00 ; IDE 1: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE1A8BIT .SET TRUE ; IDE 1A (MASTER): 8 BIT XFER
|
||||
IDE1B8BIT .SET TRUE ; IDE 1B (MASTER): 8 BIT XFER
|
||||
IDE2MODE .SET IDEMODE_NONE ; IDE 2: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC|GIDE]
|
||||
IDE2BASE .SET $00 ; IDE 2: IO BASE ADDRESS
|
||||
IDE2MODE .SET IDEMODE_RC ; IDE 2: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC|GIDE]
|
||||
IDE2BASE .SET $20 ; IDE 2: IO BASE ADDRESS
|
||||
IDE2DATLO .SET $00 ; IDE 2: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE2DATHI .SET $00 ; IDE 2: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE2A8BIT .SET TRUE ; IDE 2A (MASTER): 8 BIT XFER
|
||||
@@ -302,18 +323,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_MSX ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B|MSX]
|
||||
PPIDE0BASE .SET $30 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_MSX ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B|MSX]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_MSX ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B|MSX]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_FZ80 ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
|
||||
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]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 2 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -345,11 +369,11 @@ PIOCNT .SET 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET TRUE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_S100 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $C7 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT0BASE .SET $90 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .SET $00 ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
|
||||
@@ -373,6 +397,8 @@ SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
@@ -384,9 +410,9 @@ AUDIOTRACE .SET FALSE ; ENABLE TRACING TO CONSOLE OF SOUND DRIVER
|
||||
SN7CLK .SET 3579545 ; SN: PSG CLOCK FREQ, ASSUME MSX STD
|
||||
SNMODE .SET SNMODE_RC ; SN: DRIVER MODE: SNMODE_[NONE|RC|VGM|DUO]
|
||||
;
|
||||
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AY38910ENABLE .SET TRUE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AY_CLK .SET 1789772 ; AY: PSG CLOCK FREQ, ASSUME MSX STD
|
||||
AYMODE .SET AYMODE_RCZ80 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
|
||||
AYMODE .SET AYMODE_MSX ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
|
||||
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT
|
||||
;
|
||||
SPKENABLE .SET FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_N8 ; 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]
|
||||
PLATFORM .SET PLT_N8 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -167,7 +168,15 @@ SIMRTCENABLE .SET FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM)
|
||||
DS7RTCENABLE .SET FALSE ; DS7RTC: ENABLE DS-1307 I2C CLOCK DRIVER (DS7RTC.ASM)
|
||||
DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
@@ -178,6 +187,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
;
|
||||
UARTENABLE .SET FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
@@ -228,6 +243,8 @@ SIO0BCLK .SET (4915200/8) ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7
|
||||
SIO0BCFG .SET DEFSERCFG ; SIO 0B: SERIAL LINE CONFIG
|
||||
SIO0BCTCC .SET -1 ; SIO 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
@@ -237,7 +254,7 @@ CVDUMODE .SET CVDUMODE_ECB ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
|
||||
CVDUMON .SET CVDUMON_EGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_N8 ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
|
||||
TMSMODE .SET TMSMODE_N8 ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
@@ -245,7 +262,7 @@ VGASIZ .SET V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -289,18 +306,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET N8_PPI0 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
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]
|
||||
SDMODE .SET SDMODE_CSIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET N8_PPI0 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -337,6 +357,8 @@ IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM
|
||||
;
|
||||
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .SET $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
389
Source/HBIOS/cfg_N8PC.asm
Normal file
389
Source/HBIOS/cfg_N8PC.asm
Normal file
@@ -0,0 +1,389 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW PLATFORM CONFIGURATION DEFAULTS FOR PLATFORM: N8PC
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD,
|
||||
; YOU SHOULD OVERRIDE SETTINGS YOU WANT USING A CONFIGURATION FILE IN
|
||||
; THE CONFIG DIRECTORY UNDER THIS DIRECTORY.
|
||||
;
|
||||
; THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. IT IS MAINTAINED BY THE
|
||||
; AUTHORS OF ROMWBW. TO OVERRIDE SETTINGS YOU SHOULD USE A
|
||||
; CONFIGURATION FILE IN THE CONFIG DIRECTORY UNDER THIS DIRECTORY.
|
||||
;
|
||||
; 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 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.
|
||||
;
|
||||
; *** 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 "N8PC", " [", CONFIG, "]" ; TEXT LABEL OF THIS CONFIG IN STARTUP MESSAGES
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE
|
||||
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
|
||||
#DEFINE DEFSERCFG SER_38400_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_N8PC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
USELZSA2 .SET FALSE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .SET 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .SET 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
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
|
||||
STRICTPART .SET TRUE ; ENFORCE STRICT PARTITION TABLE VALIDATION
|
||||
;
|
||||
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 9216000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .SET 0 ; 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!!!)
|
||||
ROMSIZE .SET 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMFONTS .SET FALSE ; LOAD FONTS FROM ROM
|
||||
APP_BNKS .SET $FF ; BANKS TO RESERVE FOR APP USE ($FF FOR AUTO SIZING)
|
||||
MEMMGR .SET MM_N8 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON|EZ512]
|
||||
RAMBIAS .SET 0 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
;
|
||||
Z180_BASE .SET $40 ; Z180: I/O BASE ADDRESS FOR INTERNAL REGISTERS
|
||||
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)
|
||||
Z180_TIMER .SET TRUE ; Z180: ENABLE Z180 SYSTEM PERIODIC TIMER
|
||||
;
|
||||
N8_PPI0 .SET $84 ; N8: FIRST PARALLEL PORT REGISTERS BASE ADR
|
||||
N8_ACR .SET $94 ; N8: AUXILLARY CONTROL REGISTER (ACR) ADR
|
||||
N8_RMAP .SET $96 ; N8: ROM PAGE REGISTER ADR
|
||||
N8_DEFACR .SET $1B ; N8: AUX CTL REGISTER DEFAULT VALUE (QUIESCIENT STATE)
|
||||
;
|
||||
RTCIO .SET $88 ; RTC LATCH REGISTER ADR
|
||||
;
|
||||
KIOENABLE .SET FALSE ; ENABLE ZILOG KIO SUPPORT
|
||||
KIOBASE .SET $80 ; KIO BASE I/O ADDRESS
|
||||
;
|
||||
CTCENABLE .SET FALSE ; ENABLE ZILOG CTC SUPPORT
|
||||
CTCDEBUG .SET FALSE ; ENABLE CTC DRIVER DEBUG OUTPUT
|
||||
CTCBASE .SET $B0 ; CTC BASE I/O ADDRESS
|
||||
CTCTIMER .SET FALSE ; ENABLE CTC PERIODIC TIMER
|
||||
;
|
||||
PCFENABLE .SET FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
;
|
||||
EIPCENABLE .SET FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .SET FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .SET WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPLED_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .SET $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_INV .SET FALSE ; FP: LED BITS ARE INVERTED
|
||||
FPLED_DSKACT .SET TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .SET $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
FPSW_INV .SET FALSE ; FP: SWITCH BITS ARE INVERTED
|
||||
;
|
||||
DIAGLVL .SET DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .SET TRUE ; ENABLES STATUS LED (SINGLE LED)
|
||||
LEDMODE .SET LEDMODE_STD ; LEDMODE_[STD|SC|RTC|NABU]
|
||||
LEDPORT .SET N8_ACR ; STATUS LED PORT ADDRESS
|
||||
LEDDISKIO .SET TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED
|
||||
;
|
||||
DSKYENABLE .SET FALSE ; ENABLES DSKY FUNCTIONALITY
|
||||
DSKYDSKACT .SET TRUE ; ENABLES DISK ACTIVITY ON DSKY DISPLAY
|
||||
ICMENABLE .SET FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
|
||||
ICMPPIBASE .SET N8_PPI0 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .SET FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .SET N8_PPI0 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .SET 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .SET FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
LCDENABLE .SET FALSE ; ENABLE LCD DISPLAY
|
||||
LCDBASE .SET $DA ; BASE I/O ADDRESS OF LCD CONTROLLER
|
||||
GM7303ENABLE .SET FALSE ; ENABLES THE GM7303 BOARD WITH 16X2 LCD
|
||||
;
|
||||
BOOTCON .SET 0 ; BOOT CONSOLE DEVICE
|
||||
SECCON .SET $FF ; SECONDARY CONSOLE DEVICE
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
VDAEMU .SET EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI]
|
||||
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
ANSITRACE .SET 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPKTRACE .SET 1 ; PPK DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
KBDTRACE .SET 1 ; KBD DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPKKBLOUT .SET KBD_US ; PPK KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
KBDKBLOUT .SET KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
MKYKBLOUT .SET KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
KBDINTS .SET FALSE ; ENABLE KBD (PS2) KEYBOARD INTERRUPTS
|
||||
;
|
||||
DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
DSRTCMODE .SET DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTCMODE_[STD|MFPIC|K80W]
|
||||
DSRTCCHG .SET FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!)
|
||||
;
|
||||
DS1501RTCENABLE .SET FALSE ; DS1501RTC: ENABLE DS-1501 CLOCK DRIVER (DS1501RTC.ASM)
|
||||
DS1501RTC_BASE .SET $50 ; DS1501RTC: I/O BASE ADDRESS
|
||||
;
|
||||
BQRTCENABLE .SET FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM)
|
||||
BQRTC_BASE .SET $50 ; BQRTC: I/O BASE ADDRESS
|
||||
;
|
||||
INTRTCENABLE .SET FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
;
|
||||
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
;
|
||||
HTIMENABLE .SET FALSE ; ENABLE SIMH TIMER SUPPORT
|
||||
SIMRTCENABLE .SET FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM)
|
||||
;
|
||||
DS7RTCENABLE .SET FALSE ; DS7RTC: ENABLE DS-1307 I2C CLOCK DRIVER (DS7RTC.ASM)
|
||||
DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET TRUE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
M6242RTC_BASE .SET $A0 ; M6242RTC: I/O BASE ADDRESS
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
SSERDATA .SET $FF ; SSER: DATA PORT
|
||||
SSERIRDY .SET %00000001 ; SSER: INPUT READY BIT MASK
|
||||
SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
;
|
||||
UARTENABLE .SET FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTCNT .SET 5 ; UART: NUMBER OF CHIPS TO DETECT (1-8)
|
||||
UARTOSC .SET 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .SET FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UART4UART .SET TRUE ; UART: SUPPORT 4UART ECB BOARD
|
||||
UART4UARTBASE .SET $C0 ; UART: BASE IO ADDRESS OF 4UART ECB BOARD
|
||||
UART0BASE .SET $80 ; UART 0: REGISTERS BASE ADR
|
||||
UART0CFG .SET DEFSERCFG ; UART 0: SERIAL LINE CONFIG
|
||||
UART1BASE .SET $C0 ; UART 1: REGISTERS BASE ADR
|
||||
UART1CFG .SET DEFSERCFG ; UART 1: SERIAL LINE CONFIG
|
||||
UART2BASE .SET $C8 ; UART 2: REGISTERS BASE ADR
|
||||
UART2CFG .SET DEFSERCFG ; UART 2: SERIAL LINE CONFIG
|
||||
UART3BASE .SET $D0 ; UART 3: REGISTERS BASE ADR
|
||||
UART3CFG .SET DEFSERCFG ; UART 3: SERIAL LINE CONFIG
|
||||
UART4BASE .SET $D8 ; UART 4: REGISTERS BASE ADR
|
||||
UART4CFG .SET DEFSERCFG ; UART 4: SERIAL LINE CONFIG
|
||||
UART5BASE .SET $FF ; UART 5: REGISTERS BASE ADR
|
||||
UART5CFG .SET DEFSERCFG ; UART 5: SERIAL LINE CONFIG
|
||||
UART6BASE .SET $FF ; UART 6: REGISTERS BASE ADR
|
||||
UART6CFG .SET DEFSERCFG ; UART 6: SERIAL LINE CONFIG
|
||||
UART7BASE .SET $FF ; UART 7: REGISTERS BASE ADR
|
||||
UART7CFG .SET DEFSERCFG ; UART 7: SERIAL LINE CONFIG
|
||||
;
|
||||
ASCIENABLE .SET TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCIINTS .SET FALSE ; ASCI: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
ASCISWAP .SET FALSE ; ASCI: SWAP CHANNELS
|
||||
ASCIBOOT .SET 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
ASCI0CFG .SET DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
ASCI1CFG .SET DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
|
||||
;
|
||||
Z2UENABLE .SET FALSE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
|
||||
;
|
||||
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
;
|
||||
SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
SIODEBUG .SET FALSE ; SIO: ENABLE DEBUG OUTPUT
|
||||
SIOBOOT .SET 0 ; SIO: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
SIOCNT .SET 1 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
SIOINTS .SET TRUE ; SIO: INCLUDE SIO INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
SIO0MODE .SET SIOMODE_ZP ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP|Z80R]
|
||||
SIO0BASE .SET $B0 ; SIO 0: REGISTERS BASE ADR
|
||||
SIO0ACLK .SET (4915200/8) ; SIO 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO0ACFG .SET DEFSERCFG ; 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 (4915200/8) ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO0BCFG .SET DEFSERCFG ; SIO 0B: SERIAL LINE CONFIG
|
||||
SIO0BCTCC .SET -1 ; SIO 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
VDUSIZ .SET V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30]
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
CVDUMODE .SET CVDUMODE_ECB ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
|
||||
CVDUMON .SET CVDUMON_EGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_N8PC ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET TRUE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .SET V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .SET TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .SET 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .SET FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
FDENABLE .SET TRUE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .SET FDMODE_N8 ; 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)
|
||||
FDTRACE .SET 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMAUTO .SET TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
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]
|
||||
;
|
||||
RFENABLE .SET FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
RFCNT .SET 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-4)
|
||||
;
|
||||
IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
IDETRACE .SET 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
IDECNT .SET 1 ; IDE: NUMBER OF IDE INTERFACES TO DETECT (1-3), 2 DRIVES EACH
|
||||
IDE0MODE .SET IDEMODE_DIO ; IDE 0: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC|GIDE]
|
||||
IDE0BASE .SET $20 ; IDE 0: IO BASE ADDRESS
|
||||
IDE0DATLO .SET $20 ; IDE 0: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE0DATHI .SET $28 ; IDE 0: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE0A8BIT .SET FALSE ; IDE 0A (MASTER): 8 BIT XFER
|
||||
IDE0B8BIT .SET FALSE ; IDE 0B (MASTER): 8 BIT XFER
|
||||
IDE1MODE .SET IDEMODE_NONE ; IDE 1: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC|GIDE]
|
||||
IDE1BASE .SET $00 ; IDE 1: IO BASE ADDRESS
|
||||
IDE1DATLO .SET $00 ; IDE 1: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE1DATHI .SET $00 ; IDE 1: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE1A8BIT .SET TRUE ; IDE 1A (MASTER): 8 BIT XFER
|
||||
IDE1B8BIT .SET TRUE ; IDE 1B (MASTER): 8 BIT XFER
|
||||
IDE2MODE .SET IDEMODE_NONE ; IDE 2: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC|GIDE]
|
||||
IDE2BASE .SET $00 ; IDE 2: IO BASE ADDRESS
|
||||
IDE2DATLO .SET $00 ; IDE 2: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE2DATHI .SET $00 ; IDE 2: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE2A8BIT .SET TRUE ; IDE 2A (MASTER): 8 BIT XFER
|
||||
IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
;
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET N8_PPI0 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .SET FALSE ; 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|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET N8_PPI0 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .SET FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
SDMTSWAP .SET FALSE ; SD: SWAP THE LOGICAL ORDER OF THE SPI PORTS OF THE MT011
|
||||
;
|
||||
CHENABLE .SET FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
PRPENABLE .SET FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .SET TRUE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .SET 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PRPCONENABLE .SET TRUE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .SET FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
PPPBASE .SET N8_PPI0 ; PPP: PPI REGISTERS BASE ADDRESS
|
||||
PPPSDENABLE .SET TRUE ; PPP: ENABLE PPP DRIVER SD CARD SUPPORT
|
||||
PPPSDTRACE .SET 1 ; PPP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPPCONENABLE .SET TRUE ; PPP: ENABLE PPP DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
ESPENABLE .SET FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .SET FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .SET FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
PIOCNT .SET 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
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)
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .SET $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIOZBASE .SET $88 ; PIO: PIO REGISTERS BASE ADR FOR ECB ZP BOARD
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
PIOSBASE .SET N8_PPI0 ; PIO: PIO REGISTERS BASE ADR FOR SBC PPI
|
||||
;
|
||||
UFENABLE .SET FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM)
|
||||
UFBASE .SET $0C ; UF: REGISTERS BASE ADR
|
||||
;
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
SN76489CHNOUT .SET SNCHAN_BOTH ; SN: CHANNEL OUTPUTS: SNCHAN_[BOTH|LEFT|RIGHT]
|
||||
AUDIOTRACE .SET FALSE ; ENABLE TRACING TO CONSOLE OF SOUND DRIVER
|
||||
SN7CLK .SET 3579545 ; SN: PSG CLOCK FREQ, ASSUME MSX STD
|
||||
SNMODE .SET SNMODE_VGM ; SN: DRIVER MODE: SNMODE_[NONE|RC|VGM|DUO]
|
||||
;
|
||||
AY38910ENABLE .SET TRUE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AY_CLK .SET 3579545 ; AY: PSG CLOCK FREQ, ASSUME MSX STD
|
||||
AYMODE .SET AYMODE_N8 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC|DUO|NABU]
|
||||
AY_FORCE .SET FALSE ; AY: BYPASS AUTO-DETECT, FORCED PRESENT
|
||||
;
|
||||
SPKENABLE .SET FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .SET FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .SET $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .SET DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .SET FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .SET $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_NABU ; 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]
|
||||
PLATFORM .SET PLT_NABU ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -167,6 +168,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -176,6 +185,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .SET $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
@@ -246,20 +261,22 @@ SIO1BCLK .SET CPUOSC ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=73728
|
||||
SIO1BCFG .SET DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_NABU ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
|
||||
TMSMODE .SET TMSMODE_NABU ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET TRUE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET TRUE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -302,18 +319,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $60 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_MT ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_MT ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 2 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -346,7 +366,7 @@ PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $0C ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -373,6 +393,8 @@ SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_RCEZ80 ; 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]
|
||||
PLATFORM .SET PLT_RCEZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_EZ80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -165,6 +166,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -174,6 +183,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .SET $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
@@ -244,20 +259,22 @@ SIO1BCLK .SET CPUOSC ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=73728
|
||||
SIO1BCFG .SET DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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|MSXUKY]
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|MSXUKY|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -300,18 +317,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $20 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_MT ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_MT ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 2 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -347,7 +367,7 @@ PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $0C ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -374,6 +394,8 @@ SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_RCZ180 ; 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]
|
||||
PLATFORM .SET PLT_RCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -145,7 +146,7 @@ KBDKBLOUT .SET KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
MKYKBLOUT .SET KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
KBDINTS .SET FALSE ; ENABLE KBD (PS2) KEYBOARD INTERRUPTS
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
DSRTCMODE .SET DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTCMODE_[STD|MFPIC|K80W]
|
||||
DSRTCCHG .SET FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!)
|
||||
;
|
||||
@@ -167,6 +168,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -176,6 +185,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .SET $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
@@ -241,20 +256,22 @@ SIO1BCLK .SET 7372800 ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372
|
||||
SIO1BCFG .SET DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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]
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -297,18 +314,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $20 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
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]
|
||||
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 2 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -344,7 +364,7 @@ PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $0C ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -371,6 +391,8 @@ SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_RCZ280 ; 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]
|
||||
PLATFORM .SET PLT_RCZ280 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z280 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -167,6 +168,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -176,6 +185,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .SET $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
@@ -251,20 +266,22 @@ SIO1BCLK .SET 7372800 ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372
|
||||
SIO1BCFG .SET DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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]
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -307,18 +324,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $20 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
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]
|
||||
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 2 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -354,7 +374,7 @@ PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $0C ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -381,6 +401,8 @@ SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_RCZ80 ; 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]
|
||||
PLATFORM .SET PLT_RCZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC
|
||||
CPUFAM .SET CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -148,7 +149,7 @@ KBDKBLOUT .SET KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
MKYKBLOUT .SET KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
KBDINTS .SET FALSE ; ENABLE KBD (PS2) KEYBOARD INTERRUPTS
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
DSRTCMODE .SET DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTCMODE_[STD|MFPIC|K80W]
|
||||
DSRTCCHG .SET FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!)
|
||||
;
|
||||
@@ -170,6 +171,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -179,6 +188,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .SET $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
@@ -249,20 +264,22 @@ SIO1BCLK .SET CPUOSC ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=73728
|
||||
SIO1BCFG .SET DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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]
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -305,18 +322,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $20 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
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]
|
||||
SDMODE .SET SDMODE_PIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 2 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -349,7 +369,7 @@ PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $0C ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -376,6 +396,8 @@ SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_RPH ; 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]
|
||||
PLATFORM .SET PLT_RPH ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET TRUE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -167,6 +168,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -176,6 +185,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
;
|
||||
UARTENABLE .SET FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
@@ -214,6 +229,8 @@ ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
;
|
||||
SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
@@ -225,7 +242,7 @@ GDCENABLE .SET TRUE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
GDCMODE .SET GDCMODE_RPH ; GDC: GDC MODE: GDCMODE_[NONE|ECB|RPH]
|
||||
GDCMON .SET GDCMON_EGA ; GDC: GDC MONITOR SETUP: GDCMON_[NONE|CGA|EGA]
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_N8 ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
|
||||
TMSMODE .SET TMSMODE_N8 ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
@@ -233,7 +250,7 @@ VGASIZ .SET V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -277,18 +294,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET RPH_PPI0 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .SET FALSE ; 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]
|
||||
SDMODE .SET SDMODE_CSIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET RPH_PPI0 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -318,6 +338,8 @@ IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM
|
||||
;
|
||||
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .SET $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_SBC ; 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]
|
||||
PLATFORM .SET PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -162,6 +163,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -171,6 +180,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
;
|
||||
UARTENABLE .SET TRUE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
@@ -216,6 +231,8 @@ SIO0BCLK .SET (4915200/8) ; SIO 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7
|
||||
SIO0BCFG .SET DEFSERCFG ; SIO 0B: SERIAL LINE CONFIG
|
||||
SIO0BCTCC .SET -1 ; SIO 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
@@ -225,7 +242,7 @@ CVDUMODE .SET CVDUMODE_ECB ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
|
||||
CVDUMON .SET CVDUMON_EGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
|
||||
TMSMODE .SET TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
@@ -233,7 +250,7 @@ VGASIZ .SET V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -277,18 +294,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $60 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $20 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $14 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_JUHA ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_JUHA ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -326,6 +346,8 @@ IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM
|
||||
;
|
||||
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .SET $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_SCZ180 ; 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]
|
||||
PLATFORM .SET PLT_SCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -167,6 +168,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -176,6 +185,12 @@ SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .SET $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
@@ -241,20 +256,22 @@ SIO1BCLK .SET 7372800 ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372
|
||||
SIO1BCFG .SET SER_115200_8N1 ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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]
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -297,18 +314,21 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $20 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_STD ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_STD ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
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|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_SC ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -341,7 +361,7 @@ PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $18 ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -368,6 +388,8 @@ SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW PLATFORM CONFIGURATION DEFAULTS FOR PLATFORM: S100
|
||||
; ROMWBW PLATFORM CONFIGURATION DEFAULTS FOR PLATFORM: S100 Z180
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
@@ -42,15 +42,16 @@
|
||||
; ".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 "S100", " [", CONFIG, "]" ; TEXT LABEL OF THIS CONFIG IN STARTUP MESSAGES
|
||||
#DEFINE PLATFORM_NAME "S100 Z180", " [", CONFIG, "]" ; TEXT LABEL OF THIS CONFIG IN STARTUP MESSAGES
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE
|
||||
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
|
||||
#DEFINE DEFSERCFG SER_57600_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_S100 ; 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]
|
||||
PLATFORM .SET PLT_SZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -84,7 +85,7 @@ MPGENA .SET $7C ; Z2 MEM MGR PAGING ENABLE REGISTER (BIT 0, WRITE ONLY)
|
||||
Z180_BASE .SET $C0 ; Z180: I/O BASE ADDRESS FOR INTERNAL REGISTERS
|
||||
Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .SET 1 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .SET 2 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
Z180_IOWAIT .SET 3 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
Z180_TIMER .SET TRUE ; Z180: ENABLE Z180 SYSTEM PERIODIC TIMER
|
||||
;
|
||||
RTCIO .SET $0C ; RTC LATCH REGISTER ADR
|
||||
@@ -93,9 +94,6 @@ KIOENABLE .SET FALSE ; ENABLE ZILOG KIO SUPPORT
|
||||
KIOBASE .SET $80 ; KIO BASE I/O ADDRESS
|
||||
;
|
||||
CTCENABLE .SET FALSE ; ENABLE ZILOG CTC SUPPORT
|
||||
CTCDEBUG .SET FALSE ; ENABLE CTC DRIVER DEBUG OUTPUT
|
||||
CTCBASE .SET $88 ; CTC BASE I/O ADDRESS
|
||||
CTCTIMER .SET FALSE ; ENABLE CTC PERIODIC TIMER
|
||||
;
|
||||
PCFENABLE .SET FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
;
|
||||
@@ -106,17 +104,17 @@ SKZENABLE .SET FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
WDOGMODE .SET WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPLED_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .SET $00 ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_IO .SET $FF ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_INV .SET FALSE ; FP: LED BITS ARE INVERTED
|
||||
FPLED_DSKACT .SET TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .SET $00 ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
FPSW_IO .SET $FF ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
FPSW_INV .SET FALSE ; FP: SWITCH BITS ARE INVERTED
|
||||
;
|
||||
DIAGLVL .SET DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .SET FALSE ; ENABLES STATUS LED (SINGLE LED)
|
||||
LEDMODE .SET LEDMODE_SC ; LEDMODE_[STD|SC|RTC|NABU]
|
||||
LEDMODE .SET LEDMODE_STD ; LEDMODE_[STD|SC|RTC|NABU]
|
||||
LEDPORT .SET $0E ; STATUS LED PORT ADDRESS
|
||||
LEDDISKIO .SET TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED
|
||||
;
|
||||
@@ -145,7 +143,7 @@ KBDKBLOUT .SET KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
MKYKBLOUT .SET KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
KBDINTS .SET FALSE ; ENABLE KBD (PS2) KEYBOARD INTERRUPTS
|
||||
;
|
||||
DSRTCENABLE .SET TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
DSRTCMODE .SET DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTCMODE_[STD|MFPIC|K80W]
|
||||
DSRTCCHG .SET FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!)
|
||||
;
|
||||
@@ -167,14 +165,21 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
SSERDATA .SET $FF ; SSER: DATA PORT
|
||||
SSERIRDY .SET %00000001 ; SSER: INPUT READY BIT MASK
|
||||
SSERIINV .SET FALSE ; SSER: INPUT READY BIT INVERTED
|
||||
SSERORDY .SET %00000010 ; SSER: OUTPUT READY BIT MASK
|
||||
SSEROINV .SET FALSE ; SSER: OUTPUT READY BIT INVERTED
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
@@ -220,26 +225,28 @@ Z2UENABLE .SET FALSE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
|
||||
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
;
|
||||
SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
SIODEBUG .SET FALSE ; SIO: ENABLE DEBUG OUTPUT
|
||||
SIOBOOT .SET 0 ; SIO: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
SIOCNT .SET 2 ; SIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
SIOINTS .SET TRUE ; SIO: INCLUDE SIO INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
SIO0MODE .SET SIOMODE_RC ; SIO 0: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP|Z80R]
|
||||
SIO0BASE .SET $80 ; SIO 0: REGISTERS BASE ADR
|
||||
SIO0ACLK .SET 7372800 ; 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
|
||||
SIO1MODE .SET SIOMODE_RC ; SIO 1: CHIP TYPE: SIOMODE_[STD|RC|SMB|ZP|Z80R]
|
||||
SIO1BASE .SET $84 ; SIO 1: REGISTERS BASE ADR
|
||||
SIO1ACLK .SET 7372800 ; SIO 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO1ACFG .SET SER_115200_8N1 ; SIO 1A: SERIAL LINE CONFIG
|
||||
SIO1ACTCC .SET -1 ; SIO 1A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SIO1BCLK .SET 7372800 ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SIO1BCFG .SET SER_115200_8N1 ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
SCCDEBUG .SET FALSE ; SCC: ENABLE DEBUG OUTPUT
|
||||
SCCBOOT .SET 0 ; SCC: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
SCCCNT .SET 1 ; SCC: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
SCCINTS .SET FALSE ; SCC: INCLUDE SCC INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
SCC0MODE .SET SCCMODE_SZ80 ; SCC 0: CHIP TYPE: SCCMODE_[STD|SZ80]
|
||||
SCC0BASE .SET $A0 ; SCC 0: REGISTERS BASE ADR
|
||||
SCC0ACLK .SET 4915200 ; SCC 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SCC0ACFG .SET DEFSERCFG ; SCC 0A: SERIAL LINE CONFIG
|
||||
SCC0ACTCC .SET -1 ; SCC 0A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SCC0BCLK .SET 4915200 ; SCC 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SCC0BCFG .SET DEFSERCFG ; SCC 0B: SERIAL LINE CONFIG
|
||||
SCC0BCTCC .SET -1 ; SCC 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SCC1MODE .SET SCCMODE_SZ80 ; SCC 1: CHIP TYPE: SIOMODE_[STD|SZ80]
|
||||
SCC1BASE .SET $FF ; SCC 1: REGISTERS BASE ADR
|
||||
SCC1ACLK .SET 4915200 ; SCC 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SCC1ACFG .SET DEFSERCFG ; SCC 1A: SERIAL LINE CONFIG
|
||||
SCC1ACTCC .SET -1 ; SCC 1A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SCC1BCLK .SET 4915200 ; SCC 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SCC1BCFG .SET DEFSERCFG ; SCC 1B: SERIAL LINE CONFIG
|
||||
SCC1BCTCC .SET -1 ; SCC 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
@@ -247,14 +254,14 @@ VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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]
|
||||
TMSMODE .SET TMSMODE_MSX ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -296,19 +303,22 @@ IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
;
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0BASE .SET $20 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDECNT .SET 2 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_S100A ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $30 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1BASE .SET $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1MODE .SET PPIDEMODE_S100B ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $30 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_NONE ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
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|EZ512|K80W]
|
||||
SDENABLE .SET FALSE ; 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|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -331,7 +341,7 @@ PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_MG014 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014]
|
||||
LPTMODE .SET LPTMODE_SPP ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $18 ; LPT 0: REGISTERS BASE ADR
|
||||
@@ -358,6 +368,15 @@ SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET TRUE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
ESPSDTRACE .SET 1 ; ESPSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
ESPSD_USECD .SET TRUE ; ESPSD: ENABLE CARD DETECT SIGNAL USAGE
|
||||
ESPSDCNT .SET 1 ; ESPSD: NUMBER OF BOARDS TO DETECT (1-2), 1-2 DEVICES PER BOARD
|
||||
ESPSD0BASE .SET $80 ; ESPSD 0: ESP32 INTERFACE IO BASE ADR
|
||||
ESPSD0DUAL .SET TRUE ; ESPSD 0: DUAL INTERFACE BOARD (DUAL SD)
|
||||
ESPSD1BASE .SET $82 ; ESPSD 1: ESP32 INTERFACE IO BASE ADR
|
||||
ESPSD1DUAL .SET TRUE ; ESPSD 1: DUAL INTERFACE BOARD (DUAL SD)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
@@ -365,15 +384,8 @@ PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
UFENABLE .SET FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM)
|
||||
;
|
||||
SN76489ENABLE .SET FALSE ; SN: ENABLE SN76489 SOUND DRIVER
|
||||
SN76489CHNOUT .SET SNCHAN_BOTH ; SN: CHANNEL OUTPUTS: SNCHAN_[BOTH|LEFT|RIGHT]
|
||||
AUDIOTRACE .SET FALSE ; ENABLE TRACING TO CONSOLE OF SOUND DRIVER
|
||||
SN7CLK .SET 3579545 ; SN: PSG CLOCK FREQ, ASSUME MSX STD
|
||||
SNMODE .SET SNMODE_RC ; SN: DRIVER MODE: SNMODE_[NONE|RC|VGM|DUO]
|
||||
;
|
||||
AY38910ENABLE .SET FALSE ; AY: ENABLE AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AY_CLK .SET 1789772 ; AY: PSG CLOCK FREQ, ASSUME MSX STD
|
||||
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
|
||||
;
|
||||
SPKENABLE .SET FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
@@ -382,4 +394,3 @@ DMABASE .SET $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .SET DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC|DUO)
|
||||
;
|
||||
YM2612ENABLE .SET FALSE ; YM2612: ENABLE YM2612 DRIVER
|
||||
VGMBASE .SET $C0 ; YM2612: BASE ADDRESS FOR VGM BOARD (YM2612/SN76489s/CTC)
|
||||
383
Source/HBIOS/cfg_SZ80.asm
Normal file
383
Source/HBIOS/cfg_SZ80.asm
Normal file
@@ -0,0 +1,383 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW PLATFORM CONFIGURATION DEFAULTS FOR PLATFORM: SZ80
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE DEFINES THE DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD,
|
||||
; YOU SHOULD OVERRIDE SETTINGS YOU WANT USING A CONFIGURATION FILE IN
|
||||
; THE CONFIG DIRECTORY UNDER THIS DIRECTORY.
|
||||
;
|
||||
; THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. IT IS MAINTAINED BY THE
|
||||
; AUTHORS OF ROMWBW. TO OVERRIDE SETTINGS YOU SHOULD USE A
|
||||
; CONFIGURATION FILE IN THE CONFIG DIRECTORY UNDER THIS DIRECTORY.
|
||||
;
|
||||
; 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 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.
|
||||
;
|
||||
; *** 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 "S100 Z80", " [", CONFIG, "]" ; TEXT LABEL OF THIS CONFIG IN STARTUP MESSAGES
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD FOR EMPTY CMD LINE
|
||||
#DEFINE AUTO_CMD "" ; AUTO CMD WHEN BOOT_TIMEOUT IS ENABLED
|
||||
#DEFINE DEFSERCFG SER_19200_8N1 | SER_RTS ; DEFAULT SERIAL CONFIGURATION
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_SZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
USELZSA2 .SET TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .SET 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .SET -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .SET 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
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
|
||||
STRICTPART .SET TRUE ; ENFORCE STRICT PARTITION TABLE VALIDATION
|
||||
;
|
||||
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)
|
||||
;
|
||||
RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMFONTS .SET TRUE ; LOAD FONTS FROM ROM
|
||||
APP_BNKS .SET $FF ; BANKS TO RESERVE FOR APP USE ($FF FOR AUTO SIZING)
|
||||
MEMMGR .SET MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH|MON|EZ512]
|
||||
MPGSEL_0 .SET $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .SET $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_2 .SET $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_3 .SET $7B ; Z2 MEM MGR BANK 3 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGENA .SET $7C ; Z2 MEM MGR PAGING ENABLE REGISTER (BIT 0, WRITE ONLY)
|
||||
;
|
||||
RTCIO .SET $C0 ; RTC LATCH REGISTER ADR
|
||||
;
|
||||
KIOENABLE .SET FALSE ; ENABLE ZILOG KIO SUPPORT
|
||||
KIOBASE .SET $80 ; KIO BASE I/O ADDRESS
|
||||
;
|
||||
CTCENABLE .SET FALSE ; ENABLE ZILOG CTC SUPPORT
|
||||
;
|
||||
PCFENABLE .SET FALSE ; ENABLE PCF8584 I2C CONTROLLER
|
||||
;
|
||||
EIPCENABLE .SET FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .SET FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .SET WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
FPLED_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL LEDS
|
||||
FPLED_IO .SET $FF ; FP: PORT ADDRESS FOR FP LEDS
|
||||
FPLED_INV .SET FALSE ; FP: LED BITS ARE INVERTED
|
||||
FPLED_DSKACT .SET TRUE ; FP: ENABLES DISK I/O ACTIVITY ON FP LEDS
|
||||
FPSW_ENABLE .SET FALSE ; FP: ENABLES FRONT PANEL SWITCHES
|
||||
FPSW_IO .SET $FF ; FP: PORT ADDRESS FOR FP SWITCHES
|
||||
FPSW_INV .SET FALSE ; FP: SWITCH BITS ARE INVERTED
|
||||
;
|
||||
DIAGLVL .SET DL_CRITICAL ; ERROR LEVEL REPORTING
|
||||
;
|
||||
LEDENABLE .SET FALSE ; ENABLES STATUS LED (SINGLE LED)
|
||||
LEDMODE .SET LEDMODE_STD ; LEDMODE_[STD|SC|RTC|NABU]
|
||||
LEDPORT .SET $0E ; STATUS LED PORT ADDRESS
|
||||
LEDDISKIO .SET TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED
|
||||
;
|
||||
DSKYENABLE .SET FALSE ; ENABLES DSKY FUNCTIONALITY
|
||||
DSKYDSKACT .SET TRUE ; ENABLES DISK ACTIVITY ON DSKY DISPLAY
|
||||
ICMENABLE .SET FALSE ; ENABLES ORIGINAL DSKY ICM DRIVER (7218)
|
||||
ICMPPIBASE .SET $60 ; BASE I/O ADDRESS OF ICM PPI
|
||||
PKDENABLE .SET FALSE ; ENABLES DSKY NG PKD DRIVER (8259)
|
||||
PKDPPIBASE .SET $60 ; BASE I/O ADDRESS OF PKD PPI
|
||||
PKDOSC .SET 3000000 ; OSCILLATOR FREQ FOR PKD (IN HZ)
|
||||
H8PENABLE .SET FALSE ; ENABLES HEATH H8 FRONT PANEL
|
||||
LCDENABLE .SET FALSE ; ENABLE LCD DISPLAY
|
||||
LCDBASE .SET $DA ; BASE I/O ADDRESS OF LCD CONTROLLER
|
||||
GM7303ENABLE .SET FALSE ; ENABLES THE GM7303 BOARD WITH 16X2 LCD
|
||||
;
|
||||
BOOTCON .SET 0 ; BOOT CONSOLE DEVICE
|
||||
SECCON .SET $FF ; SECONDARY CONSOLE DEVICE
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
VDAEMU .SET EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI]
|
||||
VDAEMU_SERKBD .SET $FF ; VDA EMULATION: SERIAL KBD UNIT #, OR $FF FOR HW KBD
|
||||
ANSITRACE .SET 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPKTRACE .SET 1 ; PPK DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
KBDTRACE .SET 1 ; KBD DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPKKBLOUT .SET KBD_US ; PPK KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
KBDKBLOUT .SET KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
MKYKBLOUT .SET KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
KBDINTS .SET FALSE ; ENABLE KBD (PS2) KEYBOARD INTERRUPTS
|
||||
;
|
||||
DSRTCENABLE .SET FALSE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
DSRTCMODE .SET DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTCMODE_[STD|MFPIC|K80W]
|
||||
DSRTCCHG .SET FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!)
|
||||
;
|
||||
DS1501RTCENABLE .SET FALSE ; DS1501RTC: ENABLE DS-1501 CLOCK DRIVER (DS1501RTC.ASM)
|
||||
DS1501RTC_BASE .SET $50 ; DS1501RTC: I/O BASE ADDRESS
|
||||
;
|
||||
BQRTCENABLE .SET FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM)
|
||||
BQRTC_BASE .SET $50 ; BQRTC: I/O BASE ADDRESS
|
||||
;
|
||||
INTRTCENABLE .SET FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
;
|
||||
RP5RTCENABLE .SET FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
;
|
||||
HTIMENABLE .SET FALSE ; ENABLE SIMH TIMER SUPPORT
|
||||
SIMRTCENABLE .SET FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM)
|
||||
;
|
||||
DS7RTCENABLE .SET FALSE ; DS7RTC: ENABLE DS-1307 I2C CLOCK DRIVER (DS7RTC.ASM)
|
||||
DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
DS12RTC_BASE .SET $70 ; DS12RTC: I/O BASE ADDRESS
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
;
|
||||
PLDSERENABLE .SET FALSE ; PLDSER: ENABLE PLD-USB SERIAL DRIVER (PLDSER.ASM)
|
||||
PLDSERCFG .SET SER_9600_8N1 ; PLDSER: SERIAL LINE CONFIG
|
||||
;
|
||||
TSERENABLE .SET FALSE ; TSER: ENABLE T35 SERIAL DRIVER (TSER.ASM)
|
||||
TSERCFG .SET SER_9600_8N1 ; TSER: SERIAL LINE CONFIG
|
||||
;
|
||||
DUARTENABLE .SET FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
DUARTCNT .SET 1 ; DUART: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
DUART0BASE .SET $A0 ; DUART 0: BASE ADDRESS OF CHIP
|
||||
DUART0ACFG .SET DEFSERCFG ; DUART 0A: SERIAL LINE CONFIG
|
||||
DUART0BCFG .SET DEFSERCFG ; DUART 0B: SERIAL LINE CONFIG
|
||||
DUART1BASE .SET $40 ; DUART 1: BASE ADDRESS OF CHIP
|
||||
DUART1ACFG .SET DEFSERCFG ; DUART 1A: SERIAL LINE CONFIG
|
||||
DUART1BCFG .SET DEFSERCFG ; DUART 1B: SERIAL LINE CONFIG
|
||||
;
|
||||
UARTENABLE .SET FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTCNT .SET 1 ; UART: NUMBER OF CHIPS TO DETECT (1-8)
|
||||
UARTOSC .SET 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .SET FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UART4UART .SET FALSE ; UART: SUPPORT 4UART ECB BOARD
|
||||
UART4UARTBASE .SET $C0 ; UART: BASE IO ADDRESS OF 4UART ECB BOARD
|
||||
UART0BASE .SET $FF ; UART 0: REGISTERS BASE ADR
|
||||
UART0CFG .SET DEFSERCFG ; UART 0: SERIAL LINE CONFIG
|
||||
UART1BASE .SET $FF ; UART 1: REGISTERS BASE ADR
|
||||
UART1CFG .SET DEFSERCFG ; UART 1: SERIAL LINE CONFIG
|
||||
UART2BASE .SET $FF ; UART 2: REGISTERS BASE ADR
|
||||
UART2CFG .SET DEFSERCFG ; UART 2: SERIAL LINE CONFIG
|
||||
UART3BASE .SET $FF ; UART 3: REGISTERS BASE ADR
|
||||
UART3CFG .SET DEFSERCFG ; UART 3: SERIAL LINE CONFIG
|
||||
UART4BASE .SET $FF ; UART 4: REGISTERS BASE ADR
|
||||
UART4CFG .SET DEFSERCFG ; UART 4: SERIAL LINE CONFIG
|
||||
UART5BASE .SET $FF ; UART 5: REGISTERS BASE ADR
|
||||
UART5CFG .SET DEFSERCFG ; UART 5: SERIAL LINE CONFIG
|
||||
UART6BASE .SET $FF ; UART 6: REGISTERS BASE ADR
|
||||
UART6CFG .SET DEFSERCFG ; UART 6: SERIAL LINE CONFIG
|
||||
UART7BASE .SET $FF ; UART 7: REGISTERS BASE ADR
|
||||
UART7CFG .SET DEFSERCFG ; UART 7: SERIAL LINE CONFIG
|
||||
;
|
||||
ASCIENABLE .SET FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
;
|
||||
Z2UENABLE .SET FALSE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
|
||||
;
|
||||
ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
;
|
||||
SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
SCCDEBUG .SET FALSE ; SCC: ENABLE DEBUG OUTPUT
|
||||
SCCBOOT .SET 0 ; SCC: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
SCCCNT .SET 1 ; SCC: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
SCCINTS .SET FALSE ; SCC: INCLUDE SCC INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
SCC0MODE .SET SCCMODE_SZ80 ; SCC 0: CHIP TYPE: SCCMODE_[STD|SZ80]
|
||||
SCC0BASE .SET $A0 ; SCC 0: REGISTERS BASE ADR
|
||||
SCC0ACLK .SET 4915200 ; SCC 0A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SCC0ACFG .SET DEFSERCFG ; SCC 0A: SERIAL LINE CONFIG
|
||||
SCC0ACTCC .SET -1 ; SCC 0A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SCC0BCLK .SET 4915200 ; SCC 0B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SCC0BCFG .SET DEFSERCFG ; SCC 0B: SERIAL LINE CONFIG
|
||||
SCC0BCTCC .SET -1 ; SCC 0B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SCC1MODE .SET SCCMODE_SZ80 ; SCC 1: CHIP TYPE: SIOMODE_[STD|SZ80]
|
||||
SCC1BASE .SET $FF ; SCC 1: REGISTERS BASE ADR
|
||||
SCC1ACLK .SET 4915200 ; SCC 1A: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SCC1ACFG .SET DEFSERCFG ; SCC 1A: SERIAL LINE CONFIG
|
||||
SCC1ACTCC .SET -1 ; SCC 1A: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
SCC1BCLK .SET 4915200 ; SCC 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372800
|
||||
SCC1BCFG .SET DEFSERCFG ; SCC 1B: SERIAL LINE CONFIG
|
||||
SCC1BCTCC .SET -1 ; SCC 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.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|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET FALSE ; MD: ENABLE ROM DISK
|
||||
MDRAM .SET TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .SET 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .SET FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
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]
|
||||
FDCNT .SET 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .SET 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMAUTO .SET TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
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]
|
||||
;
|
||||
RFENABLE .SET FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
;
|
||||
IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
IDETRACE .SET 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
IDECNT .SET 1 ; IDE: NUMBER OF IDE INTERFACES TO DETECT (1-3), 2 DRIVES EACH
|
||||
IDE0MODE .SET IDEMODE_RC ; IDE 0: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC|GIDE]
|
||||
IDE0BASE .SET $10 ; IDE 0: IO BASE ADDRESS
|
||||
IDE0DATLO .SET $00 ; IDE 0: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE0DATHI .SET $00 ; IDE 0: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE0A8BIT .SET TRUE ; IDE 0A (MASTER): 8 BIT XFER
|
||||
IDE0B8BIT .SET TRUE ; IDE 0B (MASTER): 8 BIT XFER
|
||||
IDE1MODE .SET IDEMODE_NONE ; IDE 1: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC|GIDE]
|
||||
IDE1BASE .SET $00 ; IDE 1: IO BASE ADDRESS
|
||||
IDE1DATLO .SET $00 ; IDE 1: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE1DATHI .SET $00 ; IDE 1: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE1A8BIT .SET TRUE ; IDE 1A (MASTER): 8 BIT XFER
|
||||
IDE1B8BIT .SET TRUE ; IDE 1B (MASTER): 8 BIT XFER
|
||||
IDE2MODE .SET IDEMODE_NONE ; IDE 2: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC|GIDE]
|
||||
IDE2BASE .SET $00 ; IDE 2: IO BASE ADDRESS
|
||||
IDE2DATLO .SET $00 ; IDE 2: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE2DATHI .SET $00 ; IDE 2: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE2A8BIT .SET TRUE ; IDE 2A (MASTER): 8 BIT XFER
|
||||
IDE2B8BIT .SET TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
;
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 2 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_S100A ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $30 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1MODE .SET PPIDEMODE_S100B ; PPIDE 1: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE1BASE .SET $30 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .SET FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2MODE .SET PPIDEMODE_NONE ; PPIDE 2: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE2BASE .SET $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .SET FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .SET FALSE ; PPIDE 2B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .SET FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_T35 ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 2 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .SET FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
SDMTSWAP .SET FALSE ; SD: SWAP THE LOGICAL ORDER OF THE SPI PORTS OF THE MT011
|
||||
;
|
||||
CHENABLE .SET FALSE ; CH: ENABLE CH375/376 USB SUPPORT
|
||||
;
|
||||
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)
|
||||
;
|
||||
ESPENABLE .SET FALSE ; ESP: ENABLE ESP32 IO BOARD DRIVER (ESP.ASM)
|
||||
;
|
||||
HDSKENABLE .SET FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .SET FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
PIOCNT .SET 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .SET $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .SET $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .SET FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTMODE .SET LPTMODE_T35 ; LPT: DRIVER MODE: LPTMODE_[NONE|SPP|MG014|T35]
|
||||
LPTCNT .SET 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPTTRACE .SET 1 ; LPT: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
LPT0BASE .SET $C7 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .SET $00 ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
PPAENABLE .SET FALSE ; PPA: ENABLE IOMEGA ZIP DRIVE (PPA) DISK DRIVER (PPA.ASM)
|
||||
PPACNT .SET 1 ; PPA: NUMBER OF PPA DEVICES (1-2)
|
||||
PPATRACE .SET 1 ; PPA: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPAMODE .SET PPAMODE_MG014 ; PPA: DRIVER MODE: PPAMODE_[NONE|SPP|MG014]
|
||||
PPA0BASE .SET LPT0BASE ; PPA 0: BASE I/O ADDRESS OF PPI FOR PPA
|
||||
PPA1BASE .SET LPT1BASE ; PPA 1: BASE I/O ADDRESS OF PPI FOR PPA
|
||||
;
|
||||
IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM.ASM)
|
||||
IMMCNT .SET 1 ; IMM: NUMBER OF IMM DEVICES (1-2)
|
||||
IMMTRACE .SET 1 ; IMM: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
IMMMODE .SET IMMMODE_MG014 ; IMM: DRIVER MODE: IMMMODE_[NONE|SPP|MG014]
|
||||
IMM0BASE .SET LPT0BASE ; IMM 0: BASE I/O ADDRESS OF PPI FOR IMM
|
||||
IMM1BASE .SET LPT1BASE ; IMM 1: BASE I/O ADDRESS OF PPI FOR IMM
|
||||
;
|
||||
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
|
||||
SYQCNT .SET 1 ; SYQ: NUMBER OF SYQ DEVICES (1-2)
|
||||
SYQTRACE .SET 1 ; SYQ: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SYQMODE .SET IMMMODE_MG014 ; SYQ: DRIVER MODE: SYQMODE_[NONE|SPP|MG014]
|
||||
SYQ0BASE .SET LPT0BASE ; SYQ 0: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
SYQ1BASE .SET LPT1BASE ; SYQ 1: BASE I/O ADDRESS OF PPI FOR SYQ
|
||||
;
|
||||
ESPSDENABLE .SET TRUE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
ESPSDTRACE .SET 1 ; ESPSD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
ESPSD_USECD .SET TRUE ; ESPSD: ENABLE CARD DETECT SIGNAL USAGE
|
||||
ESPSDCNT .SET 1 ; ESPSD: NUMBER OF BOARDS TO DETECT (1-2), 1-2 DEVICES PER BOARD
|
||||
ESPSD0BASE .SET $80 ; ESPSD 0: ESP32 INTERFACE IO BASE ADR
|
||||
ESPSD0DUAL .SET TRUE ; ESPSD 0: DUAL INTERFACE BOARD (DUAL SD)
|
||||
ESPSD1BASE .SET $82 ; ESPSD 1: ESP32 INTERFACE IO BASE ADR
|
||||
ESPSD1DUAL .SET TRUE ; ESPSD 1: DUAL INTERFACE BOARD (DUAL SD)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
;
|
||||
UFENABLE .SET FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.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
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "../UBIOS/ubios.inc"
|
||||
;
|
||||
;PLATFORM .EQU PLT_UNA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH|EPITX|MON|STDZ180|NABU|FZ80]
|
||||
;PLATFORM .EQU PLT_UNA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|S100|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
BIOS .EQU BIOS_UNA ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
;
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_Z80RETRO ; 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]
|
||||
PLATFORM .SET PLT_Z80RETRO ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -165,6 +166,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -227,20 +236,22 @@ SIO1BCLK .SET CPUOSC/2 ; SIO 1B: OSC FREQ IN HZ, ZP=2457600/4915200, RC/SMB=7372
|
||||
SIO1BCFG .SET DEFSERCFG ; SIO 1B: SERIAL LINE CONFIG
|
||||
SIO1BCTCC .SET -1 ; SIO 1B: CTC CHANNEL 0=A, 1=B, 2=C, 3=D, -1 FOR NONE
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
|
||||
TMSMODE .SET TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -263,12 +274,13 @@ IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $60 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .SET TRUE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .SET SDMODE_Z80R ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|FZ80|GM|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_Z80R ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .SET FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
@@ -298,6 +310,8 @@ IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM
|
||||
;
|
||||
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_ZETA ; 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]
|
||||
PLATFORM .SET PLT_ZETA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -154,6 +155,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -196,20 +205,22 @@ ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
;
|
||||
SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
|
||||
TMSMODE .SET TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -232,12 +243,13 @@ IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $60 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
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|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_PPI ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -268,6 +280,8 @@ IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM
|
||||
;
|
||||
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -49,8 +49,9 @@
|
||||
;
|
||||
#INCLUDE "cfg_MASTER.asm"
|
||||
;
|
||||
PLATFORM .SET PLT_ZETA2 ; 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]
|
||||
PLATFORM .SET PLT_ZETA2 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCEZ80|RCZ180|EZZ80|SCZ180|GMZ180|DYNO|RCZ280|MBC|RPH|Z80RETRO|SZ180|DUO|HEATH|EPITX|MON|STDZ180|NABU|SZ80|N8PC]
|
||||
CPUFAM .SET CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280|EZ80]
|
||||
NMOSCPU .SET FALSE ; NMOS CPU (ENABLES INT STATUS BUG WORKAROUND)
|
||||
BIOS .SET BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .SET FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .SET FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
@@ -165,6 +166,14 @@ DS7RTCMODE .SET DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTCMODE_[PCF]
|
||||
;
|
||||
DS5RTCENABLE .SET FALSE ; DS5RTC: ENABLE DS-1305 SPI CLOCK DRIVER (DS5RTC.ASM)
|
||||
;
|
||||
PCRTCENABLE .SET FALSE ; PCRTC: DISABLE DS12885 etc. RTC
|
||||
;
|
||||
MMRTCENABLE .SET FALSE ; MMRTC: ENABLE NS MM58167B RTC DRIVER (MMRTC.ASM)
|
||||
;
|
||||
DS12RTCENABLE .SET FALSE ; DS12RTC: ENABLE DS1288X RTC DRIVER (DS12RTC.ASM)
|
||||
;
|
||||
M6242RTCENABLE .SET FALSE ; M6242RTC: ENABLE M6242 CLOCK DRIVER (M6242.ASM)
|
||||
;
|
||||
SSERENABLE .SET FALSE ; SSER: ENABLE SIMPLE SERIAL DRIVER (SSER.ASM)
|
||||
SSERCFG .SET SER_9600_8N1 ; SSER: SERIAL LINE CONFIG
|
||||
SSERSTATUS .SET $FF ; SSER: STATUS PORT
|
||||
@@ -207,20 +216,22 @@ ACIAENABLE .SET FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
;
|
||||
SIOENABLE .SET FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
;
|
||||
SCCENABLE .SET FALSE ; SCC: ENABLE ZILOG SCC SERIAL DRIVER (SCC.ASM)
|
||||
;
|
||||
XIOCFG .SET DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .SET FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .SET FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
GDCENABLE .SET FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .SET FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU]
|
||||
TMSMODE .SET TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .SET FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VRCENABLE .SET FALSE ; VRC: ENABLE VGARC VIDEO/KBD DRIVER (VRC.ASM)
|
||||
SCONENABLE .SET FALSE ; SCON: ENABLE S100 CONSOLE DRIVER (SCON.ASM)
|
||||
EFENABLE .SET FALSE ; EF: ENABLE EF9345 VIDEO DRIVER (EF.ASM)
|
||||
FVENABLE .SET FALSE ; FV: ENABLE FPGA VGA VIDEO DRIVER (FV.ASM)
|
||||
TVGAENABLE .SET FALSE ; TVGA: ENABLE TRION VGA VIDEO DRIVER (TVGA.ASM)
|
||||
;
|
||||
MDENABLE .SET TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .SET TRUE ; MD: ENABLE ROM DISK
|
||||
@@ -243,12 +254,13 @@ IDEENABLE .SET FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
PPIDEENABLE .SET FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .SET 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .SET 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0MODE .SET PPIDEMODE_STD ; PPIDE 0: DRIVER MODE: IDEMODE_[STD|S100A|S100B]
|
||||
PPIDE0BASE .SET $60 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .SET FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .SET FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
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|EZ512|K80W]
|
||||
SDMODE .SET SDMODE_PPI ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT|USR|PIO|Z80R|EPITX|T35|GM|EZ512|K80W]
|
||||
SDPPIBASE .SET $60 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .SET 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD/SC/MT ONLY
|
||||
SDTRACE .SET 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
@@ -279,6 +291,8 @@ IMMENABLE .SET FALSE ; IMM: ENABLE IOMEGA ZIP PLUS DRIVE (IMM) DISK DRIVER (IMM
|
||||
;
|
||||
SYQENABLE .SET FALSE ; SYQ: ENABLE SYQUEST SPARQ DISK DRIVER (SYQ.ASM)
|
||||
;
|
||||
ESPSDENABLE .SET FALSE ; ESPSD: ENABLE S100 ESP32 SD DISK DRIVER (ESPSD.ASM)
|
||||
;
|
||||
PIO_4P .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .SET FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -234,8 +234,8 @@ l_ch_probe_00103:
|
||||
ld l,$01
|
||||
jr l_ch_probe_00107
|
||||
l_ch_probe_00102:
|
||||
;source-doc/base-drv/ch376.c:104: delay_medium();
|
||||
call _delay_medium
|
||||
;source-doc/base-drv/ch376.c:104: delay_short();
|
||||
call _delay_short
|
||||
;source-doc/base-drv/ch376.c:105: } while (--i != 0);
|
||||
dec (ix-1)
|
||||
jr NZ,l_ch_probe_00103
|
||||
|
||||
@@ -952,104 +952,115 @@ _read_all_configs:
|
||||
push ix
|
||||
ld ix,0
|
||||
add ix,sp
|
||||
ld hl, -171
|
||||
ld hl, -174
|
||||
add hl, sp
|
||||
ld sp, hl
|
||||
;source-doc/base-drv/enumerate.c:212: memset(&working, 0, sizeof(_working));
|
||||
;source-doc/base-drv/enumerate.c:213: memset(&working, 0, sizeof(_working));
|
||||
ld hl,0
|
||||
add hl, sp
|
||||
ld e,l
|
||||
ld d,h
|
||||
ld b,$56
|
||||
jr l_read_all_configs_00150
|
||||
l_read_all_configs_00149:
|
||||
ld (hl),$00
|
||||
inc hl
|
||||
l_read_all_configs_00150:
|
||||
ld (hl),$00
|
||||
inc hl
|
||||
djnz l_read_all_configs_00149
|
||||
;source-doc/base-drv/enumerate.c:213: working.state = state;
|
||||
ld l, e
|
||||
ld h, d
|
||||
ld e, l
|
||||
ld d, h
|
||||
inc de
|
||||
ld bc,$00aa
|
||||
ldir
|
||||
;source-doc/base-drv/enumerate.c:214: working.state = state;
|
||||
ld a,(ix+4)
|
||||
ld hl,0
|
||||
add hl, sp
|
||||
ld (hl), a
|
||||
inc hl
|
||||
ld a,(ix+5)
|
||||
inc hl
|
||||
ld (hl), a
|
||||
;source-doc/base-drv/enumerate.c:215: CHECK(usbtrn_get_descriptor(&working.desc));
|
||||
push de
|
||||
ld hl,5
|
||||
;source-doc/base-drv/enumerate.c:216: retry:
|
||||
ld a,(ix+4)
|
||||
ld (ix-3),a
|
||||
ld a,(ix+5)
|
||||
ld (ix-2),a
|
||||
ld (ix-1),$00
|
||||
l_read_all_configs_00101:
|
||||
;source-doc/base-drv/enumerate.c:217: CHECK(usbtrn_get_descriptor(&working.desc));
|
||||
ld hl,3
|
||||
add hl, sp
|
||||
push hl
|
||||
call _usbtrn_get_descriptor
|
||||
pop af
|
||||
ld a, l
|
||||
pop de
|
||||
or a
|
||||
jr NZ,l_read_all_configs_00108
|
||||
;source-doc/base-drv/enumerate.c:217: state->next_device_address++;
|
||||
ld b,(ix+5)
|
||||
ld a,(ix+4)
|
||||
ld l, a
|
||||
ld h, b
|
||||
jr NZ,l_read_all_configs_00109
|
||||
;source-doc/base-drv/enumerate.c:219: state->next_device_address++;
|
||||
ld l,(ix-3)
|
||||
ld h,(ix-2)
|
||||
ld c, (hl)
|
||||
inc c
|
||||
ld l, a
|
||||
ld h, b
|
||||
ld (hl), c
|
||||
;source-doc/base-drv/enumerate.c:218: working.current_device_address = state->next_device_address;
|
||||
ld hl,$0018
|
||||
add hl, de
|
||||
;source-doc/base-drv/enumerate.c:220: working.current_device_address = state->next_device_address;
|
||||
ld hl,24
|
||||
add hl, sp
|
||||
ld (hl), c
|
||||
;source-doc/base-drv/enumerate.c:219: CHECK(usbtrn_set_address(working.current_device_address));
|
||||
push de
|
||||
;source-doc/base-drv/enumerate.c:221: CHECK(usbtrn_set_address(working.current_device_address));
|
||||
ld l, c
|
||||
call _usbtrn_set_address
|
||||
ld a, l
|
||||
pop de
|
||||
;source-doc/base-drv/enumerate.c:221: for (uint8_t config_index = 0; config_index < working.desc.bNumConfigurations; config_index++) {
|
||||
;source-doc/base-drv/enumerate.c:223: for (uint8_t config_index = 0; config_index < working.desc.bNumConfigurations; config_index++) {
|
||||
or a
|
||||
jr NZ,l_read_all_configs_00108
|
||||
jr NZ,l_read_all_configs_00109
|
||||
ld c,a
|
||||
l_read_all_configs_00110:
|
||||
l_read_all_configs_00114:
|
||||
ld hl,20
|
||||
add hl, sp
|
||||
ld b, (hl)
|
||||
ld a, c
|
||||
sub b
|
||||
jr NC,l_read_all_configs_00107
|
||||
;source-doc/base-drv/enumerate.c:222: working.config_index = config_index;
|
||||
ld hl,$0015
|
||||
add hl, de
|
||||
jr NC,l_read_all_configs_00108
|
||||
;source-doc/base-drv/enumerate.c:224: working.config_index = config_index;
|
||||
ld hl,21
|
||||
add hl, sp
|
||||
ld b,l
|
||||
ld (hl), c
|
||||
;source-doc/base-drv/enumerate.c:224: CHECK(op_get_cfg_desc(&working));
|
||||
ld l, e
|
||||
ld h, d
|
||||
;source-doc/base-drv/enumerate.c:226: CHECK(op_get_cfg_desc(&working));
|
||||
push bc
|
||||
push de
|
||||
ld hl,2
|
||||
add hl, sp
|
||||
call _op_get_cfg_desc
|
||||
pop de
|
||||
pop bc
|
||||
or a
|
||||
jr NZ,l_read_all_configs_00108
|
||||
;source-doc/base-drv/enumerate.c:221: for (uint8_t config_index = 0; config_index < working.desc.bNumConfigurations; config_index++) {
|
||||
inc c
|
||||
jr l_read_all_configs_00110
|
||||
l_read_all_configs_00107:
|
||||
;source-doc/base-drv/enumerate.c:227: return USB_ERR_OK;
|
||||
ld l,$00
|
||||
jr l_read_all_configs_00112
|
||||
;source-doc/base-drv/enumerate.c:228: done:
|
||||
l_read_all_configs_00108:
|
||||
;source-doc/base-drv/enumerate.c:229: return result;
|
||||
ld l, a
|
||||
l_read_all_configs_00112:
|
||||
;source-doc/base-drv/enumerate.c:230: }
|
||||
pop bc
|
||||
ld a, l
|
||||
or a
|
||||
jr NZ,l_read_all_configs_00109
|
||||
;source-doc/base-drv/enumerate.c:223: for (uint8_t config_index = 0; config_index < working.desc.bNumConfigurations; config_index++) {
|
||||
inc c
|
||||
jr l_read_all_configs_00114
|
||||
l_read_all_configs_00108:
|
||||
;source-doc/base-drv/enumerate.c:229: return USB_ERR_OK;
|
||||
ld l,$00
|
||||
jr l_read_all_configs_00116
|
||||
;source-doc/base-drv/enumerate.c:230: done:
|
||||
l_read_all_configs_00109:
|
||||
;source-doc/base-drv/enumerate.c:231: if (result == USB_ERR_STALL && retry_count == 0) {
|
||||
ld a, l
|
||||
sub $02
|
||||
jr NZ,l_read_all_configs_00111
|
||||
ld a,(ix-1)
|
||||
or a
|
||||
jr NZ,l_read_all_configs_00111
|
||||
;source-doc/base-drv/enumerate.c:232: retry_count++;
|
||||
inc (ix-1)
|
||||
;source-doc/base-drv/enumerate.c:233: ch_command(CMD1H_CLR_STALL);
|
||||
ld l,$41
|
||||
call _ch_command
|
||||
;source-doc/base-drv/enumerate.c:234: ch_get_status();
|
||||
call _ch_get_status
|
||||
;source-doc/base-drv/enumerate.c:235: goto retry;
|
||||
jr l_read_all_configs_00101
|
||||
l_read_all_configs_00111:
|
||||
;source-doc/base-drv/enumerate.c:237: return result;
|
||||
l_read_all_configs_00116:
|
||||
;source-doc/base-drv/enumerate.c:238: }
|
||||
ld sp, ix
|
||||
pop ix
|
||||
ret
|
||||
;source-doc/base-drv/enumerate.c:232: usb_error enumerate_all_devices(void) {
|
||||
;source-doc/base-drv/enumerate.c:240: usb_error enumerate_all_devices(void) {
|
||||
; ---------------------------------
|
||||
; Function enumerate_all_devices
|
||||
; ---------------------------------
|
||||
@@ -1058,8 +1069,8 @@ _enumerate_all_devices:
|
||||
ld ix,0
|
||||
add ix,sp
|
||||
push af
|
||||
;source-doc/base-drv/enumerate.c:233: _usb_state *const work_area = get_usb_work_area();
|
||||
;source-doc/base-drv/enumerate.c:235: memset(&state, 0, sizeof(enumeration_state));
|
||||
;source-doc/base-drv/enumerate.c:241: _usb_state *const work_area = get_usb_work_area();
|
||||
;source-doc/base-drv/enumerate.c:243: memset(&state, 0, sizeof(enumeration_state));
|
||||
ld hl,0
|
||||
add hl, sp
|
||||
ld e,l
|
||||
@@ -1068,18 +1079,18 @@ _enumerate_all_devices:
|
||||
ld (hl), a
|
||||
inc hl
|
||||
ld (hl), a
|
||||
;source-doc/base-drv/enumerate.c:237: usb_error result = read_all_configs(&state);
|
||||
;source-doc/base-drv/enumerate.c:245: usb_error result = read_all_configs(&state);
|
||||
push de
|
||||
push de
|
||||
call _read_all_configs
|
||||
pop af
|
||||
pop de
|
||||
;source-doc/base-drv/enumerate.c:239: work_area->count_of_detected_usb_devices = state.next_device_address;
|
||||
;source-doc/base-drv/enumerate.c:247: work_area->count_of_detected_usb_devices = state.next_device_address;
|
||||
ld bc,_x + 1
|
||||
ld a, (de)
|
||||
ld (bc), a
|
||||
;source-doc/base-drv/enumerate.c:242: return result;
|
||||
;source-doc/base-drv/enumerate.c:243: }
|
||||
;source-doc/base-drv/enumerate.c:250: return result;
|
||||
;source-doc/base-drv/enumerate.c:251: }
|
||||
ld sp, ix
|
||||
pop ix
|
||||
ret
|
||||
|
||||
@@ -95,8 +95,8 @@ _usb_init:
|
||||
jr NZ,l_usb_init_00104
|
||||
;source-doc/base-drv/usb-base-drv.c:30: ch_cmd_reset_all();
|
||||
call _ch_cmd_reset_all
|
||||
;source-doc/base-drv/usb-base-drv.c:31: delay_medium();
|
||||
call _delay_medium
|
||||
;source-doc/base-drv/usb-base-drv.c:31: delay_short();
|
||||
call _delay_short
|
||||
;source-doc/base-drv/usb-base-drv.c:33: if (!ch_probe()) {
|
||||
call _ch_probe
|
||||
ld a, l
|
||||
|
||||
@@ -102,7 +102,7 @@ Example configuration, combined with the TMS VDP module driver.
|
||||
|
||||
```
|
||||
TMSENABLE .SET TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .SET TMSMODE_MSXUKY ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|MSXUKY]
|
||||
TMSMODE .SET TMSMODE_MSXUKY ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MSX|MSXKBD|MSXMKY|MBC|COLECO|DUO|NABU|MSXUKY|N8PC]
|
||||
TMS80COLS .SET FALSE ; TMS: ENABLE 80 COLUMN SCREEN, REQUIRES V9958
|
||||
TMSTIMENABLE .SET TRUE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
```
|
||||
|
||||
@@ -101,7 +101,7 @@ uint8_t ch_probe(void) {
|
||||
if (ch_cmd_check_exist())
|
||||
return true;
|
||||
|
||||
delay_medium();
|
||||
delay_short();
|
||||
} while (--i != 0);
|
||||
|
||||
return false;
|
||||
|
||||
@@ -26,7 +26,7 @@ extern uint8_t CH376_DAT_PORT_ADDR;
|
||||
extern uint8_t CH376_CMD_PORT_ADDR;
|
||||
extern uint8_t USB_MOD_LEDS_ADDR;
|
||||
|
||||
// there is a weird bug with the compilier - somtimes string literals containing
|
||||
// there is a weird bug with the compiler - sometimes string literals containing
|
||||
// a dollar sign -- the dollar sign is ignored!
|
||||
const char comma_0_x_dollar[] = {' ', '0', 'x', '$'};
|
||||
|
||||
|
||||
@@ -139,8 +139,9 @@ typedef unsigned char volatile *PUINT8V;
|
||||
* input: mode code
|
||||
* 00H=Device mode not enabled
|
||||
* 01H=Device mode enabled and using external firmware mode (serial port not
|
||||
* supported) 02H=Device mode enabled and using built-in firmware mode 03H=SD
|
||||
* card host mode/inactive host mode, used to manage and access files in SD card
|
||||
* supported)
|
||||
* 02H=Device mode enabled and using built-in firmware mode
|
||||
* 03H=SD card host mode/inactive host mode, used to manage and access files in SD card
|
||||
* 04H=Host mode not enabled
|
||||
* 05H=Host mode enabled
|
||||
* 06H=Host mode enabled and SOF packet generated automatically
|
||||
|
||||
@@ -207,11 +207,13 @@ done:
|
||||
usb_error read_all_configs(enumeration_state *const state) {
|
||||
uint8_t result;
|
||||
_usb_state *const work_area = get_usb_work_area();
|
||||
uint8_t retry_count = 0;
|
||||
|
||||
_working working;
|
||||
memset(&working, 0, sizeof(_working));
|
||||
working.state = state;
|
||||
|
||||
retry:
|
||||
CHECK(usbtrn_get_descriptor(&working.desc));
|
||||
|
||||
state->next_device_address++;
|
||||
@@ -226,6 +228,12 @@ usb_error read_all_configs(enumeration_state *const state) {
|
||||
|
||||
return USB_ERR_OK;
|
||||
done:
|
||||
if (result == USB_ERR_STALL && retry_count == 0) {
|
||||
retry_count++;
|
||||
ch_command(CMD1H_CLR_STALL);
|
||||
ch_get_status();
|
||||
goto retry;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user