From johnv@dcs.rhbnc.ac.uk Tue May  3 08:56:42 EDT 1994
Article: 786 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!corpgate!news.utdallas.edu!wupost!udel!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!pipex!doc.ic.ac.uk!sun.rhbnc.ac.uk!cad2.cs.rhbnc.ac.uk!johnv
From: johnv@cad2.cs.rhbnc.ac.uk (John E. Veness)
Newsgroups: alt.sys.pdp8
Subject: PDP-8 pictures online
Date: 2 May 1994 03:39:17 GMT
Organization: Royal Holloway, Uni of London
Lines: 23
Message-ID: <2q1sl5$qah@sun.rhbnc.ac.uk>
Reply-To: johnv@dcs.rhbnc.ac.uk
NNTP-Posting-Host: cad2.cs.rhbnc.ac.uk
X-Newsreader: TIN [version 1.2 PL2]

Dear All,

I am nearing the time when my PDP-8 simulator project has to be handed
in to my university.  For my report, which I am LaTeXing, I thought it
would be nice to include a picture of a PDP-8 as a figure.  I have a
file pdp8_1.jpg which I remember getting from somewhere on the net,
but I cannot find where - I've looked in all the sites mentioned in
the FAQ.

If any1 knows where I can get pictures from, can they please *mail* me
(johnv@dcs.rhbnc.ac.uk) as I won't be reading this group, because of
the workload.  Also if any1 has any hints how to make 256 colour GIFs
look good as 2 colour PostScript files!

		John Veness

PS I'll probably release this project to the net, copyright
permitting.. and if I actually finish it!

--                                                             _
John Veness                                                   |_)_ | _, _, _
johnv@dcs.rhbnc.ac.uk                                         | (_'|(_|(_|(_) 
                                                                       (_)


From ard@siva.bris.ac.uk Tue May  3 09:00:23 EDT 1994
Article: 787 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!corpgate!news.utdallas.edu!wupost!howland.reston.ans.net!pipex!warwick!bsmail!siva.bris.ac.uk!ard
From: ard@siva.bris.ac.uk (PDP11 Hacker .....)
Subject: Re: My second PDP8
Message-ID: <2MAY199417172937@siva.bris.ac.uk>
News-Software: VAX/VMS VNEWS 1.41    
Sender: usenet@info.bris.ac.uk (Usenet news owner)
Nntp-Posting-Host: siva.bris.ac.uk
Organization: University of Bristol Physics Department
References: <30APR199400370720@siva.bris.ac.uk> <2q1s92$9om@nexus.uiowa.edu>
Date: Mon, 2 May 1994 16:17:00 GMT
Lines: 102

In article <2q1s92$9om@nexus.uiowa.edu>, jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) writes...
>From article <30APR199400370720@siva.bris.ac.uk>,
>by ard@siva.bris.ac.uk (PDP11 Hacker .....):
>> 
>> Now, I've not even powered the machine up yet - is there anything I
>> should know before I do.
> 
>Welcome to the club!  My suggested sequence for bringing your new machine
>up:

Well, I've now powered it up, and after a little work, I've got it to run the
'Accumulator Incrementing test' in the front of the maintenance manual. I guess
that means that most of the machine is working.

> 
>1) Pull the boards from the backplane and dust it!  Vacuum cleaner,
>  compressed air, etc are all good.

Yes, did that. Also ripped off the decaying fan filter, on the grounds it would
add more dust than it removed.

> 
>2) Check the power supply output voltages, and while you're at it, check
>  that the cooling fans all spin under power.

Opened up PSU, reseated A1 and A2 control modules, checked wiring, connected
voltmeter to +5V line, powered up. +5V line spot on. Then checked the +15/-15
lines. Forgot at this point to check the Power OK line, see below.


> 
>3) Put in the bus terminator and front panel, then power it up and verify
>  that you've got minimal functionality (not much).  Basically, verify that
>  you have a good backplane between terminator and front panel, and that
>  the panel has some working lights and switches.

At this point I added the CPU (3 boards - timing, regs, reg control), Bus
loads, front panel. Found I could load address, but nothing else. BTW, my front
panel has LEDs (like an 8/m), not bulbs, but I have the H724 PSU. The machine
says PDP8/e on the front. So, I had to do some debugging. First place was on
the console board, where I checked the correct control signals were being
generated on an Examine. Still no luck - the signals were right, and the
address still did not increment. Then I put the timing board on an extender,
and looked at the run flip-flop signals with a logic probe. The Set input was
being pulsed, but there was no latching action, and the timing generator was
not starting. Aha, the clear input is stuck low. Why? Because the Power OK
signal from the PSU is low. (This was being done in the early hours of the
morning, and was nowhere near as quick as I'm making it out to be - I was
digging through a lot of manuals and logic). So, a PSU problem. Out came the
PSU, and I put the A2 board on a single extender from my PDP12 spares box
(:-)). A bit of work with a voltmeter revealed that pin 6 of the module was at
0V. So, I thought the fault was on the A1 module, and for some reason the -15V
supply was thought to be faulty (the -15V line was fine). Now, I put the A1
module on the extender, and spend a long time digging through the circuitry, to
find nothing (Incidentally, my copy of the 8e printset does not contain layouts
of the A1,A2 PSU modules - should it?). In the end, I checked with an ohmeter,
and found that pin 6 of the modules (The power fail link between them) was
shorted to ground. After removing the edge connectors, I found a trapped wire.
So, I repositioned it, reassembled the PSU module (The screws in the edge
connector assembly are impossible to get at !!!), and tested again. Power OK
now at 4.5V. Refitted PSU, tried again. Examine/deposit now increment address

> 
>4) Power down, add one memory module, and add the master CPU clock module.
>  You can now load and store in memory from the lights and switches.  Test
>  a bit of memory (can you store 7777 0000 5252 2525 in 4 successive
>  locations?)

At this point, I added all the memory - it was on a separate backplane,  so I
moved the Bus Loads into the rearmost slot, and fitted a couple of M935 (?)
jumpers.

> 
>5) Power down, add the CPU, then toggle in a tiny program, some classic
>  like LOOP,IAC; JMP LOOP.  It should run.

My CPU was already in, so I toggled in the CPU test (4 instructions, can't
remember what) from the maintenance manual. It worked!

> 
>6) Drop in an asynch port, add an asynch terminal, and toggle in some
>  code to echo what you type.

Added all my other modules, and checked that the program still ran. It did. No
tests on the other stuff (like serial ports, disks) yet.

> 
>7) etc.
> 
>On my surplus PDP-8/F, I had to start fixing things at step 2, 3, and 6.
>Good luck!
>				Doug Jones
>				jones@cs.uiowa.edu

Well, my problems were mechanical(ish), but it now seems to work.


-tony

Bristol University takes no responsibility for the views expressed in this
posting. They are the personal views of the user concerned.


From ivie@cc.usu.edu Tue May  3 09:01:06 EDT 1994
Article: 788 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!corpgate!news.utdallas.edu!wupost!gumby!newsxfer.itd.umich.edu!sol.ctr.columbia.edu!howland.reston.ans.net!agate!dog.ee.lbl.gov!hellgate.utah.edu!cc.usu.edu!ivie
From: ivie@cc.usu.edu
Newsgroups: alt.sys.pdp8
Subject: Re: 1's complement arithmeti
Message-ID: <1994May2.092332.17813@cc.usu.edu>
Date: 2 May 94 09:23:32 MDT
References: <12a.66.2370.0N3E1830@human.enet.dec.com>
Distribution: world
Organization: Utah State University
Lines: 11

In article <12a.66.2370.0N3E1830@human.enet.dec.com>, :supnik@human.enet.dec.com writes:
>      By the way - an urgent request to a decSter with some interest in 
> history. Heard word DEC was moving out of the old Maynard Mills.

What? Again? That rumor was floating around a while ago. Supposedly, moving
DEC corporate headquarters to Texas was going to be Robert Palmer's big
reward for showing some profit. Hasn't managed it yet...
-- 
----------------+------------------------------------------------------
Roger Ivie      | Don't think of it as a 'new' computer, think of it as
ivie@cc.usu.edu |     'obsolete-ready'


From Kevin@kmurrell.demon.co.uk Tue May  3 09:04:20 EDT 1994
Article: 789 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
From: Kevin@kmurrell.demon.co.uk (Kevin Murrell)
Path: bigblue.oit.unc.edu!concert!news.duke.edu!convex!cs.utexas.edu!howland.reston.ans.net!pipex!uknet!demon!kmurrell.demon.co.uk!Kevin
Subject: An English PDP8?
Organization: Home
Reply-To: Kevin@kmurrell.demon.co.uk
X-Newsreader: Demon Internet Simple News v1.27
Lines: 111
Date: Sat, 30 Apr 1994 13:52:14 +0000
Message-ID: <767713934snz@kmurrell.demon.co.uk>
Sender: usenet@demon.co.uk

I have been reading a great deal about the PDP8 in this newsgroup and a
lot of the discussion about the 8 sounded very similar to an English
Minicomputer I used to work with.

An English company, variously known as Business Computers Ltd, BCL, and
Business Computers (Systems) Ltd., produced a machine known as the
Molecular (In its last few years the name changed to the Distributor).

The machine had a word length of 18 bits, was generally programmed 
directly in machine code (without the aid of an assembler!), and was
configured with between 16K and 64K of Memory (Initially core, later
static RAM with NICAD battery backup).

Offline storage was CDC Hawk Drives, and later CDC Lark Drives.  There 
were earlier options but before my time.

A general overview of the system was

CPU				Primary Storage

A Reg                           Memory (16K to 64K)
B Reg				(Bank switched to 128K)
MA Memory Address
PC Program Counter              17bits + Parity Bit
C  Carry Flag
GT Greater Than Flag

The intruction set was in the form

17| 16| 15| 14| 13| 12| 11| 10| 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1  

OpCode(2-26)      |i/d|z/c| --------memory address---------------
OpCode(00)        | mode  |a/b| ---register microinstructions----
OpCode(01)        |a/b| function  | ------device code------------

i/d = indirect or direct addressing
a/b = Register A or B
z/c = Zero Page or Current Page

The basic memory reference instruction set was quite adequate with

Add and Subtract with or without Carry
Logical AND, OR and exclusive OR
Increment and skip in zero
Decrement and skip on zero
Load and Store
Compare and set GT Flag

All operated on either Register A or B

Jump was not unusual, but Jump To Subroutine I thought was quite unique :
JSBR transferred control to the address specified + 1.  It stored the 
return address (known as the back address) in the address specified by
the JSBR instruction.   Therefore at the end of the routine you simply
did an indirect jump through the back address!  Sounds familier?

Register instructions included Clear,Shift Left, Shift Right, Clear Carry,
Set Carry, Swap, Increment, Decrement, Skip if (Bit1=0, or Bit16=0, or Bit17=0),
One's complement.   The instructions could also be combined, for instance :

Clear carry would be        002400(8)  00 000 010 100 000 000
Left shift Reg A would be   003300(8)  00 000 011 011 000 000

These could be combined into 003700(8) 00 000 011 111 000 000
One instruction that cleared the carry flag, and left shifted Reg A

I must say that combining anything more complex than this was beyond most 
of us.

IO instructions were very limited, and very generic, there were no specific
instructions for different peripherals (such as there seem to be with the 
PDP8).  Basically there was read 8 bits from device register, write 8 bits
to device, and wait on ready flag.   

Interrupt On also functioned like the PDP8 in waiting one cycle before
enabling interrupts.    One 'clever' feature of the machine was Power Fail
handling, the machine would pick its self up and carry on automatically
after a power fail.

All moleculars had very spectacular front panels.   Lots of switches and
lights.   Even if in later models these were covered up with a smart cover, 
they were always required in actual use.   Without the benefit of any
memory protection, rogue programs ran through memory creating havoc, and
the only solution was to reload the OS bootstrap through the switches on the
front panel.    The two main OS's for the machine were really only a set
of programmers utilities to load and save blocks of core, and allocate
areas of disk for data storage.   The OS did allow multi-tasking however, and
twenty users ran comfortably on a 64K machine.  The OS wasn't pre-emptive, 
and again rogue programs stuck in a loop would stop everyone else working.
As time went on we learnt to stop the machine using the front panel and set
the PC back into an address in the OS and return to rogue task back to the
OS prompt!

Probably less than 1000 were installed, primarily onto small commercial
operations.    From a 1973 issue of Computing (UK) the cost of the machine
was quoted at between 2,200 and 22,000 UK Pounds.  This would have comparable
with the UK price of the PDP8/e and PDP8/f.

There are still some in use, but are fading fast.   My lasting memory was the
relatively small group of people that could program these machine.  We are
all grown up now and are stuck with character-less boxes running slow and over
fussy software on increasingly more over-blown machines.

No one believes that 20 users could work quite happily with a machine
with only 64k !!

----------------------------------------------------------------------------
Kevin Murrell
Sutton Coldfield
England
----------------------------------------------------------------------------


From lasner@sunSITE.unc.edu Tue May  3 09:19:27 EDT 1994
Article: 790 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: 1's complement arithmeti
Date: 3 May 1994 12:52:55 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 22
Message-ID: <2q5hf7$k7v@bigblue.oit.unc.edu>
References: <12a.66.2370.0N3E1830@human.enet.dec.com>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <12a.66.2370.0N3E1830@human.enet.dec.com>,
 <:supnik@human.enet.dec.com> wrote:

>BS>Message-ID: <2pht8o$3k7@sousa.amt.ako.dec.com>

>                                     [david.razler@compudata.com]
>                                      (who carries an XX2247 key at all     
>                                   times Never know when it might come 
>                                        in handy)

What!

You only carry around:

*ONE* ACE key?

You never know when you need to turn on a room of machines.

Wear them as a necklace.

cjl


From lasner@sunSITE.unc.edu Tue May  3 09:20:30 EDT 1994
Article: 791 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: An English PDP8?
Date: 3 May 1994 13:18:17 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 29
Message-ID: <2q5iup$tc2@bigblue.oit.unc.edu>
References: <767713934snz@kmurrell.demon.co.uk>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <767713934snz@kmurrell.demon.co.uk>,
Kevin Murrell <Kevin@kmurrell.demon.co.uk> wrote:
>
>No one believes that 20 users could work quite happily with a machine
>with only 64k !!

My newswire system runs 40 tasks in 32K.  Each could be defined as a 
terminal user.  In practice about 25 actually were.  The rest were 
special-purpose lines dedicated to some incoming or outgoing service.

A standard configuration was 4 8-channel Telcon multiplexors, 03/04 
console, PC04 reader/punch, device 66 LPT and a few "extra" lines such as 
device 40/41 KL8-JA plus limited support for a VT8E.

Some lines ran Baudot and had to be translated by table lookup, etc.  
(Also it supported Baudot variants where un-shift on space does/does not 
exist, etc.)

Any line defined to output files instead of edit them, etc. could 
additionally be defined as requiring an audit trail; this was used 
off-line for customer billing, etc.

All file outputs were fully queued and could have their priority changed 
if needed.  Also, this way the system could go down real fast and be 
restarted later without loss.  Power-fail made it all possible (this is a 
32K core machine, an -8/e!)

cjl


From gsc@cairo.anu.edu.au Wed May  4 02:54:22 EDT 1994
Article: 792 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!europa.eng.gtefsd.com!library.ucla.edu!ihnp4.ucsd.edu!munnari.oz.au!newshost.anu.edu.au!cairo!gsc
From: gsc@cairo.anu.edu.au (Sean Case)
Newsgroups: alt.sys.pdp8
Subject: Re: An English PDP8?
Date: 1 May 94 12:11:22 GMT
Organization: Australian National University
Lines: 21
Message-ID: <gsc.767794282@cairo>
References: <767713934snz@kmurrell.demon.co.uk>
NNTP-Posting-Host: 150.203.76.16

Kevin@kmurrell.demon.co.uk (Kevin Murrell) writes:

>Jump was not unusual, but Jump To Subroutine I thought was quite unique :
>JSBR transferred control to the address specified + 1.  It stored the 
>return address (known as the back address) in the address specified by
>the JSBR instruction.   Therefore at the end of the routine you simply
>did an indirect jump through the back address!  Sounds familier?

This was quite a common trick - after all, where are you going to put
the return address? There's no stack as such, you don't really have a
register you can spare, and you can't put more than one memory address
in an instruction. The only choice left is to put it somewhere near the
top of the subroutine, so the same address field can point to both the
routine and the return address storage.

Sean Case
--
Sean Case                  gsc@cairo.anu.edu.au

"November 11 - Ned Kelly died, ahh shame Fraser shame and we all cried."
        -- The Whitlams, "Gough"


From jones@pyrite.cs.uiowa.edu Wed May  4 09:19:54 EDT 1994
Article: 793 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!convex!cs.utexas.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: My second PDP8
Date: 2 May 1994 03:32:50 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 37
Distribution: world
Message-ID: <2q1s92$9om@nexus.uiowa.edu>
References: <30APR199400370720@siva.bris.ac.uk>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <30APR199400370720@siva.bris.ac.uk>,
by ard@siva.bris.ac.uk (PDP11 Hacker .....):
> 
> Now, I've not even powered the machine up yet - is there anything I
> should know before I do.

Welcome to the club!  My suggested sequence for bringing your new machine
up:

1) Pull the boards from the backplane and dust it!  Vacuum cleaner,
  compressed air, etc are all good.

2) Check the power supply output voltages, and while you're at it, check
  that the cooling fans all spin under power.

3) Put in the bus terminator and front panel, then power it up and verify
  that you've got minimal functionality (not much).  Basically, verify that
  you have a good backplane between terminator and front panel, and that
  the panel has some working lights and switches.

4) Power down, add one memory module, and add the master CPU clock module.
  You can now load and store in memory from the lights and switches.  Test
  a bit of memory (can you store 7777 0000 5252 2525 in 4 successive
  locations?)

5) Power down, add the CPU, then toggle in a tiny program, some classic
  like LOOP,IAC; JMP LOOP.  It should run.

6) Drop in an asynch port, add an asynch terminal, and toggle in some
  code to echo what you type.

7) etc.

On my surplus PDP-8/F, I had to start fixing things at step 2, 3, and 6.
Good luck!
				Doug Jones
				jones@cs.uiowa.edu


From ard@siva.bris.ac.uk Wed May  4 09:20:42 EDT 1994
Article: 794 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!inxs.concert.net!taco.cc.ncsu.edu!lll-winken.llnl.gov!fastrac.llnl.gov!s1.gov!overload.lbl.gov!agate!howland.reston.ans.net!pipex!uknet!gdt!bsmail!siva.bris.ac.uk!ard
From: ard@siva.bris.ac.uk (PDP11 Hacker .....)
Subject: My second PDP8
Message-ID: <30APR199400370720@siva.bris.ac.uk>
News-Software: VAX/VMS VNEWS 1.41    
Sender: usenet@info.bris.ac.uk (Usenet news owner)
Nntp-Posting-Host: siva.bris.ac.uk
Organization: University of Bristol Physics Department
Date: Fri, 29 Apr 1994 23:37:00 GMT
Lines: 20

As mentioned in my previous posting, I could have obtained a PDP8e. Well, I've
now got it, and I'm in love.... No, I don't know much about it yet, but it came
with a lot of circuit diagrams (for the PDP8e CPU, Extended address option,
EAE, memory, serial port, RK8, etc. No, I don't have all that lot). What I seem
to have is :
PDP8e CPU, extended address, 3 serial ports, 32K(? 4 sets of I think 8K) Core,
printer(?) port, line clock, RK8. Also, spare RK8, and some other boards.
Manuals : printsets for most of that, PDP8e maintenance manual (all 3 volumes
!!), assorted user guides and... (Don't all jump on me at once) ... An almost
complete set of _PDP12_ maintenance manuals... (No, they're not up for grabs).

Now, I've not even powered the machine up yet - is there anything I should know
before I do. I was intending to test the PSU off-load before I connect any
logic to it, but is there anything else to be aware of?

-tony

Bristol University takes no responsibility for the views expressed in this
posting. They are the personal views of the user concerned.


From wilsonj@alum01.its.rpi.edu Wed May  4 09:22:41 EDT 1994
Article: 795 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!noc.near.net!usenet.elf.com!rpi!wilsonj
From: wilsonj@alum01.its.rpi.edu (John Wilson)
Newsgroups: alt.sys.pdp8
Subject: Re: An English PDP8?
Date: 3 May 1994 18:43:03 GMT
Organization: Rensselaer Polytechnic Institute, Troy NY
Lines: 17
Message-ID: <2q65vn$ljk@usenet.rpi.edu>
References: <767713934snz@kmurrell.demon.co.uk> <2q5iup$tc2@bigblue.oit.unc.edu>
NNTP-Posting-Host: alum01.its.rpi.edu

In article <2q5iup$tc2@bigblue.oit.unc.edu>,
Charles Lasner <lasner@sunSITE.unc.edu> wrote:
>Some lines ran Baudot and had to be translated by table lookup, etc.  
>(Also it supported Baudot variants where un-shift on space does/does not 
>exist, etc.)

Sigh...  Now you're making me all misty-eyed...  I used to have hundreds
of pounds of Baudot TTYs, but none of mine had the USOS option.  Those
were the days...  you had to re-send FIGS in case the receiving TTY had
USOS, and you ended your lines with CR CR LF LTRS LTRS, the extra CR was
in case the receiver's dashpot was adjusted too loose and the carriage
was bouncing off the stop, and the LTRS's were to give the machine time
to settle down after the line feed.  Just seeing a comma printed on a
model 15 gives me a warm cozy feeling...  kind of the opposite of the
feeling you get from accidentally touching the loop supply!

John KC1P


From lasner@sunSITE.unc.edu Wed May  4 12:14:26 EDT 1994
Article: 796 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: An English PDP8?
Date: 4 May 1994 13:30:02 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 44
Message-ID: <2q880q$e6p@bigblue.oit.unc.edu>
References: <767713934snz@kmurrell.demon.co.uk> <2q5iup$tc2@bigblue.oit.unc.edu> <2q65vn$ljk@usenet.rpi.edu>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <2q65vn$ljk@usenet.rpi.edu>,
John Wilson <wilsonj@alum01.its.rpi.edu> wrote:
>In article <2q5iup$tc2@bigblue.oit.unc.edu>,
>Charles Lasner <lasner@sunSITE.unc.edu> wrote:
>>Some lines ran Baudot and had to be translated by table lookup, etc.  
>>(Also it supported Baudot variants where un-shift on space does/does not 
>>exist, etc.)
>
>Sigh...  Now you're making me all misty-eyed...  I used to have hundreds
>of pounds of Baudot TTYs, but none of mine had the USOS option.  Those
>were the days...  you had to re-send FIGS in case the receiving TTY had
>USOS, and you ended your lines with CR CR LF LTRS LTRS, the extra CR was
>in case the receiver's dashpot was adjusted too loose and the carriage
>was bouncing off the stop, and the LTRS's were to give the machine time
>to settle down after the line feed.  Just seeing a comma printed on a
>model 15 gives me a warm cozy feeling...  kind of the opposite of the
>feeling you get from accidentally touching the loop supply!
>
>John KC1P

Yes, you don't want to touch the 60 ma power supply!  Amazingly enough 
these sparky things didn't affect the PDP-8/e!

The original network was a baudot paper-tape to printer system as a 
classic news-wire, and as the system was being automated to the -8/e, 
there were still some of the original terminals out there.

By the time the -8/e system was fully operational (1978) there was still 
baudot, but it had been upgraded to a bunch of little printers that ran 
at 112.5 baud and definitely had usos and no delay problems.

The paper-tapes were almost phased out, but were now all ASCII, so they 
got read into the PC04 and some serial readers.  (Basically there was 
little baudot traffic incoming, and it only came from a lone telex 
infrequently.  The paper-tape of that traffic would be read into a 
Facit-Addo reader that had a translate-to-ASCII mode, so to the -8/e it 
looked like another ASCII serial reader.  An alternate station on the 
Facit also took care of the twx input, also seldomly needed.

Most of the input traffic came from modems by then (other than the bulk 
of the in-house editted stuff, etc.)

cjl


From jones@pyrite.cs.uiowa.edu Thu May  5 05:11:31 EDT 1994
Article: 797 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!corpgate!news.utdallas.edu!chpc.utexas.edu!cs.utexas.edu!howland.reston.ans.net!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: PDP-8's in the schools
Date: 4 May 1994 14:25:10 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 203
Distribution: world
Message-ID: <2q8b86$7de@nexus.uiowa.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

About two weeks ago, my son (age 11) said:  "Dad, we've got an all
school project coming up, and I'd like to take your PDP-8 and hook
it up with two terminals so people can talk to each other."  I
asked for more detail, and it turned out that the all school
project is on communications, all kinds, and each kid was supposed
to do a project for it, leading up to a communications fair on
this coming Thursday.  Back when I was debugging my KL8E boards, I
had toggled in a little program to read from either of two boards
and echo to both, and he remembered enjoying playing with it.

So, over the last two weeks, we've struggled.  Most of the work was
in helping him get the information he needed for his poster
describing the project.  His poster focuses on the ASCII code,
and how ASCII characters are sent over a serial line.

I stripped down my PDP-8/F, removing everything but the CPU, memory,
and 2 KL8E boards, and then, over and over, I had my son plug the
machine in, plug together the terminals and machine, and power the
thing up, start the program, and test it, then halt it, power down,
and unplug everything -- now he can do that without notes.

Finally, I wrote an better demo version of the program.  It reads from
either terminal and echos to both, but it also echos CR as CR-LF, it
echos BS as BS-SP-BS, and it echos RUB as RUB-BS-SP-BS.  As an added
bonus, I added a trap for ESC that echos the startup test message (that
begins with NULL), thus preventing people from accidentally setting
the terminals into funny states with accidental escape sequences.

The biggest pain was getting the program loaded in the PDP-8.  I bought
an RS-232 cable to connect my laptop UNIX system to the world, but I'd
never tried it yet (after all, until I tried downloading code into the
PDP-8, the internal modem and ethernet interfaces were all I needed).
Unfortunately, the laptop has an Apple style asynch plug on the back,
and the cable I bought omitted one line the box wanted.  It took me an
hour with a voltmeter, tweezers, and hair thin wire to diagnose and
kluge around that problem, and then I was able to spit RIM code down
the wire into the PDP-8.  I put two copies of the program in core, one
at address 200 and another at 400, so that there's a backup copy
available in case someone bounces on the deposit switch.

Today, I delivered the PDP-8, an ADM31 and an ADM5 to school -- while
other students were arriving with boxes of ants, string and tincan
telephones, posters on sanskrit or braille, and a wealth of other
projects demonstrating communication of one kind or another.  So, for
the next two days, my son will have a PDP-8 key in his pocket.

I hope other owners of antique computers can get them into the schools
for demonstrations!  I think machines with blinking lights, switches,
and other details we're missing on our modern computers can make a
real contribution to students understanding of where we are today and
how different things were only a short time ago.

			Doug Jones
			jones@cs.uiowa.edu

PS.  Here's an assembly listing of the program (from my UNIX-based
PDP-8 cross assembler):

   1            / Instruction mnemonics for input output
   2            TFL=	6040
   3            TFL1=	6410
   4            KCF=	6030
   5            KCF1=	6400
   6            KSF=	6031
   7            KSF1=	6401
   8            KRB=	6036
   9            KRB1=	6406
  10            TLS=	6046
  11            TLS1=	6416
  12            TSF=	6041
  13            TSF1=	6411
  14            
  15            / ASCII characters
  16            BS=	0210		/ backspace
  17            LF=	0212		/ linefeed
  18            CR=	0215		/ carriage return
  19            SP=	0240		/ space
  20            ESC=	0233		/ escape
  21            RUB=	0377		/ rubout
  22            
  23            *0200
  24            /	Special startup actions
  25 00200 6040 START,	TFL		/ Reset output to terminal 0
  26 00201 6410 	TFL1		/ Reset output to terminal 1
  27 00202 6030 	KCF		/ Reset input from terminal 0
  28 00203 6400 	KCF1		/ Reset input from terminal 1
  29            
  30 00204 7200 MSGOUT,	CLA		/ Setup to output a message
  31 00205 1377 	TAD	(MSG-1)	/ Get the address of the message
  32 00206 3010 	DCA	10	/   put it in an index register
  33 00207 1410 MSGLP,	TAD I	10	/ Get a character of the message
  34 00210 7450 	SNA		/   if nonzero, skip
  35 00211 5215 	JMP	WAITIN	/   if zero, go wait for input
  36 00212 4257 	JMS	OUTPUT	/   if nonzero, output character
  37 00213 7200 	CLA		/ Clear it up
  38 00214 5207 	JMP	MSGLP	/   and process the next char
  39            	
  40            /	Code to read from one or the other keyboard
  41 00215 6031 WAITIN,	KSF		/ Is there input from term 0?
  42 00216 7410 	SKP		/   if not, skip
  43 00217 5224 	JMP	IN0	/   if so, go get it
  44 00220 6401 	KSF1		/ Is there input from term 1?
  45 00221 5215 	JMP	WAITIN	/   if not, go wait for input
  46            			/   if so, go get it
  47            
  48 00222 6406 IN1,	KRB1		/ Read the input from term 1
  49 00223 5225 	JMP	OUT	/   then go output it
  50            
  51 00224 6036 IN0,	KRB		/ Read the input from term 0
  52            			/   then go output it
  53            
  54            /	Code to output to both displays
  55 00225 4257 OUT,	JMS	OUTPUT	/ Output the character
  56 00226 1376 	TAD	(-CR)	/ Is it CR (carriage return)?
  57 00227 7450 	SNA		/   if not, skip next line
  58 00230 5244 	JMP	CRFIX	/   if so, special action
  59 00231 1375 	TAD	(CR-BS)	/ Is it BS (backspace)?
  60 00232 7450 	SNA		/   if not, skip next line
  61 00233 5247 	JMP	BSFIX	/   if so, special action
  62 00234 1374 	TAD	(BS-RUB)/ Is it RUB (rubout)?
  63 00235 7450 	SNA		/   if not, skip next line
  64 00236 5254 	JMP	RUBFIX	/   if so, special action
  65 00237 1373 	TAD	(RUB-ESC)/Is it ESC (escape)?
  66 00240 7450 	SNA		/   if not, skip next line
  67 00241 5204 	JMP	MSGOUT	/   if so, special action
  68 00242 1372 	TAD	(ESC)	/ Undo funny effects of tests
  69 00243 5215 	JMP	WAITIN	/   then go get more input
  70            
  71            /	Code for special actions after some codes
  72 00244 4267 CRFIX,	JMS	OUTCON	/ For CR
  73 00245 0212 	LF		/   follow it with LF
  74 00246 5215 	JMP	WAITIN	/   then go get more input
  75            
  76 00247 4267 BSFIX,	JMS	OUTCON	/ For BS
  77 00250 0240 	SP	 	/   follow it with SP
  78 00251 4267 	JMS	OUTCON	/   and
  79 00252 0210 	BS		/   follow that with BS
  80 00253 5215 	JMP	WAITIN	/   then go get more input
  81            
  82 00254 4267 RUBFIX,	JMS	OUTCON	/ For RUB
  83 00255 0210 	BS		/   follow it with BS
  84 00256 5247 	JMP	BSFIX	/   finish up same as BS
  85            	
  86            /	Routine to output a character to both terminals
  87 00257 0000 OUTPUT,	.-.
  88 00260 6041 	TSF		/ Is term 0 ready to output?
  89 00261 5260 	JMP	.-1	/   if not, wait
  90 00262 6046 	TLS		/   if so, output to term 0
  91 00263 6411 	TSF1		/ Is term 1 ready to output?
  92 00264 5263 	JMP	.-1	/   if not, wait
  93 00265 6416 	TLS1		/   if so, output to term 1
  94 00266 5657 	JMP I	OUTPUT	/ Return
  95            
  96            /	Alternate entry to output a character constant
  97 00267 0000 OUTCON,	.-.
  98 00270 7200 	CLA		/ Clear
  99 00271 1667 	TAD I	OUTCON	/   and get the constant
 100 00272 4257 	JMS	OUTPUT	/   then put it out
 101 00273 2267 	ISZ	OUTCON	/   and advance the return address
 102 00274 5667 	JMP I	OUTCON	/ Return
 103            
 104            /	The output message, on startup or ESC
 105 00275 0200 MSG,	0200	/ null
 106 00276 0215 	CR
 107 00277 0212 	LF
 108 00300 0212 	LF
 109 00301 0320 	0320	/ P
 110 00302 0304 	0304	/ D
 111 00303 0320 	0320	/ P
 112 00304 0255 	0255	/ -
 113 00305 0270 	0270	/ 8
 114 00306 0240 	SP
 115 00307 0303 	0303	/ C
 116 00310 0357 	0357	/ o
 117 00311 0355 	0355	/ m
 118 00312 0355 	0355	/ m
 119 00313 0365 	0365	/ u
 120 00314 0356 	0356	/ n
 121 00315 0351 	0351	/ i
 122 00316 0343 	0343	/ c
 123 00317 0341 	0341	/ a
 124 00320 0364 	0364	/ t
 125 00321 0351 	0351	/ i
 126 00322 0357 	0357	/ o
 127 00323 0356 	0356	/ n
 128 00324 0240 	SP
 129 00325 0320 	0320	/ P
 130 00326 0362 	0362	/ r
 131 00327 0357 	0357	/ o
 132 00330 0347 	0347	/ g
 133 00331 0362 	0362	/ r
 134 00332 0341 	0341	/ a
 135 00333 0355 	0355	/ m
 136 00334 0215 	CR
 137 00335 0212 	LF
 138 00336 0212 	LF
 139 00337 0000 	0
 140 00372 0233 $
     00373 0144 
     00374 7611 
     00375 0005 
     00376 7563 
     00377 0274 


From ard@siva.bris.ac.uk Thu May  5 05:50:18 EDT 1994
Article: 798 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!xanth.cs.odu.edu!news.larc.nasa.gov!lerc.nasa.gov!magnus.acs.ohio-state.edu!math.ohio-state.edu!howland.reston.ans.net!EU.net!uknet!warwick!bsmail!siva.bris.ac.uk!ard
From: ard@siva.bris.ac.uk (PDP11 Hacker .....)
Subject: Re: PDP-8's in the schools
Message-ID: <4MAY199418192636@siva.bris.ac.uk>
News-Software: VAX/VMS VNEWS 1.41    
Sender: usenet@info.bris.ac.uk (Usenet news owner)
Nntp-Posting-Host: siva.bris.ac.uk
Organization: University of Bristol Physics Department
References: <2q8b86$7de@nexus.uiowa.edu>
Date: Wed, 4 May 1994 17:19:00 GMT
Lines: 35

In article <2q8b86$7de@nexus.uiowa.edu>, jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) writes...

[Great story deleted]

>I hope other owners of antique computers can get them into the schools
>for demonstrations!  I think machines with blinking lights, switches,
>and other details we're missing on our modern computers can make a
>real contribution to students understanding of where we are today and
>how different things were only a short time ago.

This is almost the founding statement of the P850 User Group, a group of
Madmen, mostly in the UK, who are trying to preserve as much of the history of
computing as possible. Museums do a great job preserving the realy significant
machines, like ENIAC, EDSAC, etc, but there are many other macines that sold
well in their day, but are likely to be lost for ever if someone doesn't
preserve them - machines like the PDP8, PDP11, PERQ, P850, Intellec, and later
machines like the first PETs, TRS80s, Apples, Exidy Sorcerors, etc.
Hence they keep as much of that stuff running, so that a new generation will
have a chance to see a real computer.

> 
>			Doug Jones
>			jones@cs.uiowa.edu
> 
>PS.  Here's an assembly listing of the program (from my UNIX-based
>PDP-8 cross assembler):

Is that assembler available for public consumption anywhere?


-tony

Bristol University takes no responsibility for the views expressed in this
posting. They are the personal views of the user concerned.


From jones@pyrite.cs.uiowa.edu Thu May  5 05:50:43 EDT 1994
Article: 799 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!corpgate!news.utdallas.edu!chpc.utexas.edu!cs.utexas.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Date: 4 May 1994 18:45:21 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 9
Distribution: world
Message-ID: <2q8qg1$e3s@nexus.uiowa.edu>
References: <4MAY199418192636@siva.bris.ac.uk>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <4MAY199418192636@siva.bris.ac.uk>,
by ard@siva.bris.ac.uk (PDP11 Hacker .....):
> 
> Is that assembler available for public consumption anywhere?

Ask and ye shall recieve.  I sent a copy by E-mail.

				Doug Jones
				jones@cs.uiowa.edu


From lasner@sunSITE.unc.edu Thu May  5 05:51:06 EDT 1994
Article: 800 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Date: 5 May 1994 09:45:16 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 65
Message-ID: <2qaf7c$scm@bigblue.oit.unc.edu>
References: <2q8b86$7de@nexus.uiowa.edu>
NNTP-Posting-Host: calzone.oit.unc.edu

Doug Jones' school project is excellent and I laud him for doing it!

However, I wish to point out a few notions about the actual program:

1) It's good form to have the output routine clear the AC afterwards. 
This makes it independent of the hardware.  (There are alternate devices
besides serial ports; in the course of outputting to them, the AC
preservation may not be reliable or will at least amount to overhead. 
Since there is at least one place in the program where the AC has to be
cleared of the old data, this doesn't serve anything useful.)

2) I don't understand why the RUB character wants to be outputted, and I
hope the reason was thought through as other than an after-the-fact
documentation of the "it's not a bug, it's a feature" variety.  Note that
reorganizing the program to use the output routine with final clearing
will make this decision a bit easier. 

