Menu

[r2]: / NOTES.DOC  Maximize  Restore  History

Download this file

296 lines (215 with data), 10.3 kB

  **************************** Authors Notes ******************************


  This is my first attempt at doing OS/2 Full Screen, FLAT32 code.

  It was written using the editor from Borland's Turbo Pascal 6.0+7.0

  It is compiled using MicroSoft's MASM version 6.0

  It was linked using LINK386 supplied with IBM's OS/2 version 2.1

  This program requires OS/2 version 2.0 or later, and is designed
  strictly for full screen text mode.

  The source for this fine program is included. I would like to offer
  my thanks for those who helped contribute code.

  ************************* MODIFICATION HISTORY ***********************

  This document was last updated May 22,1994

Version 0.40Šeta
04/22/94 - MAW On vacation, spruce things up a bit.
  Note: All of these changes are to documentation, and FORTH.INI, no real
  changes to FORTH.EXE

  Changed OPEN to abort if a file is NOT present upon open
  Added   OPENNEW to create a file, if needed.. (for output?), tested ok.

  Modified VIEW
    1. Now looks at FORTH.DOC, not FORTH2.DOC
    2. Now does not leave file open if word not found
    3. Now stops looking at bottom of list, when --End-- is found. 8-)

  Confirmed INCLUDE" only loads first time, build workaround involving
  the use of MAIN.4th

  Add HELP, and very beginnings for HELP system. (more later?)

Version 0.39Šeta
01/31/94 - MAW Not moving after all, put address back to Hammond

Version 0.38Šeta
  Current Priorities: (01/20/94)
    1. dpANS compliance, at least with CORE vocabulary
    2. Floating Point
    3. Manual & Documentation
    4. More examples, especially with Multi-Threading
01/20/94 - MAW Fix Thread in compile mode, more extensive testing
               Change addresses to new location
               Update copyrights

01/19/94 - MAW Fix Thread and ThreadProc
               Add Version

Version 0.37Šeta
11/14/93 - MAW Add PAUSE, and ?CR-MORE, modify WORDS to PAUSE after a
               screenfull. I couldn't see what was zipping by. ;-)
               Had to modify Forth.Ini, and turn off some safeties to get
                 test program to run. Not complete yet, but much better.

               Add FM/MOD and SM/REM, fixed UM/MOD, */ */MOD
               Fix >BODY and DOES>

10/23/93 - MAW Start dpANS 5 compliance checks,
               Fix 2!, 2@ (wrong word order), see COMPLY.DOC

Version 0.36Šeta
10/14/93 - MAW Fix broken POSTPONE
               Rename COMPILECALL to COMPILE, to match standard
               Add :NONAME, and update FORTH.INI to match

Version 0.35Šeta
 8/07/93 - MAW Decide to release SOURCE with shareware distribution to
               encourage more OS/2 assembler programmers.
               Create a BUILDIT.CMD file for OS/2 2.1 compilation
                 (Link386 no longer works in a DOS box!)
               Make all version number 0.35 instead of 0.035

Version 0.34Šeta
  7/23/93 - Include missing PORTIO.DLL 
