Go to 1401RestorationPage

1401 Emulation in 360

--------

I'd like to ask several 1401/360-era questions, as I believe you're the only remaining person who can credibly answer them. from Robert B Garner, Oct 23, 2008, at 10:13 PM
Fred,

We met at the Stretch event at the Computer History Museum.
I snapped your picture in front of the Stretch and invited you to see our restored 1401. (You got these, right?)

I'd like to ask several 1401/360-era questions, as I believe you're the only remaining person who can credibly answer them.

1) From reading Basche (and Shel Jacob's story) I see that Bo insisted that 1401 prodigy needed to be 1401 compatible.
When the 310 was started in San Jose, Bo insisted that it be 1401 compatible, leading to a closed-door offsite at Rocky Point in upstate New York.
(It was transferred to Endicott and became the 1410/7010, and apparently was 1401 compatible via a console switch.)

And again with the 11LC, also started in San Jose and transferred to Endicott, Bo insisted on 1401 compatibility.
(It became the 1440 and 1240/1420, which apparently had the same ISA as the 1401 except for the I/O instructions.).

I understand the 7000 series machines were essentially non-compatible with each other.

So, according to Basche: "The 1401 experience deepened the convictions of Evans, Spaulding, and ES Hughes about system compatibility, a concept that would find its most significant application in IBM System/360."

Can one say that the early success of the 1401 resulted in an IBM doctrine that one needed compatible ISAs to reduce engineering development costs for software, field service, training, spare inventory, logistics, marketing, etc.? How would you say this in your own words?

2) I understand that the H-200 Liberator software caused IBM marketeers to realize that if the 1401S was canceled, that the 360 would have to emulate a 1401. You described to me when three of your team determined they could indeed effectively emulate the 1401 in the Model 30's (?) firmware. What were their names and what was your elated reaction again? Can you describe this activity in your words? (I have the CACM paper on 1401 emulation in 360, but it's not very detailed...)

