Subject: WHY!

From: [email-masked] (JRW)
Date: Wed, 5 May 1993 13:08:36 GMT

AND, ISZ, DCA, TAD, JMS, JMP, IOT, (I forget what the general numonic for 
the 7000 (octal, of course) code was)  But really--who cares about PDP8s 
anymore except for museums.  Remember when you could only afford 4k of 
memory?

---

From: [email-masked] (Charles Lasner)
Date: Wed, 5 May 1993 15:24:22 GMT

>AND, ISZ, DCA, TAD, JMS, JMP, IOT, (I forget what the general numonic for 
                                                               ^^^^^^^
I assume you mean mnemonic :-).

>anymore except for museums.  Remember when you could only afford 4k of 

OK, you proved that you read page 1 of some manual, or at least the first
half of the page, since the OPR group (the 7000) is so complicated that it
would spill onto at least another page.

Apparently you are also ignorant of the aims of this group, which I won't
belabor at this point.  In short - Read the FAQ.

>From the way you say about who cares: did you ever?

cjl

---

From: jones@pyrite (Douglas W. Jones,201H MLH,3193350740,3193382879)
Date: Wed, 5 May 1993 15:24:50 GMT

>From article <[email-masked]>,
by [email-masked] (JRW):

> But really--who cares about PDP8s anymore except for museums.

That question is very much like "Who cares about history except for
museums?"

If you look at other things that museums collect, old cars, railroad
trains, and such, you'll find that there are a substantial number of
private collectors.  For example, there are plenty of people with
antique cars in their garages (my next door neighbor has a Model A
Ford, and a woman up the street used to own a railroad passenger car
that she'd use for an occasional excursion!).

Old computers are about as easy to keep running as old cars -- some
parts are still made, others are hard to get, but with a bit of work,
you can keep them running just about forever.  Of course, my neighbor
wouldn't be well advised to use his old Ford to commute to work
day-in and day out, and for many of the same reasons, I'm not likely
to use my old PDP-8 for my research.  (Besides, most of my research
is done in Ada, and I can't get that to compile on any of my PDP-8s).

				Doug Jones
				[email-masked]

---

From: [email-masked] (Charles Lasner)
Date: Wed, 5 May 1993 17:00:39 GMT

Someone asked me about the PDP-8/a option board that controls memory extension
and restart and bootstrap ROMs.  Here is the description of the bootstrap ROM
portion:

The bootstrap ROM is implemented in a pair of 256x4-bit fusible link ROMs
(I believe 82S126) that can be blasted (once) with an appropriate device.

The contents are addressed a pair of nybbles at a time in both chips and
can be looked upon as a 128x16-bit device.  For each word of 16 bits, 12 are
used to hold data, and 4 are control lines.  The control lines are:

1)	This word is an address load value
2)	This word is an extended address load value (not all bits used)
3)	This word is data; deposit it and advance the address
4)	Ignore the data word; start the machine up]

The restart address can be specified as any of the even values from 00-16 octal
and the boot (SW) address as any even value anywhere in the ROM.  Thus, the
lower addresses are reserved for potential restart addresses, and the higher
addresses are for specific device boot code addresses.

Setting the restart address to zero usually means to execute a restart
function that in fact restarts the machine at 00000.  It would be implemented
as:

000/	0000+LA		Do a load address to 0000
001/	0000+EL+ST	Do an extended load address to 00 and also start up

The operations can be (partially) microcoded this way to save space.

The other standard addresses that *may* be provided are 00200, 02000, and 04000
in some standard ROM sets, but this varies.

Note that the restart address of 00000 is the only value compatible with all
of the earlier machines that hard-wire this to 00000.  Thus, the restart at
00000 is the only "important" one as far as any meaningful software is
concerned, etc.

There exists a standard RX boot ROM set that performs a few machine diagnostics
and eventually boots the machine from an RX01/02.  This is noted by the
presence of "ABCD" before it starts, as various tests report that the machine
is functional, etc.  This ROM set also shares the restart limitation in that
ROM address 00 is the only viable restart address, and it in turn causes the
CPU to restart at 00000.  The rest of the space is taken up by the boot code
(which starts just after the restart code, at ROM address 002 (004)).

