Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| software:firmwareos:romwbw:start [2019/07/15 23:21] – Initial import from Wayback Machine | software:firmwareos:romwbw:start [2026/06/15 12:45] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| /* Imported from Wayback Machine | /* Imported from Wayback Machine | ||
| - | | + | |
| - | | + | |
| | | ||
| */ | */ | ||
| - | ====== | + | **RomWBW |
| + | Version 3.2\\ | ||
| + | Wayne Warthen < | ||
| + | 20 Mar 2023\\ | ||
| - | === Z80/Z180 System Software | + | ====== Overview ====== |
| - | Version 2.9.1, 2019-06-03 | + | 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: |
| - | Wayne Warthen\\ | + | [[https://www.retrobrewcomputers.org|RetroBrew Computers]] |
| - | <mailto:wwarthen@gmail.com> | + | |
| - | //Download:// | + | [[https://rc2014.co.uk|RC2014]], |
| - | [[https://retrobrewcomputers.org/lib/exe/fetch.php? | + | [[https://groups.google.com/forum/#!forum/retro-comp|retro-comp]] |
| - | [[https://retrobrewcomputers.org/lib/ | + | [[https://smallcomputercentral.com/|Small Computer Central]] |
| - | //Related pages:// | + | General features include: |
| - | [[software: | + | Banked memory services for several banking designs |
| - | [[software: | + | Disk drivers for RAM, ROM, Floppy, IDE, CF, and SD |
| - | [[software: | + | Serial drivers including UART (16550-like), |
| - | ===== Summary ===== | + | Video drivers including TMS9918, SY6545, MOS8563, HD6445 |
| - | RomWBW provides a complete software system for all Z80/Z180 CPU-based systems produced by the RetroBrew Computers Community including the SBC 1/2, Zeta 1/2, N8, Mark IV, RC2014, and Easy Z80. Virtually all RetroBrew hardware is supported including floppy, hard disk (IDE, CF Card, SD Card), Video, Audio, and keyboard. VT-100 terminal emulation is built-in for all video adapters. | + | Keyboard (PS/2) drivers via VT8242 or PPI interfaces |
| - | In addition to a simple system monitor, RomWBW includes robust adaptations of both CP/M-80 2.2 and Z-System (ZCPR + ZSDOS). Either operating system can be loaded directly from ROM or installed and loaded from disk storage. A selection of standard/ | + | Real time clock drivers including DS1302, BQ4845 |
| - | A pre-built ROM image is included for each platform. If desired, system customization is achieved by making simple modifications to a configuration file and running a build script to generate a custom ROM image. All source and build tools are included in the distribution. The build scripts run under any modern 32 or 64 bit version of Microsoft Windows. | + | OSes: CP/M 2.2, ZSDOS, CP/M 3, NZ-COM, ZPM3, QPM, p-System, and FreeRTOS |
| - | John Coffman' | + | Built-in VT-100 terminal emulation support |
| - | ===== Installation ===== | + | 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: |
| - | In general, you will just program your system' | + | System Monitor |
| - | The pre-built ROM images will automatically detect and support a reasonable range of devices including serial ports, video adapters, on-board disk interfaces, and PropIO/ParPortProp boards without building a custom ROM. | + | Operating Systems (CP/M 2.2, ZSDOS) |
| - | RomWBW is distributed as a package | + | ROM BASIC (Nascom BASIC and Tasty BASIC) |
| - | ^Platform | + | ROM Forth |
| - | |SBC V1/V2 |SBC_std.rom | + | |
| - | |Zeta V1 |ZETA_std.rom | + | |
| - | |Zeta V2 |ZETA2_std.rom |Supports ParPortProp (video, kbd, SD Card) | | + | |
| - | |N8 | + | |
| - | |Mark IV |MK4_std.rom | + | |
| - | |RC2014 Z80 |RCZ80_std.rom |Requires external banked 512KB RAM/ROM module; supports ACIA, SIO/2, Compact Flash, PPIDE, and Floppy modules | + | |
| - | |RC2014 Z180|RCZ180_ext.rom|Requires external banked 512KB RAM/ROM module; supports Z180 ASCI, SIO/2, Compact Flash, PPIDE, and Floppy modules| | + | |
| - | |RC2014 Z180|RCZ180_nat.rom|Requires native 512 RAM/ROM module; supports Z180 ASCI, ACIA, SIO/2, Compact Flash, PPIDE, and Floppy modules | + | |
| - | |Easy Z80 | + | |
| - | Your system | + | A dynamic disk drive letter assignment mechanism allows mapping operating |
| - | Connect a serial terminal or computer with terminal emulation software | + | 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 |
| - | Upon power-up, your terminal should display a sign-on banner within 2 seconds followed by hardware inventory and discovery information. When hardware initialization is completed, | + | Multiple disk images are provided in the distribution. Most disk images contain |
| - | ===== Upgrading ===== | + | 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 Card) and move it between systems transparently. |
| - | Program | + | A tool is provided that allows you to access |
| - | If you have spare ROM chips for your system, it is always safest to keep your existing, working ROM chip and program a new one with the new firmware. If the new one fails to boot, you can easily return to the known working ROM. | + | ====== Acquiring RomWBW ====== |
| - | If you use a customized ROM image, it is recommended that you first try a pre-built ROM image first and then move on to generating a custom image. | + | The [[https:// |
| - | It is entirely possible to reprogram your system ROM using the FLASH utility from Will Sowerbutts | + | All source code and distributions are maintained |
| - | Once you have successfully booted your system with the new ROM, you should update the system software from previous releases that you may have copied to disk drives. This is described below. | + | ====== Installation & Operation ====== |
| - | If your system has any bootable drives, then update the OS image on each drive using SYSCOPY. For example, if C: is a bootable drive with the Z-System OS, you would update the OS image on this drive with the command: | + | In general, installation of RomWBW |
| - | <code code> | + | Complete instructions for installation and operation of RomWBW are found in the [[https://github.com/wwarthen/ |
| - | B> | + | |
| - | </code> | + | |
| - | If you have copies of any of the system utilities on drives other than the ROM disk drive, you need to copy the latest version of the programs from the ROM drive (B:) to any drives containing these programs. For example, if you have a copy of the ASSIGN.COM program on C:, you would update it from the new ROM using the COPY command: | + | ===== Documentation ===== |
| - | <code code> | + | Documentation for RomWBW includes: |
| - | B>COPY B:ASSIGN.COM C: | + | |
| - | </ | + | |
| - | The following programs are maintained with the ROM images and all copies of these programs should be updated when upgrading to a new ROM version: | + | [[https:// |
| - | ASSIGN.COM | + | [[https:// |
| - | FORMAT.COM | + | [[https:// |
| - | OSLDR.COM | + | [[https:// |
| - | SYSCOPY.COM | + | [[https:// |
| - | TALK.COM | + | ====== Acknowledgments ====== |
| - | FDU.COM (previously FDTST.COM) | + | 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! |
| - | XM.COM | + | 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. |
| - | MODE.COM | + | 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. |
| - | RTC.COM | + | 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, |
| - | TIMER.COM | + | Sergey Kiselev created several hardware platforms for RomWBW including the very popular Zeta. |
| - | INTTEST.COM | + | David Giles created support for the Z180 CSIO which is now included SD Card driver. |
| - | ===== Usage Instructions ===== | + | 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. |
| - | A typical set of CP/M-80 2.2 and Z-System applications are included on the ROM file system. The Doc directory of the distribution contains the CP/M, ZSDOS, and ZCPR user manuals which provide the primary usage information. Note that the Z-System applications will generally not run under CP/M. | + | Ed Brindley contributed some of the code that supports |
| - | The following custom applications are included on the ROM disk to enhance the operation | + | Spencer Owen created |
| - | ^Appplication^Description | + | Stephen Cousins has likewise created |
| - | |ASSIGN.COM | + | |
| - | |SYSCOPY.COM |Copy system image to a device to make it bootable. Use SYSCOPY with no parms for usage instructions. | + | |
| - | |FDU.COM | + | |
| - | |OSLDR.COM | + | |
| - | |FORMAT.COM | + | |
| - | |MODE.COM | + | |
| - | |XM.COM | + | |
| - | |FLASH.COM | + | |
| - | Some custom applications do not fit on the ROM disk. They can be found on the Hard Disk image hd0.img or the individual files can be found in the Source\Images\hd0 directory in the u0 and u3 subdirectories. | + | Alan Cox has contributed some driver code and has provided a great deal of advice. |
| - | ^Appplication^Description | + | The CP/NET client |
| - | |TUNE.COM | + | |
| - | |FAT.COM | + | |
| - | Please see the [[software: | + | Phillip Stevens contributed support |
| - | Check the [[software: | + | Curt Mayer contributed |
| - | ===== UNA Hardware | + | UNA BIOS and FDISK80 are the products of John Coffman. |
| - | John Coffman has produced | + | FLASH4 is a product |
| - | 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. | + | CLRDIR |
| - | While John is likely to enhance UNA over time, there are currently | + | Tasty Basic is a product of Dimitri Theulings. |
| - | Floppy Drives | + | Dean Netherton contributed the sound driver interface and the SN76489 sound driver. |
| - | Terminal Emulation | + | The RomWBW Disk Catalog document was produced by Mykl Orders. |
| - | Zeta 1, N8, RC2014, and Easy Z80 Systems | + | Contributions of all kinds to RomWBW are very welcome. |
| - | Some older support boards | + | ====== Licensing ====== |
| - | The UNA version embedded in RomWBW is the latest production release | + | RomWBW is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License |
| - | Please refer to the [[software: | + | 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 |
| - | ===== CP/M vs. Z-System ===== | + | You should have received a copy of the GNU General Public License along with RomWBW. If not, see https:// |
| - | There are two OS variants included in this distribution and you may choose which one you prefer to use. Both variants | + | 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. |
| - | The traditional Digital Research (DRI) CP/M OS is the first choice. The Doc directory contains a manual for CP/M usage (“CPM Manual.pdf”). | + | If anyone feels their work is being used outside of its intended licensing, please notify: |
| - | The other choice is to use the most popular non-DRI CP/M “clone” which is generally referred to as Z-System. Z-System is intended to be an enhanced version of CP/M and should run all CP/M 2.2 applications. It is optimized for the Z80 CPU (as opposed | + | < |
| + | Wayne Warthen\\ | ||
| + | \\ | ||
| + | < | ||
| + | </blockquote> | ||
| + | RomWBW | ||
| - | ===== ROM Customization ===== | + | 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. |
| - | The pre-built ROM images are configured for the basic capabilities of each platform. If you add board(s) | + | RomWBW encourages code contributions from others. Contributors may assert their own copyright in their contributions by annotating |
| - | Essentially, | + | All contributions to RomWBW |
| - | For those who are interested in more than basic system customization, | + | ====== Getting Assistance ====== |
| - | Complete documentation | + | The best way to get assistance with RomWBW or any aspect |
| - | Note that the ROM customization process does not apply to UNA. All UNA customization is performed within the ROM setup script. | + | [[forum|RetroBrew Computers Forum]] |
| - | ===== Source Code Respository ===== | + | [[https:// |
| - | All source code and distributions are maintained on GitHub. Code contributions are very welcome. | + | [[https:// |
| - | https:// | + | Submission of issues and bugs are welcome at the [[https:// |
| - | + | ||
| - | ===== Distribution Directory Layout ===== | + | |
| - | + | ||
| - | The RomWBW distribution is a compressed zip archive file organized in a set of directories. Each of these directories has it's own ReadMe.txt file describing the contents in detail. In summary, these directories are: | + | |
| - | + | ||
| - | ^Directory^Description | + | |
| - | |Binary | + | |
| - | |Doc |Contains various detailed documentation including the operating systems, | + | |
| - | |Source | + | |
| - | |Tools | + | |
| - | + | ||
| - | ===== Acknowledgements ===== | + | |
| - | + | ||
| - | While I have heavily modified much of the code, I want to acknowledge that much of the work is derived or copied from the work of others in the RetroBrew Computers Community including Andrew Lynch, Dan Werner, Max Scane, David Giles, John Coffman, and probably many others I am not clearly aware of (let me know if I omitted someone!). | + | |
| - | + | ||
| - | I especially want to credit Douglas Goodall for contributing code, time, testing, and advice. He created an entire suite of application programs to enhance the use of RomWBW. However, he is looking for someone to continue the maintenance of these applications and they have become unusable due to changes within RomWBW. As of RomWBW 2.6, these applications are no longer provided. | + | |
| - | + | ||
| - | David Giles has contributed support for the CSIO support in the SD Card driver. | + | |
| - | + | ||
| - | Ed Brindley has contributed some of the code that supports the RC2014 platform. | + | |
| - | + | ||
| - | Phil Summers has contributed Forth and BASIC in ROM. | + | |
| - | + | ||
| - | UNA BIOS is a product of John Coffman. | + | |
| - | + | ||
| - | ===== Getting Assistance ===== | + | |
| - | + | ||
| - | The best way to get assistance with RomWBW or any aspect of the RetroBrew Computers projects is via the community forum. | + | |
| - | + | ||
| - | [[forum|[[forum: | + | |
| Also feel free to email Wayne Warthen at < | Also feel free to email Wayne Warthen at < | ||
| - | |||
| - | \\ | ||