3) Do you have any artifacts, memos, pics related to the 1401 from this era. (Like Watsons' transistors only memo, etc.).

Thanks in advance for your thoughts,

- Robert

p.s. I've contacted and have held conference calls with the 1401/WWAM "elders": Maurice Papo, Karl Ganzhorn, Ralph Mork, Chuck Branscomb, Fran Underwood, Jim Ingram, and Shel Jacobs. We're beginning to post the original docs/pics I've collected and audio recordings of the conference call sessions on our 1401 restoration web site here: http://ibm-1401.info/1401Origins.html

In Oct, 2009, the 50th anniversary of the 1401's announcement, we'll be holding at the Computer History Museum an evening lecture on the 1401. At this point, I'm hoping to at least have Maurice, Jim, and Shel present.

p.p.s. I agree with your characterization of the 1401 as a "I/O controller". As Chuck said, the Endicott engineers were lucky to have a constrained, well-defined, predisposed market need and a focused solution that they knew would address it when shipped. Nevertheless, engineering teams still can fail at delivering well-understood systems, as they fall prey to adding in too many extensions/options. Chuck is proud that they ignored most of the requests from the "computer scientists in Endicott." (They did add tape, which had the unanticipated consequence of bringing an end to the era of sorters and collators!) (I've been in this design space also: The Xerox STAR Professional Workstation, which I co-designed, and the Xerox PARC Alto, were also very much "I/O controllers" that met a very large market need.).

p.p.p.s. I was the lead architect of 32-bit PARC at Sun, joining Bill Joy & Dave Patterson in 84, and so deeply understand the trials and tribulations of creating an ISA via committee and keeping the architecture team from destructive in-fighting when everyone wants to drop in their custom kitchen sink! Are there any memorandum/histories/stories of what the design process was like for the S/360 ISA ???

Thanks for taking on my questions about 1401-compatibility in 360 land Forwarded by Robert B Garner - 01/06/2009 07:26 PM
Fred,

Thanks for taking on my questions about 1401-compatibility in 360 land (when you're able to find the time!)
This is much appreciated and valuable for the 1401 project and the Computer History Museum.
(I plan to write a more detailed paper about the 1401 history next year.)

Adding a bit to question #2 below (about impact of H-200 on 360 design): I assume the original efforts to get control store working in NPL models was driven by the need to emulate 7000-series? Was there no 1401 support plan (in low-end models) until the H-200 announcement?

And any more anecdotes about the bake-off between the 101H and 1401-S projects? pgs. 162-163 in Pugh et al sound like a terrifying fight, with engineers caught in the middle on both sides... Where you at the Feb/64 meeting where 1401-S was canceled? Do you recall anything more from it?

In Chuck Branscomb's recent history on 1401 program, here:
http://ibm-1401.info/1401Origins.html
http://ibm-1401.info/Branscomb-Main-1401-story.html

Chuck wrote the following. Any feedback on this, 45 years later! ;-)
My recollection is that only the Model 65 of the 360 program had serious work underway on emulation prior to the announcement of the Honeywell 200 Liberator. Emulation using read-only store became a major thrust on several models of the 360 under development, and I believe frankly that the Honeywell 200 announcement turned out to be a significant plus for the 360 line because without good fast emulators, 360 would have had a very difficult time. The problems with the 360 operating systems only emphasized the importance of very good emulators of the then current product line.

It turns out it would probably have been wise to do both—some version of the 1401S, as well as, all of the models of the 360 line. The reason I note this is that while the 360 was very successful, it was mostly in equipment rental range above that of the 1401 program. As a matter of fact, in April 1964, when the 360 was announced, IBM had 87 percent of the business for systems in the rental range of $2,500 per month to $10,000 per month. Five years later, in 1969, IBM only had 47 percent of the business for equipment in the rental range of $2,500 to $10,000 a month. This led Frank Cary to start the General Systems Division with the focus on the low end of the line, and it became the only computer division in IBM to be integrated with its own development, manufacturing, marketing, and service. By the way, GSD was very successful in the low end of the business line with the System 34, System 36, and System 38—which later with enhancements became the AS/400. The division was less successful with its Series 1 entry into the mini-computer business, but did develop the IBM PC shortly before the division was integrated back into IBM.

Also, can you comment on which aspects that you dislike most about the 1401's ISA? Word marks, serial nature, BCD, etc ?
Chuck as remarked that some people "didn't even consider the 1401 to be a computer."
(I agree it can be viewed as an "embedded" IO controller, well tuned to it's particular peripherals.)

- Robert

My reading of the history is that the H200 ... - from R. Garner, March 18, 2009, at 10:33 PM
Fred,

Thanks for your reply/question on 1410 OS.
(I suspect Jay or Bill will reply, as Jack Palmer is away from his computer for a week.)

Re: my earlier 1401<-->360 questions, if it's OK with you, I'd like to ask them one at a time (there are 3 ;-):

1) My reading of the history is that the H200 Liberator software* startled IBM management and market planners into realizing that, as the 1400 series was end-of-lifing, that (only then) you guys needed an engineering plan and demonstration that the 1401 could be efficiently emulated on the low-end 360s. Is that accurate history? Or was the plan all along, before the H200 came on the scene, to emulate a 1401 (and 1410?) on the low-end 360s (model 30)? Or perhaps the (unexpected?) appearance of the H200 just accelerated the need to demonstrate the expected 1401 emulation performance (to help kill the 1401S)?

When you were at the CHM for the Stretch event, you described to me the moment when three of your team members determined they could effectively emulate the 1401 in the Model 30 microstore. What were their names again and what had been your elated reaction? Can you describe the 1401 emulation effort? (I have the CACM paper on 1401 emulation on 360, but it's not very revealing...)

Thanks for helping to capture this interesting history,

- Robert

* Created by an ex-member of the 1400 Endicott software team,
as shared by Bob Cenfetelli**:
> The first 1400 reference above mentions the Honeywell 200
> Liberator. As I recall, the Liberator was written by a "former IBMer",
> Dieter Wensing. He came over to the US on assignment from IBM
> Germany to assist in some of the 1400 work. ... At the end of his
> assignment, he wanted to stay in the US and we would have kept
> him, but IBM Germany said no, they wanted him back. So he quit IBM
> and was hired by Honeywell and, as I was later told, wrote the Liberator.

** Bob Cenfetelli: "I was one of the original software
developers on the 1400 series in Endicott. I wrote some of the
Disk utilities for the 1405, the author of the Control Sequential
file organization and also contributed to one of the Sort packages."

Fred Brooks email story on emulation of 1401 on S/360 Model 30 - from R. Garner, April 10, 2009 2:34 AM
Chuck,

Below is Fred Brook's story about their 11th-hour analysis to see if the Model 30 could be made to efficiently emulate the 1401.

It's remarkable that the 360 intelligensia in Poughkeepsie had not given 1401 emulation serious consideration until the Honeywell H200 was announced! (While, as Fred notes, they had planned for 7090 emulation on the Model 60. As you noted in our conf call yesterday Chuck, they were apparently assuming a (slow) 1401 simulator or thought that users would recompile and/or rewrite their applications to the 360 princops.)

I'll (discretely) be asking Fred about this, and also about his worthy attempt to accommodate the low-end, high-volume (1401) market in the early NPL=360 design deliberations. According to Basche's 360 history book, Fred first considered a stack-based ISA to try to accommodate the low-end cost needs (in particular, how to employ smaller memory addresses to help accommodate a smaller memory capacity). But, because of the patently lower performance of the stack architecture (that didn't stop Burroughs B5000's architects ;-), he gave it up and opened the NPL ISA design to an internal-to-IBM design contest!

Any comments on Fred's story, as follows?

- Robert

p.s. I've cc'd George Ahearn, original member of the 1401 CPU design team and now on the Museum's 1401 restoration team, who co-authored the 1401 emulator on the Model 30!

p.p.s. Are any of the execs he mentions below still with us? Ty Marcy?


Begin forwarded message:

> From: Fred Brooks
> Date: March 19, 2009 6:44:25 AM PDT
> To: Robert B Garner
> Cc: Fred Brooks , robgarn@mac.com, Ed Thelen , rweaver@ix.netcom.com, BillWorthington@comcast.net
> Subject: Re: Emulating 1401 on 360/30 (was Fw: More Re: IBM 1401 family compatibility, S/360 emulation, Xerox STAR, SPARC, etc
>
> Robert,
>
> One day in January of 1964, as the System/360 was tearing along for an April 7 whole-family announcement, John Haanstra, brilliant engineer and great manager, President of the General Products Division (who had been opposed to the S/360 plan all along so far as the 1401 family went), sprung a surprise. He convened a multi-day meeting of the Group executives in White Plains and pitched the (quietly developed) 1401S as an alternate product plan for the lower part of the market, instead of the S/360 Models 20 and 30. These latter were in his product responsibility, but he had grudgingly let them be developed in his labs.
>
> The 1401S was to be 6x the 1401, at least upward compatible from the 1401, and priced the same as the 1401. The argument was indeed based on Honeywell's Liberator, which was, I believe, more than software—I recall it as having a hardware-assist to help emulation of the 1401. (Centefelli's recollection is probably more accurate than mine.) Haanstra's argument was that the incompatible S/360 Models 20 and 30 would essentially give away the 1401 market to Honeywell, whereas the 1401S, although it would impact 1401 rental revenue, would make a lot of money. It was a potent argument indeed, both in substance and in timing, because the Liberator was the panic du jour for the company brass.
>
> This proposed change would have been a death blow for the S/360 family. The 1401 market was more than half of our total forecast in terms of number of machines, and perhaps half in $. Spreading the software cost over half the revenue would have ruined our prices. Moreover, the 1401S would have taken a big share of the Solid Logic Technology chip production, which turned out the be the limiting factor on delivery schedules.
>
> We had the DSD-invented emulator technology rolling vigorously for the 7090 on the Model 60. So Evans and I immediately thought that afternoon of seeing what we could do for a 1401 emulator. I called Poughkeepsie and Endicott and set up the plan.
>
> William V. (Bill) Wright and Gerald (Gerry) Ottoway were my two-person technical cavalry team, genius computer hardware and software designers that I sent to wherever the battle was thickest. They had helped turned around the Böblingen lab technically from a 1401-ish little machine to the Model 20, after we had won that political battle, so they were intimately familiar with 1401-ish dataflows and S/360-ish microcode.
>
> They and I severally flew to Endicott that night, where we joined the chief architect of the Model 30, William (Bill) Hanf. The three of them designed and microcoded all night, while I listened, approved sub-decisions, cheered, and kept fetching the coffee. By dawn we had a design that required one very minor modification in Model 30 dataflow, and we had actual microcode for the instruction-fetch-decode loop and all the most common operations. We had timed it on 1401 instruction mixes and knew that it would run 4x the 1401, at least. Yes, I was elated!
>
> I caught the early morning flight from Endicott back to White Plains and presented these new results at the second day of the meeting. What our new plan offered was 1401 compatibility and an easy customer transition into S/360 and hence the growth and future mainstream. Needless to say, this new development was as startling as Haanstra's assault on the official company product plan had been. The meeting adjourned, to come back on the third day. Lots of discussions went on in White Plains that night.
>
> When we convened the next morning, Haanstra wasn't there. He had sent Ty Marcy, his Division Manager of Engineering, to represent GPD. I knew then we had won. What had happened overnight was that John Opel, then President of the Data Processing Division (field marketing and sales force), decided that our plan represented the right way forward for the company. His reasoned and influential voice convinced the top brass. From then on, the company really united in making S/360 happen, and we announced on April 7 as planned. A little while later, Haanstra left to become head of computers for GE.
>
> Of course, the emulator microcode generated that night had to be checked, expanded to cover all operations, and productized. All that happened in due course.
>
> Fred

To my knowledge, Fred’s story about the 1401S and emulator on SYS/360 Mod 30 is correct. - from C Branscomb April 11, 2009 12:33 PM
To my knowledge, Fred’s story about the 1401S and emulator on SYS/360 Mod 30 is correct. I would have used different words to describe John Haanstra’s position on the low end 360 machines. I think he was focused on ensuring there was adequate follow on products for 1401 customers and market area. He did not believe Mod 30 would do the job. As it turned out, he was partially right since with even a very successful 360 program, IBM lost significant market position in low end systems.

Chuck

Fred Brooks email story on emulation of 1401 on S/360 Model 30 - from R. Garner, April 11, 2009
To: Charles Branscomb
Cc: Fran Underwood; Jim Ingram; Ed Thelen; Bill Worthington; Robert B Garner; Robert Garner; Sheldon Jacobs; George Ahearn; John Pokoski
Subject: Re: Fred Brooks email story on emulation of 1401 on S/360 Model 30

Chuck,

Thanks for your comments on Brook's recent email.

> I would have used different words to describe John Haanstra’s position on the low end 360 machines. I think he was focused on ensuring there was adequate follow on products for 1401 customers and market area. He did not believe Mod 30 would do the job.

If it's OK, I'd like to ask a few more questions about John Haanstra:

1) I assume the reason John thought the Mod 30 would not do the job was because it was too expensive?
(Due in part to its control store?)
Do you know if the 1401S was cheaper than the Mod 30? (I assume that would have been the case.)

Computers&Automation's monthly census report for Feb/68, showed monthly rentals as follows:
- Mod 20 $3,000
- 1401 $6,480 (perhaps a 4-tape, 16k sys)
- Mod 30 $9,340 (ouch! I wonder which peripherals are assumed in this cost?)
- Mod 40 $19,550
- Mod 50 $32,960
- Mod 65 $56,650
- Mod 75 $81,400
I'm starting to get your point regarding the high cost of the 360 family. :-)

2) Did you hear/recall why John didn't attend the meeting with John Opel and sent Ty Marcy instead?

3) Do you recall how much longer John stayed at IBM before leaving for GE? (And then when he had his fateful plane crash?)

