home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d09xx / d0977.lha / Forth / Readme.doc < prev    next >
Text File  |  1994-04-03  |  9KB  |  212 lines

  1. **  ReadMe  ** 
  2.  
  3. Contents:
  4.  
  5. This is an update to the MVP-Forth directory on Fred Fish disk #9.
  6. Provided is an improved faster screen editor which uses the keyboard
  7. cursor keys, backspace and delete keys and function keys which allow
  8. fast moving thru the screens, pasting from PAD and the printing of
  9. screen, triad or PAD to the printer port prt: .
  10. F1 is the OOPs key. Control Keys give fast editing. The control keys
  11. and Function keys can be reprogrammed by the user if desired. 
  12. Runs on Amiga 1000 and 3000. Probably on Amiga 500 and 2000 (Untested).
  13.  
  14.  
  15. Amiga implementation:
  16.  
  17. On this disk are the files MVPFORTH and FORTH.
  18.  Both conform to the ' FORTH-79 Standard' and can be loaded 
  19.   from the CLI or from Workbench by clicking on their icon.
  20.   MVPFORTH is a lean version with a limited number of extensions  
  21.   that can be saved.  To see the available words (commands) in FORTH
  22.   type:  vlist  <return>. The source code is in the file 'Source'.
  23.   FORTH is the one normally used. It has more extensions and can
  24.   be revised as needed by the user. To save a revised version,
  25.   type:  save-forth <return>. Answer the prompt for a pathname
  26.   with df0:MYFORTH.  No icon is made if saved with a
  27.   different name. Provide an Icon or load your 'MYFORTH' from
  28.   the CLI only.
  29.  
  30.  On this disk are the following files that contain Forth screens:
  31.  Work, 68kAsm, Editor, ScreenEditor and Source.
  32.    Editor is the standard Forth line editor.
  33.    ScreenEditor is a screen editor written by me.
  34.    It is pre-loaded in 'FORTH' and invoked with 'Ed'.
  35.  
  36.  Before you do anything else, take this disk out of the disk drive
  37.  and write protect the disk by sliding the little square to close
  38.  the opening. Then place this disk in df0: and a blank disk in df1:
  39.  and make a backup copy. Call this copy 'FORTHcopy' and store the
  40.  original disk in a safe place. 
  41.   I suggest you write protect your FORTHcopy as well and return it
  42.   to drive df1:.  Place a blank disk in drive df0: and make another
  43.   copy of FORTHcopy. Call this copy 'FORTH'. This will be your work
  44.   disk.  To make room delete from the work disk any directories.
  45.  
  46.  To create your own workfiles, copy from the cli the file 'empty'
  47.  as follows:  copy empty work   <return>
  48.               copy empty work1  <return>   
  49.               copy empty work2  <return>  as many as you want.
  50.    And to experiment with: copy editor  myfile <return>
  51.  
  52.  To start Forth, double click on one of the FORTH icons of the NOT
  53.  write protected work disk 'FORTH' in df0:. ( Forth must be able
  54.  to write to this disk in df0: )
  55.  
  56. ***********************************************************************
  57.  -- FORTH does not ask ' Are you sure ? ' , it does what you
  58.  -- tell it to do, no questions asked. Therefore I recommend to
  59.  -- experiment first with the file 'df0:myfile' as a scratch file!!
  60.  -- Place the write protected disk 'FORTHcopy' in drive df1: to
  61.  -- recover from in case something went wrong. 
  62. ***********************************************************************
  63.  
  64.  A message appears on the screen and when pressing <return> you should
  65.  get a response of 'ok'.
  66.  Type:   7 select <return>
  67.  Response should be 'ok'
  68.  Type:   from  df0:Source
  69.  Response should be 'ok'
  70.  Type:  files
  71.  Response:  0
  72.             1
  73.             2
  74.             3
  75.             4 
  76.             5
  77.             6
  78.           * 7 df0:Source 136 blocks
  79.  
  80.  To open the file 'Editor' you select a free number, e.g.
  81.  6 select <return> 
  82.  followed by typing:  from df0:Editor <return>
  83.  If you type again: files <return>
  84.  you'll see that the asterik (indicating current active file)
  85.  moved to before the number 6 and the line 6 looks as follows:
  86.           * 6 df0:Editor 36 blocks
  87.  To load this line editor type:  1 load  <return>
  88.  This editor can now be invoked with the word 'editor'
  89.  
  90. Type 'files' at any time to see which files are already open and
  91. which one is selected as the current file ( shown with an asterik )
  92. Use for the filename the full path name.
  93.  
  94. To get your own file, type first
  95.     0 select <return>
  96.     from df0:work  <return>
  97.     files <return>
  98.  
  99. You'll see: 
  100.             * 0 df0:work 2 blocks
  101.               1
  102.               2 
  103.               3
  104.               4
  105.               5
  106.               6 df0:Editor 36 blocks
  107.               7 df0:Source 136 blocks
  108.               
  109. If you type  0 list <return>  you'll see an empty screen.
  110. This file 'work' has only 2 screens ( = blocks ) available.
  111. If you want to add say 8 blocks, you'll type:
  112.         8 larger <return>
  113. Typing files <return> will show that you now got 10 blocks.
  114.  A file to be enlarged must be the current file and must be 
  115.  loaded in file 0.  ( You cannot make a file smaller ).
  116.  The maximum number of blocks in one file is 999, memory permitting
  117.  and is also restricted to a max of 880 blocks on an Amiga floppy.
  118.  Generally files are smaller then 200 blocks, often in the range
  119.  of 4 to 40 blocks.
  120.  
  121.  To make 'Source' again the current file, type 7 select.
  122.  To see what is in there type:   0 135 index <return> 
  123.    Press any key to pause the scrolling.
  124.    Press <return> to quit the scrolling. 
  125.    Press any key except <return> to continue the scrolling.
  126.  
  127.  To view any of the screens type the screen number followed by 'list'
  128.  e.g.     7 list  <return>. If 'Editor' is loaded, you can
  129.  relist the screen by typing l <return>.
  130.  To see the next screen you could type  8 list  or  ll <return>
  131.  (They are 'els', not 'ones'). The previous screen: lll <return>
  132.  To see the 'words' (Forth calls commands words) available, type
  133.      vlist  <return>
  134.   The scrolling can be paused the same way as explained for 'index'
  135.  
  136.  The 'ScreenEditor' is preloaded in FORTH and is invoked with 'ed'.
  137.  To edit screen 9 you would type:   9 ed <return>.
  138.  To see which editing commands are available besides the arrow
  139.  keys you'll have first to open the 'ScreenEditor' file as follows:
  140.    3 select from df0:screeneditor  <return>     followed by:
  141.    33 list <return> and 34 list <return>  will show the available
  142.    commands. Or get into the editor by typing 'ed' <return> and 
  143.    pressing the help key. This works only if 'screeneditor' is the 
  144.    current file as indicated by the '*' when 'files' is typed.
  145.  
  146.    There is also a small built in system line editor in this version
  147.    with only the two commands 'list' and 'pp'.
  148.    They are available at any time.
  149.    When you have listed a screen, e.g.  9 list <return> and you
  150.    want to replace line 11 with   ." hello world !"  then type:
  151.      11 pp ." hello world !"   <return>
  152.  
  153.  To close file 7 df0:Source you can type   7 closefile <return>
  154.  To start experimenting pick a free file number ( use files
  155.  <return> to list them ) say  1 select <return>.
  156.  Then   from df0:myfile  <return> followed by 0 20 index <return>
  157.  Use this file to experiment with.
  158.  ( I generally use files 0 and 1 as work and development files, 
  159.    hold in file 3 the source of any Editor file if needed,
  160.    keep file 4 for the printer and use the remaining 
  161.    files to hold any reference files.)
  162.  
  163. The loop constructs supported in this version are:
  164.  
  165.  EndValue  BeginValue  DO ................. LOOP
  166.  EndValue  BeginValue  DO ...... StepValue +LOOP
  167.  EndValue  BeginValue  DO ...... StepValue /LOOP
  168.                        BEGIN ......... Flag UNTIL
  169.                        BEGIN ......... Flag WHILE ........ REPEAT
  170.                        BEGIN ........infinite loop ........ AGAIN
  171.                  Flag  IF ................. ELSE ........... THEN
  172.  
  173. Each dot stand for one or more valid FORTH words.
  174. LOOP increments Beginvalue by 1 until it is equal to EndValue.
  175. +LOOP increases Beginvalue by StepValue until equal or more than EndValue.
  176. /LOOP similar to +LOOP, but uses unsigned numbers.
  177. UNTIL loops back to BEGIN until Flag (top value on stack) is true (not 0.)
  178. REPEAT loops back to BEGIN as long as Flag is true, if Flag = 0 then it
  179. jumps over the words between WHILE and REPEAT and continues after REPEAT.
  180. IF will process the words between IF and ELSE if Flag is True, else it
  181. will process the words between ELSE and THEN. Then it will continue 
  182. after THEN. ELSE is optional, it can be omitted.
  183.    Remember the mnemonic: If True Do.
  184.  
  185. The words EndValue, BeginValue, StepValue and Flag represent numerical
  186. values on the parameter stack. To see what's on the stack type: .s <return>
  187. If the system misbehaves and gives messages 'Invalid Filenumber'
  188. generally after an error, you may recover with typing 'cold' <return>.
  189. To quit, type:  bye <return>
  190.  
  191.   This should be enough to get you going. 
  192.   I recommand that you make a printout of this Readme file and
  193.   get hold of a book that explains 'FORTH'. The book 
  194.    'Starting Forth' by Leo Brodie is recommended.
  195.  
  196. Acknowledgment: In rewriting the screen editor I used as much as 
  197.    I could the screens provided on Fred Fish disk #9.
  198.    Credit should go to Henry Laxen and Glenn Tenney and others in 
  199.    most cases. You can blame me for implementing the function keys,
  200.    backspace key, del key and control key functions  c e f j n p t.
  201.    Many control names have been changed, for instance ^z is renamed
  202.    to ^q (quit), ^t to ^w (delete word) and ^t is re-used for
  203.    transfer to screen 0.  Some functions were dropped, others added.
  204.    I also added the printer support.
  205.    Feel free to change or modify this editor as much as you want
  206.    for your own use.
  207.                        91/05/16 J.Bos
  208.                                 187 Dufferin Ave.
  209.                                 Brantford  N3T 4R4
  210.                                 Ontario Canada
  211.  
  212.