• Please review our updated Terms and Rules here

Honeywell 200 resurrection

"... so a few more years won't affect it much." Hahaha yes, indeed

Aaargh my pal has had to come back to the uk early, so I'm afraid that we've missed the boat, erm plane. He lands at Heathrow tomorrow morning. Sorry about that. However, he goes over there twice a year ish .... usually to places on the east coast Could it be a good idea for you to progress locating the control panel in the meantime, ready for his next trip some time next year? He lives in Aldershot, but travels a lot in the south, with just rare trips up here to the north, when he invariably overnights at my place.

Regrettably, the only thing that I still have from those days is a short strip of mag tape with the data visible! It was taken from a damaged portion of tape that had been chopped from the beginning a 1200 ft reel. One of the Honeywell engineers developed it with magnetic mud, much to my astonishment and excitement. It seemed magic at the time. I sellotaped it onto the reverse (blank) side of an 80 column punched card, with both to be saved for posterity. I'll dig it out and then post a photo of it.
 
Last edited:
Rather than read thru all of this thread I'll be direct. How is the project coming? I was an Technical Engineer for Honeywell for 16 years starting in 1978 working out of Orange County California. That is what they called us instead of just repairmen. I cut my teeth on the 200 and all of it's peripherals. Later on I worked on the 2000 series stuff. When I left I was working on the level 6 stuff and It's very first personal computer they put out which was built by Zenith. It was an old XT pc with 57 screws on it's lid. It was sold to the military so it had to be secure.
 
Last edited:
Your project brings back some wonderful memories. I worked on an H1015 in Vancouver, Canada between 1974 and 1979. The attached photo is me in 1974 working as an operator. Later I moved into programming using cobol and easycoder.


The 1015 had 96k CORE memory (approx 10feet long), 5 tape drives, 2 disk drives, a card punch/reader and a paper tape reader/punch. The console was simplified compared to your rendition due to the presence of a typewriter style input console. I still remember the card boot cmd sequence (m/rdr-r1) and many of the easycoder op codes. The tape sorts were entertaining to watch!

The only info I could find on the 1015 is: http://alegion63.tripod.com/bob/id6.html I am pretty sure those removeable disk drive platters were 20MB, not the 2 or 3MB mentioned in the link.

Best of luck with your project!
 

Attachments

  • scaned 002.jpg
    scaned 002.jpg
    63.3 KB · Views: 3
Last edited:
I am also sure those are 20Mb. We had some on our H3200. I think we had 9 drives but only 8 could be online at any time. There was an extra drive on the string so you could change disks and then flip a switch to make the drive available.
 
Hi guys,

I'm still lurking around although the project isn't moving much at present. I'm just trying to clear other things up so that I can get back to it soon.

My company worked its way right through the Honeywell product line over the years, so I've been around quite a few models but moved further from the hardware and even software during my career. In fact at one stage I worked in a team where we insisted that nobody could even mention computer systems as we were trying to get people to do pure business analysis and even the business staff tended to think in terms of the computer systems that they already had instead of what they really needed.

I remember the machines with the removable disk packs though. Someone left a couple of packs with all the accounting files on the top of a machine cabinet overnight and during a storm rain dripped through the ceiling into the convenient funnels in the top. In the morning the accounting files were goldfish bowls because the bottom of the disk cases were so well sealed by the rubber surrounds. We had backups of course but the disks were a write-off. I still have the platters from them in my garage.

I've been distracted from the project by something else totally bizarre that has happened in connection with it over the last five years. It seems that somehow my brain got confused about my plans to build a computer from the past many years later and built inside my head a computer that, to put it simply, processed data from the future in the past. It even used a feature of my demonstration Easycoder programme to do it. I suppose if it is possible to emulate an H200 on a PC then it is possible to emulate a quantum computer in one's mind, even if that seems ridiculous. It's taken me five years to work out why I abandoned my work on the H200 to write a science fiction novel and apparently that's the answer. I don't understand quantum computing but apparently the output can appear before the input has been fed in if I'm right. That's all a bit like Hitchhiker's Guide to the Galaxy, knowing the answer but having no idea what the question was. Anyway, I've now set out the whole story on my new website www.menstemporum.uk so that I can get on with my slightly more conventional life. If you visit it you'll see just how much the H200 project was tangled up in it. It's all pretty paranormal though and even I'm unsure what it was about. Apparently my mind is just as capable of spending time in the future as in the past.
 
... apparently the output can appear before the input has been fed in if I'm right. That's all a bit like Hitchhiker's Guide to the Galaxy, knowing the answer but having no idea what the question was.

Sounds a little like Asimov's famous classic short story 'The Endochronic properties of resublimated Thiotimoline' in which he describes a chemical substance that dissolves before the water is added, written in the form of a pseudo-scientific research paper.
There was a followup story 'Thiotimoline to the Stars' in which it was used for a spaceship warp drive. Great stories from an SF master, read them both many years ago now.

Steve.
 
Hi Rob,

I have had a lingering interest in building a virtual H2040, having had some experience with that in the mid 70's. Before I embark on such a project, I wanted to know what sorts of software there might be. I'm not sure of the relationship between the 200 and 2000 series, although I know they are very close. I was hoping there might be something like OS/2000 out there, but almost any software might make it worthwhile. Even with some documentation on the OS/monitor I might be able to emulate it.
 
Hi All,

I have modeled (most of) a 2000-series machine core and have tested most of the instructions (only one peripheral so far, the Line Printer in a crude form). From what I read in the documentation, the series 2000 should be completely upward compatible - although I suspect some things like OS or Monitor might not tolerate the differences.

I am now trying to run the Pi-calculation program MACHIN and running into difficulty. It is crashing due to what appears to be a missing word-mark, the affected LCA instruction ends up overwriting the program. It is taking some time to get my head into the programming style, especially since I spent the last 30 years UN-learning self-modifying programs! One of the things I'm wondering is if this program was ever run on real hardware - I gather it may have been written in modern times and thus did not originate from an original HW200 program.

Also, are there any other HW200/2000 programs out there? Ideally, in electronic form (I was able to extract code from the PDF Easycoder listing, for example). But anything that might help verify/debug the virtual machine would help.

Also, any pictures and documentation on the front panel and console would be nice, for when I start to build the GUI.
 
I was able to fix enough bugs to get MACHIN to run, so now it's on to other testing. Working on a simple assembler, unless there is a copy/listing of Easycoder out there.
 
I've made a fair amount of progress, using a simple/crude Easycoder mimic. I've even been testing the virtual H2000 interrupt and relocate/protect mechanisms and have a simple monitor program to launch other programs in protected/relocated mode (and process their violation interrupts). Of course, both the virtual H2000 and my assembler code are based on my (flawed) understanding/interpretation of the "Models 2040 Through 2070 Programmers' Reference Manual", which is very complete but still leaves some questions and requires multiple passes in order to collect the key bits of info on a given subject. I can't confirm if this is an accurate virtualization.

So, any code out there that I can look at would help fill in blanks. MACHIN was very helpful but does not use a broad set of instructions or features.
 
Not sure if anyone is out there, but have made some progress and even implemented a GUI front-panel. Not 100% functional yet, but getting close. Here is a short video of it running MACHIN. https://youtu.be/fphxmBdgQLM The real-time display of address/data really slows it down, even if it is limited to just SR and op-code (as shown here).
 
I have setup a project page for my effort. http://honeywell2000.durgadas.com/ There is a download page linked from there where you can get the "jar" file for the virtual H2000. I'm still hoping to find folks that can help, with either more details on how the machines operated or with code to run.
 
Hi durgadas,

My sincere apologies for not responding earlier but I haven't been getting notifications of new posts on the thread for some reason. Ah, you just can't trust these computer thingies can you?

I am truly impressed by what you have done. That is a lot of work. As I mentioned on my website I had contemplated designing a visual emulation of the control panel but decided that some direct graphics software would be needed to work fast enough. I looked at the possibility of using DirectFB under Linux, but my work on the actual hardware has to take precedence. As the pictures on my website are generated from text files using PovRay I have all the measurements of the control panel shown there, although the real thing may be slightly different. I'll find out when I finally get it from California. When I can find the time I'll see whether my graphics can be incorporated into your programme as I spent a long time making them as realistic as possible.

MACHIN was written to run in ADMODE 2 but there is no CAM instruction in it as it was intended to be run on a minimum configuration machine which would always be in ADMODE 2 anyway. I can't remember what the initial ADMODE was on the larger machines. Regarding the assembler, I did once have a listing of the Easycoder A assembler source code but it looks like it got thrown away at some time, which I deeply regret now.

After working in Easycoder on a small machine in the 1960s I moved on to using COBOL on the bigger machines in the 1970s, so my knowledge of them at machine level is by no means so detailed. I am happy to try working out any of the problems with you though. I'll also check my previous contacts with former H200 series users who might be interested. Most people just can't remember much of the details now though.

