Image Map Image Map
Page 12 of 13 FirstFirst ... 28910111213 LastLast
Results 111 to 120 of 127

Thread: Honeywell 200 resurrection

  1. #111


    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. 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).

  2. #112


    I have setup a project page for my effort. 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.

  3. #113


    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.

    Rob -
    The Internet is a winch to get your project off the ground ... but always have a parachute handy.

  4. #114


    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...

  5. #115
    Join Date
    Apr 2016
    South Florida


    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.

  6. #116


    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.
    Rob -
    The Internet is a winch to get your project off the ground ... but always have a parachute handy.

  7. #117


    @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 by macieksoft; November 2nd, 2017 at 10:06 AM.

  8. #118
    Join Date
    Mar 2006
    Salt Lake City, UT, USA


    Quote Originally Posted by macieksoft View Post
    @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:

  9. #119


    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:

           ...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:, 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 by durgadas311; November 7th, 2017 at 03:55 PM.

  10. #120


    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 by RobS; November 8th, 2017 at 01:50 AM.
    Rob -
    The Internet is a winch to get your project off the ground ... but always have a parachute handy.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts