home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_100 / 199_01 / ged.doc < prev    next >
Text File  |  1987-12-17  |  28KB  |  556 lines

  1.                                  GED 2.00
  2.  
  3. I. Introduction ( goto Changes and Additions if you already use ged )
  4.  
  5. Ged, a.k.a. "go edit", is an adaptation of J.W.Haefner's MS-DOS QED text
  6. editor to COMPAQ/IBM-PC hardware, making extensive use of DeSmet C's pcio
  7. video routines.
  8.  
  9. Since this is only an adaptation I have left in all references to previous
  10. authorship.  I have also retained most of Mr. Haefner's documentation -
  11. as much of it still applies to Ged.
  12.  
  13.                                  Why GED?
  14.  
  15. Initially my goal was to produce an editor to replace what I've used for
  16. almost two years, ( Turbo Pascal's editor ), and to one day port it to a
  17. UNIX/XENIX environment.  At this point in time I feel I've made some good
  18. progress towards that end and have decided to pass on the fruits of my
  19. research.
  20.  
  21. I started this project back in January '86, and spent a good deal of     
  22. time trying to make GED work using ansi.sys.  It eventually did run, but  
  23. not much faster than what I can do in BBx, Business Basic.  Ansi.sys  
  24. should be used sparingly.  Around Spring '86, I started over again, this
  25. time playing with interrupts and feverishly re-reading my Norton's. It  
  26. then dawned on me - "why re-invent the wheel", and I opted to use the  
  27. video routines that were supplied with DeSmet C's compiler package.  
  28.  
  29. ( My reluctance to using pcio was motivated by not wanting to learn assembly
  30. language - there's no way around it.  At least with gedio.a you've got some
  31. good working examples. )
  32.  
  33.  
  34.  
  35. II. Changes and Additions
  36.  
  37. Function Key Definitions:
  38. ─────────────────────────
  39. F1  = help menu
  40. F2  = update time
  41. F3  = move cursor left one word       to change
  42. F4  = move cursor right one word          ""
  43. F5  = save the current file and resume editing
  44. F6  = execute ls                see getenv()
  45. F7  = execute more                ditto
  46. F8  = execute grep                ditto
  47. F9  = turn on graphics editor - display IBM extended ASCII tables
  48. F10 = reset run-time variables and options.
  49.  
  50.  
  51. Cursor Control Keys:
  52. ────────────────────
  53. Home      = cursor to left edge of screen
  54. End       = cursor to end of line
  55. PgUp      = move cursor up to beginning of file
  56.               text scrolls down
  57. PgDn      = move cursor down to end of file
  58.               text scrolls up
  59. Del       = delete character under cursor
  60.               if end of line then pull from line below
  61. Caps      = displays caps lock status
  62. Lock
  63. Ins       = turns overtype/insert on/off ( ged is in insert mode normally )
  64. Arrows    = as expected
  65. Alt       = if IBM chars table on - then get character from 10-key pad.
  66. GreyMinus = move cursor word left
  67. GreyPlus  = move cursor word right
  68.  
  69.  
  70. Version:
  71. ────────
  72. v2.00   Converting Ged to MicroSoft 5.0 and Qic C.
  73.         Added Gedio.asm, ged low level screen routines which compile
  74.         under MASM.
  75.  
  76. v1.15   Added IBM extended graphics chars( box parts, etc. ).
  77.         Added grey-minus and grey-plus key detection.
  78.  
  79. v1.11   Added getenv() - DeSmet 3.0 specific.
  80.         Cleaned up screen I/O, it all begins with scr_, except for putstr.
  81.  
  82.         All scr_ functions are located in gedio.a
  83.         All scr_ co-ordinates are set for ( col, row ).
  84.         All interrupt coded functions are in ged11.c.
  85.  
  86.         Added overtype mode and capslock indicator.
  87.         Speeded up cursor movement.
  88.         Some additional fixes as suggested by Andrew Binstock.
  89.  
  90. v1.10   Annoying delete to end of line problem cleaned up.
  91.         Delete routine did not have actual cursor location.
  92.         Only showed up if deleting at postion greater than
  93.         screen width.
  94.  
  95.         Changed inject function to writ_txb - easier to relate to.
  96.         Cleaned up putline and rewrite functions.
  97.         Added execute function to run other people's programs.
  98.  
  99.         Added J.W.Haefner's reform routine.  This is for letter
  100.         writing and not programming.  Reset right margin using F10.
  101.         ( Routine still needs some work )
  102.  
  103. v1.05   Added printer error recovery routine.  Printer routine covers
  104.         trying to write to non-existent printer, meaning - you forgot
  105.         to plug it in.  Further success of routine appears to be somewhat
  106.         printer dependent.  You plugged the printer in then turned it off.
  107.  
  108.         Added undo routine from N. Gilbert's 'e' 4.8 CP/M editor.
  109.       ( Undo replays the last 100 line changes, including deletes,
  110.         moves, etc.  It's very handy. )
  111.  
  112.  
  113. New Functions:
  114. ──────────────
  115.  
  116. 1. undo()     Undo will undo the last change(s) - up to one hundred.
  117.               To use, enter ^_.
  118.  
  119. 2. reform()   Use to reformat blocks of text.
  120.               Current Default is 72 characters.  To change, use F10 Key to
  121.               call file Context Menu.  To use, place cursor at beginning of
  122.               text block and enter ^QR.  Will work with undo.  You must
  123.               move the cursor off the line before reforming.
  124.  
  125. 3. execute()  Must use elink.bat and elink.dat.  See function key assignments
  126.               in ged.c, and execute() and show_fkeys() in ged1.c.  Execute
  127.               will clean up after itself depending on how the last argument
  128.               is set.
  129.  
  130. 4. getenv()   It is now possible to locate ls.exe and more.exe using environ-
  131.               mental variables which you can set in your autoexec.bat file.
  132.  
  133.               SET LS=c:\exe\ls.exe
  134.               SET MORE=c:\exe\more.exe
  135.               SET GREP=c:\exe\grep.exe
  136.  
  137.             ( I store my more useful executables in a subdirectory named \exe.
  138.               You must set LS, or whatever you call it, in the function key
  139.               assignment section of ged.c as well.  See ged.c for examples. )
  140.  
  141.               Make sure to set ansi.sys in your config.sys file as ls and
  142.               more use the reverse display drivers.
  143.  
  144. Books:
  145. ──────
  146.    I recommend the following books for the serious enthusiast:
  147.  
  148.   "Crafting 'C' Tools for the IBM PCs", Joe Campbell, Prentice-Hall.
  149.  
  150.   "Advanced MS-DOS", Ray Duncan, MicroSoft Press.
  151.  
  152.  
  153. Bugs:
  154. ─────
  155.   As of GED 1.10 I became aware of a potentially troublesome bug.
  156.   Make sure that readall in ged.c is always set to YES - else you may end
  157.   up zapping some random disk sectors. ( Especially if attempting to save
  158.   a file before completely reading it in. )
  159.  
  160.   There's a bug in displaying tabs properly - I wish someone would fix
  161.   it.  I don't use tabs.
  162.  
  163.   Printer error routines could work better.
  164.  
  165.  
  166. Other:
  167. ──────
  168.   Also, please report anything you feel is a bug or that needs improvement.
  169.   Fixes and constructive criticism are welcomed.
  170.  
  171.  
  172. ╓─────────────────────────────────────────────────────────────────────────────╖
  173. ║ Graphics:                                                                   ║
  174. ╟─────────────────────────────────────────────────────────────────────────────╢
  175. ║ What won't work.  The following Ascii characters will cause you problems.   ║
  176. ║                                                                             ║
  177. ║ 009 or '\t'.  I don't use tabs, but for those those who do, '\t' makes for  ║
  178. ║               some funny looking displays if not converted to blanks.       ║
  179. ║                                                                             ║
  180. ║ 010 or '\n'.  Will do as expected.  Ged is still a text editor.             ║
  181. ║                                                                             ║
  182. ║ 026 or ^Z.    Stops your read dead in it's tracks.                          ║
  183. ║                                                                             ║
  184. ║ Of the three, only ^Z is useful as graphics character - Paul Mace may argue ║
  185. ║ otherwise.  If you really need to use these forbidden characters it's best  ║
  186. ║ to write them rather than store them.                                       ║
  187. ║                                                                             ║
  188. ║ What will work.  F9 turns on the extended graphics mode and puts up the     ║
  189. ║ first table.  Alt + the number of the char entered with the 10-key pad will ║
  190. ║ write the character at the cursor location.  Control L, ^L, will repeat it  ║
  191. ║ till it is changed or you do a search/replace function.                     ║
  192. ║                                                                             ║
  193. ║ There's nothing magic here - it's just a fact of life for P.C. users.       ║
  194. ╙─────────────────────────────────────────────────────────────────────────────╜
  195.  
  196.  
  197. ╓─────────────────────────────────────────────────────────────────────────────╖
  198. ║ In the Works:                                                               ║
  199. ╟─────────────────────────────────────────────────────────────────────────────╢
  200. ║ Conversion to TurboC. ( Needs to be debugged )                              ║
  201. ║                                                                             ║
  202. ║ Conversion to MicroSoft 5.0 and Qic C.                                      ║
  203. ╙─────────────────────────────────────────────────────────────────────────────╜
  204.  
  205.  
  206.  
  207.  
  208. III.1  DOCUMENTATION FOR QE AND QED/GED   (J.W.Haefner - 7 August 1985)
  209.  
  210. This is documentation for the programs QE and QED:  two modifications of 
  211. 'e' version 4.6b.  QE is the modification for BDS-C and QED is the 
  212. modification for DeSmet-C (hence the "D") under MSDOS version 2.x.  Since 
  213. the basic structure of these modifications is still that of e, that 
  214. documentation is relevant and I indicate here only the differences.
  215.  
  216.      'e' is a fine program, carefully written with good logical structure; 
  217. however, editors are a personal matter and many features that I thought 
  218. desirable were either missing, or awkwardly implemented.  Consequently, QE 
  219. and QED is the result of an attempt to incorporate different and additional 
  220. functions.  Most of these derive from WordStar, my favorite word 
  221. processor.  Since the modifications are basically superficial and (at one 
  222. level) "cosmetic", I have retained all references to Nigel Gilbert as the 
  223. author and copyright holder.  Each file indicates that it is a modification 
  224. of the original e (ver. 4.6).  On the other hand, my modifications conflict 
  225. to some degree with the philosophy detailed in the documentation to the 
  226. original 'e'.  Therefore, as indication of this possible conflict, I have 
  227. given new names to these modifications.  The "Q" was originally to mean 
  228. "quick", as my initial goal was to produce a smaller, faster version of 'e', 
  229. as I thought it terribly long and slow.  I did not achieve this goal and 
  230. instead came away with the perception that virtural memory editors must be 
  231. this large and slow.  Mr. Gilbert has done an admirable job.
  232.  
  233.  
  234. I.   QE and QED
  235.  
  236.   A.   WordStar functions
  237.  
  238.      1.   SCROLLING:  ^W scrolls the screen down (i.e. UP through the text) 
  239. and leaves the cursor on the line and column prior to scroll.  ^Z scrolls
  240. the screen up in the same manner.
  241.  
  242.      2.   Delete to End of Line: ^QY deletes all text from the cursor to the 
  243. end of the line.
  244.  
  245.      3.   Delete Line: ^\ now deletes the current line (this makes it 
  246. difficult to err, identical to my version of WordStar).  In 'e' v 4.6 and QE 
  247. and QED lines deleted can be recovered if the cursor has not left its 
  248. vertical sceen postion by typing ^N^_ (i.e. insert new empty line (^N), and 
  249. recover (^_)).  A more elaborate UNDO function is implemented in 'e' ver 
  250. 4.8, but I don't feel a need for it.
  251.  
  252.      4. Block manipulation: all of these are done through ^K as in WordStar.
  253. These functions are: quit (Q, as in 'e'), save and exit (X, as in WordStar),
  254. file read (R), repeat a jump to the last jump line (J), and the block moves of
  255. 'e' (B).
  256.  
  257.      5.   Exit with Save: ^KX saves the file being edited and exits directly 
  258. to the operating system.
  259.  
  260.      6.   BACKSPACE == LEFTKEY in all applications except find/replace 
  261. editing.
  262.  
  263.      7.   QUICK functions;  analogous to WordStar, ^Q switches to other 
  264. functions (i.e. environment (K), delete to end of line (Y), find (F), alter 
  265. (A).
  266.  
  267.      8.   Top and Bottom o Screen:  ^Y moves cursor to top of screen, ^V
  268. moves to bottom of screen.
  269.  
  270.      9. KEYS: wherever possible, I have used WordStar mnemonics for
  271. control characters.  This is almost exact for the left hand; the right hand
  272. uses my own choices (e.g. move to left end of line = ^O, to right end of 
  273. line = ^P, etc.   These are documented with a revised HELP display obtained 
  274. via ^^ (difficult to type but the interface is so obvious that I rarely, if 
  275. ever,  use HELP).  Below I give a map of the keys used in QE and QED.
  276.  
  277.      10. READ ALL ON INITIAL LOAD: As a matter of preference, the initial
  278. reading of a file from disk reads the entire file or as much as possible to
  279. fill memory before displaying the first page.  Alteration of this feature 
  280. currently requires re-compilation, but it could easily be implemented as a 
  281. command line option. 
  282.  
  283.    B.   Fixes to "bugs"
  284.  
  285.      2.   JUMP:  Use of "-Jn" on the command line where n is an integer
  286. causes the initial program load to jump to line number n, or the bottom of 
  287. the file if n is greater than the number of lines in the file.  This is 
  288. similar to 'e' ver 4.8. I have further modified the jump command to permit 
  289. relative (+/-) jumps of any length (unlike page up or down; alas, not as 
  290. useful as I had hoped).  Moreover, use of "^J,<CR>" or "^J,ESC" sets the 
  291. "jumpto" variable to the current line.  Use of ^KJ repeats the last jump.  
  292. Thus, a very simple "jump marker" is implemented as the following example 
  293. illustrates:
  294.  
  295.                ^J,<CR> (mark this line),
  296.                ...some editing...,
  297.                ^U (top of file),
  298.                ... more editing,
  299.                ^KJ (back to line number marked earlier).
  300.  
  301. I find this feature very useful.  If editing following jump line marking 
  302. adds or deletes lines, then ^KJ will not return to the identical text 
  303. orginally marked (since that text now has a different line number).  This 
  304. could be fixed in later versions.  More than one "jump marker" would be 
  305. desirable.
  306.  
  307.      3.   REPEAT PAGING: In repeated use of page up or page down, 'e' ver 
  308. 4.6 causes all pages to be completely rewritten.  To speed up movement 
  309. through a file, I allow the rewriting of a page to be interrupted if the 
  310. next comand in the buffer is either "pageup" or "pagedown".  On the files 
  311. QE2A and QE3A for terminals such as ADDS Viewpoint that do not have line 
  312. insert functions, scrolling down (^W) requires re-writing the entire page, 
  313. this is also enhanced by looking at the type-ahead buffer to interupt page 
  314. re-writing if the next character is also for "scroll down".
  315.  
  316.      4.   CONTROL CHARACTERS:  Use of the sequence "ESC,char" to embed control 
  317. characters into the text did not work properly on my 'e' ver. 4.6.  This has 
  318. been fixed.
  319.  
  320.      5.   PRINTING CONTROL CHARACTERS:  'e' transmits only a few (none?) 
  321. control characters to the printer.  QE and QED send most control characters 
  322. so that dot matrix printers can be manipulated within the editor (e.g. set 
  323. margins, condensed print, etc).
  324.  
  325.      6.   FAST DISPLAY 1:   Most screen I/O replaced with direct video
  326. writes.
  327.  
  328.      7.   FAST DISPLAY 2:  I allow characters to be inserted into the type-
  329. ahead buffer only after a line has been written except when inserting text.  
  330. 'e'  ver 4.6 checks for more input to buffer after every character is 
  331. written.  This slows down the display.  Checking at the end of each line 
  332. seems to cause no problems.  Moreover, 'e' ver 4.6 does not check for type-
  333. ahead buffer overflow; this is a problem on fast terminals with repeat keys. 
  334. Text insertion is checked after each character inserted so that fast typists 
  335. do not lose characters.
  336.  
  337.      8.   HIGH-LIGHT CURRENT LINE:  The use of all text displayed in normal 
  338. attributes or dimmed with current line normal as in verson 4.6 is controlled 
  339. by a conditional compile statement.  'e' ver 4.8 uses an internal global 
  340. variable permitting switching within sessions.  Since I never want that 
  341. feature and since the fewer "if-checks" the better, I opted for the re-
  342. compilation solution.
  343.  
  344.      9.   FIND/ALTER STRINGS:  'e' ver 4.6 allowed most control characters 
  345. to be embedded in the string to find or alter, but escape (0x1b) was used to 
  346. terminate the string and thus could not be searched for.  I implemented a 
  347. kludge to work around this.  ^] is translated to 0x1b and embedded in the 
  348. string.  A reminder of this is presented when the find/alter function is 
  349. selected.  Also several other control characters can now be embedded that 
  350. could not have been in 'e'.  Other changes to this function allow the 
  351. "retrieve" function to replay the last previous string to find and alter 
  352. from the current positon of the cursor in the string to the end.  Thus, if 
  353. the previous search string is non-empty, then the retrieve function prints 
  354. the previous string from the current position to the end.  If the previous 
  355. search string is empty or the cursor is at the end of the non-empty previous 
  356. search string, then use of the retrieve function will embed the key code for 
  357. the retrieve function into the search string.  For the file of terminal 
  358. characteristics currently used, this is ^L, which is also form feed.  The 
  359. current implementation allows primitive editing of the search string without 
  360. re-typing the entire line.  Assume the previous search string is non-empty; 
  361. the retrieve function (^L) will display to end; backspace and replace 
  362. character to be edited; ^L will re-display the remainder of the string.  To 
  363. re-initialize a search string to be empty, simply backspace to the 
  364. beginnning and hit ESC or <cr>.
  365.  
  366.  
  367. ---------------------------------------------------------------------------
  368.  
  369.      2.   HINTS TO FUTURE MODIFICATIONS:  For others that wish to modify
  370. the program for their own purposes:  (1)  The file "GEDFUNCS.DOC" lists
  371. the functions used in GED. (2)  Debugging messages can be displayed within
  372. the editor by using the statements:
  373.  
  374. /* debug */
  375. gotoxy(0,24);  printf("var1 = %d  var2 = %d ", var1, var2 );
  376.  
  377. If numeric output is required, the function  uspr" in GED3.c can be used.
  378.  
  379.                                                               mt - 10/05/86
  380.  
  381. ---------------------------------------------------------------------------
  382.  
  383. III.2  QED SPECIFIC MODIFICATIONS
  384.  
  385.      QE has been tranlated to DeSmet-C under MSDOS 2.x  and called QED.  
  386. Because of difference in the compiler and the operating system, several 
  387. additional changes have been made.
  388.  
  389.      1.   MSDOS Ver 2.0:   QED requires generic MSDOS version 2.0 or higher 
  390. and checks with a BDOS call that the system uses this version.  No IBM-PC etc 
  391. specific BIOS calls are used.  I.e. no software interrupts below 20 hex are 
  392. used, nor are any port or memory specific references made.
  393.  
  394.      2.   DIRECTORY:   QED function replaced with exec to ls.
  395.  
  396.      3.   NO BDOS ERROR RECOVERY:  I don't know how to trap BDOS errors in 
  397. MSDOS, therefore Mr. Gilbert's elegant CP/M BDOS traps have been eliminated.  
  398. I would, of course, be interested in knowing how to do this.
  399.  
  400.      4.   PATHS:    Specification of paths is supported for files.  A 
  401. function to display and alter the path is implemented (via the file context 
  402. function:  ^QKF).  Since full path names can be almost arbitrarily long, the 
  403. status line will display the last 32 chars of the file name.
  404.  
  405.      5.   MODIFICATION CHECK: If the user attempts to discard a modified 
  406. file without saving it, a query is presented to ensure this was intentional.
  407.  
  408.      6.   DEFAULT EXTENSION:  The extension of the file called on the 
  409. command line is saved in a default file extension string.  Future file 
  410. requests (performed within a given QED session) do not require a file 
  411. extension to be given.  If no extension is given, the directory is first 
  412. searched for a file as typed.  If this fails, the default extension is 
  413. appended to the input file name and the search repeated.  The default 
  414. extension is overridden by using an explicit extension.  The desirable 
  415. modification of not having to give the file extenson on the command line is 
  416. not necessary in MSDOS by using batch files to invoke QED.  For example, if 
  417. a series of editing sessions is to be undertaken using assembly language 
  418. programming, then the following .BAT file is useful:
  419.  
  420.                QED %1.ASM -T8 -J%2
  421.  
  422. If this batch file is called, say, "e" then the command line "e myprog 150" 
  423. will invoke QED to load MYPROG.ASM, set the tabs to 8 spaces, and jump to 
  424. line 150.  This could also be done with CP/M, but SUBMIT is slower than 
  425. typing in the entire command line.
  426.  
  427.      7.   DeSmet SPECIFIC MODIFICATONS:  The DeSmet compiler is adequate and 
  428. a good buy.  Several changes were made from QE (using BDS-C) to accomodate 
  429. the different compiler and operating system.  (a)  The function "uspr" was 
  430. altered to take 2 arguments to print either a short or long integer.  Long 
  431. integers are necessary to display disk space on my 8" disks.  (b) The 
  432. following functions were renamed to avoid collision with functions loaded by 
  433. the DeSmet BINDer: "putc" to "eputc", "getc" to "egetc", "puts" to "eputs".  
  434. This renaming might not be necessary, but the manual suggests it is.
  435.  
  436.  
  437. IV. MAP OF KEYS AS DEFINED IN TERM.C AND GEDIO.A - Revised June, 1987
  438.  
  439.      ^A        Word Left - F3
  440.      ^B        End of File
  441.      ^C        Scroll Page Down - PgDn
  442.      ^D        Cursor Left - Right Arrow
  443.      ^E        Cursor Up - Arrow Up
  444.      ^F        Word Right - F4
  445.      ^G        Delete Character Uuder Cursor - Del
  446.      ^H        Non-Destructive Backspace - Backspace
  447.      ^I        Tab Right - ( Rarely Used - Somewhat Buggy )
  448.      ^J        Jump to Line
  449.      ^K        Block Operations and Standard ^K Functions
  450.                  Q   Quit
  451.                        W = Write File
  452.                        A = Abandon Altered File
  453.                  X   Write File and Exit
  454.                  J   Repeat Jump to Last Marked Line Number - ( Never Used )
  455.                  B   Block Moves
  456.                  R   Read File
  457.      ^L        Repeat Last Find/Alter
  458.      ^M        Carriage Return
  459.      ^N        New Line
  460.      ^O        Move to Leftmost Character on Line - Home
  461.      ^P        Move to Rightmost Character on Line - End
  462.      ^Q       'Quick' Functions
  463.                  A   Find and Replace
  464.                  F   Find
  465.                  S   Services ( Tab Set, Files, etc.) - F10
  466.                  R   Reform Block of text - For Letter Writing, needs work
  467.                  Y   Delete to End of Line
  468.      ^R        Scroll Page Up - PgUp
  469.      ^S        Character Left - Arrow Left
  470.      ^T        Delete Word Right of Cursor
  471.      ^U        Move to Top of File
  472.      ^V        Move to Bottom of Screen
  473.      ^W        Scroll Page Down (Cursor Position Constant)
  474.      ^X        Move Cursor Down One Line - Arrow Down
  475.      ^Y        Move Cursor to Top of Screen
  476.      ^Z        Scroll Page Up (Cursor Position Constant)
  477.      ^[        Same as ESCAPE
  478.      ^\        Delete Line
  479.      ^]        Not Used
  480.      ^^        Help - F1
  481.      ^_        Undo the Last Command - Up to 100 Changes
  482.      DEL       Delete Character Under the Cursor
  483.      INS       Turn on Overtype Function - Default Insert
  484.  
  485.  
  486. V.  The Last Word:
  487.  
  488. This project couldn't have been undertaken without the use of DeSmet's
  489. 'c' compiler.  3.03 is very fast.
  490.  
  491. ╓─────────────────────────────────────────────────────────────────────────────╖
  492. ║ A. Compile and Link times.                                                  ║
  493. ╟─────────────────────────────────────────────────────────────────────────────╢
  494. ║ Standard Compaq and XT-Clone ( both with Seagate ST225 HD and 640K Ram )    ║
  495. ║ vs. Compaq II Model IV.                                                     ║
  496. ║                                                                             ║
  497. ║ 128 RAM Cache using PCGS Lighting on Standard Compaq only.                 ║
  498. ║                                                                             ║
  499. ║ Program         Computer           Compiler                  Times          ║
  500. ╟─────────────────────────────────────────────────────────────────────────────╢
  501. ║ Raku            Standard           DeSmet 2.51             19 secs          ║
  502. ║                 Compaq II                                11-7 secs*         ║
  503. ║                                                                             ║
  504. ║                 Standard           MicroSoft 4.0     1 min 24 secs          ║
  505. ║                 Compaq II                                  25 secs          ║
  506. ║                                                                             ║
  507. ║ Ged             Standard           DeSmet 2.51       6 min 05 secs*         ║
  508. ║                 XT-Turbo Clone                       4 min 45 secs         ║
  509. ║                 Compaq II                            1 min 47 secs         ║
  510. ╟─────────────────────────────────────────────────────────────────────────────╢
  511. ║ *PCIO not compiled - 128K Ram Cache                                         ║
  512. ║ 256K Ram Disk, 80K Ram Cache - includes compiling PCIO ( see all.bat )     ║
  513. ╙─────────────────────────────────────────────────────────────────────────────╜
  514.  
  515. ╓─────────────────────────────────────────────────────────────────────────────╖
  516. ║ B. Compile times only.                                                      ║
  517. ╟─────────────────────────────────────────────────────────────────────────────╢
  518. ║ Using 96K Ram Cache - No Ram Disk.                                         ║
  519. ╟─────────────────────────────────────────────────────────────────────────────╢
  520. ║ Program         Computer      Compiler          Times                       ║
  521. ╟─────────────────────────────────────────────────────────────────────────────╢
  522. ║ Ged 2.00        Compaq II     DeSmet 3.03       1 min 26 secs               ║
  523. ║                               DeSmet 2.51       2 min 03 secs               ║
  524. ║                               MSC    4.0        7 min 14 secs               ║
  525. ║                               MSC    5.0        6 min 33 secs               ║
  526. ║                               Qic C  1.0        2 min 42 secs               ║
  527. ║                               TurboC 1.0        2 min 19 secs               ║
  528. ╙─────────────────────────────────────────────────────────────────────────────╜
  529.  
  530. ╓─────────────────────────────────────────────────────────────────────────────╖
  531. ║ C. Compile and Link times.                                                  ║
  532. ╟─────────────────────────────────────────────────────────────────────────────╢
  533. ║ Using 96K Ram Cache and a 256K Ram Disk for temp files.                    ║
  534. ║ Includes ASM88 assembly times.                                             ║
  535. ╟─────────────────────────────────────────────────────────────────────────────╢
  536. ║ Program         Computer           Compiler                  Times          ║
  537. ╟─────────────────────────────────────────────────────────────────────────────╢
  538. ║ Ged 2.00        Compaq II          DeSmet 3.03       59 sec. - 1 min 12 sec ║
  539. ║                                                                             ║
  540. ╟─────────────────────────────────────────────────────────────────────────────╢
  541. ║ Varies with condition of disk.                                              ║
  542. ╙─────────────────────────────────────────────────────────────────────────────╜
  543.  
  544.  
  545. Learning 'c' is sometimes a difficult process - I view GED as miniature
  546. laboratory in which I carry out my little experiments in self-education.
  547.  
  548.  
  549. Mel Tearle
  550. 1108 E. Georgia
  551. Phoenix, Az. 85014
  552.  
  553. Phone: (602) 279-1576
  554.  
  555. Last revised: Novemeber 29, 1987
  556.