• Please review our updated Terms and Rules here

Modern printers with CP/M

Most inkjet printers should still support text-only raw data sent to them. I know this was true for dot matrix.
If you want formatting and styling though it was up to your application to support it with a baked-in printer driver. The Diablo command set however was very popular and you can find support for that well into the laser printer era.
As for interfaces, you had RS-232 serial and parallel, the latter hanging around way longer than Serial but for the longest time your flavor of connection was either a Centronics connector or an edge connector and a ribbon cable, but parallel ports were usually pretty interchangeable.
 
Parallel printer ports are problematic, simply because they aren't really used anymore. What I did was write a Diablo 630 "emulation" in JAVA and can run that on a PC connected by serial port. This emulation produces postscript and so can be used with many modern printers. This allows the printer to be shared. Direct-connect printers have the problems mentioned by NeXT.

There are USB-Parallel adapters, and theoretically one could use that to connect to a legacy computer parallel port. If the driver supports using the port as input.
 
Maybe with another, more modern computer acting as a man-in-the-middle rendering and translating.
 
So stay away from parallel ports use serial to USB. So modern printers PostScript and Diablo 630 command sets. Do any of them use the Epson command set, just text not graphics. I still remember how to patch/config the programs I would use for printing.
 
I feed the serial printer port on my cpm system to a stm32 (blue pill) and ethernet to the printer at the other end of the house.
The brother laser printer seems to handle plain ascii just fine. I don't think it will emulate the command sets of old printers.
 
I went the other way and simply started collecting old printers - at least a few...

Though I'm still looking for a Serial HR-5 to finish that collection and pick up what I used to have.

I still remember the pain of having a good dot-matrix printer that was cheap and fast, but had not graphics mode, and then when I got the HR-5 it wasn't quite "epson" compatible - Similar codes, but different feeds - Enough that they won't work correctly under Windows any more. Though if I start it, then reset the printer ( off/on ) it prints correctly for the remainder of the page.

I have an EP-22, and EP-44 and a HR-5 Parallel now.

Older Lasers still get given away at times with a parallel port - Even I won't collect those any more.

So easiest way is with something in the middle - eg, a Raspberry Pi in the cable or similar - Something that will drive a USB Printer with whatever you want, and has a serial port to talk to a CP/M machine.

It's a problem that STILL faces commercial computing - ie, old computers embedded in places where replacement isn't practical. So there are commercial solutions as well.

eg: https://www.digikey.com.au/en/products/detail/ak-nord-gmbh/SER2USB/7621809

These can even be purchased from Ebay.

There are other solutions - This is a very old discussion on topic: https://forum.vcfed.org/index.php?threads/printing-from-vintage-pcs-with-modern-printer.74938/

As for me? I find Thermal Printers are the best since while it's difficult to get the paper now, no ink is required.

It's funny, but that's exactly what I hated most about these printers back in the 80s... The idea of having to print on thermal paper was absolutely abhorrent to me - and stopped me using my printers much ( or worse, ZX Spectrum aluminized rolls of paper ) -

Now it's what I love the most. And no issues getting cheap paper - I even love the grid patterns already printed on the medical paper rolls I buy for my Alphacom printers.

David.
 
$180 is $120 US which isn't TOO bad for a commercial current part...

But yeah, I wouldn't buy it either.

If I had to, I'd get a small cheap laptop for around $20~$50 just powerful enough to run some kind of windows, or better still, a tablet, and I'd connect up a USB to Serial adapter and use that to connect to my printer via USB or even ethernet and just run a BASIC program in freebasic to take serial bytes and send them to the printer... Yeah might even write some protocols into it... But that's fun and buying something is not :(

It's amazing how cheaply old surface tablets go for... I always have a few laying around.
 
$180 is $120 US which isn't TOO bad for a commercial current part...

But yeah, I wouldn't buy it either.

If I had to, I'd get a small cheap laptop for around $20~$50 just powerful enough to run some kind of windows, or better still, a tablet, and I'd connect up a USB to Serial adapter and use that to connect to my printer via USB or even ethernet and just run a BASIC program in freebasic to take serial bytes and send them to the printer... Yeah might even write some protocols into it... But that's fun and buying something is not :(