Several other standard ROM's exist that implement the 4 restart options, and
also code for RX, RL, TC08, DF/RF, RK, TD8E, etc.  (Note: *not* all at the
same time!  Each ROM set generally has 3-4 devices, and there is a partial
overlap, etc. but not necessarily at the same ROM addresses.)

I have written utilities to help support the development of the ROMs which
assume that 1 page of code is the PDP-8 binary of the ROM data, and another
page is the table of 4-bit codes for the associated functions, etc.  The
data is printed out in octal, binary, and hex nybbles, suitable for entry
into a Motorola-built support system for 6809, which can blast 82S126, etc.

Using this utility, two ROMs have already been designed:

One boots the CESI host adaptor for SCSI buss after performing a memory
diagnostic.  If it works correctly, it should (eventually) print "AOK" on
the console and then attempt to boot the SCSI disk on address 0, logical
unit 0-3 as selected by the switch register.  (O=default hard disk, 2=
default floppy disk, 1 is often an extra hard disk, 3 is often an additional
floppy or possibly a QIC-02 tape backup unit; all of this assumes the use
of an SMS/Omti controller from the 20-C, 20-D, 5000, or 7000 series of
non-imbedded SCSI controllers, etc.) If there is an error on the disk, the
returned status is printed in octal instead of a successful bootup, etc.

The other ROM is styled after some PDP-11 ROMs.  When the SW is used, the
ROM program prints out a prompt of <CR> <LF> $.  The user then inputs a
2-letter device code.  If the code is unrecognized, a ? is printed, and it
restarts with the prompt of <CR> <LF> $.  Recognized codes are:

RF - Performs a standard RF08/DF32 bootstrap.

RX - Performs the standard extended RX01/02 bootstrap that can boot to
     either drive 0 or drive 1 in either single or double density modes.

RK - Performs an extended version of the RK8E bootstrap: First drive 0 is
     addressed and a write-protect operation is attempted.  If this fails,
     then drive 1 is tried, then 2, then 3, then 0 again, etc.  The first
     drive in turn that becomes ready, and thus the write-protect operation
     actually succeeds on, is then booted to in the now-safe write-protected
     state.  OS/8, COS-310 and P?S/8 all support bootstraps to any of the
     4 drives.  (P?S/8 also supports booting to the nearest 1/4 drive, but
     this code only supports to the nearest whole drive.)

TC - Performs an extended version of the TC01/08 bootstrap to any drive unit
     0 through 7.  Each unit has attempted on it a rewind function.  If any
     error other than an END error occurs, the next unit is selected.  Once
     the rewind operation finishs with an END error (proving the tape is
     both ready and also rewound), that unit is then read to startup the
     O/S on the tape, etc.  (Note: OS/8, COS-310, etc. only support booting
     to unit 0.  It is possible to upgrade OS/8 to a "smarter" handler that
     in turn could support a multi-unit boot.  P?S/8 already supports a boot
     to any unit 0 through 7.  Typeset-8 supports booting to unit 4 only.)

The two-letter codes can be entered in upper or lower case, and the input
is echoed as typed.  The only problems are that you cannot edit a mistake,
and that exactly two characters must be enterred for each attempt at using
the code.  (I.E., if you enterred something like "Z" which is clearly wrong
already since it doesn't match the list, you still have to enter another
character before the ? is printed and you get another prompt, etc. Hey, what
do you want for all of that in 124 words :-).)

Due to space restrictions (only 128 words available total, and 2 reserved
for restart) these ROMs only support the restart at 00000 from ROM address
00.  (The 4-function ROM does have two non-adjacent free words in it.  One
is totally free, and the other is "bummable" with some range restrictions.
Neither of these has any functionality to add regarding the restart options,
and isn't enough to help add any "frills" to the code, etc.)

I can post the utilities (or better submit them to the archives) if anyone
is interested.  That also includes the sources for the ROM programs as well.

cjl

---

From: [email-masked] (gordon hlavenka)
Date: Thu, 6 May 1993 04:05:26 GMT

> But really--who cares about PDP8s anymore except for museums.

And who cares about 1965 Mustangs, or really old furniture?

Different strokes and all that...  Some day I'm going to read news on
my ASR-33 just for the hell of it.

-- 
----------------------------------------------------
Gordon S. Hlavenka           [email-masked]
Vote straight ticket Procrastination party Dec. 3rd!