It's my wife's birthday today, so I have pressing commitments now, but I just wanted to reassure you that I am still around and my project is crawling along. It gets boring if I just keep reporting my lack of progress on the thread, which is why I haven't posted anything for a while, but I'm hoping to get back to work on it soon. I'll get back to you. Keep up the brilliant work.

Regards,
Rob
 
A little off-topic.
"Aroma Therapy" - I had the chance to walk the hallowed halls of an old IBM facility recently, and as I ducked into a stairwell, was overcome with nostalgia... the source was a distinct smell from my past...

The gentle blending of
cigarette smoke, machine oil, and punch-card chad,
slow-cooked on an electric motor,
infused into linoleum.

It survived fifty years in the linoleum of that stairwell... ah, the good old days...
 
Just found this after losing track of it for the last couple of years, but alas, apparently RobS is no longer contributing ?

I was a Field Engineer with Honeywell I.S. back in the 70's in Los Angeles. trained originally in the 400/1400 line of second generation computers, and was privileged to help do preventive maintenance one afternoon on an old D-1000 vacuum tube computer before it was finally decommissioned.

During five years at Honeywell I worked on H 115 and 125, H200, 1200 and 2200, but spent my major time working an a dual H4200 site (Blue Cross Blue Shield of Socal). from 1974 to mid 1975 I worked all over, but spent major time at a dual H2070 site in El Segundo (Kaiser Permanente). I have looked around for pics of the H2070, and once found a guy in Australia who sent me some, but they have somehow disappeared from my files. If anyone still has some, please send me a pointer.

Hope all is well with RobS...very cool project he has undertaken.
 
Oh, I'm so sorry Gitmoray, but my notifications weren't set up correctly and I don't visit this site regularly, so didn't see your post. If you have any recollections of the H115 and H125 then they could well be of use to me as the technology that I have uses integrated circuits that I suspect were used in some of these machines whereas the earlier H200 used transistors. Hence I suspect that my machine will be closer to an H125 than an H200 in fact.

Hopefully I have now fixed my notifications so that I get emails when someone posts. The irony is that I have now accepted a position as a voluntary staff member on another site, not connected with computing, that also uses vBulletin, so I am more conversant with the system these days than I was when I joined this site. By coincidence that other site had a fault that resulted in my not getting email notifications when many other members were and it took some effort on my part to prove that the administration of the site was the problem. In this case here though I suspect that the problem was down to my negligence.

Progress on my project has been very slow as I have had something else to cope with this year. I did find the time to install a couple of cheap switch mode PSUs in my workshop to boost the 28volt power lines a while back but haven't got back to testing the memory unit since then. I also wrote a programme for the Arduino MEGA 2560 board that will act as a test interface between the H200 memory unit and my PC so that I can run memory tests using programmes on the PC. Fortunately the H200 memory unit has its own internal timing circuits, so can run asynchronously rather than needing a synchronising master clock for data transfer. The MEGA 2560 board has many interface pins and a good few of them are needed for the parallel connections to the H200 memory, so I still have the task of constructing the custom plug-in cable to connect the two.

I can't recollect whether I have mentioned it before but my other preoccupation is strangely connected with my H200 project. In 2010 I first conceived the idea of building the machine but didn't have the right core memory modules, so I shelved the project hoping that I might find the right memories in the future. Apparently somewhere at the back of my mind my subconscious misconstrued my desire to "find the right memories in the future" and early in 2011 literally provided me with my own memories from my actual future, which I unwittingly used to write a science fiction novel about people being able to acquire information about future events. In particular the story in it mentioned two minds connected across six years in time and, as it is now six years since I wrote the novel, I have been preoccupied with the events that have happened this year and evidently inspired what I wrote back in 2011. I don't ask you to believe me about this but I have certainly had to cope with it myself. Just one simple example will demonstrate what I am up against.

On Monday the 13th of June 2011 I sent an extract from my unfinished novel to a literary service for assessment and they gave me their comments. Shortly after that I added the chapters that mentioned the six year period spanning events. In March 2017 I became concerned that something bad, maybe even fatal, connected with my novel would happen in the coming months and I wondered whether it would affect myself or someone close to me. In fact on Monday 12th June 2017, within 24 hours of precisely six years after my contacting that literary service, I received from them a circulated email reporting the death of their much loved founder and director in April after a short illness. I didn't know the lady, but was both shocked and saddened by the news. The moral is apparently to be careful what you wish for as some playful spirit may choose to misinterpret your intentions entirely.

