[GreenKeys] Got Model 33 working from PDP-8
Harold Hallikainen
harold at w6iwi.org
Sat Oct 11 21:46:13 EDT 2025
I agree! Congratulations! My first teaching job was assembly language
programming on the PDP-8. We did it all with punched tape. We keyed a
small loader into core using the front panel switches. This then loaded
another loader from high speed punched tape. We then used that loader to
load either an editor or an assembler. Editing was done on the Teletype
33. When done, we'd punch the source file to tape and then load the
assembler into core. The source tape was then run through the assembler
twice (two pass assembler!) causing an object tape to be punched. We'd
then read that into core and debug using the front panel toggle switches
and lights. Fun stuff! I have the book we used "Introduction to
Programming" for the Digital PDP-8 seriesm fifth edition from 1975 in
front of me.
It's interesting (to me) to look at the architecture changes between the
PDP-8 and the PDP-11. First off, the 8 stuffs the return address of a
subroutine as a goto in the first address of the subroutine. The return is
a branch back to the first address which then goes back to the calling
code (I don't remember if the first location actually held a goto or if it
just held the address of the return with the last instruction being an
indirect jump). While this works, it disallows recursion. The 11 uses a
stack pointer, which I think is an amazing invention. The return address
and function parameters go on the stack. Local automatic variables go on
the stack. On return, all that is discarded. VERY CLEVER!
Also, I believe the 8 had special I/O instructions. In the 11, they
realized that a input or output instruction is really the same as a read
or write instruction. So, they introduced memory mapped I/O. This
simplified the instruction set (getting rid of special I/O instructions)
and allowed all memory instructions to be used on I/O devices.
I also thought the instruction set of the 11 was very clever. A load with
autoincrment using the program counter read literal data in memory right
after the instruction. The same load with autoincrement with the stack
pointer did a pull from the stack. Their instruction structure of
instruction:SourceRegister:SourceMode:DestinationRegister:DestinationMode
resulted in a very rich and generalized instruction set.
It's interesting to see the various architecture concepts being introduced
over time.
Anyway, have fun with the PDP-8!
Harold
https://w6iwi.org
On Sat, October 11, 2025 6:19 pm, Eric Moore wrote:
> Wonderful and congrats!
>
>
> FYI, your message was a bit garbled.
>
>
> -Eric
>
>
> On Sat, Oct 11, 2025, 8:09â¯PM Jones, Douglas W via GreenKeys <
> greenkeys at mailman.qth.net> wrote:
>
>> <div class="elementToProof">Thursday afternoon, a student and I finally
>> got the U of Iowa's PDP-8 (s/n 85) to send output to our Teletype
>> Model
>> 33. It's taken about a decade of work with students to get this
>> far, including a near ground-up rebuild of the Teletype, reforming the
>> PDP-8
>> power supply capacitors, tuning the memory (incompletely, at this
>> point), and replacing a large number of silicon switching diodes (plus a
>> few transistors) in the PDP-8. We have yet to get the TTY keyboard
>> input data path to work, but I'm betting we are only days away from
>> that. Here's the program that we used, successfully:</div><div
>> class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont,
>> Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt;
>> color: rgb(0, 0, 0);"><br></div><div class="elementToProof"
>> style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService,
>> Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0,
>> 0);">06000 7200
>> CLA
>>
>> / AC = 0</div><div class="elementToProof" style="font-family: Aptos,
>> Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif;
>> font-size: 12pt; color: rgb(0, 0, 0);">06001 6046 A,
>> TLS / main loop top,
>> send AC to TTY</div><div class="elementToProof" style="font-family:
>> Aptos,
>> Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif;
>> font-size: 12pt; color: rgb(0, 0, 0);">06002 6041 B,
>> TSF /
>>
>> polling loop top, skip if TTY done</div><div
>> class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont,
>> Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt;
>> color: rgb(0, 0, 0);">06003 5202 JMP
>> B / polling
>> loop bottom</div><div class="elementToProof" style="font-family: Aptos,
>> Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica,
>> sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">06004 7001
>>
>> IAC /
>>
>> advance to next character</div><div class="elementToProof"
>> style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService,
>> Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0,
>> 0);">06005 5201 JMP A
>> / main loop bottom.</div><div
>> class="elementToProof"><br></div><div class="elementToProof">Not very
>> exciting, just repeats sending all 256 8-bit values to the TTY over and
>> over (and since the TTY ignores the top bit, each run of 256 values is
>> 2
>> runs of the 128 ASCII codes, including CR, LF and BEL in each run, so we
>> get lots of lines of output. Since the Model 33 folds upper and
>> lower case, each line ha s 2 repeats of the upper-case alphabet, but
>> piles up lots of characters on the right edge of the page because the
>> lines are over-long. Still, a great step in our hardware
>> restoration effort.</div><div class="elementToProof"><br></div><div
>> class="elementToProof">The machine was delivered to the U of Iowa in
>> November or more likely December of 1965,
>> so we have enough working to do some nice demonstrations for the
>> machine's birthday.</div><div class="elementToProof"><br></div><div
>> class="elementToProof">Work remaining? Lots:</div><div
>> class="elementToProof">-- TTY input</div><div class="elementToProof">--
>> Tally High-speed paper-tape reader input</div><div
>> class="elementToProof">-- BRPE punch output</div><div
>> class="elementToProof">-- Point-plot oscilloscope display
>> output</div><div class="elementToProof">-- Analog-to-digital multiplexer
>> and converter input</div><div class="elementToProof"><br></div><div
>> class="elementToProof">If we can get that much working, we'll b e able
>> to build some joysticks (using 1965 technology, of course) and run some
>> really nice games from that era.</div><div
>> class="elementToProof"><br></div><div class="elementToProof">
>>
>> Doug Jones</div>
>> ______________________________________________________________
>> GreenKeys mailing list
>> Home: http://mailman.qth.net/mailman/listinfo/greenkeys
>> Help: http://mailman.qth.net/mmfaq.htm
>> Post: mailto:GreenKeys at mailman.qth.net
>>
>>
>>>>> Jordan Spencer Cunningham's GreenKeys Search Tool:
>>>>>
>> https://teletype.net/gksearch
>>
>>>>> 2002-to-present greenkeys archive:
>>>>>
>> http://mailman.qth.net/pipermail/greenkeys/
>>
>>>>> 1998-to-2001 greenkeys archive:
>>>>>
>> http://mailman.qth.net/archive/greenkeys/greenkeys.html
>>
>>>>> Randy Guttery's 2001-to-2009 GreenKeys Search Tool:
>>>>>
>> http://comcents.com/tty/greenkeyssearch.html
>>
>>
>> This list hosted by: http://www.qsl.net
>> Please help support this email list: http://www.qsl.net/donate.html
>> Message delivered to mooreericnyc at gmail.com
>>
>>
>
--
https://w6iwi.org
More information about the GreenKeys
mailing list