• Please review our updated Terms and Rules here

IMS Series 8000 (5000SX?) Project

With any slave processor, there will be a driver that gets GENned into the master operating system. Once the master is fully booted, and if it has the slave processor drivers present, it will begin polling the specific I/O ports that are configured in the PAR file, if it finds any slave processors on the those ports (which are set by some jumpers on the slave) it will then download an operating system to the slave over the bus. The slave operating system would be something you GENned ahead of time.
 
Well, I'm now able to read OS disks for both TurboDOS 1.3 and for TurboDOS 1.4. I can't GEN a version of TurboDOS 1.3 because it gets to CONFIG in Pass 1 and complains about not being able to open the input file. I can build the loader and stdmastr for 1.4, but those lftd_14 disk images don't seem to have a gen for stdsingl. Probably the biggest accomplishment is that I figured out a workable way to get software from my modern to the IMS machine. For whatever reason, the TurboDOS diskette format doesn't seem to work very well with cpm tools, but it has no issues reading and writing to a diskette image that was formatted with the TurboDOS 'cpm' format. Using that, I've been able to get software onto the IMS system relatively quickly, since I have two drives to work with. I've got ZDE working without any issues, so now I can actually edit files on the system (the wordstar version that was on the boot.img did *not* like my screen setup at all). Making some progress! It's (MUCH) further along than it was yesterday!
 
Here's another tool you're going to need, RS08.COM, each of the .REL files are serialized and can only be GENned with the matching GEN.COM that came on the disk when purchased. I expect that we will be copying the .REL drivers for the 401 floppy in the 1.2 or 1.3 version onto the 1.4 disk and trying to GEN up an OS. In order to do that, you will have to RS08.COM *.REL and enter the original serial number from the 1.4 version.
 

Attachments

  • RS08.zip
    1.8 KB · Views: 1
Here's another tool you're going to need, RS08.COM, each of the .REL files are serialized and can only be GENned with the matching GEN.COM that came on the disk when purchased. I expect that we will be copying the .REL drivers for the 401 floppy in the 1.2 or 1.3 version onto the 1.4 disk and trying to GEN up an OS. In order to do that, you will have to RS08.COM *.REL and enter the original serial number from the 1.4 version.

So I needed to run 'package' against the .pkg files on the 1.3 disk in order to get it to actually build. I *did* get 1.3 to build OSLOAD.COM and OSMASTER.SYS (from STDSINGL.GEN) but the load command doesn't seem to work. That's not really a surprise because I didn't edit the GEN or PAR files at all. It does seem to have some sort of generic 8" disk support, but I'm not sure if that's for the 401 controller or not.

Okay, I've got RS08 on my main boot disk now. I'll spend some time tomorrow trying to get a 1.3 boot disk working, I think. I feel like I've probably learned about 100 times more about this system (software wise) today than I have in the previous three months. It's *really* good to have software running on it!
 
If you view the .IMD disk images in a text editor, you will see a comment in them where I kept the serial numbers.

Found them! Thanks! I think I'm slowly start to grok this. Package.com just takes a list of 'REL' files and then 'compiles' them into a single REL file? (So when GEN consumes STDSINGL.REL, it's really consuming all of the REL files that were packaged together as defined by stdsingl.pkg.) I've managed to build a STDSINGL for Version 1.30 that seems to work! The only problem I have is that I only seem to be able to load it from the 1.21 OSLOAD.COM. The STDLOADR.COM that I built for 1.30 stops working after the memory test. I think it's related to some patches that aren't being applied properly in the STDLOADR.PAR file. Still, progress is being made! 1.4 is going to be a bit more difficult since I don't have the STDSINGL.GEN file to go along with that. I'm mostly just sort of doing a mental diff between the two GEN files and trying to figure out what works and what doesn't. Is there any particular order that the REL files have to be in when it comes to the .GEN files? The documentation didn't seem to indicate anything related to that.

1713121587682.png

FIGURED IT OUT! I now have a new TurboDOS 1.30 OSLOAD.COM loading a TurboDOS 1.30 OSMASTER.SYS. I've moved those onto the disk image with the command files for 1.30 and have a bootable 1.30 disk! w00t!
 
Last edited:
Okay, 1.21, 1.30, and 1.41 are all now booting. Now I have to figure out how to get the master/slave stuff going, and how to get this installed on a hard drive. I suspect that the hard drive is probably the next thing that should be worked on.
1713136549575.png
 
