home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-04-23 | 65.6 KB | 1,338 lines |
- FPCNOTES.TXT This file documents changes in F-PC, Version 2.25 => 3.55
- °Whats-New
-
- SUMMARY of some new things (item number):
-
- DELETED WORDS: XFDOS (26), TYPESEG (83) <EXEC> (122)
-
- NEW WORDS: FPATH FPATH+ .FPATH (4), DELIMITER (5), MCROWS (9),
- CLOSEALL (11), { } (19) (20), VIEWFROM (34), TONE (54),
- +PLACE (107), 14 more words (83), FPCVER# (109),
- LEAVEPROMPTON LEAVEPROMPTOFF (111),
- OTHER.CHECK MLOAD (115), <EMMEXEC> FPC>EMM (122),
- UBETWEEN -SKIP (127),
- BLINKON, BLINKOFF, BLINK!, PAL!, BORDER@ and BORDER! (131),
- LISTSET (135)
-
- NEW FEATURES: Hypertext (24) (31) (36) (42) (43)
- Mouse (25) (40) (41) (129)
- Pull-down stack (15)
- Rotate thru files (44) (45) (46) (47)
- Scroll PgUp, PgDn (51)
- Escape sequences in ." (57)
- Help in editor (16) (23) (33)
- Visual vocabulary stack (86)
- Load marked lines from editor (115)
- New memory management (116)
- Bug fixes in multi-tasking (119)
- Expanded memory support (122)
- Swap to EMM, DISK support for Shell (124)
- Watch point support in debugger (132)
-
- 1. Fixed bug in SEQDOWN.
-
- 2. *** Increased maximum nest of file loads from 4 to 7.
-
- 3. Discarded this change.
-
- 4. *** Added multi directory search to OPEN. F-PC now has a path list
- like DOS. The pathlist is set by a configuration file that is
- loaded automatically at F-PC execution time. The words to do
- this wonderful stuff are as follows:
-
- FPATH <path-string> <enter> \ sets the Forth PATH
- FPATH+ <path-string> <enter> \ adds more to the Forth PATH
- .FPATH <enter> \ displays the Forth PATH
-
- The words $FILE, $FLOAD, FILE and FLOAD now search the Forth
- PATH while trying to open and or load the file specified.
- The search order is controled by the order path specs are placed
- in the path string. In the following example:
-
- FPATH E:\FPC\SRC;E:\FPC\HLP;E:\FPC\TOOLS <enter>
-
- Here the E:\FPC\SRC directory is searched before the E:\FPC\HLP
- directory which in turn is searched before the E:\FPC\TOOLS
- directory. The Forth PATH may be up to 132 characters long.
-
- 5. Added a word DELIMITER, which is a VALUE that holds the
- delimiter character used by LINEREAD as the end of a line to be
- read. DELIMITER defaults to $0A, a linefeed. It is useful at
- times to be able to read lines from a file that does not
- contain linefeeds, but only carriage returns. Changing
- DELIMITER to $0D will allow this. Also useful for "ASCIIZ" files
- delimited by a zero -- change DELIMITER to $0.
-
- 6. The print menu bug has been fixed; it caused the cursor to
- disappear after re-directing printing to a file.
-
- 7. Fixed an undocumented bug in SEDSHELL.SEQ. For some reason
- unknown to me I had changed version 2.25 so it could not
- recover ram while editing, when it wanted to spawn a DOS shell.
- Thus it was not possible to perform any but the most trivial
- DOS operations when spawning a shell from the editor. This has
- been fixed. The editor recovers all of the ram it can while
- leaving enough room in memory for the file currently being
- edited, then spawns the DOS shell. The space is recovered when
- the shell terminates.
-
- 8. Fixed a bug in the assembler that was found by Bill Muench. It
- seems there was code in the assembler to allow a register
- indirect operation without having to specify the index value if
- the offset was 0. Unfortunately the way the assembler was
- checking for the stack depth change, didn't work, and you
- always had to specify the index for the assembler to work. The
- usless code to test the stack depth has been removed. The
- local label array which defaults to a size of 32 labels, has
- been modified to allow adjusting the number of local labels at
- runtime. Normally you would not need to do this, but it seems
- Robert Smith needed HUNDREDS OF LABELS for some reason. If you
- create a new array of B/LLAB times the number of labels you
- need bytes, and plug the address of the array into the VALUE
- LLAB[], then change the VALUE MAX-LLABS to the new maximum, you
- can use however many local labels you might need.
-
- 9. Added a VALUE to VIDEO.SEQ called MCROWS. If you have problems
- with your cursor disappearing on an EGA or other video card,
- you can change the value of MCROWS in the F-PC.CFG file to a
- smaller number, and thus get your cursor to re-appear. MCROWS
- stands for "Maximum Cursor ROWS", and is used at boot time to
- limit the number of cursor rows used when changing the cursor
- size in the word BIG-CURSOR.
-
- 10. Changed the default for headerless words to FALSE. F-PC will
- normally be shipped with all headers present; the EXTEND.BAT
- word will extend the system will all headers present. The
- EXTENDA.BAT file has been deleted, and has been replaced with
- EXTENDH.BAT for headerless extension. I and several people I
- have talked to have run into problems because many words in
- F-PC 2.25 were headerless, so the default now is to have the
- headerless mechanism present, but turned off.
-
- 11. Added CLOSEALL, to make it easy to close all open files. Also
- modified the too many files open message to suggest using
- CLOSEALL to remedy the problem. Also modified SEQDOWN to clip
- the VALUE SEQHANDLE to be within the valid range of the handle
- stack. Some programs may change SEQHANDLE to point to some
- other handle; this protects us from crashing if this has been
- done and not restored.
-
- 12. Fixed minor bug in >VIEWFILE, that was preventing view from
- working on the names of files in the FILES directory. Also
- adjusted 1FILE and FILES_SET so they use HERE+1000 rather than
- HERE+500, so they would not conflict spacewise with WORDS.
- Added a new utility called ID, that works like WORDS, but
- displays the first line of the source file for each matching
- word. The line is preceeded by the word name so you can easily
- sort the file in the editor.
-
- 13. *** ****** BUG FIX, for possible SERIOUS error condition!! ******
- In the routine that writes edited text to disk, there is a
- routine called FLUSHWRITE. This word is supposed to return a
- boolean flag FALSE if the write was successful, but in the
- release version of F-PC, it would only return a flag if there
- was text that needed to be written. If the amount of text to be
- written happened to have been divisible by the write buffer
- size, then FLUSHWRITE would not have had any text to write, and
- would not have returned a flag, causing unpredictable results.
- Usually a crash back to DOS, but sometimes a system HANG.
- FORTUNATELY the data being edited was secure, having already
- been written to disk and the file closed, and the bug would
- ONLY show it self in one (1) out of a thousand edits, since the
- write buffer size was 1k. FIXED This bug was also affecting
- the Z editor.
-
- 14. Fixed bug in LINEEDITOR: it was pulling in text from the right
- when you press backspace even when in OVERTYPE mode mode. It
- should have simply been erasing the character to the left of
- the cursor and left the line length alone.
-
- 15. Added Window type Pulldown stack: try pressing BOTH SHIFT KEYS
- together when there is something on the stack. See the source
- in the file WINSTACK.SEQ.
-
- 16. Added Word HELP within the editor: position the cursor on a
- word while editing a file, and press Alt-H. A HELP and VIEW
- window will pop up, giving you information about the word the
- cursor is positoned on. You can use the arrow keys and PgUp,
- PgDn to move through the source file. Pressing Enter copies the
- top visible source file line to the Cut/Copy/Paste file and
- moves down to the next source line. Alt-V can then be used to
- insert the lines that were copied back into the file you are
- editing. ESC returns to the edit. VERY HANDY at those times
- when you know what word to use, but can't remember how it is
- used exactly.
- 17. *** Corrected the sensitivity of F-PC to think a file terminated
- with a ^Z was an error. It now scans the file end on loading
- for ^Z's, and changes them to blanks. Also if any line of a
- file is not terminated with a CRLF, F-PC won't just stuff two
- blanks at the line end anyway.
-
- 18. Screen wouldn't clear in SLOW mode. Fixed by adding a BIOS call
- to clear the screen when DARK was used in SLOW mode rather than
- using the fill memory routine in both SLOW and FAST.
-
- 19. Added Glen Haydon's { } tool to F-PC, allowing a file to
- contain comments with imbeded source rather than the other way
- around. See the file BRACES.SEQ for more information.
-
- 20. Adjusted the file load mechanism so the contents of the deferred
- word RUN is saved before and restored after the load of a file.
- This allows Glen's { } tool to not terminate a file with { and
- still function properly.
-
- 21. *** 03/27/89 ** THIS CHANGE REVERSED IN 102 **
- Changed the name of F-PC to F-TZ to make Dr. Ting happy. He
- thinks there will be confusion if I send out any versions of
- F-PC that are not exactly version 2.25.
-
- 22. Removed the user tools from the system disk. From now on these
- will be an extra item available on a seperate disk.
-
- 23. Modified word help in the editor. It now consists of three
- commands, Alt-E, Alt-B, and Alt-H, used as follows:
-
- Alt-E Nest and EDIT the file containing the word
- under the cursor.
-
- Alt-B Nest and BROWSE the file containing the word
- under the cursor. No changes can be made.
-
- Alt-H Nest and BROWSE the file containing the HELP
- for the word under the cursor. No changes can
- be made.
-
- These EDITOR commands are complemented with new commands at the
- FORTH command level:
-
- REPAIR <name> Starts Editing the file containing
- E <name> <name>.
-
- BROWSE <name> Starts browsing/viewing a file
- VIEW <name> containing <name>.
- B <name>
- V <name>
-
- HELP <name> Starts browsing the help file for
- H <name> <name>.
-
- When in BROWSE mode, no changes can be made to the file, but
- you can still copy sections out to the TEMP.SEQ file for
- insertion into the file you were editing.
-
- The above commands used in the editor actually save the
- current edit context, and nest into a new edit. A "+1" to "+5"
- will appear in the upper right hand corner of the screen to
- help you remember how deeply you are nested. When you quit an
- edit, you will pop back one level to the previous file you were
- editing, with the cursor in the same place where you left off.
- Changes to a file are automatically saved when you nest edits.
-
- 24. *** In line with the previous changes, I have added a sort of Hyper
- text mechanism. Thanks to George Hawkins for the inspiration for
- this feature. A word \HYPER has been added that is used to start a
- hyper text file. Within the file is ordinary text, as well as a
- marker to signify a destination for a hyper text link. The marker
- is then placed at the source where you want a branch to occur.
- While this may not be a clear explanation, you can look at the
- editor help file for a good example of how these linkages work.
- Just press F1 whenever you are using the SED editor.
-
- These linkages can be setup in any file, and are made available
- when the hyper text file is compiled on F-PC. Now you don't have
- to be concerned about space, as only the markers take up room in
- the dictionary, and then only for the header and NOOP CFA. All
- hyper words are placed in the HYPER| vocabulary which is always
- searched first when a browse (Alt-B) command is performed.
-
- 25. *** 04/10/89
- Completed first pass a mouse support for F-PC. The mouse can now be
- used for many things. At the Forth command level, you can use the
- mouse and left button to position the cursor on the current command
- line being edited. The right button is the same as ESC, and
- enables and disables the menubar. When the menu is enabled, you
- can use the left button to pull down menus like any other program
- with pull down menus and mouse support (press and drag).
-
- The mouse is also available while in the editor for cursor
- position adjustments, etc.
-
- Mouse support costs about 3k of memory, and is optional. If you
- don't want mouse support, just don't load the files MOUSE.SEQ, and
- MOUSEY.SEQ.
-
- You can add mouse support to your programs by writing a button
- driver. Look at the file MOUSEY.SEQ for some examples of button
- drivers. A button driver is required for each "MODE" in your
- program, typically involving a test for where the mouse is on the
- screen, and then the performance of a function. The mouse button
- can also return keystrokes as if they were typed on the keyboard.
-
- 26. 04/11/89
- Deleted the word XFDOS from KERNEL2.SEQ. It was only used by
- MEMSET, which has been replaced with the code word SETBLOCK which
- was being loaded at extend time, but has been moved into
- KERNEL2.SEQ. For those of you using XFDOS, you will have to copy
- the XFDOS definition out of your existing systems kernel file and
- load the code definition on top of F-PC.
-
- 27. Un-wound several CODE words that were calling sections of other
- CODE words. This costs a few more bytes, but facilitates testing I
- am doing.
-
- 28. Modified Meta Compiler to allow local labels to work. It seems the
- new local label mechanism was not compatible with the meta
- compiler, and has thus been modified to make it compatible. This
- also resulted in some small changes to PASM.SEQ.
-
- 29. 04/12/89
- Found and stomped on an insidious bug in %FIND. The instruction
- sequence:
-
- MOV PRIOR # 0
-
- should read
-
- MOV PRIOR # 0 WORD
-
- Under VERY RARE conditions (i.e. a vocabulary on a 256 byte
- boundry), %FIND would not be able to find words in a particular
- vocabulary. This cost me a WHOLE DAY to find. This bug is also in
- all earlier versions of F-PC.
-
- 30. *** 04/13/89
- Corrected another condition that has been present since the
- beginning of my sequential file editor design. Horizontal
- scrolling is now being done a single character at a time rather
- than the half screen scroll I used to use. The half screen scroll
- was intended to minimize whole screen re-displays, but since I can
- re-display the entire screen 10 times a second on an XT class
- machine, there is no real reason for the half screen scroll. This
- new way of scrolling is much better. Mouse support has also been
- added for horizontal scrolling. Keyboard support for horizontal
- scrolling is done with SHIFT SPACE to scroll RIGHT, and ALT SPACE
- to scroll LEFT. This is as yet not documented any other place.
-
- 31. 04/18/89
- I have reworked the hypertext mechanism to remove the link
- destinations from the dictionary. I got up to about 80 links, and
- they were consuming about 2k of dictionary space. Since I want to
- be able to handle many more (hundreds of) links, the dictionary
- overhead seemed excessive. I moved the links into a file called
- HYPER.NDX, which is compiled by the batch file MAKINDEX.BAT. The
- index file consists of link names followed by line number offset
- into the target file. The filenames are included in the same
- file, as the first line of a group of links for that file. The
- filename is flagged by a graphic character 249 as the first
- character in the line. As you would expect there is an increase
- in the time required to find a link when the word being found is
- in the index file. The tests I have done indicate I can find a
- single link in a 1000 link file in less than 1/2 second on an 8
- MHz AT. On an XT class machine or from floppy, it will take
- longer.
-
- 32. I have finally standardized on one way of using the variable
- LOADLINE. It used to be used to hold either a line number, or the
- offset into a file, depending on where it was being used. This
- caused some problems, and has been changed. LOADLINE always
- contains the line number of the most recent line read from
- LINEREAD, or the line number of the most recent edit line when you
- leave the editor.
-
- 33. *** The meanings of some of the F83 words have been modified. The
- Editor/Browser provides two basic modes, Edit-Change, and
- View-N0-Change. A number of the familear F83 words can be used to
- invoke either the editor or the browser depending on the word used.
- Here is a list of words and their function:
-
- VIEW <name> Enter browser on definition <name>.
-
- Aliases for VIEW are: BROWSE V B L
-
- ED <name> Enter the editor on definition <name>.
-
- Alias for ED is: E
-
- HELP <name> Enter browser on help for <name>.
-
- Alias for HELP is: H
-
- n1 EDIT Enter editor on current file at line n1.
-
- n1 LIST Enter browser on current file at line n1.
-
- The F10 key can be used to leave any of the above browse or edit
- modes.
-
- 34. 04/18/89 Evening
- Added VIEWFROM and an alias VF to allow viewing very large files
- from a specified starting line number. It is used in the form:
-
- OPEN FPCGLOS.TXT A very large file
- 300 VIEWFROM <enter>
-
- Skips the first 300 lines of the file and starts reading at line
- 300. This is useful for examining very large files.
-
- You should of course be carful not to switch to edit mode and
- change such a file lest it get written back to the original file
- on disk. You can use Alt-W to write the read portion of the file
- out to a new filename.
-
- 35. 04/22/89
- Adjusted KERNEL4.SEQ to save and restore the status of the CONTROL
- BREAK flag on entry and exit. F-PC was setting the flag, and
- leaving it set when you leave Forth, which of course could confuse
- some other programs.
-
- 36. *** Adjusted COLD so it won't crash if you execute it again from the
- keyboard. Its initialization is only done once, after which it
- performs BOOT then QUIT.
-
- 37. *** 04/24/89
- Much thanks to Robert Berkey, who has lately been working with
- F-PC. He gave me a multi-page list of small bug fixes, cleanups
- and optimizations, most of which I have installed. Here is a list
- of the effected areas:
-
- Adjusted decompiler SEE to handle the following words
- properly:
-
- ['] IS CASE OF ENDOF ENDCASE
-
- Changed name of 2+! to D+!.
-
- Added save and restore of BP and SI to BIOS level INT's.
-
- Added CODE optimizations to the following words:
-
- 0< 0= 0<> 0> = <> U< U> ?DUP *D
- WITHIN BETWEEN DUP>R ?BRANCH -TRAILING
- OVER 2DUP 3DUP 2OVER PICK
-
- Added the following new CODE words:
-
- PLUCK RPICK DOENDOF DOENDCASE
-
- VFIND was added to make it easy to search a particular
- vocabulary for a word.
-
- Adjusted (KEY) so it can return a null ^@ character.
-
- Fixed bug in FLOOK and all words that use FALLOF.
-
- Fixed bug in printer typing. If you simply typed
- "1 PRINTING !" F-PC would seem to go crazy and print
- a lot of junk to the printer. This was caused by the
- command line editor. It now switches to the old
- version of expect if it detects the printer being
- turned on.
-
- Again thanks to Bob for the above modifications. They have been
- individually installed and tested.
-
- 38. 04/26/89
- I discovered that KEY? is somewhat slower now that mouse support
- has been added. This resulted in a slower search in the editor
- because I was checking the keyboard on every line searched. I have
- changed it to only check the keyboard once every 128 lines are
- searched. This seems to speed the search up to normal again.
-
- 39. I discovered that when you were entering a string to do a search
- while in the editor, you could press Alt-O and the file selection
- box would popup just as if you were at the Forth command level.
- This is clearly a bug, and in fact caused the editor to crash back
- to Forth when I canceled the selection. The problem stems from
- the table of functions assigned to function keys when you are
- using the line editor. I resolved the problem by duplicating the
- line editor's function key table, and installing the menu alternate
- keys only in the table being used by XEXPECT.
-
- 40. 04/27/89
- Added mouse MARK to the editor. If you position the mouse at an
- upper line, press the left button and drag the mouse down, lines
- will be shown in reverse video indicating they are marked for a
- subsequent cut or copy operation with Alt-X or Alt-C.
-
- 41. 04/29/89
- Added page up and down to the screen mouse support.
-
- Minor cleanup in the file PRINTING.SEQ adjusted the CUT command to
- properly cut all of the lines specified even if it's the last line
- in the file. Several other minor fixes associated with this in the
- file SEDITOR.SEQ. It is now not possible to write a zero length
- file, you will always get at least two characters even if you
- delete all of the lines in the file. It seems you used to be able
- to delete all lines in a file, causing WRITE.FILE to try to write a
- negative size file which translated to an infinitely large file.
- FIXED
-
- Added mouse support to the browse prompt box that is shown when you
- try to switch to browse mode from edit mode and changes have been
- made. (ESC-A-B)
-
- 42. 05/01/89 version 3.x12
- Added a new menu to the SED editor, called HYPER. It contains all
- of the hypertext link and unlink words. It also contains the two
- new commands to create source and destination hyper links Alt-F3
- for a source link, and Alt-F5 for a destination link. Press ESC-Y
- to see the hYper menu.
-
- 43. If you print a file while in browse mode, hypertext destination
- links will not be printed. They will be blanked as they are shown
- on the screen.
-
- 44. *** Evening
- Added the ability in SED to toggle between the top two files on the
- file stack. This is done with Alt-F1. Not as fast as editing two
- files in memory since you have to reload a file when you switch,
- but it is very convenient and reasonably fast.
-
- 45. 05/02/89 morning before work
- Enhanced the above mechanism, to rotate through whatever files
- have been opened. Again you use Alt-F1, which works very well. I
- now also want to add a file pick mechanism to allow selection of
- one of the files already opened from a list in a window.
-
- 46. Add the file pick mechanism mentioned above, called Flip as
- Shift-F1. It pops up a window and allows you to select any one of
- the files in the file stack, which is then brought to the top. The
- FILE menu has been adjusted to take into account the flip
- mechanism: you now can leave all edits with a single command
- rather than unlinking to level one first.
-
- 47. *** 05/04/89
- Robert Smith has completed going through the source and help files
- for KERNEL1.SEQ and KERNEL2.SEQ. He has added to and corrected the
- comments. Thank you BOB!
-
- Adjusted the decompiler so it will scroll the upper portion of the
- screen when it is used by the debugger to keep the area of the
- definition visible on the screen. This was VERY difficult to do
- and in fact is not yet perfected. It is however functional, and
- useful.
-
- The rotate through open files command Alt-F1 now has an oposite
- function to rotate backwards through the list. The key combination
- is Shift-Alt-F1.
-
- 48. *** 05/10/89
- Generalized the following list of VALUE operators:
-
- !> =: @> SAVE> SAVE!> RESTORE>
-
- These operators now are smart about their use on USER variables
- and deferred words. They will work properly when used on either
- normal variables values and deferred words, or their USER
- equivalents.
-
- 49. *** Went through and documented SAVEREST.SEQ, SAVEREST.HLP,
- EQUCOLON.SEQ, EQUCOLON.HLP, KERNEL4.SEQ and KERNEL4.HLP.
-
- 50. LARGE SCREEN INFORMATION
- I have experimented with the CornerStone full-page display, and it
- has some interesting peculiarities. To get it to work with F-PC
- in FAST mode, you will have to include the following commands in
- your F-PC.CFG file:
-
- $B001 =: VIDEO-SEG
- 7 =: VMODE-VAR
- >MONO
- FAST
-
- The video bios for the CornerStone monitor is not well behaved. As
- you can see it does not use a standard start of screen address.
-
- 51. 05/14/89
- Made a very small but useful change to the editor user interface:
- the Control PgUp and Control PgDn keys now scroll the screen up
- and down respectively like Control W and Control Z. They were
- the same as Control Home and Control End which was a useless
- duplication.
-
- 52. *** 05/17/89 ** THIS CHANGE REVERSED IN Nr. 103 **
- Modified DOENDCASE this date to perform a DROP so it does not have
- to be done manually. This requires you change ALL of your uses of
- this CASE statment to delete the DROPs you now have before ENDCASE,
- or YOUR CODE WON'T WORK.
-
- Also installed a warning into ENDCASE for the next few releases to
- help make this obvious to the user.
-
- This change to ENDCASE resulted in changes to several files
- including the PASM.SEQ file.
-
- 53. 05/19/89
- Fixed a bug in $>EXT : it was always assuming a three (3) character
- extension string was being passed, and if a shorter string was
- passed, a garbage character would be appended to the handle.
- 3
- 54. *** 05/23/89
- Added TONE for sound generation. Made BEEP a deferred word, and
- defined NEWBEEP to use TONE to do BEEP. The value BEEPFREQ
- controls the frequency of BEEP, and value BEEPDURATION sets the
- duration of BEEP in tenths of a second.
-
- TONE takes frequency and duration and can be used to generate all
- of the various beeps a PC is expected to generate.
-
- 55. Minor cleanup in XEXPECT: it now reacts more as expected when you
- use up and down arrow to step through the line list. Also
- increased the line stac047epth to twelve (12) lines from six (6).
-
- 56. 05/24/89
- Fixed bug in PREPEND.PATH. It was removing the specified drive
- designator, and was not restoring it under all conditions.
-
- Fixed bug in LINEEDITOR. Some variables were being used on each
- invocation, and were preventing LINEDITOR from being re-enterant.
- LINEEDITOR is still not re-entrant, but it can be nested if you
- clear out its buffer on exit from the nested edit. For my
- purposes this is adequate.
-
- 57. *** Added another feature! ." now recognizes imbeded escape
- sequences. The leadin is "\" as in "C". The functions available
- are:
-
- 0 Normal display attributes
- 1 to 8 Attributes 1 through 8
- :xx Delay xx tenths of a second
- < Save the current cursor position (nonest)
- > Restore the previous cursor position (nonest)
- @xxyy Move cursor to xx,yy
- B Beep the speaker
- D Dark (clear screen)
- N Newline (CRLF)
- R Select Reverse video
- Sxx Display xx spaces
- T Perform a Tab
- \ Display a \ character
- ` Display a " character
- | Display a linefeed character
-
- See the file PERTYPE.SEQ for additional information.
-
- 58. *** 05/26/89
- modified the way MARK works in the editor. Selecting F3-MARK now
- enters a mode where you may move the cursor up and down to select
- lines and those lines selected will be shown in reverse video.
- Pressing F3 again ends the mark operation, leaving the selected
- lines in reverse video until a CUT or COPY operation is done, or F3
- is pressed again to clear the mark. This seems much more intuitive
- than the way it worked before. Top status line changes to tell you
- you are in MARK mode after the first F3 press.
-
- 59. 05/27/89
- Corrected OK bug per George Hawkins, It should be doing a test for
- ?FILEOPEN before actually trying to load. It does now. Thank you
- George!
-
- 60. Implemented MANY of Mike Sperl's kernel enhancements. Many clock
- cycles were saved in several places. Thank you!
-
- 61. Thank you! Tim Smith for the bug fix in TURNKEY. It may not be the
- only bug, but you have to fix them as you find them.
-
- 62. *** Fixed limitation in SPACES. It was limited to outputing 132 spaces
- before quiting; that limitation has been increased to 32767
- spaces. Thank you Zafar Essak!
-
- 63. 05/30/89
- Re-organized things a bit: moved EDITSET.SEQ to the end of the
- editor load, so it can be used to set all of the editor keys.
- Removed the FNSET and CTLSET operations from SEDWHELP, HELPLINK,
- and HTYPE and moved them into EDITSET where they belong.
-
- EDITSET is now up to date and can be examined to see ALL of the
- editor commands.
-
- 64. 05/31/89
- Added listing capability to the assembler. The HEX addresses and
- generated code are displayed at the left of the listed output. The
- words to control generation of the listing file are:
-
- /LISTING Enable listing output
- /NOLISTING Disable listing output
-
- The listing normally goes to the display, but can be redirected to
- the printer with "PRINT", or to the browser with ">B".
-
- 65. Adjusted copyline (F5) in the editor to bump the end marked line if
- the start markline is equal to the end line. This keeps at least
- one marked line visible as long as a mark is set.
-
- 66. *** Robert Smith updated the KERNEL3.HLP documentation file. Thank you
- Bob.
-
- 67. Adjusted all places that were changing the deferred word RUN. They
- now save and restore its function rather than just setting it back
- to <RUN>.
-
- 68. Version 3.X18 06/01/89
- 0u
- 69. 06/01/89
- Fixed a bug in the LINEDELETE function in the editor. It was
- setting the current displayed file length to "2" when you deleted
- the last line. This was not correct, but was cosmetic, not
- affecting the actual file length.
-
- 70. Adjusted >BROWSE to preserve the current BASE and use DECIMAL when
- displaying the status box number.
-
- 71. Minor optimization in %FIND.
-
- 72. Adjusted editor so the values LAST.TEXTLINE and LAST.TEXTCOL are
- set only at program startup, and not at editor space allocation
- time. This will allow any manual window size adjustments to remain
- as they are set, and not switch to full screen after a DOS
- command.
-
- 73. 06/02/89
- Added \TYPE to PERTYPE to allow typing interpreted strings from
- CODE space.
-
- 74. 06/05/89
- Added two new functions to the editor. The normal Control-O open
- file function has been extended to allow Shift-Control-O, which
- will copy the word under the cursor into the open file buffer
- allowing you to easily open the filename under the cursor. The
- search function has been enhanced with the addition of Control-F6,
- which copies the word under the cursor to the search buffer before
- prompting for a string to search for, allowing you to easily search
- for another occurance of the word under the cursor.
-
- 75. 06/06/89
- For those of you that NEED LOTS OF MEMORY, I have added a new file
- to ZIMMER.ZIP. It's called EMMHEADS.SEQ, and it will setup F-PC
- to use expanded memory for its HEADS. This frees up about 64k of
- NORMAL RAM for other things. It is even smart enough to only use
- expanded memory for heads if there is expanded memory available.
- So far I have not put this in the KERNEL, aren't you glad? It does
- cost about 2k in .EXE file size.
-
- 76. 06/09/89
- Corrected a small bug in TAB expand: it now saves the contents of
- the search buffer before setting the search string to a TAB
- character. The search buffer is later restored after tab expansion
- is complete.
-
- 77. 06/16/89
- Corrected a bug in %USAVE>. It was not saving the USER variable
- properly.
-
- 78. 06/19/89
- Corrected a bug in COMP. It was restoring ES on the wrong side of
- a conditional, such that if you ever passed null length compare
- string to COMP, it would set ES to JUNK from the stack, most
- likely resulting in a CRASH!! It is amazing I never ran into a
- problem with this, but at least it is now fixed.
-
- 79. 06/26/89
- Corrected a bug in the assembler, The long forward branch L$ and
- L$: were being resolved with a "!", rather than a store to the
- target code space. This was preventing my new target compiler
- from resolving the initialization branch properly. Added T! to the
- list of assembler deferred target words, and modified the L$: to
- resolve with T!. Modified the target compiler to set "T!" to
- "!-T".
-
- 80. 06/28/89
- Kept running into the problem where information going to the
- printer also shows up on the screen. The reason this happens is
- that (TYPE) was coded that way. I say was, because it is no longer
- coded that way. Cleaned up (TYPE), so it tests PRINTING, and
- either calls PRNTYPE, or CONTYPE for printer, and console. This
- change will no doubt bother some people, but it is much cleaner to
- have print control output to one or the other, and not both. This
- is especially true when you start trying to use printing with an
- application which has a screen oriented user interface, and still
- needs to do printing.
-
- 82. 06/29/89
- Added ARRAY and AT? to F-PC. While building my new target compiler
- I needed a defining word to make arrays, so the target compiler
- could be setup to only include an array if it was used. So I added
- ARRAY to the target compiler. Then I realized I would need ARRAY
- in Forth so I could debug the programs written for the target
- compiler; thus the addition. Ditto for AT?.
-
- 83. 07/05/89
- Added MANY changes from Robert Berkey, including but not limited to
- the following words:
-
- &> GOTO JOIN ?DROP COUNTL +XSEG MORE?
-
- VIDEO-TYPEL QTYPEL $.L $.R DU< SAVECURSOR
-
- RESTCURSOR
-
- Restructured the type words somewhat. The low level type word used
- to use a variable called TYPESEG to control where typing occured
- from. This caused TYPESEG to be saved and restored in several places
- to prevent it being set wrong in one place versus another. Overall
- this was a crude way to control typing. Bob adjusted things
- somewhat so the low level word was a long type "TYPEL". The TYPE
- word ALWAYS types from the CODE SEGMENT, and if you need to type
- from some other segment, you use TYPEL or QTYPEL. Overall this is
- much better than what I had before, and the code is cleaner to
- boot.
-
- Bob has also made a number of changes to the debugger, many of
- which I liked very much. But when I tried to integrate his debugger
- with my system, I ran into many problems due to other changes he
- had made that I did not want to include. SOOO.. after looking at
- the debugger code, I decided to update it with Bob's features and a
- few more along with a much needed cleanup. The debugger now deals
- well with deferred words, does words etc. and you can even unnest
- above where you entered the debugger. Added is the ability to
- debug through EXECUTE, PERFORM, and the EXEC: structure. Overall
- after the cleanup, I think the debugger actually got smaller.
-
- 84. 07/06/89
- Modified F-PC so all file opens are done READ-ONLY. This allows
- examination of read only files in the editor. Since writes are
- always done with HCREATE which makes the file ready for writing,
- there is no problem with this unless you plan to append to a file in
- which case you need to use READ-WRITE before the open to allow
- writing to an existing file. The words added are READ-ONLY,
- WRITE-ONLY, and READ-WRITE.
-
- 85. 07/06/89
- Modified the software floating point to be compatible with the
- 3.X22 version of F-PC. Since %NUMBER has been moved into assembly,
- I needed to make the lower level number handlers for HEX, '(tick),
- and ^(control) deferred so they could be changed by floating point
- in a way that was compatible. Relatively minor mods to SFLOAT3.SEQ
- to make it work.
-
- 86. 07/08/89
- Added Robert Berkey's visual vocabulary stack order to the status
- bar. The vocabulary order is now displayed at the top right of the
- screen, just below the normal status line in a vertical column.
- CURRENT is shown on line one with attribute three, and the CONTEXT
- list is shown below it in attribute one, down to ROOT. Very
- useful! thank you Robert.
-
- 87. 07/12/89
- Modified the line editor to use a trailing attribute called
- ">EDATTRIB" when displaying the portion of the edit line after the
- text currently being edited. The purpose of this is to allow you
- to see how much text is really in the buffer, and where it ends.
- The >EDATTRIB is currently set to >ATTRIB3 while in the editor,
- and >NORM while at the command line.
-
- 88. 07/12/89
- Added a control to the change 84. The word DEF-RWMODE now allows
- you to specify what the default read/write mode will be for file
- open operations. It is used as follows:
-
- READ-WRITE DEF-RWMODE or READ-ONLY DEF-RWMODE
-
- F-PC still defaults to using READ-ONLY. If you need READ-WRITE,
- you will need to use the above command.
-
- 89. 07/12/89 Version change to 3.X23
-
- 90. 07/17/89
- Modified the editor so that it opens READ ONLY files in BROWSE
- mode.
-
- 91. 07/17/89
- Modified editor so F10 doesn't simply drop you out of the editor
- when you are only nested one level. It pops up the OPEN box, to
- give you the opportunity to open another file. If you then press
- ESC, you will leave the editor. This is a significant change in
- that many people will HATE it because it is a change, but when you
- get used to it, it will help prevent accidental exits. The change
- was also carried over to the Z editor.
-
- 92. 08/11/89
- I'm back from vacation, had a wonderful time. We went to Magic
- Mountain, and several other colorful places. Didn't make a single
- change while I was away. Amazing!
-
- 93. 08/11/89
- Fixed left margin printing default so it is not reset each time
- you open and edit a file.
-
- 94. 08/15/89
- Adjusted CTLSET and FNSET so that they don't abort if the word
- they are trying to install in a function table is not defined.
- They simply display a warning message stating the problem and
- continue. This allows some functions to be removed from the
- compile list (saving space) without having to change EDITSET.SEQ.
-
- 95. 08/15/89 **** Major version change 3.30 ****
- Removed the experimental warning message from the system: am
- preparing for the next major release of F-PC!!
-
- 96. 08/19/89
- Fixed a bug reported by Mike Mayo. I had the value WITHPATH set
- to TRUE, which caused filenames to be saved in the FILES
- vocabulary with their full paths included. He was working in a
- three level nested directory that caused the filename with path
- to extend to 35 characters. This caused F-PC to truncate his
- filename to 3 characters (sort of a MOD function). No warning was
- given, and VIEW would not work. It is also likely head space was
- damaged by the long name, since >NAME after that would not work
- reliabily. This bug was fixed by doing two things:
-
- 1. Setting WITHPATH to OFF. Don't need path anyway since
- we have FPATH to help us find files.
- 2. Adding a warning to "HEADER to prevent creation of names
- longer than 31 characters.
-
- 97. 08/25/89
- Fixed a bug reported by Mike Mayo. The word (FNUMBER?) in the
- software floating point package was not returning a double number
- zero when a number conversion failed. This caused problems in the
- editor when trying to browse words that had been indexed with the
- NEWZ editor's index compiler. Fixed (FNUMBER?) so it returns a
- FALSE flag, and a double number zero on number conversion failure,
- and modified the editor to use NUMBER? rather than %NUMBER for its
- browse line number conversion.
-
- 98. 09/01/89
- Added a new feature to the debugger at the request of Mike Mayo.
- "Skip To" Allows you to visually select a place further forward in
- a definition while in the debugger, and have the word you are
- debugging continue at high speed until the place you selected is
- reached. Debugging then continues with the single stepper. Skip To
- is enabled with "S" in the debugger, then you use "+" and "-" to
- step forward or backward through the definition. Press ESC to
- cancel skip, or Enter to accept the skip.
-
- 99. 09/05/89
- Finally fixed the bug in the file selection box that was
- preventing the selection of a file with no extension. It used to
- try to create a new file: now it will let you pick such a file.
-
- 100. 09/07/89
- Generalized the color control a bit, and added a new word
- COLORSET. It causes the current screen colors to become the
- default screen colors as "NORMVAL". In other words it allow you to
- set your screen color preferences so they will be maintained if
- you do an FSAVE. Try the following:
-
- LTGRAY >BG BLUE >FG COLORSET <Enter>
-
- If you now save the system, you will have blue letters on a
- light gray background until you change it again.
-
- 101. 09/13/89 **** Version 3.33 ****
- Added -SCAN to the file SCAN.SEQ. I needed this word in the target
- compiler, and so I thought I would add it to the F-PC ystem as
- well.
-
- 102. 09/21/89 **** FPC Version 3.34 ****
- Renamed all occurances of F-TZ and FTZ to F-PC and FPC.
-
- 102.1 09/22/89
- Bug fix in FPATH+. Mike Mayo found you could not put FPATH+ on a
- line with other commands: it would gobble up the entire line
- following FPATH+. FIXED
-
- 103. 09/26/89 **** FPC Version 3.35 ****
- Modified ENDCASE back to be the same as FPC 2.25. This per the
- request of the FPC working group. ENDCASE no longer does the
- DROP automatically.
-
- Adjusted the LIST size up about 8k, so about 34k of COLON
- definition space is available in the un-installed F-PC.EXE file.
-
- 104. 10/16/89 **** FPC Version 3.36 ****
- Have been working on the glossary. It is not completely up to
- date, but it is getting there.
-
- 105. 10/22/89 **** FPC Version 3.50 ****
- Official release version.
-
- 106. 05/25/90 **** FPC Version 3.51 ****
- Started a minor update, to incorporate most if not all of the
- known bug fixes to FPC 3.50.
-
- Added HCRITICA.SEQ from Mike Christopher, to make DOS return a
- FAIL condition if a critical error occurs. This prevents the
- user from issuing an Abort, when we have not unhooked the
- interrupt vectors we hooked in during startup.
-
- The bug fixes repaired include the VIEW fix by Robert Patten,
- all of the bugs listed with repairs in FPC350.BUG, and all of
- the locations in FPC that were using the LOOPNZ assembly word.
- These include UPPER, ?UPPERCASE, SEXE and LARGEST.
-
- 107. 07/02/90
- Adjusted the max line number allowed while editing a file to be
- increased by 50 percent, to allow files with very short lines
- to be edited.
-
- Modified PRINTING.SEQ to update the status line while printing,
- every 8 lines, so the user will be able to tell how much of the
- print process has been done so far.
-
- Added +PLACE a nice compliment to PLACE, it appends a string to
- an exsiting counted string in memory.
-
- Made some adjustments to the file load mechanism. I have seen
- some re-occuring problems with the file load words, that would
- cause them to return from a nested load to the wrong place in a
- file. I hope I have solved these problems.
-
- Fixed a bug in the editor in <RED>. It was supposed to save and
- restore TYPEL, but it was restoring TYPE instead. FIXED
-
- 108. 07/03/90 **** FPC Version 3.52 ****
- Fixed the Alt-W bug. The SED or Z editors could trash your
- files if you did an Alt-W when nested down two or more levels.
- This has been fixed. All I had to do was turn off the NEWFL
- flag when backing out a level.
-
- 109. 07/05/90 **** FPC Version 3.53 ****
- Added FPCVER#, a constant that return the current version
- scaled by 100 of F-PC, it currently returns 353. Can be used to
- adjust programs for version compatibility. Also added a file
- 350COMPAT.SEQ to make F-PC 3.50 compatible with the current
- release. This file contains the additional words added to F-PC,
- not any of the bug fixes.
-
- 110. 07/06/90
- After reading Peter Midnights FORML paper again, I have added a
- key to the editor "Alt-8" that toggles on and off a display of
- the name of the function to be executed for each editor key
- pressed while editing. The function name is shown in the upper
- left corner for 4 tenths of a second. This doesn't add all the
- functionality Peter implimented, but it does make it possible
- to explore how the editor works if you are so inclined.
-
- 111. 07/13/90
- Added an option, LEAVEPROMPTON and LEAVEPROMPTOFF allow you to
- specify if you want to be asked for a file to edit on leaving
- the editor. The default is NO. This is a change from all
- previous versions where the default was YES.
-
- Also added Robert Berkey's favorite function to the menus. When
- Bob fixed the view bug, he also add a special editor command to
- show where a word you have the cursor on was loaded from. That
- is show the place where the FLOAD occured that caused this word
- to be loaded. the command isn Ctrl-F9. It has been added to the
- "hYper" menu.
-
- 112. 07/25/90 **** FPC Version 3.54 ****
- Added the top F2 and bottom F4 of screen functions to the EDIT
- menu. Also added top middle Alt-F2 and bottom middle Alt-F4
- screen functions to SED as well as to the EDIT menu. Changed
- Page up and down so they no longer automatically move the
- cursor to line 6 when they are performed. After having it like
- that for a year, I can't take it any more. SED now leaves the
- cursor on whatever line it was on before doing a page up or
- down (unless you hit the beginning or end of the file).
-
- 113. 07/30/90
- Fixed some spelling bugs in WORDS. USER-DEFERED, DEFERED and
- USER-VARIABLE were spelled wrong. Also added COLON.* to work
- along with :.* in listing colon definitions.
-
- Also fixed the longtime bug that converted 'a' as 'A' when
- entered in interpret state. I added the suggested SKIP'C' that
- was shown in the FPC350.BUG file, but I coded it in assembly so
- performance wouldn't be effected.
-
- 114. 11/05/90 **** FPC Version 3.5401 ****
- Fixed a bug in WFL.SEQ, seems it would return the <a1> anyway
- under the conditions where the user pressed Enter on a list of no
- files. FIXED
-
- Modified FPCVER# to be a DOUBLE NUMBER of five digits. .FPCVER#
- then discards the lowest two digits and displays the highest
- three digits as X.XX. You can get the read version number by
- typing "FPCVER# D."
-
- 115. 11/10/90 **** FPC Version 3.5402 *****
- Someone submitted a file called MLOAD.SEQ. It was such a neat
- idea that I had to include it in the system. MLOAD allows you
- to edit a file, mark some lines you want to load (using F3),
- leave the editor, and then press F9 to load the marked lines.
- This is VERY convenient for debugging. Space cost, is about
- 150 bytes.
-
- 116. 02/06/91 **** FPC Version 3.5500 *****
- Reworked FPC to use a new memory management mechanism. This version
- introduces the POINTER concept. A pointer is a word that returns a
- physical memory paragraph number (16bits) to the user when
- executed, after allocating the needed memory if it hasn't already
- been allocated. If a pointer fails to allocate the desired memory,
- then a zero (0) is returned indicating an out of memory condition.
- Pointers are defined as follows:
-
- <double_number_size_in_bytes> POINTER <pointer_name>
-
- 1024. (a double number, note the ".") POINTER XYZ
-
- A small data structure is created to hold the pointer information.
- No space is actually allocated for the pointer until it is first
- used.
-
- memory allocated with pointers is appended to the memory FPC
- already uses in a "heap". Another word "UNPOINTER>" can be used to
- release the memory allocated to a pointer. It is sued as follows:
-
- : release_XYZ ( -- )
- UNPOINTER> XYZ ;
-
- UNPOINTER> can only be used in a definition. If you need to release
- a pointer interactively, use the sequence:
-
- ' XYZ %UNPOINTER <enter>
-
- Not pretty I admit, but normally this operation is done only while
- in a program.
-
- Several words have been added to FPC, to support the new memory
- management system, here is a list:
-
- #PARS holds the number of paragraphs currently allocated.
- PHEAD Variable that points to the head of the pointer
- list.
- UD16/ Unsigned double number divide by 16.
- DPARAGRAPH Convert the double number to a number of
- paragraphs.
- SIZEOF!> Set the size in double bytes of the POINTER
- following. Exmpl: <double_num> SIZEOF!> XYZ
- 0POINTERS System word that clears out all pointers. Don't
- ever use this word in any of your programs.
- CMOVE-PARS
- CMOVE-PARS> Move paragraphs of memory. See their source for
- the syntax of how they are used.
- MAXBLOCK Returns the maximum number of paragrahs that can be
- allocated without getting an allocation error.
-
- All of FPC and TCOM have been modified to work with this new memory
- management system. I recommend you use it as well, rather than the
- old ALLOC and DEALLOC.
-
- Also added .VERSION to display the whole version number including
- the least digits.
-
- 117. 02/12/91 ***** Version 3.5501 *****
- Installed the code from POSTHEX.SEQ into KERNEL2.SEQ. This effects
- "%NUMBER". Now you can use sufixes of H to specify, Hex or B to
- specify Binary. This is in addition to a $ prefix meaning HEX, and
- 'letter' meaning ascii, and ^letter meaning CONTROL. Has no effect
- on your ability to define word names, but if you define a word that
- fits into any of the above catagories, then it will be a function
- rather than a number!
-
- Also added expanded memory support into the kernel. This is in
- preparation for later enhancements that I hope will move most of
- F-PC out of memory into expanded memory when performing a shell to
- DOS.
-
- Also added ".MEM" which tells you how your F-PC memory is being
- used along with the names of the pointers using the memory. The
- last line of .MEM tells how much DOS memory is still available.
-
- 118. 02/13/91
- Installed a new editor status line from John Peters. Editor status
- line now shows current and max values for line, column, page and
- lines. Very nice, thank you John.
-
- Added SELECT to the ZIMMER.ZIP file. SELECT.SEQ is an onscreen
- menu system. Provides automatic handling of many menu functions,
- and gives the user a good interface at the same time. TRY IT!
-
- Added LASERJET.SEQ as a loaded part of F-PC. So F-PC now supports
- either the IBM ProPrinter, or the HP LaserJet/DeskJet family of
- printers.
-
- 119. 02/20/91
- Enhanced .MEM to display the status of expanded memory as well as
- normal DOS type REAL memory.
-
- Fixed some bugs in MULTASK.SEQ, that was preventing the
- multi-tasking data structure from being relocatable. This was
- preventing any application that used multi-tasking from running
- properly unless it was reloaded into exactly the same memory space
- as it was first created. This was NOT GOOD. It is now fixed,
- although there was a small performance penalty due to a runtime
- conversion from absolute to relative and back again on each task
- switch.
-
- 120. 02/25/91 ***** Version 3.5502 *****
-
- 121. 02/27/91
- A new command 'S' under the Alt-O menu in the editor, allows
- editing of files containing TABs. SED will expand the tabs on the
- display, and only expand the tabs in the file of those lines you
- change.
-
- Fixed SED so you can now edit .BAK file. When you select such a
- file, SED switches into NOBACKUP mode, and allows the file to be
- edited. If you make changes and save the file, then the changes are
- saved into the .BAK file. The NOBACKUP mode has also been
- adjusted to not bother .BAK and .$$$ files when you are editing the
- primary source file. This is incase you are editing a primary file,
- and a >BAK file together, and making changes to one, then other or
- both.
-
- 122. 02/28/91
- Added a command to the editor, "Ctrl-\" that displays the current
- memory usage in the computer.
-
- F-PC now moves itself into EXPANDED memory when you shell out to
- DOS if there is enough expanded memory available. If there isn't,
- then is just shells out, and leaves itself in memory. The Expanded
- memory allocated is only allocated while you are shelling out, and
- is then deallocated upon return to F-PC. The file EMMEXEC.SEQ and
- a modified version of EXEC.SEQ make this all possible.
-
- 123. 03/04/91
- Fixed a minor bug in ".FILES". It had an escape sequence in it to
- print 8 spaces followed by a dash ( \s8- ), unfortunately the \s
- escape sequence needs two digits following it, not one so 80 spaces
- were being displayed not 8. Corrected as ( \s08- ) to display 8
- spaces followed by a "-".
-
- While I'm at it, I might as well document the list of escape
- sequences available in "dot quotes":
-
- This utility allows the creation of special ." strings that contain
- imbedded escape sequences to select various display operations.
-
- The leading character is "\", followed by:
-
- 0 Normal display attributes
- 1 to 8 Attributes 1 through 8
- :xx Delay xx tenths of a second
- < Save the current cursor position (not nestable)
- > Restore the previous cursor position (not nestable)
- @xxyy Move cursor to xx,yy
- B Beep the speaker
- D Dark (clear screen)
- N Newline (CRLF)
- R Select Reverse video
- Sxx Display xx spaces
- T Perform a Tab
- \ Display a \ character
- ` Display a " character
- | Display a linefeed character
-
- The performance of this version of ." will be somewhat slower than
- a normal TYPE, as the string must be scanned for the "\" escape
- character.
-
- 124. 03/05/91
- Fixed the bug? in /STRING that was preventing it from extending the
- length of a string when fed a negative number.
-
- Added a variable USE-EMM, and words EMMON and EMMOFF to set it.
- The state of USE-EMM set to FALSE, will cause the word EMM-PRESENT?
- to return a false even if Expanded Memory is present. EMMON is the
- default state of USE-EMM (TRUE).
-
- Added variable USE-DISK, and words DISKON and DISKOFF to set it.
- The state of USE-DISK set to FALSE, will cause F-PC NOT to flush
- itself to DISK when no Expanded memory is available. Setting it to
- DISKON will make F-PC flush itself to disk whenever a SYS command
- is performed. Currently a file "FPCIMAGE.$$$" in the handle
- EXTHNDL is being created to hold the F-PC image during the shell.
- DISKOFF is the default state of USE-DISK (FALSE). EXTHNDL can be
- filled with any "DRIVE:\PATH\FILENAME.EXT", to cause the FPC image
- to be written to any ramdisk or drive desired. the default name
- will be used if no other file is specified. Expanded memory is
- given preference over disk even if DISKON is used, so type EMMOFF
- and DISKON to force F-PC to save its image to disk. On a real disk
- drive, this can take several seconds both for the save, and later
- for the recover. This facility is primarily useful for those
- people that don't have expanded memory, but do have EXTENDED Memory
- that can be changed into a ramdisk. For maximum performance, don't
- let F-PC save its image anywhere, use EMMOFF and DISKOFF (default).
- Note, a disk full error on image save will still cause F-PC to
- perform the shell to DOS, but F-PC will not save itself to disk.
- Also note that F-PC deletes the FPCIMAGE.$$$ file after the shell
- is performed and lastly, FPCIMAGE.$$$ can be almost as large as
- your computers memory (greater than 500k), so be sure you have a
- lot of memory on you EXTHNDL file drive before using DISKON, or
- you will use time and gain no benefit.
-
- 125. 03/06/91
- Added "SWAPFILE" which is followed by a name, and sets the disk
- swapfile drive and name. DISKON is also performed, to cause F-PC to
- swap to disk when a shell is performed.
-
- Added ">HANDLE to take an a1,n1 string rather than a counted string
- and move it into the specified handle.
-
- 126. 03/07/91
- Added words to ZIMMER.ZIP to control blinking background colors,
- and to read and set the border colors. *** MOVED INTO F-PC ***
-
- 127. 03/13/91 ***** Version 3.5503 *****
- Added UBETWEEN and -SKIP to F-PC.
-
- 128. 03/15/91
- Added DOBORDER to <REEDIT> in SEDIT2.SEQ, to assure that a border
- would be shown even if the user types commands while the editor is
- loading the current file.
-
- 129. 03/30/91
- Integrated the new mouse driver from Mike Christopher. there is
- now a cursor for the mouse, and another one for F-PC.
-
- 130. 04/05/91
- Located and removed all references to things like "1 -1 d+" which
- were used to shorted an address and length on the stack. Changed
- all of these occurances to the equivelant "1 /string" which doesn't
- have the carry problem from the count to the address if an
- underflow occurs.
-
- 131. 04/08/91
- Moved the file BLINKER.SEQ from the TOOLS directory, into the SRC
- directory, and now load it as a normal part of F-PC. This adds the
- words BLINKON, BLINKOFF, BLINK!, PAL!, BORDER@ and BORDER!.
-
- 132. 04/10/91 ***** Version 3.5504 *****
- Fixed a bug in DOBORDER, that was keeping it from displaying the
- corner symbol at the upper right of the screen.
-
- At the recomendation of Jerry Boutelle, I have added watch point
- support to the debugger. This allows a 16 byte area ofCODE memory
- to be monitored between each step of the debugger. It can be very
- handy for watching HERE. The "W" command in the debugger, brings up
- a watch set command line, so you can type in an address that will
- be watched. If you type a word that returns an address, then that
- address will be watched. If you want to watch a word that doesn't
- return an address, enter it as " 'WORD " (without the "s ), and the
- CFA will be the watch address.
-
- 133. 04/12/91
- Added for Mike Mayo, a new variable, and three instructions to
- WORD. The variable is called ">IN_WORD", and it is set by WORD to
- be the line offset in TIB of the most recent word parsed out with
- WORD. For example is you did a WORD on the first word in this
- line, then >IN_WORD would contain an 8. This is useful for
- building index files, that want to know exactly where in the source
- file a particular word came from. The performance penalty is
- insignificant.
-
- 134. 04/23/91 ***** Version 3.5505 *****
- Added LISTSET to the F-PC dictionary, it allows the user to adjust
- the amount of dictionary space desired, as the number of paragraphs
- of free space F-PC should retain on the next startup. The value
- #LISTSEGS is adjusted, and the memory image is resaved to the same
- name as the currently executing file.
-
- Correction to the mouse driver, it seems Mike Christopher modified
- the OLD MOUSE.SEQ file, not the current one, so when I included his
- new file, it had the OLD mouse bug in it. Fixed so the mouse
- doesn't show up unless you move the mouse the first time.
-
- Changed the file COLOR.SEQ, to allow the user to more easily modify
- the colros F-PC uses. F-PC now uses an array called COLORS, which
- contains eight sets of background and forground colors for
- ">ATTRIB1" through ">ATTRIB8". The new words BG@, BG!, FG@ and FG!
- allow setting the colors in the array to control the colors F-PC
- will use. See the file COLOR.SEQ for more details.
-
-
-
-