• Please review our updated Terms and Rules here

Create CPM bootable floppy images

Neelix

New Member
Joined
Jun 27, 2019
Messages
8
Hello,

I apologize, my english is not very good.

I would create a CPM bootable floppy image from a zip file. I'm using cpmtools to create floppy images. It could create bootable images using a bootblock file. But I couldn't find such files. I please to help.

I tried other solution such as convert IMD images to img or dsk using Imagedisk or SamDisk, as well as libdsk, but there were unreadable.

Thank's in advance.
 
The boot sector/track is unique to each machine. It usually has a jump to a ROM of the disk controller used. It will then load the rest of the CP/M. Using imagedisk may be an issue with the machine you are using. Some system are MFM while others a FM. Not all controllers support FM. Also the drive has to be compatible with the drive you are going to run it on. Such issues as you need a 360K drive for either FM or MFM. A 1.2M drive will not work.
Here is how I did it.
First, I learned how the target controller formatted the disk. I was using an IMSAI so I could enter a small program by hand. With this, I formatted the disk.
I then wrote a small program to take the serial data and put it into RAM. This wasn't a fancy transfer program. It was just read a byte from the serial port and write it to the next RAM location. I transferred my boot track and the rest of CP/M into the IMSAI's RAM. I toggled in a simple program to write the data to the disk.
This brought the machine up to life. I later copied the additional CP/M utility programs into the machines memory and used the CP/M debugger to write them to disk files ( things like EDIT and such ).
This all sounds complicated but I did it all step by step. It wasn't done in a single day. I studied the controller. I wrote and toggled a lot of test code in to see what it might do. If you don't have a monitor on your machine, you might consider using an EPROM to get started. You'll likely need to learn some assemble code for the Z80. I hand assembled most of my code but there are a number of fine assemblers available on the web.
It wasn't an impossible task. It was worthwhile for the amount I learned.
Dwight
 
I tried to run a Cromemco emulator.

I'm not familiar with assembly programming. For many year, I tried Z80 assembly, but I couldn't write a functional program.
 
I tried with IMDOS on the IMSAI emulator that comes with altair32, and with cromemco CPM, with a 16FDC boot image, on Z80pack cromemcosim.
 
It is going to be difficult without being able to write some assembly or at least read and understand assembly. Much of the needed Z80 instructions are really the same as 8080. It isn't until you need faster block I/O operations that there is much difference between the two. If you are familiar with 8080 you might only code those parts that you need in Z80 as bytes and just put 8080 in for the rest. If you have the needed interfaces information, the amount of coding should be minimal.
Dwight
 
You mention z80pack elsewhere, so if all you are trying to do is create a bootable image that you can then put programs onto you would do the following:

From the host os, say Linux, create a floppy image:

$ mkfs.cpm bootable.floppy.cpm

Then connect that image to a disk other than A: on the emulator, maybe D:

$ ln -s bootable.floppy.cpm drived.dsk

Then boot the emulator and from within it SYSGEN the disk
A> SYSGEN

At the source prompt enter: A
At the destination prompt enter: D

Then once done reboot.

Finally to put some useful files onto the disk:
A> PIP D:=A:*.*[v]

You should now be able to connect that disk image to A: and use it as a bootable floppy.

Best wishes


Lorry
 
Back
Top