CP/M on mbed.

8080 emulator.

Inspired by Sprite_tm's excellent CP/M-on-an-AVR http://spritesmods.com/?art=avrcpm

and by ZiCog on the Parrallax Propeller http://forums.parallax.com/forums/default.aspx?f=25&m=332138&g=443576#m443576

 

Now runs from Sprite's bootdisk image (renamed to 'cpm_disk.cpm') as far as 'Bdos Err on d: Select' !! 11/5/2010

WORK IN PROGRESS but hopefully a lot of the grunt work is done. 7/5/2010.

 

 

 


4 comments

10 May 2010

Run's IPL code but then heads for the long grass - D'oh! Sprite's CP/M is compiled for a 64KB system. I'll only have 20KB..

Time to re-assemble the ipl and bios.. but don't have z80tools to hand so changed disk-image manually to match a 20KB model - just like handcoding those ZX81 programs in my youth - it all comes back!

Now looking for a 20KB CP/M to copy'n'paste into image (this was the default image back-in-the-day).

11 May 2010

HHhhmmm.. finding a clean, 20k version of CPM.SYS not as easy as I hoped..

Have gone down the path of segmenting the memory and using Sprite's original diskimage. My RAM now looks to have a hole in from 0x4D00 to 0xDC00 (where CP/M starts). Code now runs as far as....

Bdos Err on A: Select

but then polling the serial port doesn't seem to do anything. Ho hum.

09 Nov 2010

Success - sort of.

boots CP/M. Runs 'STAT' and 'PIP' but disk writes, such as a 'SAVE', or starting 'ASM', trash the disk image (file name is changed to all UPPERCASE and length becomes a couple of k).

STAT reports all file sizes as 0kB. Don't know if this is related or do I have a dickie instruction somewhere - I had a lot of trouble with a SBC (subtract with carry) that ended up adding, rather than subtracting, the carry bit.

I'm not going to be able to play ZORK in the RAM I have!

 

 

17 Jul 2011

I know this thread is quite old but have you tried using ABSHRAM0 and ABSHRAM1 (two blocks of 16k) as extra memory ?

You need to log in to post a comment