"Ernest" <ernestls(a)home.com> wrote:
Hi Don. I may be able to get a copy of CP/M-80 but it
won't be for my
specific system. That's the problem. I don't have the OS for it. That's why
I was curious about how difficult it would be to set up a generic copy of
CP/M to run on it. I've never assembled (?) CP/M for a computer, but I've
been reading a how to on doing it, and interested in giving it a shot. I'm
not even sure of how to load/run the system monitor to ID the various
address' but the thing is, as with anything, there's always a first time,
and you have to start somewhere.
Hi Ernest
Most of CP/M is generic but the part called BDOS has to
be specifically written to work on your computer. This
part contains both the disk, printer, punch and serial I/O.
The most important are the disk and serial. Usually the
serial is easy because there were only a limited number
of serial chips used. You don't have to make the serial
interrupt driven. It is easier to make it a simple polled
system at first. I've left mine as a polled system because
I see no need to setup serial when I'm the only user.
The disk I/O is a little more difficult. You'll need
to know how the disk interface works. Most of the newer
disk interfaces use one of the Western Digital series
of chips. The reading and writing of sectors is relatively
easy. You'll still need to have some understanding of
disk formats and how the sectors are addressed.
If you can find examples of code for the interfaces you
have, 95% of the battle is won. You'll need a way of getting
the code into the memory and then to the disk of your machine
or someone else with a running machine can create the
disk. The IMSAIs have the advantage that they have front
panel switches. The machine may have a ROM based monitor
that can be handy. If not, you'll need another machine
to help boot strap your machine. The other machine doesn't
need to be the same type, it only needs to be able to
write the same disk format.
I brought an old IMSAI back to life by doing a BDOS for
it. It had an AY-3-1015 serial chip that was typical
of the older machines. These are generally easy to work
with since there is no software initialization ( other
than clearing power up trash ) that needs to be done.
The 8251 and 8250 type parts require initialization
but they are also more versatile. The disk interface, on
my machine, was an early TTL interface that had DMA to the
machines memory. This took me quite a while to figure out
and it wasn't until I found a schematic that I was able to
figure it out ( it also was broken ). Luckily for you, most
of the newer interfaces use standard chips and are easier to
deal with. In many cases, you can make progress without
schematics and only the chip manufactures spec sheet.
It is also possible that many of the functions you need
are already in ROMs on your machine.
Dwight