Thanks,

- Robert

Fred Brooks email story on emulation of 1401 on S/360 Model 30 - from C. Branscomb, April 11, 2009
Robert

The Model 30 was more expensive than the 1401 due to the capability built in for upward and downward compatibility. I do not know the specifics but I’m sure the minimum memory size was much larger, the I/O channel capability and capacity added cost, and I believe the Model 30 required disk storage for its operating system. These are examples that are only general because I have never seen a study of this question.

I know nothing about the meeting to which Fred refers. You can find out more than you want to know on this battle as well as S/360 architecture battles by going on Google to get to American Heritage, 1990 article about S/360. By the way, the last I heard of Ty Marcy he was living on Cape Cod but that was a year or two ago.

The 1401S debate took place at the beginning of 1964 and John Haanstra left IBM in the fall of 1967 (I thought it was earlier) but he worked in IBM’s Federal Systems Division before he left. His airplane crashed August 16, 1969.

Chuck

Your whiteboard sketchings and Fwd: Fred Brooks email story on emulation of 1401 on S/360 Model 30 from Garner, June 13, 2018
To: Dal Allan < endlcom@acm.org >
Cc: ...

Dal,

Thanks for coming in today to meet and sharing your anecdotes with the 1401 restoration team! (about half of ‘em ;-)

