[net.micro.amiga] Need help with MVP-Forth

keithe@tekgvs.UUCP (Keith Ericson) (02/26/86)

How does one specify the screen-file for MVP-FORTH to use?
I've manually decompiled the obvious words but have gotten
nowhere, except that I'm on the all-time hit list for Guru
Meditation Numbers!

keith

Keith Ericson  at TekLabs (resident factious factotum)
Tektronix, PO 500, MS 58-383     Beaverton OR 97077    (503)627-6042
uucp:[ucbvax|decvax|ihnp4|(and_many_others)]!tektronix!tekgvs!keithe
CSnet:keithe@tek                      ARPAnet: keithe.tek@rand-relay

tenney@well.UUCP (Glenn S. Tenney) (02/27/86)

In article <1360@tekgvs.UUCP> keithe@tekgvs.UUCP (Keith Ericson) writes:
>How does one specify the screen-file for MVP-FORTH to use?

The easiest way is "from filename" which will open filename as the current
file so you can say 1 list etc.   As the author of MVP-FORTH for the Amiga,
I strongly recommend getting the 15-20 page Amiga specific documentation!
The complete doc sold by Moutain View Press includes a printout of ALL source
included with the MVP-FORTH distribution as well as the 15-20 pages of
Amiga unique glossary stuff.

-- Glenn Tenney 
UUCP: {hplabs,glacier,lll-crg,ihnp4!ptsfa}!well!tenney
ARPA: well!tenney@LLL-CRG.ARPA                        Delphi: TENNEY
As Alphonso Bodoya would say... (tnx boulton)
Disclaimers? DISCLAIMERS!? I don' gotta show you no stinking DISCLAIMERS!

keithd@cadovax.UUCP (Keith Doyle) (03/04/86)

In article <1360@tekgvs.UUCP> keithe@tekgvs.UUCP (Keith Ericson) writes:
>How does one specify the screen-file for MVP-FORTH to use?
>keith

Rather than manually decompile MVP-Forth, check the screen file
mvpamiga.scr.  This is apparently the entire source for MVP-Forth,
in a cross compiler format that looks an awful lot like the 'Nautilus'
cross compiler.  This is how I found out how that stuff works, the
words FROM and INCLUDE are commented on their source screens.
 
Use the word FROM, followed by the file name.  For example:

FROM MVPUTILS.SCR

will select the file mvputils.scr for its screen file.  I stumbled around
awhile for this one too.  I kept expecting it to automatically append
.SCR on to the end of the filenames like LMI Forth's USING word does.

You can also use   INCLUDE MVPUTILS.SCR  which
does effectively:

FROM MVPUTILS.SCR
1 LOAD
CLOSEFILE   ( or whatever the close word is, I forget)

Also note, that if you do a VLIST to list the dictionary, it seems as if
you can't interrupt it.  Actually, you can.  You have to hit the space bar
3 times in fairly quick succesion to do an interrupt.  I found this while
perusing the supplied source, and found that they like to use the 'PAUSE'
word to check for pause or interrupts.  PAUSE will check if there is a key
and if none, will exit PAUSE.  If there is a keystroke, PAUSE will discard it
and wait for another.  After a second keystroke, it will discard that and
wait a short delay time for a third.  If PAUSE gets a third key, it will
do a QUIT (or maybe ABORT) to bail out, otherwise do a normal exit from
PAUSE.  Kind of a lame scheme.  I would have had PAUSE check the keystrokes
for an ESC or CTL-C to exit, a bit cleaner.  Fortunately it can be changed
without too much trouble.

Anyone notice how SLOW it is when you do VLIST?   Yet the screen editor
'laxen.ed' is pretty fast.  I've had problems on other screen editors on
other Forths in keeping up but found this one pretty reasonable considering
it is continually outputting the cursor row and column (the first 'feature'
I removed by the way).  Makes me wonder what gives with VLIST.  Haven't
had the time to check.

There dosen't seem to be an interrupt out of an endless loop that I've
been able to discover.  If anyone knows of one (and/or perhaps good reasons
why it was difficult) please post.

Keith Doyle
#  {ucbvax,ihnp4,decvax}!trwrb!cadovax!keithd
#  cadovax!keithd@ucla-locus.arpa

tenney@well.UUCP (Glenn S. Tenney) (03/07/86)

In article <1016@cadovax.UUCP> keithd@cadovax.UUCP (Keith Doyle) writes:
>In article <1360@tekgvs.UUCP> keithe@tekgvs.UUCP (Keith Ericson) writes:
>>How does one specify the screen-file for MVP-FORTH to use?
>>keith
>
>Rather than manually decompile MVP-Forth, check the screen file
>mvpamiga.scr.  This is apparently the entire source for MVP-Forth,
>in a cross compiler format that looks an awful lot like the 'Nautilus'
>cross compiler.  This is how I found out how that stuff works, the
>words FROM and INCLUDE are commented on their source screens.
> 
The complete source IS on the disk and it cross compiles with a
modified version of the Nautilus cross compiler.  Once other obligations
are out of the way, I hope to provide a better (more complete?)
FORTH developer's environment (The check isn't even "in the mail",
so don't ask me when it'll be available.)  There is a packet of
Amiga specific documentation available that I hope describes all
of these new MVP-FORTH words.  Give Mountain View Press a call to see
how to get the doc.

>
>Also note, that if you do a VLIST to list the dictionary, it seems as if
>you can't interrupt it.  Actually, you can.  You have to hit the space bar
> ...
MVP-FORTH is virtually the same across all the machines supporting it (this
includes CP/M, Apple II, IBM PC etc.) and that's the way Glen Haydon did it.
In doing the Amiga version I couldn't really change things too much without
causing raised fur.  Believe me, there were MANY things I wanted to change
(improve).  The plus side is that all of the books and programs being sold
for MVP-FORTH are compatible.  (I haven't tried, but the Expert system should
slide right in.)
>
>Anyone notice how SLOW it is when you do VLIST?   Yet the screen editor
>'laxen.ed' is pretty fast.     ...
This is a combination problem:  The text output is currently being done
using AmigaDOS.  EMIT (a single character) or TYPE (a string) are each done
with a single call to AmigaDOS.  VLIST can't just TYPE each word name because
the number of characters in the name might be more than the number of
characters actually stored (WIDTH is set to 3 for example).  VLIST then 
EMITs a character at a time therefore it is SLOW. 
>
>There dosen't seem to be an interrupt out of an endless loop that I've
>been able to discover.  If anyone knows of one (and/or perhaps good reasons
>why it was difficult) please post.
You're right, it should be in a *real* FORTH system, but I wanted to get
MVP-FORTH out asap and as a public domain implementation.
>
>Keith Doyle
>#  {ucbvax,ihnp4,decvax}!trwrb!cadovax!keithd
>#  cadovax!keithd@ucla-locus.arpa

(The author of MVP-FORTH for the Amiga)
-- Glenn Tenney 
UUCP: {hplabs,glacier,lll-crg,ihnp4!ptsfa}!well!tenney
ARPA: well!tenney@LLL-CRG.ARPA        Delphi and MCI Mail: TENNEY
As Alphonso Bodoya would say... (tnx boulton)
Disclaimers? DISCLAIMERS!? I don' gotta show you no stinking DISCLAIMERS!