Google-Apps
Hauptmenü

Post a Comment On: Ken Shirriff's blog

"12-minute Mandelbrot: fractals on a 50 year old IBM 1401 mainframe"

23 Comments -

1 – 23 of 23
Blogger Pierre Clouthier said...

What an amazing feat! Congratulations on resurrecting the past.

I worked with a similar system in 1970: a card-based Univac 9300, similar to IBM 360 (8-bit bytes). We wrote & compiled BAL (Assembler) on cards. There was no OS so each program was self-contained and self-loading.

It was a great learning experience to step through the code one instruction at a time, and display the memory contents for debugging.

See: kyber.ca/rants/UNIVAC history.php

March 21, 2015 at 11:29 AM

Anonymous Anonymous said...

I really could relate to the article. I wrote FORTRAN on an IBM 1602 in 1967 while in college. When I graduated, I worked at an insurance comapny that used an IBM 360/65 and I coded in IBM's PL/I. I moved to a university where I programmed on a 370/168, a S/390, and now I program on a IBM z/OS Z10 mainframe.

March 21, 2015 at 11:33 AM

Blogger Gene said...

Nice to see this; brought back lots of old memories. The 1401 was the second computer I learned, in 1962-3, at the IBM Service Bureau Corporation. Having learned first the IBM 704, even then the variable word length seemed strange! Also enjoyed seeing the reference to the AN/FSQ 31, which I worked on in 1963-4 at ITT.

March 21, 2015 at 12:09 PM

Anonymous Cat Mara said...

The SMS cards plug into racks (which IBM confusingly calls "gates")

It wouldn't be IBM if they didn't have their own confusing term for something completely commonplace. This is the company that calls a hard disk a "Direct Access Storage Device", after all :-D

March 21, 2015 at 12:29 PM

Anonymous Anonymous said...


Cat, the reason IBM often has their own words for things is because they invented them but the rest of the industry decided on using some other term.

March 23, 2015 at 6:53 AM

Blogger Spiff said...

@Cat Mara

To be honest though, many of these things IBM has unique names for were things that were very much not commonplace when IBM needed a name for them.

March 23, 2015 at 8:56 AM

Blogger Unknown said...

I wrote my first computer program for a mainframe (to calculate 22/7), never got to run it though.

March 25, 2015 at 12:34 AM

Anonymous John Riney said...

I've often dreamed of writing code that runs from a deck of cards. I've visited the CHM before, since my company is headquartered in San Mateo, and I'm out there semi-frequently. If I wrote something amusing with the ROPE toolchain, and I contacted them well in advance, do you think there's any chance I could get some time on the 1401?

March 26, 2015 at 12:52 PM

Blogger Ken Shirriff said...

John: the 1401 team is always looking for interesting demos. Email me and I'll put you in touch with the right people.

March 26, 2015 at 1:40 PM

Blogger Unknown said...

And oh... the reason IBM (really, OS/360) used DASD rather than DISK is that DASD was a broader term. It means Direct Access Storage Device, and besides disks includes drums and data cells. IBM was quite happy to say DISK when it meant (only) a disk.

March 27, 2015 at 12:10 AM

Blogger Keith said...

Wonderful article! Though I was bummed to see you cheated, using a USB-enabled keypunch instead of keying your cards by-hand. That cost you a few points! ;)

March 27, 2015 at 8:39 AM

Anonymous allen palmer said...

Regarding limited memory size or rather the restraintes it imposed on the programmer was the reason for the Y2K problem since programmers back in the '60s could not afford to code the 'year date' as a four position character. To save two positions of memory it was standard to use only the last to digits of the date. Also the use of the instruction code as 'data character' was another way to save core. These and many other 'tricks' used by programmers would at times make it very difficult for IBM Programing Customer Engineers to debug these programs.

March 27, 2015 at 10:12 AM

Anonymous Bob Smith said...

I was a 1401 programmer in 1964, writing some BIG programs for education. I still have am Autocoder listing of one. Before that, I wrote for the Burroughs B-280, which was pretty equivalent to the 1401. For fun, we wrote one-card 1401 programs. I still have the one that would load the program, execute a read command and then loop back, passing all following cards through the card reader.

March 27, 2015 at 10:48 AM

Blogger rmharvey said...

Trivial point... the output bin in the upper left of the photo of the 029 keypunch is not empty. There is a very short stack of cards there.

The 029 keyboard with the digits overlaying the right-hand side ruined my right hand for touch typing forever more. I have a 5 gallon water cooler jug full of punch chips (chad), with a bit of teletype jeremy mixed in.

I escaped the 1401 era, using 360's in school and 370's on the job, but I didn't skip punch cards. My sister started years ahead of me and did learn Autocoder, but also learned to leave it off her resume.

March 28, 2015 at 12:50 PM

Anonymous Toby Barksdale said...

I was a programmer in "Test Equipment Programming" at the IBM Research Triangle Park NC plant from about 1967 to 1974. We started with a 1401 then got in a couple of 1440s to drive functional test processes in 2740 manufacturing; and for direct circuit testing. Autocoder needed four tape drives while our 1401 only had two (and the 1440s had none, and no disk either!) After a long period of begging assembly time from an unrelated department I discovered that there was a home-brew two-tape Autocoder available. We got a copy of that and no longer had to patch our object decks manually.

