I'm starting to work on a FreeDOS program to simulate a dot matrix
printer, to show the output of each page in SVGA mode. (Also
considering adding PC spkr support, so it makes noises as it
"prints.") The first version will be a plain ASCII (7-bit) 9-pin
printer. I'll add CP437 and ESC/P support in later versions.

Here's what I'm planning:

This will be an "idealized" dot matrix printer. I'll reserve 6x9 for
each character box, but will actually draw characters in a 5x8 box.
Using 8 rows means I can easily simulate a "print head" that prints
characters as a series of 1-byte bit patterns (5 columns, each column
is 1 byte). I'll reserve the 9th row for "underline."

That also makes the math easy. I'll reserve an extra "6th" blank
column as a space between letters, and an extra (10th) blank row as a
space between lines. If I assume 10 CPI and 6 LPI, that means a US
Letter page will have 60 DPI in both horizontal & vertical dimensions
(that means square pixels):

10 char/inch x 6 dots/char = 60 DPI
6 lines/inch x 10 dots/line = 60 DPI

That means the resolution needs to be:

60 dots/inch x 8.5 inches = 510 pixels
60 dots/inch x 11 inches = 660 pixels

..so I can display the page in 1024x768 resolution.

I think my math is right. :-)


_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to