Version 0.33Šeta
 7/16/93 - MAW Finally get CIN and COUT working, thanks to sample code
               from PORTIO by Michael Thompson - tommy@msc.cornell.edu

 7/08/93 - MAW Fix a bug in Include" in forth.ini, bump revision to 0.032
               Because of debugging problems, add NOP
               Add <EXECUTE>, 'EXECUTE to allow for revectoring
               Need to re-establish USER variables, so that THREADS work

 7/07/93 - MAW Now have access to a debugger, fix FORTH.INI's "
               Dir (which broke with 0.030) now works again.

 6/30/93 - MAW Got interpreter working again, needs a lot of work.
               I NEED A DEBUGGER for OS/2
               (Code works, somewhat acceptably- now using OS/2 v2.1)

 6/29/93 - MAW Big revision to help get to dp-ANS standards for the CORE
           vocabulary.

 6/ 7/93 - MAW Added  SOURCE, S"

 Version 0.29Šeta
 5/12/93 - BBM Added  ACCEPT  ALIGN  ALIGNED  CHAR  CHARS  CHAR+
                      UNLOOP  [']  [CHAR]  2@  2!  2*  2/  2OVER  2SWAP
                      S"  S>D  UM/MOD  UM*  M*  INVERT  POSTPONE

           Renamed or redefined (to conform to ANS Standard):
                      CELL+  CELLS  CELL  LSHIFT  RSHIFT  MOVE  '
                      CASE..OF..ENDOF..ENDCASE
           Fixed other various problems.

 Version 0.28Šeta
 5/12/93 - MAW Add more floating point words, update documentation

 Version 0.27Šeta
 5/11/93 - MAW First version of F. working, needs polish.

 Version 0.26Šeta
 4/28/93 - MAW Rename Delay to MS, there are going to be a lot of
               changes to make this ANS compliant
               START adding floating point core words

 4/27/93 - MAW Recieved dpANS draft from Brian Mathewson

 4/21/93 - MAW Modify valuetable to work up to base 36, test mods
               Modify AutoLoad to scan environment for directory to
                 load forth.ini from.
               Add Environment and Commandline functions

 3/23/93 - MAW Incorporate changes from Brian, bump to version 0.25Šeta
   Nearing version 1.0 (5/12/93 - HA!)

 3/15/93 - MAW
   Find Ordinal value for DOS32KillThread
   Add word DELAY, similar to TP7 definition.
   Modify threads.4th definition of KillThread so that it works.
   Tested against bunny, looks good.

 3/12/93 - MAW
   Fix hard to find bug: had CODEDEF in instruction stream!
   Fix EqualStr ="
   Modify LookFor to use EqualStr. (Works well)
   Make DumpRegisters a FORTH word, with a nice little header to show
     which register is which, and do it all in HEX!

 3/11/93 - Version 0.022 - Mike's revisions
   Rearrange source, eliminate DoHeader macro, start recoding routines
   to be re-entrant, and use ESI (or EBP) as a local storage pointer.

 2/ 7/93 - Version 0.021 - Brians revisions...

 1/15/93 -
   Add \ for whole line comments ( zero's ecx! )

 1/15/93 - Version 0.019
   Add pointers to LoadModule, FreeModule, QueryModule, QueryProcAddr,
     QueryProcType, ExecPgm, StartSession
   (Need to start building vocabularies!)

   Add Shell and CommandShell to Forth.ini

 1/15/93 - Version 0.018
   Correct problems with GETKEY. Forth/2 now works properly in a window.

   New routine (KEY), needs a parameter (0 = wait, 1 = NO wait)
   Now have (KEY), KEY, KEYnoWAIT
   Add RECURSE
   Add FENCE to FORGET in Forth.ini

 1/14/93 - Version 0.017
   Modify code in DP! to work better. Improve behavior of ' when word is
   NOT found. Add FORGET to Forth.Ini
   Rename to FORTH/2

 1/14/93 - More 0.016
   Add sample code to FORTH.INI that uses SYSCALL and the constants provided
   to OPEN, CLOSE, read and write files.

 1/13/93 - More 0.016
   Add U*/MOD, revise */MOD to do an IDIV instead of DIV....
   Add ?COMPILE, [COMPILE], ', and DOES>
     Tested, appear to work.

 1/12/93 - Version 0.016
   Modify meaning of SP! to comply with standards, rename S0 to SP0
   Add RP0, RP@, RP!, R@

 1/11/93 - Version 0.015
   Fix /MOD and */MOD, left results in wrong order
   Fix >,>=,<,<= they all used UNSIGNED math, which is INCORRECT
   Add HERE,DP! for dictionary access
   Add " for strings
   Add Test routines SYS$BEEP (returns address of DOS32BEEP)
     and SYSCALL (Call an OS/2 routine)

 1/ 7/93 - Version 0.014
   Remove duplicate AND,OR,XOR
   Add Brians */ (Works well!)
   Add /MOD, */MOD, ABS, NEGATE, MIN, MAX, TYPE, FOPEN, FCLOSE, FREAD,
       TIB, #TIB, SPAN, EXPECT, QUERY, INTERPRET, PROMPT, AUTOLOAD
   Add TESTMAIN - A test version of the main loop
   (Wow - 7 Hours Straight!)
   AutoLoad feature works. - Loads definitions (up to 16k) from FORTH.INI

 1/ 5/93 - Version 0.013
   Fix / MOD and U/, add StackCheck before prompt.

 1/ 4/93 - Version 0.012
   Add <,>,<=,>=,=,<>

 1/ 4/93 - Version 0.011
   Fix bug in LOOP which dropped 1 too many stack values

 1/ 1/93 - Version 0.010
   Add MASM macros PushForth, PullForth, and Compiles
   Add FOR/NEXT, which is a much better DO ... LOOP
   Add DO ... LOOP and IF ... ELSE ... THEN

12/31/92 - Version 0.009
   Add CONSTANT, CREATE, VARIABLE, ALLOT, "," and "C," and the supporting
   routines DoesConstant and DoesVariable
   (Need to have places to put file handles, etc)
   ** Look for version 0.010 to have conditional branching...

11/13/92 - Version 0.008
   Make literal, Compile Only, and Immediate
   Add COMPILE, the ultimate in sneaky forth words
   Fix CR

11/10/92 - Version 0.007
   Add Brian Mathewson's code for SP!, [, and ]
   Add header for ?STACK
   Make LITERAL an Immediate word
   Add RESET, improve logic

11/08/92 - Version 0.006
   Add new words:
     ROT, .S, MOD, ( comments ), IMMEDIATE, ." show string",
     CRLF, DEBUG ( a debugging variable )


11/08/92 - Version 0.005
   Add new macro CodeDef, to make maintenance easier

   Add new words:
     OVER, DROP, W, S0, SP@, DEPTH, C@, C!, W@, W!, STATE

   Current Vocabulary:
     OVER DROP W S0 SP@ DEPTH SWAP DUP .
     HEX DECIMAL BASE W! W@ C! C@ ! @
     XOR OR AND U/ U* / * - + STATE
     : ; COMPILECALL LITERAL
     EMIT KEY BYE VLIST

   Note: KEY returns the ascii code in the low byte, and the scan code
   in the upper byte. This is not standard, but it does allow the use
   of F1-F10, etc.


10/12/92 - Version 0.004
   Fix bugs:
      Error handling routine got contents of stack, instead of address
      Correct handling of IMMEDIATE definitions

   Add EMIT - Uses VioWrtTTY, and not STDOUT
     * Thanks to Larry Bank for his VIO32.ASM sample program.
       I only wish I had that sooner.
     * Emit makes it possible to use ANSI strings to set colors for output

   I will soon add GotoXY, GetXY and ClrScr....!
  Current Vocabulary:
    : ; COMPILECALL LITERAL KEY HEX DECIMAL BASE ! @ BYE VLIST
    SWAP DUP XOR OR AND U/ U* / * - + .


10/08/92 - Version 0.003
   Add code to do handle compiling constants, etc.
   Add : ; LITERAL and COMPILECALL to vocabulary

   Add internal routine to dump registers, when needed for debugging.

   Add a real set of legal disclaimers to documentation.



10/07/92 - Version 0.002

   Finally figure out how to get a keystroke from OS/2
   (No help from IBM what so ever!)

   Add KEY to vocabulary list (Whew)


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.