diff --git a/Doc/ReadMe.txt b/Doc/ReadMe.txt index 1e183872..b78528d3 100644 --- a/Doc/ReadMe.txt +++ b/Doc/ReadMe.txt @@ -31,9 +31,9 @@ Log of changes in RomWBW by version. RomWBW User Guide ("RomWBW User Guide.pdf") RomWBW System Guide ("RomWBW System Guide.pdf") RomWBW Applications ("RomWBW Applications.pdf") -RomWBW ROM Applications ("RomWBW ROM Applications.pdf") RomWBW Disk Catalog ("RomWBW Disk Catalog.pdf") -RomWBW Errata ("RomWBW Errata.pdf") +RomWBW Hardware ("RomWBW Hardware.pdf") + ------------------------------------------------------- Documentation set for RomWBW. The primary document is the diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 5ab0825e..1d2632cb 100644 Binary files a/Doc/RomWBW Applications.pdf and b/Doc/RomWBW Applications.pdf differ diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index 8d89ed34..be15b018 100644 Binary files a/Doc/RomWBW Disk Catalog.pdf and b/Doc/RomWBW Disk Catalog.pdf differ diff --git a/Doc/RomWBW Errata.pdf b/Doc/RomWBW Errata.pdf deleted file mode 100644 index 02228825..00000000 Binary files a/Doc/RomWBW Errata.pdf and /dev/null differ diff --git a/Doc/RomWBW Hardware.pdf b/Doc/RomWBW Hardware.pdf new file mode 100644 index 00000000..3a192a64 Binary files /dev/null and b/Doc/RomWBW Hardware.pdf differ diff --git a/Doc/RomWBW Introduction.pdf b/Doc/RomWBW Introduction.pdf new file mode 100644 index 00000000..4a3ee5e4 Binary files /dev/null and b/Doc/RomWBW Introduction.pdf differ diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index 1fffbc63..7e7b7697 100644 Binary files a/Doc/RomWBW System Guide.pdf and b/Doc/RomWBW System Guide.pdf differ diff --git a/Doc/RomWBW User Guide.pdf b/Doc/RomWBW User Guide.pdf index 157b5134..19a8f214 100644 Binary files a/Doc/RomWBW User Guide.pdf and b/Doc/RomWBW User Guide.pdf differ diff --git a/ReadMe.md b/ReadMe.md index f1703dec..5610cbe4 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -1,299 +1,325 @@ - - -**RomWBW ReadMe** \ -Version 3.5 \ -Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ -18 Jan 2025 - -# Overview - -RomWBW software provides a complete, commercial quality implementation -of CP/M (and workalike) operating systems and applications for modern -Z80/180/280 retro-computing hardware systems. A wide variety of -platforms are supported including those produced by these developer -communities: - -- [RetroBrew Computers](https://www.retrobrewcomputers.org) - () -- [RC2014](https://rc2014.co.uk) (), - [RC2014-Z80](https://groups.google.com/g/rc2014-z80) - () -- [Retro Computing](https://groups.google.com/g/retro-comp) - () -- [Small Computer Central](https://smallcomputercentral.com/) - () - -A complete list of the currently supported platforms is found in the -\[Installation\] section. - -General features include: - -- Z80 Family CPUs including Z80, Z180, and Z280 -- Banked memory services for several banking designs -- Disk drivers for RAM, ROM, Floppy, IDE ATA/ATAPI, CF, SD, USB, Zip, - Iomega -- Serial drivers including UART (16550-like), ASCI, ACIA, SIO -- Video drivers including TMS9918, SY6545, MOS8563, HD6445 -- Keyboard (PS/2) drivers via VT8242 or PPI interfaces -- Real time clock drivers including DS1302, BQ4845 -- OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and - FreeRTOS -- Built-in VT-100 terminal emulation support - -RomWBW is distributed as both source code and pre-built ROM and disk -images. Some of the provided software can be launched directly from the -ROM firmware itself: - -- System Monitor -- Operating Systems (CP/M 2.2, ZSDOS) -- ROM BASIC (Nascom BASIC and Tasty BASIC) -- ROM Forth - -A dynamic disk drive letter assignment mechanism allows mapping -operating system drive letters to any available disk media. -Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.) -support the use of multiple slices (up to 256 per device). Each slice -contains a complete CP/M filesystem and can be mapped independently to -any drive letter. This overcomes the inherent size limitations in legacy -OSes and allows up to 2GB of accessible storage on a single device. - -The pre-built ROM firmware images are generally suitable for most users. -However, it is also very easy to modify and build custom ROM images that -fully tailor the firmware to your specific preferences. All tools -required to build custom ROM firmware under Windows are included – no -need to install assemblers, etc. The firmware can also be built using -Linux or MacOS after confirming a few standard tools have been -installed. - -Multiple disk images are provided in the distribution. Most disk images -contain a complete, bootable, ready-to-run implementation of a specific -operating system. A “combo” disk image contains multiple slices, each -with a full operating system implementation. If you use this disk image, -you can easily pick whichever operating system you want to boot without -changing media. - -By design, RomWBW isolates all of the hardware specific functions in the -ROM chip itself. The ROM provides a hardware abstraction layer such that -all of the operating systems and applications on a disk will run on any -RomWBW-based system. To put it simply, you can take a disk (or CF/SD/USB -Card) and move it between systems transparently. - -A tool is provided that allows you to access a FAT-12/16/32 filesystem. -The FAT filesystem may be coresident on the same disk media as RomWBW -slices or on stand-alone media. This makes exchanging files with modern -OSes such as Windows, MacOS, and Linux very easy. - -# Acquiring RomWBW - -The [RomWBW Repository](https://github.com/wwarthen/RomWBW) -() on GitHub is the official -distribution location for all project source and documentation. The -fully-built distribution releases are available on the [RomWBW Releases -Page](https://github.com/wwarthen/RomWBW/releases) -() of the repository. On -this page, you will normally see a Development Snapshot as well as -recent stable releases. Unless you have a specific reason, I suggest you -stick to the most recent stable release. Expand the “Assets” drop-down -for the release you want to download, then select the asset named -RomWBW-vX.X.X-Package.zip. The Package asset includes all pre-built ROM -and Disk images as well as full source code. The other assets contain -only source code and do not have the pre-built ROM or disk images. - -All source code and distributions are maintained on GitHub. Code -contributions are very welcome. - -# Installation & Operation - -In general, installation of RomWBW on your platform is very simple. You -just need to program your ROM with the correct ROM image from the RomWBW -distribution. Subsequently, you can write disk images on your disk -drives (IDE disk, CF Card, SD Card, etc.) which then provides even more -functionality. - -Complete instructions for installation and operation of RomWBW are found -in the [RomWBW User -Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20User%20Guide.pdf). -It is also a good idea to review the [Release -Notes](https://github.com/wwarthen/RomWBW/blob/master/RELEASE_NOTES.md) -for helpful release-specific information. - -## Documentation - -Documentation for RomWBW includes: - -- [RomWBW User - Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20User%20Guide.pdf) -- [RomWBW System - Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20System%20Guide.pdf) -- [RomWBW - Applications](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Applications.pdf) -- [RomWBW - Errata](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Errata.pdf) - -# Acknowledgments - -I want to acknowledge that a great deal of the code and inspiration for -RomWBW has been provided by or derived from the work of others in the -RetroBrew Computers Community. I sincerely appreciate all of their -contributions. The list below is probably missing many names – please -let me know if I missed you! - -- Andrew Lynch started it all when he created the N8VEM Z80 SBC which - became the first platform RomWBW supported. Some of his original code - can still be found in RomWBW. - -- Dan Werner wrote much of the code from which RomWBW was originally - derived and he has always been a great source of knowledge and advice. - -- Douglas Goodall contributed code, time, testing, and advice in “the - early days”. He created an entire suite of application programs to - enhance the use of RomWBW. Unfortunately, they have become unusable - due to internal changes within RomWBW. As of RomWBW 2.6, these - applications are no longer provided. - -- Sergey Kiselev created several hardware platforms for RomWBW including - the very popular Zeta. - -- David Giles created support for the Z180 CSIO which is now included SD - Card driver. - -- Phil Summers contributed the Forth and BASIC adaptations in ROM, the - AY-3-8910 sound driver, DMA support, and a long list of general code - and documentation enhancements. - -- Ed Brindley contributed some of the code that supports the RCBus - platform. - -- Spencer Owen created the RC2014 series of hobbyist kit computers which - has exponentially increased RomWBW usage. Some of his kits include - RomWBW. - -- Stephen Cousins has likewise created a series of hobbyist kit - computers at Small Computer Central and is distributing RomWBW with - many of them. - -- Alan Cox has contributed some driver code and has provided a great - deal of advice. - -- The CP/NET client files were developed by Douglas Miller. - -- Phillip Stevens contributed support for FreeRTOS. - -- Curt Mayer contributed the original Linux / MacOS build process. - -- UNA BIOS and FDISK80 are the products of John Coffman. - -- FLASH4 is a product of Will Sowerbutts. - -- CLRDIR is a product of Max Scane. - -- Tasty Basic is a product of Dimitri Theulings. - -- Dean Netherton contributed eZ80 CPU support, the sound driver - interface, and the SN76489 sound driver. - -- The RomWBW Disk Catalog document was produced by Mykl Orders. - -- Rob Prouse has created many of the supplemental disk images including - Aztec C, HiTech C, SLR Z80ASM, Turbo Pascal, Microsoft BASIC Compiler, - Microsoft Fortran Compiler, and a Games compendium. - -- Martin R has provided substantial help reviewing and improving the - User Guide and Applications documents. - -- Mark Pruden has also contributed a great deal of content to the Disk - Catalog, User Guide as well as contributing the disk image for the - Z3PLUS operating system, the COPYSL utility, and also implemented a - feature for RomWBW configuration by NVRAM, and added the /B bulk mode - of disk assignment to the ASSIGN utility. - -- Jacques Pelletier has contributed the DS1501 RTC driver code. - -- Jose Collado has contributed enhancements to the TMS driver including - compatibility with standard TMS register configuration. - -- Kevin Boone has contributed a generic HBIOS date/time utility (WDATE). - -- Matt Carroll has contributed a fix to XM.COM that corrects the port - specification when doing a send. - -- Dean Jenkins enhanced the build process to accommodate the Raspberry - Pi 4. - -- Tom Plano has contributed a new utility (HTALK) to allow talking - directly to HBIOS COM ports. - -- Lars Nelson has contributed several generic utilities such as a - universal (OS agnostic) UNARC application. - -- Dylan Hall added support for specifying a secondary console. - -- Bill Shen has contributed boot loaders for several of his systems. - -- Laszlo Szolnoki has contributed an EF9345 video display controller - driver. - -- Ladislau Szilagyi has contributed an enhanced version of CP/M Cowgol - that leverages RomWBW memory banking. - -- Les Bird has contributed support for the NABU w/ Option Board - -Contributions of all kinds to RomWBW are very welcome. - -# Licensing - -RomWBW is free software: you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation, either version 3 of the License, or (at your -option) any later version. - -RomWBW is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -more details. - -You should have received a copy of the GNU General Public License along -with RomWBW. If not, see . - -Portions of RomWBW were created by, contributed by, or derived from the -work of others. It is believed that these works are being used in -accordance with the intentions and/or licensing of their creators. - -If anyone feels their work is being used outside of its intended -licensing, please notify: - -> Wayne Warthen -> - -RomWBW is an aggregate work. It is composed of many individual, -standalone programs that are distributed as a whole to function as a -cohesive system. Each program may have its own licensing which may be -different from other programs within the aggregate. - -In some cases, a single program (e.g., CP/M Operating System) is -composed of multiple components with different licenses. It is believed -that in all such cases the licenses are compatible with GPL version 3. - -RomWBW encourages code contributions from others. Contributors may -assert their own copyright in their contributions by annotating the -contributed source code appropriately. Contributors are further -encouraged to submit their contributions via the RomWBW source code -control system to ensure their contributions are clearly documented. - -All contributions to RomWBW are subject to this license. - -# Getting Assistance - -The best way to get assistance with RomWBW or any aspect of the -RetroBrew Computers projects is via one of the community forums: - -- [RetroBrew Computers Forum](https://www.retrobrewcomputers.org/forum/) -- [RC2014 Google - Group](https://groups.google.com/forum/#!forum/rc2014-z80) -- [retro-comp Google - Group](https://groups.google.com/forum/#!forum/retro-comp) - -Submission of issues and bugs are welcome at the [RomWBW GitHub -Repository](https://github.com/wwarthen/RomWBW). - -Also feel free to email Wayne Warthen at . +--- +author: Wayne Warthen () +colorlinks: true +date: 23 Jan 2025 +fontsize: 12pt +geometry: +- top=1.5in +- bottom=1.5in +- left=1.5in +- right=1.5in +header-includes: +- +institution: RetroBrew Computers Group +monofont: roboto-mono +monofontoptions: Scale=0.75 +papersize: letter +sansfont: roboto +subtitle: Version 3.5 +title: RomWBW ReadMe +--- + + + +**RomWBW ReadMe** \ +Version 3.5 \ +Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ +23 Jan 2025 + +# Overview + +RomWBW software provides a complete, commercial quality implementation +of CP/M (and workalike) operating systems and applications for modern +Z80/180/280 retro-computing hardware systems. A wide variety of +platforms are supported including those produced by these developer +communities: + +- [RetroBrew Computers](https://www.retrobrewcomputers.org) + () +- [RC2014](https://rc2014.co.uk) (), + [RC2014-Z80](https://groups.google.com/g/rc2014-z80) + () +- [Retro Computing](https://groups.google.com/g/retro-comp) + () +- [Small Computer Central](https://smallcomputercentral.com/) + () + +A complete list of the currently supported platforms is found in the +\[Installation\] section. + +General features include: + +- Z80 Family CPUs including Z80, Z180, and Z280 +- Banked memory services for several banking designs +- Disk drivers for RAM, ROM, Floppy, IDE ATA/ATAPI, CF, SD, USB, Zip, + Iomega +- Serial drivers including UART (16550-like), ASCI, ACIA, SIO +- Video drivers including TMS9918, SY6545, MOS8563, HD6445 +- Keyboard (PS/2) drivers via VT8242 or PPI interfaces +- Real time clock drivers including DS1302, BQ4845 +- OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and + FreeRTOS +- Built-in VT-100 terminal emulation support + +RomWBW is distributed as both source code and pre-built ROM and disk +images. Some of the provided software can be launched directly from the +ROM firmware itself: + +- System Monitor +- Operating Systems (CP/M 2.2, ZSDOS) +- ROM BASIC (Nascom BASIC and Tasty BASIC) +- ROM Forth + +A dynamic disk drive letter assignment mechanism allows mapping +operating system drive letters to any available disk media. +Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.) +support the use of multiple slices (up to 256 per device). Each slice +contains a complete CP/M filesystem and can be mapped independently to +any drive letter. This overcomes the inherent size limitations in legacy +OSes and allows up to 2GB of accessible storage on a single device. + +The pre-built ROM firmware images are generally suitable for most users. +However, it is also very easy to modify and build custom ROM images that +fully tailor the firmware to your specific preferences. All tools +required to build custom ROM firmware under Windows are included – no +need to install assemblers, etc. The firmware can also be built using +Linux or MacOS after confirming a few standard tools have been +installed. + +Multiple disk images are provided in the distribution. Most disk images +contain a complete, bootable, ready-to-run implementation of a specific +operating system. A “combo” disk image contains multiple slices, each +with a full operating system implementation. If you use this disk image, +you can easily pick whichever operating system you want to boot without +changing media. + +By design, RomWBW isolates all of the hardware specific functions in the +ROM chip itself. The ROM provides a hardware abstraction layer such that +all of the operating systems and applications on a disk will run on any +RomWBW-based system. To put it simply, you can take a disk (or CF/SD/USB +Card) and move it between systems transparently. + +A tool is provided that allows you to access a FAT-12/16/32 filesystem. +The FAT filesystem may be coresident on the same disk media as RomWBW +slices or on stand-alone media. This makes exchanging files with modern +OSes such as Windows, MacOS, and Linux very easy. + +# Acquiring RomWBW + +The [RomWBW Repository](https://github.com/wwarthen/RomWBW) +() on GitHub is the official +distribution location for all project source and documentation. The +fully-built distribution releases are available on the [RomWBW Releases +Page](https://github.com/wwarthen/RomWBW/releases) +() of the repository. On +this page, you will normally see a Development Snapshot as well as +recent stable releases. Unless you have a specific reason, I suggest you +stick to the most recent stable release. Expand the “Assets” drop-down +for the release you want to download, then select the asset named +RomWBW-vX.X.X-Package.zip. The Package asset includes all pre-built ROM +and Disk images as well as full source code. The other assets contain +only source code and do not have the pre-built ROM or disk images. + +All source code and distributions are maintained on GitHub. Code +contributions are very welcome. + +# Installation & Operation + +In general, installation of RomWBW on your platform is very simple. You +just need to program your ROM with the correct ROM image from the RomWBW +distribution. Subsequently, you can write disk images on your disk +drives (IDE disk, CF Card, SD Card, etc.) which then provides even more +functionality. + +Complete instructions for installation and operation of RomWBW are found +in the [RomWBW User +Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20User%20Guide.pdf). +It is also a good idea to review the [Release +Notes](https://github.com/wwarthen/RomWBW/blob/master/RELEASE_NOTES.md) +for helpful release-specific information. + +## Documentation + +Documentation for RomWBW includes: + +- [RomWBW + Introduction](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Introduction.pdf) +- [RomWBW User + Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20User%20Guide.pdf) +- [RomWBW System + Guide](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20System%20Guide.pdf) +- [RomWBW + Applications](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Applications.pdf) +- [RomWBW Disk + Catalog](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Disk%20Catalog.pdf) +- [RomWBW + Hardware](https://github.com/wwarthen/RomWBW/raw/master/Doc/RomWBW%20Hardware.pdf) + +# Acknowledgments + +I want to acknowledge that a great deal of the code and inspiration for +RomWBW has been provided by or derived from the work of others in the +RetroBrew Computers Community. I sincerely appreciate all of their +contributions. The list below is probably missing many names – please +let me know if I missed you! + +- Andrew Lynch started it all when he created the N8VEM Z80 SBC which + became the first platform RomWBW supported. Some of his original code + can still be found in RomWBW. + +- Dan Werner wrote much of the code from which RomWBW was originally + derived and he has always been a great source of knowledge and advice. + +- Douglas Goodall contributed code, time, testing, and advice in “the + early days”. He created an entire suite of application programs to + enhance the use of RomWBW. Unfortunately, they have become unusable + due to internal changes within RomWBW. As of RomWBW 2.6, these + applications are no longer provided. + +- Sergey Kiselev created several hardware platforms for RomWBW including + the very popular Zeta. + +- David Giles created support for the Z180 CSIO which is now included SD + Card driver. + +- Phil Summers contributed the Forth and BASIC adaptations in ROM, the + AY-3-8910 sound driver, DMA support, and a long list of general code + and documentation enhancements. + +- Ed Brindley contributed some of the code that supports the RCBus + platform. + +- Spencer Owen created the RC2014 series of hobbyist kit computers which + has exponentially increased RomWBW usage. Some of his kits include + RomWBW. + +- Stephen Cousins has likewise created a series of hobbyist kit + computers at Small Computer Central and is distributing RomWBW with + many of them. + +- Alan Cox has contributed some driver code and has provided a great + deal of advice. + +- The CP/NET client files were developed by Douglas Miller. + +- Phillip Stevens contributed support for FreeRTOS. + +- Curt Mayer contributed the original Linux / MacOS build process. + +- UNA BIOS and FDISK80 are the products of John Coffman. + +- FLASH4 is a product of Will Sowerbutts. + +- CLRDIR is a product of Max Scane. + +- Tasty Basic is a product of Dimitri Theulings. + +- Dean Netherton contributed eZ80 CPU support, the sound driver + interface, and the SN76489 sound driver. + +- The RomWBW Disk Catalog document was produced by Mykl Orders. + +- Rob Prouse has created many of the supplemental disk images including + Aztec C, HiTech C, SLR Z80ASM, Turbo Pascal, Microsoft BASIC Compiler, + Microsoft Fortran Compiler, and a Games compendium. + +- Martin R has provided substantial help reviewing and improving the + User Guide and Applications documents. + +- Mark Pruden has contributed a great deal of content to the Disk + Catalog, User Guide, as well as creating the Introduction and Hardware + documents, and contributed the disk image for the Z3PLUS operating + system, the COPYSL utility, and also implemented a feature for RomWBW + configuration by NVRAM, and added the /B bulk mode of disk assignment + to the ASSIGN utility. + +- Jacques Pelletier has contributed the DS1501 RTC driver code. + +- Jose Collado has contributed enhancements to the TMS driver including + compatibility with standard TMS register configuration. + +- Kevin Boone has contributed a generic HBIOS date/time utility (WDATE). + +- Matt Carroll has contributed a fix to XM.COM that corrects the port + specification when doing a send. + +- Dean Jenkins enhanced the build process to accommodate the Raspberry + Pi 4. + +- Tom Plano has contributed a new utility (HTALK) to allow talking + directly to HBIOS COM ports. + +- Lars Nelson has contributed several generic utilities such as a + universal (OS agnostic) UNARC application. + +- Dylan Hall added support for specifying a secondary console. + +- Bill Shen has contributed boot loaders for several of his systems. + +- Laszlo Szolnoki has contributed an EF9345 video display controller + driver. + +- Ladislau Szilagyi has contributed an enhanced version of CP/M Cowgol + that leverages RomWBW memory banking. + +- Les Bird has contributed support for the NABU w/ Option Board + +Contributions of all kinds to RomWBW are very welcome. + +# Licensing + +RomWBW is free software: you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation, either version 3 of the License, or (at your +option) any later version. + +RomWBW is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +more details. + +You should have received a copy of the GNU General Public License along +with RomWBW. If not, see . + +Portions of RomWBW were created by, contributed by, or derived from the +work of others. It is believed that these works are being used in +accordance with the intentions and/or licensing of their creators. + +If anyone feels their work is being used outside of its intended +licensing, please notify: + +> Wayne Warthen +> + +RomWBW is an aggregate work. It is composed of many individual, +standalone programs that are distributed as a whole to function as a +cohesive system. Each program may have its own licensing which may be +different from other programs within the aggregate. + +In some cases, a single program (e.g., CP/M Operating System) is +composed of multiple components with different licenses. It is believed +that in all such cases the licenses are compatible with GPL version 3. + +RomWBW encourages code contributions from others. Contributors may +assert their own copyright in their contributions by annotating the +contributed source code appropriately. Contributors are further +encouraged to submit their contributions via the RomWBW source code +control system to ensure their contributions are clearly documented. + +All contributions to RomWBW are subject to this license. + +# Getting Assistance + +The best way to get assistance with RomWBW or any aspect of the +RetroBrew Computers projects is via one of the community forums: + +- [RetroBrew Computers Forum](https://www.retrobrewcomputers.org/forum/) +- [RC2014 Google + Group](https://groups.google.com/forum/#!forum/rc2014-z80) +- [retro-comp Google + Group](https://groups.google.com/forum/#!forum/retro-comp) + +Submission of issues and bugs are welcome at the [RomWBW GitHub +Repository](https://github.com/wwarthen/RomWBW). + +Also feel free to email Wayne Warthen at . diff --git a/ReadMe.txt b/ReadMe.txt index 1654a513..c725c80b 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -1,303 +1,305 @@ -RomWBW ReadMe -Wayne Warthen (wwarthen@gmail.com) -18 Jan 2025 - - - -OVERVIEW - - -RomWBW software provides a complete, commercial quality implementation -of CP/M (and workalike) operating systems and applications for modern -Z80/180/280 retro-computing hardware systems. A wide variety of -platforms are supported including those produced by these developer -communities: - -- RetroBrew Computers (https://www.retrobrewcomputers.org) -- RC2014 (https://rc2014.co.uk), - RC2014-Z80 (https://groups.google.com/g/rc2014-z80) -- Retro Computing (https://groups.google.com/g/retro-comp) -- Small Computer Central (https://smallcomputercentral.com/) - -A complete list of the currently supported platforms is found in the -[Installation] section. - -General features include: - -- Z80 Family CPUs including Z80, Z180, and Z280 -- Banked memory services for several banking designs -- Disk drivers for RAM, ROM, Floppy, IDE ATA/ATAPI, CF, SD, USB, Zip, - Iomega -- Serial drivers including UART (16550-like), ASCI, ACIA, SIO -- Video drivers including TMS9918, SY6545, MOS8563, HD6445 -- Keyboard (PS/2) drivers via VT8242 or PPI interfaces -- Real time clock drivers including DS1302, BQ4845 -- OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and - FreeRTOS -- Built-in VT-100 terminal emulation support - -RomWBW is distributed as both source code and pre-built ROM and disk -images. Some of the provided software can be launched directly from the -ROM firmware itself: - -- System Monitor -- Operating Systems (CP/M 2.2, ZSDOS) -- ROM BASIC (Nascom BASIC and Tasty BASIC) -- ROM Forth - -A dynamic disk drive letter assignment mechanism allows mapping -operating system drive letters to any available disk media. -Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.) -support the use of multiple slices (up to 256 per device). Each slice -contains a complete CP/M filesystem and can be mapped independently to -any drive letter. This overcomes the inherent size limitations in legacy -OSes and allows up to 2GB of accessible storage on a single device. - -The pre-built ROM firmware images are generally suitable for most users. -However, it is also very easy to modify and build custom ROM images that -fully tailor the firmware to your specific preferences. All tools -required to build custom ROM firmware under Windows are included – no -need to install assemblers, etc. The firmware can also be built using -Linux or MacOS after confirming a few standard tools have been -installed. - -Multiple disk images are provided in the distribution. Most disk images -contain a complete, bootable, ready-to-run implementation of a specific -operating system. A “combo” disk image contains multiple slices, each -with a full operating system implementation. If you use this disk image, -you can easily pick whichever operating system you want to boot without -changing media. - -By design, RomWBW isolates all of the hardware specific functions in the -ROM chip itself. The ROM provides a hardware abstraction layer such that -all of the operating systems and applications on a disk will run on any -RomWBW-based system. To put it simply, you can take a disk (or CF/SD/USB -Card) and move it between systems transparently. - -A tool is provided that allows you to access a FAT-12/16/32 filesystem. -The FAT filesystem may be coresident on the same disk media as RomWBW -slices or on stand-alone media. This makes exchanging files with modern -OSes such as Windows, MacOS, and Linux very easy. - - - -ACQUIRING ROMWBW - - -The RomWBW Repository (https://github.com/wwarthen/RomWBW) on GitHub is -the official distribution location for all project source and -documentation. The fully-built distribution releases are available on -the RomWBW Releases Page (https://github.com/wwarthen/RomWBW/releases) -of the repository. On this page, you will normally see a Development -Snapshot as well as recent stable releases. Unless you have a specific -reason, I suggest you stick to the most recent stable release. Expand -the “Assets” drop-down for the release you want to download, then select -the asset named RomWBW-vX.X.X-Package.zip. The Package asset includes -all pre-built ROM and Disk images as well as full source code. The other -assets contain only source code and do not have the pre-built ROM or -disk images. - -All source code and distributions are maintained on GitHub. Code -contributions are very welcome. - - - -INSTALLATION & OPERATION - - -In general, installation of RomWBW on your platform is very simple. You -just need to program your ROM with the correct ROM image from the RomWBW -distribution. Subsequently, you can write disk images on your disk -drives (IDE disk, CF Card, SD Card, etc.) which then provides even more -functionality. - -Complete instructions for installation and operation of RomWBW are found -in the RomWBW User Guide. It is also a good idea to review the Release -Notes for helpful release-specific information. - - -Documentation - -Documentation for RomWBW includes: - -- RomWBW User Guide -- RomWBW System Guide -- RomWBW Applications -- RomWBW Errata - - - -ACKNOWLEDGMENTS - - -I want to acknowledge that a great deal of the code and inspiration for -RomWBW has been provided by or derived from the work of others in the -RetroBrew Computers Community. I sincerely appreciate all of their -contributions. The list below is probably missing many names – please -let me know if I missed you! - -- Andrew Lynch started it all when he created the N8VEM Z80 SBC which - became the first platform RomWBW supported. Some of his original - code can still be found in RomWBW. - -- Dan Werner wrote much of the code from which RomWBW was originally - derived and he has always been a great source of knowledge and - advice. - -- Douglas Goodall contributed code, time, testing, and advice in “the - early days”. He created an entire suite of application programs to - enhance the use of RomWBW. Unfortunately, they have become unusable - due to internal changes within RomWBW. As of RomWBW 2.6, these - applications are no longer provided. - -- Sergey Kiselev created several hardware platforms for RomWBW - including the very popular Zeta. - -- David Giles created support for the Z180 CSIO which is now included - SD Card driver. - -- Phil Summers contributed the Forth and BASIC adaptations in ROM, the - AY-3-8910 sound driver, DMA support, and a long list of general code - and documentation enhancements. - -- Ed Brindley contributed some of the code that supports the RCBus - platform. - -- Spencer Owen created the RC2014 series of hobbyist kit computers - which has exponentially increased RomWBW usage. Some of his kits - include RomWBW. - -- Stephen Cousins has likewise created a series of hobbyist kit - computers at Small Computer Central and is distributing RomWBW with - many of them. - -- Alan Cox has contributed some driver code and has provided a great - deal of advice. - -- The CP/NET client files were developed by Douglas Miller. - -- Phillip Stevens contributed support for FreeRTOS. - -- Curt Mayer contributed the original Linux / MacOS build process. - -- UNA BIOS and FDISK80 are the products of John Coffman. - -- FLASH4 is a product of Will Sowerbutts. - -- CLRDIR is a product of Max Scane. - -- Tasty Basic is a product of Dimitri Theulings. - -- Dean Netherton contributed eZ80 CPU support, the sound driver - interface, and the SN76489 sound driver. - -- The RomWBW Disk Catalog document was produced by Mykl Orders. - -- Rob Prouse has created many of the supplemental disk images - including Aztec C, HiTech C, SLR Z80ASM, Turbo Pascal, Microsoft - BASIC Compiler, Microsoft Fortran Compiler, and a Games compendium. - -- Martin R has provided substantial help reviewing and improving the - User Guide and Applications documents. - -- Mark Pruden has also contributed a great deal of content to the Disk - Catalog, User Guide as well as contributing the disk image for the - Z3PLUS operating system, the COPYSL utility, and also implemented a - feature for RomWBW configuration by NVRAM, and added the /B bulk - mode of disk assignment to the ASSIGN utility. - -- Jacques Pelletier has contributed the DS1501 RTC driver code. - -- Jose Collado has contributed enhancements to the TMS driver - including compatibility with standard TMS register configuration. - -- Kevin Boone has contributed a generic HBIOS date/time utility - (WDATE). - -- Matt Carroll has contributed a fix to XM.COM that corrects the port - specification when doing a send. - -- Dean Jenkins enhanced the build process to accommodate the Raspberry - Pi 4. - -- Tom Plano has contributed a new utility (HTALK) to allow talking - directly to HBIOS COM ports. - -- Lars Nelson has contributed several generic utilities such as a - universal (OS agnostic) UNARC application. - -- Dylan Hall added support for specifying a secondary console. - -- Bill Shen has contributed boot loaders for several of his systems. - -- Laszlo Szolnoki has contributed an EF9345 video display controller - driver. - -- Ladislau Szilagyi has contributed an enhanced version of CP/M Cowgol - that leverages RomWBW memory banking. - -- Les Bird has contributed support for the NABU w/ Option Board - -Contributions of all kinds to RomWBW are very welcome. - - - -LICENSING - - -RomWBW is free software: you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation, either version 3 of the License, or (at your -option) any later version. - -RomWBW is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -more details. - -You should have received a copy of the GNU General Public License along -with RomWBW. If not, see https://www.gnu.org/licenses/. - -Portions of RomWBW were created by, contributed by, or derived from the -work of others. It is believed that these works are being used in -accordance with the intentions and/or licensing of their creators. - -If anyone feels their work is being used outside of its intended -licensing, please notify: - - Wayne Warthen - wwarthen@gmail.com - -RomWBW is an aggregate work. It is composed of many individual, -standalone programs that are distributed as a whole to function as a -cohesive system. Each program may have its own licensing which may be -different from other programs within the aggregate. - -In some cases, a single program (e.g., CP/M Operating System) is -composed of multiple components with different licenses. It is believed -that in all such cases the licenses are compatible with GPL version 3. - -RomWBW encourages code contributions from others. Contributors may -assert their own copyright in their contributions by annotating the -contributed source code appropriately. Contributors are further -encouraged to submit their contributions via the RomWBW source code -control system to ensure their contributions are clearly documented. - -All contributions to RomWBW are subject to this license. - - - -GETTING ASSISTANCE - - -The best way to get assistance with RomWBW or any aspect of the -RetroBrew Computers projects is via one of the community forums: - -- RetroBrew Computers Forum -- RC2014 Google Group -- retro-comp Google Group - -Submission of issues and bugs are welcome at the RomWBW GitHub -Repository. - -Also feel free to email Wayne Warthen at wwarthen@gmail.com. +RomWBW ReadMe +Wayne Warthen (wwarthen@gmail.com) +23 Jan 2025 + + + +OVERVIEW + + +RomWBW software provides a complete, commercial quality implementation +of CP/M (and workalike) operating systems and applications for modern +Z80/180/280 retro-computing hardware systems. A wide variety of +platforms are supported including those produced by these developer +communities: + +- RetroBrew Computers (https://www.retrobrewcomputers.org) +- RC2014 (https://rc2014.co.uk), + RC2014-Z80 (https://groups.google.com/g/rc2014-z80) +- Retro Computing (https://groups.google.com/g/retro-comp) +- Small Computer Central (https://smallcomputercentral.com/) + +A complete list of the currently supported platforms is found in the +[Installation] section. + +General features include: + +- Z80 Family CPUs including Z80, Z180, and Z280 +- Banked memory services for several banking designs +- Disk drivers for RAM, ROM, Floppy, IDE ATA/ATAPI, CF, SD, USB, Zip, + Iomega +- Serial drivers including UART (16550-like), ASCI, ACIA, SIO +- Video drivers including TMS9918, SY6545, MOS8563, HD6445 +- Keyboard (PS/2) drivers via VT8242 or PPI interfaces +- Real time clock drivers including DS1302, BQ4845 +- OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and + FreeRTOS +- Built-in VT-100 terminal emulation support + +RomWBW is distributed as both source code and pre-built ROM and disk +images. Some of the provided software can be launched directly from the +ROM firmware itself: + +- System Monitor +- Operating Systems (CP/M 2.2, ZSDOS) +- ROM BASIC (Nascom BASIC and Tasty BASIC) +- ROM Forth + +A dynamic disk drive letter assignment mechanism allows mapping +operating system drive letters to any available disk media. +Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.) +support the use of multiple slices (up to 256 per device). Each slice +contains a complete CP/M filesystem and can be mapped independently to +any drive letter. This overcomes the inherent size limitations in legacy +OSes and allows up to 2GB of accessible storage on a single device. + +The pre-built ROM firmware images are generally suitable for most users. +However, it is also very easy to modify and build custom ROM images that +fully tailor the firmware to your specific preferences. All tools +required to build custom ROM firmware under Windows are included – no +need to install assemblers, etc. The firmware can also be built using +Linux or MacOS after confirming a few standard tools have been +installed. + +Multiple disk images are provided in the distribution. Most disk images +contain a complete, bootable, ready-to-run implementation of a specific +operating system. A “combo” disk image contains multiple slices, each +with a full operating system implementation. If you use this disk image, +you can easily pick whichever operating system you want to boot without +changing media. + +By design, RomWBW isolates all of the hardware specific functions in the +ROM chip itself. The ROM provides a hardware abstraction layer such that +all of the operating systems and applications on a disk will run on any +RomWBW-based system. To put it simply, you can take a disk (or CF/SD/USB +Card) and move it between systems transparently. + +A tool is provided that allows you to access a FAT-12/16/32 filesystem. +The FAT filesystem may be coresident on the same disk media as RomWBW +slices or on stand-alone media. This makes exchanging files with modern +OSes such as Windows, MacOS, and Linux very easy. + + + +ACQUIRING ROMWBW + + +The RomWBW Repository (https://github.com/wwarthen/RomWBW) on GitHub is +the official distribution location for all project source and +documentation. The fully-built distribution releases are available on +the RomWBW Releases Page (https://github.com/wwarthen/RomWBW/releases) +of the repository. On this page, you will normally see a Development +Snapshot as well as recent stable releases. Unless you have a specific +reason, I suggest you stick to the most recent stable release. Expand +the “Assets” drop-down for the release you want to download, then select +the asset named RomWBW-vX.X.X-Package.zip. The Package asset includes +all pre-built ROM and Disk images as well as full source code. The other +assets contain only source code and do not have the pre-built ROM or +disk images. + +All source code and distributions are maintained on GitHub. Code +contributions are very welcome. + + + +INSTALLATION & OPERATION + + +In general, installation of RomWBW on your platform is very simple. You +just need to program your ROM with the correct ROM image from the RomWBW +distribution. Subsequently, you can write disk images on your disk +drives (IDE disk, CF Card, SD Card, etc.) which then provides even more +functionality. + +Complete instructions for installation and operation of RomWBW are found +in the RomWBW User Guide. It is also a good idea to review the Release +Notes for helpful release-specific information. + + +Documentation + +Documentation for RomWBW includes: + +- RomWBW Introduction +- RomWBW User Guide +- RomWBW System Guide +- RomWBW Applications +- RomWBW Disk Catalog +- RomWBW Hardware + + +ACKNOWLEDGMENTS + + +I want to acknowledge that a great deal of the code and inspiration for +RomWBW has been provided by or derived from the work of others in the +RetroBrew Computers Community. I sincerely appreciate all of their +contributions. The list below is probably missing many names – please +let me know if I missed you! + +- Andrew Lynch started it all when he created the N8VEM Z80 SBC which + became the first platform RomWBW supported. Some of his original + code can still be found in RomWBW. + +- Dan Werner wrote much of the code from which RomWBW was originally + derived and he has always been a great source of knowledge and + advice. + +- Douglas Goodall contributed code, time, testing, and advice in “the + early days”. He created an entire suite of application programs to + enhance the use of RomWBW. Unfortunately, they have become unusable + due to internal changes within RomWBW. As of RomWBW 2.6, these + applications are no longer provided. + +- Sergey Kiselev created several hardware platforms for RomWBW + including the very popular Zeta. + +- David Giles created support for the Z180 CSIO which is now included + SD Card driver. + +- Phil Summers contributed the Forth and BASIC adaptations in ROM, the + AY-3-8910 sound driver, DMA support, and a long list of general code + and documentation enhancements. + +- Ed Brindley contributed some of the code that supports the RCBus + platform. + +- Spencer Owen created the RC2014 series of hobbyist kit computers + which has exponentially increased RomWBW usage. Some of his kits + include RomWBW. + +- Stephen Cousins has likewise created a series of hobbyist kit + computers at Small Computer Central and is distributing RomWBW with + many of them. + +- Alan Cox has contributed some driver code and has provided a great + deal of advice. + +- The CP/NET client files were developed by Douglas Miller. + +- Phillip Stevens contributed support for FreeRTOS. + +- Curt Mayer contributed the original Linux / MacOS build process. + +- UNA BIOS and FDISK80 are the products of John Coffman. + +- FLASH4 is a product of Will Sowerbutts. + +- CLRDIR is a product of Max Scane. + +- Tasty Basic is a product of Dimitri Theulings. + +- Dean Netherton contributed eZ80 CPU support, the sound driver + interface, and the SN76489 sound driver. + +- The RomWBW Disk Catalog document was produced by Mykl Orders. + +- Rob Prouse has created many of the supplemental disk images + including Aztec C, HiTech C, SLR Z80ASM, Turbo Pascal, Microsoft + BASIC Compiler, Microsoft Fortran Compiler, and a Games compendium. + +- Martin R has provided substantial help reviewing and improving the + User Guide and Applications documents. + +- Mark Pruden has contributed a great deal of content to the Disk + Catalog, User Guide, as well as creating the Introduction and + Hardware documents, and contributed the disk image for the Z3PLUS + operating system, the COPYSL utility, and also implemented a feature + for RomWBW configuration by NVRAM, and added the /B bulk mode of + disk assignment to the ASSIGN utility. + +- Jacques Pelletier has contributed the DS1501 RTC driver code. + +- Jose Collado has contributed enhancements to the TMS driver + including compatibility with standard TMS register configuration. + +- Kevin Boone has contributed a generic HBIOS date/time utility + (WDATE). + +- Matt Carroll has contributed a fix to XM.COM that corrects the port + specification when doing a send. + +- Dean Jenkins enhanced the build process to accommodate the Raspberry + Pi 4. + +- Tom Plano has contributed a new utility (HTALK) to allow talking + directly to HBIOS COM ports. + +- Lars Nelson has contributed several generic utilities such as a + universal (OS agnostic) UNARC application. + +- Dylan Hall added support for specifying a secondary console. + +- Bill Shen has contributed boot loaders for several of his systems. + +- Laszlo Szolnoki has contributed an EF9345 video display controller + driver. + +- Ladislau Szilagyi has contributed an enhanced version of CP/M Cowgol + that leverages RomWBW memory banking. + +- Les Bird has contributed support for the NABU w/ Option Board + +Contributions of all kinds to RomWBW are very welcome. + + + +LICENSING + + +RomWBW is free software: you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation, either version 3 of the License, or (at your +option) any later version. + +RomWBW is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +more details. + +You should have received a copy of the GNU General Public License along +with RomWBW. If not, see https://www.gnu.org/licenses/. + +Portions of RomWBW were created by, contributed by, or derived from the +work of others. It is believed that these works are being used in +accordance with the intentions and/or licensing of their creators. + +If anyone feels their work is being used outside of its intended +licensing, please notify: + + Wayne Warthen + wwarthen@gmail.com + +RomWBW is an aggregate work. It is composed of many individual, +standalone programs that are distributed as a whole to function as a +cohesive system. Each program may have its own licensing which may be +different from other programs within the aggregate. + +In some cases, a single program (e.g., CP/M Operating System) is +composed of multiple components with different licenses. It is believed +that in all such cases the licenses are compatible with GPL version 3. + +RomWBW encourages code contributions from others. Contributors may +assert their own copyright in their contributions by annotating the +contributed source code appropriately. Contributors are further +encouraged to submit their contributions via the RomWBW source code +control system to ensure their contributions are clearly documented. + +All contributions to RomWBW are subject to this license. + + + +GETTING ASSISTANCE + + +The best way to get assistance with RomWBW or any aspect of the +RetroBrew Computers projects is via one of the community forums: + +- RetroBrew Computers Forum +- RC2014 Google Group +- retro-comp Google Group + +Submission of issues and bugs are welcome at the RomWBW GitHub +Repository. + +Also feel free to email Wayne Warthen at wwarthen@gmail.com. diff --git a/Source/Doc/Applications.md b/Source/Doc/Applications.md index dd9624b9..13c40675 100644 --- a/Source/Doc/Applications.md +++ b/Source/Doc/Applications.md @@ -2551,7 +2551,7 @@ checking. The `WDATE` application was written and contributed by Kevin Boone. The source code is available on GitHub at -. +. `\clearpage`{=latex} diff --git a/Source/Doc/Basic.h b/Source/Doc/Basic.h index def9b838..5057e66d 100644 --- a/Source/Doc/Basic.h +++ b/Source/Doc/Basic.h @@ -8,11 +8,12 @@ $define{doc_date}{$date{%d %b %Y}$}$ $ifndef{doc_authmail}$ $define{doc_authmail}{wwarthen@gmail.com}$ $endif$ $define{doc_orgname}{RetroBrew Computers Group}$ $define{doc_orgurl}{www.retrobrewcomputers.org}$ +$define{doc_intro}{[RomWBW Introduction]($doc_root$/RomWBW Introduction.pdf)}$ $define{doc_user}{[RomWBW User Guide]($doc_root$/RomWBW User Guide.pdf)}$ $define{doc_sys}{[RomWBW System Guide]($doc_root$/RomWBW System Guide.pdf)}$ $define{doc_apps}{[RomWBW Applications]($doc_root$/RomWBW Applications.pdf)}$ $define{doc_catalog}{[RomWBW Disk Catalog]($doc_root$/RomWBW Disk Catalog.pdf)}$ -$define{doc_errata}{[RomWBW Errata]($doc_root$/RomWBW Errata.pdf)}$ +$define{doc_hardware}{[RomWBW Hardware]($doc_root$/RomWBW Hardware.pdf)}$ --- title: $doc_product$ $doc_title$ diff --git a/Source/Doc/Build.cmd b/Source/Doc/Build.cmd index 3736b6b5..8638b8a4 100644 --- a/Source/Doc/Build.cmd +++ b/Source/Doc/Build.cmd @@ -16,19 +16,21 @@ set PATH=%TOOLS%\gpp;%PATH% if not "%1"=="" (call :GenDoc %1 & goto :eof) call :GenDoc ReadMe || exit /b +call :GenDoc Introduction || exit /b call :GenDoc UserGuide || exit /b call :GenDoc SystemGuide || exit /b call :GenDoc Applications || exit /b call :GenDoc Catalog || exit /b -call :GenDoc Errata || exit /b +call :GenDoc Hardware || exit /b if exist ReadMe.gfm copy Readme.gfm ..\..\ReadMe.md || exit /b if exist ReadMe.txt copy ReadMe.txt ..\..\ReadMe.txt || exit /b +if exist Introduction.pdf copy Introduction.pdf "..\..\Doc\RomWBW Introduction.pdf" || exit /b if exist UserGuide.pdf copy UserGuide.pdf "..\..\Doc\RomWBW User Guide.pdf" || exit /b if exist SystemGuide.pdf copy SystemGuide.pdf "..\..\Doc\RomWBW System Guide.pdf" || exit /b if exist Applications.pdf copy Applications.pdf "..\..\Doc\RomWBW Applications.pdf" || exit /b if exist Catalog.pdf copy Catalog.pdf "..\..\Doc\RomWBW Disk Catalog.pdf" || exit /b -if exist Errata.pdf copy Errata.pdf "..\..\Doc\RomWBW Errata.pdf" || exit /b +if exist Hardware.pdf copy Hardware.pdf "..\..\Doc\RomWBW Hardware.pdf" || exit /b echo. goto :eof @@ -53,4 +55,4 @@ pandoc %1.tmp -f markdown -t gfm-yaml_metadata_block -s -o %1.gfm --default-imag ::pandoc %1.tmp -f markdown -t gfm-yaml_metadata_block -s -o %1.txt --markdown-headings=setext --default-image-extension=png || exit /b pandoc %1.tmp -f markdown -t plain+gutenberg -s -o %1.txt || exit /b -goto :eof \ No newline at end of file +goto :eof diff --git a/Source/Doc/Errata.md b/Source/Doc/Errata.md deleted file mode 100644 index 892f2ece..00000000 --- a/Source/Doc/Errata.md +++ /dev/null @@ -1,19 +0,0 @@ -$define{doc_title}{Errata}$ -$include{"Book.h"}$ - -# Errata - -The following errata apply to $doc_product$ $doc_ver$: - -* The use of high density floppy disks requires a CPU speed of 8 MHz or - greater. - -* The PropIO support is based on RomWBW specific firmware. Be sure to - program/update your PropIO firmware with the corresponding firmware - image provided in the Binary directory of the RomWBW distribution. - -* Reading bytes from the video memory of the VDU board (not Color - VDU) appears to be problematic. This is only an issue when the driver - needs to scroll a portion of the screen which is done by applications - such as WordStar or ZDE. You are likely to see screen corruption in - this case. \ No newline at end of file diff --git a/Source/Doc/Hardware.md b/Source/Doc/Hardware.md new file mode 100644 index 00000000..2f7cbbe8 --- /dev/null +++ b/Source/Doc/Hardware.md @@ -0,0 +1,2066 @@ +$define{doc_title}{Hardware}$ +$include{"Book.h"}$ +$define{doc_author}{Mark Pruden \& Wayne Warthen}$ +$define{doc_authmail}{}$ + +# Supported Hardware Platforms + +This section contains a summary of the system configuration target +for each of the pre-built ROM images included in the RomWBW +distribution. + +It is intended to help you select the correct ROM +image and understand the basic hardware components supported. +Detailed hardware system configuration information should be obtained +from your system provider/designer. + +The table below summarizes the hardware platforms currently supported +by RomWBW along with the standard pre-built ROM image(s). + +| **Description** | **Bus** | **ROM Image File** | **Baud Rate** | +|-------------------------------------------------------------|---------|------------------------------|--------------:| +| [RetroBrew Z80 SBC]^1^ | ECB | SBC_std.rom | 38400 | +| [RetroBrew Z80 SimH]^1^ | - | SBC_simh.rom | 38400 | +| [RetroBrew N8 Z180 SBC]^1^ (date >= 2312) | ECB | N8_std.rom | 38400 | +| [Zeta Z80 SBC]^2^, ParPortProp | - | ZETA_std.rom | 38400 | +| [Zeta V2 Z80 SBC]^2^, ParPortProp | - | ZETA2_std.rom | 38400 | +| [Mark IV Z180 SBC]^3^ | ECB | MK4_std.rom | 38400 | +| [RCBus Z80 CPU Module]^4^, 512K RAM/ROM | RCBus | RCZ80_std.rom | 115200 | +| [RCBus Z80 CPU Module]^4^, 512K w/KIO | RCBus | RCZ80_kio_std.rom | 115200 | +| [RCBus Z180 CPU Module]^4^ w/ ext banking | RCBus | RCZ180_ext_std.rom | 115200 | +| [RCBus Z180 CPU Module]^4^ w/ native banking | RCBus | RCZ180_nat_std.rom | 115200 | +| [RCBus Z280 CPU Module]^4^ w/ ext banking | RCBus | RCZ280_ext_std.rom | 115200 | +| [RCBus Z280 CPU Module]^4^ w/ native banking | RCBus | RCZ280_nat_std.rom | 115200 | +| [RCBus eZ80 CPU Module]^13^, 512K RAM/ROM | RCBus | RCEZ80_std.rom | 115200 | +| [Easy Z80 SBC]^2^ | RCBus | RCZ80_easy_std.rom | 115200 | +| [Tiny Z80 SBC]^2^ | RCBus | RCZ80_tiny_std.rom | 115200 | +| [Z80-512K CPU/RAM/ROM Module]^2^ | RCBus | RCZ80_skz_std.rom | 115200 | +| [Small Computer SC126 Z180 SBC]^5^ | BP80 | SCZ180_sc126_std.rom | 115200 | +| [Small Computer SC130 Z180 SBC]^5^ | RCBus | SCZ180_sc130_std.rom | 115200 | +| [Small Computer SC131 Z180 Pocket Comp]^5^ | - | SCZ180_sc131_std.rom | 115200 | +| [Small Computer SC140 Z180 CPU Module]^5^ | Z50 | SCZ180_sc140_std.rom | 115200 | +| [Small Computer SC503 Z180 CPU Module]^5^ | Z50 | SCZ180_sc503_std.rom | 115200 | +| [Small Computer SC700 Z180 CPU Module]^5^ | RCBus | SCZ180_sc700_std.rom | 115200 | +| [Dyno Z180 SBC]^6^ | Dyno | DYNO_std.rom | 38400 | +| [Nhyodyne Z80 MBC]^1^ | MBC | MBC_std.rom | 38400 | +| [Rhyophyre Z180 SBC]^1^ | - | RPH_std.rom | 38400 | +| [Z80 ZRC CPU Module]^7^ | RCBus | RCZ80_zrc_std.rom | 115200 | +| [Z80 ZRC CPU Module]^7^ ROMless | RCBus | RCZ80_zrc_ram_std.rom | 115200 | +| [Z80 ZRC512 CPU Module]^7^ | RCBus | RCZ80_zrc512_std.rom | 115200 | +| [Z80 EaZy80-512 CPU Module]^7^ | RCBus | RCZ80_ez512_std.rom | 115200 | +| [Z80 K80W CPU Module]^7^ | RCBus | RCZ80_k8w_std.rom | 115200 | +| [Z180 Z1RCC CPU Module]^7^ | RCBus | RCZ180_z1rcc_std.rom | 115200 | +| [Z280 ZZRCC CPU Module]^7^ | RCBus | RCZ280_zzrcc_std.rom | 115200 | +| [Z280 ZZRCC CPU Module]^7^ ROMless | RCBus | RCZ280_zzrcc_ram_std.rom | 115200 | +| [Z280 ZZ80MB SBC]^7^ | RCBus | RCZ280_zz80mb_std.rom | 115200 | +| [Z80-Retro SBC]^8^ | - | Z80RETRO_std.rom | 38400 | +| [S100 Computers Z180]^9^ | S100 | S100_std.rom | 57600 | +| [Duodyne Z80 System]^1^ | Duo | DUO_std.rom | 38400 | +| [Heath H8 Z80 System]^10^ | H8 | HEATH_std.rom | 115200 | +| [EP Mini-ITX Z180]^11^ | RCBus? | EPITX_std.rom | 115200 | +| [NABU w/ RomWBW Option Board]^10^ | NABU | NABU_std.rom | 115200 | +| [S100 FPGA Z80]^9^ | S100 | FZ80_std.rom | 9600 | +| [Genesis STD Z180]^12^ | STD | GMZ180_std.rom | 115200 | + +| ^1^Designed by Andrew Lynch +| ^2^Designed by Sergey Kiselev +| ^3^Designed by John Coffman +| ^4^RCBus compliant (multiple products/designers) +| ^5^Designed by Stephen Cousins +| ^6^Designed by Steve Garcia +| ^7^Designed by Bill Shen +| ^8^Designed by Peter Wilson +| ^9^Designed by John Monahan +| ^10^Designed by Les Bird +| ^11^Designed by Alan Cox +| ^12^Designed by Doug Jackson +| ^13^Designed by Dean Netherton + +RCBus refers to Spencer Owen's RC2014 bus specification and derivatives +including RC26, RC40, RC80, and BP80. + +The RCBus Z180 & Z280 require a separate RAM/ROM memory module. There +are two types of these modules and you must pick the correct ROM for +your type of memory module. The first option is the same as the 512K +RAM/ROM module for RC/BP80 Bus. This is called external ("ext") because +the bank switching is performed externally from the CPU. The second +type of RAM/ROM module has no bank switching logic -- this is called +native ("nat") because the CPU itself provides the bank switching logic. +Only Z180 and Z280 CPUs have the ability to do bank switching in the +CPU, so the ext/nat selection only applies to them. Z80 CPUs have no +built-in bank switching logic, so they are always configured for +external bank switching. + +The standard ROM images will detect and install support for certain +devices and peripherals that are on-board or frequently used with +each platform. If the device or peripheral is not detected at boot, +the ROM will simply bypass support appropriately. + +In some cases, support for multiple hardware components with potentially +conflicting resource usage are handled by a single ROM image. It is up +to the user to ensure that no conflicting hardware is in use. + +All pre-built ROM images are pure binary files (they are not "hex" +files). They are intended to be programmed starting at the very start +of the ROM chip (address 0). Most of the pre-built images are +512KB in size. If your system utilizes a larger ROM, you can just +program the image into the first 512KB of the ROM for now. + +`\clearpage`{=latex} + +# Platform Configurations + +## RetroBrew Z80 SBC + +#### ROM Image File: SBC_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 8.000 MHz | +| Interrupts | None | +| System Timer | None | +| Serial Default | 38400 Baud | +| Memory Manager | SBC | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- DSRTC: MODE=STD, IO=112 +- UART: MODE=SBC, IO=104 +- UART: MODE=CAS, IO=128 +- UART: MODE=MFP, IO=104 +- UART: MODE=4UART, IO=192 +- UART: MODE=4UART, IO=200 +- UART: MODE=4UART, IO=208 +- UART: MODE=4UART, IO=216 +- SIO MODE=ZP, IO=176, CHANNEL A +- SIO MODE=ZP, IO=176, CHANNEL B +- VGA: IO=224, KBD MODE=PS/2, KBD IO=224 +- CVDU: MODE=ECB, IO=224, KBD MODE=PS/2, KBD IO=226 +- CVDU occupies 905 bytes. +- KBD: ENABLED +- PRP: IO=168 +- PRPCON: ENABLED +- PRPSD: ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=DIO, IO=54, DRIVE 0, TYPE=3.5" HD +- FD: MODE=DIO, IO=54, DRIVE 1, TYPE=3.5" HD +- PPIDE: IO=96, MASTER +- PPIDE: IO=96, SLAVE + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## RetroBrew Z80 SimH + +#### ROM Image File: SBC_simh.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 8.000 MHz | +| Interrupts | Mode 1 | +| System Timer | SimH | +| Serial Default | 38400 Baud | +| Memory Manager | SBC | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- SIMRTC: IO=254 +- UART: MODE=SBC, IO=104 +- UART: MODE=CAS, IO=128 +- UART: MODE=MFP, IO=104 +- UART: MODE=4UART, IO=192 +- UART: MODE=4UART, IO=200 +- UART: MODE=4UART, IO=208 +- UART: MODE=4UART, IO=216 +- SIO MODE=ZP, IO=176, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=ZP, IO=176, CHANNEL B, INTERRUPTS ENABLED +- FONTS occupy 0 bytes. +- MD: TYPE=RAM +- MD: TYPE=ROM +- HDSK: IO=253, DEVICE COUNT=2 + +#### Notes: + +- Image for SimH emulator +- CPU speed and Serial configuration not relevant in emulator + +`\clearpage`{=latex} + +## RetroBrew N8 Z180 SBC + +#### ROM Image File: N8_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 38400 Baud | +| Memory Manager | N8 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- DSRTC: MODE=STD, IO=136 +- ASCI: IO=64, INTERRUPTS ENABLED +- ASCI: IO=65, INTERRUPTS ENABLED +- UART: MODE=CAS, IO=128 +- UART: MODE=4UART, IO=192 +- UART: MODE=4UART, IO=200 +- UART: MODE=4UART, IO=208 +- UART: MODE=4UART, IO=216 +- TMS: MODE=N8, IO=152 +- PPK: 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 +- SD: MODE=CSIO, IO=136, UNITS=1 +- AY38910: MODE=N8, IO=156, CLOCK=1789772 HZ + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present +- SD Card interface is configured for CSIO (N8 date code >= 2312) + +`\clearpage`{=latex} + +## Zeta Z80 SBC + +#### ROM Image File: ZETA_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 8.000 MHz | +| Interrupts | None | +| System Timer | None | +| Serial Default | 38400 Baud | +| Memory Manager | SBC | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- DSRTC: MODE=STD, IO=112 +- UART: MODE=SBC, IO=104 +- PPP: IO=96 +- PPPCON: ENABLED +- PPPSD: ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=DIO, IO=54, DRIVE 0, TYPE=3.5" HD + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present +- If ParPortProp is installed, initial console output is + determined by JP1: + - Shorted: console to on-board serial port + - Open: console to ParPortProp video and keyboard + +`\clearpage`{=latex} + +## Zeta V2 Z80 SBC + +#### ROM Image File: ZETA2_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 8.000 MHz | +| Interrupts | Mode 2 | +| System Timer | CTC | +| Serial Default | 38400 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- DSRTC: MODE=STD, IO=112 +- UART: MODE=SBC, IO=104 +- PPP: IO=96 +- PPPCON: ENABLED +- PPPSD: ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=ZETA2, IO=48, DRIVE 0, TYPE=3.5" HD +- CTC: IO=32, TIMER MODE=COUNTER, DIVISOR=18432, HI=256, LO=72, INTERRUPTS ENABLED + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present +- If ParPortProp is installed, initial console output is + determined by JP1: + - Shorted: console to on-board serial port + - Open: console to ParPortProp video and keyboard + +`\clearpage`{=latex} + +## Mark IV Z180 SBC + +#### ROM Image File: MK4_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 38400 Baud | +| Memory Manager | Z180 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- DSRTC: MODE=STD, IO=138 +- ASCI: IO=64, INTERRUPTS ENABLED +- ASCI: IO=65, INTERRUPTS ENABLED +- UART: MODE=CAS, IO=128 +- UART: MODE=MFP, IO=104 +- UART: MODE=4UART, IO=192 +- UART: MODE=4UART, IO=200 +- UART: MODE=4UART, IO=208 +- UART: MODE=4UART, IO=216 +- VGA: IO=224, KBD MODE=PS/2, KBD IO=224 +- CVDU: MODE=ECB, IO=224, KBD MODE=PS/2, KBD IO=226 +- KBD: ENABLED +- PRP: IO=168 +- PRPCON: ENABLED +- PRPSD: ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=DIDE, IO=42, DRIVE 0, TYPE=3.5" HD +- FD: MODE=DIDE, IO=42, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=MK4, IO=128, MASTER +- IDE: MODE=MK4, IO=128, SLAVE +- SD: MODE=MK4, IO=137, UNITS=1 + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## RCBus Z80 CPU Module + +#### ROM Image File: RCZ80_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 7.372 MHz | +| Interrupts | Mode 1 | +| System Timer | None | +| Serial Default | 115200 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- ACIA: IO=128, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136 + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +#### ROM Image File: RCZ80_kio_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 7.372 MHz | +| Interrupts | Mode 2 | +| System Timer | CTC | +| Serial Default | 115200 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=STD, IO=136, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=STD, IO=136, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=132, TIMER MODE=TIMER/16, DIVISOR=9216, HI=256, LO=36, INTERRUPTS ENABLED + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present +- SIO Serial baud rate managed by CTC + +`\clearpage`{=latex} + +## RCBus Z180 CPU Module + +#### ROM Image File: RCZ180_ext_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 115200 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE + +#### Notes: + +- For use with Z2 bank switched memory board (Z2 external memory management) +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +#### ROM Image File: RCZ180_nat_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 115200 Baud | +| Memory Manager | Z180 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE + +#### Notes: + +- For use with linear memory board (Z180 native memory management) +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## RCBus Z280 CPU Module + +#### ROM Image File: RCZ280_ext_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 6.000 MHz | +| Interrupts | Mode 1 | +| System Timer | None | +| Serial Default | 115200 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- Z2U: IO=16 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- ACIA: IO=128, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE + +#### Notes: + +- For use with Z2 bank switched memory board (Z2 external memory management) + +`\clearpage`{=latex} + +#### ROM Image File: RCZ280_nat_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 6.000 MHz | +| Interrupts | Mode 3 | +| System Timer | Z280 | +| Serial Default | 115200 Baud | +| Memory Manager | Z280 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- Z2U: IO=16, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE + +#### Notes: + +- For use with linear memory board (Z280 native memory management) + +`\clearpage`{=latex} + +## RCBus eZ80 CPU Module + +#### ROM Image File: RCEZ80_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 20.000 MHz | +| Interrupts | Mode 1 | +| System Timer | EZ80 | +| Serial Default | 115200 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- LCD: IO=218 +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136 +- EZ80 DRIVERS + +#### Notes: + +`\clearpage`{=latex} + +## Easy Z80 SBC + +#### ROM Image File: RCZ80_easy_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 10.000 MHz | +| Interrupts | Mode 2 | +| System Timer | CTC | +| Serial Default | 115200 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- INTRTC: ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=STD, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=STD, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136, TIMER MODE=COUNTER, DIVISOR=18432, HI=256, LO=72, INTERRUPTS ENABLED + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Tiny Z80 SBC + +#### ROM Image File: RCZ80_tiny_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 16.000 MHz | +| Interrupts | Mode 2 | +| System Timer | CTC | +| Serial Default | 115200 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=STD, IO=24, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=STD, IO=24, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=144, MASTER +- IDE: MODE=RC, IO=144, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=16, TIMER MODE=COUNTER, DIVISOR=18432, HI=256, LO=72, INTERRUPTS ENABLED + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Z80-512K CPU/RAM/ROM Module + +#### ROM Image File: RCZ80_skz_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 7.372 MHz | +| Interrupts | Mode 1 | +| System Timer | None | +| Serial Default | 115200 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- ACIA: IO=128, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136 + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Small Computer SC126 Z180 SBC + +#### ROM Image File: SCZ180_sc126_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 115200 Baud | +| Memory Manager | Z180 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=13, SWIO=0 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- SD: MODE=SC, IO=12, UNITS=1 +- AY38910: MODE=RCZ180, IO=104, CLOCK=1789772 HZ + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Small Computer SC130 Z180 SBC + +#### ROM Image File: SCZ180_sc130_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 115200 Baud | +| Memory Manager | Z180 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- SD: MODE=SC, IO=12, UNITS=1 +- AY38910: MODE=RCZ180, IO=104, CLOCK=1789772 HZ + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Small Computer SC131 Z180 Pocket Comp + +#### ROM Image File: SCZ180_sc131_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 115200 Baud | +| Memory Manager | Z180 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- SD: MODE=SC, IO=12, UNITS=1 + +#### Notes: + +`\clearpage`{=latex} + +## Small Computer SC140 Z180 CPU Module + +#### ROM Image File: SCZ180_sc140_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 115200 Baud | +| Memory Manager | Z180 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=160, SWIO=160 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=144, MASTER +- IDE: MODE=RC, IO=144, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- SD: MODE=SC, IO=12, UNITS=1 + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Small Computer SC503 Z180 CPU Module + +#### ROM Image File: SCZ180_sc503_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 115200 Baud | +| Memory Manager | Z180 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=160, SWIO=160 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=144, MASTER +- IDE: MODE=RC, IO=144, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- SD: MODE=SC, IO=12, UNITS=1 + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Small Computer SC700 Z180 CPU Module + +#### ROM Image File: SCZ180_sc700_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 115200 Baud | +| Memory Manager | Z180 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- SD: MODE=SC, IO=12, UNITS=1 +- AY38910: MODE=RCZ180, IO=104, CLOCK=1789772 HZ + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Dyno Z180 SBC + +#### ROM Image File: DYNO_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 38400 Baud | +| Memory Manager | Z180 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- BQRTC: IO=80 +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=DYNO, IO=132, DRIVE 0, TYPE=3.5" HD +- FD: MODE=DYNO, IO=132, DRIVE 1, TYPE=3.5" HD +- PPIDE: IO=76, MASTER +- PPIDE: IO=76, SLAVE + +#### Notes: + +`\clearpage`{=latex} + +## Nhyodyne Z80 MBC + +#### ROM Image File: MBC_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 8.000 MHz | +| Interrupts | None | +| System Timer | None | +| Serial Default | 38400 Baud | +| Memory Manager | MBC | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- PKD: IO=96 +- DSRTC: MODE=STD, IO=112 +- UART: MODE=SBC, IO=104 +- UART: MODE=DUAL, IO=128 +- UART: MODE=DUAL, IO=136 +- SIO MODE=ZP, IO=176, CHANNEL A +- SIO MODE=ZP, IO=176, CHANNEL B +- PIO: IO=184, CHANNEL A +- PIO: IO=184, CHANNEL B +- PIO: IO=188, CHANNEL A +- PIO: IO=188, CHANNEL B +- LPT: MODE=SPP, IO=232 +- CVDU: MODE=MBC, IO=224, KBD MODE=PS/2, KBD IO=226 +- TMS: MODE=MBC, IO=152 +- KBD: ENABLED +- ESP: IO=156 +- ESPCON: ENABLED +- ESPSER: DEVICE=0 +- ESPSER: DEVICE=1 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=MBC, IO=48, DRIVE 0, TYPE=3.5" HD +- FD: MODE=MBC, IO=48, DRIVE 1, TYPE=3.5" HD +- PPIDE: IO=96, MASTER +- PPIDE: IO=96, SLAVE +- SPK: IO=112 +- CTC: IO=176 + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Rhyophyre Z180 SBC + +#### ROM Image File: RPH_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | None | +| System Timer | None | +| Serial Default | 38400 Baud | +| Memory Manager | RPH | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- DSRTC: MODE=STD, IO=132 +- ASCI: IO=64 +- ASCI: IO=65 +- GDC: MODE=RPH, DISPLAY=EGA, IO=144 +- KBD: ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- PPIDE: IO=136, MASTER +- PPIDE: IO=136, SLAVE + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Z80 ZRC CPU Module + +#### ROM Image File: RCZ80_zrc_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 14.745 MHz | +| Interrupts | Mode 1 | +| System Timer | None | +| Serial Default | 115200 Baud | +| Memory Manager | ZRC | +| ROM Size | 512 KB | +| RAM Size | 1536 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- ACIA: IO=128, INTERRUPTS ENABLED +- VRC: IO=0, KBD MODE=VRC, KBD IO=244 +- KBD: ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136 + +#### Notes: + +- ZRC is actually contains no ROM and 2MB of RAM. The first 512KB + of RAM is loaded from disk and then handled like ROM. +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +#### ROM Image File: RCZ80_zrc_ram_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 14.745 MHz | +| Interrupts | Mode 1 | +| System Timer | None | +| Serial Default | 115200 Baud | +| Memory Manager | ZRC | +| ROM Size | 0 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- ACIA: IO=128, INTERRUPTS ENABLED +- VRC: IO=0, KBD MODE=VRC, KBD IO=244 +- KBD: ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136 + +#### Notes: + +- ROMless boot -- HBIOS is loaded from disk at boot +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Z80 ZRC512 CPU Module + +#### ROM Image File: RCZ80_zrc512_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 22.000 MHz | +| Interrupts | Mode 1 | +| System Timer | None | +| Serial Default | 115200 Baud | +| Memory Manager | ZRC | +| ROM Size | 0 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- ACIA: IO=128, INTERRUPTS ENABLED +- VRC: IO=0, KBD MODE=VRC, KBD IO=244 +- KBD: ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136 + +#### Notes: + +- ROMless boot -- HBIOS is loaded from disk at boot +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Z80 EaZy80-512 CPU Module + +#### ROM Image File: RCZ80_ez512_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 22.000 MHz | +| Interrupts | Mode 2 | +| System Timer | CTC | +| Serial Default | 115200 Baud | +| Memory Manager | EZ512 | +| ROM Size | 0 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- LCD: IO=218, SIZE=20X4 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=STD, IO=8, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=STD, IO=8, CHANNEL B, INTERRUPTS ENABLED +- ACIA: IO=128 +- VRC: IO=0, KBD MODE=VRC, KBD IO=244 +- KBD: ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- SD: MODE=EZ512, IO=2, UNITS=1 +- KIO: IO=0 +- CTC: IO=4, TIMER MODE=TIMER/16, DIVISOR=4608, HI=256, LO=18, INTERRUPTS ENABLED + +#### Notes: + +- HBIOS is loaded from disk at boot by ROM monitor +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +#### ROM Image File: RCZ80_k8w_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 22.000 MHz | +| Interrupts | Mode 2 | +| System Timer | CTC | +| Serial Default | 115200 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- LCD: IO=218, SIZE=20X4 +- DSRTC: MODE=K80W, IO=192 +- UART: IO=128 +- UART: IO=136 +- UART: IO=160 +- UART: IO=168 +- SIO MODE=STD, IO=136, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=STD, IO=136, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- SD: MODE=EZ512, IO=130, UNITS=1 +- KIO: IO=128 +- CTC: IO=132, TIMER MODE=TIMER/16, DIVISOR=9216, HI=256, LO=36, INTERRUPTS ENABLED + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Z180 Z1RCC CPU Module + +#### ROM Image File: RCZ180_z1rcc_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 115200 Baud | +| Memory Manager | Z180 | +| ROM Size | 0 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=12 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE + +#### Notes: + +- ROMless boot -- HBIOS is loaded from disk at boot +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Z280 ZZRCC CPU Module + +#### ROM Image File: RCZ280_zzrcc_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 14.745 MHz | +| Interrupts | Mode 3 | +| System Timer | Z280 | +| Serial Default | 115200 Baud | +| Memory Manager | Z280 | +| ROM Size | 256 KB | +| RAM Size | 256 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- Z2U: IO=16, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- VRC: IO=0, KBD MODE=VRC, KBD IO=244 +- KBD: ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE + +#### Notes: + +- ZZRCC actually contains no ROM and 512KB of RAM. The first 256KB + of RAM is loaded from disk and then handled like ROM. +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +#### ROM Image File: RCZ280_zzrcc_ram_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 14.745 MHz | +| Interrupts | Mode 3 | +| System Timer | Z280 | +| Serial Default | 115200 Baud | +| Memory Manager | Z280 | +| ROM Size | 0 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- Z2U: IO=16, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- VRC: IO=0, KBD MODE=VRC, KBD IO=244 +- KBD: ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE + +#### Notes: + +- ROMless boot -- HBIOS is loaded from disk at boot +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Z280 ZZ80MB SBC + +#### ROM Image File: RCZ280_zz80mb_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 12.000 MHz | +| Interrupts | Mode 3 | +| System Timer | Z280 | +| Serial Default | 115200 Baud | +| Memory Manager | Z280 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- Z2U: IO=16, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- VRC: IO=0, KBD MODE=VRC, KBD IO=244 +- KBD: ENABLED +- CH: IO=62 +- CH: IO=60 +- CHUSB: IO=62 +- CHUSB: IO=60 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Z80-Retro SBC + +#### ROM Image File: Z80RETRO_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 14.745 MHz | +| Interrupts | Mode 2 | +| System Timer | None | +| Serial Default | 38400 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- SIO MODE=Z80R, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=Z80R, IO=128, CHANNEL B, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- SD: MODE=, IO=104, UNITS=1 +- CTC: IO=64 + +#### Notes: + +`\clearpage`{=latex} + +## S100 Computers Z180 + +#### ROM Image File: S100_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 57600 Baud | +| Memory Manager | Z180 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- SCON: IO=0 +- MD: TYPE=RAM +- MD: TYPE=ROM +- SD: MODE=SC, IO=12, UNITS=1 + +#### Notes: + +- Z180 SBC SW2 (IOBYTE) Dip Switches: + +| Bit | Setting | Function | +|-----|---------|-------------------------------------| +| 0 | Off | Use Z180 ASCI Channel A for console | +| | On | Use Propeller Console | +| | | | +| 1 | Off | Boot to RomWBW Boot Loader | +| | On | Boot to S100 Monitor | + +`\clearpage`{=latex} + +## Duodyne Z80 System + +#### ROM Image File: DUO_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 8.000 MHz | +| Interrupts | Mode 2 | +| System Timer | CTC | +| Serial Default | 38400 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- DSRTC: MODE=STD, IO=148 +- PCF: IO=86 +- UART: MODE=SBC, IO=88 +- UART: MODE=AUX, IO=168 +- UART: MODE=DUAL, IO=112 +- UART: MODE=DUAL, IO=120 +- SIO MODE=ZP, IO=96, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=ZP, IO=96, CHANNEL B, INTERRUPTS ENABLED +- PIO: IO=104, CHANNEL A +- PIO: IO=104, CHANNEL B +- PIO: IO=108, CHANNEL A +- PIO: IO=108, CHANNEL B +- LPT: MODE=SPP, IO=72 +- TMS: MODE=MBC, IO=160 +- DMA: MODE=DUO, IO=64 +- CH: IO=78 +- CHUSB: IO=78 +- CHSD: IO=78 +- ESP: IO=156 +- ESPCON: ENABLED +- ESPSER: DEVICE=0 +- ESPSER: DEVICE=1 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=DUO, IO=128, DRIVE 0, TYPE=3.5" HD +- FD: MODE=DUO, IO=128, DRIVE 1, TYPE=3.5" HD +- PPIDE: IO=136, MASTER +- PPIDE: IO=136, SLAVE +- SD: MODE=, IO=140, UNITS=1 +- SPK: IO=148 +- CTC: IO=96, TIMER MODE=COUNTER, DIVISOR=18432, HI=256, LO=72, INTERRUPTS ENABLED +- AY38910: MODE=DUO, IO=164, CLOCK=1789772 HZ + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## Heath H8 Z80 System + +#### ROM Image File: HEATH_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 7.372 MHz | +| Interrupts | Mode 1 | +| System Timer | None | +| Serial Default | 115200 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=0, SWIO=0 +- DSRTC: MODE=STD, IO=192 +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED +- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED +- ACIA: IO=128, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD +- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD +- IDE: MODE=RC, IO=16, MASTER +- IDE: MODE=RC, IO=16, SLAVE +- PPIDE: IO=32, MASTER +- PPIDE: IO=32, SLAVE +- CTC: IO=136 + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + +`\clearpage`{=latex} + +## EP Mini-ITX Z180 + +#### ROM Image File: EPITX_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 115200 Baud | +| Memory Manager | Z180 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- UART: MODE=RC, IO=160 +- UART: MODE=RC, IO=168 +- TMS: MODE=MSX, IO=152 +- MD: TYPE=RAM +- MD: TYPE=ROM +- FD: MODE=EPFDC, IO=72, DRIVE 0, TYPE=3.5" HD +- FD: MODE=EPFDC, IO=72, DRIVE 1, TYPE=3.5" HD +- SD: MODE=, IO=66, UNITS=1 + +#### Notes: + +`\clearpage`{=latex} + +## NABU w/ RomWBW Option Board + +#### ROM Image File: NABU_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 3.580 MHz | +| Interrupts | Mode 1 | +| System Timer | None | +| Serial Default | 115200 Baud | +| Memory Manager | Z2 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- UART: MODE=NABU, IO=72 +- TMS: MODE=NABU, IO=160 +- MD: TYPE=RAM +- MD: TYPE=ROM +- PPIDE: IO=96, MASTER +- PPIDE: IO=96, SLAVE +- AY38910: MODE=NABU, IO=65, CLOCK=1789772 HZ + +#### Notes: + +- TMS video assumes F18A replacement for TMS9918 + +`\clearpage`{=latex} + +## S100 FPGA Z80 + +#### ROM Image File: FZ80_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 8.000 MHz | +| Interrupts | None | +| System Timer | None | +| Serial Default | 9600 Baud | +| Memory Manager | Z2 | +| ROM Size | 0 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- FP: LEDIO=255 +- SSER: IO=52 +- SCON: IO=0 +- MD: TYPE=RAM +- PPIDE: IO=48, MASTER +- PPIDE: IO=48, SLAVE +- FP: LEDIO=255 +- DS5RTC: RTCIO=104, IO=104 +- SSER: IO=52 +- SCON: IO=0 +- MD: TYPE=RAM +- PPIDE: IO=48, MASTER +- PPIDE: IO=48, SLAVE +- SD: MODE=FZ80, IO=108, UNITS=2 + +#### Notes: + +- Requires matching FPGA code + +## Genesis STD Z180 + +#### ROM Image File: GMZ180_std.rom + +| | | +|-------------------|---------------| +| Default CPU Speed | 18.432 MHz | +| Interrupts | Mode 2 | +| System Timer | Z180 | +| Serial Default | 115200 Baud | +| Memory Manager | Z180 | +| ROM Size | 512 KB | +| RAM Size | 512 KB | + +#### Supported Hardware + +- DSRTC: MODE=STD, IO=132 +- INTRTC: ENABLED +- ASCI: IO=192, INTERRUPTS ENABLED +- ASCI: IO=193, INTERRUPTS ENABLED +- MD: TYPE=RAM +- MD: TYPE=ROM +- IDE: MODE=GIDE, IO=32, MASTER +- IDE: MODE=GIDE, IO=32, SLAVE +- SD: MODE=GM, IO=132, UNITS=1 + +#### Notes: + +- CPU speed will be dynamically measured at startup if DSRTC is present + + +# Device Drivers + +This section briefly describes each of the possible devices that +may be discovered by RomWBW in your system. + +## Serial + +| **ID** | **Type** | **Description** | +|-----------|----------|--------------------------------------------------------| +| ACIA | Char | MC68B50 Asynchronous Communications Interface Adapter | +| ASCI | Char | Zilog Z180 CPU Built-in Serial Ports | +| DUART | Char | SCC2681 or compatible Dual UART | +| EF | Char | EF9345 Video Display Controller | +| KBD | Keyboard | 8242 PS/2 Keyboard Controller | +| LPT | Char | Parallel I/O Controller | +| MSXKYB | Keyboard | MSX Compliant Matrix Keyboard | +| PIO | Char | Zilog Parallel Interface Controller | +| PPK | Keyboard | Matrix Keyboard | +| PPPCON | Serial | ParPortProp Serial Console Interface | +| PRPCON | Serial | PropIO Serial Console Interface | +| SCON | Char | S100 Console | +| SIO | Char | Zilog Serial Port Interface | +| SSER | Char | Simple Serial Interface | +| UART | Char | 16C550 Family Serial Interface | +| USB-FIFO | Char | FT232H-based ECB USB FIFO | +| Z2U | Char | Zilog Z280 CPU Built-in Serial Ports | + +By default, RomWBW will use the first available character device it +discovers for the initial console. Serial devices are scanned in +the following order: + +#. 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 +#. ACIA: MC68B50 Asynchronous Communications Interface Adapter + +## Disk + +| **ID** | **Type** | **Description** | +|-----------|----------|--------------------------------------------------------| +| CHSD | Disk | CH37x SD Card Interface | +| CHUSB | Disk | CH37x USB Drive Interface | +| EMM | Disk | Disk drive on Parallel Port emm interface (Zip Drive) | +| FD | Disk | 8272 or compatible Floppy Disk Controller | +| HDSK | Disk | SIMH Simulator Hard Disk | +| IDE | Disk | IDE/ATA/ATAPI Hard Disk Interface | +| IMM | Disk | IMM Zip Drive on PPI | +| MD | Disk | ROM/RAM Disk | +| PPA | Disk | PPA Zip Drive on PPI | +| PPIDE | Disk | 8255 IDE/ATA/ATAPI Hard Disk Interface | +| PPPSD | Disk | ParPortProp SD Card Interface | +| PRPSD | Disk | PropIO SD Card Interface | +| RF | Disk | RAM Floppy Disk Interface | +| SD | Disk | SD Card Interface | +| SYQ | Disk | Iomega SparQ Drive on PPI | + +## Video + +| **ID** | **Type** | **Description** | +|-----------|----------|--------------------------------------------------------| +| CVDU | Video | MC8563-based Video Display Controller | +| FV | Video | S100 FPGA Z80 Onboard VGA/Keyboard | +| GDC | Video | uPD7220 Video Display Controller | +| TMS | Video | TMS9918/38/58 Video Display Controller | +| VDU | Video | MC6845 Family Video Display Controller | +| VGA | Video | HD6445CP4-based Video Display Controller | +| VRC | Video | VGARC Video Display Controller | + +## Audio + +| **ID** | **Type** | **Description** | +|-----------|----------|--------------------------------------------------------| +| AY | Audio | AY-3-8910/YM2149 Programmable Sound Generator | +| SN76489 | Sound | SN76489 Programmable Sound Generator | +| SPK | Sound | Bit-bang Speaker | +| YM | Audio | YM2612 Programmable Sound Generator | + +## RTC (RealTime Clock) + +| **ID** | **Type** | **Description** | +|-----------|----------|--------------------------------------------------------| +| BQRTC | RTC | BQ4845P Real Time Clock | +| DS5RTC | RTC | Maxim DS1305 SPI Real-Time Clock w/ NVRAM | +| DS7RTC | RTC | Maxim DS1307 PCF I2C Real-Time Clock w/ NVRAM | +| DS1501RTC | RTC | Maxim DS1501/DS1511 Watchdog Real-Time Clock | +| DSRTC | RTC | Maxim DS1302 Real-Time Clock w/ NVRAM | +| INTRTC | RTC | Interrupt-based Real Time Clock | +| PCF | RTC | PCF8584-based I2C Real-Time Clock | +| RP5C01 | RTC | Ricoh RPC01A Real-Time Clock w/ NVRAM | +| SIMRTC | RTC | SIMH Simulator Real-Time Clock | + +## DSKY (DiSplay KeYboard) + +| **ID** | **Type** | **Description** | +|-----------|----------|--------------------------------------------------------| +| ICM | DsKy | ICM7218-based Display/Keypad on PPI | +| PKD | DsKy | P8279-based Display/Keypad on PPI | + +## System + +| **ID** | **Type** | **Description** | +|-----------|----------|--------------------------------------------------------| +| CH | System | CH375/376 USB Controller | +| CTC | System | Zilog Clock/Timer | +| DMA | System | Zilog DMA Controller | +| FP | System | Simple LED & Switch Front Panel | +| KIO | System | Zilog Serial/ Parallel Counter/Timer | +| LCD | System | Hitachi HD44780-based LCD Display | +| PPP | System | ParPortProp Host Interface Controller | +| PRP | System | PropIO Host Interface Controller | + +# UNA Hardware BIOS + +John Coffman has produced a new generation of hardware BIOS called +UNA. The standard RomWBW distribution includes its own hardware +BIOS. However, RomWBW can alternatively be constructed with UNA as +the hardware BIOS portion of the ROM. If you wish to use the UNA +variant of RomWBW, then just program your ROM with the ROM image +called "UNA_std.rom" in the Binary directory. This one image is +suitable on **all** of the platforms and hardware UNA supports. + +UNA is customized dynamically using a ROM based setup routine and the +setup is persisted in the system NVRAM of the RTC chip. This means +that the single UNA-based ROM image can be used on most of the +RetroBrew platforms and is easily customized. UNA also supports FAT +file system access that can be used for in-situ ROM programming and +loading system images. + +While John is likely to enhance UNA over time, there are currently a +few things that UNA does not support: + +* Floppy Drives +* Terminal Emulation +* Zeta 1, N8, RCBus, Easy Z80, and Dyno Systems +* Some older support boards + +The UNA version embedded in RomWBW is the latest production release +of UNA. RomWBW will be updated with John's upcoming UNA release with +support for VGA3 as soon as it reaches production status. + +Please refer to the +[UNA BIOS Firmware Page](https://www.retrobrewcomputers.org/doku.php?id=software:firmwareos:una:start) +for more information on UNA. + +## UNA Usage Notes + +- At startup, UNA will display a prompt similar to this: + + `Boot UNA unit number or ROM? [R,X,0..3] (R):` + + You generally want to choose 'R' which will then launch the RomWBW + loader. Attempting to boot from a disk using a number at the UNA + prompt will only work for the legacy (hd512) disk format. However, + if you go to the RomWBW loader, you will be able to perform a disk + boot on either disk format. + +- The disk images created and distributed with RomWBW do not have the + correct system track code for UNA. In order to boot to disk under + UNA, you must first use `SYSCOPY` to update the system track of the + target disk. The UNA ROM disk has the correct system track files + for UNA: `CPM.SYS` and `ZSYS.SYS`. So, you can boot a ROM OS and + then use one of these files to update the system track. + +- Only Z-System and CP/M 2 are available OSes under UNA at this time. + Since NZ-COM launches from CP/M 2, it is usable. p-System is not + usable under UNA. + +- Some of the RomWBW-specific applications are not UNA compatible. + + + +# Errata + +The following errata apply to $doc_product$ $doc_ver$: + +* The use of high density floppy disks requires a CPU speed of 8 MHz or + greater. + +* The PropIO support is based on RomWBW specific firmware. Be sure to + program/update your PropIO firmware with the corresponding firmware + image provided in the Binary directory of the RomWBW distribution. + +* Reading bytes from the video memory of the VDU board (not Color + VDU) appears to be problematic. This is only an issue when the driver + needs to scroll a portion of the screen which is done by applications + such as WordStar or ZDE. You are likely to see screen corruption in + this case. + +* The RomWBW `TUNE` application will detect an AY-3-8910/YM2149 + Sound Module regardless of whether support for it is included in + the RomWBW HBIOS configuration. diff --git a/Source/Doc/Introduction.md b/Source/Doc/Introduction.md new file mode 100644 index 00000000..39d06f2f --- /dev/null +++ b/Source/Doc/Introduction.md @@ -0,0 +1,420 @@ +$define{doc_title}{Introduction}$ +$include{"Book.h"}$ + +# Overview + +RomWBW software provides a complete, commercial quality +implementation of CP/M (and workalike) operating systems and +applications for modern Z80/180/280 retro-computing hardware systems. + +A wide variety of platforms are supported including those +produced by these developer communities: + +* [RetroBrew Computers](https://www.retrobrewcomputers.org) + () +* [RC2014](https://rc2014.co.uk) (), \ + [RC2014-Z80](https://groups.google.com/g/rc2014-z80) + () +* [Retro Computing](https://groups.google.com/g/retro-comp) + () +* [Small Computer Central](https://smallcomputercentral.com/) + () + +A complete list of the currently supported platforms is found in +$doc_hardware$ . + +`\clearpage`{=latex} + +## Conventions Used + +#### Size Suffixes + +Within the documentation and in RomWBW in general, the use of size +suffixes KB, MB, GB, and TB refer to the binary variant as shown +below. The modern suffixes (KiB, MiB, etc.) are not used here because +they were not prevalent during the time that the RomWBW OSes were +used. This keeps all of RomWBW and associated applications consistent. + +| Suffix | Value | Meaning | +|------------|-----------|----------------------------------------| +| KB | 1024 | 1,024 bytes | +| MB | 1024^2^ | 1,048,576 bytes | +| GB | 1024^3^ | 1,073,741,824 bytes | +| TB | 1024^4^ | 1,099,511,627,776 bytes | + +#### Links and URLs + +Many of the references in the documentation to Internet addresses (URLs) +do not provide the address in the text. However, these links are +embedded and "clickable" within the documents. Your PDF viewer should +highlight these links in some manner (typically an alternate color +or an underline). + +# Description + +## Primary Features + +By design, RomWBW isolates all of the hardware specific functions in +the ROM chip itself. The ROM provides a hardware abstraction layer +such that all of the operating systems and applications on a disk +will run on any RomWBW-based system. To put it simply, you can take +a disk (or CF/SD/USB Card) and move it between systems transparently. + +Supported hardware features of RomWBW include: + +* Z80 Family CPUs including Z80, Z180, and Z280 +* Banked memory services for several banking designs +* Disk drivers for RAM, ROM, Floppy, IDE ATA/ATAPI, CF, SD, USB, Zip, Iomega +* Serial drivers including UART (16550-like), ASCI, ACIA, SIO +* Video drivers including TMS9918, SY6545, MOS8563, HD6445 +* Keyboard (PS/2) drivers via VT8242 or PPI interfaces +* Real time clock drivers including DS1302, BQ4845 +* Built-in VT-100 terminal emulation support + +A dynamic disk drive letter assignment mechanism allows mapping +operating system drive letters to any available disk media. +Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.) +support the use of multiple slices (up to 256 per device). Each slice +contains a complete CP/M filesystem and can be mapped independently to +any drive letter. This overcomes the inherent size limitations in legacy +OSes and allows up to 2GB of accessible storage on a single device, +with up to 128MB accessible at any one time. + +## Included Software + +Multiple disk images are provided in the distribution. Most disk +images contain a complete, bootable, ready-to-run implementation of a +specific operating system. A "combo" disk image contains multiple +slices, each with a full operating system implementation. If you use +this disk image, you can easily pick whichever operating system you +want to boot without changing media. + +Some of the included software + +* Operating Systems (CP/M 2.2, ZSDOS, NZ-COM, CP/M 3, ZPM3, Z3PLUS, QPM ) +* Additional operating systems, p-System, FreeRTOS, and FUZIX. +* Programming Tools (Z80ASM, Turbo Pascal, Forth, Cowgol) +* C Compilers including Aztec, and HI-TECK +* Microsoft Basic Compiler, and Microsoft Fortran +* Some games such as Colossal Cave, Zork, etc +* Wordstar + +Some of the provided software can be launched directly from the +ROM firmware itself: + +* System Monitor +* Operating Systems (CP/M 2.2, ZSDOS) +* ROM BASIC (Nascom BASIC and Tasty BASIC) +* ROM Forth + +A tool is provided that allows you to access a FAT-12/16/32 filesystem. +The FAT filesystem may be coresident on the same disk media as RomWBW +slices or on stand-alone media. This makes exchanging files with modern +OSes such as Windows, MacOS, and Linux very easy. + +`\clearpage`{=latex} + +## ROM Distribution + +The [RomWBW Repository](https://github.com/wwarthen/RomWBW) +() on GitHub is the official +distribution location for all project source and documentation. + +RomWBW is distributed as both source code and pre-built ROM and disk +images. + +The pre-built ROM images distributed with RomWBW are based on +the default system configurations as determined by the hardware +provider/designer. The pre-built ROM firmware images are generally +suitable for most users. + +The fully-built distribution releases are available on the +[RomWBW Releases Page](https://github.com/wwarthen/RomWBW/releases) +() of the repository. + +On this page, you will normally see a Development Snapshot as well as +recent stable releases. Unless you have a specific reason, I suggest you +stick to the most recent stable release. + +The asset named RomWBW-vX.X.X-Package.zip includes all pre-built ROM +and Disk images as well as full source code. The other assets contain +only source code and do not have the pre-built ROM or disk images. + +#### Distribution Directory Layout + +The RomWBW distribution is a compressed zip archive file organized in +a set of directories. Each of these directories has its own +ReadMe.txt file describing the contents in detail. In summary, these +directories are: + +| **Directory** | **Description** | +|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Binary** | The final output files of the build process are placed here. Most importantly, the ROM images with the file names ending in ".rom" and disk images ending in .img. | +| **Doc** | Contains various detailed documentation, both RomWBW specifically as well as the operating systems and applications. | +| **Source** | Contains the source code files used to build the software and ROM images. | +| **Tools** | Contains the programs that are used by the build process or that may be useful in setting up your system. | + +`\clearpage`{=latex} + +#### Building from Source + +It is also very easy to modify and build custom ROM +images that fully tailor the firmware to your specific preferences. +All tools required to build custom ROM firmware under Windows are +included -- no need to install assemblers, etc. The firmware can also +be built using Linux or MacOS after confirming a few standard tools +have been installed. + +## Documentation + +There are several documents that form the core of the RomWBW documentation: + +* $doc_user$ is the main user guide for RomWBW, it covers the major topics + of how to install, manage and use RomWBW, and includes additional guidance + to the use of some of the operating systems supported by RomWBW + +* $doc_hardware$ contains a description of all the hardware platforms, + and devices supported by RomWBW. + +* $doc_apps$ is a reference for the ROM-hosted and OS-hosted applications + created or customized to enhance the operation of RomWBW. + +* $doc_catalog$ is a reference for the contents of the disk images + provided with RomWBW, with a description of many of the files on each image + +* $doc_sys$ discusses much of the internal design and construction + of RomWBW. It includes a reference for the RomWBW HBIOS API + functions. + +Each of the operating systems and ROM applications included with RomWBW +are sophisticated tools in their own right. It is not reasonable to +fully document their usage. However, you will find complete manuals +in PDF format in the Doc directory of the distribution. The intention +of this documentation is to describe the operation of RomWBW and the ways in +which it enhances the operation of the included applications and +operating systems. + +Since RomWBW is purely a software product for many different platforms, +the documentation does **not** cover hardware construction, +configuration, or troubleshooting -- please see your hardware provider +for this information. + +# Support + +## Getting Assistance + +The best way to get assistance with RomWBW or any aspect of the +RetroBrew Computers projects is via one of the community forums: + +* [RetroBrew Computers Forum](https://www.retrobrewcomputers.org/forum/) +* [RC2014 Google Group](https://groups.google.com/forum/#!forum/rc2014-z80) +* [retro-comp Google Group](https://groups.google.com/forum/#!forum/retro-comp) + +Submission of issues and bugs are welcome at the +[RomWBW GitHub Repository](https://github.com/wwarthen/RomWBW). + +Also feel free to email $doc_author$ at [$doc_authmail$](mailto:$doc_authmail$). +I am happy to provide support adapting RomWBW to new or modified systems + +# Contributions + +All source code and distributions are maintained on GitHub. +Contributions of all kinds to RomWBW are very welcome. + +## Acknowledgments + +I want to acknowledge that a great deal of the code and inspiration +for RomWBW has been provided by or derived from the work of others +in the RetroBrew Computers Community. I sincerely appreciate all of +their contributions. The list below is probably missing many names -- +please let me know if I missed you! + +* Andrew Lynch started it all when he created the N8VEM Z80 SBC + which became the first platform RomWBW supported. Some of his + original code can still be found in RomWBW. + +* Dan Werner wrote much of the code from which RomWBW was originally + derived and he has always been a great source of knowledge and + advice. + +* Douglas Goodall contributed code, time, testing, and advice in "the + early days". He created an entire suite of application programs to + enhance the use of RomWBW. Unfortunately, they have become unusable + due to internal changes within RomWBW. As of RomWBW 2.6, these + applications are no longer provided. + +* Sergey Kiselev created several hardware platforms for RomWBW + including the very popular Zeta. + +* David Giles created support for the Z180 CSIO which is now included + SD Card driver. + +* Phil Summers contributed the Forth and BASIC adaptations in ROM, the + AY-3-8910 sound driver, DMA support, and a long list of general code + and documentation enhancements. + +* Ed Brindley contributed some of the code that supports the RCBus + platform. + +* Spencer Owen created the RC2014 series of hobbyist kit computers + which has exponentially increased RomWBW usage. Some of his kits + include RomWBW. + +* Stephen Cousins has likewise created a series of hobbyist kit + computers at Small Computer Central and is distributing RomWBW + with many of them. + +* Alan Cox has contributed some driver code and has provided a great + deal of advice. + +* The CP/NET client files were developed by Douglas Miller. + +* Phillip Stevens contributed support for FreeRTOS. + +* Curt Mayer contributed the original Linux / MacOS build process. + +* UNA BIOS and FDISK80 are the products of John Coffman. + +* FLASH4 is a product of Will Sowerbutts. + +* CLRDIR is a product of Max Scane. + +* Tasty Basic is a product of Dimitri Theulings. + +* Dean Netherton contributed eZ80 CPU support, the sound driver + interface, and the SN76489 sound driver. + +* The RomWBW Disk Catalog document was produced by Mykl Orders. + +* Rob Prouse has created many of the supplemental disk images + including Aztec C, HiTech C, SLR Z80ASM, Turbo Pascal, Microsoft + BASIC Compiler, Microsoft Fortran Compiler, and a Games + compendium. + +* Martin R has provided substantial help reviewing and improving the + User Guide and Applications documents. + +* Mark Pruden has contributed a great deal of content to the + Disk Catalog, User Guide, as well as creating the Introduction + and Hardware documents, and contributed the disk image + for the Z3PLUS operating system, the COPYSL utility, and also + implemented a feature for RomWBW configuration by NVRAM, + and added the /B bulk mode of disk assignment to the ASSIGN utility. + +* Jacques Pelletier has contributed the DS1501 RTC driver code. + +* Jose Collado has contributed enhancements to the TMS driver + including compatibility with standard TMS register configuration. + +* Kevin Boone has contributed a generic HBIOS date/time utility (WDATE). + +* Matt Carroll has contributed a fix to XM.COM that corrects the + port specification when doing a send. + +* Dean Jenkins enhanced the build process to accommodate the + Raspberry Pi 4. + +* Tom Plano has contributed a new utility (HTALK) to allow talking + directly to HBIOS COM ports. + +* Lars Nelson has contributed several generic utilities such as + a universal (OS agnostic) UNARC application. + +* Dylan Hall added support for specifying a secondary console. + +* Bill Shen has contributed boot loaders for several of his + systems. + +* Laszlo Szolnoki has contributed an EF9345 video display + controller driver. + +* Ladislau Szilagyi has contributed an enhanced version of + CP/M Cowgol that leverages RomWBW memory banking. + +* Les Bird has contributed support for the NABU w/ Option Board + +`\clearpage`{=latex} + +## Related Projects + +Outside of the hardware platforms adapted to RomWBW, there are a variety +of projects that either target RomWBW specifically or provide +a RomWBW-specific variation. These efforts are greatly appreciated +and are listed below. Please contact the author if there are any other +such projects that are not listed. + +#### Z88DK + +Z88DK is a software powerful development kit for Z80 computers +supporting both C and assembly language. This kit now provides +specific library support for RomWBW HBIOS. The Z88DK project is +hosted at . + +#### Paleo Editor + +Steve Garcia has created a Windows-hosted IDE that is tailored to +development of RomWBW. The project can be found at +. + +#### Z80 fig-FORTH + +Dimitri Theulings' implementation of fig-FORTH for the Z80 has a +RomWBW-specific variant. This fig-FORTH is built into the RomWBW +ROM. However, the project itself is hosted at +. + +#### Assembly Language Programming for the RC2014 Zed + +Bruce Hall has written a very nice document that describes how to +develop assembly language applications on RomWBW. It begins with the +setup and configuration of a new RC2014 Zed system running RomWBW. +It describes not only generic CP/M application development, but also +RomWBW HBIOS programming and bare metal programming. The latest copy +of this document is hosted at +[http://w8bh.net/Assembly for RC2014Z.pdf](http://w8bh.net/Assembly%20for%20RC2014Z.pdf). + +# Licensing + +## License Terms + +RomWBW is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +RomWBW is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with RomWBW. If not, see . + +Portions of RomWBW were created by, contributed by, or derived from +the work of others. It is believed that these works are being used +in accordance with the intentions and/or licensing of their creators. + +If anyone feels their work is being used outside of its intended +licensing, please notify: + +> $doc_author$ \ +> [$doc_authmail$](mailto:$doc_authmail$) + +RomWBW is an aggregate work. It is composed of many individual, +standalone programs that are distributed as a whole to function as +a cohesive system. Each program may have its own licensing which +may be different from other programs within the aggregate. + +In some cases, a single program (e.g., CP/M Operating System) is +composed of multiple components with different licenses. It is +believed that in all such cases the licenses are compatible with +GPL version 3. + +RomWBW encourages code contributions from others. Contributors +may assert their own copyright in their contributions by +annotating the contributed source code appropriately. Contributors +are further encouraged to submit their contributions via the RomWBW +source code control system to ensure their contributions are clearly +documented. + +All contributions to RomWBW are subject to this license. diff --git a/Source/Doc/Makefile b/Source/Doc/Makefile index 04c8df4a..17931114 100644 --- a/Source/Doc/Makefile +++ b/Source/Doc/Makefile @@ -9,7 +9,7 @@ # On Ubuntu Linux: # apt install gpp pandoc texlive texlive-luatex texlive-fonts-extra # -OBJECTS = ReadMe.gfm ReadMe.txt UserGuide.pdf SystemGuide.pdf Applications.pdf Catalog.pdf Errata.pdf +OBJECTS = ReadMe.gfm ReadMe.txt Introduction.pdf UserGuide.pdf SystemGuide.pdf Applications.pdf Catalog.pdf Hardware.pdf # DEST = ../../Doc TOOLS = ../../Tools OTHERS = *.tmp @@ -39,8 +39,9 @@ all :: deploy deploy : cp ReadMe.gfm "../../ReadMe.md" cp ReadMe.txt "../../ReadMe.txt" + cp Introduction.pdf "../../Doc/RomWBW Introduction.pdf" cp UserGuide.pdf "../../Doc/RomWBW User Guide.pdf" cp SystemGuide.pdf "../../Doc/RomWBW System Guide.pdf" cp Applications.pdf "../../Doc/RomWBW Applications.pdf" cp Catalog.pdf "../../Doc/RomWBW Disk Catalog.pdf" - cp Errata.pdf "../../Doc/RomWBW Errata.pdf" + cp Hardware.pdf "../../Doc/RomWBW Hardware.pdf" diff --git a/Source/Doc/ReadMe.md b/Source/Doc/ReadMe.md index 78f4bbac..3687b5f8 100644 --- a/Source/Doc/ReadMe.md +++ b/Source/Doc/ReadMe.md @@ -113,10 +113,12 @@ for helpful release-specific information. Documentation for $doc_product$ includes: +* $doc_intro$ * $doc_user$ * $doc_sys$ * $doc_apps$ -* $doc_errata$ +* $doc_catalog$ +* $doc_hardware$ # Acknowledgments @@ -191,8 +193,9 @@ please let me know if I missed you! * Martin R has provided substantial help reviewing and improving the User Guide and Applications documents. -* Mark Pruden has also contributed a great deal of content to the - Disk Catalog, User Guide as well as contributing the disk image +* Mark Pruden has contributed a great deal of content to the + Disk Catalog, User Guide, as well as creating the Introduction + and Hardware documents, and contributed the disk image for the Z3PLUS operating system, the COPYSL utility, and also implemented a feature for RomWBW configuration by NVRAM, and added the /B bulk mode of disk assignment to the ASSIGN utility. diff --git a/Source/Doc/UserGuide.md b/Source/Doc/UserGuide.md index f0c7ea11..1fbb4f37 100644 --- a/Source/Doc/UserGuide.md +++ b/Source/Doc/UserGuide.md @@ -4,34 +4,7 @@ $include{"Book.h"}$ #### Preface This document is a general usage guide for the RomWBW software and is -generally the best place to start with RomWBW. There are several -companion documents you should refer to as appropriate: - -* $doc_sys$ discusses much of the internal design and construction - of RomWBW. It includes a reference for the RomWBW HBIOS API - functions. - -* $doc_apps$ is a reference for the ROM-hosted and OS-hosted applications - created or customized to enhance the operation of RomWBW. - -* $doc_catalog$ is a reference for the contents of the disk images - provided with RomWBW. It is somewhat out of date at this time. - -* $doc_errata$ is updated as needed to document issues or anomalies - discovered in the current software distribution. - -Since RomWBW is purely a software product for many different platforms, -the documentation does **not** cover hardware construction, -configuration, or troubleshooting -- please see your hardware provider -for this information. - -Each of the operating systems and ROM applications included with RomWBW -are sophisticated tools in their own right. It is not reasonable to -fully document their usage here. However, you will find complete manuals -in PDF format in the Doc directory of the distribution. The intention -of this document is to describe the operation of RomWBW and the ways in -which it enhances the operation of the included applications and -operating systems. +generally the best place to start with RomWBW. On a personal note, I found this document very difficult to write. Members of the retro-computing community have dramatically different @@ -40,144 +13,8 @@ find this document far too basic. Others will find it lacking in many areas. I am doing my best and encourage you to provide constructive feedback. -`\clearpage`{=latex} - -#### Conventions - -##### Size Suffixes - -Within this document and in RomWBW in general, the use of size -suffixes KB, MB, GB, and TB refer to the binary variant as shown -below. The modern suffixes (KiB, MiB, etc.) are not used here because -they were not prevalent during the time that the RomWBW OSes were -used. This keeps all of RomWBW and associated applications consistent. - -| Suffix | Value | Meaning | -|------------|-----------|----------------------------------------| -| KB | 1024 | 1,024 bytes | -| MB | 1024^2^ | 1,048,576 bytes | -| GB | 1024^3^ | 1,073,741,824 bytes | -| TB | 1024^4^ | 1,099,511,627,776 bytes | - -##### Links and URLs - -Many of the references in this document to Internet addresses (URLs) -do not provide the address in the text. However, these links are -embedded and "clickable" within the documents. Your PDF viewer should -highlight these links in some manner (typically an alternate color -or an underline). - -# Overview - -RomWBW software provides a complete, commercial quality -implementation of CP/M (and workalike) operating systems and -applications for modern Z80/180/280 retro-computing hardware systems. -A wide variety of platforms are supported including those -produced by these developer communities: - -* [RetroBrew Computers](https://www.retrobrewcomputers.org) - () -* [RC2014](https://rc2014.co.uk) (), \ - [RC2014-Z80](https://groups.google.com/g/rc2014-z80) - () -* [Retro Computing](https://groups.google.com/g/retro-comp) - () -* [Small Computer Central](https://smallcomputercentral.com/) - () - -A complete list of the currently supported platforms is found in the -[Installation] section. - -General features include: - -* Z80 Family CPUs including Z80, Z180, and Z280 -* Banked memory services for several banking designs -* Disk drivers for RAM, ROM, Floppy, IDE ATA/ATAPI, CF, SD, USB, Zip, Iomega -* Serial drivers including UART (16550-like), ASCI, ACIA, SIO -* Video drivers including TMS9918, SY6545, MOS8563, HD6445 -* Keyboard (PS/2) drivers via VT8242 or PPI interfaces -* Real time clock drivers including DS1302, BQ4845 -* OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and FreeRTOS -* Built-in VT-100 terminal emulation support - -RomWBW is distributed as both source code and pre-built ROM and disk -images. Some of the provided software can be launched directly from the -ROM firmware itself: - -* System Monitor -* Operating Systems (CP/M 2.2, ZSDOS) -* ROM BASIC (Nascom BASIC and Tasty BASIC) -* ROM Forth - -A dynamic disk drive letter assignment mechanism allows mapping -operating system drive letters to any available disk media. -Additionally, mass storage devices (IDE Disk, CF Card, SD Card, etc.) -support the use of multiple slices (up to 256 per device). Each slice -contains a complete CP/M filesystem and can be mapped independently to -any drive letter. This overcomes the inherent size limitations in legacy -OSes and allows up to 2GB of accessible storage on a single device. - -The pre-built ROM firmware images are generally suitable for most -users. However, it is also very easy to modify and build custom ROM -images that fully tailor the firmware to your specific preferences. -All tools required to build custom ROM firmware under Windows are -included -- no need to install assemblers, etc. The firmware can also -be built using Linux or MacOS after confirming a few standard tools -have been installed. - -Multiple disk images are provided in the distribution. Most disk -images contain a complete, bootable, ready-to-run implementation of a -specific operating system. A "combo" disk image contains multiple -slices, each with a full operating system implementation. If you use -this disk image, you can easily pick whichever operating system you -want to boot without changing media. - -By design, RomWBW isolates all of the hardware specific functions in -the ROM chip itself. The ROM provides a hardware abstraction layer -such that all of the operating systems and applications on a disk -will run on any RomWBW-based system. To put it simply, you can take -a disk (or CF/SD/USB Card) and move it between systems transparently. - -A tool is provided that allows you to access a FAT-12/16/32 filesystem. -The FAT filesystem may be coresident on the same disk media as RomWBW -slices or on stand-alone media. This makes exchanging files with modern -OSes such as Windows, MacOS, and Linux very easy. - # Getting Started -## Acquiring RomWBW - -The [RomWBW Repository](https://github.com/wwarthen/RomWBW) -() on GitHub is the official -distribution location for all project source and documentation. The -fully-built distribution releases are available on the -[RomWBW Releases Page](https://github.com/wwarthen/RomWBW/releases) -() of the repository. On -this page, you will normally see a Development Snapshot as well as -recent stable releases. Unless you have a specific reason, I suggest you - stick to the most recent stable release. Expand the "Assets" drop-down -for the release you want to download, then select the asset named -RomWBW-vX.X.X-Package.zip. The Package asset includes all pre-built ROM -and Disk images as well as full source code. The other assets contain -only source code and do not have the pre-built ROM or disk images. - -All source code and distributions are maintained on GitHub. Code -contributions are very welcome. - -#### Distribution Directory Layout - -The RomWBW distribution is a compressed zip archive file organized in -a set of directories. Each of these directories has its own -ReadMe.txt file describing the contents in detail. In summary, these -directories are: - -| **Directory** | **Description** | -|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **Binary** | The final output files of the build process are placed here. Most importantly, the ROM images with the file names ending in ".rom" and disk images ending in .img. | -| **Doc** | Contains various detailed documentation, both RomWBW specifically as well as the operating systems and applications. | -| **Source** | Contains the source code files used to build the software and ROM images. | -| **Tools** | Contains the programs that are used by the build process or that may be useful in setting up your system. | - ## Installation In general, installation of RomWBW on your platform is very simple. You @@ -186,125 +23,33 @@ distribution. Subsequently, you can write disk images on your disk drives (IDE disk, CF Card, SD Card, etc.) which then provides even more functionality. -**NOTE:** The pre-built ROM images distributed with RomWBW are based on -the default system configurations as determined by the hardware -provider/designer. This document does not provide hardware -construction or configuration information. Please contact your hardware -provider/designer as needed. - -The pre-built ROM images will automatically detect and support typical -devices for their corresponding platform including serial ports, video -adapters, on-board disk interfaces, and PropIO/ParPortProp boards -without building a custom ROM. The distribution is a .zip archive. After -downloading it to a working directory on your modern computer -(Windows/Linux/Mac) use any zip tool to extract the contents of the -archive. - Depending on how you got your hardware, you may have already been provided with a pre-programmed ROM chip. If so, use that initially. Otherwise, you will need to use a ROM programmer to initially program your ROM chip. Please refer to the documentation that came with your ROM programmer for more information. -The Binary directory of the distribution contains the pre-built ROM and -disk images. Refer to [Supported Platforms] below to identify the -correct ROM image for your system. +The fully-built distribution releases are available on the +[RomWBW Releases Page](https://github.com/wwarthen/RomWBW/releases) +() of the repository. + +The distribution is a .zip archive. After +downloading it to a working directory on your modern computer +(Windows/Linux/Mac) use any zip tool to extract the contents of the +archive. + +The Binary directory of the distribution contains the pre-built ROM images. +Refer to $doc_hardware$ to identify the correct ROM image for your system. + +A complete list of the currently supported platforms is found in +$doc_hardware$ . You must burn the correct ROM image that matches your hardware Once you have a running RomWBW system, you can generally update your ROM to a newer version in-situ with the included ROM Flashing tool (Will Sowerbutts' FLASH application) as described in the [Upgrading] chapter of this document. -## Supported Platforms - -The table below summarizes the hardware platforms currently supported -by RomWBW along with the standard pre-built ROM image(s). RomWBW does -allow for the creation of ROM images with custom configurations. This -is discussed in [Customizing RomWBW]. - -| **Description** | **Bus** | **ROM Image File** | **Baud Rate** | -|-------------------------------------------------------------|---------|------------------------------|--------------:| -| [RetroBrew Z80 SBC]^1^ | ECB | SBC_std.rom | 38400 | -| [RetroBrew Z80 SimH]^1^ | - | SBC_simh.rom | 38400 | -| [RetroBrew N8 Z180 SBC]^1^ (date >= 2312) | ECB | N8_std.rom | 38400 | -| [Zeta Z80 SBC]^2^, ParPortProp | - | ZETA_std.rom | 38400 | -| [Zeta V2 Z80 SBC]^2^, ParPortProp | - | ZETA2_std.rom | 38400 | -| [Mark IV Z180 SBC]^3^ | ECB | MK4_std.rom | 38400 | -| [RCBus Z80 CPU Module]^4^, 512K RAM/ROM | RCBus | RCZ80_std.rom | 115200 | -| [RCBus Z80 CPU Module]^4^, 512K w/KIO | RCBus | RCZ80_kio_std.rom | 115200 | -| [RCBus Z180 CPU Module]^4^ w/ ext banking | RCBus | RCZ180_ext_std.rom | 115200 | -| [RCBus Z180 CPU Module]^4^ w/ native banking | RCBus | RCZ180_nat_std.rom | 115200 | -| [RCBus Z280 CPU Module]^4^ w/ ext banking | RCBus | RCZ280_ext_std.rom | 115200 | -| [RCBus Z280 CPU Module]^4^ w/ native banking | RCBus | RCZ280_nat_std.rom | 115200 | -| [RCBus eZ80 CPU Module]^13^, 512K RAM/ROM | RCBus | RCEZ80_std.rom | 115200 | -| [Easy Z80 SBC]^2^ | RCBus | RCZ80_easy_std.rom | 115200 | -| [Tiny Z80 SBC]^2^ | RCBus | RCZ80_tiny_std.rom | 115200 | -| [Z80-512K CPU/RAM/ROM Module]^2^ | RCBus | RCZ80_skz_std.rom | 115200 | -| [Small Computer SC126 Z180 SBC]^5^ | BP80 | SCZ180_sc126_std.rom | 115200 | -| [Small Computer SC130 Z180 SBC]^5^ | RCBus | SCZ180_sc130_std.rom | 115200 | -| [Small Computer SC131 Z180 Pocket Comp]^5^ | - | SCZ180_sc131_std.rom | 115200 | -| [Small Computer SC140 Z180 CPU Module]^5^ | Z50 | SCZ180_sc140_std.rom | 115200 | -| [Small Computer SC503 Z180 CPU Module]^5^ | Z50 | SCZ180_sc503_std.rom | 115200 | -| [Small Computer SC700 Z180 CPU Module]^5^ | RCBus | SCZ180_sc700_std.rom | 115200 | -| [Dyno Z180 SBC]^6^ | Dyno | DYNO_std.rom | 38400 | -| [Nhyodyne Z80 MBC]^1^ | MBC | MBC_std.rom | 38400 | -| [Rhyophyre Z180 SBC]^1^ | - | RPH_std.rom | 38400 | -| [Z80 ZRC CPU Module]^7^ | RCBus | RCZ80_zrc_std.rom | 115200 | -| [Z80 ZRC CPU Module]^7^ ROMless | RCBus | RCZ80_zrc_ram_std.rom | 115200 | -| [Z80 ZRC512 CPU Module]^7^ | RCBus | RCZ80_zrc512_std.rom | 115200 | -| [Z80 EaZy80-512 CPU Module]^7^ | RCBus | RCZ80_ez512_std.rom | 115200 | -| [Z80 K80W CPU Module]^7^ | RCBus | RCZ80_k8w_std.rom | 115200 | -| [Z180 Z1RCC CPU Module]^7^ | RCBus | RCZ180_z1rcc_std.rom | 115200 | -| [Z280 ZZRCC CPU Module]^7^ | RCBus | RCZ280_zzrcc_std.rom | 115200 | -| [Z280 ZZRCC CPU Module]^7^ ROMless | RCBus | RCZ280_zzrcc_ram_std.rom | 115200 | -| [Z280 ZZ80MB SBC]^7^ | RCBus | RCZ280_zz80mb_std.rom | 115200 | -| [Z80-Retro SBC]^8^ | - | Z80RETRO_std.rom | 38400 | -| [S100 Computers Z180]^9^ | S100 | S100_std.rom | 57600 | -| [Duodyne Z80 System]^1^ | Duo | DUO_std.rom | 38400 | -| [Heath H8 Z80 System]^10^ | H8 | HEATH_std.rom | 115200 | -| [EP Mini-ITX Z180]^11^ | RCBus? | EPITX_std.rom | 115200 | -| [NABU w/ RomWBW Option Board]^10^ | NABU | NABU_std.rom | 115200 | -| [S100 FPGA Z80]^9^ | S100 | FZ80_std.rom | 9600 | -| [Genesis STD Z180]^12^ | STD | GMZ180_std.rom | 115200 | - -| ^1^Designed by Andrew Lynch -| ^2^Designed by Sergey Kiselev -| ^3^Designed by John Coffman -| ^4^RCBus compliant (multiple products/designers) -| ^5^Designed by Stephen Cousins -| ^6^Designed by Steve Garcia -| ^7^Designed by Bill Shen -| ^8^Designed by Peter Wilson -| ^9^Designed by John Monahan -| ^10^Designed by Les Bird -| ^11^Designed by Alan Cox -| ^12^Designed by Doug Jackson -| ^13^Designed by Dean Netherton - -RCBus refers to Spencer Owen's RC2014 bus specification and derivatives -including RC26, RC40, RC80, and BP80. - -Additional information for each of the system configurations supported -by the ROM images listed above is found in -[Appendix A - Pre-built ROM Images]. - -The RCBus Z180 & Z280 require a separate RAM/ROM memory module. There -are two types of these modules and you must pick the correct ROM for -your type of memory module. The first option is the same as the 512K -RAM/ROM module for RC/BP80 Bus. This is called external ("ext") because -the bank switching is performed externally from the CPU. The second -type of RAM/ROM module has no bank switching logic -- this is called -native ("nat") because the CPU itself provides the bank switching logic. -Only Z180 and Z280 CPUs have the ability to do bank switching in the -CPU, so the ext/nat selection only applies to them. Z80 CPUs have no -built-in bank switching logic, so they are always configured for -external bank switching. - -All pre-built ROM images are pure binary files (they are not "hex" -files). They are intended to be programmed starting at the very start -of the ROM chip (address 0). Most of the pre-built images are -512KB in size. If your system utilizes a larger ROM, you can just -program the image into the first 512KB of the ROM for now. +## System Startup Initially, don't worry about trying to write a disk image to any disk (or CF/SD/USB) devices you have. This will be covered later. You will @@ -322,9 +67,7 @@ operation, but may be necessary for [Serial Port Transfers]. RomWBW will automatically attempt to detect and support typical add-on components for each of the systems supported. More information on the required system configuration and optional supported components for -each ROM is found in [Appendix A - Pre-built ROM Images]. - -## System Startup +each ROM is found in $doc_hardware$ . Upon power-up, your terminal should display a sign-on banner within 2 seconds followed by hardware inventory and discovery information. When @@ -332,82 +75,14 @@ hardware initialization is completed, a boot loader prompt allows you to choose a ROM-based operating system, system monitor, application, or boot from a disk device. -Here is an example of a fairly typical startup. Your system will have -different devices and configuration, but the startup should look -similar. - -``` -RomWBW HBIOS v3.1.1-pre.183, 2022-10-04 - -RCBus [RCZ80_kio] Z80 @ 7.372MHz -0 MEM W/S, 1 I/O W/S, INT MODE 2, Z2 MMU -512KB ROM, 512KB RAM -ROM VERIFY: 00 00 00 00 PASS - -KIO: IO=0x80 ENABLED -CTC: IO=0x84 TIMER MODE=TIM16 -AY: MODE=RCZ80 IO=0xD8 NOT PRESENT -SIO0: IO=0x89 SIO MODE=115200,8,N,1 -SIO1: IO=0x8B SIO MODE=115200,8,N,1 -DSRTC: MODE=STD IO=0xC0 NOT PRESENT -MD: UNITS=2 ROMDISK=384KB RAMDISK=256KB -FD: MODE=RCWDC IO=0x50 NOT PRESENT -IDE: IO=0x10 MODE=RC -IDE0: NO MEDIA -IDE1: NO MEDIA -PPIDE: IO=0x20 -PPIDE0: LBA BLOCKS=0x00773800 SIZE=3815MB -PPIDE1: NO MEDIA - -Unit Device Type Capacity/Mode ----------- ---------- ---------------- -------------------- -Char 0 SIO0: RS-232 115200,8,N,1 -Char 1 SIO1: RS-232 115200,8,N,1 -Disk 0 MD0: RAM Disk 256KB,LBA -Disk 1 MD1: ROM Disk 384KB,LBA -Disk 2 IDE0: Hard Disk -- -Disk 3 IDE1: Hard Disk -- -Disk 4 PPIDE0: CompactFlash 3815MB,LBA -Disk 5 PPIDE1: Hard Disk -- -``` - -If your system completes the ROM-based boot process successfully, you -should see the RomWBW Boot Loader prompt. For example: - -``` -RCBus [RCZ80_kio] Boot Loader - -Boot [H=Help]: -``` - -If you get to this prompt, your system has completed the boot process -and is ready to accept commands. Note that the Boot Loader is not -an operating system or application. It is essentially the point where -you choose which operating system or application you want RomWBW to -execute. - -The Boot Loader is explained in detail in the next section. For now, -you can try a few simple commands to confirm that you can interact -with the system. - -At the Boot Loader prompt, you can type `H ` for help. You -can type `L ` to list the available built-in ROM applications. -If your terminal supports ANSI escape sequences, you can try the -'P' command to play a simple on-screen game. Instructions for the -game are found in $doc_apps$. - -If all of this seems fine, your ROM has been successfully programmed. -See the [Boot Loader Operation] section of this document for further -instructions on use of the Boot Loader. - -## Core System Information +### Core System Information During startup, the first few lines of information displayed provide the most basic information on your system. In the example above, these lines are the Core System Information: ``` -RomWBW HBIOS v3.1.1-pre.183, 2022-10-04 +RomWBW HBIOS v3.5, 2025-03-01 RCBus [RCZ80_kio] Z80 @ 7.372MHz 0 MEM W/S, 1 I/O W/S, INT MODE 2, Z2 MMU @@ -433,7 +108,7 @@ affect the operation of your system. If you want to correct any of the information displayed, you can create a custom ROM which is described later. -## Hardware Discovery +### Hardware Discovery The next set of messages during boot show the hardware devices as they are probed and initially configured. In the example above, these @@ -478,11 +153,11 @@ to your system that is not automatically identified, you may need to build a custom ROM to add support for it. Building a custom ROM is covered later. -[Appendix B - Device Summary] contains a list of the RomWBW hardware +$doc_hardware$ contains a list of the RomWBW hardware devices which may help you identify the hardware discovered in your system. -## Device Unit Assignments +### Device Unit Assignments In order to support a wide variety of hardware, RomWBW HBIOS uses a modular approach to implementing device drivers and presenting devices @@ -546,6 +221,74 @@ one system, unit numbers are not required nor used for this type of device. Also, System devices are not listed because they are entirely internal to RomWBW. +## Startup Example + +Here is an example of a fairly typical startup. Your system will have +different devices and configuration, but the startup should look +similar. + +``` +RomWBW HBIOS v3.5, 2025-03-01 + +RCBus [RCZ80_kio] Z80 @ 7.372MHz +0 MEM W/S, 1 I/O W/S, INT MODE 2, Z2 MMU +512KB ROM, 512KB RAM +ROM VERIFY: 00 00 00 00 PASS + +KIO: IO=0x80 ENABLED +CTC: IO=0x84 TIMER MODE=TIM16 +AY: MODE=RCZ80 IO=0xD8 NOT PRESENT +SIO0: IO=0x89 SIO MODE=115200,8,N,1 +SIO1: IO=0x8B SIO MODE=115200,8,N,1 +DSRTC: MODE=STD IO=0xC0 NOT PRESENT +MD: UNITS=2 ROMDISK=384KB RAMDISK=256KB +FD: MODE=RCWDC IO=0x50 NOT PRESENT +IDE: IO=0x10 MODE=RC +IDE0: NO MEDIA +IDE1: NO MEDIA +PPIDE: IO=0x20 +PPIDE0: LBA BLOCKS=0x00773800 SIZE=3815MB +PPIDE1: NO MEDIA + +Unit Device Type Capacity/Mode +---------- ---------- ---------------- -------------------- +Char 0 SIO0: RS-232 115200,8,N,1 +Char 1 SIO1: RS-232 115200,8,N,1 +Disk 0 MD0: RAM Disk 256KB,LBA +Disk 1 MD1: ROM Disk 384KB,LBA +Disk 2 IDE0: Hard Disk -- +Disk 3 IDE1: Hard Disk -- +Disk 4 PPIDE0: CompactFlash 3815MB,LBA +Disk 5 PPIDE1: Hard Disk -- +``` + +If your system completes the ROM-based boot process successfully, you +should see the RomWBW Boot Loader prompt. For example: + +``` +RCBus [RCZ80_kio] Boot Loader + +Boot [H=Help]: +``` + +If you get to this prompt, your system has completed the boot process +and is ready to accept commands. Note that the Boot Loader is not +an operating system or application. It is essentially the point where +you choose which operating system or application you want RomWBW to +execute. + +The Boot Loader is explained in detail in the next section. For now, +you can try a few simple commands to confirm that you can interact +with the system. + +At the Boot Loader prompt, you can type `H ` for help. You +can type `L ` to list the available built-in ROM applications. +If your terminal supports ANSI escape sequences, you can try the +'P' command to play a simple on-screen game. Instructions for the +game are found in $doc_apps$. + +If all of this seems fine, your ROM has been successfully programmed. + # Boot Loader Operation Once your system has completed the startup process, it presents a @@ -777,7 +520,7 @@ Copyright (C) 1998, Caldera Inc. 60K TPA -CP/M v3.0 [BANKED] for HBIOS v3.1.1-pre.194 +CP/M v3.0 [BANKED] for HBIOS v3.5 A> ``` @@ -1165,7 +908,7 @@ IDE0: 8-BIT LBA BLOCKS=0x00773800 SIZE=3815MB IDE1: NO MEDIA ``` -See [Appendix B - Device Summary] for a complete list of the different +See $doc_hardware$ for a complete list of the different device types supported. If you do not see drive letters assigned as expected, refer to the prior @@ -4380,64 +4123,6 @@ return to the Boot Loader menu. If you are interested in creating a custom application to run instead, review the "usrrom.asm" file in the Source/HBIOS folder of the distribution. -# UNA Hardware BIOS - -John Coffman has produced a new generation of hardware BIOS called -UNA. The standard RomWBW distribution includes its own hardware -BIOS. However, RomWBW can alternatively be constructed with UNA as -the hardware BIOS portion of the ROM. If you wish to use the UNA -variant of RomWBW, then just program your ROM with the ROM image -called "UNA_std.rom" in the Binary directory. This one image is -suitable on **all** of the platforms and hardware UNA supports. - -UNA is customized dynamically using a ROM based setup routine and the -setup is persisted in the system NVRAM of the RTC chip. This means -that the single UNA-based ROM image can be used on most of the -RetroBrew platforms and is easily customized. UNA also supports FAT -file system access that can be used for in-situ ROM programming and -loading system images. - -While John is likely to enhance UNA over time, there are currently a -few things that UNA does not support: - -* Floppy Drives -* Terminal Emulation -* Zeta 1, N8, RCBus, Easy Z80, and Dyno Systems -* Some older support boards - -The UNA version embedded in RomWBW is the latest production release -of UNA. RomWBW will be updated with John's upcoming UNA release with -support for VGA3 as soon as it reaches production status. - -Please refer to the -[UNA BIOS Firmware Page](https://www.retrobrewcomputers.org/doku.php?id=software:firmwareos:una:start) -for more information on UNA. - -## UNA Usage Notes - -- At startup, UNA will display a prompt similar to this: - - `Boot UNA unit number or ROM? [R,X,0..3] (R):` - - You generally want to choose 'R' which will then launch the RomWBW - loader. Attempting to boot from a disk using a number at the UNA - prompt will only work for the legacy (hd512) disk format. However, - if you go to the RomWBW loader, you will be able to perform a disk - boot on either disk format. - -- The disk images created and distributed with RomWBW do not have the - correct system track code for UNA. In order to boot to disk under - UNA, you must first use `SYSCOPY` to update the system track of the - target disk. The UNA ROM disk has the correct system track files - for UNA: `CPM.SYS` and `ZSYS.SYS`. So, you can boot a ROM OS and - then use one of these files to update the system track. - -- Only Z-System and CP/M 2 are available OSes under UNA at this time. - Since NZ-COM launches from CP/M 2, it is usable. p-System is not - usable under UNA. - -- Some of the RomWBW-specific applications are not UNA compatible. - # Upgrading Upgrading to a newer release of RomWBW is essentially just a matter of @@ -4573,7 +4258,7 @@ to use the `.upd` varient of the ROM. More information can be found in the ROM Applications document. -## Post Upgrade System Image and Application Update Process +## Post Upgrade Update Once you are satisfied that the ROM is working well, you will need to update the system images and RomWBW custom applications on your disk @@ -4661,2100 +4346,3 @@ required difference being that the flash application needs to be directed to complete a partial flash using the /P command line switch. `E>FLASH WRITE ROM.UPD /P` - -# Related Projects - -Outside of the hardware platforms adapted to RomWBW, there are a variety -of projects that either target RomWBW specifically or provide -a RomWBW-specific variation. These efforts are greatly appreciated -and are listed below. Please contact the author if there are any other -such projects that are not listed. - -## Z88DK - -Z88DK is a software powerful development kit for Z80 computers -supporting both C and assembly language. This kit now provides -specific library support for RomWBW HBIOS. The Z88DK project is -hosted at . - -## Paleo Editor - -Steve Garcia has created a Windows-hosted IDE that is tailored to -development of RomWBW. The project can be found at -. - -## p-System Volume Management Script - -Andrew Davidson has created a Python script to automate the insertion -and deletion of volumes within the p-System disk image. These scripts -are hosted at . - -## Z80 fig-FORTH - -Dimitri Theulings' implementation of fig-FORTH for the Z80 has a -RomWBW-specific variant. This fig-FORTH is built into the RomWBW -ROM. However, the project itself is hosted at -. - -## RomWBW Date/Time Utility - -Kevin Boone has created a generic application that will display or -set the date/time of an RTC on RomWBW. The application runs on all of -the CP/M OS variants. This tool (`WDATE`) is included on the RomWBW -OS disk images. The project is hosted at -. - -## Assembly Language Programming for the RC2014 Zed - -Bruce Hall has written a very nice document that describes how to -develop assembly language applications on RomWBW. It begins with the -setup and configuration of a new RC2014 Zed system running RomWBW. -It describes not only generic CP/M application development, but also -RomWBW HBIOS programming and bare metal programming. The latest copy -of this document is hosted at -[http://w8bh.net/Assembly for RC2014Z.pdf](http://w8bh.net/Assembly%20for%20RC2014Z.pdf). - -# Acknowledgments - -I want to acknowledge that a great deal of the code and inspiration -for RomWBW has been provided by or derived from the work of others -in the RetroBrew Computers Community. I sincerely appreciate all of -their contributions. The list below is probably missing many names -- -please let me know if I missed you! - -* Andrew Lynch started it all when he created the N8VEM Z80 SBC - which became the first platform RomWBW supported. Some of his - original code can still be found in RomWBW. - -* Dan Werner wrote much of the code from which RomWBW was originally - derived and he has always been a great source of knowledge and - advice. - -* Douglas Goodall contributed code, time, testing, and advice in "the - early days". He created an entire suite of application programs to - enhance the use of RomWBW. Unfortunately, they have become unusable - due to internal changes within RomWBW. As of RomWBW 2.6, these - applications are no longer provided. - -* Sergey Kiselev created several hardware platforms for RomWBW - including the very popular Zeta. - -* David Giles created support for the Z180 CSIO which is now included - SD Card driver. - -* Phil Summers contributed the Forth and BASIC adaptations in ROM, the - AY-3-8910 sound driver, DMA support, and a long list of general code - and documentation enhancements. - -* Ed Brindley contributed some of the code that supports the RCBus - platform. - -* Spencer Owen created the RC2014 series of hobbyist kit computers - which has exponentially increased RomWBW usage. Some of his kits - include RomWBW. - -* Stephen Cousins has likewise created a series of hobbyist kit - computers at Small Computer Central and is distributing RomWBW - with many of them. - -* Alan Cox has contributed some driver code and has provided a great - deal of advice. - -* The CP/NET client files were developed by Douglas Miller. - -* Phillip Stevens contributed support for FreeRTOS. - -* Curt Mayer contributed the original Linux / MacOS build process. - -* UNA BIOS and FDISK80 are the products of John Coffman. - -* FLASH4 is a product of Will Sowerbutts. - -* CLRDIR is a product of Max Scane. - -* Tasty Basic is a product of Dimitri Theulings. - -* Dean Netherton contributed eZ80 CPU support, the sound driver - interface, and the SN76489 sound driver. - -* The RomWBW Disk Catalog document was produced by Mykl Orders. - -* Rob Prouse has created many of the supplemental disk images - including Aztec C, HiTech C, SLR Z80ASM, Turbo Pascal, Microsoft - BASIC Compiler, Microsoft Fortran Compiler, and a Games - compendium. - -* Martin R has provided substantial help reviewing and improving the - User Guide and Applications documents. - -* Mark Pruden has also contributed a great deal of content to the - Disk Catalog, User Guide as well as contributing the disk image - for the Z3PLUS operating system, the COPYSL utility, and also - implemented a feature for RomWBW configuration by NVRAM, - and added the /B bulk mode of disk assignment to the ASSIGN utility. - -* Jacques Pelletier has contributed the DS1501 RTC driver code. - -* Jose Collado has contributed enhancements to the TMS driver - including compatibility with standard TMS register configuration. - -* Kevin Boone has contributed a generic HBIOS date/time utility (WDATE). - -* Matt Carroll has contributed a fix to XM.COM that corrects the - port specification when doing a send. - -* Dean Jenkins enhanced the build process to accommodate the - Raspberry Pi 4. - -* Tom Plano has contributed a new utility (HTALK) to allow talking - directly to HBIOS COM ports. - -* Lars Nelson has contributed several generic utilities such as - a universal (OS agnostic) UNARC application. - -* Dylan Hall added support for specifying a secondary console. - -* Bill Shen has contributed boot loaders for several of his - systems. - -* Laszlo Szolnoki has contributed an EF9345 video display - controller driver. - -* Ladislau Szilagyi has contributed an enhanced version of - CP/M Cowgol that leverages RomWBW memory banking. - -* Les Bird has contributed support for the NABU w/ Option Board - -Contributions of all kinds to RomWBW are very welcome. - -# Licensing - -RomWBW is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -RomWBW is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with RomWBW. If not, see . - -Portions of RomWBW were created by, contributed by, or derived from -the work of others. It is believed that these works are being used -in accordance with the intentions and/or licensing of their creators. - -If anyone feels their work is being used outside of its intended -licensing, please notify: - -> $doc_author$ \ -> [$doc_authmail$](mailto:$doc_authmail$) - -RomWBW is an aggregate work. It is composed of many individual, -standalone programs that are distributed as a whole to function as -a cohesive system. Each program may have its own licensing which -may be different from other programs within the aggregate. - -In some cases, a single program (e.g., CP/M Operating System) is -composed of multiple components with different licenses. It is -believed that in all such cases the licenses are compatible with -GPL version 3. - -RomWBW encourages code contributions from others. Contributors -may assert their own copyright in their contributions by -annotating the contributed source code appropriately. Contributors -are further encouraged to submit their contributions via the RomWBW -source code control system to ensure their contributions are clearly -documented. - -All contributions to RomWBW are subject to this license. - -# Getting Assistance - -The best way to get assistance with RomWBW or any aspect of the -RetroBrew Computers projects is via one of the community forums: - -* [RetroBrew Computers Forum](https://www.retrobrewcomputers.org/forum/) -* [RC2014 Google Group](https://groups.google.com/forum/#!forum/rc2014-z80) -* [retro-comp Google Group](https://groups.google.com/forum/#!forum/retro-comp) - -Submission of issues and bugs are welcome at the -[RomWBW GitHub Repository](https://github.com/wwarthen/RomWBW). - -Also feel free to email $doc_author$ at [$doc_authmail$](mailto:$doc_authmail$). - -# Appendixes - -`\clearpage`{=latex} - -## Appendix A - Pre-built ROM Images - -This appendix contains a summary of the system configuration target -for each of the pre-built ROM images included in the RomWBW -distribution. It is intended to help you select the correct ROM -image and understand the basic hardware components supported. -Detailed hardware system configuration information should be obtained -from your system provider/designer. I am happy to provide support -adapting RomWBW to new or modified systems -- see [Getting Assistance] -for contact information. - -The standard ROM images will detect and install support for certain -devices and peripherals that are on-board or frequently used with -each platform as documented below. If the device or peripheral is -not detected at boot, the ROM will simply bypass support -appropriately. - -By default, RomWBW will use the first available character device it -discovers for the initial console. Serial devices are scanned in -the following order: - -#. 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 -#. ACIA: MC68B50 Asynchronous Communications Interface Adapter - -In some cases, support for multiple hardware components with potentially -conflicting resource usage are handled by a single ROM image. It is up -to the user to ensure that no conflicting hardware is in use. - -The RomWBW `TUNE` application will detect an AY-3-8910/YM2149 -Sound Module regardless of whether support for it is included in -the RomWBW HBIOS configuration. - -`\clearpage`{=latex} - -### RetroBrew Z80 SBC - -#### ROM Image File: SBC_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 8.000 MHz | -| Interrupts | None | -| System Timer | None | -| Serial Default | 38400 Baud | -| Memory Manager | SBC | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- DSRTC: MODE=STD, IO=112 -- UART: MODE=SBC, IO=104 -- UART: MODE=CAS, IO=128 -- UART: MODE=MFP, IO=104 -- UART: MODE=4UART, IO=192 -- UART: MODE=4UART, IO=200 -- UART: MODE=4UART, IO=208 -- UART: MODE=4UART, IO=216 -- SIO MODE=ZP, IO=176, CHANNEL A -- SIO MODE=ZP, IO=176, CHANNEL B -- VGA: IO=224, KBD MODE=PS/2, KBD IO=224 -- CVDU: MODE=ECB, IO=224, KBD MODE=PS/2, KBD IO=226 -- CVDU occupies 905 bytes. -- KBD: ENABLED -- PRP: IO=168 -- PRPCON: ENABLED -- PRPSD: ENABLED -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=DIO, IO=54, DRIVE 0, TYPE=3.5" HD -- FD: MODE=DIO, IO=54, DRIVE 1, TYPE=3.5" HD -- PPIDE: IO=96, MASTER -- PPIDE: IO=96, SLAVE - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### RetroBrew Z80 SimH - -#### ROM Image File: SBC_simh.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 8.000 MHz | -| Interrupts | Mode 1 | -| System Timer | SimH | -| Serial Default | 38400 Baud | -| Memory Manager | SBC | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- SIMRTC: IO=254 -- UART: MODE=SBC, IO=104 -- UART: MODE=CAS, IO=128 -- UART: MODE=MFP, IO=104 -- UART: MODE=4UART, IO=192 -- UART: MODE=4UART, IO=200 -- UART: MODE=4UART, IO=208 -- UART: MODE=4UART, IO=216 -- SIO MODE=ZP, IO=176, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=ZP, IO=176, CHANNEL B, INTERRUPTS ENABLED -- FONTS occupy 0 bytes. -- MD: TYPE=RAM -- MD: TYPE=ROM -- HDSK: IO=253, DEVICE COUNT=2 - -##### Notes: - -- Image for SimH emulator -- CPU speed and Serial configuration not relevant in emulator - -`\clearpage`{=latex} - -### RetroBrew N8 Z180 SBC - -#### ROM Image File: N8_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 38400 Baud | -| Memory Manager | N8 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- DSRTC: MODE=STD, IO=136 -- ASCI: IO=64, INTERRUPTS ENABLED -- ASCI: IO=65, INTERRUPTS ENABLED -- UART: MODE=CAS, IO=128 -- UART: MODE=4UART, IO=192 -- UART: MODE=4UART, IO=200 -- UART: MODE=4UART, IO=208 -- UART: MODE=4UART, IO=216 -- TMS: MODE=N8, IO=152 -- PPK: 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 -- SD: MODE=CSIO, IO=136, UNITS=1 -- AY38910: MODE=N8, IO=156, CLOCK=1789772 HZ - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present -- SD Card interface is configured for CSIO (N8 date code >= 2312) - -`\clearpage`{=latex} - -### Zeta Z80 SBC - -#### ROM Image File: ZETA_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 8.000 MHz | -| Interrupts | None | -| System Timer | None | -| Serial Default | 38400 Baud | -| Memory Manager | SBC | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- DSRTC: MODE=STD, IO=112 -- UART: MODE=SBC, IO=104 -- PPP: IO=96 -- PPPCON: ENABLED -- PPPSD: ENABLED -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=DIO, IO=54, DRIVE 0, TYPE=3.5" HD - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present -- If ParPortProp is installed, initial console output is - determined by JP1: - - Shorted: console to on-board serial port - - Open: console to ParPortProp video and keyboard - -`\clearpage`{=latex} - -### Zeta V2 Z80 SBC - -#### ROM Image File: ZETA2_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 8.000 MHz | -| Interrupts | Mode 2 | -| System Timer | CTC | -| Serial Default | 38400 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- DSRTC: MODE=STD, IO=112 -- UART: MODE=SBC, IO=104 -- PPP: IO=96 -- PPPCON: ENABLED -- PPPSD: ENABLED -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=ZETA2, IO=48, DRIVE 0, TYPE=3.5" HD -- CTC: IO=32, TIMER MODE=COUNTER, DIVISOR=18432, HI=256, LO=72, INTERRUPTS ENABLED - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present -- If ParPortProp is installed, initial console output is - determined by JP1: - - Shorted: console to on-board serial port - - Open: console to ParPortProp video and keyboard - -`\clearpage`{=latex} - -### Mark IV Z180 SBC - -#### ROM Image File: MK4_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 38400 Baud | -| Memory Manager | Z180 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- DSRTC: MODE=STD, IO=138 -- ASCI: IO=64, INTERRUPTS ENABLED -- ASCI: IO=65, INTERRUPTS ENABLED -- UART: MODE=CAS, IO=128 -- UART: MODE=MFP, IO=104 -- UART: MODE=4UART, IO=192 -- UART: MODE=4UART, IO=200 -- UART: MODE=4UART, IO=208 -- UART: MODE=4UART, IO=216 -- VGA: IO=224, KBD MODE=PS/2, KBD IO=224 -- CVDU: MODE=ECB, IO=224, KBD MODE=PS/2, KBD IO=226 -- KBD: ENABLED -- PRP: IO=168 -- PRPCON: ENABLED -- PRPSD: ENABLED -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=DIDE, IO=42, DRIVE 0, TYPE=3.5" HD -- FD: MODE=DIDE, IO=42, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=MK4, IO=128, MASTER -- IDE: MODE=MK4, IO=128, SLAVE -- SD: MODE=MK4, IO=137, UNITS=1 - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### RCBus Z80 CPU Module - -#### ROM Image File: RCZ80_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 7.372 MHz | -| Interrupts | Mode 1 | -| System Timer | None | -| Serial Default | 115200 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- ACIA: IO=128, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- CTC: IO=136 - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -#### ROM Image File: RCZ80_kio_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 7.372 MHz | -| Interrupts | Mode 2 | -| System Timer | CTC | -| Serial Default | 115200 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=STD, IO=136, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=STD, IO=136, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- CTC: IO=132, TIMER MODE=TIMER/16, DIVISOR=9216, HI=256, LO=36, INTERRUPTS ENABLED - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present -- SIO Serial baud rate managed by CTC - -`\clearpage`{=latex} - -### RCBus Z180 CPU Module - -#### ROM Image File: RCZ180_ext_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 115200 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=12 -- INTRTC: ENABLED -- ASCI: IO=192, INTERRUPTS ENABLED -- ASCI: IO=193, INTERRUPTS ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE - -##### Notes: - -- For use with Z2 bank switched memory board (Z2 external memory management) -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -#### ROM Image File: RCZ180_nat_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 115200 Baud | -| Memory Manager | Z180 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=12 -- INTRTC: ENABLED -- ASCI: IO=192, INTERRUPTS ENABLED -- ASCI: IO=193, INTERRUPTS ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE - -##### Notes: - -- For use with linear memory board (Z180 native memory management) -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### RCBus Z280 CPU Module - -#### ROM Image File: RCZ280_ext_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 6.000 MHz | -| Interrupts | Mode 1 | -| System Timer | None | -| Serial Default | 115200 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- Z2U: IO=16 -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- ACIA: IO=128, INTERRUPTS ENABLED -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE - -##### Notes: - -- For use with Z2 bank switched memory board (Z2 external memory management) - -`\clearpage`{=latex} - -#### ROM Image File: RCZ280_nat_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 6.000 MHz | -| Interrupts | Mode 3 | -| System Timer | Z280 | -| Serial Default | 115200 Baud | -| Memory Manager | Z280 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- Z2U: IO=16, INTERRUPTS ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE - -##### Notes: - -- For use with linear memory board (Z280 native memory management) - -`\clearpage`{=latex} - -### RCBus eZ80 CPU Module - -#### ROM Image File: RCEZ80_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 20.000 MHz | -| Interrupts | Mode 1 | -| System Timer | EZ80 | -| Serial Default | 115200 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- LCD: IO=218 -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- CTC: IO=136 -- EZ80 DRIVERS - -##### Notes: - -`\clearpage`{=latex} - -### Easy Z80 SBC - -#### ROM Image File: RCZ80_easy_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 10.000 MHz | -| Interrupts | Mode 2 | -| System Timer | CTC | -| Serial Default | 115200 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- INTRTC: ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=STD, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=STD, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- CTC: IO=136, TIMER MODE=COUNTER, DIVISOR=18432, HI=256, LO=72, INTERRUPTS ENABLED - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Tiny Z80 SBC - -#### ROM Image File: RCZ80_tiny_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 16.000 MHz | -| Interrupts | Mode 2 | -| System Timer | CTC | -| Serial Default | 115200 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=STD, IO=24, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=STD, IO=24, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=144, MASTER -- IDE: MODE=RC, IO=144, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- CTC: IO=16, TIMER MODE=COUNTER, DIVISOR=18432, HI=256, LO=72, INTERRUPTS ENABLED - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Z80-512K CPU/RAM/ROM Module - -#### ROM Image File: RCZ80_skz_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 7.372 MHz | -| Interrupts | Mode 1 | -| System Timer | None | -| Serial Default | 115200 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- ACIA: IO=128, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- CTC: IO=136 - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Small Computer SC126 Z180 SBC - -#### ROM Image File: SCZ180_sc126_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 115200 Baud | -| Memory Manager | Z180 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=13, SWIO=0 -- DSRTC: MODE=STD, IO=12 -- INTRTC: ENABLED -- ASCI: IO=192, INTERRUPTS ENABLED -- ASCI: IO=193, INTERRUPTS ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- SD: MODE=SC, IO=12, UNITS=1 -- AY38910: MODE=RCZ180, IO=104, CLOCK=1789772 HZ - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Small Computer SC130 Z180 SBC - -#### ROM Image File: SCZ180_sc130_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 115200 Baud | -| Memory Manager | Z180 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=12 -- INTRTC: ENABLED -- ASCI: IO=192, INTERRUPTS ENABLED -- ASCI: IO=193, INTERRUPTS ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- SD: MODE=SC, IO=12, UNITS=1 -- AY38910: MODE=RCZ180, IO=104, CLOCK=1789772 HZ - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Small Computer SC131 Z180 Pocket Comp - -#### ROM Image File: SCZ180_sc131_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 115200 Baud | -| Memory Manager | Z180 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- INTRTC: ENABLED -- ASCI: IO=192, INTERRUPTS ENABLED -- ASCI: IO=193, INTERRUPTS ENABLED -- MD: TYPE=RAM -- MD: TYPE=ROM -- SD: MODE=SC, IO=12, UNITS=1 - -##### Notes: - -`\clearpage`{=latex} - -### Small Computer SC140 Z180 CPU Module - -#### ROM Image File: SCZ180_sc140_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 115200 Baud | -| Memory Manager | Z180 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=160, SWIO=160 -- DSRTC: MODE=STD, IO=12 -- INTRTC: ENABLED -- ASCI: IO=192, INTERRUPTS ENABLED -- ASCI: IO=193, INTERRUPTS ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=144, MASTER -- IDE: MODE=RC, IO=144, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- SD: MODE=SC, IO=12, UNITS=1 - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Small Computer SC503 Z180 CPU Module - -#### ROM Image File: SCZ180_sc503_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 115200 Baud | -| Memory Manager | Z180 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=160, SWIO=160 -- DSRTC: MODE=STD, IO=12 -- INTRTC: ENABLED -- ASCI: IO=192, INTERRUPTS ENABLED -- ASCI: IO=193, INTERRUPTS ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=144, MASTER -- IDE: MODE=RC, IO=144, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- SD: MODE=SC, IO=12, UNITS=1 - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Small Computer SC700 Z180 CPU Module - -#### ROM Image File: SCZ180_sc700_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 115200 Baud | -| Memory Manager | Z180 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0 -- DSRTC: MODE=STD, IO=12 -- INTRTC: ENABLED -- ASCI: IO=192, INTERRUPTS ENABLED -- ASCI: IO=193, INTERRUPTS ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- SD: MODE=SC, IO=12, UNITS=1 -- AY38910: MODE=RCZ180, IO=104, CLOCK=1789772 HZ - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Dyno Z180 SBC - -#### ROM Image File: DYNO_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 38400 Baud | -| Memory Manager | Z180 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- BQRTC: IO=80 -- ASCI: IO=192, INTERRUPTS ENABLED -- ASCI: IO=193, INTERRUPTS ENABLED -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=DYNO, IO=132, DRIVE 0, TYPE=3.5" HD -- FD: MODE=DYNO, IO=132, DRIVE 1, TYPE=3.5" HD -- PPIDE: IO=76, MASTER -- PPIDE: IO=76, SLAVE - -##### Notes: - -`\clearpage`{=latex} - -### Nhyodyne Z80 MBC - -#### ROM Image File: MBC_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 8.000 MHz | -| Interrupts | None | -| System Timer | None | -| Serial Default | 38400 Baud | -| Memory Manager | MBC | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- PKD: IO=96 -- DSRTC: MODE=STD, IO=112 -- UART: MODE=SBC, IO=104 -- UART: MODE=DUAL, IO=128 -- UART: MODE=DUAL, IO=136 -- SIO MODE=ZP, IO=176, CHANNEL A -- SIO MODE=ZP, IO=176, CHANNEL B -- PIO: IO=184, CHANNEL A -- PIO: IO=184, CHANNEL B -- PIO: IO=188, CHANNEL A -- PIO: IO=188, CHANNEL B -- LPT: MODE=SPP, IO=232 -- CVDU: MODE=MBC, IO=224, KBD MODE=PS/2, KBD IO=226 -- TMS: MODE=MBC, IO=152 -- KBD: ENABLED -- ESP: IO=156 -- ESPCON: ENABLED -- ESPSER: DEVICE=0 -- ESPSER: DEVICE=1 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=MBC, IO=48, DRIVE 0, TYPE=3.5" HD -- FD: MODE=MBC, IO=48, DRIVE 1, TYPE=3.5" HD -- PPIDE: IO=96, MASTER -- PPIDE: IO=96, SLAVE -- SPK: IO=112 -- CTC: IO=176 - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Rhyophyre Z180 SBC - -#### ROM Image File: RPH_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | None | -| System Timer | None | -| Serial Default | 38400 Baud | -| Memory Manager | RPH | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- DSRTC: MODE=STD, IO=132 -- ASCI: IO=64 -- ASCI: IO=65 -- GDC: MODE=RPH, DISPLAY=EGA, IO=144 -- KBD: ENABLED -- MD: TYPE=RAM -- MD: TYPE=ROM -- PPIDE: IO=136, MASTER -- PPIDE: IO=136, SLAVE - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Z80 ZRC CPU Module - -#### ROM Image File: RCZ80_zrc_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 14.745 MHz | -| Interrupts | Mode 1 | -| System Timer | None | -| Serial Default | 115200 Baud | -| Memory Manager | ZRC | -| ROM Size | 512 KB | -| RAM Size | 1536 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- ACIA: IO=128, INTERRUPTS ENABLED -- VRC: IO=0, KBD MODE=VRC, KBD IO=244 -- KBD: ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- CTC: IO=136 - -##### Notes: - -- ZRC is actually contains no ROM and 2MB of RAM. The first 512KB - of RAM is loaded from disk and then handled like ROM. -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -#### ROM Image File: RCZ80_zrc_ram_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 14.745 MHz | -| Interrupts | Mode 1 | -| System Timer | None | -| Serial Default | 115200 Baud | -| Memory Manager | ZRC | -| ROM Size | 0 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- ACIA: IO=128, INTERRUPTS ENABLED -- VRC: IO=0, KBD MODE=VRC, KBD IO=244 -- KBD: ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- CTC: IO=136 - -##### Notes: - -- ROMless boot -- HBIOS is loaded from disk at boot -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Z80 ZRC512 CPU Module - -#### ROM Image File: RCZ80_zrc512_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 22.000 MHz | -| Interrupts | Mode 1 | -| System Timer | None | -| Serial Default | 115200 Baud | -| Memory Manager | ZRC | -| ROM Size | 0 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- ACIA: IO=128, INTERRUPTS ENABLED -- VRC: IO=0, KBD MODE=VRC, KBD IO=244 -- KBD: ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- CTC: IO=136 - -##### Notes: - -- ROMless boot -- HBIOS is loaded from disk at boot -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Z80 EaZy80-512 CPU Module - -#### ROM Image File: RCZ80_ez512_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 22.000 MHz | -| Interrupts | Mode 2 | -| System Timer | CTC | -| Serial Default | 115200 Baud | -| Memory Manager | EZ512 | -| ROM Size | 0 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- LCD: IO=218, SIZE=20X4 -- DSRTC: MODE=STD, IO=192 -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=STD, IO=8, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=STD, IO=8, CHANNEL B, INTERRUPTS ENABLED -- ACIA: IO=128 -- VRC: IO=0, KBD MODE=VRC, KBD IO=244 -- KBD: ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- SD: MODE=EZ512, IO=2, UNITS=1 -- KIO: IO=0 -- CTC: IO=4, TIMER MODE=TIMER/16, DIVISOR=4608, HI=256, LO=18, INTERRUPTS ENABLED - -##### Notes: - -- HBIOS is loaded from disk at boot by ROM monitor -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -#### ROM Image File: RCZ80_k8w_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 22.000 MHz | -| Interrupts | Mode 2 | -| System Timer | CTC | -| Serial Default | 115200 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -FP: LEDIO=0, SWIO=0 -LCD: IO=218, SIZE=20X4 -DSRTC: MODE=K80W, IO=192 -UART: IO=128 -UART: IO=136 -UART: IO=160 -UART: IO=168 -SIO MODE=STD, IO=136, CHANNEL A, INTERRUPTS ENABLED -SIO MODE=STD, IO=136, CHANNEL B, INTERRUPTS ENABLED -CH: IO=62 -CH: IO=60 -CHUSB: IO=62 -CHUSB: IO=60 -MD: TYPE=RAM -MD: TYPE=ROM -FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -IDE: MODE=RC, IO=16, MASTER -IDE: MODE=RC, IO=16, SLAVE -PPIDE: IO=32, MASTER -PPIDE: IO=32, SLAVE -SD: MODE=EZ512, IO=130, UNITS=1 -KIO: IO=128 -CTC: IO=132, TIMER MODE=TIMER/16, DIVISOR=9216, HI=256, LO=36, INTERRUPTS ENABLED - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Z180 Z1RCC CPU Module - -#### ROM Image File: RCZ180_z1rcc_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 115200 Baud | -| Memory Manager | Z180 | -| ROM Size | 0 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=12 -- INTRTC: ENABLED -- ASCI: IO=192, INTERRUPTS ENABLED -- ASCI: IO=193, INTERRUPTS ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE - -##### Notes: - -- ROMless boot -- HBIOS is loaded from disk at boot -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Z280 ZZRCC CPU Module - -#### ROM Image File: RCZ280_zzrcc_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 14.745 MHz | -| Interrupts | Mode 3 | -| System Timer | Z280 | -| Serial Default | 115200 Baud | -| Memory Manager | Z280 | -| ROM Size | 256 KB | -| RAM Size | 256 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- Z2U: IO=16, INTERRUPTS ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- VRC: IO=0, KBD MODE=VRC, KBD IO=244 -- KBD: ENABLED -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE - -##### Notes: - -- ZZRCC actually contains no ROM and 512KB of RAM. The first 256KB - of RAM is loaded from disk and then handled like ROM. -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -#### ROM Image File: RCZ280_zzrcc_ram_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 14.745 MHz | -| Interrupts | Mode 3 | -| System Timer | Z280 | -| Serial Default | 115200 Baud | -| Memory Manager | Z280 | -| ROM Size | 0 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- Z2U: IO=16, INTERRUPTS ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- VRC: IO=0, KBD MODE=VRC, KBD IO=244 -- KBD: ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE - -##### Notes: - -- ROMless boot -- HBIOS is loaded from disk at boot -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Z280 ZZ80MB SBC - -#### ROM Image File: RCZ280_zz80mb_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 12.000 MHz | -| Interrupts | Mode 3 | -| System Timer | Z280 | -| Serial Default | 115200 Baud | -| Memory Manager | Z280 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- Z2U: IO=16, INTERRUPTS ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- VRC: IO=0, KBD MODE=VRC, KBD IO=244 -- KBD: ENABLED -- CH: IO=62 -- CH: IO=60 -- CHUSB: IO=62 -- CHUSB: IO=60 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Z80-Retro SBC - -#### ROM Image File: Z80RETRO_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 14.745 MHz | -| Interrupts | Mode 2 | -| System Timer | None | -| Serial Default | 38400 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- SIO MODE=Z80R, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=Z80R, IO=128, CHANNEL B, INTERRUPTS ENABLED -- MD: TYPE=RAM -- MD: TYPE=ROM -- SD: MODE=, IO=104, UNITS=1 -- CTC: IO=64 - -##### Notes: - -`\clearpage`{=latex} - -### S100 Computers Z180 - -#### ROM Image File: S100_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 57600 Baud | -| Memory Manager | Z180 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0 -- INTRTC: ENABLED -- ASCI: IO=192, INTERRUPTS ENABLED -- ASCI: IO=193, INTERRUPTS ENABLED -- SCON: IO=0 -- MD: TYPE=RAM -- MD: TYPE=ROM -- SD: MODE=SC, IO=12, UNITS=1 - -##### Notes: - -- Z180 SBC SW2 (IOBYTE) Dip Switches: - -| Bit | Setting | Function | -|-----|---------|-------------------------------------| -| 0 | Off | Use Z180 ASCI Channel A for console | -| | On | Use Propeller Console | -| | | | -| 1 | Off | Boot to RomWBW Boot Loader | -| | On | Boot to S100 Monitor | - -`\clearpage`{=latex} - -### Duodyne Z80 System - -#### ROM Image File: DUO_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 8.000 MHz | -| Interrupts | Mode 2 | -| System Timer | CTC | -| Serial Default | 38400 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- DSRTC: MODE=STD, IO=148 -- PCF: IO=86 -- UART: MODE=SBC, IO=88 -- UART: MODE=AUX, IO=168 -- UART: MODE=DUAL, IO=112 -- UART: MODE=DUAL, IO=120 -- SIO MODE=ZP, IO=96, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=ZP, IO=96, CHANNEL B, INTERRUPTS ENABLED -- PIO: IO=104, CHANNEL A -- PIO: IO=104, CHANNEL B -- PIO: IO=108, CHANNEL A -- PIO: IO=108, CHANNEL B -- LPT: MODE=SPP, IO=72 -- TMS: MODE=MBC, IO=160 -- DMA: MODE=DUO, IO=64 -- CH: IO=78 -- CHUSB: IO=78 -- CHSD: IO=78 -- ESP: IO=156 -- ESPCON: ENABLED -- ESPSER: DEVICE=0 -- ESPSER: DEVICE=1 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=DUO, IO=128, DRIVE 0, TYPE=3.5" HD -- FD: MODE=DUO, IO=128, DRIVE 1, TYPE=3.5" HD -- PPIDE: IO=136, MASTER -- PPIDE: IO=136, SLAVE -- SD: MODE=, IO=140, UNITS=1 -- SPK: IO=148 -- CTC: IO=96, TIMER MODE=COUNTER, DIVISOR=18432, HI=256, LO=72, INTERRUPTS ENABLED -- AY38910: MODE=DUO, IO=164, CLOCK=1789772 HZ - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### Heath H8 Z80 System - -#### ROM Image File: HEATH_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 7.372 MHz | -| Interrupts | Mode 1 | -| System Timer | None | -| Serial Default | 115200 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- FP: LEDIO=0, SWIO=0 -- DSRTC: MODE=STD, IO=192 -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- SIO MODE=RC, IO=128, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=128, CHANNEL B, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL A, INTERRUPTS ENABLED -- SIO MODE=RC, IO=132, CHANNEL B, INTERRUPTS ENABLED -- ACIA: IO=128, INTERRUPTS ENABLED -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=RCWDC, IO=80, DRIVE 0, TYPE=3.5" HD -- FD: MODE=RCWDC, IO=80, DRIVE 1, TYPE=3.5" HD -- IDE: MODE=RC, IO=16, MASTER -- IDE: MODE=RC, IO=16, SLAVE -- PPIDE: IO=32, MASTER -- PPIDE: IO=32, SLAVE -- CTC: IO=136 - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -`\clearpage`{=latex} - -### EP Mini-ITX Z180 - -#### ROM Image File: EPITX_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 115200 Baud | -| Memory Manager | Z180 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- INTRTC: ENABLED -- ASCI: IO=192, INTERRUPTS ENABLED -- ASCI: IO=193, INTERRUPTS ENABLED -- UART: MODE=RC, IO=160 -- UART: MODE=RC, IO=168 -- TMS: MODE=MSX, IO=152 -- MD: TYPE=RAM -- MD: TYPE=ROM -- FD: MODE=EPFDC, IO=72, DRIVE 0, TYPE=3.5" HD -- FD: MODE=EPFDC, IO=72, DRIVE 1, TYPE=3.5" HD -- SD: MODE=, IO=66, UNITS=1 - -##### Notes: - -`\clearpage`{=latex} - -### NABU w/ RomWBW Option Board - -#### ROM Image File: NABU_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 3.580 MHz | -| Interrupts | Mode 1 | -| System Timer | None | -| Serial Default | 115200 Baud | -| Memory Manager | Z2 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -- UART: MODE=NABU, IO=72 -- TMS: MODE=NABU, IO=160 -- MD: TYPE=RAM -- MD: TYPE=ROM -- PPIDE: IO=96, MASTER -- PPIDE: IO=96, SLAVE -- AY38910: MODE=NABU, IO=65, CLOCK=1789772 HZ - -##### Notes: - -- TMS video assumes F18A replacement for TMS9918 - -`\clearpage`{=latex} - -### S100 FPGA Z80 - -#### ROM Image File: FZ80_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 8.000 MHz | -| Interrupts | None | -| System Timer | None | -| Serial Default | 9600 Baud | -| Memory Manager | Z2 | -| ROM Size | 0 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -FP: LEDIO=255 -SSER: IO=52 -SCON: IO=0 -MD: TYPE=RAM -PPIDE: IO=48, MASTER -PPIDE: IO=48, SLAVE - - -FP: LEDIO=255 -DS5RTC: RTCIO=104, IO=104 -SSER: IO=52 -SCON: IO=0 -MD: TYPE=RAM -PPIDE: IO=48, MASTER -PPIDE: IO=48, SLAVE -SD: MODE=FZ80, IO=108, UNITS=2 - -##### Notes: - -- Requires matching FPGA code - -### Genesis STD Z180 - -#### ROM Image File: GMZ180_std.rom - -| | | -|-------------------|---------------| -| Default CPU Speed | 18.432 MHz | -| Interrupts | Mode 2 | -| System Timer | Z180 | -| Serial Default | 115200 Baud | -| Memory Manager | Z180 | -| ROM Size | 512 KB | -| RAM Size | 512 KB | - -##### Supported Hardware (see [Appendix B - Device Summary]): - -DSRTC: MODE=STD, IO=132 -INTRTC: ENABLED -ASCI: IO=192, INTERRUPTS ENABLED -ASCI: IO=193, INTERRUPTS ENABLED -MD: TYPE=RAM -MD: TYPE=ROM -IDE: MODE=GIDE, IO=32, MASTER -IDE: MODE=GIDE, IO=32, SLAVE -SD: MODE=GM, IO=132, UNITS=1 - -##### Notes: - -- CPU speed will be dynamically measured at startup if DSRTC is present - -## Appendix B - Device Summary - -The table below briefly describes each of the possible devices that -may be discovered by RomWBW in your system. - -| **ID** | **Type** | **Description** | -|-----------|----------|--------------------------------------------------------| -| ACIA | Char | MC68B50 Asynchronous Communications Interface Adapter | -| ASCI | Char | Zilog Z180 CPU Built-in Serial Ports | -| AY | Audio | AY-3-8910/YM2149 Programmable Sound Generator | -| BQRTC | RTC | BQ4845P Real Time Clock | -| CH | System | CH375/376 USB Controller | -| CHSD | Disk | CH37x SD Card Interface | -| CHUSB | Disk | CH37x USB Drive Interface | -| CTC | System | Zilog Clock/Timer | -| CVDU | Video | MC8563-based Video Display Controller | -| DMA | System | Zilog DMA Controller | -| DS5RTC | RTC | Maxim DS1305 SPI Real-Time Clock w/ NVRAM | -| DS7RTC | RTC | Maxim DS1307 PCF I2C Real-Time Clock w/ NVRAM | -| DS1501RTC | RTC | Maxim DS1501/DS1511 Watchdog Real-Time Clock | -| DSRTC | RTC | Maxim DS1302 Real-Time Clock w/ NVRAM | -| DUART | Char | SCC2681 or compatible Dual UART | -| EF | Char | EF9345 Video Display Controller | -| EMM | Disk | Disk drive on Parallel Port emm interface (Zip Drive) | -| FD | Disk | 8272 or compatible Floppy Disk Controller | -| FP | System | Simple LED & Switch Front Panel | -| FV | Video | S100 FPGA Z80 Onboard VGA/Keyboard | -| GDC | Video | uPD7220 Video Display Controller | -| HDSK | Disk | SIMH Simulator Hard Disk | -| ICM | DsKy | ICM7218-based Display/Keypad on PPI | -| IDE | Disk | IDE/ATA/ATAPI Hard Disk Interface | -| IMM | Disk | IMM Zip Drive on PPI | -| INTRTC | RTC | Interrupt-based Real Time Clock | -| KBD | Keyboard | 8242 PS/2 Keyboard Controller | -| KIO | System | Zilog Serial/ Parallel Counter/Timer | -| LCD | System | Hitachi HD44780-based LCD Display | -| LPT | Char | Parallel I/O Controller | -| MD | Disk | ROM/RAM Disk | -| MSXKYB | Keyboard | MSX Compliant Matrix Keyboard | -| PCF | RTC | PCF8584-based I2C Real-Time Clock | -| PIO | Char | Zilog Parallel Interface Controller | -| PKD | DsKy | P8279-based Display/Keypad on PPI | -| PPA | Disk | PPA Zip Drive on PPI | -| PPIDE | Disk | 8255 IDE/ATA/ATAPI Hard Disk Interface | -| PPK | Keyboard | Matrix Keyboard | -| PPP | System | ParPortProp Host Interface Controller | -| PPPCON | Serial | ParPortProp Serial Console Interface | -| PPPSD | Disk | ParPortProp SD Card Interface | -| PRP | System | PropIO Host Interface Controller | -| PRPCON | Serial | PropIO Serial Console Interface | -| PRPSD | Disk | PropIO SD Card Interface | -| RF | Disk | RAM Floppy Disk Interface | -| RP5C01 | RTC | Ricoh RPC01A Real-Time Clock w/ NVRAM | -| SCON | Char | S100 Console | -| SD | Disk | SD Card Interface | -| SIMRTC | RTC | SIMH Simulator Real-Time Clock | -| SIO | Char | Zilog Serial Port Interface | -| SN76489 | Sound | SN76489 Programmable Sound Generator | -| SPK | Sound | Bit-bang Speaker | -| SYQ | Disk | Iomega SparQ Drive on PPI | -| SSER | Char | Simple Serial Interface | -| TMS | Video | TMS9918/38/58 Video Display Controller | -| UART | Char | 16C550 Family Serial Interface | -| USB-FIFO | Char | FT232H-based ECB USB FIFO | -| VDU | Video | MC6845 Family Video Display Controller | -| VGA | Video | HD6445CP4-based Video Display Controller | -| VRC | Video | VGARC Video Display Controller | -| YM | Audio | YM2612 Programmable Sound Generator | -| Z2U | Char | Zilog Z280 CPU Built-in Serial Ports |