• Please review our updated Terms and Rules here

Digiac 4500 Fixup/Repurpose

glitch

Veteran Member
Joined
Feb 1, 2010
Messages
5,051
Location
Central VA
I acquired a pair of Digiac 4500s in a recent equipment pick-up. Digiac made a bunch of educational/training hardware and this is another product in the same vein. The main bit of the 4500 is a 22-slot sized S-100 chassis with a 12-slot backplane and drive bays in the front. There's one 5.25" half height floppy, a blanking plate for another, and a switch matrix. The switch matrix is used to induce faults in the system. I suppose the idea is that instructors set the faults and students have to figure it out, using the large remote front panel you can attach to the thing.

The sad part of the story is, the previous owner died, and the person responsible for the estate threw out all of the documentation (I'm told it was complete, with classroom sets). There was a disk jammed in the floppy drive, but it turned out to be a moldy single-sided, double-density MS-DOS formatted floppy unrelated to the system. I have cause to get it up and going with CP/M as a friend wants a S-100 chassis for a particular project, and this is the one on hand that best suits his requirements (size, I/O, slots, integral drive bays, et c.). So, I started with disassembling the ROMs in the CPU board.

Boy, what a trip! This thing is set up to have separate student and instructor modes, from what I can tell, and has a third option for talking to a mystery I/O device that I don't have. I suspect student mode was intended for use with a printing terminal -- it makes great effort in processing backspaces to preserve what might already be there. There are checks and traps around most of the monitor code that prevents the "student" sections from getting into the "instructor" sections, without physically disassembling the chassis and adjusting some internal DIP switches on the CPU card. But, today I got far enough into my disassembly that I was fully into reverse-engineering the command table and the subroutines for each command function. I found that B appeared to boot the disk controller in the machine.

After digging far enough into the floppy boot code, it started looking kind of familiar. Turns out the Digiac controller is a modified/improved/cloned/compatible...or whatever...SD Systems VersaFloppy II. Of course, our own John Monahan has written an extensive test facility for the VF2. Since this system is Z80 based, I decided to give it a go. After patching up the console I/O for the Digiac "instructor" console (it runs at 9600 BPS, vs 1200 BPS), I organized it into a "load format" file -- you paste it into the monitor and it loads using the monitor's C command (Change memory, I suppose). The monitor is very clunky, everything works off of 0x0000 -- from what I've reverse engineered there's no way to set a starting address, either to change or to display!

Anyhow, I loaded it, jumped in, and it worked perfectly! I had confirmed the controller was somewhat operative by putting a single-sided, single-density Cromemco CDOS disk in and hitting B -- it locked the machine up, but I could see the first sector of Track 0 in memory, in the sector buffer. But, with John's VF.COM program loaded, I could not only do double density, but I could also read double-sided drives (controller has a FD1795). So, that's all excellent news!

The next step is of course to start building a CP/M for the system.

Here are some pictures of my setup:

Full Imgur album: http://imgur.com/a/sdo3E

rDEWVe9.jpg
 
Is the monitor spread across the three EPROMs on the board, or do they hold other software?

It's spread across all three ROMs (3x 2708 EPROMs, so 3K of monitor). The monitor includes at least boot code, I haven't fully finished reverse engineering it.
 
Hi All;

The name made me curious about some boards that I had, only they were called Educomp, they are not S-100..

But, they were for educating Students about the Principles of Computers..

I have some of the Boards, but not all of them for a complete system, and of course no Documentation..

THANK YOU Marty
 
The plot thickens! It seems their DRAM board is a copy/modification/whatever of one of the 64K SD Systems EconoRAM boards. I wonder if the CPU card is based off of a SD Systems SBC-100 or SBC-200 -- they do have a switch port at 0x7F, which I believe was used as an output port to control some onboard functions on the SBC-100/200.

I suppose at least they copied a decent set of boards!

I'll have to put together an image album of the whole system, once I get one fully cleaned up. I've got the large remote demonstration front panels, it's not yet clear whether they are just a peripheral device or a real hardware front panel. Unfortunately the front panels became homes to a number of mice -- when I picked them up, the guy helping me said, "huh, these are leaking oil" -- it was *not* oil.
 
I did a little digging yesterday and it appears that Digiac has been producing computer & logic trainers for quite a while. I also found a notice in a 1980 issue of Byte about them starting an MP/M user group.

If you search eBay for "Digiac", you'll get a number of hits for logic trainers. No S-100 stuff though. :(

g.
 
Yeah, they made a bunch of different educational stuff, from logic trainers through automotive ECU simulators, all seem to be aimed at the educational market. I'm sure they chose to use a S-100 box simply because S-100 was common and available at the time.
 
I'm continuing to dig to see what I can find. Can you look at some of the date codes on the CPU board's chips to give me a ballpark of when the board was made? I've got a full set of Kilobaud that may have ads for Digiac, but I'd like to narrow the search if I can. No Ctrl-F with dead tree copies. ;)

