Screen shot of emulator
Screen shot of emulator

OS-9 Level 2

This emulator implements a OS-9 Level 2 operating system with two terminals, a printer and a 6 GB harddisk. It starts TSMon on the console (/Term) and /T1. This can be changed in the startup file.

How to run it

This is a Java 8 or higher program. Download the JAR and the boot-os9l2.dsk files and type: java -jar l2multi-X.Y.Z.jar, where X, Y, and Z correspond to the version numbers. The boot-os9l2.dsk will only work on the latest version.


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. Default is TeleVideo 912
-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 'l2multi' emulation in the OSNINE GitHub project. Send me a Pull Request if you make some improvements.

Change log

Version 0.7.1 - 2020-12-03
Fix in Clear-to-EOL control sequence.
Version 0.7.0 - 2020-09-08
/Term & /T1 located where GIMIX would place them.
OS9p1, OS9p2 should work on GIMIX with enhanced DAT.
Keyboard editing from Dragon 128 activated.
Peter Durham's printerr functionality for Level II added as OS9p3.
Login is used to select a "profile" for different experiences. There are currently: dynacalc, mwcc, pascal & startrek.
Version 0.6.0 - 2020-08-12
ROM and I/O blocks are in the conventional locations. I.e. the I/O block is in $FE000, and the ROM block in $FF000. The devices are now in the I/O block, and the Boot module resides in the ROM block.
Version 0.5.0 - 2020-08-09
Initial release. Uses the GIMIX enhanced DAT at $FFF0, but the ROM and I/O blocks are still in reverse order as on the Dragon 128. I.e the OS9p1 and the devices are in the same memory block!



The system uses a modified kernel from Dragon 128 with a block size of 4K and the GIMIX enhanced DAT. 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.

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