Very impressive! The velocity of your progress is remarkable. For the 1.41 TurboDOS, what did you use for the floppy disk drivers?

The order of the REL files matters only when dealing with Disk drivers and Circuit drivers, if you have more that 1 disk driver for example a floppy and a hard disk, they are assigned to the parameters in the .PAR file's disk specification table in the order they appear in the GEN file. Slave processors will be assigned to the circuits in the PAR file in the order they appear in the GEN file as well.
 
Very impressive! The velocity of your progress is remarkable. For the 1.41 TurboDOS, what did you use for the floppy disk drivers?

The order of the REL files matters only when dealing with Disk drivers and Circuit drivers, if you have more that 1 disk driver for example a floppy and a hard disk, they are assigned to the parameters in the .PAR file's disk specification table in the order they appear in the GEN file. Slave processors will be assigned to the circuits in the PAR file in the order they appear in the GEN file as well.

I used the DSK401 driver that I re-signed for the given versions. I have to say, though, I'm not *entirely* convinced that the issue with 1.30 (and possibly 1.41) were the floppy drivers, but may actually have been related to the IO card drivers. Now that I have working versions of all three on bootable disks, I can fool around with them a bit and experiment a little bit. That is to say, to get it to work, I ended messing with both the IO drivers and the floppy drivers. That may not have been necessary. I just noticed that I can only use FMT401 in TurboDOS 1.21. 1.30 and 1.41 give me an 'invalid user privileges' error. FMTF.COM which seems to be the generic floppy format command that comes with 1.30 and 1.41 doesn't seem to work the way I have the floppy driver configured. That might be a 'SET' issue? I'm not entirely sure yet.
 
Hrm. Maybe that post before last was a bit too soon. For 1.41, it won't boot off of a floppy. Interestingly, it looks like it's just the OSLOAD.COM that's the problem. With the OSLOAD.COM from 1.30, the stdsingl.sys (as OSMASTER.SYS) from 1.41 boots off the drive without any issues. That 1.41 OSLOAD.COM that I built will bootstrap the 1.41 OSMASTER.SYS from the command line, no problem. I think there's still a little driver glitch to work out.
 
Last edited:
Figured it out. I had the same issue with my first attempt at a loader for 1.30, too. If the .PAR file is unhappy about ANYTHING, it seems like it will still create the loader but the loader will only work from the command line. With both 1.30 and 1.41 there were some references to the 5" floppy which wasn't built into the loader. The GEN seemed to work even after those errors occurred in the patching stage, BUT the newly created .COM file would only load from an already loaded disk. Once I fixed the .PAR file so that it wouldn't generate any errors, TurboDOS 1.41 booted off of a floppy without any issues.
 
So I backed up to 1.30 and am working to make sure that I really need the other drivers I pulled in. This latest working version is using:
  • RTC442 ; relative clock driver for IMS 442/640 Board (available in 1.30) (replaces RTCIMS in the .GEN)
  • BRT442O ; baud-rate tables for systems with oscillator enabled. (available in 1.30) (not sure what this replaces in the default .GEN (CNFTBL?))
  • DSK401 ; floppy disk driver (not available in 1.30) (replaces DSKF in the default .GEN) (Not available in 1.30, pulled from 1.21 and re-serialed)
  • DSKFMT8 ; disk spec tables for all IMS 8-inch floppies (Not available in 1.30, pulled from 1.21 and re-serialed)
I had originally brought SPD463 over from 1.20, but SPDIMS from 1.30 seems to work just as well. The two 442 drivers exist in 1.30, but weren't in the .GEN file by default. No combination of the 1.30 floppy drivers seem to work. Both the 401 driver and the disk spec tables from 1.21 are needed to get it to work. I didn't bring in the 5" drivers from 1.21, but I'm sure they'd work, too.

For 1.41, NONE of the above drivers seem to exist on the disk I have, and I'm pretty sure they're all needed to get it to work, which means you have to bring the two 442 drivers over from 1.30 and the two 401-related drivers over from 1.21. I'm pretty sure that CON96 also didn't exist in 1.41 and I brought that over from 1.30 when I built a working 1.41, but tonight I'll go through my 1.41 .GEN and make sure that all of the drivers I'm bringing over from older versions are needed. My goal is to bring over the bare minimum drivers from older operating systems.

@new_castle_j Any thoughts on this:
1713365681754.png