Per our conversation, below is Fred Brooks’s story to me about how 1401 emulation on the Model 30 came about and Chuck Branscomb’s reactions to that (and to other of my questions). How does this jive with your recollection of Endicott’s (possibly independent?) preparations for 1401 emulation on the Model 30?

You may enjoy watching Fran Underwood (1401 architect), Chuck Branscomb (1401 project mngr), and Shel Jacobs (1401 marketing) presentations at the 50th anniversary of the 1401 event I organized at the CHM in 2009: https://www.youtube.com/watch?v=FVsX7aHNENo

I look forward to seeing you again, any Weds,

- Robert

p.s. As background to your (unanticipated) presentation of the evolution of “SS" to the life-saving DOS-360 (because OS-360 was so late ) to the team today (which I audio recorded, THANKS!), here’s the white board you sketched while presenting:

How do you spell your area manager’s name that “disappeared” — Jim Frame (sp?) — and was replaced by Earl Wheeler (sp?)
“SS" — what evolved into DOS-360 in just eight months in Endicott — stood for “System Support”?

Software Emulation? from Van Snyder, Feb 23, 2012
Here are two files I found on a tape that Dick Weaver lent me.
- FILE011
- FILE012

They appear to be BAL source for a 1401 simulator, and a few updates. The program is identified as "modified version of 360D-11.1.019," modified by Dick Weaver at IBM-Armonk NY, June/July 1970.