Interface Age & S-100 Journal would be good places to look as well I think. There's not may of those online though.

g.
 
Marty:
Exactly what documentation are you looking for? I have some that came with my 4500 and a boot disk or two. I can supply a few photos of my system now that it works, if you would like.
 
All:
I have a working Digiac 4500 with CP/M boot disks. I also have some documentation, primarily student material. The 4501 display panel was used by students to enter programs and single-step through the code. We used these machines when I taught computer technology at a vocational school in Anaheim, CA back in the late 80s. If anyone needs info, I can hopefully supply it.
 
Wow, excellent! I'd love copies of any information you have! I've got two of these, one is being fixed up for geneb as described, but I'd love to get the other operational as it was intended!
 
Wow, excellent! I'd love copies of any information you have! I've got two of these, one is being fixed up for geneb as described, but I'd love to get the other operational as it was intended!

glitch:

I have the first installment of my Digiac docs scanned. Give me an email addy to send it to. Please let me know if this is the kind of thing you're looking for. It's in PDF format.

gorgo
 
Gorgo did deliver on documentation for the Digiac 4500, and I've continued my efforts into rebuilding/repurposing this one. It's pretty much done now!

I think we left off with "it seems to not be totally dead," w.r.t. the CPU board. I ended up customizing GWMON-80 for it since the Digiac monitor was a real pain to use. That worked fine, but the Digiac CPU board didn't really fit with what geneb wanted to do with the machine. We decided to go with a different board set but keep as much as the Digiac stuff as possible. It turns out, that's limited to...the floppy controller!



This is the floppy controller. From disassembling the ROMs that came with the system, it was starting to look familiar. Turns out it's 100% compatible with the SD Systems VersaFloppy II, a very good card indeed. The first check for signs of life was to get John Monahan's VF2 Diagnostics running:



Success! I was able to format, read, and write disks. I started out with 5.25" disks since that's what the machine came with, and eventually switched to 3.5" HD drives. The process of getting CP/M up and going was nontrivial. I started with Bruce Jones' VF2 code, which Herb Johnson makes available through his website. Due to issues with getting it going "bare metal" on the Digiac, I ended up restoring an old North Star Horizon that had been on the to-do list for some time. With CP/M 2.2 running on the North Star, it was *much* easier to get the VersaFloppy II code from Bruce Jones figured out. There were some errors in the code, some of which I'm pretty sure are bit-flips from its transfer to modern computers. There was also a lot of extraneous stuff in the Bruce Jones code. After a week or so of hacking on it, I was able to get CP/M 2.2 for the VersaFloppy II running directly on the North Star Horizon, in place of the North Star hard-sector disk controller. I will fully document that process separately -- I know a *bunch* of people want CP/M going on their VF2 cards.

With CP/M going on the North Star, it was time to set up a more permanent system in the Digiac chassis. I ended up going with the following board set:

