In 1970, as a first-year Engineering student at Melbourne University, I was keen to be able to try out some computer programming. I had been introduced to Fortran programming in my final year at school in 1969 by way of hand-punched cards, batch processed at Monash University (probably using the Ferranti Sirius).

So there I was, a mere five years since the demise of CSIRAC, a name still whispered in awe, and although I was only interested in time-wasting schoolboy programming at the time, such as numerical integration, or plotting graphs on the line-printer using rows of "*", the 'Powers That Be' in the Melbourne University Computer Department took pity on me and granted me access to the computer, a rare privilege for first-year students.

The computer of the time was an IBM 7044. I remember steaming up the window of the Architecture building, peering in to see if my job had been run. At that time, programming was done on punched cards, submitted in a little cardboard box in one of many pigeon holes set up in the computer department. Staff would come out of the inner sanctum periodically and take a few of the cardboard boxes next in line into the magic machine. Later the box would be returned, cards hopefully still in order, and the precious line-printer output. Nine times out of ten the printout would say 'Error nnn - Job Cancelled' and it would be back to the drawing board.

One day the box contained more than just the printout, it had a note for me to report to the boss of the Computer Department, one Ron Bowles (of CSIRAC fame). I particularly remember his name because, as only an engineering student could, I mispronounced his name when asking his secretary to see him. I was rapidly corrected that his name was not 'Bowels'. I approached the deity in awe and trepidation. 'What are you doing to my computer? Every time I run your program you crash my computer!' he barked. 'And by the way, what are you doing using my computer, you insignificant little first-year being?'. But he was actually very kind, and helped me work out where I was writing outside the bounds of an array.

The IBM 7044 had very little memory. I needed to use magnetic tape for temporary storage of data while running a program (in much the same way CSIRAC users had the 'drum' memory). This must have been very slow, but there was no other way.

Using punched cards was a very tedious process, although perhaps not as tedious as paper tape which the users of CSIRAC had to cope with. At least with punched cards you could insert and delete lines in your program quite easily, which is not possible with paper tape. The best thing to do was to arrive at the university early in the morning or else stand in a long queue waiting for access to one of the three or four card punch machines available for general use. These machines were already antique, probably 1940s vintage. Although computers no longer used valves, the card punches still did. Editing was non-existent. If you made a mistake you had to scrap the card and start a new one. The only aid was the ability to duplicate from one card to the next, but this usually caused more trouble than it was worth.

A few years later I used a punched card reader in Telstra and found out what happens when you forget to put in the weighted card-catcher in the output tray. A very large number of cards are spat out into the air very rapidly, landing in an unsorted, dishevelled pile on the floor. You only do that once, and it's not so bad when they are your own cards.

In 1972 a gleaming new Cyber 73 computer arrived at the university. This opened new horizons - faster processing, more memory, on-line disk storage. Computer terminals started to appear around the campus, which saw the end of punched cards. Programs could now be stored on the computer and 'edited' on-line. The word 'edited' does not have its modern connotations of WYSIWYG (What You See Is What You Get). These were 'line' editors which allowed you to find, insert and delete lines, and perform string substitutions. You really had to use annotated print-outs and keep a very clear mental picture of what you had done.

With the new computer came the chance to perform quite complex electronic circuit simulations using a program called SPICE. This travelled across the Pacific surprisingly quickly from Berkeley in the days before the Internet. Even the Cyber had memory limitations; I had to partition the program into overlays to be allowed to run it. Unbelievably, SPICE is still in use today by the latest generation of electronic engineers, but of course on PCs.

In about 1974 the Electrical Engineering department acquired a Data General Nova mini computer. Although punched cards had gone from the mainframe world, paper tape still reigned king in the mini world. To start up the Nova it was necessary first to enter the bootloader program manually into memory using a bank of 16 binary switches on the front panel of the machine. About 10 instructions had to be entered each with a different 16 bit binary pattern. Because the computer was American, the switches had to be set up for a '0' and down for a '1'. This was both confusing and illogical. Even Americans drew binary waveforms with a '1' at the top and a '0' at the bottom. Having installed the bootloader, the machine could now read its operating program from a high speed paper tape reader. Finally the user's program would be read from paper tape. The Nova was used for real time data logging, plotting and also for simulation programs.

In Telstra (and its predecessors) I immediately moved to 8-bit microprocessor development work, leaving behind higher level languages such as Fortran, and going back to assembly language, very similar to what the CSIRAC programmers used. This level of programming and hardware design brings the user face-to-face with the inner workings of the processor, and makes it much easier to understand CSIRAC now.

Early work used a National Semiconductor Imp desktop computer as a development machine for SC/MP microprocessors. The Imp had the same paper tape problems as the Nova, but fortunately the bootloader was in ROM by this stage. We all blessed the day when floppy disks arrived (8 inch beasts) and the nasty, slow paper tapes were thrown out.

Work in AUSTPAC showed a different side of computers. Each AUSTPAC packet-switched data exchange had a capacity of about 500 4.8kbps customer lines, and contained about 100 4Mhz Z80 microprocessors working cooperatively. Network management was performed on DEC VAX and Honeywell DPS6 minicomputers, but eventually moved to the ubiquitous Unix boxes that Alan Bell refers to in his 1995 paper [1]. (AUSTPAC = AUSTralia PACket switching. For some reason it was always spelt in all capitals. It was a Telstra service supplying X.25 data packet switching to business (eg it supplied the Safeway backbone network for a while). It has now been superseded by the Internet or other private IP networks).

And so, looking now at CSIRAC, 50 years later, through more experienced, but still inquisitive eyes, it is interesting to see how much has changed and how much has not. Fundamentally, modern computer architecture has not changed much since CSIRAC. The main differentiating feature of CSIRAC is the 'one-bit-wide' bit-serial architecture that it uses. What a brain-wave to bring together the serial nature of the memory with a serial processor to make a simple, cheap computer! The only expense was speed.

One of the chief problems that slowed the development of computers including CSIRAC and SILLIAC right up to about 1980 was the high cost and small capacity of computer memory. More than anything else, it is cheap, modern semiconductor memory that has revolutionised computers. Magnetic disks have always been around, and their capacity and speed has never been an issue.

Oh for the good-old-days. I love valves - you can see them work!

References:
[1] Newsletter (1995), July-August, University of Melbourne Computer History

Webography:
CSIRAC Information http://www.csse.unimelb.edu.au/dept/about/csirac/index.html
CSIRAC Documents http://www.museum.vic.gov.au/CSIRAC/resources/archive.aspx

Biographical Note:
Peter John Weymouth born 1951
1970-73 University of Melbourne Bachelor of Engineering (Electrical)
1974-75 University of Melbourne Master of Engineering Science
1976-1997 PMG / Telecom Aust / Telstra Areas of work - microprocessor developments associated with telegraphs and data; software and network management of packet-switched data network.
1997-2007 Single-chip microprocessor developments.

Computers Programmed:
Mainframes: IBM 7044 (1970-71) CDC Cyber 73 (1972-75) Honeywell 418-III (1974)
Minis: DG Nova (1975) Honeywell DPS-6 (1983-90) DEC VAX (range) (1983-90)
Desktop: National IMP (1975-77) Motorola Exorciser (1978-82) PC (range) (1990-99) Macintosh (range) (1990-2007)
Micros: National ISP-8A/600 (SC/MP) (1975-77) Motorola 6800, 6802, 6809, 6811 (1978-2007) Zilog Z80 (1983-89)

More Information