Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
playground:wwarthen:start [2017/07/14 00:26]
wwarthen [RomWBW Z80/Z180 System Software]
playground:wwarthen:start [2018/01/31 20:25]
wwarthen
Line 1: Line 1:
 ====== RomWBW ====== ====== RomWBW ======
  
-**Z80/Z180 System Software**\\ +=== Z80/Z180 System Software === 
-Version 2.8.12017-07-05+ 
 +Version 2.9.02018-01-26
  
 Wayne Warthen\\ Wayne Warthen\\
-[[mailto:wwarthen@gmail.com|mailto:wwarthen@gmail.com]]+<wwarthen@gmail.com
 + 
 +**Download:** 
 + 
 +   * [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=software:firmwareos:romwbw:romwbw-2.9.0-package.zip|RomWBW v2.9.0 Distribution Package]] 
 +  * [[https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=software:firmwareos:romwbw:romwbw_architecture.pdf|RomWBW Architecture Document]] 
 + 
 +**Related pages:**
  
-Download: +  [[https://www.retrobrewcomputers.org/doku.php?id=software:firmwareos:romwbw:apps|RomWBW Applications]] 
-  {{:software:firmwareos:romwbw:romwbw_v2.7.1.zip|RomWBW v2.8.1 Distribution Package}} +  * [[https://www.retrobrewcomputers.org/doku.php?id=software:firmwareos:romwbw:zsystem|Z-System Notes]] 
-  * {{:software:firmwareos:romwbw:romwbw_architecture.pdf|RomWBW Architecture Document}}+  * [[https://www.retrobrewcomputers.org/doku.php?id=software:firmwareos:romwbw:errata|Errata]]
  
-Related pages: +===== Summary =====
-  * [[:software:firmwareos:romwbw:errata|Errata]] +
-  * [[:software:firmwareos:romwbw:apps|RomWBW Applications]] +
-  * [[:software:firmwareos:romwbw:diskimages|Disk Images]] +
-  * [[:software:firmwareos:romwbw:zsystem|Z-System Notes]]+
  
-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, and Mark IV. Virtually all RetroBrew hardware is supported including floppy, hard disk (IDE, CF Card, SD Card), Video, and keyboard. VT-100 terminal emulation is built-in for all video adapters.+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, and RC2014. Virtually all RetroBrew hardware is supported including floppy, hard disk (IDE, CF Card, SD Card), Video, and keyboard. VT-100 terminal emulation is built-in for all video adapters.
  
 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/useful applications is provided via a built-in ROM disk. A RAM disk is also provided for fast/temporary file storage. 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/useful applications is provided via a built-in ROM disk. A RAM disk is also provided for fast/temporary file storage.
Line 23: Line 27:
 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. 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.
  
-John Coffman's UNA hardware BIOS is fully supported by RomWBW. See the section below for more information on running RomWBW on top of UNA.+John Coffmans UNA hardware BIOS is fully supported by RomWBW. See the section below for more information on running RomWBW on top of UNA.
  
 ===== Installation ===== ===== Installation =====
  
-In general, you will just program your system's ROM with the appropriate ROM image from the RomWBW distribution. This can be done with a ROM programmer. Alternatively, if you system supports in-situ ROM programming, you can use Will SowerbuttsFLASH application which has been included in recent RomWBW distributions.+In general, you will just program your systems ROM with the appropriate ROM image from the RomWBW distribution. This can be done with a ROM programmer. Alternatively, if your system supports in-situ ROM programming, you can use Will Sowerbutts’ FLASH application which has been included in recent RomWBW distributions.
  
-The pre-built ROM images will 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.+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.
  
 RomWBW is distributed as a package (zip archive) containing the pre-built ROM images, source code, and all required build tools. To use a pre-built ROM image, download the distribution package to a modern computer (Windows, Mac, Linux, etc.). Unzip the archive using any of the common zip management applications. You will see that the distribution is broken up into a few sub-directories. The Binary directory contains the pre-built ROM images. Based on the table below, pick the appropriate ROM image: RomWBW is distributed as a package (zip archive) containing the pre-built ROM images, source code, and all required build tools. To use a pre-built ROM image, download the distribution package to a modern computer (Windows, Mac, Linux, etc.). Unzip the archive using any of the common zip management applications. You will see that the distribution is broken up into a few sub-directories. The Binary directory contains the pre-built ROM images. Based on the table below, pick the appropriate ROM image:
  
-^Platform^ROM Image File^Built-in Device Support| +^Platform^ROM Image File^Built-in Device Support  
-|SBC V1/V2|SBC_std.rom|Supports onboard PPIDE disk, VGA/CVDU video/kbd, PropIO| +|SBC V1/V2|SBC_std.rom  |Supports onboard PPIDE disk, VGA3/CVDU video/kbd, PropIO (video, kbd, SD Card)  
-|Zeta V1|ZETA_std.rom|Supports ParPortProp| +|Zeta V1  |ZETA_std.rom  |Supports ParPortProp (video, kbd, SD Card)  
-|Zeta V2|ZETA2_std.rom|Supports ParPortProp| +|Zeta V2  |ZETA2_std.rom|Supports ParPortProp (video, kbd, SD Card)  
-|N8|N8_std.rom|Supports onboard SD Card, video, keyboard; production board assumed (date code >= 2312)| +|N8  |N8_std.rom  |Supports onboard SD Card, video, keyboard; production board assumed (date code >= 2312)  
-|Mark IV|MK4_std.rom|Supports onboard SD Card, IDE Disk, VGA/CVDU video/kbd, PropIO|+|Mark IV  |MK4_std.rom  |Supports onboard SD Card, IDE Disk, VGA3/CVDU video/kbd, PropIO (video, kbd, SD Card)  | 
 +|RC2014  |RC_std.rom  |Requires Scott Baker 512KB RAM/ROM module; supports ACIA, SIO/2, Compact Flash, PPIDE, and Floppy modules|
  
-Your system does **not**  need to have the devices listed above to use the pre-built ROM. The devices will be detected and used only if present. All you need to have is the CPU board with ROM/RAM and a serial port. All pre-built ROM images are simple 512KB binary images. If your system utilizes a 1MB ROM, you can just program the image into the first 512KB of the ROM. The ReadMe.txt file in the Binary directory has more detailed information on the pre-built ROM images.+Your system does **not**  need to have all the devices listed above to use the pre-built ROM. The devices will be detected and used only if present. All you need to have is the CPU board with ROM/RAM and a serial port. All pre-built ROM images are simple 512KB binary images. If your system utilizes a 1MB ROM, you can just program the image into the first 512KB of the ROM. The ReadMe.txt file in the Binary directory has more detailed information on the pre-built ROM images.
  
-Connect a serial terminal or computer with terminal emulation software to the primary RS-232 port of your CPU board. A null-modem connection will generally be required. Set the line characteristics to 38400 baud, 8 data bits, 1 stop bit, no parity, and no flow control. Select VT-100 terminal emulation.+Connect a serial terminal or computer with terminal emulation software to the primary RS-232 port of your CPU board. A null-modem connection will generally be required. Set the line characteristics to 38400 baud, 8 data bits, 1 stop bit, no parity, and no flow control. Select VT-100 terminal emulation. RC2014 serial port baud rate is determined by hardware, but is typically 115200 baud.
  
 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, a boot loader prompt allows you to choose a ROM-based operating system, system monitor, or boot from a disk device. 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, a boot loader prompt allows you to choose a ROM-based operating system, system monitor, or boot from a disk device.
  
-===== CPU Speed =====+===== Upgrading =====
  
-RomWBW ROM images support virtually any CPU speed your system is runningHoweverthere are some hardware-oriented caveats to be aware of.+Program a new ROM chip from an image in the new distribution. Install the new ROM chip and boot your system. At the boot loader “Boot:” promptselect either CP/M or Z-System to load the corresponding OS directly from ROM.
  
-The use of high density floppy disks requires a CPU speed of 8 MHz or greater. +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.
- +
-The latest X-Modem file transfer programs (XM.COM, XM-A0.COM, and XM-A1.COM) require a CPU speed of 6 MHz or greater to support the default RomWBW serial port speed of 38400 baud. Older variants of the X-Modem programs are included (XM5.COM, XM5-A0, and XM5-A1) which will handle 38400 baud on system running down to 4 MHz. +
- +
-===== Upgrading from Previous Versions ===== +
- +
-Program a new ROM chip from an image in the new distribution. Install the new ROM chip and boot your system. At the boot loader "Boot:" prompt, select either CP/M or Z-System to load the OS from ROM. +
- +
-If you have spare ROM chips for your system, it is always safest to keep your existing, working ROM chip and program a new. If the new one fails to boot, you can easily return to the known working ROM.+
  
 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. 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.
Line 69: Line 66:
  
 <code> <code>
-  B>SYSCOPY C:=B:ZSYS.SYS+ B>SYSCOPY C:=B:ZSYS.SYS
 </code> </code>
  
Line 75: Line 72:
  
 <code> <code>
-  B>COPY B:ASSIGN.COM C:+ B>COPY B:ASSIGN.COM C:
 </code> </code>
  
Line 85: Line 82:
   * SYSCOPY.COM   * SYSCOPY.COM
   * TALK.COM   * TALK.COM
-  * FD.COM (previously FDTST.COM) +  * FDU.COM (previously FDTST.COM) 
-  * XM*.COM+  * XM.COM 
 +  * MODE.COM 
 +  RTC.COM
  
 ===== Usage Instructions ===== ===== Usage Instructions =====
Line 94: Line 93:
 The following custom applications are included on the ROM disk to enhance the operation of RomWBW: The following custom applications are included on the ROM disk to enhance the operation of RomWBW:
  
-^Appplication^Description| +^Appplication^Description  
-|ASSIGN.COM|Add, change, and delete drive letter assignments. Use ASSIGN /? for usage instructions.| +|ASSIGN.COM  |Add, change, and delete drive letter assignments. Use ASSIGN /? for usage instructions.  
-|SYSCOPY.COM|Copy system image to a device to make it bootable. Use SYSCOPY with no parms for usage instructions.| +|SYSCOPY.COM|Copy system image to a device to make it bootable. Use SYSCOPY with no parms for usage instructions.  
-|FD.COM|Format and test floppy disks. Menu driven interface.| +|FDU.COM  |Format and test floppy disks. Menu driven interface.  
-|OSLDR.COM|Load a new OS on the fly. For example, you can switch to Z-System when running CP/M. Use OSLDR with no parms for usage instructions.| +|OSLDR.COM  |Load a new OS on the fly. For example, you can switch to Z-System when running CP/M. Use OSLDR with no parms for usage instructions.| 
-|FORMAT.COM|Will someday be a command line tool to format floppy disks. Currently does nothing!| +|FORMAT.COM  |Will someday be a command line tool to format floppy disks. Currently does nothing!  | 
-|XM.COM|XModem file transfer program adapted to hardware. Note that N8 and Mark IV have XM-A0 and XM-A1 corresponding to the two serial ports on those systems.| +|MODE.COM  |Reconfigures serial ports dynamically.  
-|FLASH.COM|Will Sowerbuttsin-situ ROM programming utility.|+|XM.COM  |XModem file transfer program adapted to hardware. Automatically uses primary serial port on system 
 +|FLASH.COM  |Will Sowerbutts’ in-situ ROM programming utility.  | 
 + 
 +Please see the [[https://www.retrobrewcomputers.org/doku.php?id=software:firmwareos:romwbw:apps|RomWBW Applications]] page for more information on using these applications. 
 + 
 +Check the [[https://www.retrobrewcomputers.org/doku.php?id=software:firmwareos:romwbw:errata|Errata]] page for current usage notes.
  
 ===== UNA Hardware BIOS ===== ===== UNA Hardware BIOS =====
  
-John Coffman has produced a new generation of hardware BIOS called UNA. In addition to the classic ROM images described above, RomWBW comes with UNA-based image that combines the UNA BIOS with the RomWBW OS implementations and applications.+John Coffman has produced a new generation of hardware BIOS called UNA. The standard RomWBW distribution includes it’s 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 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.+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: While John is likely to enhance UNA over time, there are currently a few things that UNA does not support:
  
   * Floppy Drives   * Floppy Drives
-  * Video/Keyboard/Terminal Emulation+  * Terminal Emulation
   * Zeta 1 and N8 Systems   * Zeta 1 and N8 Systems
   * Some older support boards   * Some older support boards
  
-If you wish to try 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.+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 [[software:firmwareos:una:|UNA BIOS Firmware Page]] for more information on UNA.+Please refer to the [[https://www.retrobrewcomputers.org/doku.php?id=software:firmwareos:una:start|UNA BIOS Firmware Page]] for more information on UNA.
  
 ===== CP/M vs. Z-System ===== ===== CP/M vs. Z-System =====
Line 124: Line 128:
 There are two OS variants included in this distribution and you may choose which one you prefer to use. Both variants are now included in the pre-built ROM images. You will be given the choice to boot either CP/M or Z-System at startup. There are two OS variants included in this distribution and you may choose which one you prefer to use. Both variants are now included in the pre-built ROM images. You will be given the choice to boot either CP/M or Z-System at startup.
  
-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 you are new to the RetroBrew Computer systems, I would currently recommend using the CP/M variant to start with simply because it has gone through more testing and you are less likely to encounter problems.+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 you are new to the RetroBrew Computer systems, I would currently recommend using the CP/M variant to start with simply because it has gone through more testing and you are less likely to encounter problems.
  
-The other choice is to use the most popular non-DRI CP/M "clonewhich is generally referred to as Z-System. It is intended to be functionally equivalent to CP/M and should run all CP/M 2.2 code. It is optimized for the Z80 CPU (as opposed to 8080 for CP/M) and has some potentially useful improvements. Please refer to "ZSDOS Manual.pdfand "ZCPR Manual.pdf" in the Doc directory for more information on Z-System usage.+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 to 8080 for CP/M) and has some significant improvements such as date/time stamping of filesFor further information on the RomWBW implementation of Z-System, see the wiki page [[https://www.retrobrewcomputers.org/doku.php?id=playground:wwarthen:zsystem|Z-System Notes]]. Additionally, the official documentation for Z-System is included in the RomWBW distribution Doc directory (“ZSDOS Manual.pdf” and ZCPR Manual.pdf”).
  
 ===== ROM Customization ===== ===== ROM Customization =====
Line 134: Line 138:
 Essentially, the creation of a custom ROM is accomplished by updating a small configuration file, then running a script to compile the software and generate the custom ROM image. At this time, the build process runs on Windows 32 or 64 bit versions. All tools (compilers, assemblers, etc.) are included in the distribution, so it is not necessary to setup a build environment on your computer. Essentially, the creation of a custom ROM is accomplished by updating a small configuration file, then running a script to compile the software and generate the custom ROM image. At this time, the build process runs on Windows 32 or 64 bit versions. All tools (compilers, assemblers, etc.) are included in the distribution, so it is not necessary to setup a build environment on your computer.
  
-For those who are interested in more than basic system customization, note that all source code is included (including the operating systems)+For those who are interested in more than basic system customization, note that all source code is provided (including the operating systems).
- +
-Note that the ROM customization process does not apply to UNA. All UNA customization is performed within the ROM setup script.+
  
 Complete documentation of the customization process is found in the ReadMe.txt file in the Source directory. Complete documentation of the customization process is found in the ReadMe.txt file in the Source directory.
 +
 +Note that the ROM customization process does not apply to UNA. All UNA customization is performed within the ROM setup script.
  
 ===== Source Code Respository ===== ===== Source Code Respository =====
Line 148: Line 152:
 ===== Distribution Directory Layout ===== ===== 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:+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| +^Directory^Description  
-|Binary|The final output files of the build process are placed here. Most importantly, are the ROM images with the file names ending in ".rom".| +|Binary  |The final output files of the build process are placed here. Most importantly, are the ROM images with the file names ending in .rom.| 
-|Doc|Contains various detailed documentation including the operating systems, RomWBW architecture, etc.| +|Doc  |Contains various detailed documentation including the operating systems, RomWBW architecture, etc.  
-|Source|Contains the source code files used to build the software and ROM images.| +|Source  |Contains the source code files used to build the software and ROM images.  
-|Tools|Contains the MS Windows programs that are used by the build process or that may be useful in setting up your system.|+|Tools  |Contains the MS Windows programs that are used by the build process or that may be useful in setting up your system.  |
  
 ===== Acknowledgements ===== ===== Acknowledgements =====
Line 163: Line 167:
  
 David Giles has contributed support for the CSIO support in the SD Card driver. 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.
  
 UNA BIOS is a product of John Coffman. UNA BIOS is a product of John Coffman.
Line 172: Line 178:
 [[https://www.retrobrewcomputers.org/forum/|https://www.retrobrewcomputers.org/forum/]] [[https://www.retrobrewcomputers.org/forum/|https://www.retrobrewcomputers.org/forum/]]
  
-Also feel free to email Wayne Warthen at [[wwarthen@gmail.com|wwarthen@gmail.com]].+Also feel free to email Wayne Warthen at <wwarthen@gmail.com>.
  
 \\ \\
  
  
playground/wwarthen/start.txt · Last modified: 2023/03/16 19:44 by wwarthen
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0