home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / XDUMP.ZIP / XDUMP.DOC < prev    next >
Encoding:
Text File  |  1988-08-17  |  31.6 KB  |  837 lines

  1.                            XDUMP V1.03
  2.  
  3.                   A Scaling Screen Dump Program
  4.                 Copyright (c) 1988 by Michael Day
  5.                   Original release: 28 July 1988
  6.                    This release: 17 August 1988
  7.  
  8.      XDUMP  was designed to allow a program to print an  area  of 
  9. the  screen  to  the  printer in graphics  mode.  The  screen  is 
  10. automatically  scaled  to/from the specified screen size  to  the 
  11. target printer size. XDUMP can handle both color and  monochrome, 
  12. is  capable of handling any screen size upto 32K x 32K  and  upto 
  13. 256 colors.
  14.  
  15.  
  16. What XDUMP is and what it isn't:
  17.  
  18.      XDUMP  is a graphics screen dump program. XDUMP was  written 
  19. in  Turbo Pascal V4.0. Version 1.xx of XDUMP was designed  to  be 
  20. incorporated  into another program and consists of two  sections. 
  21. The  first  section is the screen dump program itself.  This  was 
  22. designed  to  be  as  independent from  the  calling  program  as 
  23. possible.  It  was  also designed to be as  small  and  quick  as 
  24. possible  given the constraints it was written under. Because  of 
  25. this,  the  actual screen dump portion of the program  is  rather 
  26. dumb, and is driven from predefined tables. 
  27.  
  28.      The definition section is what defines what the screen  dump 
  29. is supposed to do. The programmer provides the information  about 
  30. the  system  to  the definition section which then  sets  up  the 
  31. screen dump section. 
  32.  
  33.      Because  of its isolated nature XDUMP can be tied  into  the 
  34. INT  5  print screen interrupt as an ISR if so  desired  (with  a 
  35. slight  modification)  that  will run for  the  duration  of  the 
  36. program. Later versions of XDUMP will be capable of operating  as 
  37. a stand-alone TSR. 
  38.  
  39.      Currently  XDUMP  is written to run on  an Epson  compatible 
  40. graphics  printer.  Since  the  source  code  is  provided,   any 
  41. competent  programmer  can quickly adapt the program  to  a  non-
  42. compatible printer.
  43.  
  44.  
  45. What the printer driver needs to know:
  46.  
  47.      The screen dump section of XDUMP is a very dumb program,  it 
  48. assumes that someone else has told it what it is to do.  Invoking 
  49. the screen dump section will then cause it to read the screen and 
  50. dump  it to the printer based on the information it was told.  It 
  51. is   up  to  the  definition  section  to  provide  the   correct 
  52. information.  It  was implemented this way so  that  XDUMP  would 
  53. emulate the standard print screen function.
  54.  
  55.  
  56.  
  57. Defining things:
  58.  
  59.      You must provide XDUMP with information about what you  want 
  60. it  to  do. This means that you must run the  definition  section 
  61. before XDUMP is invoked. 
  62.  
  63.      When  the definition is run, it will attempt to  figure  out 
  64. what  kind  of  setup  is out there,  and  use  those  values  as 
  65. defaults. You can then change or override the standard defaults.
  66.  
  67.      Part of the reason that XDUMP is so flexible is because  all 
  68. of  the  major  machine  dependent code  has  been  left  in  the 
  69. definition  section. This allows a simplified  interface  between 
  70. the  screen and printer making the installation much simpler.  It 
  71. also provides the calling program with the ability to specify  to 
  72. XDUMP exactly how it wants the dump to appear. This is  something 
  73. that most other screen dump programs are simply not able to do.
  74.  
  75.      The  only interface that XDUMP has to the screen is  through 
  76. one  simple TP4 graph routine "GetPixel."  This limits you to the 
  77. displays supported by the BGI,  and it prevents using XDUMP  as a 
  78. TSR since  the graph unit  is not  compatible  with  TSRs.  It is 
  79. somewhat faster than the BIOS call though.
  80.  
  81.      You can use the BIOS call  (the Read Dot function in INT 10)
  82. if  you wish. This is how XDUMP is capable of handling  any  size 
  83. screen  (even  the new 600x800 super VGAs). Be  aware  that  your 
  84. display BIOS must  support the ReadDot (ah=13) function of INT 10
  85. for it to work though. You may find problems with Hercules cards, 
  86. many of which do not provide the BIOS function.
  87.  
  88.  
  89.  
  90. Scaling between the screen and the printer:
  91.  
  92.      The big problem with many screen dump programs is that  they 
  93. do not provide any way to deal with different sized screens. This 
  94. becomes  very  apparent with EGA which does not  have  an  easily 
  95. definable  screen to printer translation. The end result is  that 
  96. the  EGA screen usually comes out squashed on the  printer.  This 
  97. problem was in fact the original impetus behind XDUMP.
  98.  
  99.      In default mode the display and printer are assumed to  both 
  100. provide  a picture that is eight inches wide by six inches  tall.  
  101. While the actual sizes will vary, 8 x 6 is the reference used  by 
  102. the  default  standard.  This works out  very  well  because  the 
  103. standard narrow carriage printer uses eight inch wide paper,  and 
  104. the standard display monitor has an 8 x 6 screen. 
  105.  
  106.      The only problem is that the display often is not exactly  8 
  107. x  6. This can be because the tube is larger than normal as  with 
  108. most multi-sync and class-room display monitors. Or it can simply 
  109. be caused by the monitor adjustments being incorrectly setup.
  110.  
  111.      However, except in a few special cases, such as page display 
  112. monitors,  the  size or adjustment of the crt is  usually  not  a 
  113. problem  as they are all designed around an aspect ratio  of  4x3 
  114. (thus the 8 x 6 inch configuration).
  115.  
  116.      There  are  two components to the aspect ratio of  both  the 
  117. printer and the display. There is the overall aspect ratio of the 
  118. printer or  display, this is what defines the actual size of  the 
  119. overall display or print out. This is generally defined in inches 
  120. (i.e. eight inches by 6 inches), or in centimeters (i.e. 20cm  by 
  121. 15cm).
  122.  
  123.      The other component of the display is the individual  pixels 
  124. that make up the picture. The pixels have their own aspect ratio, 
  125. and usually it is not related to the overall aspect ratio of  the 
  126. picture that they represent. This is particularly true on the CRT 
  127. where the pixel aspect ratio will change depending on the mode in 
  128. which the display is being used.
  129.  
  130.      There is a further complication in that the number of pixels 
  131. used  in  the  display and the printer seldom  is  the  same,  so 
  132. translation  from the display pixel format to the printer  format 
  133. is typically required. 
  134.  
  135.      The  translation factor is setup when the printer driver  is 
  136. initialized.  The information is provided to  the  initialization 
  137. routine  by  giving it the display's width and  height,  and  the 
  138. printer's width and height. (Width is 'X', height is 'Y'.)
  139.  
  140.      Normally the display values would represent the full display 
  141. size,  such  as X=0,640, and Y=0,200 for a CGA  640x200  display, 
  142. however  since XDUMP will automatically scale the  picture  These 
  143. values  can  be  anything within the operational  limits  of  the 
  144. screen and printer.
  145.  
  146.      XDUMP  is not limited to full screen print dumps.  Any  area 
  147. within the limits of the display or printed page can be  defined. 
  148. The  two areas do not have to be related, thus the  display  area 
  149. could start at 100,50 and the printer area at 16,20.
  150.  
  151.      Each  area is defined in its own pixel definition.  Further, 
  152. you  should  be  aware that the  printer  pixel  definition  will 
  153. normally   change  between  landscape  and  upright  modes,   and 
  154. therefore  the printer definition will need to be changed if  you 
  155. switch modes. 
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166. How the translation is done:
  167.  
  168.      The  smallest area in which a displayed or  printed  picture 
  169. can  be  broken down to is the "pixel". The pixel can  be  easily 
  170. defined  as  a point on an X and Y axis. Normally the X  axis  is 
  171. defined as going from left to right, and the Y axis as going from 
  172. top  to  bottom. This is not always the case, such  as  Cartisian 
  173. coordinates  which go from bottom to top. But we will be  dealing 
  174. with  the top to bottom world coordinate system because  that  is 
  175. how the hardware on the PC is setup.
  176.  
  177.      Since  both the display and the printer can be  broken  down 
  178. into  their  individual  pixel  representations,  this  makes  it 
  179. possible  to  perform  the  scaling as  a  table  lookup  thereby 
  180. significantly  speeding up the process over directly  calculating 
  181. the address of each pixel on the fly. 
  182.  
  183.      Using a translation table also provides the added benefit of 
  184. allowing  any  sort of arbitrary translation desired,  even  non-
  185. linear.  The disadvantage is that the table must be setup  before 
  186. the  screen  dump  program  can be used or  anytime  there  is  a 
  187. translation change. This is the purpose of the definition program 
  188. section.
  189.  
  190.      Another disadvantage (or advantage depending on what side of 
  191. the street you're standing on) is that the screen must be defined 
  192. as  a pixel definition which is different and separate  from  the 
  193. printer pixel definition which also must be defined. This can  be 
  194. easily handled in the definition section by providing  additional 
  195. translation from inches or centimeters to pixels. This of  course 
  196. assumes  that you know what the translation factor is.  By  using 
  197. only  pixel definition at the low level there is no need to  know 
  198. the  aspect  ratio  of  the  pixels.  It  is  assumed  that  that 
  199. information was known by the definition program.
  200.  
  201.  
  202. How the program works:
  203.  
  204.      XDUMP  is a scaling print screen utility provided as a  unit 
  205. to  be  used  with Turbo Pascal Version 4.0.  To  use  the  XDUMP 
  206. utility add XDUMP to your USES statement in the calling program. 
  207.  
  208.      XDUMP  uses  a  record pointed at by  PSR  to  maintain  all 
  209. information  required  to  perform it's  functions.  This  allows 
  210. several  different print screen definitions to reside  in  memory 
  211. without  having to redefine the PSR record. Such as one for  LPT1 
  212. and  a  second  different record for LPT2.  Normally  this  isn't 
  213. needed and would be a waste of memory since it is easy enough  to 
  214. redefine a record for the other printer port, but the  capability 
  215. is there if it is needed.
  216.  
  217.      To  ease  in the description, I will be using "PSR"  or  PSR 
  218. record"  to  refer  to the print  screen  record  containing  the 
  219. variables that it uses.
  220.  
  221.      In  order  to  reduce memory overhead,  the  PSR  record  is 
  222. configured   to   be  defined by the user  program.   It  can  be 
  223. either  a local variable (by passing the variable address to  the 
  224. print  screen procedures) or it can be a variable created on  the 
  225. heap. 
  226.      This  requires three steps to be performed to actually do  a 
  227. print  screen. The first is to allocate a PSR record on the  heap 
  228. (See StartPrn in PD.PAS). Next the PSR record must be initialized  
  229. to  the  desired  values  (See StartPrn  again,  and  InitPrn  in 
  230. XDUMP.PAS). Finally, the screen is printed at the desired time by 
  231. calling the PScreen procedure (see PScreen in XDUMP.PAS).
  232.  
  233.      There  are  two steps to initializing the  PSR  record.  The 
  234. first is to provide the information needed by XDUMP to know  what 
  235. the printout is supposed to look like and the printer port to  be 
  236. used. There are  six primary and  eight secondary variables  that 
  237. must be predefined. 
  238.  
  239. 1.  GPage : This variable defines the screen page that the  print 
  240. dump  will be performed from. This variable should be within  the 
  241. range  of the display board being used. If the display board  has 
  242. only one page then it should be initialized to zero.
  243.  
  244.  
  245. 2. LPTnum : This variable defines the printer port to use. A zero 
  246. will  select LPT1, a one will select LPT2, and a two will  select 
  247. LPT3.
  248.  
  249.  
  250. 3.  ScrnType  :  This variable defines the screen  type  that  is 
  251. currently  in  use.  Currently  this is a copy  of  the  TP4  BGI 
  252. "grdriver" variable. It is used to determine the color  selection 
  253. table.  This currently is an area that needs to be improved.  The 
  254. color selection section should be split off to a separate unit so 
  255. that  code isolation can be maintained. It also would  provide  a 
  256. mechanism  to reduce code size in situations where only a  single 
  257. screen type is used.
  258.  
  259.  
  260. 4.  PStype : This variable selects the style of the print  screen 
  261. that will be used. Currently there are four types available. 
  262.  
  263.      Mode  one (1) is the standard (STDmode) mode  which  selects 
  264. the  Epson  printer to a pixel ratio of  120/inch  horizontal  by 
  265. 72/inch  vertical. 
  266.  
  267.      Mode  two  (2)  is the quick mode which  selects  the  Epson 
  268. printer  to  a  pixel  ratio of  60/inch  horizontal  by  72/inch 
  269. vertical.  
  270.  
  271.      Mode  three is a special mode used for printing VGA  screens 
  272. undistorted.  This mode requires a late model Epson printer  that 
  273. can be selected for 72 pixels per inch horizontally by 72  pixels 
  274. per  inch vertically. This mode only works undistorted  when  the 
  275. landscape print direction is selected.
  276.  
  277.      Mode four is provided for use when a Hercules display is  to 
  278. be  printed. This mode is only ment to be used when the landscape 
  279. print direction is selected.
  280.  
  281.  
  282. 5.  LandScape : This variable determines the direction  in  which 
  283. the  display  will  be directed to the printer.  When  false  the 
  284. display  will  print  in the upright direction (the  same  as  it 
  285. appears  on the screen). When it is set to true the display  will 
  286. be rotated sideways on the printer.
  287.  
  288. 6.  Mono  : This variable defines whether the display  is  to  be 
  289. printer in color (false) or monochrome (true). When color mode is 
  290. selected, it is assumed that you have a color printer  compatible 
  291. to the Epson EX-800 or JX-80 printers.  
  292.  
  293.      There are eight other secondary variables that must  also be 
  294. setup  before  the  InitPrn  procedure is  to  be  called.  These 
  295. secondary variables define the screen and printer dimensions that 
  296. are to be used for the screen dump operation.
  297.  
  298.      The  definitions are rectangles which define the area to  be 
  299. used  in device pixels. The rectangle is defined as  Xmin,  Ymin, 
  300. Xmax, Ymax. 
  301.  
  302.      Xmin sets the first pixel in the horizontal direction to  be 
  303. used  (left  side). 
  304.  
  305.      Ymin  sets the first pixel in the vertical direction  to  be 
  306. used (top).
  307.  
  308.      Xmax  sets the last pixel in the horizontal direction to  be 
  309. used (right side). 
  310.  
  311.      Ymax  sets  the last pixel in the vertical direction  to  be 
  312. used (bottom).
  313.  
  314.  
  315. 1. PrnArea : This rectangle sets the definition of the printer in 
  316. printer pixels. It is up to you to know what number of pixels you 
  317. want to define as being the print area.
  318.  
  319.  
  320. 2.  ScrnArea : This rectangle sets the definition of  the  screen 
  321. area  to  read  in screen pixels. It is up to you  to  know  what 
  322. number  of pixels you want to define as being the screen area  to 
  323. print. Any area of the screen can be selected simply by  defining 
  324. it in the ScrnArea rectangle.
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.      Once   these  variables  have  been  defined,  the   InitPrn 
  332. procedure  is  called to finish the initialization of  the  print 
  333. screen driver. The InitPrn procedure uses the preset  information 
  334. to  finish the definition. Currently this  includes  initializing 
  335. the  printer select strings and color translations. InitPrn  also 
  336. sets  up  a  pixel translation table  based  on  the  information 
  337. provided  in  the screen and printer  rectangle  definitions.  By 
  338. preinitializing a screen to printer table there is no need to  do 
  339. the definition on the fly which allows for faster print time.
  340.  
  341.      When  InitPrn is finished you can do a print screen  at  any 
  342. time by calling the PScreen procedure. If you wish to change  the 
  343. screen  area to be printed, or how it is to be displayed  on  the 
  344. printer  you will need to call the InitPrn procedure again  after 
  345. changing the definition.
  346.  
  347.      Color  translations  are  performed  via  a  table   lookup. 
  348. Currently  the  color print is primitive, only  the  base  colors 
  349. provided  by  the printer itself are printable. A  bit  dithering 
  350. procedure  needs to be added to the printing routines to  provide 
  351. an additional range of printer colors.
  352.  
  353.      When  a monochrome print is performed from a  color  screen, 
  354. the  defined  background  color  will  not  be  printed  and  all 
  355. foreground colors will be printed. In the current definition this 
  356. means  that the screen color black will not print, but all  other 
  357. colors will print as black.
  358.  
  359.      In  color print out a simple color translation is  performed 
  360. to come as close as possible to the screen color on the  printer. 
  361. There  is a further translation which causes the screen black  to 
  362. not be printed, and screen white to be printed as black.
  363.  
  364.      If  you  don't  like the color translation  you  can  either 
  365. change  the  color translation table after  calling  Initprn,  or 
  366. change  the  InitPrn  procedure  to  set  up  a  different  color 
  367. translation table.
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.                      XDUMP Screen Dump Modes
  388.  
  389.      The  screen dump program is designed to provide a  fast  and 
  390. accurate  printed copy of the screen contents.  Version  1.01 of 
  391. XDUMP is limited to Epson compatible printers. It uses the normal 
  392. and  double  density graphics print modes. The  printout  may  be 
  393. obtained as either landscape (sideways) or upright (normal). 
  394.  
  395.      The  following describes a particular implementation of  the 
  396. XDUMP  program.  It  assumes that a full  screen  dump  is  being 
  397. performed.  The screen size is specified as a part of the  screen 
  398. mode, and the printer size is fixed based on the mode it is in. 
  399.  
  400.      All  the  modes  may  be  performed  in  either  upright  or 
  401. landscape  mode.  However, VGA and Hercules  are  recommended  in 
  402. Landscape mode only.
  403.  
  404.      There  are  two  primary  modes  referred  to  as   Standard 
  405. (STDmode), and Quick (QICmode). Standard mode uses double density 
  406. printing  mode,  while  Quick  mode  uses  the  Epson's  "normal" 
  407. print density. 
  408.  
  409.      In  normal upright mode the printer pixel width is 960.  The 
  410. vertical dimension is 432. In quick upright the horizontal  pixel 
  411. count  is reduced to 480. Note that for most displays this  means 
  412. that some data will be lost.
  413.  
  414.      In normal landscape mode The printer pixel width is 800. The 
  415. vertical  dimension  is  640  pixels.  In  Quick  landscape   the 
  416. horizontal pixel count is reduced to 400 pixels.
  417.  
  418.      In  VGA Landscape mode the printer width is set to 480.  The 
  419. vertical dimension is set to 640 pixels.
  420.  
  421.      In  Hercules Landscape the printer width is set to 800,  and 
  422. the vertical dimension is set to 720.
  423.  
  424.  
  425.  
  426. The screen dump works with the following display types:
  427.  
  428.             Display   Resolution   
  429.  
  430.             CGA       320x200
  431.             CGA       640x200 
  432.             EGA       640x350
  433.             VGA       640x480
  434.             Herc      720x348
  435.  
  436.  
  437. Modes:    L=Landscape  Q=Quick     V=VGA Landscape
  438.           U=Upright                H=Hercules Landscape 
  439.  
  440.  
  441.      The  CGA  mode will print without pixel  distortion  in  the 
  442. landscape mode. The EGA mode will distort no mater what direction 
  443. you  print it. The VGA can only be printed well in VGA  landscape 
  444. mode.  The VGA aspect ratio will distort by 10% in upright  mode. 
  445. The  Herc  mode  will be larger in   landscape  mode  than  other 
  446. display types. 
  447.  
  448.      The VGA LandScape mode is designed to provide printouts that 
  449. are  undistorted  in  either  aspect  ratio  or  pixels  for  VGA 
  450. displays.  To operate in the VGA landscape mode the printer  must 
  451. be  capable of operating in the 1:1 print mode (mode 5). The  VGA 
  452. mode is intended primarily for VGA displays in the 640x480  mode. 
  453. It  will provide a printout with a pixel for  pixel  relationship 
  454. from display to the printer.  
  455.  
  456.  
  457.  
  458. The modes:
  459.  
  460.      The  modes are controlled by several flags and  identifiers. 
  461. The desired mode is specified with the Init procedure. The  print 
  462. mode may be re-initialized at any time (other than when  printing 
  463. of course).
  464.  
  465.  
  466.  
  467. LandScape mode:
  468.  
  469.      Initializing to LandScape mode will cause the display to  be 
  470. printed  in the landscape configuration (sideways). This  is  the 
  471. preferred  method  as  it  provides the  least  amount  of  pixel 
  472. distortion  and  retains proper aspect ratio.  The  picture  will 
  473. however  be slightly larger than the standard display  size.  The 
  474. printout size will be the same for the display modes that use 320 
  475. or  640  horizontal  pixels (8.9"x6.7").  The  printout  will  be 
  476. slightly  larger  for the Hercules display mode  which  uses  720 
  477. pixels  (10"x7.5").  The  pixels  will  be  undistorted  in   the 
  478. display's  horizontal direction (which is the printer's  vertical 
  479. direction).  CGA  will be undistorted in the  display's  vertical 
  480. direction  (which  is the printer's horizontal).  EGA,  VGA,  and 
  481. Hercules  displays  will have some pixel distortion  (unless  VGA 
  482. landscape mode is used for VGA).
  483.  
  484.  
  485.  
  486. VGA Landscape mode:
  487.  
  488.      The VGA landscape mode requires that the printer be  capable 
  489. of  handling  print mode 5 which sets it for a 1:1  pixel  aspect 
  490. ratio.  This  mode  is  provided  specifically  for  VGA  640x480 
  491. displays so that they can be displayed without error. Normally it 
  492. should  not be used with other display modes since  sever  aspect 
  493. ratio distortion will result in any of the other display modes.
  494.  
  495.  
  496. Hercules Landscape mode:
  497.  
  498.      The Hercules landscape mode is a specialized version of  the 
  499. normal landscape mode designed for use with the Hercules display. 
  500. Normally  it  should not be used with other display  modes  since 
  501. sever  aspect  ratio distortion will result in any of  the  other 
  502. display modes.
  503.  
  504.  
  505.  
  506. Quick LandScape mode:
  507.  
  508.      Initializing to Quick LandScape mode will cause the  display 
  509. to  be  printed in the LandScape mode, but at a  slightly  faster 
  510. speed.  This  is  performed  by  reducing  the  horizontal  print 
  511. resolution.  Using this mode will cause greater pixel  distortion 
  512. since  there is less resolution to adjust the pixels. 
  513.  
  514.  
  515.  
  516. Upright mode:
  517.  
  518.      The  upright mode will provide a printout that is  the  same 
  519. size  as  a standard display (8"x6"). This is sacrificed  at  the 
  520. cost  of  pixel  distortion. Pixels will  be  distorted  in  both 
  521. directions in all modes. 
  522.  
  523.      The  upright mode is used to provide an overall one  to  one 
  524. printout  of  the  display.  The  print  size  is  eight   inches 
  525. horizontally as is a standard display. The vertical direction  is 
  526. six inches as is the standard display.
  527.   
  528.  
  529.  
  530. Quick Upright mode:
  531.  
  532.      Initializing to Quick Upright mode will cause the display to 
  533. be  printed in the upright mode, but at a slightly faster  speed. 
  534. This  is performed by reducing the horizontal  print  resolution. 
  535. Using  this mode will cause greater pixel distortion since  there 
  536. is less resolution to adjust the pixels. 
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.                           Display Modes
  553.  
  554. CGA 320x200 mode:
  555.  
  556.      In the LandScape and Quick LandScape modes There is no pixel 
  557. distortion,  and the aspect ratio is correct. Quick landscape  is 
  558. the preferred mode since it will print faster and there is little 
  559. difference from normal landscape mode.
  560.  
  561.      In  Upright  mode  and Quick upright  mode  there  is  pixel 
  562. distortion in both directions, which is required to maintain  the 
  563. correct aspect ratio. 
  564.  
  565.      The  VGA  LandScape  mode  should not  be  used,  since  the 
  566. aspect ratio will be significantly distorted.
  567.  
  568.      In the LandScape mode there is a two for one pixel  transfer 
  569. in  the  printer's vertical direction. The  printer's  horizontal 
  570. direction  will  have four dots for every single  pixel  that  is 
  571. displayed. 
  572.  
  573.      In the Quick LandScape mode the printer's vertical direction 
  574. is  still  two  for one transfer, but  the  printer's  horizontal 
  575. direction will have only two dots for every single pixel that  is 
  576. displayed (but they will be twice as far apart as in the   normal 
  577. LandScape mode).
  578.  
  579.      In Upright mode the printer's horizontal direction will have 
  580. six  dots  for  every two pixels that  were  displayed.  And  the 
  581. vertical  direction  will have two dots for  every  single  pixel 
  582. displayed.  
  583.  
  584.      In  Quick  Upright mode the printer's  horizontal  direction 
  585. will  have three dots for every single pixel that  is  displayed. 
  586. The  vertical  direction  will have 13 dots for  every  3  pixels 
  587. displayed.
  588.  
  589.  
  590.  
  591. LandScape print size is ---------- 8.9" x 6.7"    
  592. Upright print size is ------------ 8" x 6"
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606. CGA 640x200 mode:
  607.  
  608.      In the LandScape and Quick LandScape modes there is no pixel 
  609. distortion,  and the aspect ratio is correct. Quick landscape  is 
  610. the preferred mode since it will print faster and there is little 
  611. difference from normal landscape mode.
  612.  
  613.      In  Upright  mode  and Quick upright  mode  there  is  pixel 
  614. distortion in both directions, which is required to maintain  the 
  615. correct aspect ratio. 
  616.  
  617.      The  VGA  LandScape  mode  should not  be  used,  since  the 
  618. aspect ratio will be significantly distorted.
  619.  
  620.      In the LandScape mode there is a one for one pixel  transfer 
  621. in  the  printer's vertical direction. The  printer's  horizontal 
  622. direction  will  have four dots for every single  pixel  that  is 
  623. displayed. 
  624.  
  625.      In the Quick LandScape mode the printer's vertical direction 
  626. is  still  one  for one transfer, but  the  printer's  horizontal 
  627. direction will have only two dots for every single pixel that  is 
  628. displayed (but they will be twice as far apart as in the   normal 
  629. LandScape mode).
  630.  
  631.      In Upright mode the printer's horizontal direction will have 
  632. three  dots  for every two pixels that were  displayed.  And  the 
  633. vertical  direction  will have two dots for  every  single  pixel 
  634. displayed.  
  635.  
  636.      In  Quick  Upright mode the printer's  horizontal  direction 
  637. will have three dots for every two pixels that are displayed. The 
  638. vertical  direction  will  have  13  dots  for  every  6   pixels 
  639. displayed.
  640.  
  641.  
  642.  
  643. LandScape print size is ---------- 8.9" x 6.7" 
  644. Upright print size is ------------ 8" x 6"
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661. EGA 640x350 mode:
  662.  
  663.      In  the  LandScape and Quick LandScape modes there  is  some 
  664. pixel  distortion  in  the vertical display  direction,  but  the 
  665. aspect ratio is correct. The normal landscape mode is recommended 
  666. for minimal pixel distortion. Pixel distortion will be noticeable 
  667. in Quick landscape mode, but it will be consistent.
  668.  
  669.      In   Upright  mode  there  is  pixel  distortion   in   both 
  670. directions.  Which  is required to maintain  the  correct  aspect 
  671. ratio. 
  672.  
  673.      The  VGA  LandScape  mode  should not  be  used,  since  the 
  674. aspect ratio will be significantly distorted.
  675.  
  676.      In the LandScape mode there is a one for one pixel  transfer 
  677. in  the  printer's vertical direction. The  printer's  horizontal 
  678. direction  will  have  16  dots  for  every  7  pixels  that  are 
  679. displayed. 
  680.  
  681.      In the Quick LandScape mode the printer's vertical direction 
  682. is  still  one  for one transfer, but  the  printer's  horizontal 
  683. direction  will  have  only 8 dots for every 7  pixels  that  are 
  684. displayed  (they  will be twice as far apart as  in  the   normal 
  685. LandScape mode).
  686.  
  687.      In Upright mode the printer's horizontal direction will have 
  688. 3  dots for every 2 pixels that were displayed. And the  vertical 
  689. direction will have 5 dots for every 4 pixels displayed. 
  690.  
  691.      In  Quick  Upright mode the printer's  horizontal  direction 
  692. will have three dots for every two pixels that are displayed. The 
  693. vertical  direction  will  have  21  dots  for  every  17  pixels 
  694. displayed.
  695.  
  696.  
  697. LandScape print size is ---------- 8.9" x 6.7" 
  698. Upright print size is ------------ 8" x 6"
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716. VGA 640x480 mode:
  717.  
  718.      In  the  LandScape and Quick LandScape modes there  is  some 
  719. pixel  distortion  in  the vertical display  direction,  but  the 
  720. aspect ratio is correct. The normal landscape mode is recommended 
  721. for  minimal  pixel  distortion, or the VGA  Landscape  mode,  if 
  722. possible, for no distortion. Pixel distortion will be  noticeable 
  723. in Quick landscape mode, but it will be consistent.
  724.  
  725.      If possible the VGA LandScape mode should be used, since the 
  726. aspect  ratio will be correctly maintained and there will  be  no 
  727. distortion of the pixels.
  728.  
  729.      In  Upright  and  Adjusted  upright  modes  there  is  pixel 
  730. distortion  in  both  vertical  and  horizontal  directions.  The 
  731. horizontal  direction will maintain the proper pixel  ratio,  but 
  732. the vertical direction of the printout will be 10% longer in  the 
  733. vertical direction in both modes. It is not possible to  maintain 
  734. correct aspect ratio in the upright modes.
  735.  
  736.      In the LandScape mode there is a one for one pixel  transfer 
  737. in  the  printer's vertical direction. The  printer's  horizontal 
  738. direction will have 5 dots for every 3 pixels that are displayed. 
  739.  
  740.      The Quick LandScape mode should not be used as the printer's 
  741. horizontal axis cannot provide the proper resolution to hold  the 
  742. correct aspect ratio. The printer's vertical axis will still hold 
  743. a one to one transfer, put the horizontal axis will be 20% longer 
  744. than normal. 
  745.  
  746.      The  Upright mode transfers exactly the same as  the  normal 
  747. upright  mode.  Neither upright mode is recommended  since  there 
  748. will be a 10% aspect ratio error in the vertical direction.
  749.  
  750.      In  Quick  Upright mode the printer's  horizontal  direction 
  751. will  have three pixels for every two pixels that are  displayed. 
  752. The  vertical direction will have a one to one transfer,  but  it 
  753. cannot  hold a correct aspect ratio. The printer's vertical  axis 
  754. will be 10% longer than normal.
  755.  
  756.      Only  the  VGA Landscape mode will  provide  correct  aspect 
  757. ratio in the VGA 640x480 display mode.
  758.  
  759.  
  760. VGA LandScape print size is ------ 8.9" x 6.7"
  761. LandScape print size is ---------- 8.9" x 6.7" 
  762. Upright print size is ------------ 8" x 6.7"
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771. Herc 720x348 mode:
  772.  
  773.      In  the  LandScape and Quick LandScape modes there  is  some 
  774. pixel  distortion  in  the vertical display  direction,  but  the 
  775. aspect ratio is correct. The normal landscape mode is recommended 
  776. for minimal pixel distortion. Pixel distortion will be noticeable 
  777. in Quick landscape mode, but it will be consistent.
  778.  
  779.      The  Landscape  and Quick Landscape modes will  be  slightly 
  780. larger than in the 640 modes because the printer is limited to 72 
  781. dots  per  inch in the vertical print direction.  This  will  not 
  782. affect the overall aspect ratio, but the printout will be  larger 
  783. overall.
  784.  
  785.      In   Upright  mode  there  is  pixel  distortion   in   both 
  786. directions.  Which  is required to maintain  the  correct  aspect 
  787. ratio. 
  788.  
  789.      The  VGA  LandScape  mode  should not  be  used,  since  the 
  790. aspect ratio will be significantly distorted.
  791.  
  792.      In the LandScape mode there is a one for one pixel  transfer 
  793. in  the  printer's vertical direction. The  printer's  horizontal 
  794. direction  will  have  18  dots  for  every  7  pixels  that  are 
  795. displayed. 
  796.  
  797.      In the Quick LandScape mode the printer's vertical direction 
  798. is  still  one  for one transfer, but  the  printer's  horizontal 
  799. direction  will  have  only 9 dots for every 7  pixels  that  are 
  800. displayed (twice as far apart as in normal LandScape mode).
  801.  
  802.      In Upright mode the printer's horizontal direction will have 
  803. 4  dots for every 3 pixels that were displayed. And the  vertical 
  804. direction will have 5 dots for every 4 pixels displayed. 
  805.  
  806.      In  Quick  Upright mode the printer's  horizontal  direction 
  807. will  have four dots for every three pixels that  are  displayed. 
  808. The  vertical direction will have 21 pixels for every  17  pixels 
  809. displayed.
  810.  
  811. LandScape print size is ---------- 10" x 7.5" 
  812. Upright print size is ------------ 8" x 6"
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.                          Printer Support
  828.  
  829. Epson printers:
  830.  
  831.      Currently the only printer supported is the Epson series  or 
  832. compatible  printers. The screen dump program can use any of  the 
  833. printers from the MX-80 (with graftrax) on up. 
  834.  
  835.  
  836.  
  837.