In order to put my experiences into context I joined the British Society for Psychical Research, the members of which do stringent experiments to determine the truth about "psi". Just a few days ago I attended a talk given there by Ed May, who was the director of the American military Stargate Project for most of its existence. This project was given something like twenty million dollars to use psychics as "remote viewing" spies during the cold war, probably the largest outlay on psychical experimentation ever made.

With stuff like this going on in my life perhaps you can appreciate why my H200 project has been collecting dust. Strangely though, this year my experiences have been so convincing for me that I am inclined just to accept them as normal. Far from feeling in any way special I assume that we all have a certain amount of psychic ability within us but we are inclined just to either take our "intuition" for granted or else ignore the hints from the future that our minds are maybe continually giving us. So, torn between writing an entire book on my experiences and just putting them to one side, I am presently inclined to do the latter and get back to Honey Pi. However, I am still dithering between indulging in the nostalgia of the past and the intriguing possibilities of the future, so watch this space for clues as to my decision.
 
@Durgadas emulator seems to be nice. Hoewver i know nothing about this machine :-(
Are there any sites where i could learn some basic things to start with? I mean especially such simple things like entering instructions trough the front end panel (if it is even possible) and so on. Then the list of instructions with explaination on all of them would be nice. Just some things that could let me start with Honeywell.
If somebody could just tell me a simple step by step guide to enter a single instruction into memory so i would have a point to start with :)

The IBM keypunch simulator included with it seems to be one of the coolest ideas i seen. It is in fact my reason why i'd like to learn on how to get virtual Honeywell runnung. Just to have some fun with those virtual punched cards procesing :)

And will there be some telnet terminal connection option included to emulate TTY connection? I am not even sure if Honeywell was able to connect to the standard TTY but i guess it was as all other mainframes seems to have option to connect to the terminal trough TTY. I know there is a build in line printer but i am asking about remote TTY trough telnet.

And are there any chances for model 129 keypunch? AFAIK it was most advanced one with 6 programs stored in electronic memory instead of program durm. You could also make the card in reading station visible, this would require larger resolution screen to show both cards, but it could be optional so users with larger screen could see both cards.
 
Last edited:
@Durgadas emulator seems to be nice. Hoewver i know nothing about this machine :-(
Are there any sites where i could learn some basic things to start with? I mean especially such simple things like entering instructions trough the front end panel (if it is even possible) and so on. Then the list of instructions with explaination on all of them would be nice. Just some things that could let me start with Honeywell.
If somebody could just tell me a simple step by step guide to enter a single instruction into memory so i would have a point to start with :)

I think this is the right bitsavers directory containing docs for this machine:

http://bitsavers.trailing-edge.com/pdf/honeywell/series200/
 
I've gotten a lot of information from bitsavers. The "Honeywell Programmers Reference Manual" is probably the best start. My emulator has a built-in assembler emulation, but you can also enter programs into memory via the front panel - if you have the patience.

I've almost-exclusively programmed in "register architecture" assembly language (8080/Z80, etc), so the 200/2000 was quite different. Some things I had to learn: The assembler assigns an address to a symbol based on context. Instructions use the "leftmost" character address (first character) while data use the rightmost (last character) address. Data fields are terminated by word marks, and if you forget to ensure a wordmark exists, bad things happen. Also, the subroutine call/return semantics are a bit strange. The branch instructions save the next instruction address in BAR ("B" Address Register) and thus work as either a branch or "branch and link" (or CALL) depending on your code. The subroutine then must save the BAR and branch back to that address in order to "return". Also, if you use an offset to a symbol (e.g. SYMBOL+3) you may need to take into account the current running address length of the processor - which can be 2, 3, or 4 characters. So, a typical subroutine framework for running in 3-char address mode would be:

Code:
SUBR   SCR   RETN+3,70       SAVE BAR IN RETURN LOC
       ...subroutine code...
RETN   B     0               RETURN - ADDR REPLACED WHEN CALLED

There are other ways to accomplish subroutines as well, but this is a good starting example. Passing parameters to subroutines is a whole 'nother subject... and if you want to support recursion, well...

I put some basic instructions for operating the system here: http://honeywell2000.durgadas.com/h2000operation.html, which includes a link to a page on the front panel. Hopefully that will get you started. There are also some instructions in Honeywell manuals, but I've not found a single source for all front panel operations. They seem to have certain operations embedded in various documents. Like some information on bootstrapping in certain MOD1 documents, or the hardware maintenance manuals, and basically places where certain procedures were required. My understanding of machine operation is based on bits and pieces pulled from many different manuals. Unfortunately, I never got to operate the real hardware, I just watched.

Anyway, I'm sure you'll have fun... let me know if you have questions.
 
Last edited:
Thanks for that explanation Durgadas. As a past H200 programmer I would probably get in too deep to the different style of working necessary on this type of machine, but I'll do it anyway.

Unlike register machines the great advantage of a two address character machine is that fields can be any length. If you want to do maths to hundreds of significant digits then you just make the fields that big, but the instructions are just the same because they process whole fields no matter how large they are. That is why the word marks are so important, because the processing of a single instruction doesn't stop in the right place if one is missing. It is true that the basic instructions reference the right hand end of fields, i.e. words, but the advanced instructions include the Extended Move instruction that can process from left to right or right to left and terminate on a word mark, item mark or record mark. Hence it is possible to construct and process a four level data structure containing characters, words, items and records entirely within the hardware without any software iteration being necessary. I will have my work cut out just building the hardware for the basic instruction set though.

That method for writing subroutines illustrates one important point about the simplest programming techniques, that the machine code can be self-modifying. Register machines tend to hold all variable working data in the stack or data segments and the executable portion of a programme does not change, following the Harvard architectural model, but with the Von Neumann architectural model the code is also regarded as data and therefore can change itself while running. This may be regarded as bad practice by modern control freaks but is actually extremely versatile and the key to how it was possible to write tiny programmes such as my Pi Factory demonstration programme. There is so much self-modification there that it is very difficult to work out what is happening without the assistance of the clues given in the comments and my notes.

Modern programmers seem to consider the "Go To" instruction to be the work of the devil and bound to result in chaos, but here it is necessary and normal to modify GoTo instructions while the programme is running. Oh horrors! How could any programme possibly run reliably using code like that? The truth is that nowadays programmers only write the easy high level code as the more critical low level code with its naughty but essential GoTo's has already been built by more experienced system programmers. In fact nowadays that low level code is microcoded into the central processor's hardware during design. In the case of the H200 almost all the register handling was similarly hard coded, so the programmer didn't seem to need to think about it because the data was put back into main memory by the hardware automatically.

Although the programmer didn't have to use data registers directly they needed to understand what the machine was doing with address registers behind the scenes in order to return from subroutines and take full advantage of instruction chaining. This latter technique involved leaving the addresses out of instructions because the right ones were already in the registers following execution of the previous instructions. You have to understand instruction chaining to be able to comprehend what the assembled code in a typical programme is actually achieving. The H200 programmer's reference manual explains how each instruction uses and alters address registers so that a programmer can use this important feature effectively.

Another programming trick was making instructions temporarily disappear from the code. This usually involved placing a NOP (No Operation) immediately before the instruction during assembly. To disable the instruction, code elsewhere removed the word mark from its first character. As a result the NOP treated the instruction as its own parameters, which it always ignored, and passed control to the next instruction along. The hidden instruction could be reinstated simply by putting the word mark back on it. This technique allowed any instruction to be switched on and off as required. There are examples of it in my Pi Factory programme. Such techniques required very clear thinking on the part of the programmer to be reliable. This is where the idea of a programme being a "finite state machine" rather than a predefined procedure is essential to grasp. At all times the whole programme had to be in a valid meaningful state.

The style of programming used on these old character machines was very much aimed at minimising the memory space and machine cycles used because memories were small and expensive and the processors were slow by modern standards. Nowadays memory is dirt cheap and processors incredibly fast, so the code doesn't have to be so efficient and it can be designed to permit rapid reliable programming by relatively inexperienced programmers. My Pi Factory programme is tiny, but it took me two solid weeks of intense decision making to make it work to my very demanding specification. I also subscribe to an online writer's forum and am in fact now a staff member there, which explains why I don't post here very often. We discuss how much thought can go into a very effective piece of writing and how people can spend so much time reading, analysing and discussing famous works such as those of Shakespeare and much-loved poems by the great poets. However, back in the early days of computing just as much thought had to go into writing code that would fulfil the requirements. A clever piece of code that speeded up a long process could result in the computer operators going home an hour or two earlier at the end of each evening shift. In those days that was like poetry to all concerned.
 
Last edited:
Back
Top