3) When outputting multiple characters, it's best to avoid "library"-type
solutions (ask Johnny Billquist about this!) in the sense that each
problem begs a slightly different variety of solution type.  Here
straight-forward multiple single calls were used with the character code
passed in-line.  The passing in-line portion is fine per se.  In fact, it
lends itself to an optimization technique because then the constants are
available as literals (and likely needed!). 

   However, it can be more efficient to institute special-purpose features
to match the requirements.  For example, since there will likely be a
sequence of the form <output a char><output a char>JMP for some indefinite
number of characters, an alternate way to do this is to pass *multiple*
in-line literal arguments, each to be outputted in turn until a sentinal
argument is found. 

   Regarding that specific, the PDP-8 offers a nice additional trick: By
insisting that such a call is always followed by a JMP, which in octal
happens to be a negative number (5xxx), you can return to the first place
after the literals that isn't positive.  This gets implemented with no
overhead, since it just means that the order of argument checking changes;
if the passed argument is negative, do a return JMP immediately.  Else,
retrieve the argument again, process it and then ISZ past the argument and
JMP back to the argument-parser, etc. (Note: if for some reason, the
requirement of a JMP instruction following the caller's literal arguments
cannot be met, it always can be accomplished with some form of potential
overhead such as a NOP or CLA or JMP .+1.  Perhaps the negative value can
itself have applicability elsewhere; as long as the fact that it also
executes can be tolerated, then perhaps it can be done without an overhead
per se.)

4) The program should avoid the use of the text-book-type interrupt
skip-chain form.  In practice this is never used except for a few
contrived cases (such as in RTS-8 where the address is being patched in
from elsewhere).  In this programs flag-checking routines (which are akin
to interrupt handling) are taking no advantage of the fact that the IOT's
for checking skip when set, since they were used to cancel SKP
instructions which negate JMP instructions, etc.  In PDP-8 terms, this
amounts to a limited form of what CS people want to call "spaghetti code". 
A fixed-task interrupt handler (the vast majority of situations) should be
written using the IOT skipping to negate the JMP to the next device test. 

So, overall project rating: A
PDP-8 coding efficiency rating: B-

Keep up the good work; next year the state finals!

cjl


From lasner@sunSITE.unc.edu Thu May  5 05:51:19 EDT 1994
Article: 801 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Date: 5 May 1994 09:49:48 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 15
Message-ID: <2qaffs$ggi@bigblue.oit.unc.edu>
References: <2q8b86$7de@nexus.uiowa.edu> <4MAY199418192636@siva.bris.ac.uk>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <4MAY199418192636@siva.bris.ac.uk>,
PDP11 Hacker ..... <ard@siva.bris.ac.uk> wrote:
>In article <2q8b86$7de@nexus.uiowa.edu>, jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) writes...

>>PS.  Here's an assembly listing of the program (from my UNIX-based
>>PDP-8 cross assembler):
>
>Is that assembler available for public consumption anywhere?

Doug's Assembler hasn't passed muster with all of the PDP-8 hackers yet.  
An alternate way to develop stuff that *will* definitely be compatible is 
to use an emulator.  Viable ones are already among us.

cjl


From ard@siva.bris.ac.uk Fri May  6 03:31:55 EDT 1994
Article: 802 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!xanth.cs.odu.edu!news.larc.nasa.gov!lerc.nasa.gov!usenet.ins.cwru.edu!howland.reston.ans.net!pipex!warwick!bsmail!siva.bris.ac.uk!ard
From: ard@siva.bris.ac.uk (PDP11 Hacker .....)
Subject: Re: PDP-8's in the schools
Message-ID: <5MAY199414541733@siva.bris.ac.uk>
News-Software: VAX/VMS VNEWS 1.41    
Sender: usenet@info.bris.ac.uk (Usenet news owner)
Nntp-Posting-Host: siva.bris.ac.uk
Organization: University of Bristol Physics Department
References: <2q8b86$7de@nexus.uiowa.edu> <4MAY199418192636@siva.bris.ac.uk> <2qaffs$ggi@bigblue.oit.unc.edu>
Date: Thu, 5 May 1994 13:54:00 GMT
Lines: 36

In article <2qaffs$ggi@bigblue.oit.unc.edu>, lasner@sunSITE.unc.edu (Charles Lasner) writes...
>In article <4MAY199418192636@siva.bris.ac.uk>,
>PDP11 Hacker ..... <ard@siva.bris.ac.uk> wrote:
>>In article <2q8b86$7de@nexus.uiowa.edu>, jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) writes...
> 
>>>PS.  Here's an assembly listing of the program (from my UNIX-based
>>>PDP-8 cross assembler):
>>
>>Is that assembler available for public consumption anywhere?
> 
>Doug's Assembler hasn't passed muster with all of the PDP-8 hackers yet.  

What does it fail on? It's surely OK for cross-assembling little test programs,
and at least I get the source.

>An alternate way to develop stuff that *will* definitely be compatible is 
>to use an emulator.  Viable ones are already among us.

Surely that means I need an assembler than runs on a PDP8 (if it is to run on
an emulator). In that case, I could run the assembler on my PDP8. Is such an
assemblerr available anywhere. I'm afraid I don't really know what PDP8
software is out there - I've just got the machine and so far I've only run one
program and that was from the maintenance manual, just to check that most of
the hardware was working.

I have this ingrained objection to emulators, and prefer to run the real
hardware. SOmething to do with being a hardware hacker I guess...

> 
>cjl
> 
-tony

Bristol University takes no responsibility for the views expressed in this
posting. They are the personal views of the user concerned.


From lasner@sunSITE.unc.edu Fri May  6 03:50:27 EDT 1994
Article: 803 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Date: 6 May 1994 07:49:16 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 88
Message-ID: <2qcsps$9g5@bigblue.oit.unc.edu>
References: <2q8b86$7de@nexus.uiowa.edu> <4MAY199418192636@siva.bris.ac.uk> <2qaffs$ggi@bigblue.oit.unc.edu> <5MAY199414541733@siva.bris.ac.uk>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <5MAY199414541733@siva.bris.ac.uk>,
PDP11 Hacker ..... <ard@siva.bris.ac.uk> wrote:
>In article <2qaffs$ggi@bigblue.oit.unc.edu>, lasner@sunSITE.unc.edu (Charles Lasner) writes...
>>In article <4MAY199418192636@siva.bris.ac.uk>,
>>PDP11 Hacker ..... <ard@siva.bris.ac.uk> wrote:
>>>In article <2q8b86$7de@nexus.uiowa.edu>, jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) writes...
>> 
>>>>PS.  Here's an assembly listing of the program (from my UNIX-based
>>>>PDP-8 cross assembler):
>>>
>>>Is that assembler available for public consumption anywhere?
>> 
>>Doug's Assembler hasn't passed muster with all of the PDP-8 hackers yet.  
>
>What does it fail on? It's surely OK for cross-assembling little test programs,
>and at least I get the source.

Full-blown PDP-8 assemblers are few and far between.  Most people who 
have written viable PDP-8 cross assemblers haven't gotten it quite right, 
or are just missing important features, etc.  Unlike some other lame 
assemblers, the PDP-8 assembler depends on certain quirks that have been 
around for decades, and the programs that exist depend on the nuances, etc.

I assume Doug will "stay the course" and eventually produce a 
full-fledged assembler that will produce both a compatible listing and 
correct binary for all possible files we can throw at him.  Right now, 
this isn't true, etc.

The source of virtually anything PDP-8 is available, although we are 
mired in wasting some time dis-assembling some noteworthy exceptions.  
But in general, if you used something on the -8, the source was 
available.  Closing an architecture is something somebody dreamt up later!

Of course, what good is it to you to have the source of the assembler 
written in itself without a system to run it on?  (And if you have the 
system itself, you have no immediate need for the assembler's own source, 
unless you want to study/modify the assembler itself!)

(Remember, most PDP-8 software is written in assembler!)

>
>>An alternate way to develop stuff that *will* definitely be compatible is 
>>to use an emulator.  Viable ones are already among us.
>
>Surely that means I need an assembler than runs on a PDP8 (if it is to run on
>an emulator). In that case, I could run the assembler on my PDP8. Is such an
>assemblerr available anywhere. I'm afraid I don't really know what PDP8
>software is out there - I've just got the machine and so far I've only run one
>program and that was from the maintenance manual, just to check that most of
>the hardware was working.

No, you don't have a machine yet.  You have a CPU only.  The dominant 
software isn't for a CPU with a little memory.  You need a disk device 
and a terminal, and preferably a line-printer.  Add an extra serial line 
and you can run Kermit, etc.  In any case, all but the extra serial line 
is needed to run the assembler; delete the LPT: only if you don't want 
paper listings, etc.

So, start with an emulator.  When you get a whole machine together, you 
can run the same software on both the real hardware and on the emulator.  
Perhaps you'll even outgrow the need to have an emulator at all!

>
>I have this ingrained objection to emulators, and prefer to run the real
>hardware. SOmething to do with being a hardware hacker I guess...

Understand, but the emulator isn't the goal, just a point on the journey.

In any case, to avoid compatibility problems, run real assemblers whether 
on real or virtual hardware!

Note: we have defined various viable mechanisms to transfer binary 
between machines.  Assuming a cross-assembler gets written that really is 
compatible, and this certainly *can* be done, then it's fine.  It's just 
that so far, no one's quite done it.

>
>> 
>>cjl
>> 
>-tony
>
>Bristol University takes no responsibility for the views expressed in this
>posting. They are the personal views of the user concerned.
>

cjl


From jones@pyrite.cs.uiowa.edu Sun May  8 08:42:11 EDT 1994
Article: 804 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Date: 5 May 1994 15:03:17 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 57
Distribution: world
Message-ID: <2qb1rl$eb6@nexus.uiowa.edu>
References: <2qaf7c$scm@bigblue.oit.unc.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <2qaf7c$scm@bigblue.oit.unc.edu>, by lasner@sunSITE.unc.edu
(Charles Lasner):
> 
> However, I wish to point out a few notions about the actual program:
> 
> 1) It's good form to have the output routine clear the AC afterwards. 

I wanted the ASCII characters to hang around in AC for as long as possible,
so that students typing on the terminals could see the ASCII codes for the
keys they hit.  As a result, I deliberately avoided clearing AC, and after
the string of comparisons for special stuff, I put things back the way they
were.

> 2) I don't understand why the RUB character wants to be outputted

After the fact kluge engineering -- processing of BS and CR came first,
and then, on the evening before the darned thing had to be delivered to
his school, I discovered my son trying to erase things with RUB.  It's
harmless to echo RUB, so I didn't bother reorganizing the program to
catch RUB before things were output.

> 3) ...  For example, since there will likely be a sequence of the form
> <output a char><output a char>JMP for some indefinite number of
> characters, an alternate way to do this is to pass *multiple* in-line
> literal arguments, each to be outputted in turn until a sentinal
> argument is > found.

Nice idea, and if there's ever cause to tune the program a step farther,
I'll probably do it -- but this program was developed in my spare time
between calls for help from my son as he worked on his poster
presentation and messing around with a cable that almost but not quite
supported the interface requirements of my laptop.  I didn't exactly
have time to tune the darned thing.

>    Regarding that specific, the PDP-8 offers a nice additional trick: By
> insisting that such a call is always followed by a JMP, which in octal
> happens to be a negative number (5xxx), you can return to the first place
> after the literals that isn't positive.

A cute trick!

> 4) ... In this programs flag-checking routines (which are akin
> to interrupt handling) are taking no advantage of the fact that the IOT's
> for checking skip when set, since they were used to cancel SKP
> instructions which negate JMP instructions, etc.

You're right about that.  That's a clunky bit of code I wrote a year ago
and toggled in by hand, then never bothered to rethink.  Your idea of
having each section begin with

TRYDEV, IOT		/ skip if ready
	JMP	NXTDEV
	stuff		/ process for this device

is clearly superior.
					Doug Jones
					jones@cs.uiowa.edu


From jones@pyrite.cs.uiowa.edu Sun May  8 08:43:18 EDT 1994
Article: 805 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!convex!cs.utexas.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Cross Assemblers
Date: 6 May 1994 15:06:37 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 30
Distribution: world
Message-ID: <2qdmdt$kl2@nexus.uiowa.edu>
References: <2qcsps$9g5@bigblue.oit.unc.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <2qcsps$9g5@bigblue.oit.unc.edu>,
by lasner@sunSITE.unc.edu (Charles Lasner):
> 
> I assume Doug will "stay the course" and eventually produce a 
> full-fledged assembler that will produce both a compatible listing and 
> correct binary for all possible files we can throw at him.  Right now, 
> this isn't true, etc.

Have you read the disclaimer in the source for my assembler?  Here it is:

   disclaimer:  This assembler accepts a subset of the PAL 8 assembly
	language.  It was written as a quick hack in order to download
	software into my bare-bones PDP-8 system, and no effort has
	been made to apply sound software engineering techniques in
	its design.

For further clarification, the software comes with a warantee:

   warrantee:  If you don't like it the way it works or if it doesn't work,
        that's tough.  You're welcome to fix it yourself.  That's what you
        get for using free software.

I have little interest in staying the course!  The thing is available,
it's quite useful for supporting (and debugging) a bare bones machine,
and it avoids the hassles of running an emulator.  It is compatable enough
that source files you develop under it are likely to assemble with no
problems on real PAL assemblers, but my purpose was never to produce a
fully compatable assembler.
				Doug Jones
				jones@cs.uiowa.edu


From jones@pyrite.cs.uiowa.edu Sun May  8 08:44:32 EDT 1994
Article: 806 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!news.cic.net!magnus.acs.ohio-state.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Date: 6 May 1994 15:15:02 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 28
Distribution: world
Message-ID: <2qdmtm$kqq@nexus.uiowa.edu>
References: <2qcsps$9g5@bigblue.oit.unc.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

By the way, the PDP-8 demo at my son's school went off without a hitch,
and it was, by any standard, a wild success.  We delivered the hardware
in pieces -- just stripped down PDP-8/F with memory, cpu and terminal
interfaces, plus two terminals.  My son managed to find wall outlets,
string wires to the terminals, and fire it up (the program was already
in core), and it worked like a charm for an hour or two during the day
and another hour or two yesterday evening.

The 8/F ran with the top off (actually, I don't have a lid for it), and
my son made signs saying "CPU" "Memory" and "I/O Interfaces" for those
parts.  More than a few parents peered into it and asked "where's the
disk" or other questions that illustrated great knowledge.

It was competing against tin-can telephones, morse code stuff, posters
about the internet, video tapes and more, and for most of the time it
was running, it had crowds of kids around the two terminals typing
messages (for the kids old enough to type) or just typing gibberish
(younger kids) to each other.  There were running PCs and Macs sitting
around too, but most of them didn't attract crowds.

So, in conclusion, do it!  Get those old machines out in public!
The right dinky little program (and the code I posted a few days ago
is hardly disserving of any higher acclaim) can really be as fun to
play with as something that runs in 3 megabytes and requires a WIMP
user interface!

				Doug Jones
				jones@cs.uiowa.edu


From tomk@csd.uu.se Sun May  8 08:45:05 EDT 1994
Article: 807 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!xanth.cs.odu.edu!lll-winken.llnl.gov!koriel!cs.utexas.edu!howland.reston.ans.net!pipex!sunic!columba.udac.uu.se!news.uu.se!tomk
From: tomk@csd.uu.se (Tom Karlsson)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Date: 07 May 1994 11:31:19 GMT
Organization: CS, University of Uppsala, Sweden
Lines: 35
Distribution: world
Message-ID: <TOMK.94May7133120@kobra.csd.uu.se>
References: <2qcsps$9g5@bigblue.oit.unc.edu> <2qdmtm$kqq@nexus.uiowa.edu>
NNTP-Posting-Host: kobra.csd.uu.se
In-reply-to: jones@pyrite.cs.uiowa.edu's message of 6 May 1994 15:15:02 GMT


In article <2qdmtm$kqq@nexus.uiowa.edu> jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) writes:

> It was competing against tin-can telephones, morse code stuff, posters
> about the internet, video tapes and more, and for most of the time it
> was running, it had crowds of kids around the two terminals typing
> messages (for the kids old enough to type) or just typing gibberish
> (younger kids) to each other.  There were running PCs and Macs sitting
> around too, but most of them didn't attract crowds.
> 
> So, in conclusion, do it!  Get those old machines out in public!
> The right dinky little program (and the code I posted a few days ago
> is hardly disserving of any higher acclaim) can really be as fun to
> play with as something that runs in 3 megabytes and requires a WIMP
> user interface!

A year and a half ago, we (Update) experienced the same thing when showing
some of our machines at the computer science and mathematical campus
in Uppsala (when the campus was officially opened).
Besides some newer and smaller machines (DEC Rainbows, Professionals and
a small microVAX II), we had a PDP-8i, a PDP-11/24 (or was it 34 ?) and
a PDP-11/70.
All of the machines were running and we even had a Votrax connected to
the PDP-11/x4, just to be able to "talk" to the spectators :-)

The temporary computer room we used was well visited. We got
some complaints from others in the building, that we draw too much
attention from the other attractions... (I wonder why? :-)

/Tom
--
|  Tom Karlsson           email: tomk@csd.uu.se      phone: +46 18 260097  |
|  Student of Computer Science @ Uppsala University, Sweden.               |
|  Secretary of Update.   email: tomk@Update.UU.SE                         |
|           "Intelligence is to do stupid things in a smart way"           |


From prc@world.std.com Sun May  8 08:45:31 EDT 1994
Article: 808 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!news.kei.com!world!prc
From: prc@world.std.com (Peter R Cook)
Subject: Re: PDP-8's in the schools
Message-ID: <CpE7E1.10t@world.std.com>
Organization: The World Public Access UNIX, Brookline, MA
References: <2qcsps$9g5@bigblue.oit.unc.edu> <2qdmtm$kqq@nexus.uiowa.edu>
Date: Fri, 6 May 1994 18:01:12 GMT
Lines: 10

	When I was in high school it was a PDP-8 with the early
	version of star trek on it that got me hooked. After that
	I took BASIC, then off to college for a BSCS.

	
-- 
Peter R. Cook - Unix, Ultrix,     |  Black Dragon Entertainment is a full 
& VMS Software Engineering.       |  service Management, Music (BMI/ASCAP), 
prc@world.std.com                 |  Record, & Production company. Inquire! 
  The opinions expressed above are held by the entire known universe.


From lasner@sunSITE.unc.edu Sun May  8 08:46:46 EDT 1994
Article: 809 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Date: 8 May 1994 12:41:31 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 94
Message-ID: <2qimlr$rq4@bigblue.oit.unc.edu>
References: <2qaf7c$scm@bigblue.oit.unc.edu> <2qb1rl$eb6@nexus.uiowa.edu>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <2qb1rl$eb6@nexus.uiowa.edu>,
Douglas W. Jones,201H MLH,3193350740,3193382879 <jones@pyrite.cs.uiowa.edu> wrote:
>From article <2qaf7c$scm@bigblue.oit.unc.edu>, by lasner@sunSITE.unc.edu
>(Charles Lasner):

>> 1) It's good form to have the output routine clear the AC afterwards. 

>I wanted the ASCII characters to hang around in AC for as long as possible,
>so that students typing on the terminals could see the ASCII codes for the
>keys they hit.  As a result, I deliberately avoided clearing AC, and after
>the string of comparisons for special stuff, I put things back the way they
>were.

Still cleaner to put the char into the AC while waiting for a new one if 
you insist.  Alternatively, instead of doing a final CLA, do an MQL.  
Then the latest typed char is in the MQ.

>> 2) I don't understand why the RUB character wants to be outputted

>After the fact kluge engineering -- processing of BS and CR came first,
>and then, on the evening before the darned thing had to be delivered to
>his school, I discovered my son trying to erase things with RUB.  It's
>harmless to echo RUB, so I didn't bother reorganizing the program to
>catch RUB before things were output.

I know this was a quick and dirty job.  My purpose is to advance the 
skills after the fact, etc.

>> 3) ...  For example, since there will likely be a sequence of the form
>> <output a char><output a char>JMP for some indefinite number of
>> characters, an alternate way to do this is to pass *multiple* in-line
>> literal arguments, each to be outputted in turn until a sentinal
>> argument is > found.

>Nice idea, and if there's ever cause to tune the program a step farther,
>I'll probably do it -- but this program was developed in my spare time
>between calls for help from my son as he worked on his poster
>presentation and messing around with a cable that almost but not quite
>supported the interface requirements of my laptop.  I didn't exactly
>have time to tune the darned thing.

I know.  The point is that there are many ways to tweak code.  The -8 is 
a place it's been done.  Other machines tend to standardize on mediocre 
methods and are never revisited.  This encourages abstraction and 
expediency while wasting compute resources.  While some people seem to 
operate on the notion that resources are infinite, sometimes they get 
hoisted accordingly.  Better to have an appreciation of what can be done 
with less, not assume more is always possible!

>>    Regarding that specific, the PDP-8 offers a nice additional trick: By
>> insisting that such a call is always followed by a JMP, which in octal
>> happens to be a negative number (5xxx), you can return to the first place
>> after the literals that isn't positive.

>A cute trick!

Not original.  Look at the way you call the FPP package.  A bunch of 
in-line arguments with a special-purpose terminator.  Some FPP's actually 
execute the 0000 that exits knowing that it's a harmless AND instruction!

>> 4) ... In this programs flag-checking routines (which are akin
>> to interrupt handling) are taking no advantage of the fact that the IOT's
>> for checking skip when set, since they were used to cancel SKP
>> instructions which negate JMP instructions, etc.

>You're right about that.  That's a clunky bit of code I wrote a year ago
>and toggled in by hand, then never bothered to rethink.  Your idea of
>having each section begin with

>TRYDEV, IOT		/ skip if ready
>	JMP	NXTDEV
>	stuff		/ process for this device

>is clearly superior.

But hardly original.  That's just the way all of the reasonable code was 
ever written!  It appears that the only source of the demented code is 
the manual!  I guess they didn't want to call interrupt handling a JMP 
chain :-).

Also, I fully appreciate the problem of hand-loading of code.  A lot of 
the benefits of these ideas only came about because we were users of 
whole systems, not just CPU's and a terminal.  In your case two 
terminals, but still not a whole system!

Perhaps you needed to bring in an RX drive as well to dazzle the school 
people :-).


>					Doug Jones
>					jones@cs.uiowa.edu

cjl


From koppel@werple.apana.org.au Sun May  8 18:41:49 EDT 1994
Article: 810 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!xanth.cs.odu.edu!lll-winken.llnl.gov!elroy.jpl.nasa.gov!swrinde!cs.utexas.edu!uwm.edu!msuinfo!harbinger.cc.monash.edu.au!yarrina.connect.com.au!werple.apana.org.au!news
From: koppel@werple.apana.org.au (David Broadbent)
Newsgroups: alt.sys.pdp8
Subject: First come best dressed - PDP8E's
Date: 8 May 1994 09:17:13 +1000
Organization: werple public-access unix, Melbourne
Lines: 37
Message-ID: <2qh7hp$136@werple.apana.org.au>
NNTP-Posting-Host: werple.apana.org.au
X-Newsreader: TIN [version 1.2 PL1]

Yesterday I rescued two pdp8e from being burried in a tip. 

Both appear to be complete and in reasonable condition. One has a cracked
face plate. Both have minor damage to the toggles, but I think no actual
switch damage.

Also there were two only RKO5J with them. One still has the pack in it, 
the other 'SIGH' is only good for spares.

There may be a third system plus a tape punch/reader in running condition.
2% chance of it still existing. More on that later.

They are available here in Melbourne Australia, as is, where is, as I 
do not have time to box or cart then anywhere. I can only store them a 
week, two at the most, else I will have to scrap them myself. 

I had to pay to get them ($150) so I hope some one out there appreciates 
the effort I took to save them. Offers to cover my out of pocket costs 
would be appreciated.

I had, as some may remember, the disappointment to scrap (3 years ago) a 
pdp8i as I could not find any takers. I did not know of this group at 
that time. I was sure I had some of the 8i hidden away but i have not 
found these parts yet. I lost the reply from the DECUS gents in NSW that  
responded to my posting earlier this year.

If I had more space I would like to keep the 8e's  but I have to be 
realistic in that there is only so much time and hobbies one can enjoy
in a life time. And my house and garage just have to be tidied up. 

Some people drink, others gamble, while yet others have sex as a vice. I 
think my vice in life is to be a Bower Bird (jjunk dealer), or so my 
family thinks. The stuff people throw out !!!!!!!!!!.

Anyway Email me if interested, regards
David Broadbent.


From wilsonj@alum01.its.rpi.edu Mon May  9 09:05:31 EDT 1994
Article: 811 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!solaris.cc.vt.edu!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!noc.near.net!usenet.elf.com!rpi!wilsonj
From: wilsonj@alum01.its.rpi.edu (John Wilson)
Newsgroups: alt.sys.pdp8
Subject: PDP-8 assemblers
Date: 8 May 1994 05:18:19 GMT
Organization: Rensselaer Polytechnic Institute, Troy NY
Lines: 37
Message-ID: <2qhsmr$7d3@usenet.rpi.edu>
NNTP-Posting-Host: alum01.its.rpi.edu

I should know better than to say this (got in a flame war with cjl last
time I did :-) but, why is PAL-8 compatibility such a lofty goal?  It's
a pretty lame assembler, and it's not as if there are untold hundreds of
megabytes of PDP-8 source code available to most of us, which it would
be impossible to convert to a slightly different syntax.  If you need
PAL-8 compatibility, by all means use PAL-8.  If some other assembler
has sufficient advantages to make it worth using (like being a single-
pass assembler, or having decent literals a la MACRO-10, or producing
relocatable output), then presumably you've weighed these advantages
against the fact that the author liked ".=" or "LOC" better than "*",
or wanted to use ".END" instead of "$", or whatever, before deciding
to care one way or another.

I've about had it with "compatibility" in the PC world, who needs it
in PDP8-land.  When I got TASM the box said "100% compatible with
MASM V4.0 and V5.1" on it, and the first program I tried it on (which
assembled without errors under MASM V5.1) triggered many dozens of
error messages.  It took me about a day to get it conditionalized so
that both assemblers would like it.  Why bother?  I'd much rather make
a clean break and blow off compatibility in favor of correcting some
of the basic sillinesses in MASM's design.  If I found (or wrote) an
assembler that did all these things right, I'd gladly spend a week
or two reediting all my programs (probably with a lot of help from
a simple BASIC program, like the syntax would really be that different)
to use the better assembler.

And as Doug pointed out, if your goals are modest why sweat over the
assembler?  I wrote a lousy PDP-8 cross assembler when I was a freshman
(and had unlimited free electricity!) so that I could upload code from
my PDT-11/150 into my PDP-8/E, and the only neat thing about it was that
it worked at all (my PDP-8 peripherals were all 150 miles away so so
much for PAL/D), but so what?  I *like* to put dots on the beginning
of ".TEXT" and ".PAGE", and I consider generating a BIN "org" record
for every "*" command even if no data are generated to be a bug, not
a feature, but no one else will ever use the assembler anyway.

John


From bob@sed.csc.com Mon May  9 09:39:45 EDT 1994
Article: 812 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!eff!cs.umd.edu!anagld!bob
From: bob@sed.csc.com (Bob Smith)
Subject: Re: PDP-8's in the schools
Message-ID: <CpHnE1.7I7@sed.csc.com>
Organization: Computer Sciences Corporation
References: <2qaf7c$scm@bigblue.oit.unc.edu> <2qb1rl$eb6@nexus.uiowa.edu> <2qimlr$rq4@bigblue.oit.unc.edu>
Date: Sun, 8 May 1994 14:39:37 GMT
Lines: 28

In CJL's last post on this article (at the time of my post), he does his
best to say: All of your stuff has been done before, there are better
ways, none of this is original, and CJL can do better.

While all of his comments MAY BE true, I say that it is time to
focus on what this effort is all about: FUN.  The fun of seeing something
work.  The fun of seeing how you (the individual) can do something,
the fun of learning how to do it even if someone else has already done
it a similar way or even a better way.

There is a bit of life left in the old 8's.  There is still more
fun left in them if we can give each other credit for trying, gently 
coach and mentor with ways of doing things differently, and ENCOURAGE
EVERYONE to try.

The logical thinking process that gets a program to work or a piece of
hardware to work is only part of it.  The individual stamp, the artistry
if you will, should not be squelched by any of us.  If advice is sought,
it should be freely given.  If some one is letting us know that 
they have accomplished something of note to them personally, we all
should enjoy, not just for them or with them but for our selves as
we remember or premeber how will did or will do something similar.

There are way to impart information that do not detract from an
individual's effort.  There are destructive ways of attempting to
do the same thing.  Let's make this fun.
bob


From ard@siva.bris.ac.uk Mon May  9 10:17:50 EDT 1994
Article: 813 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!xanth.cs.odu.edu!lll-winken.llnl.gov!sol.ctr.columbia.edu!howland.reston.ans.net!pipex!warwick!bsmail!siva.bris.ac.uk!ard
From: ard@siva.bris.ac.uk (PDP11 Hacker .....)
Subject: Re: PDP-8's in the schools
Message-ID: <8MAY199415370720@siva.bris.ac.uk>
News-Software: VAX/VMS VNEWS 1.41    
Sender: usenet@info.bris.ac.uk (Usenet news owner)
Nntp-Posting-Host: siva.bris.ac.uk
Organization: University of Bristol Physics Department
References: <2q8b86$7de@nexus.uiowa.edu> <4MAY199418192636@siva.bris.ac.uk> <2qaffs$ggi@bigblue.oit.unc.edu> <2qcsps$9g5@bigblue.oit.unc.edu>
Date: Sun, 8 May 1994 14:37:00 GMT
Lines: 83

In article <2qcsps$9g5@bigblue.oit.unc.edu>, lasner@sunSITE.unc.edu (Charles Lasner) writes...
>In article <5MAY199414541733@siva.bris.ac.uk>,
>PDP11 Hacker ..... <ard@siva.bris.ac.uk> wrote:

