FORTH - FORTH.ZIP - FORTHDOC.2

 
Output of file : FORTHDOC.2 contained in archive : FORTH.ZIP








MVPFORTH.DOC 15 Oct 1983 R. S. White Marion,IA.

This is a FORTH-79 implementation of the FORTH language
done by Glen B. Haydon with most of the old fig-FORTH words also
defined. It has been very generously placed in the public domain
by Mr. Haydon in the spirit of the original FORTH INTEREST GROUP's
1978 dissemination of working versions of the language.

The purpose of this short piece of documentation is to
steer users to the appropiate references on this language
implementation and to make some quick notes about my intial
experences with MVP-FORTH version 1.0305.02.


1. References & Tutorials

A. ALL ABOUT FORTH
An Annotated Glossary

by Glen B. Haydon

Second Edition

Mountain View Press, Inc.
P.O. Box 4656
Mountain View, CA 94040
(415)961-4103

Order direct from the publisher for approx $25.
They will take phone in orders and charge to
M.C., VISA or COD for approx $5 extra.

This is the definitive glossary and definition of
MVP-FORTH with references to any differences between
it and FORTH-79, fig-FORTH and the FORTH described
in STARTING FORTH. The FORTH-79 STANDARD and FORTH-79
HANDY REFERENCE is included in this book. It is not
a tutorial!


B. STARTING FORTH

An Introduction to the FORTH
Language and Operating System
for Beginners and Professionals

by Leo Brodie, FORTH, Inc.

Prentice-Hall, Inc.
Englewood Cliffs, NJ 07632

Availible at most bookstores, ie DALTON's
for approx $15.95.

This is an outstanding tutorial book that
even people who never have any intention to
learn FORTH give good reviews. (and read through)
Better yet it appears that Glen Haydon took pains
to make his implementation of FORTH capable of
operating like the FORTH described in BRODIE's
book whenever possible. In particular, the line
editor included in the MVPFORTH.COM binary image
complies with the EDITOR described in STARTING
FORTH. The exceptions to STARTING FORTH are
pointed out by ALL ABOUT FORTH. These differences
mainly occur when one is messing around with
ticking name field addresses ( NFA )'s and stuff
which is not normal FORTH application programming
practice and is discouraged by the FORTH-79 STANDARD.

It is possible to do a lot with MVP-FORTH
and just use STARTING FORTH without buying ALL
ABOUT FORTH until one feels comfortable with the
language and wants to get down to the nitty-gritty
details and write/include decompliers, MSDOS screen
files, etc.


C. FORTH DIMENSIONS, Vol III No. 3

Availible from the FORTH Interest Group
P.O. Box 1105, San Carlos, CA 94070 by purchasing
all 6 backissues of Vol III for $15 postpaid.

This issue has an article which provided the
EDITOR that Glen Haydon implemented in MVP-FORTH.



2. other FORTH information sources of note ( not inclusive )

A. Join FIG ( FORTH Interest Group ) and get current
issues of FORTH DIMENSIONS. This bimonthly magazine
follows the further refinement of the FORTH language
standards, has many useful articles about programming
techniques/tools and seems to be a lively forum about
FORTH issues in general. Dues are $15 a year.

B. August 1980 issue of BYTE magazine. This FORTH theme
issue served as the inspiration for many of us FORTH
latecomers.

C. Dr. Dobb's Journal. Especially the annual FORTH issues
every September.


3. Startup experiences

I downloaded MVPFORTH.ASM and MVPFORTH.COM (as MVPCOMND.COM)
using an XMODEM protocol from Gene Plantz's RBBS Chicago bulletin
board. My display flipped to 40 column colored text mode when I invoked
the binary file ( it was in 80 col b&w mode ). However normal simple
FORTH commands and math seemed to work fine. I discovered a control-P,
not a control-prtsc toggled the printer echo on and off. Just like the
CP/M-80 versions of FORTH I have used.

The next step was to do a VLIST with the printer echo on and
see what I got. Hooray! An EDITOR, a 8088 ASSEMBLER, double number
extensions, fig-FORTH and FORTH-79 equivalences, and the normal misc
extensions like TRIAD, INDEX, etc. The VOCABULARY worked like the
FORTH-79 STANDARD with only the EDITOR or the ASSEMBLER being present
when invoked in addition to the FORTH vocabulary.

A quick glance at the EDITOR words led me to think it worked
like the fig line editor. I put a couple of new formated disks in
my drives:

20 LIST got a bunch of + signs. OK

20 CLEAR 20 LIST nice 16 * 64 numbered blank screen

L unknown. LIST did not invoke
the EDITOR vocabulary automatically

EDITOR L worked. got an EDITOR screen display

0 P line 0 seemed to work

1 P line 1

L the second " line 1 " was displayed
on the first line. not working

EMPTY-BUFFERS giving up. I put the original DOS
disk with MVPFORTH.COM back in drive A

BYE returned to MSDOS OK

I thought I could not do anything till I got ALL ABOUT FORTH in the mail
from Mountain View Press. The EDITOR seemed to be a line editor like the
fig version I was familar with, but at first glance seemed to be broken.

The MVPFORTH.ASM kernal source was assembled error free at work
using the Microsoft MASM assembler. It has very few comments but at least
I had a good cross-referenced assembler output listing to figure out the
actions of the FORTH words.

Then I had a recollection about a different kind of FORTH line
editor described in STARTING FORTH. Those commands work! Now I thought
it worthwhile to pour over the assembly source and figure out what was
flipping my USI Multidisplay video adapter to 40 columns. The PAGE
command vectored to which did an INT 10H bios rom video call with
0 in the AL register and 0 in the AH register. That will do it. I had
to do that INT call with 2 in the AL register. Here is the code that
will fix the 40 column problem for those of you who use cheaper 15.75 kHz
composite B&W monitors or expensive RGB monitors with the color graphics
adapter:
DECIMAL

: 2 0 0 0 16 INTCALL DROP ;

FIND 'PAGE ! ( save new code version in PAGE
vector )

FREEZE ( now can't FORGET what was just
done )

SAVE-FORTH ( saves memory image of MVPFORTH
on MSDOS disk A: as COMMAND.COM )



and here is a quickie that will blank all 160 blocks on a 5.25"
single-sided disk (8 sectors per track) which is what MVPFORTH
defaults to:

DECIMAL
: IDISK 160 0 DO I CLEAR LOOP ;

The CONFIGURE word will let you declare your drives to be double-sided
and give you blocks 0 to 359 availible instead of 0 to 159. Try it,
its menu driven.



Naturally after doing the above I finally got my hands on a
borrowed copy of ALL ABOUT FORTH and verified that what I had just done
was ok. That's like reading the instructions after putting the child's
bike together.

















e
was o