If it does work, it would be useful to publish instructions how to use it in Hercules. Several anomalies have been discovered in the SimH 1401 simulator, which could only be verified to be correct or incorrect behavior by running test programs on a 1401, either in Sindelfingen or at CHM. Presumably, the 1401 simulator for the 360 was accurate. On the other hand, it wouldn't hurt to compare it to a real 1401 when questions arise.

Van Snyder

Software Emulation? - in a Mod 50 - from smd@att.net, Feb 23, 2012
> The IBM 1401 simulator was for the 360/50. As it was a pure simulator,
> perhaps it would work under Hercules.
>
> If anyone still has a copy of it.

Simcha Druck
On Behalf Of Simon
 Sent: Wednesday, February 22, 2012 11:52 PM
> To: Robert B Garner; 1401_team@computerhistory.org;
> 1401_software@computerhistory.org
> Subject: Re: [1401_software] Model 30 FPGA,console panel and 370/390/z
> open-source emulator CORRECTION
>
> I have used Hercules to run MVT [not MVS, sorry] with ASP, although I
> am more familiar with HASP. The emulator is extremely faithful, but I
> doubt if the 1401 emulator deck for the 2030 would work because it
> needs microcode to support it, as I recall.
>
> Back in 1968 or 1969 I wound up writing a 1401 simulator for the
> 360/30 under DOS because the IBM emulator did not support sterling,
> and my company used the sterling add and subtract all over the place.
> IBM did also have a software simulator for the 1401, but again, no
> sterling feature.
>
> Simon Wheaton-Smith
> www.illustratingshadows.com
> Phoenix, Arizona, W112.1 N33.5  

