Some of the basic games that have been stored as CP/M com files are missing from the sorcerer archives at Microbee Technologies (Alan Laughton is the curator) so i went through the process of transferring them back to audio files.
These were translated to wav files as follows:
At monitor GO BC00 to boot up CP/M.
Load the basic rompac (LDRAM).
Reset – starts basic.
Bye to return to monitor.
SE T=1 to set 300 baud.
GO BC00 to boot up CP/M.
Load up the game eg A>LAIR to load up LAIR. This starts up the ROMPAC basic.
Load up Audigy on a PC.
Set recording gain to max and the input to mono.
Connect LINE IN on PC to AUX on Sorcerer.
Start recording and enter CSAVE LAIR.
When the sorcerer comes back with READY stop the recording and trim if necessary.
Apply a good 20dB of gain to maxout and square up the waveform.
Export the audio to a wav file.
Check as follows:
Connect the PC LINE OUT to the input of the external amp.
Connect the external amp output to the EAR input of the Sorcerer.
Set Audigy playback volume to max.
Watch the EAR input with a scope and back off the Audigy volume until the waveform is clean and square.
CLOAD LAIR.
Hit play on Audigy.
The title should be shown in less than 30 seconds.
By the time the audio is complete, the sorcerer should say READY.
RUN and enjoy.
If you want to do another then breakout with ^C, BYE to return to monitor and GO BC00 to boot CP/M.
There were a number of games on the Sorcerer disks that fired up fine, but there were a large number that did not.
I got some help from Alan Laughton (Microbee Technologies) to work out what was going on. He spotted that the files contained basic. They were com files – so quite different from the basic files that you would load into the disk basic.
Browsing through the manuals and other data, it became clear that the ROMPAC BASIC work area had been set up in such a way as to allow programs to be saved and loaded with CP/M.
The ROMPAC basic has a lot more memory available to it than the disk basic. It doesn’t waste space on the interpreter or the operating system.
The first entry in the com file is a jump to the warm start area of the basic ROMPAC. This failed on my machine because i had no ROMPAC.
What i did have, though, was a 8k S-100 RAM card (Solid State Music MB6) which i could locate at the same address as the ROMPAC at C000.
The card, predictably, failed the Sorcerer Monitor RAM test, but the offending IC was found and replaced.
I tested it out by using ddt to load the ROMPAC which was moved up into the RAM card. Following reset, the “RAMPAC” was found and basic fired up.
“bye” at the basic prompt returned to the Sorcerer monitor and GO BC00 started CP/M again. One of the previously failing com files was loaded and sure enough it ran!
After that, i wrote a very short program that replaced the ddt step. This allowed another 23 games to execute.
I’ve since created to couple more which load the development and word processor ROMPAC code into the RAMPAC.
The memory card had a facility to write protect the contents, so i added a switch to the expansion unit to enable it.
I received about 500 8″ floppy disks and some drives from a friend at the ARC Group (thanks Andrew). I set about archiving them and extracting the files. Alan Laughton helped sort out the disk definitions. There was some interest in how i’d done it so i wrote it up here.
The system has two SASI cards that I thought might accept a SCSI2SD card.
The drive configuration comes up in two places – firstly in configuration of the master or single user system configuration program, and then again when the drive is formatted.
In both cases, the following information is required:
SASI card number: 0 worked for one card but I tried multiple numbers with the other card without success
Drive Number: It allows 1 or 2. 1 seemed to be SCSI ID 0.
The configuration also deals with partitioning. The default partition size is 4MB which is the optimal size. With large drives, that’s a bit of a nuisance because you need a lot of partitions. Having some optimal 4MB partitions and a larger sub-optimal partition seemed like a reasonable compromise.
The drive selection gave some geometry, but the specifics probably don’t matter with a SCSI2SD. The SCSI2SD was set up with a simple 32MB disk at ID 0 with 512B sectors. Termination needs to be on.
The process went like this:
Create a fresh single user floppy disk
Run the Configuration program and select modify
Set up the hard disk as above
Format the hard disk using HFORM30 with the same disk parameters
At this point the new drives were available starting at E: but when the directory was listed it appeared the disk was read only and the directory looked corrupted. It didn’t seem to matter if the format was done first and then the configuration.
The “Creating Boot Tracks” section of the System Initialisation Procedure mentioned a program called ERASEDIR but really just in the context of making faster hashed entries. Running this program on each of the drives resolved the issue. It says to run this after BOOTDISC (which writes the boot tracks).
So:
Run BOOTDISK and write to E: – only the first partition can be a boot partition. It can also be written to A:.
Run ERASEDIR on each of the new drives from e: to the last one.
Copy all the files from the A: to E: using DO DCOPY A: E:
When the system is powered up, it looks for a bootable drive. If a boot floppy is in A: it will use it; otherwise it will boot using E:.
Importantly, a floppy disk drive must be connected otherwise the system will not boot from the SASI
Programs were then copied on to the solid state disk from a gotek. TurboDOS supports multiple user areas so the these can be used as directories. User 0 files marked a global can be accessed by all users.
All users are assumed to be using Televideo 950 terminals. A lot of the software on the 8″ disks was configured to use this popular terminal.