Running CP/M code on the Sharp MZ-2500 (a.k.a. SuperMZ)

Post Reply
stefano
Well known member
Posts: 2137
Joined: Mon Jul 16, 2007 7:39 pm

Running CP/M code on the Sharp MZ-2500 (a.k.a. SuperMZ)

Post by stefano »

I was able to run the MZ-2500 emulator by Takeda, recently few floppy images appeared online, including something in CP/M format: "Personal CP/M" and "Unknown - Small C" and "Multiplan".

I used SamDisk to convert the .D88 disk image to a format suitable for "cpmtools", the .DSK one is a good choice, because the RAW format is not able to remember the disk format detail (cyls, heads, sectors, etc..).

So:

SAMdisk unk_smallc.d88 unk_smallc.dsk

Now we need a cpmtools version built with libdsk to be able to handle the .DSK format ("edsk" type), I experimentally discovered that the official distribution is not the ideal one for Windows, so I'm using the Australian variant for the MicroBee (cpmtools-2.10i).

We first need to create a new entry in the "diskdefs" file:

# Sharp MZ-2500, Personal CP/M
diskdef mz2500
seclen 256
cylinders 80
sectrk 16
heads 2
blocksize 2048
maxdir 128
boottrk 2
os 2.2
end


To insert a file in the disk image:

cpmcp -T edsk -f mz2500 unk_smallc.dsk a.com 0:a.com


The emulator supports the "DSK" file natively, but it is still possible to switch back to the .D88 disk image type with SAMdisk.

The Personal CP/M for the SuperMZ supports a DEC VT console, partially compatible to the VT-ANSI escape sequences.

I haven't created target specific libraries yet, anyone willing to play with it ? ;)
Post Reply