Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83 SMI; site sun.uucp
Path: utzoo!watmath!clyde!burl!hou3c!hocda!houxm!vax135!cornell!uw-beaver!tektronix!hplabs!hpda!fortune!amd!decwrl!sun!gnu
From: gnu@sun.uucp (John Gilmore)
Newsgroups: net.arch
Subject: Re: Global memory usage in the 1401
Message-ID: <1689@sun.uucp>
Date: Mon, 24-Sep-84 02:23:06 EDT
Article-I.D.: sun.1689
Posted: Mon Sep 24 02:23:06 1984
Date-Received: Tue, 25-Sep-84 06:48:28 EDT
References: loral.444
Organization: Sun Microsystems, Inc.
Lines: 17

Bill Price says:
> Actually, the designers of the 1401 did something even worse than hiding it:
> they used this global thing for a very local purpose.  The cell addressed by
> the address zero was used as the row counter for the card reader!

This was not especially bad, considering that locations 1-80 of memory
were permanently reserved for the card reader.  The "read card" instruction
(opcode "1") would fill locs 1-80 with the contents of the next card in the
reader.

101-180 was the area that would get punched if you did a "2" opcode.
201-332 got printed if you did a "4" opcode.

Guess what happened if you executed a "7"?

[It did all three at once.  This was the only way to overlap I/O until
much later in the 1401's design cycle.]