[Doug's C cross-assembler]
>>What does it fail on? It's surely OK for cross-assembling little test programs,
>>and at least I get the source.
> 
>Full-blown PDP-8 assemblers are few and far between.  Most people who 
>have written viable PDP-8 cross assemblers haven't gotten it quite right, 
>or are just missing important features, etc.  Unlike some other lame 
>assemblers, the PDP-8 assembler depends on certain quirks that have been 
>around for decades, and the programs that exist depend on the nuances, etc.

Could you please post some examples of these quirks. It would be interesting to
see what the programmers got up to.

>Of course, what good is it to you to have the source of the assembler 
>written in itself without a system to run it on?  (And if you have the 
>system itself, you have no immediate need for the assembler's own source, 
>unless you want to study/modify the assembler itself!)

Actually, I would be interested in studying the assembler. The reason I run all
the old machines that I do is to learn about computers, how they work (both
hardware and software), and also to learn from the mistakes. Reading software
source code is a great way to do this.

> 
>(Remember, most PDP-8 software is written in assembler!)


>>Surely that means I need an assembler than runs on a PDP8 (if it is to run on
>>an emulator). In that case, I could run the assembler on my PDP8. Is such an
>>assemblerr available anywhere. I'm afraid I don't really know what PDP8
>>software is out there - I've just got the machine and so far I've only run one
>>program and that was from the maintenance manual, just to check that most of
>>the hardware was working.
> 
>No, you don't have a machine yet.  You have a CPU only.  The dominant 
>software isn't for a CPU with a little memory.  You need a disk device 
>and a terminal, and preferably a line-printer.  Add an extra serial line 
>and you can run Kermit, etc.  In any case, all but the extra serial line 
>is needed to run the assembler; delete the LPT: only if you don't want 
>paper listings, etc.

Hmmm. I have a little more that just the CPU and memory. I _think_ my current
list of options is : 
PDP8/e CPU
Timeshare/extended address board
32K core (4 off 8K 3-board sets)
Line-frequency Clock 
3 serial ports (M8655?)
1 LS8E (Is that a printer port)
1 RK8 (No drives yet, but I can 'borrow' an RK05 off my PDP11 if necessary).

I also have (non-working I think) a further serial port and a second RK8E.

The only thing I am missing is the EAE board set, but presumably some software
will run without that installed.

I am still testing things up at the moment, but I will get it all working...

> 
>So, start with an emulator.  When you get a whole machine together, you 
>can run the same software on both the real hardware and on the emulator.  
>Perhaps you'll even outgrow the need to have an emulator at all!

I'd much rather fix up the hardware and run the programs on the 'right'
machine. Somehow, a PDP8 without a front panel doesn't seem right :-)

>>-tony
>>
>>Bristol University takes no responsibility for the views expressed in this
>>posting. They are the personal views of the user concerned.
>>
> 
>cjl
> 
-tony

Bristol University takes no responsibility for the views expressed in this
posting. They are the personal views of the user concerned.


From ard@siva.bris.ac.uk Mon May  9 10:31:11 EDT 1994
Article: 814 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!xanth.cs.odu.edu!lll-winken.llnl.gov!sol.ctr.columbia.edu!howland.reston.ans.net!pipex!warwick!bsmail!siva.bris.ac.uk!ard
From: ard@siva.bris.ac.uk (PDP11 Hacker .....)
Subject: Re: PDP-8 assemblers
Message-ID: <8MAY199415450361@siva.bris.ac.uk>
News-Software: VAX/VMS VNEWS 1.41    
Sender: usenet@info.bris.ac.uk (Usenet news owner)
Nntp-Posting-Host: siva.bris.ac.uk
Organization: University of Bristol Physics Department
References: <2qhsmr$7d3@usenet.rpi.edu>
Date: Sun, 8 May 1994 14:45:00 GMT
Lines: 28

In article <2qhsmr$7d3@usenet.rpi.edu>, wilsonj@alum01.its.rpi.edu (John Wilson) writes...
>I should know better than to say this (got in a flame war with cjl last
>time I did :-) but, why is PAL-8 compatibility such a lofty goal?  It's

I fully agree with you. The reason I wanted Doug's assembler was not to avoid
getting a real assembler/operating system/disk for my PDP8e, but to assemble
little test programs to sort out the hardware that I've got, so that I know it
will work correctly. It sure beats hand-assembling :-)
Incidentally, I know it's a cause of flames to mention PC's on this newsgroup,
but Doug's assembler will compile and run (I think correctly) under Microsoft
QuickC v2.5 on a PC. No changes needed.


>a pretty lame assembler, and it's not as if there are untold hundreds of
>megabytes of PDP-8 source code available to most of us, which it would
>be impossible to convert to a slightly different syntax.  If you need

Most of these sytanx changes can be fixed by running sed on the source file,
and then fixing up any errors that come on assembly. OK, so it would be a pain
for something like an operating system source, but in that case, why not use
PAL8. It's not like you're limited to one assembler for all programs...

>John
-tony

Bristol University takes no responsibility for the views expressed in this
posting. They are the personal views of the user concerned.


From oddjob@cix.compulink.co.uk Mon May  9 10:31:43 EDT 1994
Article: 815 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!xanth.cs.odu.edu!lll-winken.llnl.gov!sol.ctr.columbia.edu!howland.reston.ans.net!pipex!sunic!EU.net!uknet!cix.compulink.co.uk!oddjob
From: oddjob@cix.compulink.co.uk ("Stephen Walters")
Subject: Yippee! more PDP-8e owners
Message-ID: <CpHnst.C6w@cix.compulink.co.uk>
Organization: Skills Unlimited              
Date: Sun, 8 May 1994 14:48:29 GMT
X-News-Software: Ameol
Lines: 12

I Consider myself quit lucky....I have a PDP 8/e with 12k words of CORE, 
ASR Teletype....a large collection of paper tapes and....the original 
sales brochure from 1972...used to sell it!!

Neat...What I would like to do is get the teletype, with it's paper tape 
reader to work...I have focal-8, os-8 and assorted assemblers....Ideally 
I'd like to upload the tapes to a PC (as a teletype replacement) and do 
away with the teletype all together.

Any suggestions?

oddjob@cix.compulink.co.uk


From oddjob@cix.compulink.co.uk Mon May  9 10:31:56 EDT 1994
Article: 816 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!xanth.cs.odu.edu!lll-winken.llnl.gov!sol.ctr.columbia.edu!howland.reston.ans.net!pipex!sunic!EU.net!uknet!cix.compulink.co.uk!oddjob
From: oddjob@cix.compulink.co.uk ("Stephen Walters")
Subject: Beginners guide to PDP 8 machine code
Message-ID: <CpHnsw.C7L@cix.compulink.co.uk>
Organization: Skills Unlimited              
Date: Sun, 8 May 1994 14:48:32 GMT
X-News-Software: Ameol
Lines: 5

Beginners guide to PDP 8 machine code

Does this exist.....is there a FAQ for this????

oddjob@cix.compulink.co.uk


From lasner@sunSITE.unc.edu Mon May  9 10:42:33 EDT 1994
Article: 817 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8 assemblers
Date: 9 May 1994 13:01:02 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 301
Message-ID: <2qlc6e$ocv@bigblue.oit.unc.edu>
References: <2qhsmr$7d3@usenet.rpi.edu>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <2qhsmr$7d3@usenet.rpi.edu>,
John Wilson <wilsonj@alum01.its.rpi.edu> wrote:
>I should know better than to say this (got in a flame war with cjl last
>time I did :-)

True!  So this time the entire world of alt.sys.pdp8 is gonna hear it :-)

> but, why is PAL-8 compatibility such a lofty goal?

Because it's a standard language.  I suppose that every time you wanted 
to write something in FORTRAN, you put your project on hold and instead 
decided what you personally didn't like about F66/F77/F8whatever, then 
spent untold hours coming up with a non-standard implementation of a 
compiler that no one else wants to use, *then* proceeded to write your 
original program in that newly-created incompatible language?

If the particulars of a project seem to indicate that there is a weakness 
in the otherwise language of choice, then it's good practice to get the 
job done anyway, and document what tedium it is to accomplish that sort 
of problem.  At a later time, you can consider mapping out or even 
implementing that which would have made the job (now done!) easier to do 
at the time.  Perhaps there will even be a next time where you'll get 
additional benefit from the effort.  Perhaps, in documenting it, others 
will see the wisdom of your variant design.  But in the mean time, by not 
getting the current project accomplished, you are internally 
side-tracking yourself, etc.

>  It's
>a pretty lame assembler, and it's not as if there are untold hundreds of
>megabytes of PDP-8 source code available to most of us, which it would
>be impossible to convert to a slightly different syntax.

Well, there aren't untold megabytes, but rather there are very-well-told 
megabytes!  In fact, we are starting to accumulate quite a bit of PDP-8 
source code.  I personally have over 1 million lines of code, and that's 
just from me over a 25+ year period.  Towards what end, assuming there 
was some purpose in doing so, is it useful to convert this stuff?

>  If you need
>PAL-8 compatibility, by all means use PAL-8.

No, I don't need PAL-8 compatibility; I need PAL-8 functionality.  I 
consider PAL-8 barely functional for my needs.  Often, it's getting in my 
way.

>  If some other assembler
>has sufficient advantages to make it worth using (like being a single-
>pass assembler,

I find no particular up-side to single-pass assemblers.  The time spent in
fixing up the forward references, possibly coupled with some load-time
consequences, I find to be of no advantage, rather, I find that it could
approach the more predictable "overhead" of a clean second-pass approach. 
Moreover, it means the listing has less info in it unless it's a
second-pass listing, which is what I do anyway when I need one.  Why would
I want a listing that differs from the binary (unless I want to do manual
calculations)? So, a one-pass assembler is just too quirky for me.  But 
there's a larger issue: a one-pass assembler lacking nothing else 
relative to PAL8 just doesn't exist!  Are you saying that PAL8 
compatibility must be avoided at all costs, even if it means I should 
drop everything and go write a one-pass asm that I also don't want?

> or having decent literals a la MACRO-10,

That's a very nice cute feature.  I would like it incorporated into PAL8, 
but I don't expect it to happen real soon.  In any case, it's not a high 
priority on my list of what I need an assembler to do.  I welcome it 
rather than require it.  However, note that this is one of those quick 
and dirty techniques (not the implementing of it, but rather the using of 
it!), and doesn't really apply to much of what I do.

> or producing
>relocatable output),

Relocatable output I consider a negative feature on the PDP-8.  This 
machine's address space is so small that I am "familiar" with every bit 
of storage.  A level of abstraction where the code goes where someone 
other than me is putting it there means I'm not exactly programming an -8 
anymore!  Others will argue against this.  However, they have a differing 
set of goals from me.  Their programs are also longer than mine for the 
same level of functionality, etc.  I don't share their enthusiasm for 
expediency either.

If you use a compiler of a high-level language, you have already 
abdicated caring about efficiency.  By all means use relocatable output; 
it makes the compiler design miles easier to achieve.  No one expects 
compiler-generated code to match the efficiency of hand-created code.  
But I write in -8 assembler, not in the assembler of an "almost" -8 whose 
addressing rules are relaxed somewhat, but only towards the goal of 
making a relocatable-oriented binary system, etc.

BTW, there is an assembler for the -8 called PAGE8.  Besides the fact 
that it has IBM/360-type syntax, it has a level of abstraction beyond the 
PDP-8.  It attempts to make the notion of pages of code go away by 
creating instructions you didn't ask for when necessary.  This is often 
done at quite a big expense of efficiency, and in some cases also in 
point of fact doesn't work!

In essence, PAGE8 picks up where "links" leave off.  Consider a short 
subroutine named FOO that for foolish reasons is being attempted to be 
written too close to the end of the page to entirely fit.  PAGE8 will in 
fact generate the code there anyway!  The only requirement internally in 
PAGE8 is that the following *actual* code fit on the end of the page:

FOO,	0			/THIS IS THE HEADER THE USER SPECIFIED
	JMP I	(BAR)		/PAGE8-GENERATED LINK TO USER CODE!
FOOBAR,	JMP I	FOO		/PAGE8-GENERATED EXIT INSTRUCTION!

	PAGE			/PAGE8-CREATED ORIGIN TO NEXT PAGE AFTER
				/LITERALS ARE DUMPED

	BAR=	.		/PAGE8-GENERATED DEFINITION OF USER CODE CONTINUATION!

