Image Map Image Map
Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 23

Thread: Understanding the DEC BIN Loader program

  1. #11

    Default

    Can you assemble it from source and send the binary to the TTY?

    I think that there is a special OS/8 handler for the reader/punch on the Teletype.
    Member of the Rhode Island Computer Museum
    http://www.ricomputermuseum.org

  2. #12
    Join Date
    Dec 2013
    Location
    Near Milwaukee Wisconsin
    Posts
    979

    Default

    Well, I tried PIP as shown above. I tried PAL
    Code:
    .PAL TTY:<BIN.BN/B
    This did the same, just punched the code and not the leader. I looked at maybe making a leader on the TTY, but can not do that from the keyboard. In the past I did it from my IBM XT running Kermit as the TTY terminal, but I'd like to know how to do it without the IBM. I am wondering about whether or not the leader can be added to the PAL.PA file. I have seen some OS8 utilities EPIC, but this one seems to indicate that the file is ASCII and not binary. I have also seen CONVRT, which is another punch utility. Need to read more. Mike

  3. #13
    Join Date
    Dec 2013
    Location
    Near Milwaukee Wisconsin
    Posts
    979

    Default

    Well, I read about EPIC and it has it's own paper tape format. So any tape made with EPIC, has to be read with EPIC. I also found Symbolic Editor, here again this program has it's own paper tape format, Have not compared SE and EPIC formats, but I bet they are different. I never though about the fact that paper tape, just like other storage media would have different formats. It's been so long since I used paper tape for real, 1960's, I can not remember how it was done. DEC has it's BIN loader for all the MAINDEC and other programs like Fortran, but I have not found a utility that can make a DEC BN paper tape. I figure I could cobble together a file, using PAL8 for the binary part (yet I have not looked at the binary output, does it have the address at the beginning and a checksum?) and then merge the leader/trailer. I could write a program to make a leader file. How did vendors using DEC equipment make their vendor paper tape files? Seems odd that PAL8 and probably other assemblers could make BN files, yet I have not found how to make a paper tape out of these BN files. Still looking. Mike

  4. #14
    Join Date
    Jun 2012
    Location
    UK - Worcester
    Posts
    1,797

    Default

    You have to think of the paper tape as eight holes - that's it...

    Someone has 'dreamt up' a way of storing data onto the paper tape. As you are finding - this is not always consistent...

    Normally, you would load the RIM loader and then the BIN loader and then your program. More often than not, the BIN loader was appended ahead of the program you wanted to load. So, you would hand-load the RIM loader and then the BIN loader would be loaded from paper tape and then you just 'ran in' to the BIN loader and loaded your program.

    It made sense for some companies to use the 'standard' DEC RIM and BIN loaders - but it wasn't mandatory. A company could design their own BIN loader (specifically around what they wanted to load) and then use the DEC RIM loader as the bootstrap for their 'peculiar' BIN loader which then loaded the application program.

    In the same way (if I read some of your previous posts correctly) you are trying to find some correspondence between the extended memory instructions and the state of the top two bits of the paper tape character. There isn't any... The unused code within the format that DEC came up with originally was used to indicate a memory field. That's it. The 'magic' to convert the 3 bits stored on the paper tape into the appropriate instructions for the PDP-8 is done by the loader itself.

    Is what you are looking for called Digital-8-5-U-BIN (Binary punch routine)? http://www.ricomputermuseum.org/Home...pdp-8-software.

    I also see DECUS had a few utilities as well (e.g. http://so-much-stuff.com/pdp8/software/decus.php).

    Invariably, there will be a utility program somewhere to take what is in memory and write it out to the paper tape unit in the format you want. Of course, the problem is to find it...

    I am away this week - but I will have a look when I get back next weekend if you haven't found anything by then.

    Dave

  5. #15
    Join Date
    Dec 2013
    Location
    Near Milwaukee Wisconsin
    Posts
    979

    Default

    Thanks Dave. I'll look into this. Mike

  6. #16
    Join Date
    Dec 2013
    Location
    Near Milwaukee Wisconsin
    Posts
    979

    Default

    Had some time today to look at the Digital-8-5-U-BIN. It seems to be a normal BIN file. Leader, trailer and address followed by the code data. This program starts at 7465 and the first item it does is punch a 74 character leader. Next it wants the Starting Address of the code then the Ending Address. Then it reads the switch register again, I'm guessing that this is some kind of option here, and have not figured that out yet. So I figure that if you assemble a program using PAL8, the assembled code will be in memory. You just find the start/end address, use this program and you can have a BN paper tape. One other item I am still a little fuzzy on is, where does the checksum come from. Does PAL8 figure that out and append that a the end of the BN file, or does it come from some other place? Still working on it, Mike

  7. #17
    Join Date
    Dec 2013
    Location
    Near Milwaukee Wisconsin
    Posts
    979

    Default

    Had a little more time today to look over the Digital 8-5-U-BIN program some more. I think I made a mistake in my first assumption regarding what the program wanted from the user. There are three sequences where the SR is inputted. Now, I believe the first SR input is some kind of program option, the second one is the BN program starting address and the 3rd is the BN ending address. There are three subroutines. One sub that punches out the leader and trailer, one sub that just punches out one character and one sub that breaks up a 12 bit character into two six bit, with or with out an address marker, to be punched out. I also found that this program calculates and punches the checksum just prior to the trailer. So at this point the only item I am still figuring on, is what is the 1st SR input? Is this a program option? Is there some documentation with this program, so far I have not found any. Thanks Mike

  8. #18
    Join Date
    Aug 2010
    Location
    Silicon Valley USA
    Posts
    692
    Blog Entries
    4

    Default

    Is this the program you are using: DIGITAL-8-5-U-SYM Binary Punch (ASR33)

    Here is a link to the pdf doc: https://drive.google.com/open?id=1H9...BYsNDG_FUMCtuG which has the 'user manual' page and the program listing.

  9. #19
    Join Date
    Dec 2013
    Location
    Near Milwaukee Wisconsin
    Posts
    979

    Default

    This sure looks like it! I was looking for DIGITAL-8-5-U-BIN, rather than SYM. This appears that the first SR input refers to the 'Number of Blocks'. Not sure why that is needed, but I will look much closer at this tomorrow, Thanks a million. Mike

  10. #20
    Join Date
    Jun 2012
    Location
    UK - Worcester
    Posts
    1,797

    Default

    Thanks Don - that's really useful.

    The 'number of blocks' permits the program to output binary tapes that contain 'n' blocks of words that are separated by memory not associated with the program. If (for example) you specify three blocks to the first parameter - you will be asked for a start and end address 3 times (once for each block). Each block consists of an origin (the start address), followed by continuous words (up to the end address), followed by the checksum. The blocks will be 'encased' in leader and trailer.

    If you have code from 200 to 237, 300 to 312 and 400 to 470 you would tell the program you have three blocks, the first block starts at 200 and finishes at 237, the second block starts at 300 and finishes at 312 and the third and last block starts at 400 and finishes at 470.

    If you have a single range of words in core you wish to dump to paper tape, you have 1 block. If you have 'hand keyed' a test program into core, this is the simplest way of saving your creation...

    However, I don't think this was the original question you were asking was it?

    Reading the PAL III manual (stand alone PDP-8 assembler) - this program already outputs a binary file.

    If you are using PAL8 under OS/8 (which I think you are) then PAL8 already creates a BINARY file on the disk as its output.

    Your problem (as I understand it) is to transfer this binary file to the paper tape punch so that it can subsequently be loaded with the BIN loader. Can you confirm?

    This website implies that OS/8 PIP will work (https://oldfellowstoys.net/category/pdp-8/).

    I wonder if the command you are using ("*TTY:<BIN.BN/B") is stripping the leader/trailer?

    Let me have a read...

    Dave
    Last edited by daver2; June 8th, 2018 at 10:52 AM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •