From 5dd9a17a3cdd94afb1e0641e59d678b11df6f65d Mon Sep 17 00:00:00 2001 From: David Schmidt Date: Mon, 10 Jan 2011 11:45:51 +0000 Subject: [PATCH] Update printer dev documentation with text info --- doc/web/src/site/apt/developing.apt | 16 +++++----- doc/web/src/site/apt/printer.apt | 28 +++++++++++++++--- .../src/site/resources/images/printer2.png | Bin 10305 -> 10368 bytes 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/doc/web/src/site/apt/developing.apt b/doc/web/src/site/apt/developing.apt index 528dce8..d2183d4 100644 --- a/doc/web/src/site/apt/developing.apt +++ b/doc/web/src/site/apt/developing.apt @@ -145,23 +145,21 @@ easy. Start with <<>> if you are a little-endian machine, or unless your processor is little-endian (x86, Alpha). Mac, Sun, MIPS, HP, Motorola, and IBM are big-endian. -* Incorporating Parallel Printer Support +* Incorporating Graphical Printer Support - Until parallel printer support is generally integrated into all builds, the following work needs to be done: + Until graphical prallel printer support is generally integrated into all builds, the following work needs to be done: * Install Simple DirectMedia Layer ({{{http://www.libsdl.org/}SDL}}) and Freetype in your build environment - you'll need to link to their libraries - * Add <<<-DHAVE_PARALLEL>>> to the <<>> variable in your <<>> file; also add <<<-DWIN32>>> if you're on Windows + * Add the <<<-DHAVE_SDL>>> option to your <<>> and add the same (perhaps to a new) <<>> in your <<>> file - * Add something like <<<-I/usr/include/freetype2>>> and <<<-I/usr/include/SDL>>> options to your <<>> in your vars file to point to the SDL and Freetype include files + * Add something like <<<-I/usr/include/freetype2>>> and <<<-I/usr/include/SDL>>> options to your <<>> and add the same (perhaps for a new) <<>> in your <<>> file to point to the SDL and Freetype include files - * Compile <<>> and <<>> and include their object code as part of your final linkage + * Include SDL and Freetype libraries to <<>> in your <<>> file (i.e. <<>>) - * Include SDL and Freetype libraries as part of your final linkage (i.e. <<<-lSDL -lfreetype>>>) + * Include the Win32 common dialog library to <<>> as part of your final linkage if you're on Windows (i.e. <<>>) - * Include the Win32 common dialog library as part of your final linkage if you're on Windows (i.e. <<<-lcomdlg32>>>) - - * After building, you'll need the file <<>> in the same directory as your GSport executable + * After building, you'll need the file <<>> in the same directory that <<>> is found * You'll probably want a monospaced TrueType font file easily accessible to add as part of the GSport configuration diff --git a/doc/web/src/site/apt/printer.apt b/doc/web/src/site/apt/printer.apt index e6c8e49..5313575 100644 --- a/doc/web/src/site/apt/printer.apt +++ b/doc/web/src/site/apt/printer.apt @@ -29,14 +29,34 @@ GSport Emulated Printer [images/printer2.png] Printer Timeout configures how long until a form feed is automatically sent to the printer - (which forces the emulator to kick out a "page".) -It should be set higher for PR#1-type printing to work correctly. + (which forces the emulator to kick out a "page"). +It should be set higher for PR#1-type printing to work as you might expect. If it is set to "Never", you have to manually send a form feed, fill a page with text, or exit the emulator before any output is saved. This behavior is similar to modern laser/inkjet printers when they are used with Applesoft. Most applications are good about sending form feeds at page end, so this issue usually doesn't crop up. Make sure to configure font locations. - Roman is used by default and the printing emulation won't work if none at all are defined. - Any monospaced truetype font you have will work. +Roman is used by default and the printing emulation won't work if none at all are defined. +Any monospaced truetype font you have will work. Printer output should appear in the same directory as GSport as page1.bmp, page2.bmp, etc. + +* Printer Output Type + + GSport can produce various types of graphical or textual output based on your platform and + what has been compiled into your binary. + Cycling through the various options in "Printer Output Type," there are: + + * Windows Bitmap + + * Postscript (B&W) + + * Direct to host printer + + * Text file + + [] + + Windows Bitmap will produce .BMP files for each "page" produced. The same is true for Postscript, but .PS files are produced. +"Direct to host printer" is only implemented for Windows, and will send page-oriented output directly to your system's printer. +"Text file" will append text-only output to a file named "printer.txt" in GSport's current working directory. \ No newline at end of file diff --git a/doc/web/src/site/resources/images/printer2.png b/doc/web/src/site/resources/images/printer2.png index af174231cfff80a9296edbf7c41c02f5f156da0d..e3a04f782fb6290269925b480ee7035aff12a08e 100644 GIT binary patch literal 10368 zcmeHti96K)`|e;ql9DYHA!J{(mwgwLZDikyp|NM*msCU&4H^oCk!*#?*ehf#Q`W}* zAvE?SOV;1(?R(C-u5tLtonr2BVaL z!6+WmP=Z(D4QHLee-!>^dYZ8E-b-Zg0C&^4sR4t1NI7$G`ycRp+E?G&9|mIzfPN?@ zT)9JFFd>#3+8X8|4$I?7X)hJ49-69k9UrYKb_o8?yNWMVH$QE~%zV!HqXgEG)~m*x z>-g{F@zJIvCC%j+8099zu8gq|uLg_)&Y(UeNkRB3%?n

DHM#PA3y{)s7E$j+-Tp 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 literal 10305 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 Zq3WkH+E9wV0)F-f)73(1mfWz5{4d1B)d&Cp