Post by Brian W Spoor I've just posted a copy of the ICT 1500 Programmers Reference Manual on my website, a rebadged RCA 301 I believe (or was it the 501? - before my time I will admit). See:- http://www.icl1900.co.uk/techpub/1500prm.pdf Not strictly ICL1900, but part of the history of the company. The ICT 1500 was indeed a rebadged RCA 301 (not 501). The same machine was also rebadged by De La Rue Bull as their Gamma 30, (French computer company - later absorbed into/as Honeywell-Bull) The ICT variant of the machine read the more usual encoding of 80-column Hollerith cards, where the rows were called 10,11,0,1,2,3,4,5,6,7,8,9 - this in deference to British Sterling currency where the upper two rows allowed for encoding of pennies (12 pennies to a shilling) in a single column - that only worked on the ICT tab equipment - not on the 1500. The French Bull machine had a modification where the card-reader circuitry was tweaked to correctly read their version of encoding on an 80-column punched card. I can't recall the exact details of how the French version differed, but I think they moved the top two rows to the bottom of the card so that the rows represented 0,1,2,3,4,5,6,7,8,9,X,Y or something like that. (X, Y and 0 being the more usual designators for the overpunch rows when encoding Alpha strings) The manual has a nice diagrammatic layout and explanation of the operator's "console" - a wonderfull array of blinkenlights some of which were also keys that could be pressed to enter values into registers etc. A pictures of same can be seen in the second image on the page at http://home.znet.com/couperus/ICT1500.htm This manual curiously enough gives not only the single-character op-codes as used in actual machine code, but also their mnemonic equivalents as used in the FAS language. (FAS = Fifteenhundred ASsembler) but no mention is made of the FAS language itself. This was a very simple assembler that did little more thatn translate mnemonic codes to machine codes and allowed the programmer to address memory via named variables instead of hardware addresses. The concept of macros or micro-substitution was unknown in that environment and only became commonplace in the next generation 1900 machine with the PLAN assembler. The ability to pull in run-time routines from a tape library and link them dynamically via a loader also eventualy became available - until then one took a source deck of the required routine and merely added it to ones main program to be assembled in all as one big program. Jitze