Eventually we also had a couple of 1130 machines, which were great fun! We used them to drive a robotic arm mechanical and electrical connect up and then test keyboards by pressing the keys with puffs of air and reading out the socket. The only convenient output device for the human operator was the console typewriter, so we printed a report for each keyboard on that.

Later we got into the S/7 which was even more fun, since I got to do all the primitive stuff myself. The S/7 was used for testing circuit cards and for a microcode load process. The human interface was a teletype. At one point I wrote a 1401 simulator for the S/7. Maybe deep down I still loved the 1401 ...

March 31, 2015 at 7:02 PM

Blogger Rick said...

Great blog. It sure brought back a lot of memories for me. I was just 20 years old when I got the chance to work on an IBM 1401 computer.

If I remember correctly the first program I ever wrote was using a language called Autocoder. It sure was an exciting time. I managed to stay in the information technology business until I retired in 1999 - a lot of changes!!

April 15, 2015 at 3:24 PM

Anonymous Anonymous said...

1401 was for business applications. Mandelbrot should have been on 1620, the scientific equivalent. I think that the CHM has one.

May 11, 2015 at 9:34 PM

Anonymous Joe Massucco said...

Wow! Talk about a blast from the past. I learned how to program an IBM 1401 in college (1966) and absolutely LOVED IT! Since it was primarily used for college administrative purposes, students could only occasionally get on the real thing (hidden behind locked doors), so classes were taught on an IBM 1620 running what was called a 141 (abbreviated 4,000 character) simulator. I loved the fact the 1401 would allow you to modify code (yes it was dangerous, but if you were smart about it you could do incredible things with it). I still have a single 4,000 bit (NOT 4K) core plane from a 1401 that I keep as a memento of those days. I remember that when IBM announced the 360 they were forced to include a 1401 emulator so that people could port over their old programs (even object decks) onto the 360 and keep running them. I think an article at the time mentioned some hideously huge number of programs that had been written for the 1401 (and 1440) and that could not economically be rewritten for the 360.

April 23, 2016 at 1:57 PM

Anonymous Anonymous said...

Clicking on any of the images results in a 404

October 11, 2016 at 6:29 PM

Blogger CSJOSE said...

What a interesting memories....I had the opportunity of being in the Com[uter History Museum in Mountain View, California at the time of the 1401 Demo Room setup in Oct 2013.......sharing with Ex-IBM'ers the mainframe hardware install knowledge.

I want to thank WILLIAM HARNACK on the Museum for let me interact with the ex IBM colleagues team.
I spent 30 years in IBM Hardware Division as a Customer Eng for Mainframes - 360,370,308X,3090,CMOS,System Z etc.

I hope to visit again this 1401 Data Center Room.

October 5, 2019 at 8:55 AM

Anonymous Bill said...

Great article! I was a partner in a computer leasing company in nyc in the 1970's and 1980's.
In our inventory I had 500 keypunches, 407 tabulators, a 1401, 2 1440's, 25 360's, 37 370's
4 system 3's, and memorex, dec and xerox equipment, 2 rca 301's.

The 1440's and the system 3's we used in our service bureau !they were the easiest
to fix and program! When IBM dropped maintenance service on 1410's I began servicing
that machine for a customer.

The Ibm wiring diagrams were called maps and they were the BEST, I have ever seem!!
I could usually fix any IBM computer in less than an hour(faster than the IBM ce).

MOST REPAIRS JUST INVOLVED PULLING A CARD AND REPLUGING IT!!!!!

IBM SOLVED THE CONTACTS PROBLEM WITH THE IBM PC, THEY USED SCREWS TO KEEP THE CARD
TIGHT IN THE SOCKETS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(WHY DID IT TAKE IBM 20 YEARS TO FIGURE OUT THAT SCREWING CARD INTO A SOCKET WOULD
FIX THE LOOSE SOCKET PROBLEM!!!!!!!!!!!!

In contrast: RCA 301's usually took a full day to trace a short!!
DEC equipment 1 to 2 hrs. Memorex: 1 to 4hrs!

IBM salesmen were a problem at first then after speaking with the presidents office
of DP division and offering legal action, it became smooth sailing.

YES THOSE WERE THE GOLDEN YEARS!!!!

Today object oriented programming(c#, c++, java) takes twice as long as traditional IBM programming.

Fixing crashed microsoft windows and recovering files from crashed hard drives takes
me 5 times longer than fixing an IBM 360, 370 mainframe!!!

Only HTML stands out as a vast improvement over cics!!!

YES THOSE WERE THE GOLDEN YEARS!!!!








August 5, 2020 at 4:40 AM

Blogger Unknown said...

Any other Army 360 repairers out there ?

August 15, 2020 at 4:48 PM

Blogger Gareth said...

I never saw an IBM 1401, am too young (1964) but worked for a year at T J Watson research centre in 1989\90.
I’d like to build the guts (CPU mostly) of a 1401 as a hobby project. It may not be feasible, but the idea now sits in the queue.

Gareth

November 24, 2022 at 1:08 PM

You can use some HTML tags, such as <b>, <i>, <a>

Comment moderation has been enabled. All comments must be approved by the blog author.

You will be asked to sign in after submitting your comment.
Please prove you're not a robot