Page 1 of 2

Settings for high-speed paper tape

PostPosted: November 19th, 2014, 1:07 pm
by mail@gabrielegan.com
Anyone know the correct settings on a high-speed paper tape (specifically the GNT-5601) to get it talking to the Altair? I've got the Altair's third port (the ACR port) at 9600 8N1 but the punch tape machine's setup uses odd language about parity. On the reader side I've gone for no parity but on the punch side the manual asks "What PARITY should be punched on the tape? Applies to ASCII only. EIA parity is always odd. Roll through E/0/N (Even/Odd/None). The parity bit is the 8th bit on the tape. If No Parity is selected, the 8th channel will be blank." It's that last sentence that's bothering me: surely if there's no parity bit then the 8th channel should be punched with the 8th bit in the incoming byte, not "be blank"?

With these settings (8N1 @ 9600 baud) the CSAVE command in 8K BASIC manages to punch a tape, but its 8th channel really is blank throughout (there are 7 holes punched not 8) and this tape isn't readable with CLOAD. Programming the comm port on the tape punch I've gone for "Hardware handshaking disabled" since I know the ACR port doesn't use hardware handshaking.

Regards

Gabriel Egan

Re: Settings for high-speed paper tape

PostPosted: November 19th, 2014, 2:04 pm
by Tor
It's not unthinkable that there was no provision for using more than 7 bit for data. I seem to recall such systems (a long, long time ago..)
If so then you had the choice of 7 bit odd parity, 7 bit even parity, 7 bit no parity. And, I think, 7 bit, ignore parity. (in more modern times the Swedish GSM data setup, before GPRS arrived, only allowed for 7-bit data. Which made it nearly impossible to use dial-up networking in Sweden with a mobile phone, unlike any other country I traveled to back then. That lasted until GPRS was introduced maybe some time after year 2000)

Re: Settings for high-speed paper tape

PostPosted: November 20th, 2014, 1:25 pm
by mail@gabrielegan.com
Thanks, Tor, but I'm pretty sure the device accepts and emits 8-bit data. You see, it's almost identical to the one used by Mike in his video of booting 8K BASIC on the Altair from a high-speed paper tape machine.

It's just occurred to me that although we think of ASCII as an 8-bit format (well, I do) it's actually a 7-bit format: ANSI never defined the meanings above 127[dec]. Each 8-bit computer manufacturer in the 1970s-80s defined 128-255[dec] their own way hence the notion of 'code pages' in which the bottom 128 are standard ASCI codes but the top 128 are region-specific.

So, I shouldn't be having the punch do its stuff in ASCII at all, since the GNT-5601 thinks of this as a 7-bit code, hence the statement about leaving column 8 blank if no parity check is switched on. I'll try EIA in the hope it's an 8-bit code.

Regards

Gabriel

Re: Settings for high-speed paper tape

PostPosted: November 20th, 2014, 8:30 pm
by AltairClone
Post a close-up pic of the front panel buttons (not the DIP switches). I want to see how/if it differs from mine.

Mike

Re: Settings for high-speed paper tape

PostPosted: November 25th, 2014, 5:57 am
by mail@gabrielegan.com
Actually, there are no front panel buttons or DIP switches: the port and reader/punch settings are entered via a QWERTY keyboard and a LCD display. I attach a picture showing this plus the two relevant openings of the manual on how to do the programming. Aside from some miscellaneous settings I think I can ignore, the key things are i) parity setting for the reader and punch, ii) use ASCII or EIA coding for the reader and punch, iii) hardware-handshaking or RS491 handshaking or full duplex or half duplex on the comm port, iv) baud rate, parity, and number of stop bits on the comm port.

http://gabrielegan.com/scratch/1.JPG
http://gabrielegan.com/scratch/2.JPG
http://gabrielegan.com/scratch/3.JPG

Gabriel

Re: Settings for high-speed paper tape

PostPosted: November 25th, 2014, 9:17 pm
by AltairClone
Interesting device with the keyboard/display interface for settings. You'll want to choose ASCII not EIA. Choose no parity in all cases, but the comment that with "No parity the 8th bit channel will be blank" is worrisome.

On page 3-8, I'd choose the full duplex setting. On 3-9, choose 8 bits per word.

Let us know what happens!

Mike

Re: Settings for high-speed paper tape

PostPosted: November 28th, 2014, 9:17 am
by mail@gabrielegan.com
Turns out that if all the settings (punch, reader, comm port) are ASCII, No Parity, 8 bits, 1 stop bit then it doesn't matter whether the hardware handshaking is off, on, full duplex, or half duplex. In each case the same holes are punched on the tape in response to a CSAVE command in BASIC. In each case BASIC thinks the saving is finished ("OK") but the punch stops after a few characters (for a very small 3-line BASIC program) and the punch's display says "RUNNING" and the process can only be terminated by hitting ABORT on the punch. The resulting tape certainly has hole-8 blank in every case and it isn't readable by BASIC: the CLOAD just hangs and the reader keeps halting asking for the tape to be loaded, as if all it were seeing were feeder holes rather than data. Will keep trying all combinations of settings in the hope of hitting lucky.

Re: Settings for high-speed paper tape

PostPosted: December 2nd, 2014, 10:19 am
by mail@gabrielegan.com
Oh dear! Just spoke to a knowledgeable GNT engineer who reckons that the GNT-5601 is unable to punch 8-bit binary data, even though the GNT-4601 (on which it is based) is able to do that. Just my luck to buy the wrong one. Will see if I can get it at least to save/load by simply listing a BASIC program, if I run it very slowly and use a manual switchbox to disconnect the dumb terminal from the Altair comm port and connect it to the punch just before hitting 'list'.

Gabriel

Re: Settings for high-speed paper tape

PostPosted: December 2nd, 2014, 11:32 am
by AltairClone
Sounds like it's time to find the EPROM in the punch, disassemble it and patch the code!

Mike

Re: Settings for high-speed paper tape

PostPosted: December 3rd, 2014, 6:32 am
by mail@gabrielegan.com
Oh boy, that sounds like really specialist stuff. Actually, though, contrary to the GNT engineer's pessimism, it turns out that buried deep in the GNT-5601's menus is an option for the device to send/receive 8-bit binary data, so I have managed to punch an 8-bit ASCII tape using BASIC's CSAVE command. But CLOAD won't read the tape back in: the BASIC prompt never returns after the reader has finished reading, and BASIC just hangs. I wonder if anyone knows whether there's an End-of-File marker that a device has to send to let BASIC know that the transmission is over. I ask because the GNT manual refers to an option to use ^D (CTRL-D, presumably) for that purpose and I don't know whether this feature should be on or off. I'm guessing that BASIC's CSAVE itself writes out such a EOF of its own choosing, but that could be wrong. From the mists of time I recall MS-DOS using ^Z (CTRL-Z) for this purpose.