Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| software:firmwareos:zsos:start [2022/11/28 21:47] – Revision from 2022-11-28 | software:firmwareos:zsos:start [2026/06/15 13:27] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | /* Imported from Wayback Machine | ||
| + | | ||
| + | | ||
| + | | ||
| + | */ | ||
| + | |||
| + | ====== ZSOS ====== | ||
| + | |||
| + | ===== Overview ===== | ||
| + | |||
| + | ZSOS (Z80 SBC OS) is a CP/M 3 distribution for the S100Computers.com Z80 Single Board Computer. John Monahan of the S100Computers.com website designed this board as a “starter board” for new users to “bootstrap” an S-100 system from scratch. The S-100 Z80 SBC contains a Z80 CPU, ROM, RAM, an interface for an IDE drive or IDE→CF adapter, and a USB-based serial connection. Typically in the past, these functions would have required a set of 4 S-100 boards - the Z80 CPU (w ROM socket), a RAM card, a CF/IDE storage card, and a Serial I/O card. | ||
| + | |||
| + | **For a complete description of the board including build instructions** visit the [[http:// | ||
| + | |||
| + | **For questions or discussion about this board or ZSOS**, please visit the [[https:// | ||
| + | |||
| + | ===== Credits ===== | ||
| + | |||
| + | These images are based on John Monahan' | ||
| + | |||
| + | ===== Downloads ===== | ||
| + | |||
| + | ==== ZSOS Distribution ==== | ||
| + | |||
| + | === Latest/ | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Choice of 2 images files: | ||
| + | |||
| + | Non-banked CP/M 3 w/43K Transient Program Area | ||
| + | |||
| + | Banked CP/M 3 w/53K Transient Program Area | ||
| + | |||
| + | Includes support for a single drive on the CF card (A:) | ||
| + | |||
| + | User Area 0: CP/M 3 Base Files | ||
| + | |||
| + | User Area 1: XMODEM + Kermit + MBASIC 5.29 | ||
| + | |||
| + | User Area 2: SuperSoft Utilities | ||
| + | |||
| + | User Area 3: DDTZ Debugger (will need to be built from source) | ||
| + | |||
| + | User Area 4: BDS Tiny C | ||
| + | |||
| + | User Area 5: Games | ||
| + | |||
| + | User Area 6: Turbo Pascal 3.0 | ||
| + | |||
| + | User Area 7: Development Utilities | ||
| + | |||
| + | User Area 8: < | ||
| + | |||
| + | User Area 9: < | ||
| + | |||
| + | Latest Windows cpmtools included in the .zip, along with Windows batch file and linux script to load User Areas 8 & 9 | ||
| + | |||
| + | Additional Changes | ||
| + | |||
| + | Improved CF card compatibiliy. Thanks to David Fry for the debugging work to make this happen. | ||
| + | |||
| + | CP/M I/O devices respect the IOBYTE switches on the Z80 SBC at boot, and can be remapped on the fly after boot. | ||
| + | |||
| + | Added SWEEP.EXE to User Area 0 | ||
| + | |||
| + | Removed some files from User Area 0 that only worked under SIMH | ||
| + | |||
| + | Latest Windows cpmtools included in the .zip, along with batch files and linux script to load User Areas 8 & 9 | ||
| + | |||
| + | === Old Versions === | ||
| + | |||
| + | [[https:// | ||
| + | [[https:// | ||
| + | |||
| + | ==== Source Code & Development Environment ==== | ||
| + | |||
| + | {{[[lib: | ||
| + | |||
| + | The ZSOS .zip file includes copies of all files that were modified from John M's original CP/M 3 files. For a description of the tools used to create these image files (without even having access to the Z80 SBC hardware!) see the [[software: | ||
| + | |||
| + | {{[[lib: | ||
| + | |||
| + | ===== Setting Up ZSOS on the S100Computers Z80 SBC ===== | ||
| + | |||
| + | ==== Overview ==== | ||
| + | |||
| + | This writeup covers the installation initial bring-up of the ZSOS CP/M 3 distribution on the [[http:// | ||
| + | |||
| + | The instructions below assume the following: | ||
| + | |||
| + | The builder has completed the steps outlined on the [[http:// | ||
| + | |||
| + | The board booting and is operating properly with the SBC Monitor input/ | ||
| + | |||
| + | The builder plans to operate SBC using the onboard RAM and ROM chips (configuration of jumpers for other RAM/ROM boards is outside the scope of this document). | ||
| + | |||
| + | The only boards in the S-100 bus are the Z80 SBC and // | ||
| + | |||
| + | It is recommended that the user start with the ' | ||
| + | |||
| + | ==== SBCMON Monitor ROM Version ==== | ||
| + | |||
| + | **For use with ZSOS v0.30 and higher, the Z80 SBC should be configured with the SBCMON Monitor ROM version 2.3 or higher.** Updates were made in SBCMON 2.3 to allow the banked version of ZSOS to boot reliably and to improve CF card compatibility. SBCMON can be found on the [[http:// | ||
| + | |||
| + | ==== CompactFlash Card Adapter Configuration/ | ||
| + | |||
| + | The recommended CompactFlash (CF) → IDE adapter is the [[http:// | ||
| + | |||
| + | Jumper JP3 on the adapter should be set to the ' | ||
| + | |||
| + | ==== Compact Flash Card Selection & Write Testing ==== | ||
| + | |||
| + | Updates included in the most recent versions of the SBC Monitor ROM & ZSOS have greatly improved CF card **read** compatibility with the Z80 SBC. However some CF cards may still have problems with **writes**. Following a successful boot of ZSOS, the following command can be run at the CP/M A> prompt to verify writes are working:\\ | ||
| + | '' | ||
| + | The expected output should be a list of files copied, and then a return to the A> prompt with no errors. The copied files can then be deleted using the following commands:\\ | ||
| + | '' | ||
| + | '' | ||
| + | '' | ||
| + | |||
| + | ==== Board Configuration ==== | ||
| + | |||
| + | Click on the image below for an ultra-high resolution photo of the board. White jumpers have been installed to make the jumper configurations across the board clearly visible. | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | === IDE Pin 20 Power === | ||
| + | |||
| + | If using the recommended SYBA SD-CF-IDE-DI adapter, Jumper P104 can be installed on the Z80 SBC to send power to the adapter via IDE Pin 20. See photo below. | ||
| + | |||
| + | **If using a different CF→IDE adapter than the recommended part, the user //must// confirm that the adapter can accept power over IDE Pin 20 and pass it to the CF card prior to installing this jumper. Accidental connection of this optional power signal to ground through an adapter that grounded IDE Pin 20 could result in damage to the user's S-100 hardware!** | ||
| + | |||
| + | {{https:// | ||
| + | |||
| + | === Recommended Wait State Configurations === | ||
| + | |||
| + | There are various speeds of Z80 CPU and 8255 parallel port interface chip available. The following table shows recommended I/O wait state configurations for maximum CF card compatibility. While developing ZSOS 0.30, 1 wait state was needed to achieve stable operation with an 8 MHz Z80 and a 5 MHz 8255. | ||
| + | |||
| + | The data in the table below is based on an extensive set of tests conducted with 3 different CF cards, 4 MHz and 8 MHz CPU oscillators, | ||
| + | |||
| + | ^Z80 Clock Speed (U46)^8255 Rated Speed^# of I/O Wait States^Tested? | ||
| + | |4 MHz |5 MHz | ||
| + | |4 MHz |8 MHz | ||
| + | |8 MHz |5 MHz | ||
| + | |8 MHz |8 MHz | ||
| + | |||
| + | **Note:** Operation of the Z80 SBC at 10 MHz was **not successful** during ZSOS development - the ROM Monitor would not come up, even with multiple combinations of RAM, I/O, and ROM wait states tested. This is consistent with John M's comments in the ' | ||
| + | |||
| + | Jumper configuration for 0 I/O wait states: | ||
| + | |||
| + | {{https:// | ||
| + | |||
| + | Jumper configuration for 1 I/O wait state: | ||
| + | |||
| + | {{https:// | ||
| + | |||
| + | === IOBYTE DIP Switchs === | ||
| + | |||
| + | The configuration of the IOBYTE DIP switches is often a point of confusion for users of this board. The bits which are controlled by the DIP switches are attached to ' | ||
| + | |||
| + | The short explanation is: | ||
| + | |||
| + | Bits are numbered from the right side (0) to the left (7). The left 2 DIP switches are not connected to anything, those bits are used instead as the status bits for the DLP USB→Serial adapter. | ||
| + | |||
| + | Only bits 5, 1, and 0 are currently in use by SBC Monitor (2.3) and ZSOS (0.30). | ||
| + | |||
| + | The default configuration set by the pull-up resistors (all DIP switches open/ | ||
| + | |||
| + | Setting Bit 5 to closed/ | ||
| + | |||
| + | Setting Bit 0 to closed/ | ||
| + | |||
| + | Setting Bit 1 to closed/ | ||
| + | |||
| + | The photos below illustrate the switch numbering and some possible combinations. | ||
| + | |||
| + | {{https:// | ||
| + | |||
| + | {{https:// | ||
| + | |||
| + | {{https:// | ||
| + | |||
| + | {{https:// | ||
| + | |||
| + | The operation of the DIP switches is different between the SBC Monitor ROM and ZSOS. The SBC Monitor always respects the DIP switch positions. ZSOS reads the DIP switches during boot and sets an initial mapping of BIOS routines for the separate physical '' | ||
| + | |||
| + | ==== CompactFlash Card Preparation ==== | ||
| + | |||
| + | Click on the thumbnails below to see screenshots of this process. | ||
| + | |||
| + | Download the latest ZSOS image from the main ZSOS wiki page. | ||
| + | |||
| + | Unzip the zip file. | ||
| + | |||
| + | Insert CF card into a USB card reader and attach to modern computer' | ||
| + | |||
| + | Download the ' | ||
| + | |||
| + | Run the Etcher software (note - Etcher often takes a few seconds to load and appear even on fast PCs.) | ||
| + | |||
| + | Select the image to be written, either the ' | ||
| + | |||
| + | An error message will appear that this does not appear to be a bootable image. Etcher does not know about the format of this CP/M image, so click ' | ||
| + | |||
| + | ' | ||
| + | |||
| + | Click the ' | ||
| + | |||
| + | After the flash is completed, a screen will be displayed showing that it was successful. | ||
| + | |||
| + | After flashing is complete, close ' | ||
| + | |||
| + | Eject/ | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ==== First Boot ==== | ||
| + | |||
| + | At this point, make sure your S100 system is turned off, insert the CF card in the CF→IDE adapter, and boot it up. When the SBC Monitor prompt has loaded, the ' | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ==== CP/M 3 Manuals ==== | ||
| + | |||
| + | The following CP/M 3 manual are available. Recommended for new users: | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Recommended for advanced users: | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | These manuals are also included in the ZSOS .zip distribution. | ||
| + | |||
| + | ===== Adding additional files to the image ===== | ||
| + | |||
| + | Additional files can be added to the image in User Area 8 and/or 9 by following the procedure below. For the purposes of this procedure, the ' | ||
| + | |||
| + | Windows | ||
| + | |||
| + | Copy the files to be added to the CF card image to the folders ' | ||
| + | |||
| + | Open the Windows Command Prompt | ||
| + | |||
| + | Change directories to the unzipped ZSOS distribution folder | ||
| + | |||
| + | Run ' | ||
| + | |||
| + | Linux | ||
| + | |||
| + | Ensure you have the cpmtools package installed. | ||
| + | |||
| + | Add the text in the diskdef-s100ide file to the top of the file / | ||
| + | |||
| + | Copy the files to be added to CF card image to the directories ' | ||
| + | |||
| + | Open a bash terminal | ||
| + | |||
| + | Change directories to the uzipped ZSOS distribution directory. | ||
| + | |||
| + | Run ' | ||
| + | |||
| + | New files named '' | ||
| + | |||
| + | ===== Where to get additional CP/M Software ===== | ||
| + | |||
| + | There is a huge archive of CP/M software at http:// | ||
| + | |||
| + | ===== References ===== | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
