home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 8 / CDASC08.ISO / VRAC / FORTH035.ZIP / NOTES.DOC < prev    next >
Text File  |  1993-08-07  |  8KB  |  244 lines

  1.  
  2.   **************************** Authors Notes ******************************
  3.  
  4.  
  5.   This is my first attempt at doing OS/2 Full Screen, FLAT32 code.
  6.  
  7.   It was written using the editor from Borland's Turbo Pascal 6.0+7.0
  8.  
  9.   It is compiled using MicroSoft's MASM version 6.0
  10.  
  11.   It was linked using LINK386 supplied with IBM's OS/2 version 2.0
  12.  
  13.   This program requires OS/2 version 2.0 or later, and is designed
  14.   strictly for full screen text mode.
  15.  
  16.   The source for this fine program is included. I would like to offer
  17.   my thanks for those who helped contribute code.
  18.  
  19.   ************************* MODIFICATION HISTORY ***********************
  20.  
  21.   This document was last updated August 7,1993
  22. Version 0.35ßeta
  23.  8/07/93 - MAW Decide to release SOURCE with shareware distribution to
  24.                encourage more OS/2 assembler programmers.
  25.                Create a BUILDIT.CMD file for OS/2 2.1 compilation
  26.                  (Link386 no longer works in a DOS box!)
  27.                Make all version number 0.35 instead of 0.035
  28.  
  29. Version 0.34ßeta
  30.   7/23/93 - Include missing PORTIO.DLL 
  31. Version 0.33ßeta
  32.  7/16/93 - MAW Finally get CIN and COUT working, thanks to sample code
  33.                from PORTIO by Michael Thompson - tommy@msc.cornell.edu
  34.  
  35.  7/08/93 - MAW Fix a bug in Include" in forth.ini, bump revision to 0.032
  36.                Because of debugging problems, add NOP
  37.                Add <EXECUTE>, 'EXECUTE to allow for revectoring
  38.                Need to re-establish USER variables, so that THREADS work
  39.  
  40.  7/07/93 - MAW Now have access to a debugger, fix FORTH.INI's "
  41.                Dir (which broke with 0.030) now works again.
  42.  
  43.  6/30/93 - MAW Got interpreter working again, needs a lot of work.
  44.                I NEED A DEBUGGER for OS/2
  45.                (Code works, somewhat acceptably- now using OS/2 v2.1)
  46.  
  47.  6/29/93 - MAW Big revision to help get to dp-ANS standards for the CORE
  48.            vocabulary.
  49.  
  50.  6/ 7/93 - MAW Added  SOURCE, S"
  51.  
  52.  Version 0.29ßeta
  53.  5/12/93 - BBM Added  ACCEPT  ALIGN  ALIGNED  CHAR  CHARS  CHAR+
  54.                       UNLOOP  [']  [CHAR]  2@  2!  2*  2/  2OVER  2SWAP
  55.                       S"  S>D  UM/MOD  UM*  M*  INVERT  POSTPONE
  56.  
  57.            Renamed or redefined (to conform to ANS Standard):
  58.                       CELL+  CELLS  CELL  LSHIFT  RSHIFT  MOVE  '
  59.                       CASE..OF..ENDOF..ENDCASE
  60.            Fixed other various problems.
  61.  
  62.  Version 0.28ßeta
  63.  5/12/93 - MAW Add more floating point words, update documentation
  64.  
  65.  Version 0.27ßeta
  66.  5/11/93 - MAW First version of F. working, needs polish.
  67.  
  68.  Version 0.26ßeta
  69.  4/28/93 - MAW Rename Delay to MS, there are going to be a lot of
  70.                changes to make this ANS compliant
  71.                START adding floating point core words
  72.  
  73.  4/27/93 - MAW Recieved dpANS draft from Brian Mathewson
  74.  
  75.  4/21/93 - MAW Modify valuetable to work up to base 36, test mods
  76.                Modify AutoLoad to scan environment for directory to
  77.                  load forth.ini from.
  78.                Add Environment and Commandline functions
  79.  
  80.  3/23/93 - MAW Incorporate changes from Brian, bump to version 0.25ßeta
  81.    Nearing version 1.0 (5/12/93 - HA!)
  82.  
  83.  3/15/93 - MAW
  84.    Find Ordinal value for DOS32KillThread
  85.    Add word DELAY, similar to TP7 definition.
  86.    Modify threads.4th definition of KillThread so that it works.
  87.    Tested against bunny, looks good.
  88.  
  89.  3/12/93 - MAW
  90.    Fix hard to find bug: had CODEDEF in instruction stream!
  91.    Fix EqualStr ="
  92.    Modify LookFor to use EqualStr. (Works well)
  93.    Make DumpRegisters a FORTH word, with a nice little header to show
  94.      which register is which, and do it all in HEX!
  95.  
  96.  3/11/93 - Version 0.022 - Mike's revisions
  97.    Rearrange source, eliminate DoHeader macro, start recoding routines
  98.    to be re-entrant, and use ESI (or EBP) as a local storage pointer.
  99.  
  100.  2/ 7/93 - Version 0.021 - Brians revisions...
  101.  
  102.  1/15/93 -
  103.    Add \ for whole line comments ( zero's ecx! )
  104.  
  105.  1/15/93 - Version 0.019
  106.    Add pointers to LoadModule, FreeModule, QueryModule, QueryProcAddr,
  107.      QueryProcType, ExecPgm, StartSession
  108.    (Need to start building vocabularies!)
  109.  
  110.    Add Shell and CommandShell to Forth.ini
  111.  
  112.  1/15/93 - Version 0.018
  113.    Correct problems with GETKEY. Forth/2 now works properly in a window.
  114.  
  115.    New routine (KEY), needs a parameter (0 = wait, 1 = NO wait)
  116.    Now have (KEY), KEY, KEYnoWAIT
  117.    Add RECURSE
  118.    Add FENCE to FORGET in Forth.ini
  119.  
  120.  1/14/93 - Version 0.017
  121.    Modify code in DP! to work better. Improve behavior of ' when word is
  122.    NOT found. Add FORGET to Forth.Ini
  123.    Rename to FORTH/2
  124.  
  125.  1/14/93 - More 0.016
  126.    Add sample code to FORTH.INI that uses SYSCALL and the constants provided
  127.    to OPEN, CLOSE, read and write files.
  128.  
  129.  1/13/93 - More 0.016
  130.    Add U*/MOD, revise */MOD to do an IDIV instead of DIV....
  131.    Add ?COMPILE, [COMPILE], ', and DOES>
  132.      Tested, appear to work.
  133.  
  134.  1/12/93 - Version 0.016
  135.    Modify meaning of SP! to comply with standards, rename S0 to SP0
  136.    Add RP0, RP@, RP!, R@
  137.  
  138.  1/11/93 - Version 0.015
  139.    Fix /MOD and */MOD, left results in wrong order
  140.    Fix >,>=,<,<= they all used UNSIGNED math, which is INCORRECT
  141.    Add HERE,DP! for dictionary access
  142.    Add " for strings
  143.    Add Test routines SYS$BEEP (returns address of DOS32BEEP)
  144.      and SYSCALL (Call an OS/2 routine)
  145.  
  146.  1/ 7/93 - Version 0.014
  147.    Remove duplicate AND,OR,XOR
  148.    Add Brians */ (Works well!)
  149.    Add /MOD, */MOD, ABS, NEGATE, MIN, MAX, TYPE, FOPEN, FCLOSE, FREAD,
  150.        TIB, #TIB, SPAN, EXPECT, QUERY, INTERPRET, PROMPT, AUTOLOAD
  151.    Add TESTMAIN - A test version of the main loop
  152.    (Wow - 7 Hours Straight!)
  153.    AutoLoad feature works. - Loads definitions (up to 16k) from FORTH.INI
  154.  
  155.  1/ 5/93 - Version 0.013
  156.    Fix / MOD and U/, add StackCheck before prompt.
  157.  
  158.  1/ 4/93 - Version 0.012
  159.    Add <,>,<=,>=,=,<>
  160.  
  161.  1/ 4/93 - Version 0.011
  162.    Fix bug in LOOP which dropped 1 too many stack values
  163.  
  164.  1/ 1/93 - Version 0.010
  165.    Add MASM macros PushForth, PullForth, and Compiles
  166.    Add FOR/NEXT, which is a much better DO ... LOOP
  167.    Add DO ... LOOP and IF ... ELSE ... THEN
  168.  
  169. 12/31/92 - Version 0.009
  170.    Add CONSTANT, CREATE, VARIABLE, ALLOT, "," and "C," and the supporting
  171.    routines DoesConstant and DoesVariable
  172.    (Need to have places to put file handles, etc)
  173.    ** Look for version 0.010 to have conditional branching...
  174.  
  175. 11/13/92 - Version 0.008
  176.    Make literal, Compile Only, and Immediate
  177.    Add COMPILE, the ultimate in sneaky forth words
  178.    Fix CR
  179.  
  180. 11/10/92 - Version 0.007
  181.    Add Brian Mathewson's code for SP!, [, and ]
  182.    Add header for ?STACK
  183.    Make LITERAL an Immediate word
  184.    Add RESET, improve logic
  185.  
  186. 11/08/92 - Version 0.006
  187.    Add new words:
  188.      ROT, .S, MOD, ( comments ), IMMEDIATE, ." show string",
  189.      CRLF, DEBUG ( a debugging variable )
  190.  
  191.  
  192. 11/08/92 - Version 0.005
  193.    Add new macro CodeDef, to make maintenance easier
  194.  
  195.    Add new words:
  196.      OVER, DROP, W, S0, SP@, DEPTH, C@, C!, W@, W!, STATE
  197.  
  198.    Current Vocabulary:
  199.      OVER DROP W S0 SP@ DEPTH SWAP DUP .
  200.      HEX DECIMAL BASE W! W@ C! C@ ! @
  201.      XOR OR AND U/ U* / * - + STATE
  202.      : ; COMPILECALL LITERAL
  203.      EMIT KEY BYE VLIST
  204.  
  205.    Note: KEY returns the ascii code in the low byte, and the scan code
  206.    in the upper byte. This is not standard, but it does allow the use
  207.    of F1-F10, etc.
  208.  
  209.  
  210. 10/12/92 - Version 0.004
  211.    Fix bugs:
  212.       Error handling routine got contents of stack, instead of address
  213.       Correct handling of IMMEDIATE definitions
  214.  
  215.    Add EMIT - Uses VioWrtTTY, and not STDOUT
  216.      * Thanks to Larry Bank for his VIO32.ASM sample program.
  217.        I only wish I had that sooner.
  218.      * Emit makes it possible to use ANSI strings to set colors for output
  219.  
  220.    I will soon add GotoXY, GetXY and ClrScr....!
  221.   Current Vocabulary:
  222.     : ; COMPILECALL LITERAL KEY HEX DECIMAL BASE ! @ BYE VLIST
  223.     SWAP DUP XOR OR AND U/ U* / * - + .
  224.  
  225.  
  226. 10/08/92 - Version 0.003
  227.    Add code to do handle compiling constants, etc.
  228.    Add : ; LITERAL and COMPILECALL to vocabulary
  229.  
  230.    Add internal routine to dump registers, when needed for debugging.
  231.  
  232.    Add a real set of legal disclaimers to documentation.
  233.  
  234.  
  235.  
  236. 10/07/92 - Version 0.002
  237.  
  238.    Finally figure out how to get a keystroke from OS/2
  239.    (No help from IBM what so ever!)
  240.  
  241.    Add KEY to vocabulary list (Whew)
  242.  
  243.  
  244.