/	THE BODY OF THE USER CODE GOES HERE

	JMP I	FOO		/**** WRONG! **** THE USER WANTS TO
				/RETURN TO THE MAIN CALLER

What the last instruction actually generates is JMP I (FOOBAR) back to the
JMP I FOO on the previous page!  Also, I think you can imagine what
happens when you want to parse in-line arguments!  You get ISZ I (FOO)
instead of ISZ FOO. Statements of the form TAD I FOO generate additional
small subroutine calls to routines back on the original page that also
then have to fit because they can only work if actually on the same page
as FOO,.  Note that each line of code independently creates a kludge.
There isn't an attempt to make a small subroutine that includes TAD I FOO
and ISZ FOO on the same page as FOO, etc. 

For the same reason as why links in fact don't work, all of this naive 
coding helpout doesn't work:

On an -8 with extended memory beyond 4K, you cannot introduce arbitrary 
indirectness into an instruction.  Unless you limit this strictly to JMP 
and JMS, it then depends on something the assembler has no control over, 
namely the DF register.  When the code is written as the user intends, he 
owns control of the DF and how to use it.  Sophisticated subroutine 
handling may define the DF as belonging to the caller from another field, 
or perhaps where the caller's field is imputed, it actually refers to the 
field where the arguments passed in-line pertain to, or perhaps some 
totally other arbitrary user-defined meaning.  In any case, the assembler 
has no business in this process.  All of this toy code generation 
trickery depends strictly on the notion that the DF is the same as the IF 
of the code being manipulated!

Even in PAL8, links are as braindead.  Consider the following sloppiness:

	*200

	CDF	10
	TAD	400

When executed, the DF is set to 1 when you get to 00201.  Stupid PAL8 
links created an actual TAD I 377 where 00377 contains 0400.  OF course 
this doesn't work because it adds the contents of 10400, not 00400!

If you allow links because you are too lazy to write in -8 code, and want 
the assembler to write "almost -8" code for you, you are then obliged to 
check if all of the lazy links actually are JMP or JMS type strictly.  
You either have a ticking timebomb waiting to go off, or you are spending 
more time hand-checking against the accidental introduction of unwanted 
code than could have been better put to use merely by avoiding the link 
feature altogether.  It's a whole lot easier to use JMS I (FOO) where you 
need to.

BTW, there is a useful P?S/8 extension to literals that aids in 
efficiency in this area.  Perhaps there is an issue that the use of the 
pointer to a commonly used subroutine warrants it being called as JMS I 
[FOO] instead of JMS I (FOO).  It's likely that you can further classify 
calls as either "dominant" or "passive" in the sense that earlier in the 
source, it is likely determined that there are enough callers to warrant 
it, but somewhat later in the source, this information is more needed to 
be known than immediately apparent "locally" etc.  Within P?S/8 there is 
a feature for this known as a "dependent" literal.  In essence, the 
dominant callers decide whether there should be a global page zero type 
JMS I [FOO] as opposed to JMS I (FOO).  The dependent routines use 
neither!  Instead, they use the syntax JMS I \FOO/ which generates either 
type according to the following:  If the page-zero literal already 
exists, use it.  If not, then create a current-page reference.  Thus, if 
there is enough usage to demand a global literal, it gets used 
accordingly.  Else, the normal rules of current-page literals (which 
might be locally reused!) apply, etc.

So, I will continue to avoid like the plague assemblers with features 
like PAGE8, while I have the dependent literal on my wish list for a PAL8 
upgrade.  Without the feature, I compromise and hand-determine which way 
to setup all the calls, etc.  With today's good choice of powerful 
editors, this isn't really too much work fortunately, etc.

> then presumably you've weighed these advantages
>against the fact that the author liked ".=" or "LOC" better than "*",
>or wanted to use ".END" instead of "$", or whatever, before deciding
>to care one way or another.

I really couldn't care less about this part.  Here's a few reasons why:

1)	Making a distinction without a difference is pointless.  
So-called "modern" compiler writers should take heed of this!

2)	There are no such assemblers for the -8.  I specifically dismiss 
from the list any toy programs anyone has written over the years that are
useless to me because of the lack of the meat-and-potatoes features that 
I find even PAL8 a little too lean in, etc. (I have had to write 
non-portable code in P?S/8 PAL merely because it was the only way!  
Literally all other assemblers simply lacked the features to describe the 
program structure I was creating at the conceptual level.  In point of 
fact I had an obligation to make the program PAL8-compatible so it could 
be developed from OS/8, so I spent drudgery time hand-modifying working 
code to down-grade the source so PAL8 could actually assemble it 
correctly, etc.  If there is sufficient interest, I can elaborate on this.)

>
>I've about had it with "compatibility" in the PC world, who needs it
>in PDP8-land.  

If this is what's ailing you, then I understand.  But what the complaint 
is not what you said, but rather what is, is that there is *claimed* 
compatibility, but actually a promise not delivered.

Actually, there are two issues here.  MASM is a braindead assembler.  Who 
*wants* to be compatible with it!  Look at some PC code: most of it 
starts with an inefficient jump around data.  The reason is that the 
inefficiency in that initial jump is a sacrifice so that the other data 
doesn't fall prey to the same thing.  A more user-oriented data structure 
would put the data last perhaps, but to do so would make even more code 
inefficient.  (MASM always assumes jumps are a long-form.  When the code 
is fixed up, then a NOP occupies the wasted byte after the short jump, 
etc.  Thus, the lone wasted byte.  But at least the references to the 
rest of the data are forward this way, etc.)  In effect, MASM cannot 
create at the source level what you can hand-assemble and run from 
DEBUG.  However, there fortunately is no PDP-8 parallel to this nonsense.

The other issue is that Borland's product claims are exaggerated.  Only 
with effort is it true.  Thus, you got stung by claimed compatibility 
never fully delivered.  So, you have to either use MASM, or accept TASM 
as a different product with a different set of tradeoffs.  One could 
almost see this as a parallel to wanting to be compatible with PAL8 to 
avoid this sort of problem!  In any case, please separate the arguments 
of compatibility and fraudulent claims of compatibility, etc.

> When I got TASM the box said "100% compatible with
>MASM V4.0 and V5.1" on it, and the first program I tried it on (which
>assembled without errors under MASM V5.1) triggered many dozens of
>error messages.  It took me about a day to get it conditionalized so
>that both assemblers would like it.  Why bother?  I'd much rather make
>a clean break and blow off compatibility in favor of correcting some
>of the basic sillinesses in MASM's design. 

I totally agree.  Fortunately, we don't have this dreadful a situation on 
the PDP-8!

> If I found (or wrote) an
>assembler that did all these things right, I'd gladly spend a week
>or two reediting all my programs (probably with a lot of help from
>a simple BASIC program, like the syntax would really be that different)
>to use the better assembler.

You are seriously underestimating the situation here.  All of your 
programs are a proverbial drop in the bucket compared to what fills the 
PDP-8 pail.  And again, unless you offer some compelling reason to switch 
beyond different for difference's sake, what's the point?

>
>And as Doug pointed out, if your goals are modest why sweat over the
>assembler?

IF that's truly true, then you are right.  However, why encourage 
mediocrity?  Perhaps if the right tools are available, someone will 
actually write non-trivial programs for the -8.  By having only mediocre 
tools, you are guaranteeing the results.

>  I wrote a lousy PDP-8 cross assembler when I was a freshman
>(and had unlimited free electricity!) so that I could upload code from
>my PDT-11/150 into my PDP-8/E, and the only neat thing about it was that
>it worked at all (my PDP-8 peripherals were all 150 miles away so so
>much for PAL/D), but so what?  

So what you are saying is that you had a toy project that included 
writing a toy assembler?  So what?  Indeed that's fine if that's the 
scope of it.  Besides, who would even want to deal with PAL/D which is 
the TSS8 dog assembler with no useful features anyway.  Lotsa people had 
input into PAL8 to correct a lot of the "sins of the past" such as 
PAL/D.  (I personally specified RELOC without which most of mine and 
others' work couldn't get done.  In fact, I'll go further: without RELOC 
I refuse to use PAL8!)

>I *like* to put dots on the beginning
>of ".TEXT" and ".PAGE", and I consider generating a BIN "org" record
>for every "*" command even if no data are generated to be a bug, not
>a feature, but no one else will ever use the assembler anyway.

Your personal preferences for the names of petty features aren't an issue 
to me beyond the reasons stated above.  I find it far more rewarding to 
adapt to a universal standard language than to bitch about cosmetics.  
More important to ensure the useful features that "matter" are present.

>
>John


cjl


From lasner@sunSITE.unc.edu Mon May  9 10:44:36 EDT 1994
Article: 818 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Date: 9 May 1994 13:37:01 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 81
Message-ID: <2qle9t$i93@bigblue.oit.unc.edu>
References: <2qaf7c$scm@bigblue.oit.unc.edu> <2qb1rl$eb6@nexus.uiowa.edu> <2qimlr$rq4@bigblue.oit.unc.edu> <CpHnE1.7I7@sed.csc.com>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <CpHnE1.7I7@sed.csc.com>, Bob Smith <bob@sed.csc.com> wrote:
>In CJL's last post on this article (at the time of my post), he does his
>best to say: All of your stuff has been done before, there are better
>ways, none of this is original, and CJL can do better.

This is simply not true!  I think it's great that a science fair project 
in 1994 involves the -8!  I hope there's a whole lot more of things like 
this!

As to the comments on programming technique, all I am encouraging is 
constructive criticism.  Doug is a self-proclaimed -8 programming 
novice.  I thought it was a good opportunity to show how his code could 
be tweaked in various ways for his benefit., as well as anyone else who 
cares to see the distinctions, etc.

Of course I can do it better, so what?  Is this a contest?  Others can 
also do it better, so what?  There are others who can do it better than 
me, so what?  Hopefully with some additional experience, Doug himself 
will do it better.  That's a goal for my posting, etc.

>
>While all of his comments MAY BE true, I say that it is time to
>focus on what this effort is all about: FUN.  The fun of seeing something
>work.  The fun of seeing how you (the individual) can do something,
>the fun of learning how to do it even if someone else has already done
>it a similar way or even a better way.

I totally agree.  How do you think the tricks of the -8 were developed in 
the first place?  Personally, I think there are still many more to be 
learned for all of us.

When I learned programming, the authoritarian types spouted party-line 
nonsense such as the old saw that to check if a number is in a range, you 
have to do a double-compare, first to see if it's greater than a lower 
bound, and then less than an upper bound.

Since I initially didn't know any better, I followed their false notion.  
One day I was staring at someone else's code and saw that this is wrong: 
on the -8, if you setup the link before you check a range, it flips/does 
not flip according to if the number is in range!  And as a useful side 
effect, you get the relative list position in the ac as a bonus.  This 
revelation blew me away!  I really learned an important concept from 
another person.  It would have been real helpful if that person was 
available to me and was telling it to me.  I would have been writing far 
better code far sooner if enough of that sort of guidance had been 
available, etc.

>
>There is a bit of life left in the old 8's.  There is still more
>fun left in them if we can give each other credit for trying, gently 
>coach and mentor with ways of doing things differently, and ENCOURAGE
>EVERYONE to try.

Which is exactly what I am attempting to do!

>
>The logical thinking process that gets a program to work or a piece of
>hardware to work is only part of it.  The individual stamp, the artistry
>if you will, should not be squelched by any of us.  If advice is sought,
>it should be freely given.  If some one is letting us know that 
>they have accomplished something of note to them personally, we all
>should enjoy, not just for them or with them but for our selves as
>we remember or premeber how will did or will do something similar.

Doug posted his code here for all of us to see.  He isn't doing so to win 
prizes for best of -8 code awards :-).

>
>There are way to impart information that do not detract from an
>individual's effort.  There are destructive ways of attempting to
>do the same thing.  Let's make this fun.

I totally agree.  But I think you are alone in the way you mistook this.  
I think Doug's reactions differ.  And since he was the "prime target" I 
think we should let him decide.  In any case, this is a fun thing, and it 
should be that way, etc. :-)

>bob 

cjl


From lasner@sunSITE.unc.edu Mon May  9 10:47:03 EDT 1994
Article: 819 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Date: 9 May 1994 14:17:04 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 125
Message-ID: <2qlgl0$g3t@bigblue.oit.unc.edu>
References: <2q8b86$7de@nexus.uiowa.edu> <2qaffs$ggi@bigblue.oit.unc.edu> <2qcsps$9g5@bigblue.oit.unc.edu> <8MAY199415370720@siva.bris.ac.uk>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <8MAY199415370720@siva.bris.ac.uk>,
PDP11 Hacker ..... <ard@siva.bris.ac.uk> wrote:
>In article <2qcsps$9g5@bigblue.oit.unc.edu>, lasner@sunSITE.unc.edu (Charles Lasner) writes...
>>In article <5MAY199414541733@siva.bris.ac.uk>,
>>PDP11 Hacker ..... <ard@siva.bris.ac.uk> wrote:

>[Doug's C cross-assembler]
>>>What does it fail on? It's surely OK for cross-assembling little test programs,
>>>and at least I get the source.

>>Full-blown PDP-8 assemblers are few and far between.  Most people who 
>>have written viable PDP-8 cross assemblers haven't gotten it quite right, 
>>or are just missing important features, etc.  Unlike some other lame 
>>assemblers, the PDP-8 assembler depends on certain quirks that have been 
>>around for decades, and the programs that exist depend on the nuances, etc.

>Could you please post some examples of these quirks. It would be interesting to
>see what the programmers got up to.

I could dig up some relevant examples, but I suspect you would do better 
to just look at some example programs.  In any case, a "complete" -8 
assembler depends on a whole bunch of inter-dependent characteristics 
that make the difference between a toy and something more useful than for 
just getting a little binary from a little source.  Some of this is 
documented in the relevant manuals, but even they leave some things out, etc.

>>Of course, what good is it to you to have the source of the assembler 
>>written in itself without a system to run it on?  (And if you have the 
>>system itself, you have no immediate need for the assembler's own source, 
>>unless you want to study/modify the assembler itself!)

>Actually, I would be interested in studying the assembler. The reason I run all
>the old machines that I do is to learn about computers, how they work (both
>hardware and software), and also to learn from the mistakes. Reading software
>source code is a great way to do this.

I agree.  But without a complete -8 assembler to read, what little is 
gained from an incomplete attempt at an -8 assembler will only show 
another point of view on how not to write one!  Also, remember that this 
is a language processor.  You are not only dealing with syntax issues, 
but also the assembler itself is interfaced to an operating system, and 
of course the whole thing is PDP-8-specific code to implement the thing.

>>(Remember, most PDP-8 software is written in assembler!)


>>>Surely that means I need an assembler than runs on a PDP8 (if it is to run on
>>>an emulator). In that case, I could run the assembler on my PDP8. Is such an
>>>assemblerr available anywhere. I'm afraid I don't really know what PDP8
>>>software is out there - I've just got the machine and so far I've only run one
>>>program and that was from the maintenance manual, just to check that most of
>>>the hardware was working.

>>No, you don't have a machine yet.  You have a CPU only.  The dominant 
>>software isn't for a CPU with a little memory.  You need a disk device 
>>and a terminal, and preferably a line-printer.  Add an extra serial line 
>>and you can run Kermit, etc.  In any case, all but the extra serial line 
>>is needed to run the assembler; delete the LPT: only if you don't want 
>>paper listings, etc.

>Hmmm. I have a little more that just the CPU and memory. I _think_ my current
>list of options is : 
>PDP8/e CPU
>Timeshare/extended address board
>32K core (4 off 8K 3-board sets)
>Line-frequency Clock 
>3 serial ports (M8655?)
>1 LS8E (Is that a printer port)
>1 RK8 (No drives yet, but I can 'borrow' an RK05 off my PDP11 if necessary).

>I also have (non-working I think) a further serial port and a second RK8E.

>The only thing I am missing is the EAE board set, but presumably some software
>will run without that installed.

Sorry, but as the phrase goes, close, but no cigar!  Clearly you are 
heading in the correct direction, but until you are there, you are no 
closer than just CPU and memory as far as a development environment goes.

>I am still testing things up at the moment, but I will get it all working...

I hope so!  At that point you have enough to start using real code 
without an emulator.

>>So, start with an emulator.  When you get a whole machine together, you 
>>can run the same software on both the real hardware and on the emulator.  
>>Perhaps you'll even outgrow the need to have an emulator at all!

>I'd much rather fix up the hardware and run the programs on the 'right'
>machine. Somehow, a PDP8 without a front panel doesn't seem right :-)


I agree.  But I already have lotsa in-place hardware already doing it.  
Yet curiously I find myself primarily typing on DECmates for development 
as a more "personal" environment.  Then I use Kermit to finalize the 
program on the -8.  However, on the -8 I have plenty of development tools 
available as well, so often the version that comes back to the DECmate is 
itself edited and sent back, etc.

My -8 has more than just lights and switches, it also has a hardware 
breakpoint module.  For some problems, this is invaluable and has bailed 
me out more than once!

>>>-tony

>>>Bristol University takes no responsibility for the views expressed in this
>>>posting. They are the personal views of the user concerned.


>>cjl

You will be needing a way to get OS/8 to your machine if you haven't done 
that already.  It would help if you can at least borrow an RX01/02 for 
that purpose so someone can mail you a starter system.  Beyond that, the 
net can get you what you need, etc.  Unfortunately, we don't have 
presently any software to download an O/S at an -8 that is "empty" :-(.  
(Note: Kermit-12 includes a facility to get *it* up on a "bare" OS/8 system!)

>-tony

>Bristol University takes no responsibility for the views expressed in this
>posting. They are the personal views of the user concerned.

cjl


From lasner@sunSITE.unc.edu Mon May  9 10:47:39 EDT 1994
Article: 820 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8 assemblers
Date: 9 May 1994 14:30:32 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 44
Message-ID: <2qlhe8$amt@bigblue.oit.unc.edu>
References: <2qhsmr$7d3@usenet.rpi.edu> <8MAY199415450361@siva.bris.ac.uk>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <8MAY199415450361@siva.bris.ac.uk>,
PDP11 Hacker ..... <ard@siva.bris.ac.uk> wrote:
>In article <2qhsmr$7d3@usenet.rpi.edu>, wilsonj@alum01.its.rpi.edu (John Wilson) writes...
>>I should know better than to say this (got in a flame war with cjl last
>>time I did :-) but, why is PAL-8 compatibility such a lofty goal?  It's

>I fully agree with you. The reason I wanted Doug's assembler was not to avoid
>getting a real assembler/operating system/disk for my PDP8e, but to assemble
>little test programs to sort out the hardware that I've got, so that I know it
>will work correctly. It sure beats hand-assembling :-)

Totally agree with that.  Never was an issue.  John Wilson is really 
raising other issues answered elsewhere, etc.

>Incidentally, I know it's a cause of flames to mention PC's on this newsgroup,
>but Doug's assembler will compile and run (I think correctly) under Microsoft
>QuickC v2.5 on a PC. No changes needed.

It's good to know that it will run on a PC.  In case it gets to be a 
"real" assembler some day :-).

>>a pretty lame assembler, and it's not as if there are untold hundreds of
>>megabytes of PDP-8 source code available to most of us, which it would
>>be impossible to convert to a slightly different syntax.  If you need

>Most of these sytanx changes can be fixed by running sed on the source file,
>and then fixing up any errors that come on assembly. OK, so it would be a pain
>for something like an operating system source, but in that case, why not use
>PAL8. It's not like you're limited to one assembler for all programs...

No good.  Name this mythical assembler that has the functionality, but 
only achieved using incompatible syntax.  John is referring to incomplete 
projects that happen to have pet features that he finds useful while they 
leave out functionality found elsewhere, such as in PAL8.

>>John
>-tony

>Bristol University takes no responsibility for the views expressed in this
>posting. They are the personal views of the user concerned.

cjl


From jones@pyrite.cs.uiowa.edu Mon May  9 17:26:53 EDT 1994
Article: 821 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8 assemblers
Date: 9 May 1994 15:09:55 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 37
Distribution: world
Message-ID: <2qljo3$ojt@nexus.uiowa.edu>
References: <2qlhe8$amt@bigblue.oit.unc.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <2qlhe8$amt@bigblue.oit.unc.edu>,
by lasner@sunSITE.unc.edu (Charles Lasner):
> In article <8MAY199415450361@siva.bris.ac.uk>,
> PDP11 Hacker ..... <ard@siva.bris.ac.uk> wrote:
>>In article <2qhsmr$7d3@usenet.rpi.edu>,
>>wilsonj@alum01.its.rpi.edu (John Wilson) writes...
>>>I should know better than to say this (got in a flame war with cjl last
>>>time I did :-) but, why is PAL-8 compatibility such a lofty goal?  It's

We're not really trying to construct the longest USEnet thread in history,
are we?  This silly flamewar is rediculous!

1) Of course, full compatability with PAL 8 is desirable.  One of our
ultimate goals should be to create a source-level archive of all the
PDP-8 software we can get.  Source archives are far less fragile than
binary archives -- look what happened to that poor fellow who posted
in alt-folklore-computers when his data was converted from EBCDIC to
ASCII by someone who didn't know that it contained binary data as well
as text; odds are, he'll never recover the binary data!

Given a source archive and a decent portable cross assembler, you can
reconstruct the software you want and use it to rescue and rebuild a
system with nothing left functioning.  This can be particularly important
with diagnostics, where source listings would be particularly useful!

2) All I said was that I was in no hurry to produce a fully compatable
cross assembler.  Why the arguments about whether such compatability is
a worthy goal?

3) My assembler doesn't support conditional assembly, but other than that,
it appears to be source-level compatable with PAL.  The listing format
is mildly incompatable, it screams way too loud about off page references
(but assembles them correctly), and it is limited to a 32K memory model.
I'll probably put in conditionals someday.

					Doug Jones
					jones@cs.uiowa.edu


From ard@siva.bris.ac.uk Mon May  9 18:29:26 EDT 1994
Article: 822 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!solaris.cc.vt.edu!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!EU.net!uknet!warwick!bsmail!siva.bris.ac.uk!ard
From: ard@siva.bris.ac.uk (PDP11 Hacker .....)
Subject: Re: PDP-8's in the schools
Message-ID: <9MAY199417524974@siva.bris.ac.uk>
News-Software: VAX/VMS VNEWS 1.41    
Sender: usenet@info.bris.ac.uk (Usenet news owner)
Nntp-Posting-Host: siva.bris.ac.uk
Organization: University of Bristol Physics Department
References: <2q8b86$7de@nexus.uiowa.edu> <2qaffs$ggi@bigblue.oit.unc.edu> <2qcsps$9g5@bigblue.oit.unc.edu> <2qlgl0$g3t@bigblue.oit.unc.edu>
Date: Mon, 9 May 1994 16:52:00 GMT
Lines: 124

In article <2qlgl0$g3t@bigblue.oit.unc.edu>, lasner@sunSITE.unc.edu (Charles Lasner) writes...

[Quirks in PAL8 code]

>I could dig up some relevant examples, but I suspect you would do better 
>to just look at some example programs.  In any case, a "complete" -8 
>assembler depends on a whole bunch of inter-dependent characteristics 
>that make the difference between a toy and something more useful than for 
>just getting a little binary from a little source.  Some of this is 
>documented in the relevant manuals, but even they leave some things out, etc.

OK. Please point me at the example programs. Are they on an ftp site anywhere?
I would like to see one such characteristic, preferably undocumented, that
could cause problems.

[Is the source to an assembler useful]
>I agree.  But without a complete -8 assembler to read, what little is 

There seems to be 2 issues here
a) Doug's assembler came with source, so that I could trivially compile it on a
PC and use it to assemble little test programs to sort out my 8/e's hardware
b) I would be interested in seeing the source to a 'real' PDP8 assembler, so
that I can see how it was written, and how it works, and what quirks it
expresses.

>gained from an incomplete attempt at an -8 assembler will only show 
>another point of view on how not to write one!  Also, remember that this 
>is a language processor.  You are not only dealing with syntax issues, 
>but also the assembler itself is interfaced to an operating system, and 

Surely an assembler translates assembly code into machine code. The OS it runs
on to do this (if in fact there is an underlying OS - standalone assemblers
have existed) is irrelevant. Why does a PDP8 assembler have to run on a PDP8?
Why can't a proper, compatible, one run on UNIX, VMS, MS-DOS, or whatever other
OS you care to name.

>of course the whole thing is PDP-8-specific code to implement the thing.

Again, I fail to see why it has to be PDP8 code.

[My PDP8e - >> line are mine]
>>Hmmm. I have a little more that just the CPU and memory. I _think_ my current
>>list of options is : 
>>PDP8/e CPU
>>Timeshare/extended address board
>>32K core (4 off 8K 3-board sets)
>>Line-frequency Clock 
>>3 serial ports (M8655?)
>>1 LS8E (Is that a printer port)
>>1 RK8 (No drives yet, but I can 'borrow' an RK05 off my PDP11 if necessary).
> 
>>I also have (non-working I think) a further serial port and a second RK8E.
> 
>>The only thing I am missing is the EAE board set, but presumably some software
>>will run without that installed.
> 
>Sorry, but as the phrase goes, close, but no cigar!  Clearly you are 
>heading in the correct direction, but until you are there, you are no 
>closer than just CPU and memory as far as a development environment goes.

I have the maintenance manual, printsets, and enough test equipment to turn
some members of this group the colour of a PDP12 :-). Every component in the
system I can either get or have in my junk box. I repair PDP11's, PERQs, and
P850s, no problems. There is no question as to whether I will get the rest of
the hardware running. In the meantime I was going to try and find out what
software was available, and how to get it, for the time when I finally got it
all together.
However, if I do run into problems, please remind me not to post to this group
as I shall probably get a flame for not having a GenRad board tester, like DEC
used to use.

[Emulators]
>I hope so!  At that point you have enough to start using real code 
>without an emulator.
Just out of curiousity, what sort of machine do I need to run a PDP8 emulator,
and where can I get the emulator from? 

[Real hardware vs emulators]
My aim in all this has been simple : To fix up the PDP8/e, get a terminal and
disk drive on it, and then to run some software. I'm not particularly
interested in running PDP8 code on anything else. So, when I saw that a PDP8
cross assembler was available, I thought it might be a way of saving a lot of
hand assembling for little test programs. Simple as that.

> 
>My -8 has more than just lights and switches, it also has a hardware 
>breakpoint module.  For some problems, this is invaluable and has bailed 
>me out more than once!

I could probably do something similar by clearing the run f/f with the trigger
output from my logic analyser.

> 
>>>>-tony
> 
>>>>Bristol University takes no responsibility for the views expressed in this
>>>>posting. They are the personal views of the user concerned.
> 
> 
>>>cjl
> 
>You will be needing a way to get OS/8 to your machine if you haven't done 
>that already.  IT would help if you can at least borrow an RX01/02 for 

No, I have no operating systems. I have plenty of RX01's and RX02's, but only
UNIBUS and QBUS controllers. Unfortunately, the schematics (or theroy of
operation) of the RX8 and RX28 where not in the pile of PDP8 and PDP12 manuals
that came with my machine.

>that purpose so someone can mail you a starter system.  Beyond that, the 
>net can get you what you need, etc.  Unfortunately, we don't have 
>presently any software to download an O/S at an -8 that is "empty" :-(.  
>(Note: Kermit-12 includes a facility to get *it* up on a "bare" OS/8 system!)

Wasn't there a way to load OS-8 from paper tape. I have a real ASR33 if that's
the way to go...

>cjl
> 
-tony

Bristol University takes no responsibility for the views expressed in this
posting. They are the personal views of the user concerned.


From ard@siva.bris.ac.uk Mon May  9 18:59:51 EDT 1994
Article: 823 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!corpgate!news.utdallas.edu!chpc.utexas.edu!cs.utexas.edu!howland.reston.ans.net!pipex!warwick!bsmail!siva.bris.ac.uk!ard
From: ard@siva.bris.ac.uk (PDP11 Hacker .....)
Subject: This silly flamewar
Message-ID: <9MAY199419233906@siva.bris.ac.uk>
News-Software: VAX/VMS VNEWS 1.41    
Sender: usenet@info.bris.ac.uk (Usenet news owner)
Nntp-Posting-Host: siva.bris.ac.uk
Organization: University of Bristol Physics Department
Date: Mon, 9 May 1994 18:23:00 GMT
Lines: 44

As I seem to be the start of this current stupid flamewar, maybe I should put a
few points in my defence....

Firstly, Lets look at the hardware. I've just rescued a PDP8e that was
otherwise going for scrap. This is my first real PDP8, my only other contact
with them being a DECmate 2 that I'd bought 1 week earlier and had done nothing
to. So, I get this machine home, sort out a problem with the PSU, get it to run
a simple program. I have no peripherals, no software. I know I need to remedy
this. So, I post to alt.sys.pdp8, and am flamed for not having a fully working
system. I've only had the machine for a week, and only worked on it at
weekends. Surely you don't have to have a full system, with every possible
option, to post here. Shouldn't we be encouraging the repair/rescue of the old
machines, however little they have on them. I know that if I was offered a
straight-8, no matter what the configuration, I'd jump at the chance...

Now lets look at the real flamewar - namely the assembler.
I understand that PAL-8 is the standard. I'd love to run PAL-8 on my system,
but until I get a disk and terminal up and running, I am unable to do so. My
first priority is to fix the remaining parts of my system. Now, I see this post
mentioning a C cross assembler. I think that this might be a way of building
little test programs to test the RK8 etc. Nothing more - as soon as I get the
machine working, I'll try and get some real software. So, I ask about it, and
am treated to a flame war. 

I've been computing long enough to know that compatability with the 'standard'
is not the only goal. What about all the CP/M systems with Z80's, whose
assemblers either used Ziolg mnemonics or Intel mnemonics. What about all the
FORTH assemblers. Useful work is done with all of these. In the HP saturn (the
calcuator CPU used in the 71, 18,19,28,48 etc series) world there are 2
completely different sets of mnemonics, and the assemblers for them have
totally different features. If you are building some HP code, you need an
HP-compatable assembler, sure. But the other mnemonics are somewhat more
logical, and some programmers prefer to use them. So What. Use whatever you
like

Much has been posted about the PAL-8 compatability, but I've yet to see one
example of the quirks that keep on being mentioned. What exactly are they? Why
do other assemblers break? Let's have some facts

-tony

Bristol University takes no responsibility for the views expressed in this
posting. They are the personal views of the user concerned.


From jones@pyrite.cs.uiowa.edu Mon May  9 19:00:29 EDT 1994
Article: 824 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: GenRad board tester
Date: 9 May 1994 19:14:37 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 19
Distribution: world
Message-ID: <2qm22t$1u1@nexus.uiowa.edu>
References: <9MAY199417524974@siva.bris.ac.uk>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <9MAY199417524974@siva.bris.ac.uk>,
by ard@siva.bris.ac.uk (PDP11 Hacker .....):
>
> ... for not having a GenRad board tester, like DEC used to use.

You want one?  I happen to know where most of one is sitting right now,
begging for a new owner.  I bought the high speed reader and punch from
it, but the GenRad backplane is still there.

(My tongue is in cheek, I'll admit.  I actually believe I have a stack
of far more useful boards I got from the U of Iowa Psych Department,
opto-isolated 36 bit out, 24 bit in parallel I/O boards.  These look
like they'd make great test interfaces!)

I'm tempted by the old GenRad hardware just as a source of muffin fans,
5 volt power supply, and misc socketed chips (since all its chips are
socketed).
				Doug Jones
				jones@cs.uiowa.edu


From jones@pyrite.cs.uiowa.edu Mon May  9 19:32:41 EDT 1994
Article: 825 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!convex!cs.utexas.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: This silly flamewar
Date: 9 May 1994 19:35:46 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 61
Distribution: world
Message-ID: <2qm3ai$2p2@nexus.uiowa.edu>
References: <9MAY199419233906@siva.bris.ac.uk>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <9MAY199419233906@siva.bris.ac.uk>,
by ard@siva.bris.ac.uk (PDP11 Hacker .....):
> 
> Much has been posted about the PAL-8 compatability, but I've yet to
> see one example of the quirks that keep on being mentioned.

Quirks rarely center on the basic instructions (ADD, TAD, etc).

It's in the area of pseudo-ops that odd stuff happens.  If it was
just a matter of getting listings right (for example, odd handling
of XLIST, which toggles listing generation), it wouldn't be too bad,
but getting the following wrong can make a good program under one
assembler turn into pure nonsense on another:

	ENPUNCH -- turn on binary (object file) output
	NOPUNCH -- turn off binary output
			Do these nest or does the first ENPUNCH
			after a sequence of NOPUNCHES undo the
			effects of all of them.

	I -- indirect (as in TAD I WHIZZO)
	Z -- page zero (as in TAD Z WHIZZO)
			Are I and Z just constants?  If not, what
			special semantics do they have?

	IFDEF
	IFNDEF
	IFZERO
	IFNZRO -- conditional assembly.
			How do conditional assembly directives nest.
			If a closing bracket is found in a comment,
			is it ignored or does it close the conditional.

	EXPUNGE -- clear the symbol table of all but pseudooperations
	FIXTAB -- mark all symbols as permanent
	FIXMRI -- define a new memory reference instruction mnemonic
			How do these interact?
			How do these interact?

	RELOC -- assemble code into one location that will run in another.
			There are a multitude of ways to get this wrong,
			particularly when it comes to the effects of
			consecutive RELOC pseudoops -- is the effect
			cumulative?  How does it accumulate?

Most of these quirks are of no importance at all for the purposes you and
I envision for the kind of cross assembler I wrote -- downloading simple
little test programs rarely involves any of these!  On the other hand,
after I get around to getting my RX01 drives working, I'll be looking for
an operating system.  If I have to assemble something like OS8, it'll
likely require full compatability with the above.

I have full source listings of a number of 1960's vintage paper-tape
tools for the -8, and I'd like to scan them into machine-readable form
and then try assembling them (this is practical!  We tried a test scan
of a few pages of the old 4K Fortran system, and Kurzweil Reading Machine
could indeed read the smudgy old line-printer characters).  Again, a
fully compatable assembler is what I need for such a job.

					Doug Jones
					jones@cs.uiowa.edu


From lasner@sunSITE.unc.edu Mon May  9 19:33:42 EDT 1994
Article: 826 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Date: 9 May 1994 22:28:39 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 301
Message-ID: <2qmden$oad@bigblue.oit.unc.edu>
References: <2q8b86$7de@nexus.uiowa.edu> <2qcsps$9g5@bigblue.oit.unc.edu> <2qlgl0$g3t@bigblue.oit.unc.edu> <9MAY199417524974@siva.bris.ac.uk>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <9MAY199417524974@siva.bris.ac.uk>,
PDP11 Hacker ..... <ard@siva.bris.ac.uk> wrote:
>In article <2qlgl0$g3t@bigblue.oit.unc.edu>, lasner@sunSITE.unc.edu (Charles Lasner) writes...
>
>[Quirks in PAL8 code]
>
>>I could dig up some relevant examples, but I suspect you would do better 
>>to just look at some example programs.  In any case, a "complete" -8 
>>assembler depends on a whole bunch of inter-dependent characteristics 
>>that make the difference between a toy and something more useful than for 
>>just getting a little binary from a little source.  Some of this is 
>>documented in the relevant manuals, but even they leave some things out, etc.
>
>OK. Please point me at the example programs. Are they on an ftp site anywhere?
>I would like to see one such characteristic, preferably undocumented, that
>could cause problems.

Ask Doug for a smattering of these.  He had to re-implement his 
assembler's reckoning of some of the common problem situations until it 
worked correctly.  Otherwise, what you are asking for is a spec on how to 
implement the language, which I guess I'm the tapped person to write it, 
etc.  I will get to it, but it's gonna take some time for a complete spec 
and wish-list.  But I will say for now, that it will be quite picky on 
points often ignored in other machines.

In any case, I'll try to give an example of what the assembler gets used 
for that perhaps breaks most attempts.  By the end of this, the only 
assembler left standing will be P?S/8's.

Problem: We are going to write an overlay.  It needs to use current page 
literals for itself (in each of its pages) and also has the right to use 
page zero literals of what page zero looks like at the time this gets 
loaded off of a disk block back into absolute memory locations as defined 
at assembly time.  Additionally, both the relevant page-zero literal 
table and the overlay itself are not where they would be loaded later, as 
this program we are writing is actually the generator of the overlay 
etc., and thus this "real" program is running in a normal binary space 
and has its own aspects to be concerned about just to get the overlay 
written to the disk.  Thus, this program needs to know the loading 
address of the overlay as it exists in memory right now, "next to" the 
program that will do the writing.  Yet, the assembler has to correctly 
assemble the overlay itself as if being executed in the place where the 
overlay later gets loaded back in when called up, etc.

To accomplish all of this, the assembler has to support RELOC so that the 
source origin deliberately is not the same as the binary one.  The 
relocation has to be cumulative so that the page zero literals can be 
offset differently from the current page code.

Additionally, the literal generation method has to keep track of the 
extent of literals on each current page, as well as page zero.  According 
to standard rules, when you leave a page, the extents of both the code 
and literal dump are remembered, so that re-enterring the page can be 
accomplished with full checking of literal table/code collision, etc.  
(Of course the literals themselves are dumped, so that redundant literal 
generation could occur!)  However, we need to be able to disable this 
remembrance altogether for this program, since the program space seems to 
be redundant to the overlay space or vice-versa.  As a concession to the 
assembler, we are willing to not re-enter pages once leaving them.

PAL8 can accomplish all of the above, as long as they are all in the same 
field.  Only P?S/8 PAL can do it should the data be loaded into two 
different fields.  Considering that this is an overlay, that's entirely 
possible!  (One uses overlays because all of the available space is 
filled, and swapping in is feasible.  Thus, the binary definition of 
where to load the overlay for write-out/generation purposes to get it to 
the disk would easily require the use of memory space outside of the 4K 
field where the program that gets overlayed would have to be created, etc.)

The reason P?S/8 PAL can accomplish this is because beyond PAL8's 
capability, P?S/8 PAL includes a dynamic option to prevent the page-zero 
literal table from being dumped during a field change.  Thus, up to 7 
additional entire fields of overlays can be created over a 4K base 
program in a 32K development environment, all stages sharing the 
page-zero literal area in an equitable way.

I actually had to do this once to create an application that was a 
real-time system which swapped in some analysis tools.  The rest of 
memory was occupied either by data or code in 32K, so overlaying was the 
only option.  Since the disk calls were P?S/8-specific, it could only be 
done there for execution purposes also.  However, by using OS/8 
conventions, it could have easily been made runnable from OS/8 only, yet 
OS/8 couldn't assemble it.

I once had a similar application of these principles, but for a totally 
different application.  Additionally, it had to be run from OS/8.  So, 
after it was completed, we had to go back and identify by hand all 
page-zero literals in both the overlays and the base code, and delete 
them by effectively doing kludges like

	Z100=	[0100]
	Z20=	[0020]

Then changing all of the references from something like:

	AND	[100]

to

	AND	Z100/[100]

Note the commented-out attempt at a literal to remind us of what we would 
have liked to do, but couldn't!

So, in effect, we removed all of the literals from page zero!  As the 
base code is dumped, so is the page zero literal table.  Then the 
overlays are on their own to reference the Z-constants.  So, instead of 
the assembler working for us, we worked for the assembler!

Code that is relocated affects the way the assembler listing is created.  
There is an asterisk next to any relocated address, since it's showing 
the source reckoning, not the binary reckoning.

BTW, (John Wilson, are you listening?) some utilities look at sequences of
deliberate origin settings in files to validate them.  (I think this
includes TSS8.) Thus, it's necessary that origins be under the control of
the programmer.  There is even an option to enable/disable the automatic
*200 that comes just after a field setting.  Also, there are the NOPUNCH
and ENPUNCH pseudo-ops used to establish overall controll.  This can be
useful to be a poor man's RELOC as long as literals aren't being used, or
to create dummy sections in a program merely to create definitions, but no
actual binary. 

>
>[Is the source to an assembler useful]
>>I agree.  But without a complete -8 assembler to read, what little is 
>
>There seems to be 2 issues here
>a) Doug's assembler came with source, so that I could trivially compile it on a
>PC and use it to assemble little test programs to sort out my 8/e's hardware
>b) I would be interested in seeing the source to a 'real' PDP8 assembler, so
>that I can see how it was written, and how it works, and what quirks it
>expresses.
>
>>gained from an incomplete attempt at an -8 assembler will only show 
>>another point of view on how not to write one!  Also, remember that this 
>>is a language processor.  You are not only dealing with syntax issues, 
>>but also the assembler itself is interfaced to an operating system, and 
>
>Surely an assembler translates assembly code into machine code. The OS it runs
>on to do this (if in fact there is an underlying OS - standalone assemblers
>have existed) is irrelevant. Why does a PDP8 assembler have to run on a PDP8?
>Why can't a proper, compatible, one run on UNIX, VMS, MS-DOS, or whatever other
>OS you care to name.

Some of the features can't apply to a non-O/S version, such as PAUSE 
which means to force local EOF.  P?S/8 includes an option to force a 
separate binary file for output to be started at an arbitrary point, 
which is also useful towards the endeavor of overlays, etc.

But other than that, of course you are correct.  Using the medium of 
exchange of the 8-bit frame paper-tape binary output encoded in some 
suitable manner, cross-assemblers are fine, as long as they really do 
obey all of the quirks of assembly, etc.  It's just that so far, no one 
has ever quite got it right!

>
>>of course the whole thing is PDP-8-specific code to implement the thing.
>
>Again, I fail to see why it has to be PDP8 code.

Same as above, no reason other than history.

>
>[My PDP8e - >> line are mine]
>>>Hmmm. I have a little more that just the CPU and memory. I _think_ my current
>>>list of options is : 
>>>PDP8/e CPU
>>>Timeshare/extended address board
>>>32K core (4 off 8K 3-board sets)
>>>Line-frequency Clock 
>>>3 serial ports (M8655?)
>>>1 LS8E (Is that a printer port)
>>>1 RK8 (No drives yet, but I can 'borrow' an RK05 off my PDP11 if necessary).
>> 
>>>I also have (non-working I think) a further serial port and a second RK8E.
>> 
>>>The only thing I am missing is the EAE board set, but presumably some software
>>>will run without that installed.
>> 
>>Sorry, but as the phrase goes, close, but no cigar!  Clearly you are 
>>heading in the correct direction, but until you are there, you are no 
>>closer than just CPU and memory as far as a development environment goes.
>
>I have the maintenance manual, printsets, and enough test equipment to turn
>some members of this group the colour of a PDP12 :-).

Be careful about that!  Most of Mark Hyde's -12's are blue, not green.

> Every component in the
>system I can either get or have in my junk box. I repair PDP11's, PERQs, and
>P850s, no problems. There is no question as to whether I will get the rest of
>the hardware running. In the meantime I was going to try and find out what
>software was available, and how to get it, for the time when I finally got it
>all together.
>However, if I do run into problems, please remind me not to post to this group
>as I shall probably get a flame for not having a GenRad board tester, like DEC
>used to use.

We have great confidence in your ability to eventualy get there!  My only 
point is that at the present time you aren't there yet.  And further, you 
have no software to run on it yet even if you were.  Additionally, you 
have no experience with the software, which will take you a little longer 
to get fluent with it sufficiently (but not much! :-)).

>
>[Emulators]
>>I hope so!  At that point you have enough to start using real code 
>>without an emulator.
>Just out of curiousity, what sort of machine do I need to run a PDP8 emulator,
>and where can I get the emulator from? 

Ask Bill Haygood what the extet of his emulator is.  There are others 
that are PC-specific.  They have the advantage of being able to exchange 
live media with some DEC machines.  Bill's uses simulated devices 
exclusively.

>
>[Real hardware vs emulators]
>My aim in all this has been simple : To fix up the PDP8/e, get a terminal and
>disk drive on it, and then to run some software. I'm not particularly
>interested in running PDP8 code on anything else. So, when I saw that a PDP8
>cross assembler was available, I thought it might be a way of saving a lot of
>hand assembling for little test programs. Simple as that.

Absolutely.  When you get the real thing up, then use the real thing.

>
>> 
>>My -8 has more than just lights and switches, it also has a hardware 
>>breakpoint module.  For some problems, this is invaluable and has bailed 
>>me out more than once!
>
>I could probably do something similar by clearing the run f/f with the trigger
>output from my logic analyser.
>

This one's got some nice rotary wheels/dials to set the address of the 
fetch or exec stop.  Someone published these things in DECUS years ago 
for the Omnibus.

>> 
>>>>>-tony
>> 
>>>>>Bristol University takes no responsibility for the views expressed in this
>>>>>posting. They are the personal views of the user concerned.
>> 
>> 
>>>>cjl
>> 
>>You will be needing a way to get OS/8 to your machine if you haven't done 
>>that already.  IT would help if you can at least borrow an RX01/02 for 
>
>No, I have no operating systems. I have plenty of RX01's and RX02's, but only
>UNIBUS and QBUS controllers. Unfortunately, the schematics (or theroy of
>operation) of the RX8 and RX28 where not in the pile of PDP8 and PDP12 manuals
>that came with my machine.

Not a problem.  There is an RT-11 program that maintains OS/8 RX01 disks.
But you still need a way to read them on the -8 for boot purposes, so you 
need the M8357 card :-(.

Perhaps there is another way:

It's possible to write a two-page OS/8 system handler that uses the 
serial port as a device assuming a support device on the other end.  In 
essence, what you have to do is get a copy of OS/8 configured for this 
system in image form.  Then get it to the server machine of your choice 
so it translates disk read and write requests into the 8-bit format the 
comm board expects.  This is how "WPS-11" worked, which was really a 
bunch of VT-78's on an -11 server, etc.  

The -8 boot of such a system would be long by boot standards, but still 
short enough to toggle in.  Once up, you could then run BUILD to transfer 
it to an RK8E/RK05, etc.

>
>>that purpose so someone can mail you a starter system.  Beyond that, the 
>>net can get you what you need, etc.  Unfortunately, we don't have 
>>presently any software to download an O/S at an -8 that is "empty" :-(.  
>>(Note: Kermit-12 includes a facility to get *it* up on a "bare" OS/8 system!)
>
>Wasn't there a way to load OS-8 from paper tape. I have a real ASR33 if that's
>the way to go...

There is a way to run BUILD to create a system from paper-tapes.  I 
wouldn't think of using an ASR-33 though!  It was designed for use with a 
PC04 reader/punch, etc.

>
>>cjl
>> 
>-tony
>
>Bristol University takes no responsibility for the views expressed in this
>posting. They are the personal views of the user concerned.
>


cjl


From lasner@sunSITE.unc.edu Mon May  9 19:34:14 EDT 1994
Article: 827 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: This silly flamewar
Date: 9 May 1994 23:32:02 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 185
Message-ID: <2qmh5i$10ug@bigblue.oit.unc.edu>
References: <9MAY199419233906@siva.bris.ac.uk> <2qm3ai$2p2@nexus.uiowa.edu>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <2qm3ai$2p2@nexus.uiowa.edu>,
Douglas W. Jones,201H MLH,3193350740,3193382879 <jones@pyrite.cs.uiowa.edu> wrote:
>From article <9MAY199419233906@siva.bris.ac.uk>,
>by ard@siva.bris.ac.uk (PDP11 Hacker .....):
>> 
>> Much has been posted about the PAL-8 compatability, but I've yet to
>> see one example of the quirks that keep on being mentioned.
>
>Quirks rarely center on the basic instructions (ADD, TAD, etc).

Oh yeah?  Try assembling

	*TAD	.

	TAD	TAD	TAD	.


And not as ridiculous as it sounds.  Handlers have stuff like:

	TAD	(TAD I	FOO)
	DCA	.+1
	.-.

>
>It's in the area of pseudo-ops that odd stuff happens.  If it was
>just a matter of getting listings right (for example, odd handling
>of XLIST, which toggles listing generation), it wouldn't be too bad,
>but getting the following wrong can make a good program under one
>assembler turn into pure nonsense on another:

If XLIST turns off the listing, then it assembles anyway.  If multiple 
statements are on the line, then the first statement can be XLIST and 
prevent seeing the listing line, but if the statements before XLIST get 
the line listed out, the XLIST applies to the next line.  (And you get to 
see the "XLIST" itself that way!


Additionally, XLIST is a flip-flop initially on.  Further, it takes 
evaluated arguments where 1=turn it off and 0=turn it on.  Some of my 
sources start with:

	XLIST	OFF

	IFNDEF	OFF	<OFF=	1>
	IFNDEF	ON	<ON=	0>

	XLIST	ON

Note that even XLIST 0 doesn't get listed unless there are multiple 
statements on the line and subsequent statements beyond the XLIST want 
the output to show.  This is the symmettrical opposite of the XLIST 1 
situation, etc.

>
>	ENPUNCH -- turn on binary (object file) output
>	NOPUNCH -- turn off binary output
>			Do these nest or does the first ENPUNCH
>			after a sequence of NOPUNCHES undo the
>			effects of all of them.
The correct way is independently, not nested.

>
>	I -- indirect (as in TAD I WHIZZO)
>	Z -- page zero (as in TAD Z WHIZZO)
>			Are I and Z just constants?  If not, what
>			special semantics do they have?

NO!!!!!!!  They are pseudo-ops that modify the parse scan.  Once I has 
been scanned, the rest of the scan is attempting to find an argument to 
the prevailing MRI operation that has been placed in effect earlier.  
Were I just another symbol, then they would be affected by this, but 
rather they just mean that the indirect (or removal of the current page 
bit in the case of Z) bit is to be OR'ed into the instruction after the 
generation is resolved.  Also, if you find another MRI as part of the 
operation, you have to push down the state of I as well as all else, so 
you can then resolve the MRI argument of that MRI which in turn could 
have its own I.

However, if an MRI scan isn't in effect, then I does have the value of 
0400 in -8 mode and 0020 in LINC mode.

>
>	IFDEF
>	IFNDEF
>	IFZERO
>	IFNZRO -- conditional assembly.
>			How do conditional assembly directives nest.
>			If a closing bracket is found in a comment,
>			is it ignored or does it close the conditional.

This has been a hot issue for years.  Clearly conditionals nest.  But 
what abouts comments in the wake of a failing conditional being flushed?
True compatibility demands that the comments be scanned!  I would like to 
see an option to make comments be ignored.  The issue is that if a 
conditional fails, what you do is attempt to find ">" and ignore (flush) 
all input until you find it.  However, should you find "<" along the way, 
you increment the count of ">" you must find.  Getting to the end of the 
file input is a fatal "phase" error during a flush.

But as currently implemented, there is no check for whether the ">" and 
"<" are within a comment.  Most of us either avoid brackets in comments, 
or perversely make them "match"!  If you add the feature to totally avoid 
brackets in a comment field until local end-of-line to end the comment, 
some existing programs will break!  In any case, should a conditional 
succeed, finding the ">" is ignored in terms of syntax error.  The best 
solution is to do it either PAL8 way or with an option switch to the 
assembly.


>
>	EXPUNGE -- clear the symbol table of all but pseudooperations
>	FIXTAB -- mark all symbols as permanent
>	FIXMRI -- define a new memory reference instruction mnemonic
>			How do these interact?
>			How do these interact?

EXPUNGE is operational anytime during pass 1 only.  Same for FIXTAB.  
FIXMRI can always work.  Additionally, FIXMRI can create indirect-forced 
MRI's such as:

	FIXMRI CALL=	JMS I	0

This allows such niceties as:

	CALL	[FOO]

and

FOO,	.-.


	EXIT	FOO

Where EXIT is defined with FIXMRI as JMP I  0.

>
>	RELOC -- assemble code into one location that will run in another.
>			There are a multitude of ways to get this wrong,
>			particularly when it comes to the effects of
>			consecutive RELOC pseudoops -- is the effect
>			cumulative?  How does it accumulate?
>

RELOC is cumulative.  RELOC with no argument turns off the feature.  
Assuming a separate binary and source location counter, RELOC calculates 
the difference between the argument and the current source location 
counter and adds that difference to the binary location counter.  Thus, 
consider the following code:

	*200

	RELOC	7600

This should be familiar to anyone who ever looked at an OS/8 system 
handler.  The source location counter is now 7600, yet the binary is 
still at 0200.  This is because the difference of 7400 was added to the 
binary value so when it was changed to 7600, it was set back to 0200.  
However, it could have been different from the source location counter at 
the time due to a *prior* RELOC!  (In this simple example it doesn't apply.)

>Most of these quirks are of no importance at all for the purposes you and
>I envision for the kind of cross assembler I wrote -- downloading simple
>little test programs rarely involves any of these!  On the other hand,
>after I get around to getting my RX01 drives working, I'll be looking for
>an operating system.  If I have to assemble something like OS8, it'll
>likely require full compatability with the above.


You bet!

>
>I have full source listings of a number of 1960's vintage paper-tape
>tools for the -8, and I'd like to scan them into machine-readable form
>and then try assembling them (this is practical!  We tried a test scan
>of a few pages of the old 4K Fortran system, and Kurzweil Reading Machine
>could indeed read the smudgy old line-printer characters).  Again, a
>fully compatable assembler is what I need for such a job.
>
>					Doug Jones
>					jones@cs.uiowa.edu

Is that the paper-tape 4K fortran, or the DM one?

cjl


From wilsonj@alum01.its.rpi.edu Tue May 10 05:57:59 EDT 1994
Article: 828 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!noc.near.net!usenet.elf.com!rpi!wilsonj
From: wilsonj@alum01.its.rpi.edu (John Wilson)
Newsgroups: alt.sys.pdp8
Subject: Where to get RX8E
Date: 9 May 1994 23:29:05 GMT
Organization: Rensselaer Polytechnic Institute, Troy NY
Lines: 14
Message-ID: <2qmh01$6o@usenet.rpi.edu>
References: <2q8b86$7de@nexus.uiowa.edu> <2qlgl0$g3t@bigblue.oit.unc.edu> <9MAY199417524974@siva.bris.ac.uk> <2qmden$oad@bigblue.oit.unc.edu>
NNTP-Posting-Host: alum01.its.rpi.edu

In article <2qmden$oad@bigblue.oit.unc.edu>,
Charles Lasner <lasner@sunSITE.unc.edu> wrote:
>Not a problem.  There is an RT-11 program that maintains OS/8 RX01 disks.
>But you still need a way to read them on the -8 for boot purposes, so you 
>need the M8357 card :-(.

Hey this won't do, let's turn that :-( into a :-) !!!

People always seem to be looking for M8357's without luck, but are you
aware that DEC still sells them new?  I just ordered one from DECdirect,
$118 for order # M8357-00.  Not exactly small change, but consider it's
from DEC you could do worse...

Happy hacking,    John Wilson


From oddjob@cix.compulink.co.uk Tue May 10 05:58:30 EDT 1994
Article: 829 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!news-feed-2.peachnet.edu!emory!swrinde!cs.utexas.edu!howland.reston.ans.net!EU.net!uknet!cix.compulink.co.uk!oddjob
From: oddjob@cix.compulink.co.uk ("Stephen Walters")
Subject: Re: This silly flamewar
Message-ID: <CpK92w.ECu@cix.compulink.co.uk>
Organization: Skills Unlimited              
References: <2qm3ai$2p2@nexus.uiowa.edu>
Date: Tue, 10 May 1994 00:23:19 GMT
X-News-Software: Ameol
Lines: 8

I have a stack of tapes Magnetic and paper which came the 8. The machine 
originally came from the National Physical Laboratory...and they had a 
rather extensive software library...

I also have an Intersil machine which has the appearance of a miniture 8, 
switches and all. Even has battery backed RAM!

oddjob@cix.compulink.co.uk


From jones@pyrite.cs.uiowa.edu Wed May 11 11:14:07 EDT 1994
Article: 830 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!corpgate!news.utdallas.edu!chpc.utexas.edu!cs.utexas.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Intersil
Date: 10 May 1994 15:52:40 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 13
Distribution: world
Message-ID: <2qoak8$4vl@nexus.uiowa.edu>
References: <CpK92w.ECu@cix.compulink.co.uk>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <CpK92w.ECu@cix.compulink.co.uk>,
by oddjob@cix.compulink.co.uk ("Stephen Walters"):

> I also have an Intersil machine which has the appearance of a miniture 8, 
> switches and all. Even has battery backed RAM!

Great!  That makes two surviving Intersil machines.  The other one I know
of is serial number 1, won by a visitor at the trade show where it was
first exhibited.  It ran DEC's paper-tape 4K FOCAL, obtained by the owner
from a PDP-8/S owner, but I know little more about it.

					Doug Jones
					jones@cs.uiowa.edu


From jones@pyrite.cs.uiowa.edu Wed May 11 11:14:19 EDT 1994
Article: 831 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!corpgate!news.utdallas.edu!chpc.utexas.edu!cs.utexas.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: Intersil
Date: 10 May 1994 16:21:13 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 10
Distribution: world
Message-ID: <2qoc9p$5jr@nexus.uiowa.edu>
References: <2qoak8$4vl@nexus.uiowa.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <2qoak8$4vl@nexus.uiowa.edu>,
by jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879):
> 
> Great!  That makes two surviving Intersil machines.

Great!  I goofed in that last posting.  Please ignore it!  I spaced out
and confused Intersil with another maker
 
 					Doug Jones
 					jones@cs.uiowa.edu


From ivie@cc.usu.edu Wed May 11 11:28:00 EDT 1994
Article: 832 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!spool.mu.edu!agate!dog.ee.lbl.gov!hellgate.utah.edu!cc.usu.edu!ivie
From: ivie@cc.usu.edu
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Message-ID: <1994May10.085821.18652@cc.usu.edu>
Date: 10 May 94 08:58:21 MDT
References: <2q8b86$7de@nexus.uiowa.edu> <2qcsps$9g5@bigblue.oit.unc.edu> <2qlgl0$g3t@bigblue.oit.unc.edu> <9MAY199417524974@siva.bris.ac.uk> <2qmden$oad@bigblue.oit.unc.edu>
Organization: Utah State University
Lines: 20

In article <2qmden$oad@bigblue.oit.unc.edu>, lasner@sunSITE.unc.edu (Charles Lasner) writes:
> It's possible to write a two-page OS/8 system handler that uses the 
> serial port as a device assuming a support device on the other end.  In 
> essence, what you have to do is get a copy of OS/8 configured for this 
> system in image form.  Then get it to the server machine of your choice 
> so it translates disk read and write requests into the 8-bit format the 
> comm board expects.  This is how "WPS-11" worked, which was really a 
> bunch of VT-78's on an -11 server, etc.  

For what it's worth, there's a publically available TU58 emulator for Unix.
I haven't tried it yet, bet I do have a copy. The TU58, as I'm sure we're all
aware, is a small (both physically and block-ally) cartridge tape that
communicates over RS232.

And since no one's tried to soothe tony's jangled nerves: there, there; we're
all in this together, some of us are just a bit more excitable than others...
-- 
----------------+------------------------------------------------------
Roger Ivie      | Don't think of it as a 'new' computer, think of it as
ivie@cc.usu.edu |     'obsolete-ready'


From johnv@dcs.rhbnc.ac.uk Wed May 11 11:28:36 EDT 1994
Article: 833 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!pipex!doc.ic.ac.uk!sun.rhbnc.ac.uk!st5.cs.rhbnc.ac.uk!johnv
From: johnv@st5.cs.rhbnc.ac.uk (John E. Veness)
Newsgroups: alt.sys.pdp8
Subject: Re: Beginners guide to PDP 8 machine code
Date: 10 May 1994 20:04:25 GMT
Organization: Royal Holloway, Uni of London
Lines: 17
Message-ID: <2qopc9$caf@sun.rhbnc.ac.uk>
References: <CpHnsw.C7L@cix.compulink.co.uk>
Reply-To: johnv@dcs.rhbnc.ac.uk
NNTP-Posting-Host: st5.cs.rhbnc.ac.uk
X-Newsreader: TIN [version 1.2 PL2]

Stephen Walters (oddjob@cix.compulink.co.uk) wrote:
> Beginners guide to PDP 8 machine code

> Does this exist.....is there a FAQ for this????

The alt.sys.pdp8 FAQ gives quite a lot of info about the machine code,
though you'll probably better off getting DEC's Introduction to
Programming, if you cab get it (unlikely!)  My PDP-8 simulator project
has a nice chapter explaining the PDP-8's instruction set, but I'd
better wait until it's been examined b4 releasing it.

		Pel

--                                                             _
John Veness                                                   |_)_ | _, _, _
johnv@dcs.rhbnc.ac.uk                                         | (_'|(_|(_|(_) 
                                                                       (_)


From oddjob@cix.compulink.co.uk Wed May 11 11:28:55 EDT 1994
Article: 834 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!pipex!uknet!cix.compulink.co.uk!oddjob
From: oddjob@cix.compulink.co.uk ("Stephen Walters")
Subject: Anbody got a PDP-8s for disposal?
Message-ID: <CpLnx4.9M5@cix.compulink.co.uk>
Organization: Skills Unlimited              
Date: Tue, 10 May 1994 18:41:27 GMT
X-News-Software: Ameol
Lines: 6

Anbody got a PDP-8s for disposal?

I would like one of these. Incidentally, I could not tell from the FAQ, 
but what model was described as a table-top-8?

oddjob@cix.compulink.co.uk


From jones@pyrite.cs.uiowa.edu Wed May 11 11:35:27 EDT 1994
Article: 835 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!xanth.cs.odu.edu!news.larc.nasa.gov!lerc.nasa.gov!magnus.acs.ohio-state.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Assemblers (Was: This silly flamewar)
Date: 10 May 1994 21:46:50 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 35
Distribution: world
Message-ID: <2qovca$eoq@nexus.uiowa.edu>
References: <2qmh5i$10ug@bigblue.oit.unc.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <2qmh5i$10ug@bigblue.oit.unc.edu>,
by lasner@sunSITE.unc.edu (Charles Lasner):

>>Quirks rarely center on the basic instructions (ADD, TAD, etc).
> Oh yeah?  Try assembling ...

Here's a current example of the state of affairs with my little toy
cross assembler.  It illustrates some of the little nasties you've
posted, and I should note that your posting prompted me to fix a few
bugs and add support for FIXMRI.

   1 01000 0602 * TAD I .+2              / a bug, but is it worth fixing?
   2 01001 1377         TAD (TAD I FOO)  / I don't doubt the use of this!
   3            FIXMRI  CALL=   JMS I 0
   4            FIXMRI  RETURN= JMP I 0  / This is indeed useful.
   5 01002 4577         CALL    [FOO]
   6 01003 0000 FOO,    .-.
   7 01004 5603         RETURN  FOO
   8 01177 1603 $
     00177 1003

Now, some questions.  What should the following do?  And, are these funny
cases worth worrying about?

        TAD     AND     5
        TAD     (AND    [15])

I'm pretty sure that existing DEC versions of PAL are likely to mess up
a bit on some simple variants of the latter:

        TAD     (AND    [15+1]-1)+3

                                        Doug Jones
                                        jones@cs.uiowa.edu


From jones@pyrite.cs.uiowa.edu Wed May 11 11:36:11 EDT 1994
Article: 836 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!xanth.cs.odu.edu!news.larc.nasa.gov!lerc.nasa.gov!magnus.acs.ohio-state.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: Anbody got a PDP-8s for disposal?
Date: 10 May 1994 21:55:40 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 20
Distribution: world
Message-ID: <2qovss$evr@nexus.uiowa.edu>
References: <CpLnx4.9M5@cix.compulink.co.uk>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <CpLnx4.9M5@cix.compulink.co.uk>,
by oddjob@cix.compulink.co.uk ("Stephen Walters"):
> Anbody got a PDP-8s for disposal?

	You don't want to pay shipping from Iowa, and I don't want to
	part with mine just yet.

> but what model was described as a table-top-8?

	Probably the original PDP-8.  The key is not that it was
	described as a table-top machine, but rather the lack of
	a qualifier after the 8.  Most of the PDP-8 models came in
	table-top configurations; certainly, the classic 8 did, and so
	did the 8/S, the 8/L and the 8/E.  I think the 8/I may have,
	too, but I haven't seen one.  The only 8/A configurations I
	know of are rack-mounted, and after that, they were all
	essentially table-top machines.

				Doug Jones
				jones@cs.uiowa.edu


From jdc@math.ohio-state.edu Wed May 11 11:37:11 EDT 1994
Article: 837 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!convex!cs.utexas.edu!math.ohio-state.edu!not-for-mail
From: jdc@math.ohio-state.edu (Jim Corder)
Newsgroups: alt.sys.pdp8
Subject: Re: Yippee! more PDP-8e owners
Date: 11 May 1994 09:11:00 -0400
Organization: Department of Mathematics, The Ohio State University
Lines: 27
Message-ID: <2qqlh4$j58@zaphod.mps.ohio-state.edu>
References: <CpHnst.C6w@cix.compulink.co.uk>
NNTP-Posting-Host: zaphod.mps.ohio-state.edu

In article <CpHnst.C6w@cix.compulink.co.uk>,
Stephen Walters <oddjob@cix.compulink.co.uk> wrote:
>I Consider myself quit lucky....I have a PDP 8/e

Hello:

	OK, I have been reading this group for a few months now.  I have
yet to figure out what I want to do with my PDP 8/e.  I have had an 8/e
in my basement for about 4 years now.  I read the manuals, "to start call
your dec rep..."

	My 8/e is in a 6' tall cabinet.  I have two "rko5"? drives, and
a dec write ][.  Each drive has a single platter disk in it.  I have several
other platters in boxes.  The CPU is on the top with the two drives under it.

	I wanted the cabinet and also got a free 8/e full of cards and stuff.

	I have never tried to start it, or even plugged it in.  I have had
a few offers, but have never parted with it:  It looks neat:-)  There isn't
a paper tape just a lot of toggles.

	Does anyone know how to start this thing so it uses its drives?
How do you hook the "mini-loop" dec writer ][ up?...

Thank you,
James D. Corder
jdc@zaphod.mps.ohio-state.edu


From tomk@csd.uu.se Wed May 11 11:37:30 EDT 1994
Article: 838 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!EU.net!sunic!columba.udac.uu.se!news.uu.se!tomk
From: tomk@csd.uu.se (Tom F Karlsson)
Newsgroups: alt.sys.pdp8
Subject: Re: Anbody got a PDP-8s for disposal?
Date: 11 May 1994 13:37:58 GMT
Organization: CS, University of Uppsala, Sweden
Lines: 23
Distribution: world
Message-ID: <TOMK.94May11153759@kobra.csd.uu.se>
References: <CpLnx4.9M5@cix.compulink.co.uk> <2qovss$evr@nexus.uiowa.edu>
NNTP-Posting-Host: kobra.csd.uu.se
In-reply-to: jones@pyrite.cs.uiowa.edu's message of 10 May 1994 21:55:40 GMT

In article <2qovss$evr@nexus.uiowa.edu> jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) writes:

>> but what model was described as a table-top-8?
>
>   Probably the original PDP-8.  The key is not that it was
>   described as a table-top machine, but rather the lack of
>   a qualifier after the 8.  Most of the PDP-8 models came in
>   table-top configurations; certainly, the classic 8 did, and so
>   did the 8/S, the 8/L and the 8/E.  I think the 8/I may have,
>   too, but I haven't seen one.  The only 8/A configurations I
>   know of are rack-mounted, and after that, they were all
>   essentially table-top machines.

The 8/I machines I have seen, is rack-mounted and rather large
(read: not desk top size...) The CPU box itself is something
like 60cm high.

/Tom
--
|  Tom Karlsson           email: tomk@csd.uu.se      phone: +46 18 260097  |
|  Student of Computer Science @ Uppsala University, Sweden.               |
|  Secretary of Update.   email: tomk@Update.UU.SE                         |
|           "Intelligence is to do stupid things in a smart way"           |


From lasner@sunSITE.unc.edu Wed May 11 11:37:45 EDT 1994
Article: 839 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: Intersil
Date: 11 May 1994 15:13:26 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 56
Message-ID: <2qqsmm$m9n@bigblue.oit.unc.edu>
References: <CpK92w.ECu@cix.compulink.co.uk> <2qoak8$4vl@nexus.uiowa.edu>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <2qoak8$4vl@nexus.uiowa.edu>,
Douglas W. Jones,201H MLH,3193350740,3193382879 <jones@pyrite.cs.uiowa.edu> wrote:
>From article <CpK92w.ECu@cix.compulink.co.uk>,
>by oddjob@cix.compulink.co.uk ("Stephen Walters"):
>
>> I also have an Intersil machine which has the appearance of a miniture 8, 
>> switches and all. Even has battery backed RAM!
>
>Great!  That makes two surviving Intersil machines.  The other one I know
>of is serial number 1, won by a visitor at the trade show where it was
>first exhibited.  It ran DEC's paper-tape 4K FOCAL, obtained by the owner
>from a PDP-8/S owner, but I know little more about it.
>
>					Doug Jones
>					jones@cs.uiowa.edu


No, this is an Intercept I.  I have one.  I also have a PCM-12.  (There 
was a PCM-12A that fixed something, but I don't have info as to what.)

These machines are buss compatible.  Intersil was proud of the fact that 
you could remove modules while it was running.  The Intercept stuff that 
I have is:

3 4K CMOS battery-backed memory modules

TTY: interface (supports 110 baud TTY: and reader run on an ASR-33 modified 
according to DEC standards)

RX-type interface to DSD-210 dual RX01-compatible drive (that can format!)

Extended memory controller.

The PCM-12 has 4K (not CMOS) and a similar TTY: interface.  It is a more 
"packaged" machine and likely can support all of the Intercept stuff to 
make one 16K machine with dual floppy.  The Intercept has limited 
internal space, but this one has the buss expander which has been 
rack-mounted, etc.

Unlike DEC's VT-78, these 6100-based systems run at full speed (4.0 
MHz).  The front panel is implemented in CP memory using memory-mapped 
I/O (such as AC -> LED's is implemented as storing into CP 0000 with a 
DCA instruction.  I imagine you can step the LED as a register by using 
ISZ 100.).  The rate of panel update is controllable by a clock interrupt 
rate potentiometer which can be disabled for maximum throughput without 
panel update.  (Remember, the original intention of CP memory was for a 
Control Panel!)  Full front panel function switches are provided, just 
like on an -8/e, but all implemented in CP software, etc.  A standard RX 
boot is built-in, etc.

On paper at least, PCM and Intersil did offer a large complement of 
peripherals, generally mimicking DEC's designs of common program transfer 
peripherals of the Omnibus.

cjl


From lasner@sunSITE.unc.edu Wed May 11 11:38:02 EDT 1994
Article: 840 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Date: 11 May 1994 15:26:49 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 51
Message-ID: <2qqtfp$77p@bigblue.oit.unc.edu>
References: <2q8b86$7de@nexus.uiowa.edu> <9MAY199417524974@siva.bris.ac.uk> <2qmden$oad@bigblue.oit.unc.edu> <1994May10.085821.18652@cc.usu.edu>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <1994May10.085821.18652@cc.usu.edu>,  <ivie@cc.usu.edu> wrote:
>In article <2qmden$oad@bigblue.oit.unc.edu>, lasner@sunSITE.unc.edu (Charles Lasner) writes:
>> It's possible to write a two-page OS/8 system handler that uses the 
>> serial port as a device assuming a support device on the other end.  In 
>> essence, what you have to do is get a copy of OS/8 configured for this 
>> system in image form.  Then get it to the server machine of your choice 
>> so it translates disk read and write requests into the 8-bit format the 
>> comm board expects.  This is how "WPS-11" worked, which was really a 
>> bunch of VT-78's on an -11 server, etc.  
>
>For what it's worth, there's a publically available TU58 emulator for Unix.
>I haven't tried it yet, bet I do have a copy. The TU58, as I'm sure we're all
>aware, is a small (both physically and block-ally) cartridge tape that
>communicates over RS232.

This could probably help someone get started on the server end, assuming 
that's the kind of code they want to use, etc.

However, there are a few problems with the specifics of the TU58:

1)	Only the KL8E was ever able to send a BREAK character which is a 
necessary portion of the TU58 protocol.  This severely limits its 
applicability.  (The break is possible because the KL8E is unbuffered for 
output; you can jam stuff into the output register while it's already 
being outputted, so you can extend the character, etc.)

2)	A better protocol should be given that allows the -8 to lag being 
the data being sent to it.  (Of course we expect the server to be 
responsive to the -8 sending data at it!)  This could include some form 
of acknowledge on every character received by the -8.

3)	We don't want to live by the small capacity of the TU58.  There 
is no reason why the server can't support a simulated hard disk structure 
worthy of MENU-8 partitioning it down to nice chunks for P?S/8 and OS/8 
to live under, etc.  I am assuming that for some people, this would be 
their only -8 disk.  Of course if it's merely a mechanism to transfer an 
O/S from, then it can be smaller.  However, the TU58 is *real* small!

>
>And since no one's tried to soothe tony's jangled nerves: there, there; we're
>all in this together, some of us are just a bit more excitable than others...

I suspect that Tony's made of stronger stuff than that! :-)

>-- 
>----------------+------------------------------------------------------
>Roger Ivie      | Don't think of it as a 'new' computer, think of it as
>ivie@cc.usu.edu |     'obsolete-ready'

cjl


From lasner@sunSITE.unc.edu Wed May 11 18:14:45 EDT 1994
Article: 841 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: Assemblers (Was: This silly flamewar)
Date: 11 May 1994 22:07:49 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 262
Message-ID: <2qrkvl$11l9@bigblue.oit.unc.edu>
References: <2qmh5i$10ug@bigblue.oit.unc.edu> <2qovca$eoq@nexus.uiowa.edu>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <2qovca$eoq@nexus.uiowa.edu>,
Douglas W. Jones,201H MLH,3193350740,3193382879 <jones@pyrite.cs.uiowa.edu> wrote:

>Here's a current example of the state of affairs with my little toy
>cross assembler.  It illustrates some of the little nasties you've
>posted, and I should note that your posting prompted me to fix a few
>bugs and add support for FIXMRI.
>
>   1 01000 0602 * TAD I .+2              / a bug, but is it worth fixing?
>   2 01001 1377         TAD (TAD I FOO)  / I don't doubt the use of this!
>   3            FIXMRI  CALL=   JMS I 0
>   4            FIXMRI  RETURN= JMP I 0  / This is indeed useful.
>   5 01002 4577         CALL    [FOO]
>   6 01003 0000 FOO,    .-.
>   7 01004 5603         RETURN  FOO
>   8 01177 1603 $
>     00177 1003
>
>Now, some questions.  What should the following do?  And, are these funny
>cases worth worrying about?
>
>        TAD     AND     5
>        TAD     (AND    [15])
>
>I'm pretty sure that existing DEC versions of PAL are likely to mess up
>a bit on some simple variants of the latter:
>
>        TAD     (AND    [15+1]-1)+3
>
>                                        Doug Jones
>                                        jones@cs.uiowa.edu
>

Well, we'll see about that!

OK, I took Doug's code and passed it to both PAL8 and P?S/8 PAL.  Here 
are both listings.  Note that page breaks are replaced with "<FF>" 
instead of the actual page form-feeds, etc.  (In both assemblers, the 
output uses LF characters to space the paper down on the console, and 
uses real FF chars on the LPT:.  Neither was useful for posting, etc.)

First PAL8:


/       TEST OF SOME OF DOUG'S QUIRKY EX  PAL8-VB0  11-MAY-94 PAGE 1

              /       TEST OF SOME OF DOUG'S QUIRKY EXAMPLES

        1602          * TAD I .+2                     /HE SAYS THIS IS A BUG!

001602  1377          TAD     (TAD I  FOO)            /HE KNOWS THIS IS USEFUL

              /       SOME FIXMRI'S WITH THE I BIT SET.

        4400          FIXMRI  CALL=   JMS I   0       /DEFINE CALL MRI

        5400          FIXMRI  RETURN= JMP I   0       /DEFINE RETURN MRI

001603  4577          CALL    [FOO]                   /CALL A SUBROUTINE
                                                      /WITHOUT USING JMS

001604  0000  FOO,    .-.                             /SUBROUTINE

001605  5604          RETURN  FOO                     /RETURN TO CALLER

IC
001606  1000          TAD     AND     5               /LET'S SEE

001607  1376          TAD     (AND    [15])           /LET'S SEE

LG
001610  1774'         TAD     (AND    [15+1]-1)+3     /LET'S SEE

001774  2000
001775  0174
001776  0176
001777  1604
                      $                               /END OF ASM
000175  0016
000176  0015
000177  1604
<FF>
/       TEST OF SOME OF DOUG'S QUIRKY EX  PAL8-VB0  14-APR-90 PAGE 2

CALL   4400      
FOO    1604      
RETURN 5400      
<FF>

ERRORS DETECTED: 2
LINKS GENERATED: 1

Now P?S/8 PAL:


/     TEST OF SOME OF DOUG'S QUIRKY EXAMPLES  P?S PAL V08S    WED  11-MAY-94  PAGE 1

              /       TEST OF SOME OF DOUG'S QUIRKY EXAMPLES

       *1602          * TAD I .+2                     /HE SAYS THIS IS A BUG!

001602  1377          TAD     (TAD I  FOO)            /HE KNOWS THIS IS USEFUL

              /       SOME FIXMRI'S WITH THE I BIT SET.

        4400          FIXMRI  CALL=   JMS I   0       /DEFINE CALL MRI

        5400          FIXMRI  RETURN= JMP I   0       /DEFINE RETURN MRI

001603  4577          CALL    [FOO]                   /CALL A SUBROUTINE
                                                      /WITHOUT USING JMS

001604  0000  FOO,    .-.                             /SUBROUTINE

001605  5604          RETURN  FOO                     /RETURN TO CALLER

001606  1005          TAD     AND     5               /LET'S SEE

001607  1376          TAD     (AND    [15])           /LET'S SEE

LG 
001610  1774'         TAD     (AND    [15+1]-1)+3     /LET'S SEE

                      $                               /END OF ASM
       *1774 
001774  2000 
001775  0174 
001776  0176 
001777  1604 
       *0175 
000175  0016 
000176  0015 
000177  1604 
<FF>
/     TEST OF SOME OF DOUG'S QUIRKY EXAMPLES  P?S PAL V08S    WED  11-MAY-94  PAGE S-1
USER SYMBOL TABLE LISTING


CALL  =4400M
FOO    1604 
RETURN=5400M
<FF>
/     TEST OF SOME OF DOUG'S QUIRKY EXAMPLES  P?S PAL V08S    WED  11-MAY-94  PAGE S-2
ASSEMBLY STATISTICS


1 ERROR  DETECTED 

1 LINK  GENERATED

5K MEMORY UTILIZED 

NO FILES CREATED

3 SYMBOLS

Some comments on Doug's tests, and differences between the assemblers 
themselves:

1)	Both assemblers were set to generate links, but flag them as 
errors.  In PAL8, links are unavoidable, but considering them as errors 
is optional.  In P?S/8 PAL, links can be prevented altogether, allowed 
but flagged as errors, or allowed without being considered errors.

2)	In PAL8 you can't get a listing without a symbol table, although 
you can get a symbol table only by asking for the listing to be deleted.  
In P?S/8 PAL, a symbol table is optional as is the listing.  Thus, PAL8 
was invoked without deleting the listing.  P?S/8 PAL was invoked with 
both listing and symbol table options set.

3)	No binary files were asked for in either case, so none were 
created.  This doesn't change the output anyway (other than the P?S/8 
statistics page).

4)	PAL8 couldn't handle the double MRI case.  P?S/8 PAL did handle 
it correctly; the first MRI used the results of the second MRI's scan as 
its argument.  Since P?S/8 PAL pushes down its context for each and every 
MRI encountered, this isn't surprising.  (Both assemblers push the 
context down during a literal scan.)  Since PAL8 doesn't give the 
character code of the Illegal Character it was complaining about (P?S/8 
PAL does!) we can only guess as to exactly where the scan was complained 
about.  (P?S/8 PAL IC messages give the ASCII code of the offending 
character as well as placing it within the assembly, etc.)

5)	P?S/8 PAL has some cosmetic advantages over PAL8.  There are 
sub-titles on all assembler-generated output pages.  The header line 
includes more of the first-line comment to make a wider output line.  The 
header line also includes the day of the week; useful when thumbing 
through a stack of listings of recent assemblies!

	The symbol table printout indicates the symbol type as well as 
the value.  Additionally, if the symbol is defined by an equate, an "=" 
is indicated.  MRI-type symbols have an "M" suffix.  (Note: it is 
possible to ask for a complete symbol table dump, which includes 
permanent symbols.  In that case, directives such as OCTAL are listed 
where the value is the internal address within the assembler and a "D" is 
the suffix.)

	There are a lot of hacks on the statistics page.  PAL8 cops out 
and puts the item count last on the line after ":".  P?S/8 PAL makes the 
operative word singular if exactly one, and puts out "NO" if the count is 
zero.  Additionally, the reported memory size is the minimum size rounded 
up to the nearest 1K that the assembler could have used to assemble this 
program without overflowing the table.  In this particular case, the 
value is "5K" because the assembler was invoked without the "stingy 
buffer" option which would make it assemble a whole lot slower but saves 
memory.  In that case, the report would indicate that 4K would be 
required, etc.  Also, the count of fixed binary files created is reported, 
while PAL8 never tells you if binary happened (you have to know from the 
command line, not the listing).

Whenever an origin is generated (whether by user "*" commands or 
auto-generated by a literal dump or after a field setting if enabled, 
etc.) P?S/8 PAL shows it preceded by an "*".  PAL8 only shows the octal 
value on a "*"-generated one, and doesn't output the auto-generated ones 
at all.  Thus, in PAL8 you cannot tell if the auto-origin after field 
setting is enabled from the listing, only the command.  (In both 
assemblers the auto-origin is an option, etc.)

A logistic complaint about PAL8 (solved in P?S/8 PAL):  When you are 
first preparing an assembler source, it's likely that there are a few 
dozen globally referenced symbols you haven't gotten around to editing in 
yet.  There are probably hundreds of references to them as well.

In PAL8, if you attempt an assembly, you thus wind up with hundreds of 
errors of the form "US FOOBAR+3" which means that you are told *where* 
(relative to a recent label) an undefined symbol is being attempted, 
without identifying *what* that symbol actually is!  Since you are 
inundated with these messages, you can either write some of them down and 
then do an edit and yet another series of two-pass assemblies (the 
messages only come in pass two; pass one is "silent".) until you get it 
down to a dull roar, or instead get a very deficient listing that is even 
more wasteful, and then hand-track all of the references to produce an 
edit/change that involves adding a few dozen lines (mostly on page zero 
typically).  Either way, you are doing a whole lot of assembly over a 
relatively small matter, etc.

The P?S/8 PAL solution is to use a feature that originates in the 
original PAL III paper-tape assembler.  At the end of pass one (P?S/8 PAL 
can specify a one-pass assembly) there is a summary printout of all 
symbols still undefined.  The octal value of the symbol is printed out; 
in this case, this value is the address where the earliest encounter with 
the then (and now-still !) undefined symbol was found.

Thus, instead of wasteful second-passes, listings, additional two-pass 
assemblies, etc., P?S/8 PAL produces a small report where each undefined 
symbol takes one line!  (This can be directed at the LPT: if desired.)

Additionally, should a second-pass assembly cough up some Undefined 
Symbol errors, the messages look like:

US BARFOO AT FOOBAR+3 (0203)

Thus, the info is the same as PAL8 in the relative-to-recent-symbol 
sense, but also is given in absolute form as well.  But more importantly, 
the undefined symbol is *named* !

In any case, looking at Doug's assembler output, I would say he still has 
a little ways to go to match the -8-written ones.

cjl


From ard@siva.bris.ac.uk Thu May 12 08:49:02 EDT 1994
Article: 842 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!corpgate!news.utdallas.edu!chpc.utexas.edu!cs.utexas.edu!howland.reston.ans.net!pipex!lyra.csx.cam.ac.uk!warwick!bsmail!siva.bris.ac.uk!ard
From: ard@siva.bris.ac.uk (PDP11 Hacker .....)
Subject: Re: Yippee! more PDP-8e owners
Message-ID: <11MAY199418262489@siva.bris.ac.uk>
News-Software: VAX/VMS VNEWS 1.41    
Sender: usenet@info.bris.ac.uk (Usenet news owner)
Nntp-Posting-Host: siva.bris.ac.uk
Organization: University of Bristol Physics Department
References: <CpHnst.C6w@cix.compulink.co.uk> <2qqlh4$j58@zaphod.mps.ohio-state.edu>
Date: Wed, 11 May 1994 17:26:00 GMT
Lines: 103

In article <2qqlh4$j58@zaphod.mps.ohio-state.edu>, jdc@math.ohio-state.edu (Jim Corder) writes...
>In article <CpHnst.C6w@cix.compulink.co.uk>,
> 
>Hello:

Greetings from a fellow PDP8/e owner :-)

> 
>	OK, I have been reading this group for a few months now.  I have
>yet to figure out what I want to do with my PDP 8/e.  I have had an 8/e
>in my basement for about 4 years now.  I read the manuals, "to start call
>your dec rep..."

What manuals do you have? The manuals that came with my 8/e (The 3-volume
maintenance manual) say nothing like that. Instead they land you in the middle
of the CPU on about page 5. Mind you, I much prefer manuals like that - I don;t
mind having to think a bit, but content-free manuals make me want to give up.

Anyway, My recomendation is to get the CPU working first, and then to sort out
the drives and terminal systems.


> 
>	My 8/e is in a 6' tall cabinet.  I have two "rko5"? drives, and

That's RK05 (Numeric 0). They're about 2.5Mbytes/pack (I'm not sure about the
exact capacity - PDP11's fit 12 sectors (16 bit words) on a track, PDP8's fit
16 sectors (12 bit words) in. Each sector is 256 words (?) and there are about
200 tracks on the disk, and 2 heads.

>a dec write ][.  Each drive has a single platter disk in it.  I have several
>other platters in boxes.  The CPU is on the top with the two drives under it.

Make sure you're using 16 sector packs (17 notches in the hub flange), not the
more common 12 sector type.

> 
>	I wanted the cabinet and also got a free 8/e full of cards and stuff.

I had the revers problem. I wanted the PDP8/e CPU, and had to take the rack and
drives with it. Still not collected the drives...

> 
>	I have never tried to start it, or even plugged it in.  I have had
>a few offers, but have never parted with it:  It looks neat:-)  There isn't
>a paper tape just a lot of toggles.

You don't need paper tape. You can use the toggle switches to load a bootstrap
(if you don't have a boot rom), and run quite happily from the drives.

> 
>	Does anyone know how to start this thing so it uses its drives?
>How do you hook the "mini-loop" dec writer ][ up?...

OK. I really suggest you get the CPU working before you go any further. My
sequence would be : 

1) Open the CPU box, note down the numbers (Mxxxx, Gxxxx, etc) on the handles
of the cards, and post it here. Then I'm sure we can tell you exactly what you
have (if you have a boot ROM for instance).

2) Unplug the 2 40-way ribbon cables going to the drives. Also unplug the
drives from the power distribution box.

3) Turn on the mains to the CPU. If you are careful, like me, you'll unplug the
power connectors from the CPU psu (2 white 6-pin plugs) and check the +5V line
at the PSU with a voltmeter. Saves wiping out the entire set of chips if
something is wrong.

4) Try loading an address (set the address on the switches) and press Load
Address. Check the top row of lights shows the address you entered.

5) Try depositing some data (Enter a suitable (low) starting address. 0 will do
nicely. Set the switches to a patern, raise and release deposit. Check the
address increments each time. Repeat this a few times.

6) Read back what you just deposited. Load the start address again, an then
repeat. You have to put the rotary switch in the right postion - but I forget
which. Try MD data for a start.

7) Load a little test program. There's a nice 4-instruction one, which I
forget, but I'm sure someone else will remind me, that repeated increments the
accumulator. Get that running, and you can watch the accumulator incrementing
on the front panel lights.


Now, the Decwriter 2 plugs into a serial interface card. You'll probably have
at least one M8650 or M8655 in the machine. You'll find a cable connected to it
that the DECwriter will plug into (I hope - if not, You'll need the pinouts of
both, which means I'll have to start digging). If you have several serial
cards, you'll need to find out which is the console (by the settings of the
address switches or links), and link the terminal to it.


> 
>Thank you,
>James D. Corder

-tony

Bristol University takes no responsibility for the views expressed in this
posting. They are the personal views of the user concerned.


From jones@pyrite.cs.uiowa.edu Thu May 12 08:52:40 EDT 1994
Article: 843 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Test programs you can toggle in
Date: 11 May 1994 19:24:59 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 135
Distribution: world
Message-ID: <2qrbeb$frf@nexus.uiowa.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

There seems to be a demand for test programs you can toggle in from
the front panel to test bare machines, so here are a few:

   1            / program to blink the lights in a binary counter sequence
   2
   3            *0000
   4 00000 7200         CLA
   5 00001 2005 LOOP,   ISZ     COUNT   /delay for 4K iterations
   6 00002 5001         JMP     LOOP
   7 00003 7001         IAC             /increment counter visible on lights
   8 00004 5001         JMP     LOOP
   9 00005 0000 COUNT,  0

There is a simpler program:

   1            *0000
   2 00000 7001 LOOP,   IAC
   3 00001 5000         JMP     LOOP

But the simple program counts so fast that all the bits toggle faster than
you can see with the human eye.  Single stepping the simple version is a
good basic test, but the first, and more complex version slows itself
down enough that you can watch the show.

   1            / program to blink the lights in a chase light sequence
   2            /   speed can be adjusted with switch register
   3            /   suggested initial value on switches = 7770
   4
   5            *0000
   6 00000 7301         CLA CLL IAC     /load initial shift pattern (0001)
   7 00001 3015 LOOP,   DCA     SHIFT   /set aside while delay is read in
   8 00002 7404         OSR
   9 00003 3016         DCA     COUNT   /save switch setting
  10 00004 1015         TAD     SHIFT   /get pattern on lights during delay
  11 00005 2017 DELLP,  ISZ     DELAY   /inner loop delays 4K cycles
  12 00006 5005         JMP     DELLP
  13 00007 2016         ISZ     COUNT   /outer loop delays indicated amount
  14 00010 5005         JMP     DELLP
  15 00011 7104         CLL RAL         /spin lights one place left
  16 00012 7430         SZL
  17 00013 7004         RAL             /fixup for lit bit falling off edge
  18 00014 5001         JMP     LOOP
  19
  20 00015 0000 SHIFT,  .-.             /pattern to shift
  21 00016 0000 COUNT,  .-.             /outer loop count
  22 00017 0000 DELAY,  0               /inner loop count

The following program tests the asynch I/O interface.  It ought to work
with any PDP-8/E I/O interface (but not older interfaces, since it uses
the newfangled KCF and TFL instructions.

   1            / program to echo TTY keyboard to printer
   2
   3            / device codes to merge with IOT instructions
   4            INDEV=  0030            / input device address
   5            OUTDEV= INDEV+10        / output device address
   6
   7            / iot definitions
   8            KCF=    6000+INDEV      / keyboard clear flag
   9            KSF=    6001+INDEV      / keyboard skip if flag
  10            KRB=    6006+INDEV      / keyboard input
  11            TFL=    6000+OUTDEV     / teleprinter set flag
  12            TSF=    6001+OUTDEV     / teleprinter skip if flag
  13            TLS=    6006+OUTDEV     / teleprinter output
  14
  15            / code
  16            *0000
  17 00000 6040         TFL             /setup for TTY output
  18 00001 6030         KCF             /setup for TTY input
  19 00002 6031 LOOP,   KSF             /await input ready
  20 00003 5002         JMP     .-1
  21 00004 6036         KRB             /get character
  22 00005 6041         TSF             /await output ready
  23 00006 5005         JMP     .-1
  24 00007 6046         TLS             /output character
  25 00010 5002         JMP     LOOP    /start over

The above is perhaps a bit of overkill, but if you have devices other
than 03/04 that you want to test, this can be customized to test them.

To make the above program run on any old PDP-8, note that the KCS
instruction isn't really needed (the master clear button on the front
panel does this).  The problem is to get the teleprinter to set its
flag so that the first attempt to output will be enabled.  The
conventional fix is to output a null at the start of the program,
so you'd replace lines 17 and 18 of the above with:

  17 00000 7200         CLA             /spit out a null
  18 00001 6046         TLS             /to the TTY

Finally, once you get a console device working, you can load the RIM
loader on your console device and then download code from a support
computer that can spit RIM code out its serial output port.

(But if your normal I/O device is a TTY, you may need to make a BC01V
cable to go from your KL8E interface card to an RS232 plug, and then
you may need to add a null modem.  Info on those bits appears
elsewhere!)

Here's a TTY version of the RIM loader, easily customized for whatever
asynch port you want to load from.  Once you get this toggled into
memory, you may never have to toggle in any other code because you can
download RIM format object code from your support machine, or download
the BIN loader in object form and use it to load the software of your
choice:

   1            /       RIM loader for asynch input
   2
   3            / Input I/O device code
   4            INDEV=  0030
   5
   6            / IOT instructions used
   7            KSF=    6001+INDEV      / keyboard skip if flag
   8            KCC=    6002+INDEV      / clear AC and reader flag
   9            KRS=    6004+INDEV      / or input with AC
  10            KRB=    KCC KRS         / read input to AC
  11
  12            *7756
  13 07756 6032 BEG,    KCC             / Initialize reader
  14 07757 6031 TTYC,   KSF             / Await input
  15 07760 5357         JMP     .-1
  16 07761 6036         KRB             / Get a character
  17 07762 7106         CLL RTL
  18 07763 7006         RTL
  19 07764 7510         SPA             / Skip if high bit of char reset
  20 07765 5357         JMP     TTYC    / Else loop (skipping leader)
  21 07766 7006         RTL             / AC[0-5] is 6 bit, LINK=bit 7
  22 07767 6031         KSF             / Await input
  23 07770 5367         JMP     .-1
  24 07771 6034         KRS             / Or 6 bit char into AC[6-12]
  25 07772 7420         SNL             / Skip next if bit 7 of first set
  26 07773 3776         DCA I   TEMP    / Store data
  27 07774 3376 HSRC,   DCA     TEMP    / Set address of next data word
  28 07775 5356         JMP     BEG     / Get next data word
  29 07776 0000 TEMP,   .-.             / Address of next data word


From prp@ssd.intel.com Thu May 12 08:53:16 EDT 1994
Article: 844 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!news.kei.com!ssd.intel.com!prp
From: prp@ssd.intel.com (Paul Pierce)
Subject: Re: Anbody got a PDP-8s for disposal?
Message-ID: <CpnxL5.F2@SSD.intel.com>
Sender: usenet@SSD.intel.com
Nntp-Posting-Host: fuji
Organization: Intel
References: <CpLnx4.9M5@cix.compulink.co.uk> <2qovss$evr@nexus.uiowa.edu>
Date: Thu, 12 May 1994 00:05:27 GMT
Lines: 29

In article <2qovss$evr@nexus.uiowa.edu>, jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) writes:
|> From article <CpLnx4.9M5@cix.compulink.co.uk>,
|> by oddjob@cix.compulink.co.uk ("Stephen Walters"):
|> > Anbody got a PDP-8s for disposal?
|> 
|> 	You don't want to pay shipping from Iowa, and I don't want to
|> 	part with mine just yet.

Besides, I will outbid you. And pay shipping. (But hang on to yours as
long as you like Doug. I know you won't throw it away. Unfortunately, I
recently learned of a local PDP-8 collector who got tired of it and did
toss most of his collection. A shame.)

Someone else posted in these pages last year (I think) about finding an
8s, but I don't think he will give his up either. Very few were made, I
only saw one for sale once, 20 years ago.

|> 
|> > but what model was described as a table-top-8?
|> ...  I think the 8/I may have,
|> 	too, but I haven't seen one.

The '68 Small Computer Handbook shows the 8/I in its rack-mount
configuration and in a sleek standalone configuration where it _is_ a
table.

-- 
Paul Pierce			prp@ssd.intel.com
Disclaimer: I don't speak for Intel.


From oddjob@cix.compulink.co.uk Thu May 12 08:53:39 EDT 1994
Article: 845 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!solaris.cc.vt.edu!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!EU.net!uknet!cix.compulink.co.uk!oddjob
From: oddjob@cix.compulink.co.uk ("Stephen Walters")
Subject: RE: Test programs you can toggle in
Message-ID: <CpoH5I.CuI@cix.compulink.co.uk>
Organization: Skills Unlimited              
References: <2qrbeb$frf@nexus.uiowa.edu>
Date: Thu, 12 May 1994 07:08:06 GMT
X-News-Software: Ameol
Lines: 7

MORE! MORE!

Bravo!

Can someone take me through the steps of entering these programs?

oddjob@cix.compulink.co.uk


From jones@pyrite.cs.uiowa.edu Thu May 12 23:51:26 EDT 1994
Article: 846 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: RE: Test programs you can toggle in
Date: 12 May 1994 14:04:15 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 54
Distribution: world
Message-ID: <2qtd0v$dep@nexus.uiowa.edu>
References: <CpoH5I.CuI@cix.compulink.co.uk>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <CpoH5I.CuI@cix.compulink.co.uk>,
by oddjob@cix.compulink.co.uk ("Stephen Walters"):
> 
> Can someone take me through the steps of entering these programs?

OK.  Here's the core of one little program:
   
   4 00000 7200 	CLA
   5 00001 2005 LOOP,	ISZ	COUNT
   6 00002 5001 	JMP	LOOP
   7 00003 7001 	IAC
   8 00004 5001 	JMP	LOOP
   9 00005 0000 COUNT,	0

To load this, do the following:

     00000	 - put this on the switches, then press LOAD ADDR
           7200  - put this on the switches, then lift DEP
           2005  - put this on the switches, then lift DEP
           5001  - put this on the switches, then lift DEP
           7001  - put this on the switches, then lift DEP
           5001  - put this on the switches, then lift DEP
           0000  - put this on the switches, then lift DEP

All numbers are in octal, and you've got to convert them to binary to
load them on the switches.  Switch handle up means on, down means off.
While you are loading, the address lights show the address you are about
to load into, and once you've loaded a value, the MEM DATA dislay shows
the most recently loaded value (what is displayed is controlled by a
rotary switch on the 8/E and 8/F).

Now, if you didn't make mistakes, your program is in memory.  You can
run it as follows:

     00000	 - put this on the switches, then press LOAD ADDR
                 - make sure the HALT switch is in the up position.
                 - then press CLEAR, then press CONT.

The program increments the accumulator, so you'll get your best
display of its operation by rotating the data display switch so it
displays the accumulator.

You can inspect memory by:

     00000	 - put this on the switches, then press LOAD ADDR
                 - press EXAM

Each time you press EXAM, the MEM DATA display shows the most recently
examined memory location and the address lights show the next address,
the address you can inspect by pressing EXAM again.

Hope this helps!
				Doug Jones
				jones@cs.uiowa.edu


From jones@pyrite.cs.uiowa.edu Thu May 12 23:52:33 EDT 1994
Article: 847 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!inxs.concert.net!taco.cc.ncsu.edu!lll-winken.llnl.gov!koriel!cs.utexas.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: Anbody got a PDP-8s for disposal?
Date: 12 May 1994 13:49:37 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 18
Distribution: world
Message-ID: <2qtc5h$d3p@nexus.uiowa.edu>
References: <CpnxL5.F2@SSD.intel.com>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <CpnxL5.F2@SSD.intel.com>, by prp@ssd.intel.com (Paul Pierce):
> 
> Someone else posted in these pages last year (I think) about finding an
> 8s, but I don't think he will give his up either. Very few were made, I
> only saw one for sale once, 20 years ago.

The sales figures reported in Computers and Automation give the total
production run as 1024 (why an exact power of two?).  In comparison,
the PDP-8/I run was listed as 3698 and the PDP-8/L run was listed as
3902.  That makes 8/S systems rare, but not that rare.  There were only
1440 straight 8 systems made, and only 142 LINC-8 systems.

The difficulty of finding 8/S systems may be related to the fact that
most of them were embedded systems and to the fact that they were
inexpensive and slow, and therefore easy to throw out.

				Doug Jones
				jones@cs.uiowa.edu


From bqt@Krille.Update.UU.SE Fri May 13 00:09:37 EDT 1994
Article: 848 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!corpgate!news.utdallas.edu!chpc.utexas.edu!cs.utexas.edu!howland.reston.ans.net!EU.net!sunic!columba.udac.uu.se!Krille.Update.UU.SE!Krille.Update.UU.SE!not-for-mail
From: bqt@Krille.Update.UU.SE (Johnny Billquist)
Newsgroups: alt.sys.pdp8
Subject: Re: Test programs you can toggle in
Date: 12 May 1994 23:00:59 +0200
Organization: Update Computer Club
Lines: 92
Message-ID: <2qu5ep$t50@Krille.Update.UU.SE>
References: <2qrbeb$frf@nexus.uiowa.edu> <CpoH5I.CuI@cix.compulink.co.uk>
NNTP-Posting-Host: krille.update.uu.se

In <CpoH5I.CuI@cix.compulink.co.uk> oddjob@cix.compulink.co.uk ("Stephen Walters") writes:

>MORE! MORE!

>Bravo!

>Can someone take me through the steps of entering these programs?

Someone just did, which I noticed.

I shall give a few comments here anyway, on the subject of
small test programs to fire up your machine.

First, don't put your small programs at address 0.
Your program very quickly gets to address 10, which sometimes,
depending on what your program does, might give you weird
results.

As a rule, use 200-377 for small programs on the front panel.
This means you have page zero if you want to do something
special fancy as well, and 200-377 is just as easy as address
0-177.

Then, for small test programs:

The increment AC test is a very good starter, no comments about
that one.

The test I usually do after the AC test is TTY output test,
and this one can be much shorter than the one posted.

00200	7001
00201	6046
00202	6041
00203	5202
00204	5200

This will output all characters to the console, it's easy to
insert from the front panel, and easy to single step, if you
want to.

The next test after that is just an extension. Read from the
console, and echo it.

00200	6031
00201	5200
00202	6036
00203	6046
00204	6041
00205	5204
00206	5200

You can also check the last character entered by looking at the AC
on the front.

These both programs should work with both modern and older types
of interfaces, at all speeds, and at all machines. (cjl will
correct me if I'm wrong)

While they arguably are not optimal, they are minimal, which
I think is of more concern in these cases, and also, they
don't do any fancy, hardware dependant stuff at all.

For you who don't write pdp8 code from head, and know the
whole instruction set by heart, you can disassembly these
short programs. I always find it fun to look at binaries...

One last program, then... This one shows in the AC the
current settings of the switch register...

00200	7604
00201	5200

One more thing about programming from the front panel on the 8/e
and alike (this don't apply to the 8/i atleast).
If you enter something into memory, and it's wrong, you
must reload the address, since the address is always incremented
after each deposit. It's also always incremented after each examine,
so if you are checking your code, and find an error, you need
to backup one address before depositing the correction.

If you are familiar with operating an pdp-11 front panel, you
will tend to do things wrong. :-)

Happy hacking!

	Johnny
-- 
Johnny Billquist                  || "I'm on a bus
CS student at Uppsala University  ||  on a psychedelic trip
email: bqt@minsk.docs.uu.se       ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol


From lasner@sunSITE.unc.edu Fri May 13 00:10:04 EDT 1994
Article: 849 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Re: Test programs you can toggle in
Date: 13 May 1994 04:08:53 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 71
Message-ID: <2quugl$tvl@bigblue.oit.unc.edu>
References: <2qrbeb$frf@nexus.uiowa.edu> <CpoH5I.CuI@cix.compulink.co.uk> <2qu5ep$t50@krille.update.uu.se>
NNTP-Posting-Host: calzone.oit.unc.edu

In article <2qu5ep$t50@krille.update.uu.se>,
Johnny Billquist <bqt@Krille.Update.UU.SE> wrote:

>The next test after that is just an extension. Read from the
>console, and echo it.

>00200	6031
>00201	5200
>00202	6036
>00203	6046
>00204	6041
>00205	5204
>00206	5200

>You can also check the last character entered by looking at the AC
>on the front.

>These both programs should work with both modern and older types
>of interfaces, at all speeds, and at all machines. (cjl will
>correct me if I'm wrong)

No code problems per se.  However, if the console is a VT-100 or some 
other terminal that really needs ^S/^Q support, the output may not really 
be useful.  Also, it will output a strange escape sequence (and also a 
CSI string) which could screw up some similar consoles, etc.  Best to use 
a slow vanilla terminal so the output makes sense as an ASCII spiral, etc.

>One more thing about programming from the front panel on the 8/e
>and alike (this don't apply to the 8/i atleast).
>If you enter something into memory, and it's wrong, you
>must reload the address, since the address is always incremented
>after each deposit. It's also always incremented after each examine,
>so if you are checking your code, and find an error, you need
>to backup one address before depositing the correction.

Try a PDP-12 console.  You use Fill and Fill Step or Exam and Exam Step 
to advance through memory perhaps filling.  If you want to change a 
location, just use Fill and keep going with Exam Step.  Thus, only if you 
commit to Fill Step is it advanced.

Of course you're right on an -8/e-type panel, where it's also confusing 
to see the address of anything going through the same lights.  Sometimes 
it's the updated address of the program counter telling you the next 
location that will be fetched subsequently, and at other times it's the 
address of the operand data (or pointer if an indirect).  At least on the 
older panels the address displays are separate.

Another tip about test programs.  Use the MQ if you have one.  On the 
-8/e it's standard.  Also, remember that the MQ .OR.'s with the AC when 
reading it back into the AC with MQA.  Since you can pre-clear the AC, it 
effectively becomes a load, but perhaps the OR is useful.  Regardless, it 
makes a useful set of lights to store data in little programs.

And don't forget the MQ debugging null job.  In an interrupt-driven 
system where EAE isn't really used, use the MQ to display the contents of 
the address specified on the switches:

LOOP,	LAS			/GET THE SWITCHES
	DCA	0		/STASH AS POINTER
	TAD I	0		/GET THE CONTENTS
	MQL			/DISPLAY IN MQ LIGHTS
	JMP	LOOP		/KEEP GOING

And speaking of lights, there is the LINC-8, the best of them all.  As 
long as the LINC or tape isn't running, you can display anything in all 
of those lights of the LINC A and B registers, program counter, and to 
a limited extent the C register, not to mention the relays, and a whole lot 
of loose bits on the simulated LINC front panel.  A light-chaser's delight!

cjl (in honor of the Stand: M-O-O-N spells PDP-8)


From ivie@cc.usu.edu Sat May 14 08:08:00 EDT 1994
Article: 850 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!solaris.cc.vt.edu!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!agate!dog.ee.lbl.gov!hellgate.utah.edu!cc.usu.edu!ivie
From: ivie@cc.usu.edu
Newsgroups: alt.sys.pdp8
Subject: Re: Test programs you can toggle in
Message-ID: <1994May13.134021.19111@cc.usu.edu>
Date: 13 May 94 13:40:21 MDT
References: <2qrbeb$frf@nexus.uiowa.edu> <CpoH5I.CuI@cix.compulink.co.uk> <2qu5ep$t50@krille.update.uu.se> <2quugl$tvl@bigblue.oit.unc.edu>
Organization: Utah State University
Lines: 15

In article <2quugl$tvl@bigblue.oit.unc.edu>, lasner@sunSITE.unc.edu (Charles Lasner) writes:
> Of course you're right on an -8/e-type panel, where it's also confusing 
> to see the address of anything going through the same lights.  Sometimes 
> it's the updated address of the program counter telling you the next 
> location that will be fetched subsequently, and at other times it's the 
> address of the operand data (or pointer if an indirect).  At least on the 
> older panels the address displays are separate.

Could be worse. I imagine the PDP-5 spent about half its time displaying the
address of the PC; you know, zeros. Haven't used one, though, so I'm just
imagining; I'd appreciate it if any PDP-5 users out there can pipe up.
-- 
----------------+------------------------------------------------------
Roger Ivie      | Don't think of it as a 'new' computer, think of it as
ivie@cc.usu.edu |     'obsolete-ready'


From bgrant@umcc.umcc.umich.edu Sat May 14 08:08:34 EDT 1994
Article: 851 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!emory!swrinde!cs.utexas.edu!howland.reston.ans.net!europa.eng.gtefsd.com!newsxfer.itd.umich.edu!montego!not-for-mail
From: bgrant@umcc.umcc.umich.edu (Bruce Grant)
Newsgroups: alt.sys.pdp8
Subject: PDP-8 Front Panel
Date: 14 May 1994 01:08:37 -0400
Organization: UMCC, Ann Arbor, MI, USA
Lines: 29
Distribution: usa
Message-ID: <2r1mcl$7l9@umcc.umcc.umich.edu>
NNTP-Posting-Host: umcc.umcc.umich.edu

I recently saw a (kinda fuzzy) photo of a PDP-8 front panel, where a few
of the labels were not readable.  I'd appreciate it if someone familiar
with the PDP-8 could answer a couple of questions about it:

1)  What do the 8 switches in the lower right do?  Labels appear to be

         Start   Load    ?     ?    Cont  Stop  Sing.   ?
                   ?                            Step    ?


2)  There appears to be a column of lights on the right edge of the 
    panel labeled:

                         FETCH
                         EXECUTE
                         ?
                         BREAK 

                         ?
                         PAUSE
                         RUN

    What are the missing labels?

3)  What do the 'Data field' and 'Inst field' lights and switches refer to?

Thanks,

Bruce Grant (bgrant@umcc.ais.org)


From Kevin@kmurrell.demon.co.uk Sun May 15 11:19:40 EDT 1994
Article: 852 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
From: Kevin@kmurrell.demon.co.uk (Kevin Murrell)
Path: bigblue.oit.unc.edu!concert!news.duke.edu!convex!cs.utexas.edu!howland.reston.ans.net!pipex!demon!kmurrell.demon.co.uk!Kevin
Subject: DECmate III
Organization: Home
Reply-To: Kevin@kmurrell.demon.co.uk
X-Newsreader: Demon Internet Simple News v1.27
Lines: 17
Date: Sun, 15 May 1994 09:53:48 +0000
Message-ID: <768995628snz@kmurrell.demon.co.uk>
Sender: usenet@demon.co.uk

I have just been given a DECmate III.   While I realise what the DECmate is
internally, I am not sure if I can make any use of it.

On power-on it displays the DECMATE logo.   On inserting a blank RX50 disc
it displays a disk logo.   Does the machine have a basic monitor in
firmware?  Is there a set of keystroke to access this?

Unfortunately the machine didn't arrive with any manuals or discs!

I would like to use the machine as a PDP8 development tool.   (Bit more
convenient than working in the garage on the big one!)
 
----------------------------------------------------------------------------
Kevin Murrell
Sutton Coldfield
Birmingham
----------------------------------------------------------------------------


From jcook@epochsys.UUCP Wed May 18 13:23:18 EDT 1994
Article: 853 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-2.peachnet.edu!gatech!howland.reston.ans.net!spool.mu.edu!cass.ma02.bull.com!think.com!spdcc!merk!epochsys!jcook
From: jcook@epochsys.UUCP (Jim Cook)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8's in the schools
Summary: but what high school?
Message-ID: <3340@epochsys.UUCP>
Date: 15 May 94 17:39:06 GMT
References: <2qcsps$9g5@bigblue.oit.unc.edu> <2qdmtm$kqq@nexus.uiowa.edu> <CpE7E1.10t@world.std.com>
Organization: Epoch Systems, Westboro MA
Lines: 20

In article <CpE7E1.10t@world.std.com>, prc@world.std.com (Peter R Cook) writes:
> 
> 	When I was in high school it was a PDP-8 with the early
> 	version of star trek on it that got me hooked. After that
> 	I took BASIC, then off to college for a BSCS.

Tell us where you went to school!

I've seen a few of these messages before and they always leave me
wondering whether the individuals posting them used the same systems.
When I was in high school, I worked at a non-profit org. called
"Project Local", located in Westwood High School (Westwood, Mass.).
It ran the PDP-8's for a number of towns, including Westwood, Dedham,
Needham, Natick, Arlington, Wellesley, Lexington, and maybe Framingham.
Some of this was via leased phone lines to a central facility, while
others had their own machine.

Jim Cook
Class of '75


From david.razler@compudata.com Wed May 18 13:24:52 EDT 1994
Article: 854 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Subject: Re: Anbody got a PDP-8s
From: david.razler@compudata.com (David Razler)
Path: bigblue.oit.unc.edu!concert!news-feed-2.peachnet.edu!gatech!howland.reston.ans.net!pipex!sunic!EU.net!uunet!cmpudata!david.razler
Distribution: world
Message-ID: <12a.118.2370.0N3E1D68@compudata.com>
Date: Sun, 15 May 94 16:30:00 -0500
Organization: -=-  Compu-Data * Turnersville, NJ  -=-
Lines: 34



DW> You don't want to pay shipping from Iowa, and I don't want to
DW> part with mine just yet.

> but what model was described as a table-top-8?

DW> Probably the original PDP-8.  The key is not that it was
DW> described as a table-top machine, but rather the lack of
DW> a qualifier after the 8.  Most of the PDP-8 models came in
DW> table-top configurations; certainly, the classic 8 did, and so
DW> did the 8/S, the 8/L and the 8/E.  I think the 8/I may have,
DW> too, but I haven't seen one.  The only 8/A configurations I
DW> know of are rack-mounted, and after that, they were all
DW> essentiially desktop machines....

Doug:
   The 8-I was never offered as a tabletop model because of the way it was 
housed (see Computer Engineering/ a DEC view of system design)

   At least when I say tabletop 8 I'm referring to the first 8, the first 
full-fledged computer that could sit on a desk and supply someone with a 
relatively decent amount of relatively inexpensive computer power. I'm still 
hoping to finish getting all the material I need to reconstruct a 
PDP-8/stroke nought desktop frame. Right now all is rather precariously 
balanced while I gather prints for the base, walnut panels, and plastic 
wrap-arounds covering and directing cooling to the modules.
                                                   dmr
                                          [david.razler@compudata.com]


[david.razler@compudata.com]
---
 * WaveRdr 1.0 [NR] * UNREGISTERED EVALUATION COP


From :jones@pyrite.cs.uiowa.edu Wed May 18 13:25:38 EDT 1994
Article: 855 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Subject: Intersil
From:   :jones@pyrite.cs.uiowa.edu
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!news.duke.edu!eff!usenet.ins.cwru.edu!agate!doc.ic.ac.uk!uknet!pipex!sunic!EU.net!uunet!cmpudata!  :jones
Distribution: world
Message-ID: <12a.119.2370.0N3E1D69@pyrite.cs.uiowa.edu>
Date: Sun, 15 May 94 16:30:00 -0500
Organization: -=-  Compu-Data * Turnersville, NJ  -=-
Lines: 28

  
DW>DW>Message-ID: <2qoak8$4vl@nexus.uiowa.edu>
DW>Newsgroups: alt.sys.pdp8
DW>Organization: University of Iowa, Iowa City, IA, USA

DW>From article <CpK92w.ECu@cix.compulink.co.uk>,
DW>by oddjob@cix.compulink.co.uk ("Stephen Walters"):

> I also have an Intersil machine which has the appearance of a miniture
> switches and all. Even has battery backed RAM!

DW>Great!  That makes two surviving Intersil machines.  The other one I kno
DW>of is serial number 1, won by a visitor at the trade show where it was
DW>first exhibited.  It ran DEC's paper-tape 4K FOCAL, obtained by the owne
DW>from a PDP-8/S owner, but I know little more about it.

DW>     Doug Jones

 Doug: Never got one, but I DO have a spare 6102 chip, or whatever they 
called the impossible-to-get EAE/memory chip for their single-chip 8. Will 
trade to anyone for info on Intersil machine AND a, think it was a 6100, 
PDP-8 CPU chip.
                                             dmr
                                     [david.razler@compudata.com]

[david.razler@compudata.com]
---
 * WaveRdr 1.0 [NR] * UNREGISTERED EVALUATION COP


From prep@yarrow.wt.uwa.edu.au Wed May 18 13:26:09 EDT 1994
Article: 856 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!convex!cs.utexas.edu!howland.reston.ans.net!agate!msuinfo!harbinger.cc.monash.edu.au!news.uwa.edu.au!news.uwa.edu.au!prep
From: prep@yarrow.wt.uwa.edu.au (Paul Repacholi)
Newsgroups: alt.sys.pdp8
Subject: Main Menu disks needed for DMIII+
Date: 16 May 1994 14:42:03 GMT
Organization: The University of Western Australia
Lines: 14
Message-ID: <PREP.94May16224203@yarrow.wt.uwa.edu.au>
NNTP-Posting-Host: yarrow.wt.uwa.edu.au


Ive just got a new disk for a III+, and have formated it and
can run off a boot  floppy, but I don't have a copy of "Master
Menu" to get the toad bootable.

Can anyone out there help?

--
~Paul
                                                       +61 (09) 257-1001
prep@yarrow.wt.uwa.edu.au ( preferred )                1 Crescent Rd,
zrepachol@cc.curtin.edu.au                             Kalamunda,
                                                       West Aust    6076


From tomk@csd.uu.se Wed May 18 13:26:57 EDT 1994
Article: 857 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!convex!cnn.exu.ericsson.se!ericom!eua.ericsson.se!sunic!columba.udac.uu.se!news.uu.se!tomk
From: tomk@csd.uu.se (Tom F Karlsson)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8 Front Panel
Date: 16 May 1994 10:35:01 GMT
Organization: CS, University of Uppsala, Sweden
Lines: 56
Distribution: usa
Message-ID: <TOMK.94May16123508@hp13.csd.uu.se>
References: <2r1mcl$7l9@umcc.umcc.umich.edu>
NNTP-Posting-Host: hp13.csd.uu.se
In-reply-to: bgrant@umcc.umcc.umich.edu's message of 14 May 1994 01:08:37 -0400


In article <2r1mcl$7l9@umcc.umcc.umich.edu> bgrant@umcc.umcc.umich.edu (Bruce Grant) writes:

> 1)  What do the 8 switches in the lower right do?  Labels appear to be
> 
>          Start   Load    ?     ?    Cont  Stop  Sing.   ?
>                    ?                            Step    ?

Must be the panel of the original PDP-8.
(is it a jpg picture, posted a while ago on the net ?)

The switches are:

Start	Load     Deposit   Examine   Continue   Stop   Single   Single
	Address					       Step	Instruction

> 2)  There appears to be a column of lights on the right edge of the 
>     panel labeled:

FETCH
EXECUTE
DEFER  <- but this one I'm not sure about.
BREAK

ON
PAUSE
RUN

The only picture I have (besides the small ones in div. user handbooks) is
the jpg picture. Even after reanalysing the picture, editing colors and such,
it was hard to see..
Hopefully we have someone out there with a real machine who can tell us ?

> 3)  What do the 'Data field' and 'Inst field' lights and switches refer to?

>From the PDP-8/L handbook:

DATA FIELD SWITCH
The DF switch serves as an extension of the SR to load the DF by means of
the LOAD ADDRESS key. The DF determines the core memory field of data
storage and retrieval.

INST FIELD SWITCH
The IF switch serves as an extension of the SR to load the IF by means of
the LOAD ADDRESS key. The IF determines the core memory field from which
instructions are to be taken.

Sounds perhaps a little bit confusing :-)

/Tom

--
|  Tom Karlsson           email: tomk@csd.uu.se      phone: +46 18 260097  |
|  Student of Computer Science @ Uppsala University, Sweden.               |
|  Secretary of Update.   email: tomk@Update.UU.SE                         |
|           "Intelligence is to do stupid things in a smart way"           |


From :bgrant@umcc.umcc.umich.edu Wed May 18 20:04:42 EDT 1994
Article: 858 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Subject: PDP-8 Front Panel
From:   :bgrant@umcc.umcc.umich.edu
Path: bigblue.oit.unc.edu!concert!news-feed-2.peachnet.edu!emory!swrinde!cs.utexas.edu!howland.reston.ans.net!pipex!uknet!EU.net!uunet!cmpudata!  :bgrant
Distribution: world
Message-ID: <12a.123.2370.0N3E1DBB@umcc.umcc.umich.edu>
Date: Tue, 17 May 94 02:51:00 -0500
Organization: -=-  Compu-Data * Turnersville, NJ  -=-
Lines: 58

  
BG>Message-ID: <2r1mcl$7l9@umcc.umcc.umich.edu>
BG>Newsgroups: alt.sys.pdp8
BG>Organization: UMCC, Ann Arbor, MI, USA

BG>I recently saw a (kinda fuzzy) photo of a PDP-8 front panel, where a few
BG>of the labels were not readable.  I'd appreciate it if someone familiar
BG>with the PDP-8 could answer a couple of questions about it: ANSWERED!

BG>     What do the 8 switches in the lower right do?  Labels ARE

BG>         Start   Load    Deposit  Examine   Continue   Stop  Sing(le).   
BG>           |      address    /       \         |                Step    
              |        |      (SR in memory)   from stop            |    
              |        |       value  add. content         Execute 1 instru.
         (program   (in SR to                                    
         at address  Prog. Countr)[Switch Register is 12 swchs to left]
         in Switch                [cheapest way to input one instruct'n]
          Register)               [or datum at a time]

BG>2)  There appears to be a column of lights on the right edge of the 
BG>    panel labeled:[with the major machine states]

BG>                       / FETCH content of address
BG>                 MAJOR   EXECUTE that instruction
BG>                STATES   DEFER   to Extended Arith. Element option
BG>                       \ BREAK   stop then do it again
                            
BG>                         ION [interrupt enable flip/flop on]
BG>                         PAUSE [temp. delay]
BG>                         RUN  [what it should be doing]



BG>3)  What do the 'Data field' and 'Inst field' lights and switches refer 
                 SETS PAGE IN CORE FOR DATA AND INSTRUCTIONS
                REMEMBER, THE BASIC MACHINE IS 4K IN 1K PAGES!
                 
Bruce: I hope this clears things up a little. The idea was you could run the 
machine entirely from hand-assembled programs inputted to front panel, and 
when the machine died, go to a specific location in memory (and by looking 
at the accumulator and instruction register) to try to debug the thing. In 
fact, until the later 8 machines (and the price of ROM falling) you had to 
toggle in a short loader program to read the rest of the loader (paper) tape 
that would then let you run a one-shot app like the MIT chess program which 
needed every bit of the machine to make it work or a primitive OS that could 
handle 128K DECTapes, 32K hard disks (18" wide, x 1/2" thick) and later 128K 
hard drives in the same size factor and weight.

                                                dmr
                                       [david.razler@compudata.com]

  000 001 010 011 100 101 110 111 <how the triads of SR switches are set for 
   0   1   2   3   4   5   6   7          octal machine>

[david.razler@compudata.com]
---
 * WaveRdr 1.0 [NR] * UNREGISTERED EVALUATION COP


From david.razler@compudata.com Wed May 18 20:07:13 EDT 1994
Article: 859 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Subject: CT:Re: Test programs you can toggle in
From: david.razler@compudata.com (David Razler)
Path: bigblue.oit.unc.edu!concert!news-feed-2.peachnet.edu!emory!swrinde!cs.utexas.edu!howland.reston.ans.net!pipex!uknet!EU.net!uunet!cmpudata!david.razler
Distribution: world
Message-ID: <12a.124.2370.0N3E1DBC@compudata.com>
Date: Tue, 17 May 94 02:51:00 -0500
Organization: -=-  Compu-Data * Turnersville, NJ  -=-
Lines: 32

  
i >Message-ID: <1994May13.134021.19111@cc.usu.edu>
i >Newsgroups: alt.sys.pdp8
i >Organization: Utah State University

i >In article <2quugl$tvl@bigblue.oit.unc.edu>, lasner@sunSITE.unc.edu 
i >(Charles
i >Lasner) writes:
> Of course you're right on an -8/e-type panel, where it's also confusin
> to see the address of anything going through the same lights.  Sometim
> it's the updated address of the program counter telling you the next 
> location that will be fetched subsequently, and at other times it's th
> address of the operand data (or pointer if an indirect).  At least on 
> older panels the address displays are separate.

i >Could be worse. I imagine the PDP-5 spent about half its time displaying
i >address of the PC; you know, zeros. Haven't used one, though, so I'm jus
i >imagining; I'd appreciate it if any PDP-5 users out there can pipe up.

Never used one - the one I was supposed to get from Brooklyn Poly was gutted 
a week before I got there. Arithmetic Logic Unit went to the Computer 
Museum, the 1K core block is sitting next to me right now. The 3 micorsecond 
core was so slow that the machine had plenty of time to turn the lights on 
and off.
                                                  dmr




[david.razler@compudata.com]
---
 * WaveRdr 1.0 [NR] * UNREGISTERED EVALUATION COP


From geremin@decus.org.au Thu May 19 11:33:55 EDT 1994
Article: 860 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!gatech!howland.reston.ans.net!pipex!uknet!EU.net!uunet!munnari.oz.au!ariel.ucs.unimelb.EDU.AU!ucsvc.ucs.unimelb.edu.au!decus!geremin
Newsgroups: decus.nop,alt.sys.pdp8
Subject: Re: Main Menu disks needed for DMIII+
Message-ID: <1994May18.220756.14909@decus.org.au>
From: geremin@decus.org.au
Date: 18 May 94 22:07:56 AEST
References: <PREP.94May16224203@yarrow.wt.uwa.edu.au>
Organization: DECUS, South Pacific Chapter
Lines: 39

In article <PREP.94May16224203@yarrow.wt.uwa.edu.au>, prep@yarrow.wt.uwa.edu.au (Paul Repacholi) writes:
> 
> Ive just got a new disk for a III+, and have formated it and
> can run off a boot  floppy, but I don't have a copy of "Master
> Menu" to get the toad bootable.
> 
> Can anyone out there help?
> 
> --
> ~Paul

	Hello Paul,	General reply for all DECUS members.

	1. I guess you read in DECUSnews Vol.15, Issue 2 that there is a new
	  Library Program for the DECmate II or III, ie DM0114, WPS v2.3,
	  but from the description it is for the RX50 based systems.

	2. The local DECUS Australia NOP SIG runs an extensive Library of
	  mature software for mature hardware. We are trying to gather all
	  of the available software (with all versions) for all the DEC
	  desktop computers. We also need non-DEC software to fill in the
	  gaps in the collection.

	3. Now that DECUS SIG Librarians are no longer official positions,
	  I am not sure whether you should approach the DECUS Aust. Library 
	  Management Committee or go directly to the SIG concerned, but if 
	  all else fails then send some e-mail specifying which version of
	  'master menu' you need and we should be able to send you replacement
	  floppies for the 'local-copying-fee' of $15 per RX50. Unfortunately
	  I don't know the price of the DM0114 package from the DECUS Library.

	NB. Proper acknowlegement to appropriate copyright holders.
-- 

Regards,   John G.		(alias 'megaJOHN')
v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v
 John Geremin,   HARDWARE  SIG  Chairman,   DECUS Australia.
IN%"geremin@decus.com.au"     voice: 61-2- 764 4855  (9am-9pm)
-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-


From lasner@sunSITE.unc.edu Thu May 19 11:34:51 EDT 1994
Article: 861 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: Distribution of RX50 images on sunsite
Date: 19 May 1994 15:29:18 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 71
Message-ID: <2rg0ke$neq@bigblue.oit.unc.edu>
NNTP-Posting-Host: calzone.oit.unc.edu

In case no one's looked for awhile, the PDP-8/DECmate archive on sunsite 
is growing.  Several categories have been expanded while others have been 
fleshed out.

Of particular interest is the conclusion of archiving the back pages of 
pdp8-lovers, now available completely from inception in 1989 through the 
end of last month.  File organization is the same as the a.s.p archives, 
i.e., by month.  For example, last month's archive is 9404.lov, etc.

By popular demand, I am starting up an RX50 diskette image section in the 
directory ....../pdp-8/images/rx50.  Three different formats are 
contemplated:

1)	ENCODE format images that require OS/278 to be enhanced with the 
P?S/8 byte-mode RX50 non-system handler.  This will be implemented when 
the handler is completed.  Once done, this will allow DECmate users to 
manage RX50 diskettes without the help of PC's.  The current restriction 
of OS/278 itself causes the ENCODE program to be limited to handling 
images of the directory and data area of OS/278 diskettes only.  The 
slushware tracks cannot be copied, nor can any part of any other diskette 
where byte mode copy is required.  Using the P?S/8 byte-mode handler, any 
RX50 diskette can be ENCODEd completely, etc.

2)	WIMAGE format images that require a forthcoming modification to 
the PD program WIMAGE which is in turn distributed with FDFORMAT Version 
1.8.  The current version can only manage MS-DOS-worthy diskettes.  The 
enhanced version will support command line options to specify the 
physical format as RX50 regardless of content, etc.  Once updated, the 
WIMAGE program itself will be added to the archive.

3)	TELEDISK format images that are compatible with the last 
shareware version of TELEDISK (Version 2.12).  Note that there are some 
potential problems with TELEDISK although it generally works and is 
widely available.  It is highly recommended that any .TD0 file be 
validated with the TDCHECK program.

I need some feedback regarding the exact format of TELEDISK files.  These 
files come in two distinct flavors: a nearly uncompressed version and a 
highly compressed version.  The compressed version would seem to be the 
best to use for an archive, but there are problems:

1)	Some people have observed bugs in TELEDISK when creating 
compressed files.  TDCHECK confirms that the files are defective.  
Turning off the compression makes a longer but viable file.  The vendor 
of the program admits to the bug, but newer versions of the program 
aren't shareware and require a commercial license fee.  Moreover, the 
vendor hasn't even made a committment to fixing the bugs, i.e., there are 
commercial versions also known to have problems, etc.

2)	When using a compressed file, TELEDISK runs a lot slower.  It is 
faster, and perhaps produces a smaller archive file to use something like 
PKZIP to compress an uncompressed file.  In any case, using the 
uncompressed .TD0 file allows TELEDISK to run much faster.

It's not reasonable to archive uncompressed image files on sunsite, thus 
we have to either use the compressed format where possible, or specify an 
archive format such as PKZIP to wrap the files in, etc.  And in the case 
of PKZIP we also have to specify which version as some people may not be 
able to run the latest PKZIP (Version 2.04g a/o this writing).  (Note: 
TELEDISK files are earmarked for PC usage already!  Thus, a compelling 
case can be made for using PKZIP 2.04g anyway!)

Once these file format decisions are made, the files themselves will 
start appearing on sunsite.  All categories of systems will be covered, 
but please note that some software requires optional DECmate hardware.

So, please indicate your choice of file format.  I will start stuffing 
files probably within a week.

cjl


From jones@pyrite.cs.uiowa.edu Fri May 20 10:45:17 EDT 1994
Article: 862 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!xanth.cs.odu.edu!news.larc.nasa.gov!lerc.nasa.gov!magnus.acs.ohio-state.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: DECmates for sale
Date: 18 May 1994 14:38:53 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 27
Distribution: world
Message-ID: <2rd99t$p6q@nexus.uiowa.edu>
References: <2rd1aq$1k8@s.ms.uky.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

Here's a note I saw posted on alt.folklore.computers that ought to be
posted here (I've deleted bits and pieces).

Please respond by E-mail to Chris Dotson, not to me!

					Doug Jones
					jones@cs.uiowa.edu

---------------------------- cut ----------------------------
>From article <2rd1aq$1k8@s.ms.uky.edu>, by elric@mik.uky.edu (chris dotson):

Here's some OLD equipment we gotta get rid of.  Everything but the
broken PDP works.  Make an offer!  It WILL go, one way or another.

1 DecMate II System, RDS1 HD, 2 RD50 (5 1/4 inch) drives
1 DecMate III System, 2 RD50 drives
2 VR201 Monitors (goes with most DEC PC's)
1 Intergraph VT-10A terminal (VT100 clone)
1 Intergraph VT-10A sans keyboard (don't know WHERE that went!)
1 Working PDP-11, 2 RD50 drives and HD, loaded with Micro/RSX
1 Broken PDP-11, 2 RD50 drives and HD, console terminal board is bad

Make an offer.  The only caveat is that YOU pay shipping; some of this 
stuff is rather bulky.  Above and beyond that, highest bid takes it, 
whatever that might be.  E-mail or call (606) 223-2316 and ask for

Chris  Dotson - elric@mik.uky.edu         /NeXTMail welcome. /         


From oddjob@cix.compulink.co.uk Fri May 20 10:45:50 EDT 1994
Article: 863 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!solaris.cc.vt.edu!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!EU.net!uknet!cix.compulink.co.uk!oddjob
From: oddjob@cix.compulink.co.uk ("Stephen Walters")
Subject: Re: Test programs you can toggle in - Thank you for your help
Message-ID: <Cq0u1t.HFp@cix.compulink.co.uk>
Organization: Skills Unlimited              
References: <1994May13.134021.19111@cc.usu.edu>
Date: Wed, 18 May 1994 23:17:53 GMT
X-News-Software: Ameol
Lines: 13

I would like to thank all those people who have given me test prog to 
toggle in. I have a BBC film crew coming round on thursday evening and 
....

...One of the thinks in my vast computer collection they want to see is 
my PDP8e. So many thanks


73's

If anybody is disposing of a PDP8e/s or VT78 please let me know...

oddjob@cix.compulink.co.uk


From bqt@Krille.Update.UU.SE Fri May 20 10:47:47 EDT 1994
Article: 864 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!inxs.concert.net!taco.cc.ncsu.edu!lll-winken.llnl.gov!sol.ctr.columbia.edu!howland.reston.ans.net!pipex!sunic!columba.udac.uu.se!Krille.Update.UU.SE!Krille.Update.UU.SE!not-for-mail
From: bqt@Krille.Update.UU.SE (Johnny Billquist)
Newsgroups: alt.sys.pdp8
Subject: Re: PDP-8 Front Panel
Date: 19 May 1994 02:51:10 +0200
Organization: Update Computer Club
Lines: 67
Message-ID: <2red6c$siv@Krille.Update.UU.SE>
References: <12a.123.2370.0N3E1DBB@umcc.umcc.umich.edu>
NNTP-Posting-Host: krille.update.uu.se

In <12a.123.2370.0N3E1DBB@umcc.umcc.umich.edu> :bgrant@umcc.umcc.umich.edu writes:

>BG>I recently saw a (kinda fuzzy) photo of a PDP-8 front panel, where a few
>BG>of the labels were not readable.  I'd appreciate it if someone familiar
>BG>with the PDP-8 could answer a couple of questions about it: ANSWERED!

>BG>     What do the 8 switches in the lower right do?  Labels ARE

>BG>         Start   Load    Deposit  Examine   Continue   Stop  Sing(le).   
>BG>           |      address    /       \         |                Step    
>              |        |      (SR in memory)   from stop            |    
>              |        |       value  add. content         Execute 1 instru.
>         (program   (in SR to                                    
>         at address  Prog. Countr)[Switch Register is 12 swchs to left]
>         in Switch                [cheapest way to input one instruct'n]
>          Register)               [or datum at a time]

          ^^^^^^^^^^

          Wrong. The program is started at the current address,
          the switch register is the physical switches, whose
          value can be loaded into the current address with
          LOAD ADDR

>BG>2)  There appears to be a column of lights on the right edge of the 
>BG>    panel labeled:[with the major machine states]

>BG>                       / FETCH content of address
>BG>                 MAJOR   EXECUTE that instruction
>BG>                STATES   DEFER   to Extended Arith. Element option
>BG>                       \ BREAK   stop then do it again
>                            
>BG>                         ION [interrupt enable flip/flop on]
>BG>                         PAUSE [temp. delay]
>BG>                         RUN  [what it should be doing]



>BG>3)  What do the 'Data field' and 'Inst field' lights and switches refer 
>                 SETS PAGE IN CORE FOR DATA AND INSTRUCTIONS
>                REMEMBER, THE BASIC MACHINE IS 4K IN 1K PAGES!

No, the basic machine is 4K in 128 word pages, and this has nothing
to do with the DF and IF.
There is an option whereby you expand the pdp8 to 32K words,
separated into 8 4K fields. IF and DF indicates which field is
currently selected for instruction and data respectively.

>Bruce: I hope this clears things up a little. The idea was you could run the 
>machine entirely from hand-assembled programs inputted to front panel, and 
>when the machine died, go to a specific location in memory (and by looking 
>at the accumulator and instruction register) to try to debug the thing. In 
>fact, until the later 8 machines (and the price of ROM falling) you had to 
>toggle in a short loader program to read the rest of the loader (paper) tape 
>that would then let you run a one-shot app like the MIT chess program which 
>needed every bit of the machine to make it work or a primitive OS that could 
>handle 128K DECTapes, 32K hard disks (18" wide, x 1/2" thick) and later 128K 
>hard drives in the same size factor and weight.

The MIT chess program referred to is probably MAC-CHESS (I think it
was called, long before apple started to call everything MAC-XXX).
This program ran on the pdp6, not the pdp8.
-- 
Johnny Billquist                  || "I'm on a bus
CS student at Uppsala University  ||  on a psychedelic trip
email: bqt@minsk.docs.uu.se       ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol


From jones@pyrite.cs.uiowa.edu Fri May 20 12:36:54 EDT 1994
Article: 865 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!eff!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8,alt.folklore.computers
Subject: TU55 DECtape drives
Date: 19 May 1994 14:34:43 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 92
Distribution: world
Message-ID: <2rfte3$d4n@nexus.uiowa.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu
Xref: bigblue.oit.unc.edu alt.sys.pdp8:865 alt.folklore.computers:66042

For all those who remember or save pre 1970 DEC hardware, I'm interested
in trying to pin down the variations on the TU55 DECtape drive.  DECtape
was DEC's original answer to the market that was eventually satisfied
by the floppy disk.  A DECtape reel is 4 inches in diameter by an inch
thick, with 3/4 inch wide tape.  It is block addressable, bidirectionally
readable, and as conventionally formatted for the PDP-8, it had 1474
blocks of 129 words, 12 bits each; that translates to 285219 kilobytes,
which is not too different from early floppy disks.  Furthermore, DECtapes
were well known for their fault tolerance.  It was common to be able to
recover data from a reel reel of DECtape that had been unrolled, crumpled,
and even punched with holes.

Back to the story.  DEC made two major varieties of DECtape drives, the
TU55 (essentially pre 1970) and TU56 (essentially post 1970).  Below is
a bit of ASCII art showing the basic configuration of a pair of these
drives, mounted in an EIA standard 19 inch mounting rack:

          | |_____________| |
          || s s s   s s s ||             s = switches
          ||   A       A   ||   <-- TU56  A = record/playback head
          ||(O) (O) (O) (O)||            (O)= spindle
          ||_______________||
          ||         s s s ||             Note: Drive have no capstain,
          ||   A           ||   <-- TU55  no pinch rollers, and only
          ||(O) (O)        ||             a few switches (load unload,
          ||_______________||             forward reverse, and unit
          | |             | |             number selection).
          | |             | |

Now, to my quest!  I have 4 TU55 drives in my collection (none yet
restored to operating condition).  Here are pictures of the two basic
varieties I have:

           ____________________________________
           ------------------------------------
           |                  --------------- |   Serial number 166
           |  --------------  | ||| |-| ||| | |   looks like this,
           |  |   - /\ -   |  | ||| |-| ||| | |   roughly.
           |  |  /_||||_\  |  |             | |
           |  |        __  |  |             | |   Aluminum trim along
           |  | _\/_  /  \ |  |-------------| |   the top and bottom
           |  |  /\   \__/ |  |  DECtape55  | |   only, and an aluminum
           |  |____________|  |-------------| |   nameplate on the door
           |                  |_____________| |   over the wirewrap.
           |__________________________________|
           ------------------------------------
           ____________________________________
           | -------------------------------- |
           ||                 ---------------||   Serial number 439
           || --------------  | ||| |-| ||| |||   is about like this.
           || |   - /\ -   |  | ||| |-| ||| |||
           || |  /_||||_\  |  |             |||
           || |        __  |  |             |||   Aluminum trim along
           || | _\/_  /  \ |  |             |||   the top, bottom and
           || |  /\   \__/ |  |             |||   sides, and nothing
           || |____________|  |             |||   on the door but black
           ||                 |_____________|||   paint.
           ||________________________________||
           ------------------------------------

In both of the above pictures, the ||| symbol represents two adjacent
rocker switches.                   |||

In both of the above pictures, the |-| symbol represents a whopping big
thumbwheel unit select switch.     |-|

My final two drives, serial numbers 2078 and 2104, were made under the
Astrotape OEM label.  They've got a simplified user interface, with
no unit select thumbwheel switch and only three rocker switches, one
on each side and one where the unit select is.  Other than that, the
silkscreened Astrotape logo on the door, the lack of a cooling fan
behind the front panel, and differences in the 110 volt wiring, they're
identical to number 439.

I understand that there was later variant with plastic trim around the
front panel.

So!  If you have some TU55 DECtape drives, could you fill out this little
survey for each one you can find?

   Serial number:
   Has it got an aluminum nameplate?
     If not, has it got a painted on logo?
     If it has a logo (aluminum or painted) what is it?
   Has it got aluminum rails around the edges?
     If so, are they just top and bottom?
     If not, has it got plastic trim around the edges?
   Has it got a cooling fan over the motors?
   Is it currently in operational condition?

					Doug Jones
					jones@cs.uiowa.edu


From jones@pyrite.cs.uiowa.edu Fri May 20 14:43:52 EDT 1994
Article: 866 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: Test programs you can toggle in - Thank you for your help
Date: 19 May 1994 15:51:10 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 18
Distribution: world
Message-ID: <2rg1te$eun@nexus.uiowa.edu>
References: <Cq0u1t.HFp@cix.compulink.co.uk>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <Cq0u1t.HFp@cix.compulink.co.uk>,
by oddjob@cix.compulink.co.uk ("Stephen Walters"):

> I would like to thank all those people who have given me test prog to 
> toggle in. I have a BBC film crew coming round on thursday evening and 
> .....

If your machine has core memory, you can preload everything for the visit
days in advance, and speed your demo when the film crew is there.  Just
toggle in the demo (or demos) you want, then halt the machine and power
it down.  The demo will stay in core.  Power the machine up with the
halt switch down, then flip halt up, load the starting address, clear the
machine, and continue, and your demo will be running.  The sequence, from
a cold machine to blinking lights, should look good on film, alot better
than a frustrated programmer trying to toggle something in and getting
it wrong on camera.
				Doug Jones
				jones@cs.uiowa.edu


From jones@pyrite.cs.uiowa.edu Fri May 20 14:45:37 EDT 1994
Article: 867 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!eff!usenet.ins.cwru.edu!howland.reston.ans.net!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Canonical Flip-Chip Terminology
Date: 19 May 1994 16:23:32 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 44
Distribution: world
Message-ID: <2rg3q4$fsv@nexus.uiowa.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

Charles Lasner and I were hashing over bugs in my FAQ when we noticed that
we were using incompatable terms for the dimensions of various size of
flip-chips, so last night, I wandered through my collection of DEC Logic
Handbooks, and verified the terminology preferred by DEC:

      <---------------- height --------------->

       ___\__/___________   ______   __\__/___     
      |  |____|          | |      | | |____|  |    /|\
      |  _ _             |_|      |_|         |     |
      |   | |                                 |     |
      |   | |                                 |     |
      |   | |       quad height               |     |
      |  _|_|                                 |     |
      |           extended length             |     |
      |                                       |     |
      |___\__/______\__/___         ___\__/___|   length
      |  |____|    |____|  |       |  |____|  |     |
      |                    |       |          |     |
      |   double height    |       |  single  |     |
      |                    |       |  height  |     |
      |  standard length   |       |          |     |
      |                    |       | standard |     |
      |                    |       |  length  |     |
      |_        __        _|       __        _|     |
        |      |  |      | |      |  |      |       |
        |______|  |______| |______|  |______|      \|/

The term width is used by DEC to refer to the thickness of the board.
Most boards are single-width, but some have big components on them that
make them double width.

The terms height, width, and length are used uniformly in all board
dimensional drawings I've been able to find, from the the 1966-67
logic handbook to the 1978 logic handbook.

Having started using DEC equipment in the PDP-11/20 era, it's very
tempting for me to think in terms of an OMNIBUS board being quad-wide,
extended height, but none of my DEC documentation uses the terms this
way, so I guess, since I also deal with older stuff these days, I'll
try to stick to the "official" terms from now on.

				Doug Jones
				jones@cs.uiowa.edu


From cgordon@vpnet.chi.il.us Fri May 20 14:46:34 EDT 1994
Article: 868 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!solaris.cc.vt.edu!spcuna!charon.citicorp.com!uunet!amiserv!vpnet!espada!cgordon
From: cgordon@vpnet.chi.il.us (gordon hlavenka)
Subject: Re: PDP-8 Front Panel
Message-ID: <Cq26vw.1Kv@espada.chi.il.us>
Sender: news@espada.chi.il.us (USENET News)
Organization: Vpnet - Your FREE link to the Internet (708)833-8126
References: <2r1mcl$7l9@umcc.umcc.umich.edu> <TOMK.94May16123508@hp13.csd.uu.se>
Distribution: usa
Date: Thu, 19 May 1994 16:52:43 GMT
Lines: 31

Tom F Karlsson <tomk@csd.uu.se> wrote:
>From the PDP-8/L handbook:
>
>DATA FIELD SWITCH
>The DF switch serves as an extension of the SR to load the DF by means of
>the LOAD ADDRESS key. The DF determines the core memory field of data
>storage and retrieval.
>
>INST FIELD SWITCH
>The IF switch serves as an extension of the SR to load the IF by means of
>the LOAD ADDRESS key. The IF determines the core memory field from which
>instructions are to be taken.
>
>Sounds perhaps a little bit confusing :-)

Not _too_ confusing; as a geeky high-school freshman in 1972 even I
could figure it out.  Now, we have an example in the X86 architecture:

The 8 series has a 3-bit CS register (called IF) and a 3-bit DS register
(called DF).  12-bit addressing gives you 4K segments, 12 bits wide.
The switches described above allow you to load the CS and DS from the
front panel.

The difference between pdp8 "segments" and X86 segments is that the
pdp8 segment registers simply extend the address by three bits.  This
is actually a lot simpler to understand than the Intel gyrations.

--
----------------------------------------------------
Gordon S. Hlavenka           cgordon@vpnet.chi.il.us
Proud father of Daniel Scott     born August 9, 1993


From ivie@cc.usu.edu Fri May 20 14:48:07 EDT 1994
Article: 869 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!emory!swrinde!cs.utexas.edu!howland.reston.ans.net!agate!dog.ee.lbl.gov!hellgate.utah.edu!cc.usu.edu!ivie
From: ivie@cc.usu.edu
Newsgroups: alt.sys.pdp8,alt.folklore.computers
Subject: Re: TU55 DECtape drives
Message-ID: <1994May19.221643.19809@cc.usu.edu>
Date: 19 May 94 22:16:43 MDT
References: <2rfte3$d4n@nexus.uiowa.edu>
Distribution: world
Organization: Utah State University
Lines: 43
Xref: bigblue.oit.unc.edu alt.sys.pdp8:869 alt.folklore.computers:66102

In article <2rfte3$d4n@nexus.uiowa.edu>, jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) writes:
> 
>            ____________________________________
>            ------------------------------------
>            |                  --------------- |   Serial number 166
>            |  --------------  | ||| |-| ||| | |   looks like this,
>            |  |   - /\ -   |  | ||| |-| ||| | |   roughly.
>            |  |  /_||||_\  |  |             | |
>            |  |        __  |  |             | |   Aluminum trim along
>            |  | _\/_  /  \ |  |-------------| |   the top and bottom
>            |  |  /\   \__/ |  |  DECtape55  | |   only, and an aluminum
>            |  |____________|  |-------------| |   nameplate on the door
>            |                  |_____________| |   over the wirewrap.
>            |__________________________________|
>            ------------------------------------

The piece of TU55 that I have looks similar to this. However, I have aluminum
trim on all four sides. I also don't have the star hub; both of my hubs are
round.

>    Is it currently in operational condition?

Sadly, no. You see, the guy I got this from collects old stuff as raw
materials for his projects. He's interested in motors, switches, etc. The
only reason I have the face plate is that he didn't know what to do with
it, so he made me a kind of artsy thingy from it. I only have the face
plate.

Kind of a depressing thing to do to a machine, I know. He's the same guy
that I got my PDP-5 front panel from; if I had had any idea what the machine
was at the time, I would have held out for the entire thing (it's not like
it had PDP-5 written on it or anything; just a collection of assorted
logic modules with a brushed stainless front panel. The front panel doesn't
even say PDP-5). I also managed to rescue the CPU half of a classic 8 from
him; the only motors, etc. were the fans, which he wasn't terribly interested
in. I couldn't get the rest of the logic because he was determined to open
up the core to see what it looked like inside.

Sigh; now I'm all depressed...
-- 
----------------+------------------------------------------------------
Roger Ivie      | Don't think of it as a 'new' computer, think of it as
ivie@cc.usu.edu |     'obsolete-ready'


From lasner@sunSITE.unc.edu Fri May 20 14:48:19 EDT 1994
Article: 870 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!sunSITE!lasner
From: lasner@sunSITE.unc.edu (Charles Lasner)
Newsgroups: alt.sys.pdp8
Subject: More DECtape drive info
Date: 20 May 1994 18:34:57 GMT
Organization: University of North Carolina, Chapel Hill
Lines: 296
Message-ID: <2rivsh$p3j@bigblue.oit.unc.edu>
NNTP-Posting-Host: calzone.oit.unc.edu

Doug's request for DECtape drive info needs to have more stuff explained:

The first drive is the LINC drive.  This was used in the LINC and LINC-8
and uses relays to implement the functions.  However, these relays are an
unusual type: they are capable of switching as fast as 60 Hz, and they
include a coil driver transistor in the case.  They also plug into an
unusual socket complete with mini hold-down straps.  Additionally, the
LINC and LINC-8 support relays as an output device.  There are six of them
and they use precisely the same relay as in the tape drives.  There is a
test program to diagnose sticky relay contacts where you plug the affected
relay into relay register[0] and hook a voltage and the A-D convertor up
to it on two channels.  You get a scope display of the dynamics of the 
contacts as they are switched at high-speed that indicate if they are 
adjusted well, etc.

One particular relay in the tape drive has 110V across the contacts, so 
if it should accidentally make before break, you have smoke!  A common 
ECO was to replace this particular relay with a triac module whose wiring 
is fudged into a relay case with a hole drilled on top, etc.  The module 
itself is then velcroed onto the tape chassis in any empty spot, etc.

The 555 drive used on the PDP-6 and the PDP-5 552 controller is similar.  
However, the LINC drive uses R-series compatible logic levels of -3, 0 Volts 
while the 555 uses so-called "relay logic levels" which are two different 
negative voltages (don't remember the values).

The TU55 includes a jumper module in each drive that can be changed to a
level convertor to make it compatible with the 555.  Other than the 
head-select relays, there are no control relays in either a TU55 or TU56 
(the TU55 is known as the "Solid State" DECtape).

The LINC and 555 drives are belt-driven using a surgical rubber belt with 
cloth inserts.  By now all have worn out.  I have a superior replacement 
belt source where the belts are made of nylon.  The replacements show no 
sign of wear in 12 years, etc.

All newer drives use direct drive motors.  TU55 motor control is 110V 
into SCR's.  TU56 uses power amplifiers to create 40 Hz power into the 
motors.  DC power is used to hold the motors still; less power is used to 
provide tape torque to pull against, etc.  TU55 uses a shaft-mounted 
brake mechanism reminiscent of an automotive air-compressor clutch.  When 
a TU55 is stopped, you can hear the brake apply, etc.

Apparently all of the drive variations in the TU55 world were instigated 
by Astrotype.  This includes the so-called BE01 which is merely a TC01 
with no status panel which not only means no status lights, but also no 
ability to format tapes.  I once upgraded a BE01 to TC01 status by 
canniballizing another TC01 for the relevant cables, panel, modules, 
etc.  It wouldn't format until we hunted down a small missing wire-wrap.  
This missing wrap only affected the ability to format and seemed like a 
sneaky way to disable the function.  (Note: all of the rest of the wrap 
is present to allow the upgrade.)  Once we were done, the only pedantic 
difference between a "real" TC01 and the BE01 is that the nameplate has 
the serial number and ID of BE01 instead of a serial number saying TC01 
from standard production, etc.

Also, there is a unique drive known as a BE03.  In essence, this is a 
dual TU55 attempting to be a TU56.  No unit select is provided; 
presumably the drive is just permanently 0 and 1 or some internal jumper 
can change the drive pair.  The relay-logic/jumper modules are not 
present, so this can only be run on the negative tape buss.  No write 
protect switches are provided.  In fact, the only switches are the 
off-line and motion switches of the TU55 using the same switch 
mechanisms, etc.

Doug has a very early prototype TU55 with the aluminum trimplate on the 
door.  As in the book illustration, it lacks aluminum trim on the sides.  
Newer drives have 4-sided aluminum trim that screws together.  Still 
newer drives use a casting surround that matches the overall appearance 
of machines such as the -8/l and -8/e and are painted antique white to 
match, etc.

TU56 comes in a variant of a "half" drive called TU56H.  Because of the 
built-in power supply, it certainly *weighs* more than half!  Removing 
the dummy cover generally reveals an area easily upgraded.  I have 
demised several TU56H drives to upgrade others to dual status.

A word about TU55/56 guides:

All drives can take the same new ECO guides.  The difference is whether 
to mount with roll pins or pins as well as screws.  Most of the TU55's 
use aluminum guides that cannot be upgraded and which use a flat cover 
plate on each guide.  Very occasionally, the metal will be steel but the 
same overall shape.  The guide plates themselves are made of soft steel 
and are clearly not reversible.

A newer design is always found in a TU56 guide.  In this version, the
front covers are drilled with various holes to support the guide plates
better.  Only a small hole is drilled for the older variant spring.  The 
guide plate area is planed out both in the cover and the guide itself in 
this design.  (The older system uses a deeper cut in the guide and a flat 
cover.)  Some TU55's will be found as ECO'd to the same level as these 
early TU56's.

DEC attempted several ECO's to overcome tape problems, especially when 
the more finicky TD8E came along.  The first attempt was to use a 
reversible ceramic guide plate to replace the soft steel non-reversible 
type.  Field circus liked this, because they could lazily just turn the 
plates over periodically and claim they were "servicing" the machine!  
Additionally, newer rear cheek plates were cut to also be reversible.  
Thus, field circus could dismantle the guides completely and reverse the 
rear plates as well, etc.

However, it was discovered that these reversible front plates actually 
chewed the tape up!  The soft steel plates would develop score lines and 
dirt that caused friction and jerkiness in the tape motion, but wouldn't 
materially hurt the media.  The ceramic plates are tougher, and tend to 
kill the tapes themselves!  A lot of tapes have either a rough edge or a 
"cupped" appearance due to these crummy plates!

Eventually, a better fix was found: The guides themselves were cut deeper 
so that the front plate could march to the rear a few more thousandths in 
case the tape was worn thinner.  Thus, older or damaged tapes could still 
be made to lie flat and be read properly, etc.  (This refers to the tape 
width being less, not the thickness!)

Clearly the ceramic guide plates were pushing too much on the tape, thus 
the cupped appearance, etc.  To counteract this, the front covers were 
redrilled with a larger hole closer to the center of the plate.  A larger 
softer spring was used to allow the tape to lie flatter.

Finally, it was revealed that the reversible ceramic plate was too 
"sharp" for the tape and was a source of wear.  A replacement was 
produced that was exactly the shape of the original one-sided steel 
plate, but made of the same ceramic material.  The only remaining problem 
was a lot of idiot field circus types still assuming that the plates were 
reversible!  (Reversing the non-reversible plate has an affect on the 
tape similar to dragging a razor blade on it!)

A competent machinist can drill the holes in the front covers, and plane 
down the guide area.  Alternate springs can be acquired.  The hardest 
part to get is the ceramic wear plates.  An alternative is to use the 
older steel plates and clean them often.  The reversible plates should be 
discarded.  (Note: perhaps someone can figure out how to modify the 
plates so they are as good as single sinded!  Perhaps some epoxy or other 
resin applied to one side?)

TU56 comes with two series of jumper modules or level convertors.  Most 
PDP-8 applications use a jumper for the relay->negative position, and a 
negative->positive module in the second position on each half-drive.  On 
a PDP-11 TC11 system, both are jumpered since the -11 uses positive 
control logic.  If there are multiple drives, then a straight-through 
cable is used to connect them.  If the drives are on a TD8E, then only 
two drives are supported.  In a contrived case, it's conceivable that 
there would be two TU56H drives with the same cable between them!

But for all other applications, the drives are setup as negative.  If 
there are multiple TU56's involved, the same cable goes between them, but 
the first cable is an asymmetric cable that must have one end inserted 
into the TC01 or TC08 or PDP-12 with the designated other end into the 
first TU56.  The cable is a complicated rainbow cable with no clue as to 
which end is which.  An ECO is to attach labels to it to tell!

Should TU55's be involved, they must come first as they use cabling 
compatible with the controller and are straight-through, etc.  
Additionally, there are head cables to transport the head buss between 
chassis.

TU56 uses an on-board power supply to create sundry voltages needed 
within the drive.  However, an external supply is still needed to provide 
-15 and either +10 or +5 volts.  One of the TU56 modules includes a +10 
-> +5 regulator that will automatically be used if required.  However, if 
the drive is being used for a TD8E, then 5 G888 modules are placed within 
the (first) drive.  (Note: these are the same modules as in the 
TC08/TC15.  The PDP-12 and TC01 use the G882 which is esssentially the 
same card only with negative logic levels, etc.)  In this case, +5 is 
mandatory since otherwise it overloads the regulator!  Thus, most 
TD8E-era TU56's use an external small -15, +5 supply while older drives 
use the older negative unregulated power supplies.  Additionally, the 
TC08 supports a +10 -> +5 regulator on its own chassis, known for getting 
quite hot (and occasionally failing!).  TC01 and TU55 use the older 
supply directly.

There is a problem with the built-in power supply:  A noise-inducing 
grounding problem was revealed.  Apparently field circus invented its own 
fix to the problem.  Unfortunately, it only made the problem worse!  
Thus, it is necessary to ensure their fix is removed, and the official 
one is added.  The unacceptable fix is a wire added internally in a 
roundabout manner.  If present, remove it.

The proper fix can be done either internally or externally.  There are 
multiple power tabs on the supply and a pair of black ground tabs, one 
near the top and one near the bottom of a stack of various power tab 
connectors, etc.  Late production supplies do the ECO internally by 
soldering a wire between these two.  An acceptable alternate is to 
provide those little brass faston expander lugs while the supply is 
inside of the drive and just jumper the two ground terminals together.  
(Note: there should also be a ground wire from one of these to the front 
plate.  This prevents problems due to the pivot point not really being a 
good ground!)  Unfortunately, it's necessary to remove the supply, and 
take it apart to ensure the field circus abortion isn't present!  Having 
both causes a ground loop!

The only exception is a new production supply.  Most look just like the 
earlier supplies, so you still have to take them apart.  (The field 
circus method was quite widespread; drives that were reliable for years 
and then become unreliable are traceable to this mistake!)  However, 
final ECO supplies also include another change obvious from the back 
side: they include a large diameter fuse holder.  This is a fuse for the 
110V receptacle against too much equipment being plugged into the power 
daisy-chain.  The fuse holder is designed to be replaced without supply 
disassembly and is quite obvious if present.  I also have a supply that 
was upgraded to include the fuse holder; it's obviously a refurb job 
because the silkscreen lines don't match, etc.  (And opening that supply 
revealed no internal ECO, either the field circus or the correct one; so 
I added the internal soldered one, etc.)

Drive hubs:

The original drive hub is known as a Hartman hub.  On the LINC-8 drive, 
it's a light mechanism that accepts the reels with a satisfying "snap" as 
you apply the reel.  It's quite easy to remove the reel.  The outermost 
part of the mechanism is a coil spring that gets compressed as you snap 
the reel over it.  The spring is fairly wimpy and has to be "enhanced" by 
removing it from the hub and adding in rubber bands before replacing the 
spring.  In any case, you can get just enough tension that worn reels 
won't slip without needing excessive force to take off new reels, etc.

Unfortunately, on the TU55, someone overdesigned the Hartman hub into a 
disaster!  The reels go on easily, but come off with great difficulty.  
Most TU55 drives show signs of scratches from shoehorns, screwdrivers, 
can-openers, etc. that people have used over the years to remove the 
reels!  Fortunately the back plates are made of aluminum, not plastic!

An ECO is to replace the hubs with TU56-type spider hubs.  Cheap field 
circus-maintained sites would only change one hub on the theory that only 
rarely was the other side needed to be removed.  (Note: which side is a 
take-up reel is determined by whether you use LINCtape or DECtape!)

Some unscrupulous field circus idiots have been found to put old Hartman 
hubs on TU56!  This is the worst possible situation because now you are 
applying screwdrivers to plastic :-(.  Needless to say, this is *not* an 
authorized change!

TU56-type spider hubs come in two varieties.  In one case, the setscrews 
are 180 degrees apart.  The preferable ones are more like 90 degrees, but 
actually a bit more.  (They break less!)

Spider hubs hold the tape well, but not as good as LINC drive Hartman 
hubs.  You have to hand-locate the tape so it doesn't run too much out of 
round, etc.

LINC drives use a one-piece aluminum guide with no moving parts.  In 
spite of the lack of wear plates per se, the gentler drive (it moves at 
2/3 the speed!) neither wears nor wears out tapes.

Most TU56's have a nice plastic front panel behind the drive hubs.  Late 
production drives have a "manufacturing ECO" that deletes the plastic 
panel and merely spray paints the bear cast metal!  (Ugly!)  I have 
deliberately rebuilt a pair of TU56H that were "new" into an "old" 
chassis front!

There is a curious problem associated with the negative level converter 
modules for TU56.  Attempts to write code on both the TC01/08 and the 
PDP-12 to handle tape motion have been thwarted by what appears to be an 
ECO problem with this module.

When a too *new* module is used, it interferes with certain programs:

The OS/8 REWIND and UNLOAD commands were designed on a machine with 4 
pairs of TU56.  (It was also used to produce "certified" DECtapes often 
misformatted!)

The rewind command is supposed to initiate a reverse move command and not 
wait.  If no command is given to the tape system, the END error will stop 
the tape when it's fully rewound, etc.  Should another tape operation 
(such as a read) be started on another drive, the rewinding drive is 
supposed to stop moving.

But on this machine (or similarly afflicted) the tape *continues* to 
rewind while the other selected drive is accessed normally.  (One could 
call this a "feature" but it's not supposed to happen!)  Additionally, 
the unload code often fails on normal tape systems, functioning only on 
similarly defective systems.

In P?S/8 there are keystroke commands to rewind and unload the tapes as 
well.  However, the unload operation is designed to mimic the TOPS10 
equivalent: the tape is rewound into the end zone until the end error 
occurs.  Then, the tape motion is deliberately reversed and then 
cleared.  This has the effect of locking the brakes if on a TU55 and 
merely stopping on the TU56 (after the tape is already wound off; the 
difference is that on a TU56 the tape just flaps, while on a TU55 the 
reel is also stopped).

Unfortunately, on a defective machine the rewind works as in OS/8, and 
the unload merely does a rewind.  Additionally, the P?S/8 binary loader 
program will not properly deselect multiple tapes (again seeming to mimic 
the rewind phenomena).  There is a one-word patch to prevent this, but it 
degrades performance on normal machines!

The only time this situation shows up is if there are multiple TU56's and 
the ECO level of the negative level converter module is too high!  Single 
drive pairs don't exhibit the problem.

cjl


From oddjob@cix.compulink.co.uk Mon May 23 12:05:04 EDT 1994
Article: 871 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-2.peachnet.edu!gatech!howland.reston.ans.net!EU.net!uknet!cix.compulink.co.uk!oddjob
From: oddjob@cix.compulink.co.uk ("Stephen Walters")
Subject: Missing bits from PDP-8 faq
Message-ID: <Cq7Fys.4Js@cix.compulink.co.uk>
Organization: Skills Unlimited              
Date: Sun, 22 May 1994 12:56:52 GMT
X-News-Software: Ameol
Lines: 9

Where is the rest of this?

>Subject: Where can I get a PDP-8 today?

>The CESI machine may still be on the market, for a high price, but
>generally, you can't buy a new PDP-8 anymore.  There are q
......and....?

oddjob@cix.compulink.co.uk


From chris@transdata.co.nz Tue May 24 08:17:33 EDT 1994
Article: 872 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8,alt.folklore.computers
Path: bigblue.oit.unc.edu!concert!news-feed-2.peachnet.edu!emory!swrinde!pipex!sunic!EU.net!uunet!comp.vuw.ac.nz!waikato!auckland.ac.nz!kcbbs!transdata!chris
From: chris@transdata.co.nz (Chris Grace)
Subject: Re: TU55 DECtape drives
Message-ID: <Cq8s1x.7uG@transdata.co.nz>
Followup-To: alt.sys.pdp8,alt.folklore.computers
Organization: TransData Corporation Ltd. Auckland, New Zealand.
X-Newsreader: TIN [version 1.2 PL2]
References: <2rfte3$d4n@nexus.uiowa.edu>
Date: Mon, 23 May 1994 06:15:33 GMT
Lines: 16
Xref: bigblue.oit.unc.edu alt.sys.pdp8:872 alt.folklore.computers:66297

Douglas W. Jones,201H MLH,3193350740,3193382879 (jones@pyrite.cs.uiowa.edu) unleashed on the world:
: For all those who remember or save pre 1970 DEC hardware, I'm interested
: in trying to pin down the variations on the TU55 DECtape drive.  DECtape
: was DEC's original answer to the market that was eventually satisfied
: by the floppy disk.  A DECtape reel is 4 inches in diameter by an inch
: thick, with 3/4 inch wide tape.  It is block addressable, bidirectionally
: readable, and as conventionally formatted for the PDP-8, it had 1474
: blocks of 129 words, 12 bits each; that translates to 285219 kilobytes,
                                                        ^^^^^^^???????
: which is not too different from early floppy disks.  
 If early floppies were this big why bother with hard drives?
(Obviously a typing error, but couldn't resist it. A 285MB floppy?
-- 
Chris Grace      TransData Corporation Ltd        Auckland       New Zealand
chris@transdata.co.nz  chris_grace@kcbbs.gen.nz  CIS:76616,2042  Bix: cgrace
Phone: +64 9 275 3191                                     Fax:+64 9 256 0088


From keogh@anshar.shadow.net Wed May 25 20:51:06 EDT 1994
Article: 873 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!usenet.fiu.edu!usenet.ufl.edu!usenet.cis.ufl.edu!anshar.shadow.net!anshar.shadow.net!nobody
From: keogh@anshar.shadow.net (Matt Keogh)
Newsgroups: alt.sys.pdp8
Subject: Skinny Dip
Date: 24 May 1994 05:42:44 -0400
Organization: Shadow Information Services, Inc.
Lines: 22
Message-ID: <2rsi6k$kd0@anshar.shadow.net>
X-Newsreader: TIN [version 1.2 PL2]


     ÜÛÛÛÛÛÜ ÛÛ  ÜÛÛ ÞÛÛÝ ÜÛÛÛÛÛÜ ÜÛÛÛÛÛÜ ÛÛ   ÛÛ      ÛÛÛÛÛÛÜ ÞÛÛÝ ÛÛÛÛÛÛÜ
     ÛÛÜÜÜÜ  ÛÛÜÛÛß   ÛÛ  ÛÛ   ÛÛ ÛÛ   ÛÛ ÛÛÜ ÜÛÛ      ÛÛ   ÛÛ  ÛÛ  ÛÛÜÜÜÛÛ
      ßßßßÛÛ ÛÛßÛÛÜ   ÛÛ  ÛÛ   ÛÛ ÛÛ   ÛÛ  ßÛÛÛß       ÛÛ   ÛÛ  ÛÛ  ÛÛßßßß
     ßÛÛÛÛÛß ÛÛ  ßÛÛ ÞÛÛÝ ÛÛ   ÛÛ ÛÛ   ÛÛ   ÞÛÝ        ÛÛÛÛÛÛß ÞÛÛÝ ÛÛ

                           ***  THIGH CREAM  ***

               The ORIGINAL thigh cream, as seen on national TV
                   This is the NEW, SUPER STRENGTH formula
                     Accept none of the imitation creams
                            YOU'RE WORTH THE BEST!!!

     Now only $29.95 per bottle which INCLUDES shipping, handling and tax
         U.S. orders only, please.  Rush check or money order to:

                              U.S. Health Inc.
                          18524 NW 67th Ave. #311
                           Miami, Florida  33015


From McCrohan@iol.ie Thu May 26 17:16:54 EDT 1994
Article: 874 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!gatech!howland.reston.ans.net!EU.net!ieunet!iol!iol!not-for-mail
From: McCrohan@iol.ie (Mike McCrohan)
Newsgroups: alt.sys.pdp8
Subject: Re: Canonical Flip-Chip Terminology
Date: 26 May 1994 18:36:19 +0100
Organization: Ireland On-Line
Lines: 50
Sender: mccrohan@iol.ie
Distribution: world
Message-ID: <TgUujGakf4-P064yn@iol.ie>
References: <2rg3q4$fsv@nexus.uiowa.edu>
NNTP-Posting-Host: ulysses.iol.ie

In article <2rg3q4$fsv@nexus.uiowa.edu>, Douglas W. Jones,20 wrote:
> Charles Lasner and I were hashing over bugs in my FAQ when we noticed that
> we were using incompatable terms for the dimensions of various size of
> flip-chips, so last night, I wandered through my collection of DEC Logic
> Handbooks, and verified the terminology preferred by DEC:
> 
[Neat graphic snipped]

> 
> The term width is used by DEC to refer to the thickness of the board.
> Most boards are single-width, but some have big components on them that
> make them double width.
> 
> The terms height, width, and length are used uniformly in all board
> dimensional drawings I've been able to find, from the the 1966-67
> logic handbook to the 1978 logic handbook.
> 

I almost agree, but for a matter of detail. I spent from 1971 to 1980 as
a technician/engineer working in Digital Manufacturing. The Height of
the board was the dimension measured from the gold fingers to the plastic
handles, and the Width was measured along the fingers. The thickness of
the board was always referred to a so many layers.
The number in the height dimension is the number of sets of fingers on a
board. Original boards had one set of fingers and thus were single
height. Quad height appeared around the time of the 11/20 and 8/e, and
Hex in the 11/05, 11/40 and most other machines of that era.
The width dimension of the original  single width boards would have been
between 3 and 4 inches. Double width were already well established
before the 11/20.
The 11/20 was constructed from single, double and quad height boards -
all double width. The 8/e is all dual height quads.
When the 11/780 was introduced so was the "extended hex" board. Still
hex width but about 2-1/2 height.

Trivia: (Mention of the fingers reminded me)
        What letters are missing in the DEC Alphabet? And where is that
        alphabet used? And why are those letters missing?



> Having started using DEC equipment in the PDP-11/20 era, it's very
> tempting for me to think in terms of an OMNIBUS board being quad-wide,
> extended height, but none of my DEC documentation uses the terms this
> way, so I guess, since I also deal with older stuff these days, I'll
> try to stick to the "official" terms from now on.
> 
> 				Doug Jones
> 				jones@cs.uiowa.edu


From ard@siva.bris.ac.uk Thu May 26 17:17:54 EDT 1994
Article: 875 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!gatech!howland.reston.ans.net!EU.net!uknet!doc.ic.ac.uk!warwick!bsmail!siva.bris.ac.uk!ard
From: ard@siva.bris.ac.uk (PDP11 Hacker .....)
Subject: Re: Canonical Flip-Chip Terminology
Message-ID: <26MAY199421022033@siva.bris.ac.uk>
News-Software: VAX/VMS VNEWS 1.41    
Sender: usenet@info.bris.ac.uk (Usenet news owner)
Nntp-Posting-Host: siva.bris.ac.uk
Organization: University of Bristol Physics Department
References: <2rg3q4$fsv@nexus.uiowa.edu> <TgUujGakf4-P064yn@iol.ie>
Date: Thu, 26 May 1994 20:02:00 GMT
Lines: 39

In article <TgUujGakf4-P064yn@iol.ie>, McCrohan@iol.ie (Mike McCrohan) writes...
>handles, and the Width was measured along the fingers. The thickness of
>the board was always referred to a so many layers.

To me, the number of layers of a circuit board refers to the number of copper
layers in the PCB - for example, most of the boards in my 11/45 are 4-layer as
they have circuit traces on both surfaces, and internal power and ground
planes. Are you saying that DEC used the term layers to refer to the number of
slots across a backplane that a module would cover?

>The 11/20 was constructed from single, double and quad height boards -
>all double width. The 8/e is all dual height quads.

That's inconsistent, surely. As I understand the terms, the 11/20 was made from
single, dual and quad height boards, and the 8/e was all quad _height_ dual
length. That's the way the terms are used in my DEC logic handbook.
Anyway, if you are having quad height boards in an 11/20, you'd better have
them in the 8/e as well...

> 
>Trivia: (Mention of the fingers reminded me)
>        What letters are missing in the DEC Alphabet? And where is that
>        alphabet used? And why are those letters missing?

A,B,C,D,E,F,H,J,K,L,M,N,P,R,S,T,U,V  - the letters of the pins on a standard
(flip-chip) board slot.
Missing are 
G (looks like C??)
I (confusion with 1)
O (confusion with 0)
Q (ditto)
W,X,Y,Z (too few pins :-))

> 
-tony

Bristol University takes no responsibility for the views expressed in this
posting. They are the personal views of the user concerned.


From frank@rover.uchicago.edu Fri May 27 09:58:57 EDT 1994
Article: 876 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!gatech!howland.reston.ans.net!news.moneng.mei.com!uwm.edu!uwvax!uchinews!rover.uchicago.edu!frank
From: frank@rover.uchicago.edu (Frank R. Borger)
Subject: Re: Canonical Flip-Chip Terminology
Message-ID: <frank.12.2DE51F3D@rover.uchicago.edu>
Lines: 24
Sender: news@uchinews.uchicago.edu (News System)
Organization: Radiation Therapy, Michael Reese Hospital
References: <2rg3q4$fsv@nexus.uiowa.edu> <TgUujGakf4-P064yn@iol.ie>
Date: Thu, 26 May 1994 22:14:21 GMT

In article <TgUujGakf4-P064yn@iol.ie> McCrohan@iol.ie (Mike McCrohan) writes:
>        What letters are missing in the DEC Alphabet? And where is that
>        alphabet used? And why are those letters missing?

	Let's see, the alphabet according to Ken needed only 22 letters,
	to match the 18 pins...

	A B C D E F (no G)		Can be confused with 6 or C
	
	H (no I) J K L M N (no O) P	I looks like 1, O looks like 0

	(no Q) R S T U V		Q easy to mistake for O

	and no W X Y Z	

	Memory fails me, but wasn't that a standard somewhere before? Anyway
	I still buggered at times trying to determine whether it was U or V
	on a blurry print.

Frank R. Borger - Physicist     ___      What's the best way to tune a Banjo?
Michael Reese - U of Chicago   |___      With an Axe! -  What's the difference
Center for Radiation Therapy   | |_) _   between a dead skunk and a dead banjo
net: Frank@rover.uchicago.edu    | \|_)  player on the road? The skunk was on
ph: 312-791-8075 fa: 791-2517       |_)  his way to a gig!


From jones@pyrite.cs.uiowa.edu Fri May 27 15:59:56 EDT 1994
Article: 877 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!cs.utexas.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: PDP-8, A High Speed Digital Computer
Date: 27 May 1994 14:12:06 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 79
Distribution: world
Message-ID: <2s4v3m$j1s@nexus.uiowa.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

In my continuing search for documentation for PDP-8 serial number 85,
I've dredged up a nice little 20 page document from DEC.  The document
is short enough that a summary of the entire thing is worth posting.
This is a great programmer's reference handbook, and a fun snapshot of
DEC's PDP-8 product line at close to the very beginning:

Here's an ASCII facsimilie of the cover:
    _________________________________
   |                       F-81 6/65 |
   |  _____________________________  |
   | |                             | |    Page 1 is the cover.
   | |                      PDP-8  | |    Page 2 is a good full page
   | |                             | |       photo of the table-top 8
   | |                             | |       with a 1965 copyright.
   | |    ( Rather dark looking    | |    Page 3 is a general overview.
   | |      photo of a man at a    | |    Page 4 is a list of features.
   | |      teletype by a table    | |    Page 5 has diagrams of how
   | |      top model PDP-8     )  | |       the -8 pulls out of its
   | |                             | |       rack and how the table-top
   | |                             | |       model opens, followed by
   | |                             | |       a list of PDP-5 applications
   | |                             | |       and the statement that the
   | |_____________________________| |       PDP-8 is functionally
   |                                 |       equivalent.
   |  A HIGH SPEED DIGITAL COMPUTER  |    Page 6 describes the processor
   |                                 |       registers.
   |                                 |    Page 7 continues the description
   |                                 |       and ends with core memory and
   |                                 |       the operator console (front
   |                |d|i|g|i|t|a|l|  |       panel), with a very clear
   |                                 |       1/3 page photo of the latter.
   |         digital equipment corp  |    Page 8 has a block diagram of
   |         maynard, maddachusetts  |       the PDP-8, followed by a
   |_________________________________|       discussion of I/O devices.

Page 9 is a 2/3 page photo of the rack-mount model, with gull-wing table,
   plus two little photos of people at work in front of it.
Page 10 is titled STANDARD PDP-8 INSTRUCTIONS and has a small-print
   summary of the AND, TAD, ISZ, DCA, JMS and JMP instructions.
Page 11 continues the instruction set description with IOT instructions,
   with ION, IOF, the Type 189 ADC interface, the TTY interface, the
   Type 188 memory parity interface, and the Type 183 Memory Extension
   Control (CDF, CIF, RDF, RIF, RIB and RMF).
Page 12 continues the instruction set description with the Group 1 and
   Group 2 operate microinstructions.
Page 13 continues the instruction set description with the Type 182
   EAE instructions, MUL, DIV, etc.
Page 14 is titled PROGRAMMING SYSTEM, and discusses the MACRO-8 assembler.
Page 15 continues with a discussion of the FORTRAN compiler, DDT-8, the
   symbolic tape editor, the floating point package, the math function
   routines, and various utility and maintenance programs.
Page 16 is titled OPTIONAL EQUIPMENT and lists the Type 182 Extended
   Arithmetic Element, the type 183 Memory Extension Control, the Type 184
   Memory Module, the type 188 Memory Parity option, the Type 129 Data
   Channel Multiplexor, the type 750C High Speed Perf Tape Reader and
   Control, the Type 75E High Speed Perf Tape Punch and Control, the
   Type 451 Card Reader and Control, the Type 450 Card Punch Control, and
   the Type 350 Incremental Plotter Control.
Page 17 continues the option list with the Type 64 Automatic Line Printer,
   the Type 34D Oscilliscope Display, the Type 30N Precision CRT Display,
   the Type 370 Light Pen, the Type 189 Analog to Digital Converter, the
   Type 138E General Purpose Analog to Digital Converter, the Type 139E
   General Purpose (analog) Multiplexor and Control, the Type 250 Drum,
   the Type 552 DECtape Control and Type 555 DECtape Transport, the Type
   580 Magnetic Tape System, the Type 57A Magnetic Tape Control, and the
   Type 50 Magnetic Tape Transport.
Page 18 continues the option list with the Type 570 Magnetic Tape Transport,
   the Type 563 Data Communications System, and the cabinets, tables and
   chairs available.  Following this is a box containing the physical and
   electrical specs of the classic PDP-8.
Page 19 covers user support and DECUS; and it includes a list of other
   available PDP-8 literature -- the User's Handbook, the Interface Manual,
   the Software Abstracts, the shirt pocket reference card (I don't have
   this!), the Flip Chip Modules Catalog, and the Price List (I don't have
   this either).
Page 20 (the back page) is the list of sales and service offices.

				Doug Jones
				jones@cs.uiowa.edu


From oddjob@cix.compulink.co.uk Tue May 31 23:01:31 EDT 1994
Article: 878 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!emory!swrinde!pipex!uknet!cix.compulink.co.uk!oddjob
From: oddjob@cix.compulink.co.uk ("Stephen Walters")
Subject: simple pdp 'type' computer
Message-ID: <CqM8rK.L0H@cix.compulink.co.uk>
Organization: Skills Unlimited              
Date: Mon, 30 May 1994 12:45:20 GMT
X-News-Software: Ameol
Lines: 12

Does anybody have any article, books, FAQ's, plans for a serial bit 
computer or similar 'simple' machines that can be construted with only 
transistors, ttl 74ls chips or 4000 series CMOS?

This machine would be made of ??? 100+ gates ??? use cassette or acoustic 
delay line for storage.

And....absolutly NO microprocessors
Any suggestions


oddjob@cix.compulink.co.uk


From wilsonj@alum01.its.rpi.edu Tue May 31 23:06:02 EDT 1994
Article: 879 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!darwin.sura.net!howland.reston.ans.net!noc.near.net!usenet.elf.com!rpi!wilsonj
From: wilsonj@alum01.its.rpi.edu (John Wilson)
Newsgroups: alt.sys.pdp8
Subject: Re: simple pdp 'type' computer
Date: 30 May 1994 19:47:22 GMT
Organization: Rensselaer Polytechnic Institute, Troy NY
Lines: 71
Message-ID: <2sdfsa$1ar@usenet.rpi.edu>
References: <CqM8rK.L0H@cix.compulink.co.uk>
NNTP-Posting-Host: alum01.its.rpi.edu

Someone already told you to look at prints for the '8 etc., and they're
right...  Not to steal the design (that would be pointless and hellish
anyway), but because some of the basic design ideas are cool, they make
it a lot easier to think clearly when you're designing the CPU.
For example, I've seen the 8/L and the 8/E prints and they're surprisingly
similar, the basic idea is to structure your timing a little.  You have
a little state machine with flip flops for each of the "major states"
(on the PDP-8 they're "fetch" (obvious), "defer" (specific to the PDP-8
which is a little strange, it can defer through a memory location yet it
has no immediate mode), "execute" (final cycle of a memory-reference
instruction where it loads or stores the memory operand), and optionally
"break" if a data break cycle is being inserted (which is what DMA was
called when dinosaurs roamed the earth).

So each of these states lasts an entire memory cycle, and there's a
flip-flop for each state which gets a 1 when that state is the current one.
Then there are timing pulses within the memory cycle -- on the PDP-8/E
these are generated by a huge shift register, which has the timing waveform
loaded into it and then clocked through at 20MHz.  The memory cycle is
arbitrarily divided into four timing states, TS1-TS4 (there's a line for
each which gets a 1 during that state).  Then there are the timing pulses,
TP1-TP4, which are each active from one clock before state transitions to
one clock after.  I forget exactly what the timing is, but all these signals
are used to break up the memory cycles in obvious ways, i.e. data read
from core are held valid throughout TS2 (I don't know if that's actually
true) and data to be written are latched on the leading edge of TP4, say.
That kind of thing.

From there on out, everything is done using mostly combinatorial logic
which decodes the instruction register (IR), the major states, and the
timing signals (obviously the major states state machine uses the IR
and the timing signals to decide what state is up next and when to switch
into it).  In the PDP-8 architecture, the 12-bit adder is the star of the
whole show -- almost everything can be aplied to its inputs, including the
constant 0 (and constant 0 or 1 on the carry-in input) -- I think there are
some cases where they just add 0 to a number to get it to appear on the
adder outputs), and then the adder outputs can be latched into almost
any register.  So the adder is used for the TAD (add) instruction, but
also to add 1 to the PC (while fetching and also again for skips), and
to add 1 to the core address (CA) and word count (WC) numbers fetched
from memory during so-called "3-cycle data break", from back when flip-
flops were so expensive that it was worth doing two read-modify-write
cycles before each word read or written via DMA, just to save having
hardware registers for the CA and WC.

One thing that's kind of cute about the PDP-8 is that the "microprogrammable"
(i.e. combinable) "operate" instructions, where for example if you OR the
opcodes for "complement accumulator" and "increment accumulator" it does
both, are defined such that the opcodes are decoded in a certain order so
that the order that they take effect is guaranteed (i.e. complement and
THEN increment will negate a number but not if you do it the other way
around).  On all the real PDP-8s the OPR instructions were in fact executed
in sequential order, but in fact it could all have done using data paths
(i.e., just make sure the adder that does the incrementing (if the IAC
bit is set) is downstream of the XOR gates that do the complementing
(if the CMA bit is set), which in turn is downstream of the AND gates that
do the clearing (if the CLA bit is set), you get the idea (you'd need
muxes to sort out which "group" the instruction is in, but that's very
PDP8-specific).  Now that PALs and FPGAs and so on are cheap you do all
of those instructions using only combinatorial logic, which would greatly
simplify things and reduce the hardare debugging.  Back when the PDP-8s
were designed they were really hell-bent on using that one adder, but as
I said things were amazingly expensive then so it was worth adding a
little sequential logic if it meant you could re-use something.  EAE is
another story of course, doing DVI with combinatorial logic would require
a *big* ROM!

John "my code sucks" Wilson

N.B. all references to actual PDP-8 hardware implementation details are
approximate, it's not like I've ever actually built my own.


From jones@pyrite.cs.uiowa.edu Tue May 31 23:08:43 EDT 1994
Article: 880 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!news.duke.edu!solaris.cc.vt.edu!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: simple pdp 'type' computer
Date: 31 May 1994 02:02:39 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 39
Distribution: world
Message-ID: <2se5rv$p52@nexus.uiowa.edu>
References: <CqM8rK.L0H@cix.compulink.co.uk>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <CqM8rK.L0H@cix.compulink.co.uk>,
by oddjob@cix.compulink.co.uk ("Stephen Walters"):
> Does anybody have any article, books, FAQ's, plans for a serial bit 
> computer or similar 'simple' machines that can be construted with only 
> transistors, ttl 74ls chips or 4000 series CMOS ... absolutly NO
> microprocessors

I designed two 16 bit minicomputers that required about 50 SSI and MSI
TTL chips each to implement.  One was an extreme RISC, a move machine,
that is, it had only one instruction, move memory to memory.  It used
memory mapped I/O, and if you wanted to use it to compute anything,
you add a memory mapped ALU and accumulator.  To allow branching, you
need to be able to load the PC with new values, so the PC must also be
memory mapped.  If you build it with multiple accumulators, you can
actually get code densities that approach that of the PDP-11.

The other was a CISC, a microprogrammed stack machine.  It had only
7 instructions (but if you build it, give it 16, it's more fun to
program).  All instructions were 3 (or 4) bits long, and only two were
even vaguely similar (shift 0 into the stack top and shift 1 into the
stack top).  Again, I assumed memory mapped I/O, and I didn't count
I/O device interface complexity in my chip counts.

These processors are documented in:  The Ultimate RISC, Computer
Architecture News, 16, 3 (June 1988) 48-55, and A Minimal CISC,
Computer Architecture News, 16, 3 (June 1988) 56-63.  Computer
Architecture News is the ACM SIGARCH newsletter.

A number of people have built one or another machine based on my
Ultimate RISC design, and the paper may be part of the reason behind
the resurgence of interest in the computer architecture research
community for move machines.  Someone at Cambridge built one that
ran at 1 MIPS, someone else did a gate array (single chip)
implementation running half that speed, and there are others.
MIPS (Silicon Graphics) is apparently toying with the architecture
for some reason (I know because they asked for a copy of my support
package - an assembler and linker).
					Doug Jones
					jones@cs.uiowa.edu


From wilsonj@alum01.its.rpi.edu Tue May 31 23:09:22 EDT 1994
Article: 881 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!news.duke.edu!zombie.ncsc.mil!MathWorks.Com!transfer.stratus.com!noc.near.net!usenet.elf.com!rpi!wilsonj
From: wilsonj@alum01.its.rpi.edu (John Wilson)
Newsgroups: alt.sys.pdp8
Subject: Re: simple pdp 'type' computer
Date: 31 May 1994 03:03:09 GMT
Organization: Rensselaer Polytechnic Institute, Troy NY
Lines: 12
Message-ID: <2se9dd$ec4@usenet.rpi.edu>
References: <CqM8rK.L0H@cix.compulink.co.uk> <2se5rv$p52@nexus.uiowa.edu>
NNTP-Posting-Host: alum01.its.rpi.edu

In article <2se5rv$p52@nexus.uiowa.edu>,
Douglas W. Jones <jones@pyrite.cs.uiowa.edu> wrote:
[description of kinky minimalist machines deleted]
>(I know because they asked for a copy of my support
>package - an assembler and linker).

The MOV machine sounds like a really cute idea but somehow even
picturing an assembler for one makes me chuckle...  :-)

... parse the mnemonic... look it up on the ST... oh never mind

John Wilson


From jones@pyrite.cs.uiowa.edu Tue May 31 23:10:05 EDT 1994
Article: 882 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news-feed-1.peachnet.edu!news.duke.edu!convex!cs.utexas.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: simple pdp 'type' computer
Date: 31 May 1994 14:49:27 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 13
Distribution: world
Message-ID: <2sfipn$c64@nexus.uiowa.edu>
References: <2se9dd$ec4@usenet.rpi.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <2se9dd$ec4@usenet.rpi.edu>,
by wilsonj@alum01.its.rpi.edu (John Wilson):
> 
> The MOV machine sounds like a really cute idea but somehow even
> picturing an assembler for one makes me chuckle...  :-)

I wondered about that too, but I sent MIPS my assembler anyway.  It has
good macro and conditional facilities, and after defining appropriate
macros, you can program the darned move machine as if it was a single
accumulator machine (assuming that's how many accumulators you put in
your memory mapped ALU).
					Doug Jones
					jones@cs.uiowa.edu


From frank@rover.uchicago.edu Tue May 31 23:10:45 EDT 1994
Article: 883 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!solaris.cc.vt.edu!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!agate!msuinfo!uchinews!rover.uchicago.edu!frank
From: frank@rover.uchicago.edu (Frank R. Borger)
Subject: Re: simple pdp 'type' computer
Message-ID: <frank.14.2DEB6250@rover.uchicago.edu>
Lines: 14
Sender: news@uchinews.uchicago.edu (News System)
Organization: Radiation Therapy, Michael Reese Hospital
References: <CqM8rK.L0H@cix.compulink.co.uk> <2se5rv$p52@nexus.uiowa.edu>
Date: Tue, 31 May 1994 16:14:08 GMT

In article <2se5rv$p52@nexus.uiowa.edu> jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879) writes:

>The other was a CISC, a microprogrammed stack machine.  It had only
>7 instructions (but if you build it, give it 16, it's more fun to
>program).

	Heck, the PDP-8 only had 8 instructions, and one of those was
	HCF, (Halt and Catch Fire!)

Frank R. Borger - Physicist     ___      "I think medical research would show
Michael Reese - U of Chicago   |___       that being a Cubs fan lengthens
Center for Radiation Therapy   | |_) _    your life. Or maybe it just _seems_
net: Frank@rover.uchicago.edu    | \|_)   longer. " - Mike Royko
ph: 312-791-8075 fa: 791-2517       |_) 


From jones@pyrite.cs.uiowa.edu Tue May 31 23:14:36 EDT 1994
Article: 884 of alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!news.duke.edu!solaris.cc.vt.edu!MathWorks.Com!europa.eng.gtefsd.com!howland.reston.ans.net!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
From: jones@pyrite.cs.uiowa.edu (Douglas W. Jones,201H MLH,3193350740,3193382879)
Newsgroups: alt.sys.pdp8
Subject: Re: simple pdp 'type' computer
Date: 31 May 1994 18:08:46 GMT
Organization: University of Iowa, Iowa City, IA, USA
Lines: 61
Distribution: world
Message-ID: <2sfufe$grn@nexus.uiowa.edu>
References: <frank.14.2DEB6250@rover.uchicago.edu>
NNTP-Posting-Host: pyrite.cs.uiowa.edu

>From article <frank.14.2DEB6250@rover.uchicago.edu>,
by frank@rover.uchicago.edu (Frank R. Borger):

>>The other was a CISC, a microprogrammed stack machine.  It had only
>>7 instructions (but if you build it, give it 16, it's more fun to
>>program).
> 
> 	Heck, the PDP-8 only had 8 instructions, and one of those was
> 	HCF, (Halt and Catch Fire!)

No, the PDP-8 microprogrammed instructions gave it quite an advantage
over my Minimal CISC.  Also, the PDP-8 has operand fields in each
instruction.  The Minimal CISC has no operand field, only 3 bits of
opcode per instruction, 5 instructions packed per 16 bit word.  Here
are the 8 instructions of the Minimal CISC:

	000 - NOP   No operation (needed because branches are to a
		    16 bit word boundary, and 5 instructions are
		    packed per word).

	001 - DUP   Duplicate the stack top (push a copy of the top
		    word on the stack onto the stack).

	010 - ONE   Shift the stack top left one bit, shifting a one
		    bit into the least significant bit.

	011 - ZERO  Shift the stack top left one bit, shifting a zero
		    bit into the least significant bit.

	100 - LOAD  Replace the top word on the stack with the word
		    in memory to which it points.

	101 - POP   Store the top word on the stack in the location
		    pointed to by the word immediately below it on
		    the stack, and then pop both words off the stack.

	110 - SUB   Subtract the top word on the stack from the word
		    below it, pop both words, and push the difference.

	111 - JPOS  If the word below the stack top is positive, jump
		    to the address pointed to by the top word on the
		    stack.  In all cases, pop both words.

Typical useful instruction sequences are:

	DUP DUP SUB          -- pushes zero on the stack.
	DUP DUP SUB ONE      -- push the constant one on the stack.
	DUP DUP SUB ONE ZERO -- push the constant two on the stack.
	DUP ZERO SUB         -- negate the top word on the stack.
	DUP ZERO SUB SUB     -- add the top two words on the stack.

This instruction set is a real pain to program with until you build up
quite a pile of macros, but then it gets reasonable.  Note that only one
of the above macros takes a full 16 bit word of instruction space!

The microprogram for this instruction set takes 16 words of 21 bit wide
ROM, but if you build it, you're likely to make instructions 4 bits wide
and use up a bit more ROM to make a far more interesting machine.

				Doug Jones
				jones@cs.uiowa.edu


From lemay@epx.cis.umn.edu Tue May 31 23:16:07 EDT 1994
Article: 885 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!inxs.concert.net!taco.cc.ncsu.edu!lll-winken.llnl.gov!fastrac.llnl.gov!s1.gov!overload.lbl.gov!dog.ee.lbl.gov!agate!howland.reston.ans.net!europa.eng.gtefsd.com!MathWorks.Com!news.duke.edu!news-feed-1.peachnet.edu!umn.edu!epx.cis.umn.edu!lemay
From: lemay@epx.cis.umn.edu (Lawrence LeMay)
Subject: 5 1/4" Quad density diskettes
Message-ID: <CqoKvz.D0w@news.cis.umn.edu>
Sender: news@news.cis.umn.edu (Usenet News Administration)
Nntp-Posting-Host: epx.cis.umn.edu
Organization: University of Minnesota
Date: Tue, 31 May 1994 19:02:35 GMT
Lines: 23

About a year or so ago, I was looking for a placxe to buy Quad density
diskettes from... Unfortunately I didnt find a source at that time, so
I never got around to 'experimenting' with this DecMate III system I
have...

Today I recieved a catalog from Inmac (the most expesive place on earth...)
and lo and behold, they sell Quad density diskettes under their 'Inmac'
label. I thought I'd mention this in case anyone else wants to get genuine
Quad density diskettes instead of pretending double density is 'good enough'.

The details: $50 minimum purchase, plus $5 shipping. prices are:
  $1.25		10-40 disks. one free per box of 10.
  $1.12		50-90 disks. Bulk packaging I think.
  $1.03		100-190
  $0.98		200+

Lifetime warrantee on the disks, if that matters to you. Of course, if
someone else had a better source for genuine Quad density diskettes, I'd
be very interested in recieving e-mail or a reply to this post.

-Lawrence LeMay
lemay@epx.cis.umn.edu


From oddjob@cix.compulink.co.uk Tue May 31 23:16:35 EDT 1994
Article: 886 of alt.sys.pdp8
Newsgroups: alt.sys.pdp8
Path: bigblue.oit.unc.edu!concert!inxs.concert.net!taco.cc.ncsu.edu!lll-winken.llnl.gov!koriel!cs.utexas.edu!howland.reston.ans.net!EU.net!uknet!cix.compulink.co.uk!oddjob
From: oddjob@cix.compulink.co.uk ("Stephen Walters")
Subject: Re: simple pdp 'type' computer
Message-ID: <CqowAA.A5M@cix.compulink.co.uk>
Organization: Skills Unlimited              
References: <2sfufe$grn@nexus.uiowa.edu>
Date: Tue, 31 May 1994 23:08:34 GMT
X-News-Software: Ameol
Lines: 3

Would it make it simpler if the machine was a serial bit processor?

oddjob@cix.compulink.co.uk


