|
Running a job:
This is totally from memory - and bound to
be wrong... but: (since writing that (Sept 2002), I've received reminders from
Dave Wilgoss (thanks Dave), and his suggestions are in
green)....
I am sure
that you are thinking about the 1300/01. The programming of the 1300, as I
remember it, (not that I did any) was based on the commands beginning with 37,
38 at the start of the word. I/O and start called the bootstrap program to read
a card etc.
 | Check the Run Request form - and ensure
Printer/Card Punch are "started" |
 | Load Tapes as designated - Scratch Work
Tapes |
 | Load cards into right hopper (did we
have to add some "Bootstrap" cards to the front of whatever the Programmer
provided??) - hit Start - card reader motor and picker knives start |
 | We may have to set some external
indicators 20 to 29?? which identified "options" that the program had to test
for and branch respectively |
 | On console:
 | Turn main switch one click to the left |
 | Hit Initial Orders button - which set
up "read 200 words from the first reserved band on the drum into word 200 and
branch to 200" instructions in the Control Registers |
 | Turn main switch back right to central
position |
 | Hit Start button |
|
 | Cards would start reading and the
Initial Orders program from the drum would load the instructions on the cards
into memory. The card reader used to read cards column by column - 6 at a time. |
 | If it ran OK - there would be a flurry
of activity - maybe card reading and/or punching and printing and an "expected"
Halt instruction - otherwise... |
 | There was a Gain Control at bottom
right of the Console, that allowed us to detect if the program appeared to be
looping - not too sophisticated!! |
 | The programs were self-modifying and
de-modifying - so the usual "crash" was caused by programs modifying their
addresses - out of range - and we'd then log the contents of all Registers (A,B,C
and Control) and print out Core Memory - which entailed:
 | At
the end of each operation that got past the ?E? card the operator had to dump
the first 200 words of IAS onto the drum. Then call down the print program
from the drum to print out the IAS contents, which automatically called down
the first 200 words from the drum. You will recall that if the operator forgot
to dump the first 200 words to the drum, the programmer received a printout of
the print program. Operator Error! |
 | Encode a Print of IAS (Memory -
Immediate Access Store) as directed by the programmer - e.g. 0 to 1000 words |
|
 | Tear off the Memory Dump, re-band the
program cards - replace Operating instructions and Run-Log - End |
General memories:
 | I can remember on P3/1 splitting the
tasks as follows - one operator selected the next job, and loaded cards, and
checked peripherals |
 | The other operated the Console and
initiated the Memory Dumps, and completed the Run-Log |
 | The "enjoyment" came from:
 | For the Console Operator:
 | Getting the Peripheral man running
round like a blue-arsed fly:
 | as soon as he'd got cards in the
reader, the Console guy would hit the buttons and try to catch his fingers
with the picker-knives (they wouldn't have touched - but it felt as though
they did) |
 | Then logging the crash details and
initiating a Memory Dump before cards etc could be re-banded - the
Peripheral guy having to off-line the printer, throw 2 or 3 pages - on-line
the printer again - go round the back - fold up (it invariably folded
incorrectly) the print-out and package everything, and start all over again
with the next job - before the Machine Log had been entered, showing details
of the Test. |
|
|
 | For the Peripheral Operator:
 | Getting the Console Operator to
re-key - by:
 | Appearing to have the cards in the
reader - but actually holding them slightly off the reader bed - MisFeed!
Then just drop them and proceed to other tasks |
 | Leaving the Printer Off-Line after a
Memory Dump - so that the next Memory Dump crashes |
|
|
|
 | Operations more complicated on a 6
tape-deck machine like P3/2 where certain physical decks may from time to time
be "iffy' like they "threw loops" - so they couldn't be used for any frantic
popping up and down the tape - so we had to recognise which logical tape
assignments the Test required and allocate/load tapes accordingly (i.e. each
tape deck was capable of being assigned its Tape Deck Number - they were not
fixed). |
 | Three operators were needed sometimes -
where the Job Testing load was big and time was critical - Console Man, Job
Selector/Peripheral Man and Tape Man. |
 | Job Selector would shout out what tapes
were required - e.g. Scratch Tapes on 4 and 5 and Supplied Tapes A on 1, B on
2, C on 3 |
 | Work Tapes would be loaded on 4 and 5
first - and Scratched - this required co-ordination between Console and Tape
Men - because Console Man had to initiate the "Scratching" of each tape - and
sometimes an input tape (which the programmer had maybe spent hours creating -
got accidentally scratched) - this ideally didn't happen because "input tapes"
would be loaded without a "write-ring" - however - a common failure was - for a
previous job to have ended successfully, and to have created an Output tape -
on Deck 4 say - where a Scratch tape with a write-ring would have been loaded.
It would have been printed - so the programmer could see that it was OK - BUT -
if it was left on deck 4 too long - it may get scratched by Console Man when
he's initiating the next job, and the Programmer of the earlier job need that
tape to be used as input to another program - hence claims for "operator Error"
- and "no-charge". |
 | Programmers getting their timing wrong,
and not getting back to the "next 6 columns" coming in from the card reader -
causing the card to "misfeed" into a separate stacker. These were particularly
annoying since they required the console operator to reset registers etc.. and
the peripheral man - to reload the cards from misfeed and regular stackers
(there was always a card or two following the misfeed, that had to be
re-sequenced and put back into the feed hopper. |
 | Card Reader failures which required
engineers to load their diagnostic programs in through the "read brushes" on
the card punch. |
 | The printer caused lots of programmer
problems too - they would sometimes "lift all sprags" - which set the paper
throwing, and again get their timing wrong, come back to lower a sprag, but by
then the printer mechanism was going too fast and the lowered sprag got
broken/snapped off. Another problem was trying to print all letters/numbers in
one revolution of the barrel - this was usual - but here I mean printing the
whole alphabet etc... in one print position. This caused the hammers to fire
too quickly and fuses blew. |
Back to ICT Putney
|