The CSIRAC History Team has produced and used equipment to read CSIRAC 12 hole paper tapes.
CSIRAC had paper tape readers, which would require a lot of work to activate again, with not a high expectation of success. The History Team decided to develop a 'post-CSIRAC' paper reader.
The project to re-construct the CSIRAC music was a major stimulus for the construction of a system to read CSIRAC paper tapes. The equipment was used by Ron Bowles, Paul Doornbusch, John Horvath, Jurij Semkiw and John Spencer during the project to recreate the music.
Some of the 12-hole paper tapes (including the music tapes) were read during June-October 1998, but the majority of the tapes were read between April 1999 and May 2000. The music resurrection project ran from about September 1998 to April 2000.
The program used to read tapes has a Test Facility built into it. The Test Facility requires a tape be loaded for testing. Tape T 916 was chosen. The test needs to be carried out frequently to ensure that the tapes are being read correctly.
The project required a long program. John Horvath chose T 916 because it was long and its purpose and creator were not known. Meaning if it were damaged, it would not matter. There was a high probability that the tape would be damaged, as it was used many times for testing. It is difficult to work out what T 916 did because it is in assembly code.
The items used to read the tapes were an Apple printer and a Toshiba laptop Model # T1200. The printer was converted to read CSIRAC 12 hole paper tape via a parallel interface to the Toshiba laptop. It was converted by Jurij Semkiw and John Horvath, University of Melbourne. The laptop was used to drive the converted Apple printer to read 12 hole paper tapes and store the data on 3½ inch floppy disks. The software was written by John Horvath, University of Melbourne. The resulting Hex files were converted to CVT format for use with the CSIRAC emulator. TSP (list) files were also created, this work was completed by John Spencer.
The reading of a paper tape required a mechanism for advancing the tape in a controlled manner and a means of reading the holes on the tape. The Apple printer platen was used to advance the tape, under control of the software (written by John Horvath) executed on the Toshiba Laptop computer. The holes in the tape were detected photo electrically with a light detection system mounted on the printer.
The following outlines the techniques used to archive historical computer paper tape data that was used exclusively with the CSIRAC computing system.
From a historical viewpoint, it was deemed imperative to preserve the programs and data that were stored on the last remaining paper tapes used with the historic CSIRAC computer, which were deteriorating with the passage of time. It was therefore decided to convert the tape data into electronic form. The expertise of the Department of Computer Science and Software Engineering at the University of Melbourne was called upon to perform this task. The Department's in-house Technical Services Group was charged with designing the necessary hardware and software solution to this problem.
From the outset, it was discovered that the mechanical tape reading mechanism was the principle challenge and, after several prototypes were evaluated, the decision was made to utilise a spare (original) tape reading mechanism in the final design solution. In collaboration with Jurij Semkiw, a novel solution was devised using a linear array of light emitting diodes (LED) and phototransistor detectors that were arranged in optical alignment corresponding to a row of punched hole data as occurred on the CSIRAC paper tapes to be recorded. The phototransistor detectors were coupled to the mechanical tape reading mechanism by way of short optical fibres as their physical size precluded them from being directly mounted on the tape read head mechanism due to the close spacing of the individual punch holes on the paper tapes. The LED light sources were directly attached to the original tape reading head mechanism. A parallel data latching circuit was designed to capture the sensed binary logic levels present on the phototransistor detectors as the punched paper tape traversed through the tape reading mechanism.
The data latching circuit was controlled by a laptop computer and featured a parallel data interface that enabled the latched (captured) data to be read and stored by the laptop computer, via its parallel printer port, a line at a time. This same computer also controlled the feed motion of the paper tape through the tape reading mechanism by way of microstepping the paper feed mechanism of an Apple Imagewriter dot matrix printer which was incorporated into the paper tape feed path in the tape reading design solution. It did this by sending special serial port motion control commands to the printer.
In essence, the tape reading software optically sensed the changing state of the timing track holes on the paper tapes and controlled the printer-driven tape feed mechanism so as to position the tape “data” holes precisely under the phototransistor detectors in a rudimentary opto-mechanical feedback system.
Two programs (one authored in the C programming language) were written specifically for the initial capture of CSIRAC paper tape data. The first program concerned itself with controlling the tape reader electronic interface and paper feed mechanism and capturing the raw tape data as detected by the phototransistors in the tape reading mechanism. It used a memory buffering technique to improve realtime data capture performance and saved this data in an MS-DOS formatted file.
The second program converted the raw captured tape data into a more convenient and human-readable form, consistent with the instruction and data formats of CSIRAC's instruction set as specified by John Spencer. This second program was manually executed on a Unix host computer and necessitated the frequent upload of raw captured data from the tape reading control laptop computer.
Samples of converted data were later used by John Spencer in the development of his CSIRAC emulator software. A sample of the decoded output format produced by this second conversion program is presented in file T712A_CVT.txt. Not only did this project fulfil the primary requirements of preserving the original CSIRAC tape data for later study, it also enabled a novel visual demonstration of CSIRAC program execution to be realised by way of a CSIRAC emulator created by John Spencer.
John was an original programmer of CSIRAC in its heyday and provided valuable input during the development of this project. A demonstration of his emulator can be seen at: http://www.csse.unimelb.edu.au/dept/about/csirac/emulator.html
Note: The tape data capture program is called reader.exe (MS-DOS executable) and was compiled from the source files reader.c and reader.h using Borland Turbo C++. Note: the lookup table data in the header file reader.h (used by the reader program to “invert”, or flip, the read binary tape data values) was generated with the program tablegen (UNIX executable) and was compiled from the included source file tablegen.c using the GCC compiler. The second post-processing raw data conversion program is called convert (UNIX executable) and was compiled from the source file convert.c using the GCC compiler.