home *** CD-ROM | disk | FTP | other *** search
- F83 Users Manual, by the Silicon Valley Users FIG Chapter.
- Originally in several smaller files. Can use some more text.
-
-
- F83 Users Manual
- ~~~~~~~~~~~~~~~~
-
-
-
- F83
-
- Version 2.0
-
-
- written by
-
- Michael Perry
-
- and
-
- Henry Laxen
-
-
-
-
-
-
-
-
-
-
-
-
- This manual was compiled by
-
- J. G. Modrow
-
- for the
-
- SVCS FORTH SIG
-
- June 1984
-
-
- Edited by
- John A. Peters
- July 85
- Rev. 2.1.x
-
- INDEX
- ~~~~~
-
-
- 1.0 Introduction
-
- 1.1 About F83
-
- 2.0 Using F83
-
- 2.1 Distribution Disks
-
- 2.2 Starting F83
-
- 2.3 Standard System Documentation Requirements
-
- 2.4 Version 2.0 General Information
-
- 2.5 Creating Custom Applications
-
- 2.6 Metacompiling F83
-
- 2.7 Quick Reference
-
- 3.0 Glossary
-
- 4.0 MSDOS services
-
- 5.0 MSDOS Disk File Interface
-
- 6.0 Assembler
-
- 7.0 Source Listings
-
- 8.0 Forth Books
-
-
- 1.0 Introduction
-
- WELCOME TO FORTH
-
- ********************************************************************
- * *
- * This is a public domain system, and may be freely distributed *
- * and copied, as long as the authors are given credit and no *
- * copyright notice is placed upon it. If we catch someone selling *
- * this system as their own proprietary product, with their *
- * copyright notice , we will do our best to make them regret it *
- * for the rest of their lives. You have been warned!! *
- * *
- ********************************************************************
-
-
- Forth is about ten years old now (1983) but some of the features of
- F83 are relatively new to the Public Domain Forth Model.
-
- If you are new to Forth your best bet is to purchase the book
- STARTING FORTH by LEO BRODIE. It costs about seventeen dollars and
- is available at most large book stores. On page 84 you will find the
- commands for the line editor. The F83 model follows both the book
- and the Forth 83 standard.
-
- See Section 8.0 for addresses of places where you can purchase
- STARTING FORTH and the FORTH 83 Standard.
-
- The Forth Interest Group ( FIG ) has meetings on the 4th Saturday of
- each month, currently at the Chabot College in Hayward, CA and the
- DYSAN Auditorium, 5201 Patrick Henry Drive, Santa Clara, CA at 1:00
- pm. Call the FIG hot line if you wish to double check the location
- phone 415- 962-8653 or the FIG Tree BBS (300 baud) at 415-538-3580.
-
- Henry Laxen Mike Perry
- 1259 Cornell Avenue 1125 Bancroft Way
- Berkeley, CA 94706 Berkeley, CA 94702
-
- 1.1 About F83
-
- F83 is an 83 standard Forth with several features not found in other
- FORTH's. F83 was written and donated to the public domain by Henry
- Laxen and Mike Perry. There are versions for MSDOS, CP/M-86, CP/M
- operating systems and other microprocessors.
-
- The distribution disk is normally a double sided disk with all the
- source files compressed except the file expansion utility. File
- expansion takes a long time because the expansion utility is all in
- high level code so F83 is being distributed by SVCS on two double
- sided disks in the expanded form. A Metacompiler and the F83 kernel
- source code is on one disk and the rest of the files on the other
- disk. There is only one short text file on one disk that explains
- the differences between versions 1.0 and 2.0. The source code
- contains the rest of the system documentation, but more about that
- later.
-
- F83 uses standard operating system files and has the facilities to
- open, create and close standard files through DOS. No special format
- FORTH disks are needed. The limit on the number of files that can be
- open at once is the amount of memory you have for file buffers.
- Separate input and output file control blocks allow different input
- and output screen files to be open at the same time. The word BDOS
- uses Interrupt 33 to provide access to MSDOS functions and make F83
- usable on other MSDOS machines.
-
- Several words are vectored so that their definitions can be changed
- to suit your application. The discussion of screen output
- redirection to the printer later in this article is one illustration
- of the utility of this technique.
-
- The editor is modeled after the one in the book STARTING FORTH by
- LEO BRODIE. On page 84 you will find the commands for the editor.
- The F83 model follows both the book and the Forth 83 standard.
- STARTING FORTH would be a good book for the beginner and the FORTH
- 83 Standard would be a good reference for any user. Both books are
- available from many book stores with large computer book sections.
- If you can not find them try one of the sources listed in Section
- 8.0.
-
- A recursive decompiler is provided. It works fine but lists all the
- words in line. A super feature that is even more powerful is the
- ability to display the source code of any F83 word. The command
- 'VIEW name' will find the source code screen for the word 'name' and
- list the screen. Another command will list the documentation
- screen.
-
- The implementation of "Shadow Screens" is a very powerful
- documentation and help feature. F83 source code has a shadow screen
- containing documentation associated with every screen of source
- code. The limitation on this technique is that the source files must
- be in the default disk drive or they will not be found. The words
- SHADOW SHOW prints a range of source screens and their associated
- shadow screens side by side on an EPSON or IBM printer.
-
- F83 includes all the source code for the system, an Assembler and a
- Meta Compiler allowing you to customize the system any way you want.
- These are two very powerful features that are not included with many
- commercial versions of FORTH. You can delete unneeded words, change
- functions of words or add functions. You can rewrite the system
- assembly language level source code in KERNEL86.BLK and CPU8086.BLK
- and change the assembler in the meta compiler to cross compile a
- system for a different processor or operating system. The source
- code for a few words that are different between CP/M-86 and MSDOS is
- included for both systems so that F83 for either system can be
- generated.
-
- 2.0 Using F83
-
- The following sections attempt to assist you in getting started with
- F83. With this information you should be able to start-up F83, start
- poking around and experimenting. Happy computing!
-
-
- 2.1 Distribution Disks
-
- The distribution disk for F83 Version 2.0 comes with the files
- compressed so that everything fits on one disk. You will need to
- expand the source files so you can list and use them.
-
- If you downloaded your system from a BBS you probably received your
- system in SQueezed format. Additionally it may be a library of
- files with a .LBR or .LIB extentions. DELBR.COM will extract all
- the files in a library or you can use NULU.COM to look at the files
- in a libray without coping them to another disk. However standard
- forth is 64 columns and the above utilitys usually expect for 80
- columns making Forth block files look strangly offset. Hopefully
- some day Forth will include a variable width editor.
-
- A set of files that are SQueezed but not in a library can be most
- easily UNSQueezed with NSWEEP.COM or S/USQ.COM etc. Some of them
- have a war to tag a group of files and UNSQueez and copy in mass.
-
- If you received your system in the expanded format it will be on
- two DSDD disks or three SSDD disks. In that case you can skip the
- huffman unsqueezing instructions and go down to section 2.2 Starting
- F83.
-
-
- The list of the system and documentation files follows.
-
- Compressed: Expanded files: Dsk Description:
- ----------- --------------- --- ----------------------------------
- M86.HUF META86.BLK 2 Metacompiler source code
- K86.HUF KERNEL86.BLK 2 F83 kernel, code words
- HF.HUF HUFFMAN.BLK 1 Compression utility source
- E86.HUF EXTEND86.BLK 1 F83 high level words
- C86.HUF CPU8086.BLK 1 Utility code words
- UT.HUF UTILITY.BLK 1 Utility high level words
- CK.HUF CLOCK.BLK 1 Clock source code
- FX.HUF F83-FIXS.TXT 1 V2.0 Update documentation
- F83.COM 1 Executable F83 system, not comprsd
- KERNEL.COM 2 Compiled F83 kernel
-
- The instructions for expanding the compressed files follow. The
- parts that you type are underlined. The <CR> symbol represents
- carriage return. The expansion process takes a lot of time because
- the expansion code is all high level code. So start it and go do
- something else or relax.
-
- Prepare two double sided formatted disks then put your disk with
- F83.COM and EXPAND86.BLK in disk drive A: and type the following at
- the DOS prompt.
-
- A>F83 EXPAND86.BLK <CR>
-
- F83 will load, at the "ok" prompt type "1 LOAD <CR>" and you will
- create an expansion program named RUNME.COM. To expand the system
- now type the following at the DOS prompt.
-
- A>RUNME <CR>
-
- You will get the following instructions to follow.
-
- To expand your system, type XYZZY
-
- XYZZY <CR>
-
- This takes a long long long time, and bells will
- ring when you are needed, so I suggest you get it
- started and have a long cool drink.
- To expand your F83 system, make sure this disk
- is in drive A: and that an empty, formatted disk is
- in drive B:. You will need two disks.
- When ready, press any key to continue. <key stroke>
- Expanding: M86.HUF into B:META86.BLK
- Expanding: K86.HUF into B:KERNEL86.BLK
-
- [ bells ring ]
-
- Your disk is now full, please
- remove it and insert another empty, formatted disk
- in drive B: and press any key to continue. <key stroke>
- Expanding: E86.HUF into B:EXTEND86.BLK
- Expanding: C86.HUF into B:CPU8086.BLK
- Expanding: UT.HUF into B:UTILITY.BLK
- Expanding: HF.HUF into B:HUFFMAN.BLK
- Expanding: CK.HUF into B:CLOCK.BLK
- Expanding: FX.HUF into B:F83-FIXS.TXT
-
- [ bells ring ]
-
- Congratulations, you have a full
- F83 system. May the Forth be with you. ok
-
- 2.2 Starting F83
-
- By now you may have looked at some of the files with the TYPE
- command. You can have a printout of these instructions by using
- <Control PrtSc> in MSDOS or Controll P in CP/M and entering TYPE
- F83.DOC or TYPE F83-FIXS.TXT.
-
- In the following text, the <CR> symbol represents the carriage
- return key. First make a new system disk with COMMAND.COM on it.
- Copy the files from the disk with F83.COM on it except HUFFMAN.BLK,
- CLOCK.BLK and EXPAND86.BLK to the new disk. We will call this
- disk 1. Make a working system disk from the other distribution
- disk. Copy F83.COM to this disk. We will call this disk 2.
-
- F83 does not have or need a default source file name as some
- commercial versions of FORTH do. No default file extensions are
- provided either so file names and extensions must be entered.
-
- Now to enter Forth from DOS, insert the disk 1 into drive A of your
- computer, boot it and type at the DOS prompt,
-
- A>F83<CR> or A>F83 sourcefile.ext<CR>
-
- Forth will reply with:
-
- 8086 Forth 83 Model 2.1.0
- Modified 01Apr84
-
- Now try out the following words to see how they work and get a
- feeling for F83.
-
-
- WORDS and A L
-
- To see a list of the words that are in the dictionary type WORDS.
- You will see lots of words. Each word is a command in FORTH. FORTH
- has different vocabularies so that functions or utilities can be
- separated without word definitions clashing. Three of these
- vocabularies are HIDDEN, EDITOR and SHADOW. To list the vocabulary
- type the vocabulary name then WORDS. To return to the main
- vocabulary type FORTH <CR>.
-
-
- SEE word
-
- There is a decompiler present which reverses the compiling process,
- producing source code from object code. The user interface to it is
- the word SEE <name> where <name> is the name of a Forth word you
- wish to decompile. While the information SEE gives you is not as
- complete as that given by VIEW, a least it is always available, and
- not dependent upon whether or not the correct file is present on the
- currently logged in disk drive. For a real experience try
- decompiling the words STATUS, which is a DEFERred word, ie. and
- execution vector. SEE calls itself recursively in this case and
- tracks down the definition. This can be quite handy.
-
- However SEE is not a full decompiler. A definition with a literal
- number like for example 64 in it, will decompile to LIT 64 and the
- conditionals like DO, LOOP, IF, ESLE, THEN, BEGIN, WHILE, UNTILL and
- REPEAT will appear something like (0branch) 4 or (branch) 3.
- The number is the number of words foreward or back in the definition
- that the (branch) is spliting to. (or is it the number of words
- divided by two). Instead of counting, it is usually easier and more
- acurate to LOCate the word and turn to yur print out or find the
- disk with the source file and VIEW the word.
-
- VIEW word
-
- The VIEW command is one of the best features of F83. VIEW
- <word> <CR> will find the screen that contains the code for the
- <word>, provided that the file containing <word> is on the
- currently logged disk drive. If you can fit all of the source code
- on a single drive, VIEW works great, and takes care of opening the
- file and displaying the screen for you. If not when View can't find
- the proper file on line it atleast tells you the name of the files
- it is looking for along with the screen number.
-
- Each word is a command and each can be VIEWed. Let's look at the
- word SHOW by typing VIEW SHOW. Assuming all is well you will see a
- Forth screen containing the definition of SHOW along with some
- other words.
-
-
- Type this: EDITOR VIEW JOIN<CR>
-
-
- A L
-
- Type A L <CR> and you will be rewarded with the Shadow screen
- that goes with the word (command) L. A L <CR> will Alternate List
- you back to the original screen of code. Look at it and when you see
- a word that doesn't seem fully self evident, VIEW it and read
- the shadow screen. You are looking at a screen of editing commands.
- Lets go to the shadow with the A L command and do some exploring.
- While we are in the shadows lets look at the next five or six
- shadow screens that should be editor words. Use N L.
-
-
- N L and B L and N ED
-
- Now for some more commands. N is next screen and L is list. N L
- lists the next screen and B L lists the next screen back. N ED will
- edit the next screen etc.
-
-
- SHADOW and SHOW word ( COPY, CONVEY )
-
- We have also tried to make extensive use of the shadow screen
- concept. In this regard, the A word moves you from the current
- screen to its associated shadow screen. The SHADOW vocabulary
- contains a bunch of words that are helpful in maintaining shadow
- screens. COPY allows you to copy not only a screen, but also its
- associated shadow. SHOW allows you to list each source screen across
- from its shadow when you want to print them. Finally CONVEY allows
- you to move groups of screens and their associated shadows. To see
- what words are in the SHADOW vocabulary simply type SHADOW WORDS
- <CR>. To view the SHOW word type VIEW SHOW <CR>. The word SHOW and
- it's source code that we have been viewing, is a command that prints
- out three source screens along with three shadows for a total of six
- screens per page. There are two versions of SHOW. The vocabulary you
- are in determines how SHOW will print out. If you are in the SHADOW
- vocabulary, three screens of code and three of shadows will print.
- If you are in FORTH you will get six screens of code with out
- shadows. This is how yu do it when there are no shadows in the
- file. If you have a printer you may print the editor screens now as
- follows. Type VIEW WIPE for example. If wipe is the first of 6
- screens of editor words remember the screen number. If for
- instance it was 80 then type 80 85 SHADOW SHOW <CR>
-
-
- FILE? and DEFAULT
-
- FILE? prints the filespec of the current output file and DEFAULT?
- prints the default disk drive number.
-
- FILES? prints the names of both the OPEN and the FROM files. It is
- defined in TOOLS.BLK
-
-
- FROM filespec
-
- FROM d:filename.ext makes "filename" the current input screen file
- so that you can have different input and output screen files.
-
-
- OPEN filespec
-
- OPEN d:filename.ext makes "filename.ext" the current input and
- output screen file.
-
-
- A: B: and n SELECT
-
- You can select the default disk drive from F83 by typing A: for
- drive A and B: for drive B. 0 SELECT <CR> does the same as A: <CR>.
-
- If you want to make drive C the default drive type 2 SELECT. Create
- the word C: by typing the following definition.
-
- : C: 2 SELECT ; <CR>
-
- PRINTING ON and PRINTING OFF
-
- PRINTING ON turns on the printer enable directing output to the
- screen and the printer. PRINTING OFF turns printer output off
- directing all output to the screen.
-
-
- ' (PRINT) IS EMIT and ' (EMIT) IS EMIT and ' (CONSOLE) IS EMIT
-
- ' (PRINT) IS EMIT redirects screen output to the printer. Nothing
- will print on the screen, regardless of the state of PR-IN. '
- (CONSOLE) IS EMIT directs output to the screen only, regardless of
- the state of PRINTING ON or OFF. ' (EMIT) IS EMIT directs output
- back to the screen. Now PRINTING ON and OFF will function as
- explained above.
-
-
- Backspace
-
- By now you may have noticed that if you make a mistake typing a word
- the only way to correct it is to type backspace. Backspace backs up
- the cursor on the screen but does not erase the characters already
- there. These characters are erased from the input buffer so
- backspacing and retyping the correct word does work correctly. I
- find it confusing to have this extra garbage on the screen. The
- source code to change the backspace to a backspace and delete is in
- KERNEL86.BLK screens 47 and 48.
-
- Type the following to fix F83.COM.
-
- HEX 41 112A C! DECIMAL <CR>
-
- If you wish to save this change, type SAVE-SYSTEM F83.COM <CR>. The
- current system image will be saved on the current disk as F83.COM.
-
- To fix the source code edit KERNEL86.BLK screen 48 and remetacompile
- the system. Put disk 2 in drive B: and type B: VIEW CC-FORTH <CR> to
- view the screen you need to change. You need to change the word
- BS-IN to (DEL-IN) in the definition of CC-FORTH. You can do this
- with the editor. Now follow the steps explained in Section 2.6,
- Metacompiling F83, to generate a new F83 with this change.
-
-
- CAPS ON and CAPS OFF
-
- The default condition for F83 words is that both upper case and
- lower case are considered the same. For example WORD and word are
- the same. If you prefer to treat upper case letters and lower case
- letters as different, set CAPS to false by typing CAPS OFF <CR>.
- CAPS ON <CR> will switch back to the original condition.
-
-
- 2.3 Standard System Documentation Requirement
-
- 1. The system dictionary space is CPU dependent and can be
- determined by typing HERE U. <CR>
-
- 2. The application dictionary space is also CPU dependent and is
- the difference between the top of the dictionary and the
- beginning of the parameter stack. The location of the parameter
- machine. The application dictionary space can be determined by
- typing SP@ HERE - U. <CR>
-
- 3. The data stack space is the same as the dictionary space.
-
- 4. The return stack space was arbitrarily set at 256 bytes. It can
- be altered by remeta-compiling the system.
-
- 5. No mass storage block ranges are reserved by the system, other
- than the contents of the files that are distributed.
-
- 6. The user has available to him blocks 0 thru 65534. Note that
- block 0 may not be used for loading. Block number 65535 is
- reserved to indicate the buffer is missing.
-
- 7. Any ASCII terminal should work with this system. If the user
- has a cursor addressable terminal, the editor can be easily
- modified to take advantage of the terminal's characteristics.
-
- System action taken upon error conditions:
-
- ' <name> ['] <name> not found results in ? error message
-
- */ */MOD / /MOD MOD UM/MOD all division by 0 errors result in a
- 0 quotient
-
- : in the case of an error, a ? error message will be printed
-
- DO if a nesting error occurs, the system will crash. (if you
- are lucky)
-
- 2.4 Version 2.0 General Information
-
- This Section 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 nuber.
- * 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.
-
-
- 2.5 Creating custom applications
-
- F83 allows precompilation of FORTH applications. Redirection of BOOT to
- the top level word then saving the executable image will generate a
- custom application. The following sequence will create a custom
- application. Using this technique you can generate a sealed application
- blocking the user from access to Forth.
-
-
- Test and debug your application the type the following.
-
- DECIMAL nn LOAD <CR> ( nn is your load screen number )
- ' MY-PROGRAM IS BOOT <CR> ( execution starts with MY-PROGRAM on cold
- start )
- SAVE-SYSTEM MY-FILE.COM <CR> ( saves the executable program, as
- MY-FILE.COM )
-
-
- 2.6 Metacompiling F83
-
- Metacompiling allows you to change word definitions or to eliminate
- unnecessary words from your application. You could even change the
- assembler definitions to cross compile a new FORTH system for a
- different processor or system.
-
- META86.BLK screens 25 through 45 provide the documentation on the
- Metacompiler source. The source code proves some information on how
- to use this facility. The following sequence will recompile a new
- F83.COM file.
-
- Put disk 2 in drive A and type the following.
-
- A>F83 META86.BLK <CR>
-
- When F83 boots type.
-
- 1 LOAD <CR>
-
- The Metacompiler will be compiled then KERNEL86.BLK will be compiled
- and you will get a string of screen numbers and two messages. When
- the kernel has completed compilation a summary of of system
- statistics will be printed on the screen. Instructions on what to do
- next follows the summary.
-
-
- Unresolved references:
-
- Statistics:
- Last Host Address: 35890
- First Target Code Address: 38694
- Last Target Code Address: 50216
-
- Now return to the DOS and type:
- KERNEL EXTEND86.BLK <CR>
- OK <CR>
-
- Type BYE <CR> to exit to DOS.
-
- Copy KERNEL.COM to disk 1, put disk 1 in drive A and type the
- following.
-
- A>KERNEL EXTEND86.BLK <CR>
- OK <CR>
-
- You will get a progress message as compilation of each functional
- area starts to compile. The last two messages are.
-
- System has been loaded, Size = 26337
- System saved as F83.COM ok
-
- Now type BYE <CR> to exit to DOS.
- Type F83 <CR> and test your new F83.
-
-
- 2.7 Quick Reference
-
- To be added later.
-
-
- 4.0 MSDOS services
-
- To be added later.
-
-
- Using DOS calls through BDOS you can use system functions or even
- run other programs from Forth. The assembler allows you to speed up
- any function that is too slow or to call assembly language
- subroutines.
-
-
-
- 7.0 Source Listings
-
- The source listings for the files listed below can be printed by
- entering F83 then using SHOW in the SHADOW vocabulary. The list of
- source files then the steps to list them follow. You need an Epson
- or IBM printer to get the source plus documentation screens on an
- 8 1/2 " X 11 " page.
-
- META86.BLK KERNEL86.BLK EXTEND86.BLK CPU8086.BLK
- UTILITY.BLK HUFFMAN.BLK EXPAND86.BLK (CLOCK.BLK)
-
- Put your working disk with F83.COM and META86.BLK in drive A:.
- Put your other working disk in drive B:.
- Turn on your printer then type the following lines as shown.
-
- A>F83 META86.BLK <CR>
- 0 21 SHADOW SHOW <CR>
-
- OPEN B:KERNEL86.BLK <CR>
- 0 92 SHOW <CR>
-
- B:
- OPEN EXTEND86.BLK <CR>
- 0 13 SHOW <CR>
-
- OPEN CPU8086.BLK <CR>
- 0 25 SHOW <CR>
-
- OPEN UTILITY.BLK <CR>
- 0 54 SHOW <CR>
-
- Put the master disk with HUFFMAN.BLK and EXPAND86.BLK in drive B:
- and type the following.
-
- OPEN HUFFMAN.BLK <CR>
- 0 21 SHOW <CR>
-
- OPEN EXPAND86.BLK <CR>
- Set your printer to top of form.
- PRINTING ON <CR>
- 0 2 TRIAD <CR>
- Set printer to top of form.
- 3 5 TRIAD <CR>
- PRINTING OFF <CR>
-
- Later: In the traditon of Forth, one programmer can make the whole thing
- much easier by codng an easy to use word. The word in this case is the
- command LISTING. LISTING lists the whole file to the printer by
- starting at screen zero and going to the CAPACITY of the file. Neat!
-
-
- 8.0 Forth Books
-
- The FORTH 83 Standard and other books on Forth can be purchased from
- several places three of which are listed below.
-
- FORTH Interest Group
- P. O. Box 1105
- San Carlos, CA 94070
-
- Phone: 415-962-8653
-
-
- Mountain View Press
- P. O. Box 4656
- Mountain View, CA 94040
-
- Phone: 415-961-4103
-
-
- Computer Literacy Book Store
- 530 Lawrence Expressway
- Santa Clara, CA 94086
-
- Phone: 408-730-9955
-
-
- Many other book stores carry the books recommended here and other
- books on Forth. Check with your favorite local book store.
-
- The F83 imp lementation follows the book STARTING FORTH by Leo Brodie.
- THINKING FORTH also by Leo Brodie is good too.
-
- INSIDE F83 by C.H.Ting is good reference book. It is published by
- Offete Enterprises, 1306 So. B. St, San Mateo, CA 94402
- name and screen number of
- the source code for a word, then OPENs the file and