UNA BIOS Firmware

UNA started at the time of the introduction of the SBC Z180 Mark IV cpu board. The original intent was to create a shadow BIOS for the Mark IV upon which to run an OS starting with CP/M. Shortly into the project it was realized that using the 32K/32K N8VEM memory model made it possible to create a BIOS common to all of the ECB Z80/Z180 boards.

Related pages:

UNA is very much a work-in-progress at this time, but with several people now working with the project, the need for a central software repository was needed. Hence, the creation of this folder hierarchy.

One of the basic tenets of UNA is that the configuration of I/O drivers be done in the NVRAM, not as compile-time options. Hence, there is only one UNA binary to distribute. It runs on the following platforms:

  • SBC v1 checked
  • SBC v2 checked
  • Zeta v2 (no support for floppy controller yet)
  • Mark IV **checked

UNA is believed to run on the Zeta, although checking is still needed.

UNA has provisions to support the two N8 Home Computer boards.

The following peripherals are supported:

  • DS1302 NVRAM and clock/calendar (NVRAM is mandatory)
  • PPIDE add-on to the SBC v1/v2 parallel port
  • IDE (master/slave), SD card, and RS-422 comm. port on the Mark IV
  • Serial I/O on all boards (may be used as a console)
  • Propeller I/O v2 (may be used as a console)
  • Disk I/O v3 (IDE section only)
  • Dual IDE (IDE section only)
  • Dual SD card
  • RAMdisk and ROMdisk (for CP/M)

The peripheral board support which is planned includes:

  • Color VDU (may be used as a console)
  • 9266 and WD37C65 floppy controllers
  • RAM/floppy
  • 4MEM expanded memory (Mark IV only)
  • uPD7220 graphics (far future)


  • UNA binaries – history of binary snapshots of the UNA ROM image
  • UNA tools – tools needed to make UNA from source
  • UNA source snapshots – daily/weekly or whatever ZIPs of the UNA source as it evolves
  • UNA CP/M – A CP/M 2.2 distribution built on UNA by Will Sowerbutts

Git repository: https://github.com/willsowerbutts/unacpm

Release 3.0-46 alpha (24-Jul-2017)

This is a pre-release of the VGA3 support codes. The keyboard emulates a TTY, returning 7-bit ASCII codes normally, and specific 8-bit codes for the extended 104/105 PS/2 keyboard. These extended codes are compatible with RomWBW, but will display as oddball ASCII by CP/M, which masks all input to 7-bits. NumLock, CapsLock, and ScrollLock lights are enabled. The first two operate as expected, and I am considering implementing ScrollLock as an End-of-Line XON/XOFF – which I think IBM may have intended from the outset. Comments would be welcome.

VGA scrolling is accomplished using 2 sets of screen registers in the HD6445 chip.

This release should not be installed until a new VGA3 board has been checked out with the test codes (video & keyboard) that do output on the Serial line.

Release 2.1-45 (14-Jan-2017)

Release 2.1, build 45, fixes a bug which affected the Dual SD card slot 0. The driver was designed to support hot-swapping, as used by FDISK80.com, but a bug in the driver made only slot 1 accessible. The bug affected other disk drivers, also, and all have been updated.

CP/M is revised to fix 'bootdisk.bin', in case anyone is trying to create a bootable disk drive. And, the ROMdisk images included with the release are revised. Please contact John Coffman (johninsd at gmail.com) if this presents a problem for anyone. A lot of the programs in prior ROMdisk images were badly outdated.

When you upgrade the BIOS, do not forget that UNA will boot with a delay of 10-15 seconds as it searches for the console device.

Release 1.00-17 (01-Aug-2014):

In this top-level folder you will find the UNA 1.00 binary (512K file includes CP/M and ROMdisk), the version of Will Sowerbutts latest CP/M which runs on top of UNA, and the UNA source code for the BIOS. This version has been checked out on the SBC Z180 Mark IV, the Z80 SBC v2, and the Z80 SBC v1. CF cards and SD cards are the media generally used with this release. Hard disks may be used with the various PPIDE boards, and the Dual IDE board.

This version of UNA is presumed to also run on the Zeta, but a PPIDE card will be needed to attach external media.

Console support for the on-board Serial I/O (all CPU boards) and the Propeller I/O v2 board is implemented.

NOTE: The first time you boot a new UNA release, there is a 10 second delay while it auto-detects the console. This delay will also be experienced if you request a “Full Init” from the setup menu. The “Full Init” is only required if you are changing ROM's, or changing consoles.

Beta Release 2.00-38 (18-Apr-2015) (2.50 indicates BETA release)

Needed updates to support the Zeta2 are added. Source and binary files are in the 'snapshots' folder.

John Coffman


software/firmwareos/una/start.txt · Last modified: 2018/07/07 10:21 by b1ackmai1er
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0