Printing to a modern printer

Get technical support from the community & developers with specific X16 programs if you can't find the solution elsewhere
(for general non-support related chat about programs please comment directly under the program in the software library)
Post Reply
Martin Schmalenbach
Posts: 125
Joined: Tue Jul 21, 2020 10:08 pm

Printing to a modern printer

Post by Martin Schmalenbach »

Is there or will there be a way to print to what seems to be a IEC bus printer or plotter but that actually creates say a pdf file or PNG on the SD card that can then be printed to a modern printer?
kelli217
Posts: 514
Joined: Sun Jul 05, 2020 11:27 pm

Re: Printing to a modern printer

Post by kelli217 »

There was someone who was working on such a project; unfortunately, that person has since passed away, and did not complete the project. I believe it was going to be called Pi2IEC. The idea was that it was going to listen on the IEC bus and interface as storage when the X16 was communicating with devices in the 8 to 15 range—other than the built-in SD card slot (so in practice, devices in the 9 to 15 range), and as a printer when the X16 was communicating with devices in the 4 to 7 range.

It would then either store the 'printout' as a PDF for later use, or send it immediately to a USB-connected printer or network printer.

I'm not sure what printer it was going to emulate, besides a simple line printer with no command capability. It's a bit of a stretch for an 8-bit 6500-series processor, even one running at 8MHz, to produce page description language output for highly detailed complex printouts, but it's doable; see the old GEOS app geoLaser in connection with geoPublish and/or later versions (2.0 and up) of geoWrite. It took forever for the print to come out, but it worked. It's more probable, though, that Epson and IBM dot matrix printers could be emulated. What is considerably less likely is any sort of support for GDI, the Windows-based Graphical Drawing Interface.
DragWx
Posts: 313
Joined: Tue Mar 07, 2023 9:07 pm

Re: Printing to a modern printer

Post by DragWx »

If we're doing plotters, HP-GL is supposedly a very common vector format that plotters tend to support over serial, and if you save the serial data into a file instead, you can open it in Inkscape. I only know about it because I watched a Tech Tangents video. :P

I don't know anything about print languages, but it looks like PostScript is the "big" one and has been around since the 70s and is still common today. If that's the case, I'd expect that there's a subset of functionality inside it that's straightforward enough for devices of the 80s (such as an 8-bit processor), but also that most any modern printer nowadays would support it too. It's also supposed to be able to convert to PDF and back pretty easily.
User avatar
ahenry3068
Posts: 1005
Joined: Tue Apr 04, 2023 9:57 pm

Re: Printing to a modern printer

Post by ahenry3068 »

Its pretty simple but was so Ubiquitous that I think it is still supported. Almost all Dot Matrix Printers from the 80's to 90's supported
EPSON ESC 2/P. It didn't support Graphics but it did let you do Bold/Italic and Underline Text. It became
close to a universal Printer control language.

I wrote a whole bunch of routines as far back as GWBASIC to use that... And then Ported them to QBASIC.

Even though Dot Matrix Printers are a thing of the past, a Great Many printers supported ESC/2P including
Most Epson InkJets and even the HP LaserJets.

I've only owned a dozen or so printers in my life... But if I was starting with X16 printer routines, I
would start with ESC/2P to at least get things working.

PostScript was a thing then.... But the printers for Postscript where super expensive at the time.
Postscript is supported pretty well in Windows and Linux today, but ESC/2P you could send straight
to the printer and be assured it worked.
Post Reply