• Please review our updated Terms and Rules here

GPIB to Serial or parallel printer adapter with the PET

Hugo Holden

Veteran Member
Joined
Dec 23, 2015
Messages
4,644
Location
Australia
Is there an available printer adapter known to work with the PET and a modern parallel printer, or even a vintage serial printer like the Apple Imagewriter ?

Or were the printing protocols unique to the original PET GPIB printers, requiring some supporting conversion software to make it work ?

(I found some general GPIB adapters at ICS Electronics and I'm waiting to hear if they might work with the PET. I have bought but not received an ADA1200 GPIB to serial adapter to try out initially)
 
Last edited:
I have at home a little box with an Intel 8748 (?) inside that exchanged data between GPIB and RS-232, meant for the CBM. According the previous owner it worked until one day ..... Brand unknown (at the moment).

I also had a box that indeed did GPIB -> LPT according the owner but you needed special software (which he didn't have anymore). After opening it I understood why: it more or less connected the various IEEE pins directly to the LPT connector. I gave it away to someone who had more time than me to have a look at it.
 
You may want to look into a used National Instruments GPIB-232CV on ebay, etc. I found one for under $200 years ago. I have a note on the box that says it transfers data only not IEEE commands. That may be OK for a printer. I was using it to troubleshoot the IEEE interface and it was not good enough for that.
 
Thank you Ruud & Dave_m for the replies.

If I don't have any luck with the ADA1200 GPIB to serial adapter, I will try others.

The ADA1200 comes with some software (on tape) for the PET, so hopefully that might still be working as I also have a working Datasette as well as the SD2PET. If that doesn't work I will try one of those National Instruments converters. I will report back on what happens.

I have another question:

Since modern printers usually come with support software not suited to the PET, what would be a good vintage serial printer to get, presumably something like the Apple Imagewriter that would likely not require a support driver ? Or could I expect a modern printer to just work say via an RS-232 to USB adapter ?
 
...also another printer question:

Would it be likely that a vintage Daisy wheel printer (I see a few were made in Japan) that has a GPIB connector on them would work directly with the PET ?
 
I would guess plain ASCII text may work OK with serial printers, but not formatted text using special commands. Not sure about any PETSCII/ASCII issues with lower case, etc.

The ADA1200 GPIB sounds exactly what you need. I hope you are not paying a lot for it. Can you tell us about it?
 
I would guess plain ASCII text may work OK with serial printers, but not formatted text using special commands. Not sure about any PETSCII/ASCII issues with lower case, etc.

The ADA1200 GPIB sounds exactly what you need. I hope you are not paying a lot for it. Can you tell us about it?

Yes, these are available NOS from retrocuriosities in the UK on UK ebay which is ebay.co.uk, they are in the original box with the PET software tape:


80GBP, moderately expensive, but if they work, it may well be worth it.

Or the bare board is available without the edge connector(socket) from the same seller:

There is a big IC there with no number on it, maybe they (the manufacturers) tried to obscure the part identity:


Obviously if I can recover the programs from the vintage cassette tape I will want to store those in the SD2PET. I think you have explained to me in the past how to do that , but I can't lay my hands on the notes, can you advise me again how that is done ?
 
Hugo,
Assuming these are BASIC programs and the program names are known from the documentation, it is a simple matter of LOADing each program from the cassette into the PET, and then without running the program, SAVEing it to the PET2SD as device 8. If they are assembly language programs, it will be a little more difficult requiring use of the M/L Monitor to discover the start and end of the code in RAM. When this is known, one would SAVE the program using the M/L monitor.

From looking at the board, it is clear that all the 'smarts' in the board are in the single 40 pin chip. Since this board was designed in 1979, then the part must be a single chip micro-controller of the era such as an the Intel 8048 which included a CPU, a very small amount of RAM, 1K of ROM for code, and about 16 or 24 lines of I/O pins. These devices were widely used as keyboard controllers so the job of IEEE 488 to RS-232 would have been a feasible job.
 
Hugo,
Assuming these are BASIC programs and the program names are known from the documentation, it is a simple matter of LOADing each program from the cassette into the PET, and then without running the program, SAVEing it to the PET2SD as device 8. If they are assembly language programs, it will be a little more difficult requiring use of the M/L Monitor to discover the start and end of the code in RAM. When this is known, one would SAVE the program using the M/L monitor.

From looking at the board, it is clear that all the 'smarts' in the board are in the single 40 pin chip. Since this board was designed in 1979, then the part must be a single chip micro-controller of the era such as an the Intel 8048 which included a CPU, a very small amount of RAM, 1K of ROM for code, and about 16 or 24 lines of I/O pins. These devices were widely used as keyboard controllers so the job of IEEE 488 to RS-232 would have been a feasible job.
Thanks again.

Interesting stuff. Also looking at that pcb, I would think that the 10T pot controls the baud rate and that there is a gigantic polystyrene timing capacitor there (and probably a 555 IC) , used because of its excellent temperature stability.

I wonder if the ROM contents in those IC's can be recovered. They probably also had a special programming boards, where initially the code was in another ROM (guessing)

Another question. I have been using the M/L monitor to get programs to the SD card. One quirk is if I have opened the Development program and I save the file after loading it to memory with the Loader, of course it saves it in that Development directory. And I cannot navigate into that in a modern computer as its not a recognized file type. But, I tricked it (at the hardware level) into going back to the main initial directory on the SD card by pushing the reset button on the SD2PET. What is the process to escape to the initial disk directory ? A tried a number of ways and couldn't seem to get back.
 
Last edited:
What is the process to escape to the initial disk directory ? A tried a number of ways and couldn't seem to get back.
To unmount the disk image, you must use the PET backarrow key:

@CD<-

I wonder if the ROM contents in those IC's can be recovered. They probably also had a special programming boards, where initially the code was in another ROM (guessing)

In the old day, an Intel Development System was used to assemble the code, program the chip and readout the ROM. As I recall the operating system for it was called ISIS-II. Also for development, an EPROM version of the chip was used called the 8748. There was a way to expand the I/O and the RAM if needed but things got quirky to address them.

I still have some 8748 chips and can use my DATA I/O Model 29B PROM Programmer to program them, but haven't played with that chip for eons. I did make several projects using the successor chip family called the Intel 8051.
 
To unmount the disk image, you must use the PET backarrow key:

@CD<-



In the old day, an Intel Development System was used to assemble the code, program the chip and readout the ROM. As I recall the operating system for it was called ISIS-II. Also for development, an EPROM version of the chip was used called the 8748. There was a way to expand the I/O and the RAM if needed but things got quirky to address them.

I still have some 8748 chips and can use my DATA I/O Model 29B PROM Programmer to program them, but haven't played with that chip for eons. I did make several projects using the successor chip family called the Intel 8051.
Thank you for all the help you have given me.
 
I also had a box that indeed did GPIB -> LPT according the owner but you needed special software (which he didn't have anymore). After opening it I understood why: it more or less connected the various IEEE pins directly to the LPT connector. I gave it away to someone who had more time than me to have a look at it.

This triggers an old recollection: the “parallel port” on the Osborne 1 CP/M computer was actually an IEEE-488 port. The cable to go to a centronics printer was just a passive ribbon, however. Googling around I found this PDF about how the Osborne port was implemented:


Long and short of it is it looks like the Osborne’s hardware at least broadly resembles the PET’s (it uses a 6821 PIA, which is the same thing as the PET’s 6520), and just bit-bangs the control lines differently for Centronics emulation. Presumably the missing software for this conversion box did something similar?
 
I just found the attached remarks in the Commodore Assembler manual, very interesting.

One reason I want a printer is to help when developing assembly language programs. I have bought an early Apple Imagewriter printer, the ribbons are still available.
 

Attachments

  • print.jpg
    print.jpg
    257.4 KB · Views: 12
I have bought an early Apple Imagewriter printer, the ribbons are still available.

Just in case you weren’t aware, the ImageWriter (both the original and ImageWriter II) are serial only, no parallel port. Thus so far as I know there’s nothing about it that makes it a particularly great choice for use with a PET. The guts of the ImageWriter are based on the C.Itoh 8510, which comes in parallel and uses the same ribbon, so it might be a better prospect?

(Although, honestly, no better than just about any PC compatible Centronics printer. You could probably just as well drive an HP LaserJet-compatible laser with the above technique.)
 
Just in case you weren’t aware, the ImageWriter (both the original and ImageWriter II) are serial only, no parallel port. Thus so far as I know there’s nothing about it that makes it a particularly great choice for use with a PET. The guts of the ImageWriter are based on the C.Itoh 8510, which comes in parallel and uses the same ribbon, so it might be a better prospect?

(Although, honestly, no better than just about any PC compatible Centronics printer. You could probably just as well drive an HP LaserJet-compatible laser with the above technique.)
Yes, I'm getting the Imagewriter, with the serial input, to interface to the PET via the ADA1200 unit and that has some PET printer software to try too.

But if all that fails to work I might try the PET to Centronics hookup. They seemed to be worried about the TTL drive ability, but it would be easy to use some line driver IC's and have a long cable.
 
A while back I stumbled across some code to drive an ImageWriter from an Arduino, using a simple MAX232 circuit to get proper RS-232 voltage levels from the AVR chip’s TTL serial output. Putting 2+2 together, Bitfixer’s old “Petdisk” storage device managed to directly interface the same kind of AVR MCU to the PET’s IEEE-488 port with no additional glue logic, so…

If someone really cared to put in the effort it might be an interesting project to make a PET-compatible printer interface that allows an arbitrary serial printer like an ImageWriter emulate a Commodore IEEE printer like the 4023. Commodore’s printers could switch between ASCII and PETSCII character sets, including graphics characters. In this scheme the Arduino should have enough oomph to translate a line of PETSCII into graphics output, perfectly emulating the original. Some printer interfaces for the C64 did this kind of translation, emulating, say, the Commodore 1525, on an Epson or IBM Graphics printer.
 
IMO, the most convenient serial printer for a vintage computer is a terminal program on a modern PC! I have no particular interest in connecting my PET to a vintage printer, but as I am finishing up a TRS-80 serial line printer interface, I have been looking at making a similar device for the PET. All I have found reference to so far is the ADA1200 - on ebay an Pinterest. I doesn't sound like you have found any technical documentation like schematics and such either.
 
IMO, the most convenient serial printer for a vintage computer is a terminal program on a modern PC! I have no particular interest in connecting my PET to a vintage printer, but as I am finishing up a TRS-80 serial line printer interface, I have been looking at making a similar device for the PET. All I have found reference to so far is the ADA1200 - on ebay an Pinterest. I doesn't sound like you have found any technical documentation like schematics and such either.
Since the ADA1200 comes in its original box I think there will be some info on it in there, I will have to wait. There is a later unit from the same company called an ADA1450, but, these appear to be very rare. There is a video about it here, but the author did not have the PET software tape, but still, he got it to work which is very encouraging:

 
A while back I stumbled across some code to drive an ImageWriter from an Arduino, using a simple MAX232 circuit to get proper RS-232 voltage levels from the AVR chip’s TTL serial output. Putting 2+2 together, Bitfixer’s old “Petdisk” storage device managed to directly interface the same kind of AVR MCU to the PET’s IEEE-488 port with no additional glue logic, so…

If someone really cared to put in the effort it might be an interesting project to make a PET-compatible printer interface that allows an arbitrary serial printer like an ImageWriter emulate a Commodore IEEE printer like the 4023. Commodore’s printers could switch between ASCII and PETSCII character sets, including graphics characters. In this scheme the Arduino should have enough oomph to translate a line of PETSCII into graphics output, perfectly emulating the original. Some printer interfaces for the C64 did this kind of translation, emulating, say, the Commodore 1525, on an Epson or IBM Graphics printer.
I have a very nice compact Xerox laser printer (I use it to print iron on pcb film for some custom pcb's), it has a USB link. It would be great to have an adapter that allowed that to be use with the PET. But it appears that most new printers have moderately complex software drivers now, so it might be a big ask to make an adapter that supported a good number of different modern printers, or not, I am not sure.
 
IMO, the most convenient serial printer for a vintage computer is a terminal program on a modern PC! I

It kind of goes without saying that the same hardware that could do translation for a serial printer could be used to pipe output into a waiting serial port of any kind. (Obviously the software in such a case could be simpler since it could just pass through the raw codes to be translated however you want on the PC side.) That said, really once you’ve gone that far there’s little point making it unidirectional, you might as well emulate a full IEEE-488 to RS-232 adapter. The Commodore Kernel treats either basically the same way, with “OPEN” commands to start the device channel, “PRINT #” to send, etc. The MCU’s job on one of these dinguses is mostly to just help with the handshaking/arbitration, beyond that it’s mostly just a UART.

If you have a PC old enough to have a real parallel port then you might not even need much hardware to pull a connection off. There were several old projects for connecting a parallel port to a Commodore PET to emulate a disk drive, pretending to be a printer should be that much easier.


 
Back
Top