Story

Hardware

(Software)
Order code
Initial orders
Programing
Languages

People

Media

Support

Future

Links-




























The ICT 1301 Resurrection Project.

Programimg the Beast.



Machine Code


Programers View

I.C.T. 1300 series software and sample programs.
________________________________________________
================================================
Initial Orders
Initial Orders comprised 400 words of program stored permanently on a write protected section of the first drum. It was used as the means of loading all other programs and "entering" them after input. It also had other facilities, not strictly needed for the input of programs, that were intended to make operation of the computer easier and also to assist the engineer. Initial orders was entered by merely pressing two buttons. Initial Orders could read programs in three different formats. The first two, 'engineers' cards and 'fast read' cards both types had five words of pure machine code with absolute addresses on each card, but with a different layout. The third format, the normal mode of program input, had three words per card and included "Relativisers" so that programs were modular.

Programming languages.
======================

Relativised cards.
------------------

It may seem strange to consider this under programming languages, but much 1300 software was written in this form. Programs were written on coding sheets, complete with comments. The code columns were then punched on cards, but not the comments. The coding sheets were kept for program maintenance, though updating the program whilst keeping the coding sheets and the cards synchronised must have been difficult.

As written on a programming sheet, a single order is made up of four parts:
D, F, A and R
D is the "designation" of the order with permissable values 0, 4, 8, or 9.
It is usual to leave the designation blank when it takes zero value. F is the "function" of the order and consists of two digits. The combination of designation and function specifies the operation to be carried out by the computer when obeying the order. A is the "address" of the order and consists of four decimal digits. R is the "relativiser reference number" of the order and consists of two decimal digits. During loading, the designation is combined with the most significant digit of the address by logical OR. The relativiser reference number is used to obtain a previously specified base address which is added to the whole instruction, usually only affecting the offset in the address field. If no relativiser (or relativiser zero) is specified, nothing is added to the address.

Sample:





I.C.T. 1300 series MPL 2 (Mnemonic Programming Language 2) August 1964
----------------------------------------------------------------------

An MPL program is also written on coding sheets with comments, but again these are not in the machine readable source code. Data fields do have symbolic names and there are program labels too, but they are numeric. The labels can be in any order. The principal functions have single character mnemonics (many somewhat contrived), but the programmer still has to remember the indicator numeric codes. Some multiple instruction sequences such as indexing and input/output also have mnemonics.

Sample:

Scan of pages 14 & 15 of MPL 2 manual?


I.C.T. 1300 series TAS (Thirteen hundred Assembly System) December 1963
-----------------------------------------------------------------------

The TAS manual states "The user does not require a knowledge of machine code, although a general appreciation of the 1300 Series Computers is needed. TAS has not been designed as a full autocode, and for this reason one TAS instruction does not necessarily give rise to a large number of machine code instructions when the program is compiled. The ratio varies according to the type of TAS instruction: some, input and output instructions for instance, are very powerful; but most have been kept close to those of the machine, i.e. at a low ratio. This means that the main advantage of machine code programming - close control of the form of the program - is maintained, while the main disadvantages are eliminated."


I.C.T. 1300 series MAC (Manchester Auto Code) October 1962
I.C.T. 1300 series MAC2 (Manchester Auto Code 2) March 1965
I.C.T. Rapidwrite. March 1964 (card)
I.C.T. Rapidwrite. May 1965 (tape)
COBOL 5.61 (Card)
COBOL I.C.T. 1300 Series (tape) November 1964 (COBOL-61)

Applications
============

I.C.T. PERT (Programming Evaluation and Review Technique) October 1962
I.C.T. 1301/01 PERT December 1963
I.C.T. 1300/1301 Card PERT December 1965
I.C.T. KWIC INDEX (For producing lists of documents sorted by either
number, author or keyword)
I.C.T. 1300 series Structural Frame Analysis (January 1964) A program
to analyse single-plane frames consisting of straight uniform
connected members.
I.C.T. 1300 series Traffic Allocation by the Shortest Route Method
(1964) A simulator for use by traffic engineers of local authorities.
I.C.T. 1300 series Multiple Analysis Program (March 1965) A program
to perform multiple tabulator jobs during the early stages of
computerisation of a user using a tabulator.




Engineering Programs

Below is a list of popular engineering programs, some of which may bring a tear to the eye of an engineer who may have worked on this system.
The tears may be for what has passed, or may just be from remembered pain !

DIT-DOT
How could you set up the printer without it ?

IAS-TEST
To locate those soggy Store data driver boards ( A7's )


Engineers used to write ad-hoc code during fault finding, some of this code survived and became popular amongst the engineering staff.
For those interested in programming a set of engineering modules was worked on, started by Alex Duncan, an engineer I had the priviledge to work with, I was facinated to work on the modules myself in later years

The Basic Principle was to name or number each block of code by its function, so block 35 was for the card reader, block 42 was for the printer and so on ( see the list of indicators on the software pages ). The package became known as COMPAT, or set of Compatible Subroutines and was a powerful tool. I used this package to produce automated testing sequences in the later years of these machines, when it was required to run a set of tests on one machine, whilst doing maintenance work on another in the same site at the same time.

Compat

Compatible Subroutines


Compat will be covered in more depth here ( when I locate the original Card Packs ) however I do have full source listings for this package so the code is far from lost. Should our project fail to deliver the raft of old software we seek to release, the emulators will have COMPAT to run at least, showing what it was like to program and run a 1960's computer.




(Designed for 640 x 480, 800 x 600 or 1024 x 768 Resolution) a 'POPUP' and 'FRAMES' free zone

Legal Info = ©"Copyright Shedland Software design"
All Images, Graphics, Sounds, Applets, Text, JavaScripts, or Anything Else contained within the ict1301.co.uk WebSite, unless otherwise noted or documented, are the Property, Trademark, or Copyright of Shedlandrobotics 2005 to 2010 and may not be Copied, Reused, Sold, or otherwise Distributed without permission. So please ask !
(Web Masters please note) ) This site is updated monthly and its contents are liable to, and will change. Links to and from the site are both welcome and encouraged. However we consider it a common decency to seek permission first. If we know a link exists, we will endeavor to not make any changes, or notify you of any changes to your links.
All visitors to Shedland accept the the following limitations
This is a private web site, the views expressed are the Web Masters and content is placed here for information only. However the Web Master is not responsible for any inaccuracies, Typo's or Spelling mistakes, they are provided free gratis, and for the entertainment of the visitor.