View Full Version : Superbrain MOVCPM is missing

June 27th, 2017, 07:46 AM

I'm looking for ideas after I discovered a lack of any MOVCPM on any of the Superbrain disk images in the Maslin Archives. it's not entirely surprising as there are specific addresses in the SB memory map that are reserved (screen RAM, mail boxes for CPU2 to operate the floppy interface, amongst other things).

I need to make space for the uIDE driver and its ALV buffers - about 2k for a full complement of IDE partitions - but I wondered if I could move the CCP / Top of TPA down by 2K, leaving the BIOS as-is. Would this be readily achievable without a proper MOVCPM? How does CPM know where the top of the TPA is, and does it refer to any vector when (re)loading the CCP?


June 27th, 2017, 08:00 AM
I looked at our old friend, the Alteration Guide. It seems that the address in 0006h is regarded as the lowest byte that CP/M uses (i.e., top of the TPA + 1), so the first thing to do would be to lower this by 2K and add a JMP <old BIOS entry point> followed by my uIDE code. But the question of CCP loading is still there. I think I would need to relocate the CCP code down by 2k then alter WBOOT (and BOOT maybe) to load it into the new address; then of course I need to SYSGEN it (and maybe the new BIOS, if I end up producing one) onto the floppy's boot track?

If all that is true, I would ask for guidance as it's not exactly per the Alteration Guide.

There exists source for the SB BIOSes but some of the calls are undocumented and I'm trying to avoid the effort of reverse engineering it all, because the driver would be less portable if it is built into one of the BIOSes at the source level. There are many Superbrain BIOSes and I don't want to have to reverse engineer all of them! So this proposed scheme is a "partial MOVCPM" in that we will move just the CCP and leave the Intertec BIOS intact, then patch the driver below it (on the Model II I had MOVCPM.COM and so the uIDE driver was above the BIOS when installed).

June 27th, 2017, 08:01 AM
Some months back, I sent Larry an image of a Superbrain disk that I had on file. I don't recall if it included MOVCPM, but it might have. You might want to see if he still has it.

June 27th, 2017, 10:41 AM
I think he shared those with the Superbrain guys (me included).

There's no MOVCPM an any of them that I could find.

June 27th, 2017, 12:14 PM
Hmmm, curious. Well, you can always take a generic MOVCPM to generate the BDOS/CCP portions, then patch your own (relocated) CBIOS in--remember to alter the boot sector also. Note that MOVCPM checks the serial number of the copy of CP/M that it has against the serial number of the running CP/M. If they don't match, you get the nasty "Synchronization error"--there's way to patch MOVCPM to get rid of that, however.

I'll try to get some time to check my other SB disks to see if any one has a "MOVCPM.COM" file.

June 29th, 2017, 04:11 AM
I searched my Drive and found these mov* files for the SuperBrain:

find . -iname "mov*.*"


Perhaps the movit.com is movcpm.com renamed for the SB.


June 29th, 2017, 07:19 AM
My recollection is that movit (if it's the same program) was a file transfer utility. It's hard to remember, but the name rings a distant bell.

June 29th, 2017, 10:56 AM
You're bang on the money Chuck.

I saw them a while ago and found they are serial transfer programs. Not really useful when you have KERMIT.

A review of the Superbrain manual reveals a list of the contents of the boot disk. No MOVCPM.

June 29th, 2017, 04:48 PM
I may forget where I put my glasses, my coffee and my wife, but some of the old wetware hasn't dried out, I guess. :)

I suppose there's nothing wrong with creating your own full-blown MOVCPM if you have the BIOS source to make a PRL file. Or you can simply assemble the BIOS to be in the right place and MOVCPM the BDOS and CCP and patch the whole thing together. It's not that hard.

Here's a thread that describes the MOVCPM "Sychonization error" patch (https://groups.google.com/forum/#!msg/comp.os.cpm/CqPQsJniUTM/C_9VdomDHGEJ). You'll note that it just no-ops a JNZ (test for serial number match).

June 30th, 2017, 10:39 AM
As an example, here's my thread how to build movcpm from scratch for CompuPro

Larry G