home *** CD-ROM | disk | FTP | other *** search
-
- **************************** 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.0
-
- This program requires OS/2 version 2.0 or later, and is designed
- strictly for full screen text mode.
-
- The source code for this fine program is available for $50.00 (US)
-
- ************************* MODIFICATION HISTORY ***********************
-
- This document was last updated March 23, 1993
-
- 3/23/93 - MAW Incorporate changes from Brian, bump to version 0.25ßeta
- Nearing version 1.0
-
- 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)
-
-
-