home *** CD-ROM | disk | FTP | other *** search
/ Share Gallery 1 / share_gal_1.zip / share_gal_1 / GR / GR068.ZIP / GDS.DOC < prev    next >
Text File  |  1991-02-11  |  43KB  |  1,041 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.                      GDS - Graphics Display System
  12.                      -----------------------------
  13.  
  14.                         Written by  Paul Schmidt
  15.  
  16.  
  17.  
  18.  
  19.                   Copyright (c) 1990,1991 Paul Schmidt
  20.                           All rights reserved.
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30. i. CONTENTS
  31. -----------
  32.  
  33. Legal 
  34. Notices...................................................i
  35. Introduction.............................................ii
  36. Note About Use..........................................iii
  37. What GDS Can Do For You..................................iv
  38. What GDS Does NOT Do!.....................................v
  39.  
  40. Getting Started...........................................1
  41. The GDS Text Screen.......................................2
  42. Viewing Commands..........................................3
  43. Slide Shows...............................................4
  44. Antialiasing..............................................5
  45. Dithering.................................................6
  46. Command Line Parameters...................................7
  47. Configuration File Details................................8
  48. Common Problems And Solutions.............................9
  49. Bug Reports..............................................10
  50. Revision History.........................................11
  51.  
  52.  
  53. ii. INTRODUCTION
  54. ----------------
  55.  
  56. One day, I was working on a simple card game and needed a 
  57. variety of cardback graphics.  I referred to by library of 
  58. GIF files for some good scenery to put on the backs of cards 
  59. and found about 30 files which had nice scenery and pieces 
  60. which could be used quite nicely.  Then I went to hell.
  61.  
  62. First, I converted a set of GIFs into IFF format and loaded 
  63. them into Deluxe Paint II Enhanced.  Deluxe Paint is one of 
  64. the more powerful paint programs, and I was very surprised 
  65. to find that the brush size is limited to 64K (a forgivable 
  66. programming limit).  After messing around with grids and 
  67. reducing chunks of images down in a nice orderly fashion, I 
  68. deleted the whole bunch.  The time I spent messing with 
  69. Deluxe Pain (intentional typo) was actually more time than I 
  70. spent writing GDS.
  71.  
  72. I was very happy to find a program called 'GIFDESK' on a 
  73. bulletin board.  It seemed to be just what I was looking 
  74. for, and it solved another problem for me also.  The 
  75. documentation said it could reduce GIFs, but it was designed 
  76. for cataloging pictures, rather than just image reduction.  
  77. Great!  Now I could get the graphics done, and I could 
  78. catalog my 150 megabytes of GIFs!
  79.  
  80. WRONG.  GIFDESK is great for a simple catalog program, but 
  81. it doesn't do much for preserving images.  The version I 
  82. have simply grabs dots from the original and slaps them in a 
  83. reduced space.  Although I'm not sure, it seems to also use 
  84. a generic palette which further reduces the quality.  In 
  85. short, all images get stomped on, some are very simply 
  86. unrecognizable.
  87.  
  88. Another problem which was mounting in the back of my mind 
  89. was that every GIF viewer I've seen either has mounds of 
  90. technical problems/quirks/bugs, or a user interface which 
  91. could make a commercial programmer vomit.  ENOUGH ALREADY!
  92.  
  93. I was pissed off, in between projects, and wired on coffee.  
  94. I downloaded CompuServe's GIF file specifications for 
  95. encoding and decoding and got to work.  A day later, GDS was 
  96. a reality.
  97.  
  98. I make no claims that GDS is everything.  The general 
  99. outline of the program is based around a very few simple 
  100. concepts, and there is certainly room for improvement.
  101.  
  102. To my knowledge, there is no shareware program which can 
  103. reduce and/or catalog GIF images with any integrity at all, 
  104. until now.
  105.  
  106.  
  107.  
  108. iii. NOTE ABOUT USE
  109. -------------------
  110.  
  111. This is a shareware program.  That doesn't mean it's 
  112. free...but on the other hand, I'm not asking anything for 
  113. it's personal use either.  If you decide you must force 
  114. money on me, I'll understand, but feel free to explore 
  115. without retribution.
  116.  
  117. This program was developed using tools and techniques which 
  118. have taken me many years to develop, and I hope it shows.  
  119. Because of this, the following points will be taken very 
  120. seriously:
  121.  
  122. ** DO NOT ** derive benefit from this software 
  123. professionally in any manner.  DO NOT sell it.  DO NOT 
  124. bundle it with any combination of products sold for money 
  125. (this does not include shipping charges for shareware 
  126. distributors).
  127.  
  128. BBS SYSOPS:  Please use GDS to catalog your GIFs for your 
  129. users!  I would like to know you are using it, how you like 
  130. it, and information about your setup.  I am very interested 
  131. in providing good software (like this) to sysops, but I'm 
  132. not about to write any more unless you all communicate with 
  133. me.  Again, I don't want money, I just want to get your 
  134. feedback.  (See the BUG REPORTS section for my mailing 
  135. address.)
  136.  
  137. PEOPLE WHO COMPLAIN:  There are advanced parts of the GDS 
  138. user interface which could use some simplification.  While 
  139. this is true for you advanced users, I'm estimating that 95% 
  140. of the users won't do much more than double click with a 
  141. mouse or do slide shows.  These two facets of GDS are very 
  142. simple.  As for the parts which could use help?  When I have 
  143. a few weeks to blow, I'll improve them.
  144.  
  145.  
  146.  
  147. iv. WHAT GDS CAN DO FOR YOU
  148. ---------------------------
  149.  
  150. 1) GIF VIEWER    -    GDS is a very intuitive graphics file 
  151. viewer.  It has a user interface based on experience with 
  152. GUI design.  If you find a graphics viewer which is easier 
  153. to use, please let me know and I'll see what I can do.
  154.  
  155. 2) FILE FORMATS    -    GDS reads GIF, LBM, PCX, and RIX 
  156. files.  It can write GIF, PCX, and RIX files directly from 
  157. the screen.  Other formats may be added in future versions.
  158.  
  159. 3) SLIDESHOWS    -    GDS can easily allow you to queue up 
  160. almost any number of GIF files to show in a repeated 
  161. sequence.
  162.  
  163. 4) IMAGE PROCESSING    -    GDS can scale images independently 
  164. in both axis, which comes in very handy if you're trying to 
  165. reduce, enlarge or correct image scaling.  NOTE: Give system 
  166. operators a break and don't use GDS to make larger GIF files 
  167. for more download credit.
  168.  
  169. 5) ARRAY CATALOGS    -    GDS has a very good image 
  170. cataloging section which arranges arrays of files on the 
  171. screen.  If you are a system operator of a BBS, this is a 
  172. great way to provide previews of many images to your users.
  173.  
  174. 6) SCREEN CONVERSION    -    GDS can lock a screen mode, 
  175. reduce and enlarge images to fit, or scale to any 
  176. dimensions.  256 color images can easily be converted to 16 
  177. color images with antialiasing and dithering to ensure 
  178. spatial color consistency.
  179.  
  180. 7) MOUSE SUPPORT    -    GDS is very mouse supportive.  
  181. Although everything can be done with the keyboard (a couple 
  182. of things can ONLY be done with the keyboard), there is 
  183. extensive mouse support in GDS.  Unless you are writing or 
  184. rescaling images, GDS is extremely quick with a mouse.
  185.  
  186.  
  187.  
  188. v. WHAT GDS DOES NOT DO!
  189. ------------------------
  190.  
  191. 1) TIFF FILES    -    GDS makes no attempt to read or write 
  192. TIFF files.  I sat down with some TIFF documentation one 
  193. night to support the TIFF file format, and spent several 
  194. hours setting up a code skeleton.  After being very 
  195. confused, I finally realized how the format worked, and 
  196. vowed never to support it.  In my opinion, TIFF is the most 
  197. ridiculous image format I've seen thus far.  Use someone 
  198. else's program to convert TIFF files into something 
  199. supportable, and hopefully, TIFF will disappear forever.
  200.  
  201. 2) WRITING LBMs    -    GDS doesn't write LBM files.  It's 
  202. something I could do, but life is seldom fair.  GDS let's 
  203. you write GIF, PCX, and RIX files.  Fortunately, Deluxe 
  204. Paint II Enhanced will read PCX files.  If you really need 
  205. this support and you send me lots of money, I'll support LBM 
  206. files.
  207.  
  208.  
  209.  
  210. 1. GETTING STARTED
  211. ------------------
  212.  
  213. Since you can read this, you must have either gotten GDS as 
  214. a set of files, or already UNZIPped it out of it's original 
  215. ZIP file.
  216.  
  217. GDS can quickly be started by typing 'GDS' followed by 
  218. 'Enter'.  GDS should run with no command line options.  GDS 
  219. can also be started from any path by specifying it's path on 
  220. the command line.  It can also be run if it's in the 
  221. machine's PATH= list.
  222.  
  223. GDS parses file/path specifications and runtime switches as 
  224. command line parameters.  Any number of paths/files may be 
  225. specified to GDS.  However, if no actual files are found to 
  226. work with, GDS will say so and exit to DOS.  GDS can't run 
  227. without files to work with.  The following command line is 
  228. typical and completely safe:
  229.  
  230. C>  GDS i:\dp\*.lbm j:\GIFs openscrn.gif
  231.  
  232. The first path specifies all LBM files in the 'DP' directory 
  233. on drive I:.  The second path specifies all readable files 
  234. in the 'GIFS' directory on drive J:.  The third path 
  235. specifies the single file 'OPENSCRN.GIF' in the currently 
  236. logged directory.  If no path names are given, the current 
  237. directory is used ('*').
  238.  
  239. If you have problems getting GDS to run, refer to the 
  240. section titled 'Common Problems and Solutions'.  The most 
  241. common problem is an unsupported video board.
  242.  
  243.  
  244.  
  245. 2. THE GDS TEXT SCREEN
  246. ----------------------
  247.  
  248. After configuring GDS and getting it to execute properly, 
  249. the user is presented with a screen containing a file 
  250. display consisting of file names, extensions, and file sizes 
  251. in a columnar format.  The top line of the screen always 
  252. shows the version number and copyright message.
  253.  
  254. Getting out of GDS is easy.  Just hit 'Esc' or click on the 
  255. 'Quit' button.
  256.  
  257. The user may view images using the keyboard or the mouse to 
  258. scroll around through the list and pressing 'Enter' (or 
  259. double clicking) on a file.  The space bar (or mouse single 
  260. click) toggles the selection state of the file under the 
  261. file cursor.  Mouse users can drag the mouse from one file 
  262. to another to select all files in between.  Mouse users may 
  263. also toggle ranges of files by holding down the shift key 
  264. and clicking/dragging, just like the Macintosh user 
  265. interface.
  266.  
  267. For keyboard users, pressing the 'Enter' key starts a view 
  268. in the current view mode (single, slides, or arrays).  
  269. Pressing 'Enter' does not change the selection state of ANY 
  270. of the files in the file list.  Use the space bar to toggle 
  271. the selection state of files.
  272.  
  273. For mouse users, double clicking on a file will display that 
  274. file alone in single view mode, regardless of the current 
  275. view mode.  Use the 'Enter' key or view button (see below) 
  276. to initiate slide shows or arrays.
  277.  
  278. Several buttons and menus are displayed in the second line 
  279. of the screen and on the bottom line.  These areas are 
  280. referred to in this documentation as 'Menu Areas'.
  281.  
  282. In between the file display and the bottom menu area are two 
  283. lines displaying detailed information about the 'Current 
  284. File'.  This is referred to as the 'File Status Area'.  As 
  285. you move the cursor around the screen, you will see these 
  286. two lines display information about each file you pass over.  
  287. This information includes the complete path and file name of 
  288. the file, it's screen resolution, number of colors, and the 
  289. exact file size in bytes.
  290.  
  291. On the right side of the status area, the total number of 
  292. files and number of files selected are displayed 
  293. parenthetically.  The number of files selected will not be 
  294. displayed unless files are currently selected.
  295.  
  296. Directly to the right of the file status area is a help 
  297. message which says "'Enter' views current selection" 
  298. enclosed in a box.  This area is referred to as the 'View 
  299. Button'.  The view button is important to keyboard users 
  300. only in that it tells them that using the 'Enter' key will 
  301. show them a picture.  To mouse users, this area may be 
  302. clicked on to display whatever is selected.
  303.  
  304. The view button gives mouse users added flexibility in that 
  305. it allows them to intuitively get what they want.  The 
  306. function of the view area is similar to using the 'Enter' 
  307. key or double clicking to view a file, but takes the current 
  308. selection criteria into account when deciding what to do.  
  309. The view button works like this:  If there are selected 
  310. files, the view button starts a view in the current view 
  311. mode (slides or arrays).  If there are no files selected, 
  312. the view button will treat all files as if they are selected 
  313. (instant slide show or arrays).
  314.  
  315. Using the menus in GDS is simple from a keyboard or mouse.  
  316. From the keyboard, hold down 'Alt' and then hit the key 
  317. which matches the first highlighted character in the menu or 
  318. button you want to change.  If the menu or button you have 
  319. selected has two or less functions (like the 'MOUSE:' or 
  320. 'Quit'), then the state of the button just changes (in the 
  321. case of 'Quit', the program just terminates).  If there are 
  322. more than two options, then a menu will appear with the 
  323. default selection highlighted.  You are free to use the 
  324. arrow keys to navigate the menus and press 'Enter' to select 
  325. your option.  You may also hit 'Esc' to cancel selecting 
  326. from a menu.
  327.  
  328. Using the menus and buttons with the mouse is even easier.  
  329. Simply move the mouse pointer over the menu or button and 
  330. hold down a mouse button.  If the menu has two or fewer 
  331. options, the state of the button simply changes ('Quit' 
  332. exits immediately).  If there are several choices, a menu 
  333. will appear.  Keep the mouse button down and drag the mouse 
  334. until the mouse pointer is over the option you want (the 
  335. option should be highlighted).  When the option you want is 
  336. highlighted, just let go of the mouse button.  The state of 
  337. the menu will change on the screen.
  338.  
  339. The functions of each menu or button are discussed below:
  340.  
  341. Quit        This button exits the program.
  342.  
  343. AutO/LOck    This button shows the state of screen mode 
  344. locking.  The default graphics mode is normally 
  345. meaningless unless this button is in the 'LOck' state.  
  346. Locking the screen mode forces images to be displayed 
  347. in the graphics mode selected in the 'RES:...' menu.
  348.  
  349. RES:...    This menu allows the selection of the default 
  350. graphics and text modes.  The default graphics mode has 
  351. no effect unless the 'AutO/LOck' button is in the 
  352. 'LOck' state.
  353.  
  354. VIEW:...    This menu allows the user to choose between 
  355. 'Single' images, 'Slides' (slide shows), and 'Arrays'.  
  356. Note that with the mouse, double clicking always 
  357. produces a single view regardless of the state of this 
  358. menu.
  359.  
  360. LABELS:    This button tells whether or not labels are added 
  361. to the bottom of array images.  It has no significance 
  362. to single views or slide shows.
  363.  
  364. BORDERS:    This button tells whether or not borders are drawn 
  365. around array images.  It has no significance to single 
  366. views or slide shows.
  367.  
  368. ALIAS:...    This menu allows the user to select what level of 
  369. antialiasing is performed for reduced images (see 
  370. 'ANTIALIASING' section below).
  371.  
  372. AboUt    This menu displays interesting information about 
  373. GDS.  It has no function except to entertain you.
  374.  
  375. SORT:...    This menu allows the user to select the sort order 
  376. for the file display.  Selecting a new sort order 
  377. immediately causes the file display to be rearranged.
  378.  
  379. MOUSE:...    This button toggles the mouse between a bitmapped 
  380. text cursor and a character cursor.  Some video 
  381. displays do not conform to the VGA hardware standard 
  382. for text character sets and may cause GDS to display a 
  383. garbled mouse cursor.  If this happens, click on the 
  384. 'MOUSE:; button.  Note that the state of the mouse can 
  385. be set in the configuration file so you don't have 
  386. click the 'MOUSE:' button every time you run GDS.
  387.  
  388. PALETTE:    This menu controls the palette generation for 
  389. array images.  GDS will use no more colors in the 
  390. palette than are specified in the 'PALETTE:' button.  
  391. This setting normally has no effect on single views or 
  392. slide shows.  Note that this number can be set in the 
  393. configuration file so you don't have to set it every 
  394. time you'd like to create reduced palette arrays.
  395.  
  396. DITHER:    This menu allows the user to specify the level of 
  397. dithering to be used when generating array images.  No 
  398. dithering means that GDS will not try to increase color 
  399. consistency.  Two color dithering generates checker-
  400. board patterns which are usually imperceptible.  Uneven 
  401. dithering is more obvious than two color dithering, but 
  402. greatly enhances the general look of 16 color 
  403. renditions of images which use more than 16 colors.
  404.  
  405. FILESHOW:    This menu allows the user to toggle different 
  406. elements of the file display on and off.  Note that 
  407. these elements can be set on or off in the 
  408. configuration file so you don't have to set it every 
  409. time you run GDS.
  410.  
  411.  
  412.  
  413. 3. VIEWING COMMANDS
  414. -------------------
  415.  
  416. GDS has some interesting features when images are viewed 
  417. alone.  Images can be viewed alone by using 'Enter', or by 
  418. double clicking a file with a mouse.
  419.  
  420. Slide shows will not allow the user to do any of these 
  421. functions.  Arrays, on the other hand, will let the user 
  422. write GIF, PCX, and RIX images ('Alt-W', 'Alt-P' and 'Alt-
  423. R').  Note that the 'Alt-W', 'Alt-P', and 'Alt-R' commands 
  424. can be set up with the '/W###' option to automatically write 
  425. a run of array images ONLY in the array view mode.
  426.  
  427. For those of you who realize that the user interface for 
  428. these extended view functions isn't very nice, 
  429. congratulations.  Perhaps if you complain enough, I'll put 
  430. in a real user interface.
  431. When viewing a single image or a carefully generated array 
  432. image, it is sometimes necessary to adjust the color 
  433. content.  The F1 through F10 keys adjust the levels of each 
  434. color bar, contrast, and brightness.  Use Shift-F1 through 
  435. Shift-F10 to reset the respective levels.  Note that GDS 
  436. does not destroy the palette during adjustment.  There is no 
  437. palette degradation during these adjustments.
  438.  
  439. Enter    Always exits view mode.
  440. Esc        Always exits view mode.
  441.  
  442. Space    EXIT view mode, unless scaling has been changed 
  443. using the arrow keys or the Alt-Z (zoom) 
  444. functions.
  445.  
  446. Alt-W    Immediately starts writing a GIF file titled 
  447. "GDS###.GIF".  The number used in place of '###' 
  448. is either 000 or whatever number was specified 
  449. with the '/W###' command line parameter.  This 
  450. function will not overwrite existing files.
  451.  
  452. Alt-P    Exactly like Alt-W, but writes "GDS###.PCX" 
  453. instead.  This may come in handy for those of you 
  454. using Deluxe Paint II Enhanced.
  455.  
  456. Alt-R    Exactly like Alt-W, but writes "GDS###.SC*" 
  457. instead.  This may come in handle for those of you 
  458. using RIX's imaging software.  Note that GDS 
  459. supports RIX 'UNCOMPRESSED' format only.  RIX 
  460. Software is not releasing any information about 
  461. it's compressed formats.  If you would like to see 
  462. compressed RIX files read, don't ask me -- please 
  463. ask RIX to allow developers to support it.
  464.  
  465. Arrows    Typing the arrow keys adjusts the lower right hand 
  466. corner of the destination image rectangle.  Arrow 
  467. keys alone moves the lower right corner by two 
  468. pixels at a time, and holding the shift key down 
  469. while typing the arrow keys moves it by 20 pixels 
  470. at a time.  If you manage to get the image messed 
  471. up enough so you want to start over, just hit the 
  472. space bar and the image will redraw at it's normal 
  473. scale.  This function is useful when used with 
  474. Alt-F to fine tune the scale for image reduction.  
  475. It's also very useful for correcting the size of 
  476. images that are stored crunched in the vertical 
  477. scale.  (Why do people do that to image files?)
  478.  
  479. Alt-Z    Start 'zoom' sequence.  ONLY WORKS WITH A MOUSE.  
  480. Use 'Alt-Z' as follows:  (1) Press 'Alt-Z'.  (2) 
  481. Move the mouse pointer to the upper left of a 
  482. rectangle to zoom to the full screen size.  (3) 
  483. Press and hold down a mouse button.  (4) While 
  484. holding down the mouse button, drag the mouse 
  485. pointer to the lower right of the rectangle to 
  486. zoom to the full screen.  (5) Let go of the mouse 
  487. button.  If something goes wrong or it doesn't 
  488. seem to work correctly, just hit the space bar and 
  489. the image will redraw to it's normal scale.  The 
  490. 'Zoom' function doesn't work all the time, and I 
  491. haven't bothered to figure out why.
  492.  
  493. Alt-F    Fit to screen.  This function ATTEMPTS to rescale 
  494. an image to fit into the full screen.  It is 
  495. useful for scaling images down, sometimes...  It 
  496. doesn't work all of the time and suffers from the 
  497. same problems that the 'Alt-Z' function does.  If 
  498. it screws up and draws something strange, just hit 
  499. the spacebar and the image will redraw to it's 
  500. normal scale.
  501.  
  502. F1/F2    Reduce/Increase palette red level.
  503. F3/F4    Reduce/Increase palette green level.
  504. F5/F6    Reduce/Increase palette blue level.
  505. F7/F8    Reduce/Increase contrast.
  506. F9/F10    Reduce/Increase brightness.
  507.  
  508. Shift-F1    Reset red level to that of original image.
  509. Shift-F3    Reset green level to that of original image.
  510. Shift-F5    Reset blue level to that of original image.
  511. Shift-F7    Reset contrast to that of original image.
  512. Shift-F9    Reset brightness to that of original image.
  513.  
  514. Alt-F1, Alt-F2, Alt-F3, Alt-F4, Alt-F9, Alt-F10
  515. These keys do all sorts of neat stuff, but I'm not about to 
  516. explain why or how.  Ignoring these is a good 
  517. idea.  Have a nice day.
  518.  
  519.  
  520.  
  521. 4. SLIDE SHOWS
  522. --------------
  523.  
  524. GDS has two separate methods of generating slide shows.  The 
  525. first is to select a range of files from within the normal 
  526. GDS user interface and set the 'View:' menu to 'Slides'.  
  527. When GDS is in set this way, normal viewing of images 
  528. results in a slideshow (except mouse double clicks; see 
  529. VIEWING COMMANDS).
  530.  
  531. The second method is to specify the '/S' option on the 
  532. command line.  GDS will bypass the normal user interface and 
  533. immediately start a slide show using any files specified on 
  534. the command line.
  535.  
  536. The '/O' option is normally ON (1), which sorts the file 
  537. list when the '/S' option is specified.  Specifying '/S0' on 
  538. the command line will prevent GDS from sorting the file 
  539. list.
  540.  
  541. The '/Z' option specifies the delay in 100ths of seconds 
  542. between slides.  Two seconds, for example, would be 
  543. specified using '/Z200'.  If '/Z' is not specified, GDS will 
  544. wait for at least 5 seconds between each slide.
  545.  
  546. It is often necessary to give a slideshow on a very specific 
  547. set of files which may be inconvenient to enter on the 
  548. command line.  The '@<FILE>' option is used to tell GDS to 
  549. read a list of filenames from <FILE>.  Using the '@<FILE>' 
  550. option can save you a lot of time and allow you to customize 
  551. your slideshows to your heart's content.  An example of a 
  552. typical planned slideshow is as follows:
  553.  
  554. C>  gds /s @filelist /o
  555.  
  556. The first option ('/s') tells GDS to do an automatic slide 
  557. show.  The second option ('@filelist') tells GDS to read the 
  558. file 'filelist' for a list of files to show.  The third 
  559. option prevents GDS from sorting the file list.
  560.  
  561.  
  562.  
  563. 5. ANTIALIASING
  564. ---------------
  565.  
  566. Antialiasing is a term used to describe the color correction 
  567. applied to pixel hues in order to maintain the overall 
  568. appearance of an image.  Most often, antialiasing means 
  569. adjusting the colors along partially covered pixels when 
  570. drawing a line on a bitmapped screen.
  571.  
  572. GDS uses antialiasing only when reducing an image.  It 
  573. doesn't smooth out transitions between enlarged pixels.  
  574. Perhaps in a future version, enlargement smoothing may be 
  575. supported.
  576.  
  577. GDS uses a very high performance antialiasing technique 
  578. which scans colors from many original image pixels and 
  579. combines them to form a single destination pixel.  What this 
  580. gives you is an extremely accurate representation of the 
  581. original image, but using far less dots to do it.
  582.  
  583. An interesting side effect of antialiasing is that it tends 
  584. to reduce the size of the resulting GIF file.  Originally, I 
  585. expected the file size to increase, but was fascinated when 
  586. it dropped by about 9.6% for each dimension of antialiasing 
  587. applied.
  588.  
  589.  
  590.  
  591. 6. DITHERING
  592. ------------
  593.  
  594. GDS normally mixes colors together when appropriate in order 
  595. to increase the apparent color resolution.  A good example 
  596. of this is when an image has a section which fades evenly 
  597. from one color (like red) to another color (like blue).  The 
  598. result in the middle is purple.  When images are reduced and 
  599. combined on the same screen, the demand for colors is high.  
  600. In high resolution GIF images, there are 256 colors per 
  601. picture.  If you try to mix 80 pictures together, you would 
  602. need 20480 colors in order to represent the pictures without 
  603. any hardware color distortion.
  604.  
  605. When GDS doesn't have a color available (like purple from 
  606. the example above), it looks for two colors which when 
  607. displayed closely together appear to have the color of the 
  608. original pixels.  This results in an almost imperceptible 
  609. change from the original color in 256 color modes.
  610.  
  611. Almost as interesting as the effect antialiasing has on 
  612. resulting GIF file sizes, dithering increases GIF file size 
  613. by about 9.6% for each level of dithering applied.
  614.  
  615.  
  616.  
  617. 7. COMMAND LINE PARAMETERS
  618. --------------------------
  619.  
  620. All command line parameters may be prefaced with a forward 
  621. slash ('/') or a dash ('-').  Command line parameters are 
  622. processed in the order they are received.  Basically, they 
  623. act like most other command line scheme.
  624.  
  625. Available command line options are as follows:
  626.  
  627. /A<n>    Set default antialiasing level (0-2)
  628. /B<n>    Set default mouse display mode (0-1)
  629. /D<n>    Set default dithering level (0-2)
  630. /F####    Set default file display options
  631. /G<mode>    Set default graphics display mode
  632. /H or /?    Display help screen with these switches listed
  633. /I<n>    Set early interlaced fill mode
  634. /L<n>    Set default labels on/off switch
  635. /M<n>    Set maximum number of colors in generated palette
  636. /O<n>    Set sort flag for automatic slide shows (1=sort)
  637. /S<n>    Slideshow mode (no user interface, just slides)
  638. /T<mode>    Set default text display mode
  639. /V<n>    Set vertical orientation mode
  640. /W<n>    Set automatic array stream write after first Alt-W
  641. /Z<n>    Set delay in between slides in slide shows
  642. /<NAME>    Force graphics support
  643. /512        Force support for 512K VGA modes
  644. @<FILE>    Get list of files from FILE.
  645.  
  646.  
  647. /B<n>    This option sets the mode in which the text mouse 
  648. cursor is displayed.  When this option is set to 0, GDS will 
  649. display a highlighted character as a text mouse cursor.  
  650. When this option is set to 1, GDS will attempt to remap 
  651. characters in the EGA/VGA character set to implement a 
  652. graphics cursor in text mode.  The default setting of this 
  653. option is determined at runtime, and depends on the hardware 
  654. you have.  If your cursor doesn't look right, try changing 
  655. the /B option in your GDS.CFG file.
  656.  
  657.  
  658. /F####    This option allows the user to specify what 
  659. information should be displayed in the file list at startup.  
  660. The four number (or pound) signs each hold a place for a 1 
  661. or a 0, indicating whether or not the given option is on or 
  662. not.  The list of file options is as follows:
  663.  
  664.     /F1???    Display file extension (default=0)
  665.     /F?1??    Display image resolution (default=0)
  666.     /F??1?    Display number of bits per pixel (default=0)
  667.     /F???1    Display file size (default=1)
  668.  
  669.  
  670. /G<mode>    This option sets the default graphics mode to be 
  671. used for display.  The format of <mode> should be 
  672. <n>x<n>x<n>, where the first value is the screen width, the 
  673. second value is the screen height, and the third number is 
  674. the number of bits per pixel (or number of colors).  The 
  675. number of bits per pixel is optional for this option.  The 
  676. default setting for this option is '/G640x480x8'.
  677.  
  678.  
  679. /H or /?    This option displays the runtime help screen.
  680.  
  681.  
  682. /I<n>    This option sets the 'early interlaced GIF fill 
  683. mode' option.  When interlaced images are drawn, GDS can 
  684. fill in the breaks in between interlaced lines so the viewer 
  685. gets a better image of what the the picture is as fast as 
  686. possible.  It appears that this was one of the intended uses 
  687. of interlaced image format in the original GIF 
  688. specification, but no other GIF viewers seem to do this.  
  689. When this option is enabled (1), interlaced images draw a 
  690. bit slower overall, but the user can see the general content 
  691. of the picture in about one quarter of the time it takes to 
  692. read the entire image.  The default value of this switch is 
  693. ON (or 1).
  694.  
  695.  
  696. /M<n>    This option puts a ceiling on the number of colors 
  697. GDS is allowed to use when it generates common palettes for 
  698. combining many GIF images into arrays of images.  This 
  699. option is significant because the resulting file size of GIF 
  700. files written with one bit less per pixel is about 9.5% 
  701. smaller than the original number of bits per pixel.  This 
  702. means that a 128 color image will be approximately 91% of 
  703. the size of the similar 256 color.  The disadvantage to 
  704. limiting the palette is that the color resolution drops, and 
  705. therefore the picture quality suffers.
  706.  
  707.  
  708. /O<n>    This option sets the sort flag for automatic slide 
  709. shows (/S).  This option has no effect when the '/S' option 
  710. is not specified.  To sort the file list before an automatic 
  711. slide show, specify /O1.  To leave the file list unsorted, 
  712. specify /O0.  The default value of this option is ON (or 0).
  713.  
  714.  
  715. /S    This option specifies automatic slide show mode.  In 
  716. automatic slide show mode, no user interface is offered, and 
  717. a slide show starts immediately after startup.  See the 
  718. '@<FILE>' option for a useful way to specify exactly what 
  719. files to show.
  720.  
  721.  
  722. /T<mode>    This option sets the default text mode to be used 
  723. for display.  The format of <mode> should be <n>x<n>, where 
  724. the first value is the number of character columns, and the 
  725. second value is the number of screen lines.  The default 
  726. value for this mode is '/T80x25'.
  727.  
  728.  
  729. /W<n>    This rather quirky option sets the state of a mode 
  730. wherein GDS will continue to generate and write array images 
  731. (GIF, PCX, or RIX) after the first time you press Alt-W, 
  732. Alt-P, or ALT-R, respectively.  Using this option, GDS will 
  733. run through hundreds of files and generate an image for each 
  734. complete array screen.  The default setting for this option 
  735. is OFF (or 0).
  736.  
  737.  
  738. /Z<n>    This options specifies the number of 100ths of 
  739. seconds to delay in between slides during a slideshow.  The 
  740. default value is 5 seconds (91).  The delay between slides 
  741. can be completely eliminated by setting this option to 0.
  742.  
  743. /<NAME>    This option is used to force GDS to assume it has 
  744. the named video card.  Normally, this is not necessary or 
  745. advisable.  USE THIS OPTION WITH CARE.  There is no telling 
  746. what could happen if you force a graphics card which 
  747. conflicts with the hardware you actually have.  The 
  748. following video cards are currently defined:
  749.  
  750.     /EGA        Standard EGA or 100% compatible
  751.     /VGA        Standard VGA or 100% compatible
  752.     /AHEAD    Ahead Systems Chipset (type A)
  753.     /AHEADB    Ahead Systems Chipset (type B)
  754.     /ATI        ATI VGA Wonder
  755.     /CHIPS    Chips and Technologies Chipsets
  756.     /EVEREX    Everex Systems
  757.     /GENOA    Genoa 6000 series
  758.     /OAK        Oak Technologies
  759.     /ORCHID    Orchid Technologies
  760.     /PARA    Paradise Systems
  761.     /TRIDNT    ATI Prism Elite (Trident Chipsets)
  762.     /TSENG    Tseng Laboratories Chipset
  763.     /TSENG4    Tseng Laboratories Chipset (4000 series)
  764.     /VESA    Standard VESA BIOS Interface
  765.     /VID7    Video Seven VRAM or FASTWRITE VGA
  766.     /ZYMOS    Zymos HiRes 512K VGA
  767.  
  768.  
  769. /512    Force support for 512K VGA.  If your video card has 
  770. 512K of display RAM and you are unable to get GDS to support 
  771. modes requiring 512K, try using the '/512' command line 
  772. switch.  If using this option is successful, you may wish to 
  773. place this switch in GDS.CFG so you don't have to type it 
  774. every time you run GDS.  The default setting of this switch 
  775. is 0 (off), and if /<NAME> is not specified, this switch is 
  776. set by GDS when it tries to automatically detect what type 
  777. of video adapter is present.
  778.  
  779.  
  780. @<FILE>    This option reads a list of image files from 
  781. <FILE>.  FILE may be any valid path and filename.  This is 
  782. usually used with automatic slide shows (see '/S').
  783.  
  784.  
  785.  
  786. 8. CONFIGURATION FILE DETAILS
  787. -----------------------------
  788.  
  789. Unless you know what you are doing and are familiar with 
  790. GDS, please stay away from the configuration file.
  791.  
  792. GDS.CFG is set up to define all video modes for all display 
  793. cards, and to give the user the ability to specify command 
  794. line arguments which he doesn't feel like typing all the 
  795. time.  GDS.CFG will be read from the current directory 
  796. first, and then from the execution path.  If GDS.CFG is not 
  797. found in either location, the program will object.
  798.  
  799. Any semicolon (';') found in the input stream is interpreted 
  800. as a comment.  The semicolon and anything after it on the 
  801. same line is ignored.  It is simple to disable lines in the 
  802. configuration file by placing a semicolon in front of it.  
  803. Primarily, tabs, spaces, and blank lines are ignored.
  804.  
  805. There are two types of configuration lines.  The first 
  806. defines a video mode, and the second specifies automatic 
  807. command line options.  The format of the video modes is as 
  808. follows:
  809.  
  810. A, B, C, D, E, F, G, H, I, J    ;optional comment
  811.  
  812. A) Name of the video card
  813. B) Horizontal screen resolution (number of columns)
  814. C) Vertical screen resolution (number of lines)
  815. D) Number of bits per pixel (or 0 for text mode)
  816. E) AX register on INT 21h call to set video mode (see I)
  817. F) BX register on INT 21h call to set video mode (see I)
  818. G) CX register on INT 21h call to set video mode (see I)
  819. H) DX register on INT 21h call to set video mode (see I)
  820. I) This option has one of three meanings:
  821.     1) 0 if video mode is a standard graphics mode
  822.     2) 1 if video mode is directly programmed (VGA 
  823. register compatible cards only!
  824.     3) The base address of the screen if the video 
  825. mode is a text mode (indicated by 0 bits per 
  826. pixel)
  827. J) Dot Mode (0=normal, 1=ATI 16 color chunky)
  828.  
  829. To specify automatic command line options, add a line to 
  830. GDS.CFG similar to the following example:
  831.  
  832. AUTO, /m64 /t132x44        ;limit palette to 64 colors
  833.  
  834. This example will behave as if you typed '/m64 /t132x44' on 
  835. the command line.  All automatic command line parameters 
  836. will be processed AFTER the actual command line parameters.
  837.  
  838. There are examples of each of these two types of command 
  839. lines in the included GDS.CFG file.  There are also comments 
  840. in the file which should offer more information.
  841.  
  842.  
  843.  
  844. 9. COMMON PROBLEMS AND SOLUTIONS
  845. --------------------------------
  846.  
  847. The following PROBLEM and SOLUTION pairs are included to 
  848. help you figure out what's wrong with your setup or GDS.  
  849. Each individual entry came from the experience of supporting 
  850. people who have problems with GDS.
  851.  
  852. PROBLEM:    After GDS starts, it keeps doing something with 
  853. the disk drive which makes me paraniod!  I don't like it and 
  854. I want it to stop.
  855. SOLUTION:    This inquisitive behavior is perfectly normal for 
  856. GDS.  Don't worry, it's not a virus deleting your files!  
  857. GDS reads the number of bits per pixel and screen resolution 
  858. for every file in the file list whenever you haven't done 
  859. anything interesting for a few seconds.  It will read about 
  860. 15 listings and then pause for a couple of seconds and 
  861. repeat this pattern until it has read every file.  It does 
  862. this so you don't have to wait for a long time if you want 
  863. to sort by something which needs to be read from every file 
  864. (like number of bits per pixel or screen resolution).  If 
  865. you do anything with the user interface or hit any keys, GDS 
  866. will stop reading these files instantly.
  867.  
  868. PROBLEM:    The file cursor flashes on and off very fast on 
  869. some files and GDS will not display them.
  870. SOLUTION:    GDS does this because GDS thinks there is an error 
  871. in the file.  If you don't believe there's an error in the 
  872. header of the file, try displaying the file with another 
  873. viewer.  Send a note to Paul Schmidt if you find a file that 
  874. other viewers will view and GDS won't.
  875.  
  876. PROBLEM:    GDS won't run, and gives me an error that says it 
  877. doesn't know what kind of video card I have.
  878. SOLUTION:    If you're sure you have a video card which is 
  879. compatible with the listings in GDS.CFG, then use the 
  880. '/<NAME>' option to tell GDS what card to use.  You will 
  881. also have to use the '/512' option if you have 512K of video 
  882. RAM.  If you don't know what kind of video card you have, 
  883. then you probably have one which is incompatible with GDS.  
  884. If you'd like to see the card supported, send me the 
  885. technical reference information with a brief cover letter.  
  886. If you really know what you're doing, you can add modes to 
  887. an existing board.  None of these suggestions is supported.
  888.  
  889. PROBLEM:    GDS displays the top part of 256 color images 
  890. fine, but the bottom part is either black or garbled.
  891. SOLUTIONS:
  892.     A) Try locking each extended screen mode in the 'Res:' 
  893. menu and displaying files with it.  See which ones screw up.
  894.     B) Check to see if there is enough RAM on your video 
  895. card to use the display mode you're trying to go into.  If 
  896. not, you can disable the offending mode using a semicolon 
  897. (';') in GDS.CFG.
  898.     C) Look in GDS.CFG to see if the screen modes which 
  899. screw up are actually supported by your video card, and not 
  900. by a different video card.  You may have to experiment with 
  901. the GDS configuration file to get a reliable list of modes 
  902. to use.
  903.  
  904. PROBLEM:    Some pictures I have are squished to the left of 
  905. the screen when I view them with GDS.
  906. SOLUTION:    Yeah.  Some are.  GDS will not modify the literal 
  907. dimensions of a picture unless the picture is TOO BIG to fit 
  908. on the screen (if so, GDS will scale it down).  These 
  909. squished images were written with a screen size which has a 
  910. much greater aspect ratio horizontally than the screen you 
  911. have.  Most of the time, you can simply hit 'Alt-F' to fit 
  912. the image into the screen.  Sometimes, however, people 
  913. (morons) store the images squished into normal screen sizes.  
  914. When 'Alt-F' doesn't work, try using the arrow keys (with 
  915. and without holding down the shift key).  To actually FIX 
  916. these images, just manipulate the image until it fits nicely 
  917. into the screen and hit 'Alt-W' or 'Alt-P'.  This will write 
  918. the image as GDS###.GIF or GDS###.PCX.  Go back out to DOS 
  919. and delete the old file and rename the GDS### to the name of 
  920. the old file.
  921.  
  922. PROBLEM:    I see garbage on the text screen around the mouse 
  923. pointer whenever I move the mouse around.  It is very 
  924. annoying.
  925. SOLUTION:    You must have a VGA which isn't supported by the 
  926. graphic/text mouse pointer.  Edit GDS.CFG and add the line 
  927. 'auto, /m0'.  This will force the mouse to be a character, 
  928. rather than an arrow in text mode.
  929.  
  930. PROBLEM:    The screen colors are ugly.
  931. SOLUTION:    Write a TSR which can tell if GDS is loaded and 
  932. monitors the BIOS screen mode and text screens.  Write very 
  933. involved and optimized code which scans the text screen and 
  934. finds the places where GDS writes characters and change 
  935. their attributes using a user specified color set.  When 
  936. someone get's this TSR running nicely, I'll add an easier 
  937. way to change GDS's screen colors.  IN OTHER WORDS, LIVE 
  938. WITH THE COLORS.
  939.  
  940.  
  941.  
  942. 10. BUG REPORTS
  943. ---------------
  944.  
  945. Bugs suck.  But, like most things, they happen.  I would 
  946. just like to note that I've taken every precaution to limit 
  947. bugs, and I think I've been thorough in my quest for a bug-
  948. free program.  HOWEVER -- bugs are inevitable.
  949.  
  950. The biggest area I'm suspecting bugs in is video support.  
  951. There is support for some 60 or so super vga cards.  There 
  952. is code which the manufacturers say should work.  
  953. Unfortunately, I can only test what I have.  I would be 
  954. interested to find out if certain cards do or don't work.
  955.  
  956. I have tested this software with the Video 7 VRAM VGA, Video 
  957. 7 1024i, ATI Wonder+, Orchid Pro-Designer w/1MB, TVGA 
  958. (Trident) w/1M, Paradise VGA+ w/256K, and Oaktech 256K VGA.  
  959. I have not personally tested it with the other cards, but 
  960. have heard of much success.  I have heard of bizarre 
  961. problems with some Paradise boards and am looking for 
  962. information relating to them.
  963.  
  964. Below I give my address.  This is where you should write if 
  965. you do find a problem.  I make no guarantees on ever fixing 
  966. a reported bug, regardless of it's nature.
  967.  
  968. GDS Graphics File Viewer
  969. 1194 Spring Valley Commons
  970. Livermore, CA  94550
  971.  
  972.  
  973.  
  974. 11. REVISION HISTORY
  975. --------------------
  976.  
  977. 1.00    02-10-91    First release, hope you like it.
  978. ----    --------    --------------------------------
  979. -->    No bugs reported yet.  (I'm plugging my ears.)
  980.  
  981.  
  982.  
  983. 1.01    02-11-91    Wow! that was fast!
  984. ----    --------    -------------------
  985. -->    'Sort:' menu in earlier versions could easily lock up 
  986. GDS when used to sort by 'Bits per pixel' or 'Resolution' if 
  987. GDS had not yet read file information for all files in file 
  988. list.  Although I haven't seen it, this bug may cause stack 
  989. overflows, 386 exceptions, and all sorts of other 
  990. unpredictable stuff.
  991. -->    Palette generation for array images is much more 
  992. accurate for images with varying numbers of bits per pixel.  
  993. In prior versions, images with fewer bits per pixel were not 
  994. represented equally among pictures with many bits per pixel.  
  995. This problem has been eliminated by padding smaller palettes 
  996. to bias the importance of their individual color ranges.
  997. -->    When displaying a 2, 4, 8, or 16 color image in single view 
  998. mode and the screen format used to display the image was an EGA 
  999. mode, some VGA boards would handle the EGA palette and VGA color 
  1000. registers inconsistently.  This occationally caused a color or two 
  1001. to be incorrect.  GDS now resets all EGA palette registers and all 
  1002. VGA color registers every time the palette is set, which seems to 
  1003. have corrected the problem.
  1004. NEW!    Changed behavior of mouse clicks in file list when 'View:' 
  1005. mode is set to 'slides'.  Users tend to want to point at a file and 
  1006. add it to the list rather than deselecting all other entries in 
  1007. favor of the one their clicking on.  So from now on, when you're 
  1008. doing slides, remember that the mouse toggles files!
  1009. -->    Fixed small moving button click problem in array setup.
  1010.  
  1011.  
  1012.  
  1013. 1.02    02-12-91    QUIX RIX FIX.
  1014. ----    --------    -------------
  1015. NEW!    Added RIX support through the Alt-R command.  Note that GDS 
  1016. can only support the 'UNCOMPRESSED' RIX file formats as RIX 
  1017. Software is not releasing any information about their compressed 
  1018. file format.  If you would really like to see support for 
  1019. compressed RIX files, don't ask me -- ask RIX Software.
  1020. -->    Fixed PCX file write for 16 color screen modes.  In previous 
  1021. versions, GDS would write odd images with the bits in the bytes 
  1022. flipped around, and possibly the plane order reversed.  This bug 
  1023. may be a reflection of how much time I spent writing PCX support.  
  1024. GDS now reads and writes PCX files correctly in all screen modes.
  1025.  
  1026.  
  1027. 1.03    02-13-91    Slideshow fixups.
  1028. -->    Corrected bug in slide shows which could incorrectly display 
  1029. images which had been read completely into EMS before being 
  1030. displayed.  This bug is more common when the user hits the space 
  1031. bar to bypass the slide show delay.  Earlier versions of GDS could 
  1032. display slide shows with image misalignment/fracturing or even 
  1033. garbage in horzontal bands of images.
  1034. 2
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.