
Modifying Montezuma Micro CP/M v2.32 for the Radio Shack Model 4 Computer
-------------------------------------------------------------------------------
Last updated April, 2005.

I began this project because I wanted to add an IDE hard drive to my aging but
still functional Radio Shack Model 4 computer running Montezuma Micro CP/M.
This was to be done using the Generic IDE Interface (GIDE) designed by Tilman
Reh (http://www.iee.et.tu-dresden.de/~kc-club/gide/gide.html) and available
from Frank Dachselt (dachselt@iee.et.tu-dresden.de).

I found that various utilities (sysgen, etc) from Montezuma didn't work on my
computer. Whether that's the fault of Montezuma or some strange problem with
my hardware and/or software was irrelevant. The only essential fact was that
I could not generate a 63K system on my computer! So, I solved the problem by
spending countless hours disassembling the MM CP/M code trying to figure out
how to make it all work.

The result of all this effort (bits and pieces of time spread over years) is
the code contained in this package. There is Z80 assembly source code for:

  1) The MM CP/M boot program.
  2) The CCP.
  3) The BDOS.
  4) The BIOS (version 2.32).
  5) A modified version of sysgen that actually works.
  6) A disassembly of the MM hard disk driver for the Radio Shack 10MB drive.
  7) A utility to combine the assembled code for the boot sector, the CCP,
     the BDOS, and the BIOS into one file ready to be used by sysgen.
  8) Transfer.asm: a CP/M utility for the RS Model4/Model16 computers to
     receive/transmit files over a serial port.
  9) Cpmxfer.c: a Linux utility to receive/transmit files to a CP/M computer.

There is NO guarantee that the commments in any of the source code files are
accurate. I've taken reasonable care to try to understand the code, but I'm
only human.

**** NOTE ****
Do NOT assemble ccp.asm, as some systems (eg: YAZE) use an external ccp.com file
(the ccp is not loaded from the system tracks, but from the file). Instead,
rename the file to reflect the system size (ie: ccp64.asm) and then assemble it.

This code has been reasonably well tested only for a 63K system. It should work
with other system sizes, but if it doesn't, it's up to you to figure out where
the problem is.
**************

The code was assembled with Z80ASM from SLR systems running in a Z80 emulator
(YAZE: http://www.mathematik.uni-ulm.de/users/ag/yaze-ag/devel) on a Linux
computer. The resulting binary files were then transferred from the Linux
machine to the Model 4 over a serial port.

I'm making this code available to the public because I've gone to extreme
lengths to contact Jesse Bob Overholt (the author of Montezuma Micro CP/M).
Montezuma Micro ceased to exist many years ago, and as far as I can tell,
so did Jesse Bob. While this is a great loss to those of us who are into
retrocomputing, it's no reason why the code should be lost, or why users
who've purchased MM CP/M for the Model 4 shouldn't be able to continue using
and modifying their systems.

So, while making this source code available may technically be a violation of
JBO's copyright, I think the greater good of the community outweighs any
conceivable damage to some lawyer's ego. It certainly does no damage to
Montezuma Micro, nor to Jesse Bob Overholt. Jesse, if you're still out there,
I would be quite pleased to know that the news of your demise is premature.


