home *** CD-ROM | disk | FTP | other *** search
- F83.DOC
-
- Listing 'F83 .DOC'
- 'F83 .DOC' Open 72 Sectors 6.0 Minutes
-
-
- 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!!
-
- These disks contain the following files:
-
- EXTEND80.BLK
- CPU8080.BLK
- UTILITY.BLK
- META80.BLK
- DIRECT.BLK
- KERNEL.COM
- F83.COM
-
- To regenerate the system,
- first copy everything to a large disk on (for example) drive B,
- then do the following:
-
- B>F83 META80.BLK ( run F83 on META80.BLK )
- OK ( loads meta compiler and generates KERNEL.COM )
- BYE ( return to CP/M )
- B>KERNEL EXTEND80.BLK ( run KERNEL on EXTEND80.BLK )
- START ( loads all extensions )
- BYE ( return to CP/M )
- B>SAVE xx F83.COM ( create new version of F83.COM )
-
- You can have a printout of these instructions by using Control P and
- entering TYPE FORTH.DOC
-
- In what follows the <CR> symbol represents the carriage return key
- on your terminal. To enter Forth from the CP/M environment, insert
- the disk containing the F83.COM file into drive A of your computer,
- (after booting it of course) and type
- F83<CR>
-
- Forth will reply with:
-
- 8080 Forth 83 Model 1.0.0
- Modified 16Oct83
-
-
- Forth is about ten years old now (1983) but some of the features of F83
- are relatively new to the Public Domain Forth Model.
-
- The VIEW command is one of the best. VIEW <word> <CR> will find the
- screen that contains the code for the <word>, provided that the file
- that contains <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.
- èWe have also tried to make extensive use of the shadow screen
- concept. In this regard, the word A moves you from the current screen
- to it 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>
-
- There is also 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 an execution vector. SEE
- calls itself recursively in this case and tracks down the definition.
- This can be quite handy.
-
- To see a list of the words that are in the dictionary type WORDS. You
- will see lots of words. Each 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 A L (cr) and you will be rewarded with the Shadow
- screen that goes with it. 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. The
- word SHOW and its 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, six screens of code and shadows will print. If you
- are in FORTH six screens of code will be printed.
-
- 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. Now lets printout a few screens that will detail
- some of the editor commands. Most are from Starting Forth but some are
- new ones.
-
- Type this: EDITOR VIEW JOIN<CR>
-
- 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. If you have a printer you may print these
- 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>
-
- 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.
-
- èThe Forth Interest Group ( FIG ) has chapters in many areas. In the San
- Francisco Bay Area, meetings are held on the 4th Saturday of each
- month, currently at Chabot College in Hayward, CA. Call the FIG hot
- line if you wish to double check the location ph 962-8653 or the FIG
- Tree BBS (300 baud) at 538-3580.
-
-
- Henry Laxen Mike Perry
- 1259 Cornell Avenue 1125 Bancroft Way
- Berkeley, CA 94706 Berkeley, CA 94702
-
-
- System Memory Map
-
- The memory map will vary somewhat with CPU, and operating system, and
- options. For CP/M on the 8080 with 64K of memory, with four block buffers
- and all utilities, it is as follows:
-
- ( all addresses in hexadecimal)
-
- 0100 Jump to cold start
- 0104 Jump to warm start
- 0108 ----
-
- Dictionary with all utilities loaded.
-
- 5E75 ---- HERE
-
- Free space.
-
- D10E ---- SP0, TIB
-
- | Text Input Buffer
- V
- ^
- Return Stack |
-
- D1D6 ---- RP0, >BUFFERS
-
- Block Buffer Pointer Table
-
- D200 ---- FIRST
-
- Block Buffers
-
- E200 ---- LIMIT
-
-
-
- Standard System Documentation Requirement
-
- 1. The system dictionary space is CPU dependant and can be
- determined by typeing HERE U. <CR>
-
- 2. The application dictionary space is also CPU dependant and is the
- difference between the top of the dictionary and the beginning of
- the parameter stack. The location of the parameter stack varies
- depending on the amount of memory available to the 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.
-
- 8. 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)
-
- EXECUTE if addr is not a compilation address, the system
- will crash. see DO
-
- EXIT if the top of the return stack does not contain a valid
- return point, the system will crash. see DO
-
- FORGET <name> if <name> is not found, a ? error message is
- printed. If the compilation vocabulary is forgotten, the
- system will crash. see DO
-
- FORTH-83 if the error condition occurs, that this is not a
- standard system, I don't want to hear about it and I hope
- the system not only crashes, but burns.
-
- LOAD if u is zero, the system will crash. see DO