[Coco] CP/M emulator for OS-9

Cocodemus retrocanada76 at gmail.com
Tue Apr 7 07:58:18 EDT 2015


For those interested I have optimized even further the code. I made a video for my fellow brazilians (its in portuguese) but you can see how it works.

Only runs in Level 2 preferably on a 6309 but is full 6809. Just mount the disk and run the lowercase script in each disk, like turbo, zork, etc.

 In the video i have copied them all to my hdd. But keep in mind some applications like turbo pascal will hang when displaying a hdd directory. Too many free bytes to display. It runs fine from disk though.

>  
> https://www.youtube.com/watch?v=6viIVxViKvE
> 

Source code and sample disks:

> 
> https://sites.google.com/site/tandycocoloco/dropbox/CPM_Emulator_for_OS-9L26809-v1.1.zip?attredirects=0&d=1
> 

For those interested in details the cpm code is less than 8KB, leaving 56KB for the application. The memory used is the level2 "flat mode", making a direct map to z-80 memory addresses. The variables  (DP and U register) are moved to the top of the memory leaving the z-80 addresses intact. 
Support routines and minimal CP/M routines are provided through a software trap mechanism: memory $ffff. This tells when exiting emulated environment to os-9 real calls.

There are several LUT's, each instruction is fetched and executed. All z-80 registers are memory positions. LUTs are used to flag conversion and parity calculations.

You can use 3 terminals: native os-9( you need to reconfigure the cp/m software to use os-9 escape codes) or Dec vt-52 (-v option) or kaypro ii (-k option). Most of the cp/m available software are for the two.

Enjoy


More information about the Coco mailing list