Notes from Robert Garner
Bill,

Van notes below a "1401 compatibility mode" in 1410.

From my notes of our conversation this morning:

* 1410 and 7010 were generally incompatible ISA (5 character monotonic addressing, etc.)
* 1440 and 1460 used same 1401 instruction set, except for reader/punch
* 1240/1420 were compatible with 1401, but marketed to banks only.

And thanks for taking up the project of writing a paper on how 1401 systems where actually/typically used! (I suspect Dick might be willing to help edit/write such a paper.)

I'm still shocked by Fran Underwood's (cc'd on this email) remarks in his 1968 oral history that "750 1401's were sold within the first week" (that could have been about $2 billion of today's dollars!), and then a "couple thousand within the first 3 or 4 months". What were customers thinking? ;-) Sales folks must have gone berserk!

- Robert

p.s. And the 360 mod 40 had a 1401 compatibility mode too. ;-)

Which I assumed enabled beaucoup 360 sales before its late OS came along???

360 Machines containing (optional) 1401 MicroCode from Bill Worthington
Robert,

Not only did the S/360 Model 40 have microcode to allow it to be a stand-alone 1401, the Models 25 and 30 had similar microcode. The S/360 became a 1401 until the microcode was invoked to reset it to being a System/360. It had nothing to do with S/360 operating system availability -- just customers who dragged their feet in converting their programs to run natively on the S/360.

There were also 1401 emulators for these System/360 models that came along a short time after S/360s being delivered. These allowed 1400 programs to be included with DOS/360 job streams. The 1400 emulator was invoked through normal job control. It provided a way for the 1400 feature (microcode) on the processor to execute the 1400 program instructions while I/O requests caused a privileged interrupt to the DOS/360 supervisor which transferred control to the emulator code which issued a normal I/O request to the supervisor. (I remember attending a meeting in White Plains with a group called Systems Engineering Technical Development [SETD] to discuss a program called COMPAT which provided this support several years before the emulator was transferred to the development division in Endicott.) When System/370 came on the scene, the Models 135 and 145 had similar emulator features that worked with DOS/370 and DOS/VS.

My recollection is that was a similar emulator which worked with OS/VS1. I vaguely remember microcode also allowed the S/360 Models 40 and 50 to emulate the 1410 and 7010. There were emulators for most of the "source" computers on what IBM hoped would be the target model of S/360. I remember the 7070 emulator on the S/360 Model 50. They were all charged features since IBM thought they would be used for a short time and then dropped when the customer had completed his migration. Not!!

Customers wanted to run 1400 programs on more than these processor models and writing microcode was relatively expensive. Software development took the lead and wrote a 1400 simulator which required no microcode. A version of the simulator also supported OS systems. This allowed customers to run 1400 (1401/1440/1460) programs on any System/370. The only downside was that, since it simulated the 1400, there was overhead with every 1400 instruction executed. However, this was largely covered by the faster S/370 processor speeds. I know that 1400 programs were running on 4300 processors in the 1980s and wouldn't be surprised if there were still some running today.

Note: I use "emulator" where there is microcode on the processor to assist the execution of the (1400) program. I use "simulator" when there is no special microcode to assist the execution.

Van is right on when he mentioned that the 1410 had a switch which made it a 1401. The bank that I worked for as a programmer from 1960 till 1964 had both a 1401 and a 1410. There were some 1401 program which were run on the 1410 because it was much faster. The main difference to us as programmers between the 1401 and 1410 Autocoders was that we used Input/Output Control System (IOCS) macros for card, printer and tape I/O on the 1410. We were hard pressed for memory with the 4K 1401 and used no IOCS because of the inefficiencies of the generated code. 1410 Autocoder also allowed labels of ten characters vs. six characters for 1401/1440/1460 Autocoder. There were also some additional instructions in the 1410's repertoire -- Move and Branch instructions come to mind.

P.S. The 1440 used different instructions for reader, punch and printer instructions. Otherwise the instruction sets were the same.

Bill