User Tools

Site Tools


cp_m

CP/M

Implementing CP/M on the V6Z80P

I became interested in the V6Z80P after I had bought an old Z80 SBC via Ebay. I connected it to a power supply and to the two 5,25“ drives I still had lying around and yes - it did work. Not all of the time, and the floppies weren't that reliable. So I went looking for a Z80 to IDE interface and found Phil's solution for it. I also found the V6Z80P and immediately ordered it. The idea of having a 16 Mhz Z80 to play with was too tempting.

I am not a game person - that is I never took the time to understand the world of sprites and bit-planes (but I do use Microsoft FSX and the Condor Soaring simulator rather a lot) - so for the time being those qualities of the V6Z80P are wasted on me. The ability to reprogram the OSCA also intrigues me, but will require further study. Implementing CP/M seemed a feasible project - I had done that before, although many, many years ago.

I had recently downloaded the original CP/M source and the SBC had come with the official Digital Research manuals. I had all the necessary stuff, and thought it could be done within a number of days. It should just be a matter of adapting Disk I/O and character I/O.

However implementing CP/M took much more time than I had expected. I had to refamilarize myself with different assemblers and linkers and had to study the documentation to be able to adapt the original CP/M files for the V6Z80P. I had to find a way to use old 8080 assembly language source on a modern PC. I also had to understand the FLOS routines: to use (parts) of them for the CP/M system.

Besides that: I had forgotten how addictive assembler programming can be. And how easy it is to make tiny but disastrous mistakes!

In The project archive is a working CP/M 3.0 or Plus for the V6Z80P. You will need a terminal emulator and a serial connection from your PC to the V6Z80P. There is some extra stuff, like Wordstar and Basic in the archive. You will have 4 virtual disks of each 8 Mb. Seems nothing nowadays, but it is more than enough for CP/M.

The archive also contains pdf's of the original manuals.

I will upload the source and a description of how I assembled it all, what programs to use etc. later on.

Next step will be to make a banked version, which would free some memory and use some more of V6Z80P's amazing capabilities.

I am also working on a program that will let you copy files between FLOS and CP/M.

The purpose of this project was to see if it could be done. CP/M gives acces to a lot of retro software and it is an easy operating system if you have the documentation available.

However this could not have been done without FLOS; it provided a solid bridge to the PC-environment. This has been fun and very instructive. Thanks to Phil for designing such a nice little Z80 machine.

If only we could have a 100 Mhz Z80…

cp_m.txt · Last modified: 2017/07/03 21:14 by z00m