home *** CD-ROM | disk | FTP | other *** search
- This file describes most of the changes to F83 between versions
- 1.0 and 2.0.
-
- It is always difficult to follow a moving target. In the
- six months since we released version 1.0 we have received so many
- good suggestions that the temptation to use some of them was
- impossible to resist. To all of you who contributed, thank you
- again. We will try to avoid any further changes until 1985 at the
- earliest. If there are bugs, we will report them separately.
- Updating the various versions is a lot of work even without offering
- any support, and we are tired. It is time to move on to applications,
- and do something useful for a change.
-
-
- The changes were as follows:
-
- General:
-
- * Removed the superfluous NOOP from all self-defining words.
- * Changed all instances of C; to END-CODE ( by request).
- * Partitioned META into META.BLK ( the meta-compiler ) and
- KERNEL.BLK ( the source for the kernel ).
-
-
- META:
- * Fixed .SYMBOLS
-
-
- KERNEL:
-
- * Removed null from the system. Sealed search orders no longer
- require the old magic null word.
- * Fixed PARSE and PARSE-WORD. They used to increment >IN past
- the end of source text.
- * Changed CP/M to DOS.
- * Moved kernel DOS words into DOS vocabulary.
- * Added USER VARIABLE IN-FILE. All file operations read from IN-FILE
- and write to FILE. This allowed removing the confusing FILES
- vocabulary. User interface is unchanged: FROM <file> makes <file>
- the IN-FILE. OPEN <file> makes both the same. LOAD uses IN-FILE,
- then resets it to FILE. This is probably appropriate.
- * FBLOCK and FBUFFER take an fcb address and a block number.
- * SWITCH exchanges FILE and IN-FILE.
- * ?UPPERCASE conditionally forces a string to upper case. Used by
- DEFINED and FORGET.
- * EMIT primitives renamed: (CONSOLE) is console only, (EMIT) is
- for console and maybe also printer, depending on PRINTING.
- * Fixed CONTROL.
- * Made default (PRINT) not use LISTST, because it hangs on
- many systems. Optionally use LISTST if available for faster spooling.
- * Renamed FORTH control character table from CC1 to CC-FORTH.
- * Changed DO to ?DO in -TRAILING.
- * Deleted HEADER from CREATE, made CREATE do it all.
- * Changed ,VIEW to make file 0 if BLK is 0.
- * Added \S for comment to end of screen.
- * Added better error handling for disk reads and writes.
- * Accessing a BLOCK which is Out of Range no longer leaves the
- buffer assigned to the non-existent block.
- * Changed DISCARD to mark discarded buffer as empty.
- * .FILE and FILE? added to display file names.
-
-
- EXTEND:
-
- * Split ONLY into the ONLY operator and the ROOT vocabulary.
- * Removed OPEN-FILE from FILE: and added it to VIEW.
- * Added VIEWS which installs files into VIEW-FILES table.
- * Moved SET-DRIVE into EXTEND, changed it to use the BIOS
- to determine whether a drive is legal, and renamed it SELECT.
- * DRIVE? prints the current drive.
- * Added A: and B: which select drive A or B.
- * Added error control into MAKE, CLOSE, READ, and WRITE.
-
-
- CPU:
- * Added three words for decompiling DOES> words.
- * Renamed FIX to UNBUG.
-
-
- UTILITY:
- FORTH:
-
- * Added :: for immediate compilation.
- * VIEW is now wordier. It prints the file name and screen number of
- the source code for a word, then OPENs the file and LISTs the code.
- * Made SEARCH much faster when CASE is significant ( false),
- by SCANning for the first character. Turn CAPS OFF for speed.
- * Added .SCR which prints current screen number and file name.
- It is used by LIST and EDITOR .ALL.
- * Changed N and B to include DISK-ERROR OFF.
-
- EDITOR:
-
- * Changed ?TEXT to use PARSE instead of WORD. This allows
- commands like "F ^" to use the contents of the buffers.
- * Modified auto display updating to work correctly with both
- smart and dumb terminals.
- * Added FIX which VIEWs and EDITs.
- * Renamed JUST to J. I use it a LOT.
- * Made ED smarter: it does not change context if already editing.
- * ID field defaults to blanks, not nulls.
- * GET-ID waits for an extra character to allow you to read what
- you typed before hitting return.
-
- Showing:
-
- * SHOW now uses (SEMIT) which outputs to either the console
- or the printer, but not both, depending on PRINTING, which is
- reset by (ABORT").
- * SHOW works for small files: PR replaces out-of-range blocks with
- LOGO.
- * FOOTING is vectored.
- * PAGE defaults to linefeeds. Many people did not have form-feed
- capability.
-
- Multitasker:
-
- * Renamed BACKGROUND to BACKGROUND: because it compiles until
- a semi-colon.
-
-
- NEW FILES:
-
- * HUFFMAN.BLK contains the source for the Huffman encoding used
- on the files as shipped.
- * CLOCK.BLK shows how to use a clock/calendar to automatically set
- the editor date stamp when you boot. The code is for a CompuPro
- System Support 1, but should give you some hints.
- * HUNT.BLK has source for HUNT.
- HUNT <sub> lists all words whose name contains the given substring.
-
-
- Now what have I forgotten? I'm sure you will let me know.