It's amazing how cheaply old surface tablets go for... I always have a few laying around.
I can never find a windows laptop or tablet that cheap when I need one, and never got printing to work on any *nix computer.
 
Some years ago, I managed to use a parallel printer (Epson LX 350) to print, not from CP/M, but from my multitasking system RTM/Z80.
Practically, the file was printed from a CP/M app which booted RTM/Z80 and launched a task to send a text file to the printer.
The printer was connected via Z80 PIO (SC103 board).
The printer driver works on interrupts.
See https://github.com/Laci1953/RTM-Z80/blob/main/SOURCES/printer.as

Ladislau
 
Some years ago, I managed to use a parallel printer (Epson LX 350) to print, not from CP/M, but from my multitasking system RTM/Z80.
Practically, the file was printed from a CP/M app which booted RTM/Z80 and launched a task to send a text file to the printer.
The printer was connected via Z80 PIO (SC103 board).
The printer driver works on interrupts.
See https://github.com/Laci1953/RTM-Z80/blob/main/SOURCES/printer.as

Ladislau

Adding a centronics port is another solution... As is writing your own software... And it's not that different to how we approached the problem back in the day.

But it's nice to just have a printer with a serial and parallel input also and know whatever software you use, it will work.

Even nicer to have a printer with "Epson" written on the side so you know at least it's a default mode of operation is likely to work with whatever software you're using.

But as "temporary" computers go, definitely don't underestimate obsolete tables - :) They are useless for anything else now, and you often find them working in goodwill stores because even pawnbrokers don't want them. As long as they function and have a USB port, it doesn't matter if the battery doesn't hold much charge and they can run a single program easily... And you can use that to show what's going on, what's working etc, even print "test" pages so you know everything is good.

It weird that perfectly functional computers have been made obsolete not by technology but by Microsoft... They simple can't be used today even for what they were originally designed for - a problem that vintage computers don't have. There were no "online servers" to activate them back then.
 
...
It weird that perfectly functional computers have been made obsolete not by technology but by Microsoft... They simple can't be used today even for what they were originally designed for - a problem that vintage computers don't have. There were no "online servers" to activate them back then.
Microsoft should have never have gotten into operating systems and stuck with basic.
 
...
But it's nice to just have a printer with a serial and parallel input also and know whatever software you use, it will work.

Even nicer to have a printer with "Epson" written on the side so you know at least it's a default mode of operation is likely to work with whatever software you're using.
...
Having "HP" on the side lets you know it understands PCL. Of course you needed sound damping box and sturdy desk/table for the old dot matrix and daisy wheel printers. I made the mistake of trying to use one in a folding table, need a new table and printer after the literal crash!
 
I've been using https://www.retroprinter.com/ for several years and it's met all my printing needs. Faithfully reproduces print fonts and spacing.
Looks like a great product. Unfortunately, it does not appear to be open-source - though I don't fault them for that. As I read it, you only need to buy the hardware if you want/need a parallel printer (serial can use USB-Serial adapters?). Haven't dug deeper to see if the output can share a printer with the rest of your computers (My Epson 3700 is on my home LAN available to everyone). I also wonder if it can be used without a physical printer port, as in "shared" via CP/NET to a bunch of CP/M machines.
 
What modern printers can used with CP/M machines? What connections/cables, drivers/command sets?
What do you need to print (text, graphics, plots) and what ports do you have?

I would go for a HP printer with PCL (not a competitor) as they are hysterically backward compatible all the way to plain text, and HPGL allowing plots, meaning there is a good chance that an original driver from 40 years ago will send usable byes. Unfortunately their cheap devices do not support serial and parallel any more, so this is turning into a question of budget and allowable shortcuts.

So, what do you need? 🙂
 
I think the biggest problem is with many modern printers being either "dumb" devices under PC-side software control or fancier systems that don't accept control codes and ASCII text like those of the 70s and 80s (maybe 90s too).

Not sure about the effort involved, but someone could certainly teardown a recent printer and attempt to replace the control and interface circuitry...
 
Microsoft should have never have gotten into operating systems and stuck with basic.

I don't think it's a Microsoft problem so much as a capitalism problem.

As long as your work today needs to produce profit tomorrow there will be a perverse incentive to screw over the customer.
 
Back
Top