• Please review our updated Terms and Rules here

Paper tape punch programs

Mike_Z

Veteran Member
Joined
Dec 1, 2013
Messages
1,713
Location
Near Milwaukee Wisconsin
Recently, I've been making MAINDEC paper tapes to run on my PDP8E. I've made these tapes in a piece meal fashion. All the MAINDEC programs were downloaded from Bitsavers etal. I then opened a file with a HEX editor and added a long leader of blanks. This was so that I could mode easily load the tape in the ASR33 or REMEX. The PDP8E was not involved in making these tapes.
So, I have been looking for some DEC software that will make these paper tapes (including the leader/trailers). I have read about a program called ECHO, but so far have not found the code for it. There must be other DEC code for hand loaded paper tapes (not fan fold DEC tapes). Mike
 
I thought everyone just used PIP.

When you use the punch you can make extra blank leader and trailer tape just by pressing the feed button for a couple of seconds.

A program to copy the HSR to the HSP is pretty trivial to write.
Code:
        *200
START,  CLA
        RFC             /START THE HSR
        RSF             /WAIT FOR A CHARACTER
        JMP .-1
        RRB             /READ THE CHARACTER
        PLS             /PUNCH THE CHARACTER
        PSF             /WAIT FOR PUNCH TO COMPLETE
        JMP .-1
        JMP START       /GO DO ANOTHER
That version should copy tapes but if punching on a high speed punch it won't go quite at full speed. The punch will make a sort of stuttering sound. This version should run the punch at full speed.
Code:
        *200
START,  RFC             /START THE HSR
LP,     RSF             /WAIT FOR READER
        JMP .-1
        CLA
        RRB             /GET THE CHARACTER FROM THE READER
        RFC             /AND TELL IT TO GET ANOTHER
        PLS             /PUNCH IT
        PSF             /WAIT FOR PUNCH
        JMP .-1
        JMP LP          /GO DO ANOTHER
This works by allowing the reader to fetch the next character while the punch is punching.

In both cases the RSF loop will hang waiting for the reader when you hit the end of tape. To detect this you would need to count the times the RSF fails to skip and bail when enough time has passed.

Hope that helps.
 
Well I have to be doing something wrong. This is what I did
Code:
.R PIP
*TTY:FILE.BN<FILE.BN/B
This will punch a tape, but the format is ASCII, not binary. I thought that the /B switch would make the punch binary. Then I also tried this
Code:
.R PIP
*TTY:FILE.BN/B<FILE.BN
This worked the same. The paper tape started out with a CR then LF, the next lines are ASCII code for the letters in the file. Confused , Mike
 
Kyle's been doing a bunch of this lately. Not sure offhand what he did about leader, and he was using Linux or the like to do the writing.

Vince
 
Yep. I wrote my punch utility so that it punched some number of nulls, configurable, before and after.

I suspect the issue is that, despite you telling PIP to use binary mode, the "Super-TTY" KL8E handler seems to be for ASCII only, perhaps?

 
*200
START, RFC /START THE HSR
LP, RSF /WAIT FOR READER
JMP .-1
CLA
RRB /GET THE CHARACTER FROM THE READER
RFC /AND TELL IT TO GET ANOTHER
PLS /PUNCH IT
PSF /WAIT FOR PUNCH
JMP .-1
JMP LP /GO DO ANOTHER

Not intended as over critical but with the standard HSR which I have this is poor practice and will damage tapes as the reader is not being allowed to run at full speed and will stutter at punch speed. Believe me - I’ve been there. The correct way to do this is to allow the reader to fill a (circular is good) buffer at full speed while punching from the buffer at full speed with the reader pausing time to time for the punch to catch up.
 
I've copied a lot of tapes with code like that and not had any problems when using a PC01. I would expect that the sudden stop when the buffer is full would be more damaging to the tape than the stops on every character because at least on my reader it takes quit a few characters to come up to speed. Can you tell me what you saw happening? Elongated feed holes maybe? But that probably doesn't matter because in this case the punching is done on the teletype.

I suspect Kyle is correct if the super tty handler is the one being used. A way around this would be to install a handler that doesn't mess with the data that has a different name. I think the regular tty handler (asr33.pa) still messes with the data stream.

Wouldn't the PIP command be something like:

*TTY:<FILE.BN/B

I don't know why you would want a file name on the left side of the <
 
@mike (or anyone else) - I'm using the same punch as Kyle (FACIT 4047) to punch diagnostic binaries (for my HP stuff). Running simple Python scripts - happy to share code or punch tapes if it would be helpful. Maybe meet at the BratStop in a couple of weeks?
 
Today, I spent the morning at the dentist. Just what a man with a slow leak needs, another hole in his head. My ASR33 makes very nice paper tapes. But the device handler idea is interesting. I can not remember which handler I'm using, will have to look into that and maybe make a change. Kyle, I'm interested in your punch utility. Can you tell me a little about it? Does the PDP8 use it with the FACIT 4047? I started to write something that I could use. Basically it is just a program that punches a bunch of blanks and then leaders (200). And an opposite program as a trailer. I was hopeing that I could run the leader program, followed by a PIP to punch the actual program, followed by a trailer. Then maybe incorporate the lot into one program. I recently tried to use the PUNCH routine with a /B binary switch, but the paper tape again comes out as ASCII. This tends me to believe maybe your idea about the handler is correct. Will have to work on that angle, thanks. Jack, I'm always open for eating. Being a man of leisure most any day is OK, but a little heads up would be appreciated. My youngest is having babies and I'm building a baby room on their house, so there are times when the weather is good, I'm swinging a hammer. Mike
 
Well..... apparently I have the 'Super' TTY handler. I may have an even newer one than Kyle listed. The first line is /19 rather than /17. So either I change the handler to the ASR33, which is pretty dumb, find an older KL8E.PA that allows binary or write a punch program like Kyle did. I'm going to become more familiar with the KL8E handler and find out what makes it so 'Super', even though it will not do what I want. Thanks, Mike
 
The supertty handler is a two page handler and it does tab expansion, keeps track of the lines on the page so formfeed will work, stuff like that. I think it also sends nulls after a CR LF pair because there isn't quite enough time for the carriage to make it all the way back if it is all the way to the right.

The regular tty handler still mucks with stuff. Most notably, it sees a ctrl Z as the end of file and stops processing when it sees one. Not too good for punching binary tapes.

I think your best bet is to write a program that does what you want if you can't find one. You get to learn how to scan the command line and open and read files in OS/8.
 
I think the device he's looking for is "KS33", implemented in lspt.pa. It implements PTP: and PTR: on a TTY. (I think it ought to be named "AS33", but what do I know.)

Vince
 
I vaguely remember typing in the title I wanted to be punched into the tape before the leader and then the code and finally the trailer. It converted the characters to a bit patterns that were punched into the tape so we could read it. Being in highschool at the time, we punched plenty of paper tape signs to display and label other things. I think the labels could be vertical or horizontal. Sorry for getting off the subject.
 
That is what I ultimately want to do. The letter punching will ID the tape. When I did that, (again a billion years ago) I seem to remember that we entered a file name (for the punch) followed by the name to be punched on the tape. Then the program auto punched the leader, title, code and trailer. I'm looking at attempting to write a program that would do that, maybe a 5x7 dot matrix, Mike
 
I'm looking at attempting to write a program that would do that, maybe a 5x7 dot matrix, Mike
If I remember correctly, DEC used a 5x7 matrix on tapes punched before sometime in 1972 and then switched to a 6x8 after that. If you want to look period correct, I am just trying to be helpful here. Really! 8-)
 
Back
Top