• Please review our updated Terms and Rules here

Honeywell 200 resurrection

Back as promised. However, I am having serious trouble with this website and have just irretrievably lost the substantial post that I typed, so will now go away and fume before coming back to try again some other time. Even the autosave facility didn't save my text, so next time I will have to treat this as a hostile system, type my text in a separate editor and then paste it here in one go, although I know that vBulletin is notorious for screwing up pasted text as well. I regularly, almost daily, subscribe to another vBulletin site and don't get these problems, so it isn't likely to be a problem at my end.

Sorry, but I don't need this hassle when I have such a lot of work to do on my project.
 
I share your frustration. Nothing worse than composing "the perfect" post and then losing it. Maybe posting to your honeypi site first might be good anyway, as we can all read it there, too.
 
Even the autosave facility didn't save my text, so next time I will have to treat this as a hostile system, type my text in a separate editor and then paste it here in one go, although I know that vBulletin is notorious for screwing up pasted text as well.
I highly recommend turning off the fancy formatting editor and just using plain text with BBcode directly. It makes things a hundred times less error-prone, and less balky to boot.
 
It only appears if you have Javascript enabled, so some of us NoScript junkies may never have seen it :lol: I appreciate the intent, but I've never used a rich-text editor on a web forum that wasn't so janky as to not be worth the trouble...
 
I highly recommend turning off the fancy formatting editor and just using plain text with BBcode directly. It makes things a hundred times less error-prone, and less balky to boot.

I don't think the problem is the editor itself but the fact that the site seems to think that I'm inactive while I'm typing on it, so logs me out. I can overcome the problem by requesting a preview every few minutes as that wakes the site up to the fact that I'm still active on it. I regularly subscribe to an online writers' forum that uses vBulletin and that doesn't have a login timeout because we do actually pause to think about what we're writing there, otherwise we're likely to get flack for being inept. Here the expectation seems to be that one will bang something in quickly and then post it without any further thought, hardly appropriate for such a technical subject to my mind.

Well, I'd better get off the site now to type my real post elsewhere. I'll be back.
 
Hi Rob,

Yes, I have learnt the hard way a few times that for a long or complex post you are better off editing your post outside of VCFED then doing a copy/paste/correction within VCFED itself.

My initial problems occurred when I was using VCFED at work during lunch break (i.e. nothing to do with vBulletin but the bandwidth usage out our end). That would definitely cause me to loose the post text. So, I would always play it safe and do a 'copy' before hitting the 'post' button anyhow...

Dave
 
Maybe it's a problem specific to the UK on this site then Dave. That's ironic given that we're just celebrating the thirtieth anniversary of the conception of the World Wide Web, as opposed to the older Internet, by a Brit. It's also ironic that we're still using legacy bulletin board software and code instead of HTML/XML for sites like this, but that's lack of progress for you.
 
Okay, here’s a quick progress report as I need to get ready for our Sunday lunch soon. (Waistcoat and tie of course, full English roast with wine, candelabra and linen napkins, even a tablecloth! It’s the full works every Sunday here. What my angel wife will wear will be a pleasant surprise as usual as well. We like to keep Sunday special.)

The 8k magnetic core memory unit is working with just the fine adjustments to do and maybe I will replace one of the 4k core memory modules that was glitching a bit. I’ve removed all the logic modules for the unit from the backplane now to do work on the backplane and won’t reassemble the unit until I have at least a rudimentary CPU to run it. The memory has fifty-two trimming potentiometers to tweak and a thirty page instruction manual on how to do that, so that task can wait for now. The unit is connected to the CPU logic by plug-in patch boards, so I could devise a modern RAM based substitute to use while testing the CPU logic to avoid any core memory errors confusing that testing.

I have assembled a quarter of my 240 bit control memory, so that’s sixty flip-flop ICs, and that provides the four essential fifteen bit address registers, which are the sequence register, A and B address registers and a work register. These are adequate for execution of the majority of the basic instructions, the other twelve registers being used for I/O and optional features that I can add later. I am currently designing and building the input and output registers for the control memory and then will have to put together some logic to test the design once I’ve wire-wrapped sufficient connections on the backplane. The input register also incorporates the essential fifteen bit address fast increment/decrement logic needed to scan through main memory.

