• Please review our updated Terms and Rules here

How to upload test programs to the pdp 8/e

NicolasF

Experienced Member
Joined
Jun 28, 2006
Messages
255
Location
Argentina
Hi,

I would like to start executing some test programs like D0AB, D0BB and D0CC but I'm not sure how to do it. I'll be using a PC with serial port and Tera Term.
Is this the correct way of uploading them?

1- Key in RIM loader (there seems to be 2 versions, high speed and low speed? not sure which one to use)
2- Load address 7756
3- CLEAR and CONT
4- Send BIN Loader using Tera Term as binary file
5- When it finishes uploading the BIN loader, HALT and then check if it is in memory
6- Set address 7777
7- CLEAR and CONT
8- Send test tape in binary format againt using Tera Term as binary file
9- Wait until the file is uploaded and then hit HALT ??
10- Go to the starting address of the test tape and set the switch register as requiered ??
11- CLEAR and CONT

Thanks!
 
That looks about right - although I haven't checked it with the appropriate documentation though.

After using the BIN loader to load the test tape, check the value in the accumulator (AC) for a value of 0. This indicates that the test program has loaded correctly and that the computed checksum agrees with that on the tape.

The choice of the high speed or low speed RIM loader is (effectively) down to which serial port you are connected to! The low speed RIM loader is expected to be loaded to the same serial port as the console. The high speed RIM loader is expected to be connected to the second serial port. This is just a convention of when the console was quite a slow device... The choice is a bit arbitrary given todays serial ports and PC paper tape emulators etc.!

Dave
 
For me it was necessary to configure TeraTerm to do a delay every character it sends.

BIN loader stopps when the upload is complete. When AC is zero, than the file should be OK.


Volker
 
You also need to have switch 0 on when you run the BIN loader so that it will use the serial console port. If switch 0 is off the BIN loader will try to read from the paper tape reader.
 
The choice of the high speed or low speed RIM loader is (effectively) down to which serial port you are connected to! The low speed RIM loader is expected to be loaded to the same serial port as the console. The high speed RIM loader is expected to be connected to the second serial port. This is just a convention of when the console was quite a slow device... The choice is a bit arbitrary given todays serial ports and PC paper tape emulators etc.!

I’m not sure about that - the high-speed RIM loader uses the high-speed reader, not a serial port really. You want the low-speed (console) version.
 
Ok, what if I key in the RIM loader and instead of sending the BIN loader and the test program in BIN format. I send the test program in RIM format, that way I don't have to send the BIN loader, right?
 
>>> I’m not sure about that - the high-speed RIM loader uses the high-speed reader, not a serial port really. You want the low-speed (console) version.

Point taken. The PR8-E was still interfaced to the attached paper tape reader via a serial port if I remember correctly - but you are right it was not the same as a standard serial port card. Perhaps this should have been classed as a 'faster than the normal RIM loader but still not fast'... I designed a card that looked like a serial card but interfaced via a parallel port (centronics if I remember correctly) to an extremely fast Facit reader. This was used for bulk copying large paper tape images to magnetic tape or disk. The operators learnt very quickly to keep their fingers, hands (or any other bodily parts) that they didn't want lacerating well away from the paper tape (or - in this case) mylar during the transfer!

>>> Ok, what if I key in the RIM loader and instead of sending the BIN loader and the test program in BIN format. I send the test program in RIM format, that way I don't have to send the BIN loader, right?

Right.

But the advantages of using the BIN loader (quicker overall transfer along with the addition of a CHECKSUM) should outweigh using the RIM loader I would have thought - especially if the tape contained the BIN loader ahead of the MAINDEC (so you only require one actual tape)?

Dave
 
Was the PR8-e actually serial? Pretty silly (IMHO) to connect a parallel bus to an essentially parallel device via a serial interface. FWIW the usual 8e reader/punch combo, the PC8-e, uses a parallel interface with the buffered read data latched and gated directly onto the data bus. I've not met a PR8-e though and the PC04 is parallel.
 
>>> Was the PR8-e actually serial?

That's what I have read - although I haven't found the schematics anywhere yet. Perhaps a bit longer looking on Bitsavers...

Dave
 
Ok, what if I key in the RIM loader and instead of sending the BIN loader and the test program in BIN format. I send the test program in RIM format, that way I don't have to send the BIN loader, right?

That is 100% accurate.

For reference, I have my PDP-8 diagnostics here: https://www.ak6dn.com/PDP-8/MAINDEC/ with BIN, RIM, LST, PAL, and PDF files for each diagnostic.

Normally I will use the SW switch on the front panel to invoke the low-speed RIM loader I have 'burned' into my M847 boot loader board.
Then I will just use TeraTerm to send the RIM version down, running at 9600baud. I use a 1ms delay per character, 0ms per end of line.

The RIM loader versions of the diagnostic images have been tweaked slightly to include overlaying the RIM loader at the end to autostart the diagnostic at 200.
So once downloaded the diagnostic starts up automatically.

The BIN versions are virgin copies as DEC distributed, so you need to follow the instructions to toggle in the RIM loader, start it, then send the BIN loader (in RIM format), and then send the BIN format tape. When it finishes loading you will need to manually start the diagnostic at 200.

The BIN format is a more robust (ie, checksummed) format and is more compressed than RIM (ie, loads faster) but generally speaking at 9600baud the difference is not really that much of a deal, with respect to load time.