* Industrial MicroSystems 4 MHz Z80 board, with power-on jump
* Dahlgren 64K static RAM board (uses 6116s)
* Digiac VF2-compatible floppy board
* Seattle Computer Products 400C 4-port serial board (8251A based, with an interrupt controller)

To get going, I customized GWMON-80 for the SCP 400C board and burned it to a 2716 EPROM, which I stuck in the Dahlgren SRAM board (part of the reason for choosing it). Eventually, I used one of my reproduction Solid State Music IO-2 boards to make up a board with 2K of EPROM (2716), ROM control circuitry so it can be switched out via software, and parallel I/O. It sure did seem like a shame to only use a bit or two of the IO-2's parallel I/O, so I talked to geneb and we decided I'd build a mini front panel for the machine!



This is the aluminum blank for the mini front panel's inner panel. I used a two-piece system, kind of like an Altair front panel, where the inner panel is structural and the dress panel is just that, basically a legend that bolts on. The inner panel is made from 1/4" extruded aluminum plate, which was not flat enough for the purpose as it came from McMaster-Carr. I faced it off in the milling machine, and added a small step on the back side for mounting.



The above image shows the blank mounted up. The step in the back lets the back of the panel sit in-plane with the back of the Digiac's sheet metal front. Mounting is via four #4-40 screws, with a flat washer to distribute force and a nylon washer to deform and hold it in place. So far, this is a very solid mounting solution.



Here's the first somewhat decent dress panel. It's made from black anodized aluminum, 0.040" thick. I was hoping that the laser cutter at our makerspace could directly engrave the anodized aluminum, but the results were poor. I came up with a system by which I was able to produce a mask to etch the panel using sodium hydroxide (lye), which I will document separately.



Closeup of the prototype dress panel. You can see some "ghosting" where this one was etched over an existing attempt to direct-engrave with the laser cutter.



This is the final dress panel, not yet sheared out and punched. It uses the same etching technique as the prototype, somewhat refined. I'm using Hershey fonts here, which are vector single-stroke fonts more suitable to engraving. They give a much cleaner etch.



Closeup of the final dress panel. I etched the centers for all of the holes to be punched and the shear lines, this is very helpful!



Before I punched out the prototype dress panel, I drilled 1/16" holes through the centers and used it as a drill guide for the inner panel. Above is the finished inner panel. Holes for LEDs were drilled undersize and then reamed with a #2 taper pin reamer, which gives a press fit with 5mm LEDs. The recesses in the front are to allow mounting nuts for toggle switches to sit below the inner panel's surface.



Closeup of the front of the inner panel.



Back of the inner panel. Notice the bottom-right corner error, the Y-axis lock on the milling machine let go on me, I'm pretty sure there was a chip stuck between the wedge that locks the Y-axis and the ways. Oh well, no real harm done. Tapped it from the front due to the error.



Mini front panel assembled with the prototype dress panel.



Mini front panel installed and running in the Digiac system! I of course had to load BASIC and run a Cylon scanner program :)



Here's the wiring behind the mini front panel, we decided that a PC board wasn't really necessary for a one-off.
 


Today I finished assembling the system!



Here's the card cage. From front to rear: reproduction SSM IO-2 for ROM and mini front panel, IMS 4 MHz Z80 CPU, Dahlgren 64K SRAM board, Digiac floppy controller, and SCP 400C serial board.



Back of the machine, showing ports and labels.



Closeup of the back panel ports. I like to use a DB25F for the console port and DB25M for other serial ports.



Screenshot of the system booted up and running CP/M 2.2. With the DISK/MONITOR switch on the front panel in MONITOR mode, the system comes up to GWMON-80. The `b` command will boot the system from the first floppy drive.
 
When did S100 boxes start using male DB-25s for comms? Most of the ones I'm familiar with used DB-25Fs (yes, I know that a computer should be DTE and not DCE, but that's how it was done).
 
Back
Top