Running CP/M code on the Sharp MZ-2500 (a.k.a. SuperMZ)
Posted: Thu Feb 15, 2018 9:37 am
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 ?
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 ?