Eric Auer has released a version of FreeDOS GRAPHICS, which allows Prtscr to print graphics screens. Here's Eric's announcement:
The program is written in NASM assembly language and this first version only supports PostScript output in 256 levels of gray. I hope that Steve or Jose or any of YOU can make up a nice, easy, fast dithering algorithm which would be needed for 180 dpi pinwriter (24 pin Epson, NEC, IBM...) support. We already know the needed printer control codes. [...] Currently, CGA, EGA, VGA and MCGA are supported. The PostScript ist scaled to fit both A4 and Letter paper. Check the graphics.txt file to know more about redirecting print data to a file in DOSEMU / Linux (I had to go through lpr, as further configuration options no longer seem to exist). I would like to have an Epson to some-graphics-format (e.g. PCX, BMP, or just an X11 window) converter for development of the Epson driver: If you can help with that or provide such a converter, thanks. Will save me some time.
Eric also posts this list of links:
Hi, with thanks to Wolf, Steve, and the authors of the pages... a few links about printer languages that helped me with GRAPHICS.
Epson 9pin/24pin (I may add that ESC * 38/39 colLo colHi are even higher res. on 24pin), found by Steve:
(has a big ZIP with PDFs, for example: http://www.google.nl/search?q=cache:1DQLzZ6_srUC:www.intellitech-intl.com/techsu pp/techdocs/programmersrefman/section9.pdf+%22hp+pcl%22+bitmap+raster+image+form at&hl=nl&ie=UTF-8 )
... or go to hp.com and get the CD (cheap).
http://atrey.karlin.mff.cuni.cz/~milanek/PostScript/english.html which has a nice collection of "various examples" and also links David Maxwell's useful (but partial) manual...
or use the online short command reference: http://www.mdwconsulting.com/postscript/postscript-operators/
If you are at it, maybe you could check
http://www.coli.uni-sb.de/~eric/dither-test.zip which contains, at 60 and 180 dpi, PNG test images in 3 versions: - 256 gray (as PostScript printers would print them) - ordered dither (by ImageMagick, the free converter for Win, Linux, ...) - random dither (I converted to raw gray bytes, piped through my short C random-dither program, converted back with ImageMagick).
As you can see, random dither makes things fuzzy. Do you think it is acceptable on 180 dpi? I would prefer it to ordered (Bayes) dither, because random dither makes scaling of the image very easy. The higher the resolution, the better the simulated gray scale. And it does not cause the print to be tiled with boring patterns (which I would have to store in RAM for ordered dither). I think MS GRAPHICS uses ordered dither, but I would like to make FreeDOS GRAPHICS for Epson use random dither (for PostScript, no dither is needed). Floyd-Steinberg dither (after each s/w decision, correct neighbouring pixels by the error) takes too much RAM. Riemersma dither (dither along a Peano or Hilbert space filling fractal curve and correct only the next pixel after each decision) takes no extra RAM, but it is tricky to make the fractal follow a path that the print head can follow, too.
Please comment... thanks .