I have little doubt that the design will work under static testing but I need to run the control memory at its full 4MHz clock speed to prove the design properly, so I’ll need to contrive some sort of fast sequencer. Currently I am using an Arduino microprocessor with a USB link to a PC for tests, but that can only run the logic at a fraction of its full speed, so I need to replace it with some proper fast temporary logic built with original Honeywell logic modules. Fortunately a wire-wrapped backplane makes that relatively easy. I spend just as much time building test setups as I do building the machine itself.

Time to dress for lunch now, so I’ll have to end there.
 
A Teensy 3 might be fast enough and still provide the ease of the Arduino IDE.

https://www.pjrc.com/teensy/techspecs.html

It looks like the Teensy 3 is intended to operate on 3.3 volt signals and my logic needs the full 5 volts where the Arduino is acting as a current source, not sink, so I'd need to provide some interface buffer amplifiers and also my tests currently need a lot of signal lines between the Arduino and H200. I'm using the Arduino Mega 2560 shown below mounted on an H200 patch panel so that it can be plugged into any spare backplane socket. That panel only has 33 pins available for signals, so if the interface gets any more complicated I may have to add a second panel on a cable to plug into another socket. Only the larger Teensy boards appear to have so many I/O pins as the Mega 2560.

Arduino.JPG
 
Last edited:
Hi Rob,

Any chance of a photo or two? To whet our appetite... It would be cool to see what this thing is starting to look like. Tastefully cropped, of course!
 
The machine isn't particularly interesting visually yet, so far just being dozens of six inch square logic boards plugged into a backplane. Also there are very few boards on the backplane currently as I remove the sections of the machine that I have already tested. I do this because my temporary bench power supplies are rudimentary, so I want to keep the consumption down to a minimum and also there are no cooling fans yet, so I want to keep the heat generated during tests down.

As I have finished construction of the main memory, which is based very closely on the original Honeywell circuits, and have now moved on to designing my own versions of the other machine sections, the machine is now effectively its own prototype and I have to construct just a small portion of each section to test whether my design is sound before doing any more. For example, the full control memory requires sixteen address registers on sixteen logic boards (not that that means that there is one register on each board) but most of the instruction set only uses four of those registers, many of the others being for optional features, so I can get a long way with the design using just a quarter of the control memory, adding the rest of it later just being grunt work once the design is proved. Also I have to think ahead all the time, considering how each section will connect with those not yet designed. This all means that the progress isn't particularly tangible or visible apart from more wires appearing on the backplane. I have however drawn up a pretty block diagram of the control memory logical layout to show the data flow and how the functions within it are distributed across the logic boards, so I may shortly make that available. I had to prepare this diagram as my efforts to pack as much as possible onto each board has made the whole look a little crazy, but it is to my mind the optimum solution fitting within the various constraints.

With the weather improving I'm now spending much of my time on other activities in my life, so haven't worked on the project for some weeks. In fact, always thinking ahead, I'm currently trying to make more space in our small home to do the work, my current workspace being extremely cramped, and that has knock-on effects elsewhere, so more work and so on. As making more space will itself entail some home construction work there are many overheads in the project, this one in particular being aimed at providing a roof overhead and reasonably stable temperature and humidity, always a desirable feature in electronics when a machine has no cabinet or cooling fans yet.

Today is Sunday, so I'll be setting all work aside for the day, not that I've even got out of bed yet. One enjoyable aspect of computer design, as opposed to actually building the thing, is that I can do much of it without even getting out of bed, provided that the cats and wife leave me enough room on the bed. I ought to get up now though as both cats and wife have already left it and I should too.

Have a good Sunday folks.
 
Thanks for the update! It is fascinating to hear about this journey.

I will suggest, though, that you may not be considering the "geek effect" ;-) I'm probably not alone, but I for one would enjoy just a pic of what you are dealing with. I was never in a position to see the innards back when I was close to a real Honeywell 2040 (I know, different generation than 200), and I suspect them that did have not seen it for 40+ years. I was fascinated by the "geography" diagram in the "Logic Training Manual" - although I understand yours will be quite different? Anyway, if you are inclined to share a snap, I (at least) would appreciate it!

And I'd be very interested in the block diagram, too. I spent a little time trying to learn the nomenclature in the logic training manual, so to see a different perspective would be cool.

Just curious, any estimate as to how much you will have to design (re-create) from scratch? I got the (mistaken?) impression that you had a cache of logic function units - so was wondering how much of the machine would be original units and how much you'd have to redesign/reconstruct? You might have already stated, I just am not up to scanning 7 years of posts.

