Screen shot of emulator
Screen shot of emulator

OS-9 Level I Workstation

OS-9 Level I is an operating system that provides a feeling of running UNIX, but on an 8-bit processor and maximum 64 KB RAM. It was normally used for single-user workstations with floppy disks, whereas Level II was for multi-user systems.

How to run it

This is a Java 8 or higher program. Download the JAR and the OS9.dsk files and type: java -jar os9l1ws-X.Y.Z.jar, where X, Y, and Z correspond to the version numbers.


Options and arguments can be added after the jar-file on the command line.

-t argSet terminal type: teletype, go51, go80, h19, vdg or tvi912
-f numberSet font size. Default it 16 points (1/72 inch)
-0 imageLoad .DSK or .VDK disk image into /D0
-1 imageLoad .DSK or .VDK disk image into /D1
Extra arguments are assumed to be disks to load into drive 0 and drive 1


It is much more convenient to select a terminal that has 80 columns, but some of the available software can only run on GO51 or the 32 columns by 16 lines video display generator (VDG) on the Coco and Dragon. If you want to use the VDG, then set the font size to about 30. Also do tmode upc pag=16. The Heath H-19/Zenith Z-19 was quite popular in its day, and the Televideo 912 has usable cursor keys. The left cursor key sends code 0x08, so set the backspace code to match the rubout key with tmode bsp=7F.

Source code

The emulator is the 'l1ws' emulation in the OSNINE GitHub project. Send me a Pull Request if you make some improvements.

Change log

Version 3.0.0 - 2020-09-06
Renamed to os9l1ws now that there is an emulator for OS-9 Level II.
Changed to boot in single-user mode.
Version 2.1.0 - 2020-04-19
Emulation of multiple terminal types: DragonPlus Board (default), Coco/Dragon GO51, Heath H-19, Coco/Dragon VDG (32x16), Teletype printer and Televideo TVI 912
Added RMS to OS9.dsk
Version 2.0.1 - 2020-04-07
Fixed problem when data is sent too quickly from the terminal to the ACIA
It is now possible to paste text into terminal 1
New basic09 (y2k compliant) and stylograph binaries in OS9.dsk
Fixed problem when Alt-Tab is used to switch between windows
Version 2.0.0 - 2020-03-07
New terminal emulation code. Jar size is now 500 kB smaller!
Uses /term and /t1 for more compliance with conventions.
Version 1.1.0 - 2019-11-14
Disks can be changed from the Devices menu.
Can read headerless (DSK) as well as the VDK format from the PC-Dragon emulator.
New command line options: extra arguments are assumed to be disks to load into drive 0 and drive 1.
Version 1.0.0 - 2019-10-27
Initial release



The system uses the kernel from CoCo/Dragon 64. The terminals and printer are implemented as emulated 6850 ACIAs. The harddisks are implemented as a pseudo device where the issues of spin up, rotational delay, noise etc. are removed. Additionally, there is a clock device, which gets the time from the host. The CPU is interrupted 50 times a second to facilitate multitasking.

If you want to put some files on the disk image, then the 'os9' command in the ToolShed package is recommended.