In my Binary_Loaders directory I also have the DEC standard high/low speed BIN loader which is switch selectable. There are also dedicated low speed (ie console) reader versions of the RIM loader and a BIN loader that automatically use the console port. When I only have a BIN format tape to use I'll use my (patched) low speed BIN loader to download the tape thru the console port, and not have to worry about setting the console switches correctly. Yeah I know I'm lazy.

Don
 
Was the PR8-e actually serial? Pretty silly (IMHO) to connect a parallel bus to an essentially parallel device via a serial interface. FWIW the usual 8e reader/punch combo, the PC8-e, uses a parallel interface with the buffered read data latched and gated directly onto the data bus. I've not met a PR8-e though and the PC04 is parallel.

No the paper tape reader is a parallel interface, but from the point of view of the programmer/boot loader the programming interface of the console serial port / low speed tape reader (KL8E) and the high speed tape reader (PC8E) are the same. So except for the difference in device codes (address) the BIN loader uses them exactly the same way.
 
Which is how I have seen them used - hence my 'confusion'. The machine I was using at the time had two (2) UART cards. One (slow speed) for the ASR33 teleprinter and the other a much higher speed for a serially-connected paper tape reader.

Dave
 
DEC had this little guy which was a serial-connected external paper tape reader. I don't remember the model number and I can't quite read it in the photo but it was a pretty handy device!

PDP8Straight8_1.JPG
 
That photo looks familiar :) This was Max Burnet's setup in a private technology museum in Sydney a few years back. The PRS01 portable paper tape reader was interfaced to the Straight 8 and the machine was running 4k Chess.
I recall him mentioning the reader had to be fixed after initially trying it because it was a 20mA current loop unit and the PDP-8 was something like 50mA and it damaged the reader. After all they are a generation or two apart.
After repair with presumably some appropriate resistors(?) the unit was obviously working well again. There was a VT220 for output. Or, maybe it was the VT220 that needed repair after the current loop mismatch, I can't recall.
 
Yes indeed, correct on all counts! Thanks for filling in the blanks.

Docs are here - http://manx-docs.org/collections/hcps/PRS01.pdf .

Paraphrasing the introduction, the PRS01 is a portable 8-level tape reader that interfaces through the console serial port at either 300 or 2400 baud (two different models, fixed baud rate) and includes a switch that allowed the user to switch back and forth between tape and keyboard without disconnecting the reader. Start-stop is controlled manually from the reader; "[O]utside of this, the reader is similar in operation to the low-speed reader on an ASR teleprinter". Dimensions are 12" x 7.5" x 5.25"; weight is 6.5 pounds.

Max's unit is the only one I've ever seen. It's probably somewhere in the basement of LCM now, along with the bulk of his collection.
 
Max's unit is the only one I've ever seen. It's probably somewhere in the basement of LCM now, along with the bulk of his collection.

Sorry, what???????? I didn't know that :( :( :( You're not serious are you?
Australia has already lost a 360/40 (which apparently was damaged and parts mislaid) and who knows what else to them. I had planned to see that machine on an interstate trip as I think my dad had worked on it, gone now.
It doesn't surprise me though, with our historical artifacts going o/s. Happened with historic steam engines, rare vintage cars, WWII warbirds (I was acquainted with someone whose consortium had the final bid on a rare aircraft, only to have a foreign buyer somehow put in a bid after the auction had closed!) and old big iron. Sigh.
 
For what it's worth, here is how I loaded the MAINDEC's when I first started horsing around with my PDP8E. I have a serial card in the PDP8E that is set for 110 baud for my ASR33, but many times I would connect to my IBM XT using KERMIT as the terminal. That way I could switch out of KERMIT and use the IBM XT to send the programs. I would keep the BIN and RIM (slow versions) and the MAINDEC's on the IBM Floppy B: drive.
1. Start up the IBM XT, and PDP8E
2. At the DOS prompt enter MODE COM1:110,N,8,2
3. Make sure the IBM serial port is connected to the PDP8E
4. Enter the RIM loader into the PDP8E by hand
5. Start the PDP8E at 7756
6. On the IBM XT type COPY B:\LBAA.RIM/B COM1: It will load in about one minute and the PDP8E light #7,8 will flash. This will load the BIN loader into the PDP8E. The PDP8E will not halt, you will know when you are done when the IBM XT completes the copy and the C:\ prompt comes back.
7. Halt the PDP8E
8. PDP8E address 7777 should have 5301 in it. Switch = MD
9. PDP8E press clear and continue. Run light should come on.
10. IBM XT COPY B:\DOAB.BIN/B COM1: or some other MAINDEC name
11. This transfer will take a few minutes, the PDP8 will halt when done. Go for coffee. When finished the AC should have zeros in it, meaning no errors.
12. The MAINDEC D0AB is now in the PDP8, switch back to KERMIT.
13. Consult the MAINDEC PDF file for the start address and SR conditions. These seem to be different for each MAINDEC.
14. Press clear and continue. The MAINDEC PDF will tell you what should happen. It could beep once in a while, it may type out something or could report errors.

110 baud is slow, but so am I. Seems the faster I go the more mistakes I can make. I had some trouble getting the proper BIN program, there are a few out there. Keep what works are get rid of the rest, it will only confuse you. You will need the PDF's of the MAINDEC's. They will help you understand how to start them (they are not all the same), what is happening when it is running and how to interrupt the errors should they happen, Good Luck --- Mike.
 
Back
Top