Am I correct in assuming there is no sort of "bus" structure in the backplane? at least no major one? It's even more impressive considering you have to keep track of where each signal is and where the destination is relative to the source, and plan the backplane wiring around that. Not sure I could keep my sanity if I were tasked with that! Seems like there ought to be some sort of CAD program that could help. But who needs more learning curves.
 
This is just a quick update on the project although I haven't done any work on the electronics since my last post. Instead I've been focussing on providing a larger workspace and am currently installing insulation and will then be dry-lining the walls. I need to ensure that there are a few electric sockets as well ... The only catch is that the weather is getting a lot colder, which is why the room needs insulation of course but it isn't there yet and neither is the battening for it, so it's not a great place to be working just now. Another factor is that I recently passed my seventy-fifth birthday, so I could be a bit behind schedule in another respect. I'm pushing on in the hope of beating the winter so the real project is currently on hold but not being neglected. When I have the new workspace in a tolerable state I can think about moving the electronics in and taking some photos, but I don't want to get sidetracked just now. Have faith that I'll get there eventually.
 
With the recent relaxation of limits on pictures here I can now post a diagram of my control memory logic map.

View attachment 57628

The main components shown consist of 24 six inch square circuit boards containing the very simple Honeywell ICs from the 1960s. The original control memory was a high speed differential mode magnetic core memory with a reputation for being sensitive to the ambient temperature, so for practical reasons I have designed an equivalent using 240 flip-flop ICs. These are mounted on sixteen PCM01 PCBs of my own design, each of which can hold sixteen together with a few output handling ICs. Each PCB is configured as four bits of four registers to reduce the number of I/O lines needed as the PCBs only have 36 pin edge connectors to the backplane.

The fifteen bit input register, which is equivalent to the Z register described in the Honeywell Series 200 Logic Training Manual, is contained in three PCM03 PCBs, which also contain the high speed twelve/fifteen bit increment/decrement logic and input selectors which can choose either twelve or fifteen bits from the main memory address register, i.e. the S register in the Honeywell manual, or the contents of the main memory data register, the N register in the Honeywell manual, and route them to one of the two and a half characters stored in the input register. Pin and space limitations on the PCBs made the design of the PCM03 boards very tricky and they actually each contain a two bit and three bit register working separately to fulfil all the requirements. The PCBs for these have now been manufactured by my friendly PCB manufacturing company but I haven't assembled them yet.

The fifteen bit output register, which equates to the output buffer of the original core memory, is contained in five three bit PCM02 PCBs, which I created by modifying standard Honeywell flip-flop logic boards. These boards can only handle three bits each because they have to collate eight data channels from the PCM01 boards and this task alone requires 24 of the 36 connector pins. The PCM01 boards themselves first route the sixteen register outputs onto eight channels to reduce the number of output pins needed on them. Only one register is accessed in any clock cycle of course. The PCM01 boards can also read in the contents of the output register so that the contents of one register can be copied to another, although I have also included a limited ability to do some copying directly inside the PCM01 boards, something that wasn't possible using a core memory. As flip-flops aren't read destructively like magnetic core memory the actual cycle of operation of my memory is different from the original and this should reduce timing restrictions.

The diagram differs from the layout in the Honeywell manual because data going from the N register to the Z register actually flows through the arithmetic logic unit there to cater for address indexing, but I will add this function later and there wasn't room on my diagram to show it anyway. Address indexing was actually one of the optional features in the original 201 processor and I am only initially attempting to reconstruct the basic machine without any options. The machine that I worked on in the 1960s didn't have this feature, so I am quite used to programming the H200 without it, as my demonstration programme to calculate Pi on my website proves.

While my IC based control memory is internally quite different from the original core memory it fits into the original architecture and allows that to be reproduced in my machine. My pragmatic approach is similar to that employed by the auspicious British Computer Conservation Society in their EDSAC replica project, where they are using wire delay line memories in place of the original mercury delay lines, which were serious beasts to maintain, so I think that I am in good company in doing it. In contrast the main memory of my machine is almost identical to the original with only some small changes to the backplane wiring to build a more compact 8k memory in place of the original 16k module. The main memory uses original core memories and unmodified Honeywell logic boards plus a few closely copied replicas to make up the numbers as I didn't have a full set.
 
Back
Top