My understanding is that, by default, the single user boot is a privileged user. Right now, the only way I can format a diskette is to boot back into 1.21. (Both 1.30 and 1.41 give this same error message when I try to use FMT401.)
 
Last edited:
In your PAR file of the 1.3 and 1.4 versions, make sure you have the following:
AUTUSR = 80 ;Automatic logon to user 0, privileged

You can also send me your GEN/PAR file for me to examine for other suggestions...

One thing about the IMS floppy driver, they split it up into a bunch of sub-modules with strange names like ZUF80.REL ZUW0.REL, and rolled them into a package, but there's no description as to what specifically each module does. Since the 401 driver and the disk spec tables from 1.21 are working as is, I think you're good there.

CON96 is a console driver that's hard coded to 9600 baud, there might be another console driver that is patchable in the PAR file for various baud rates.
 
In your PAR file of the 1.3 and 1.4 versions, make sure you have the following:
AUTUSR = 80 ;Automatic logon to user 0, privileged...
Yeah, it's in the PAR for the working builds I have for 1.30 and for 1.41. After I get the minimum builds done, I'll post the GEN and PAR files and you can take a look at them. I think the GEN file for 1.30 is pretty standard. I didn't have a default .GEN file for single user on 1.41, so I ended up converting one of the other ones (stdmastr, I think) and just sort of made it match the 1.30 one as much as possible.
 
So FMTWIN will let you enter custom specs for a hard drive. I'm not entirely sure what the "On time" and "Off time" values refer to, though. I'm not sure I've ever come across those before. Having said that, it does seem to have formatted and verified the drive with the settings below without any issues other than a few bad sectors which were also present when I formatted it on the PC.
Screenshot 2024-04-18 at 6.36.12 PM.png
 
Beautiful! I never found what "On time" and "Off time" meant, it's not documented in any of the materials I have. I can only assume that it has something to do with head settling time.
 
Yep, though I haven't got beyond just getting the drive low level formatted and using altsec to mark tracks that need to be replaced. There's something up with my stdsingl build when I include the drivers for the 1100. For one thing, the 1100 driver seems to be unhappy with the dsk401 driver. when I have both of them installed. When GEN is handling the WD1100(P) driver, it drops a 'Duplicate Symbol: SRT401' error, which makes it seem like maybe it includes (?!) the DSK401 driver. In any event, I've noticed that ANY issues with either the GEN or the PAR will usually result in a build that will be loadable from the drive manually, but not bootable, which is true of this. When I *do* load it manually an attempt to format the defined 'Winchester' drive letters (FMTW I:) it just doesn't complain or anything, but just drops back to the command line without having actually formatted anything. Still messing around with it.
 
Interesting progress today. Still don't have a *bootable* version of 1.41 that's happy with the hard drive, but I did discover that when I remove both DSK401 and DSKFMT8 from the 1.41 build, the floppy disk format utility FMTF works after a manual load. Interestingly, it 'passes' the format, then crashes out on verify, BUT the separate VERIFY.COM command shows that the floppy was successfully formatted with no issues. (And I can copy stuff to and from the newly formatted floppy image without any issues.). That's just using the driver that's baked into the WD1100 driver.
 
Last edited:
Okay, so I have a working boot floppy that has fixed drives C-G on the hard drive recognized. For reasons I don't really understand, it seems like you don't actually do a high level format of the individual drive letters? FMTW still says the 'Winchester' isn't ready, even though drives C through G are working off of the ST-251 40 MB MFM drive. The version I'm running now has NO drivers from older operating systems. The floppy boots just using the WD1100 driver from 1.41 and its built-in floppy support for the 401 floppy controller, as well as the built in support for the 450/442 CPU/IO combo.

The only 'glitch' that it seems to have is that the console driver doesn't seem to be working for the boot loader, so you don't get the memory test, but after it loads, it does drop through to OSMASTER and loads the OS correctly. One thing I *can't* figure out is how to get it to boot off of the hard drive. I've done turbogen and done the DO NEWSYS STDSINGL C: and then did PUTLDR on the C: drive, but it still doesn't seem to want to actually boot off of the hard drive, so it's booting off of the floppy with hard drive support at the moment.

I need to get the hard drive bootable (it's SO much faster than the floppies) and then I need to get the master / slave processors working, then I can start cleaning things up and thinking about building / finding a case. Things are coming along, though!

1713759461385.png
 
Back
Top