[comp.sys.apple] davex problems and some system program questions

elliott@glacier.steinmetz (05/08/88)

Time pressures like classes and a part-time job have been keeping me
from doing much on my //e besides using it as a vt100 for the last
year. But now that summer is approaching, I suddenly have the time to
catch up with what has been going on, and it's quite exciting. I'm
very impressed with the way that BLU and EXECUTIONER make transfer of
apple binaries over UseNet feasible, and am getting ready to post my
own, extremely nice, terminal emulator to comp.binaries.apple2 someday
soon.

I'm also very happy to see how well ProDos has caught on (around the
people I normally talk to, ProDos is a strange and useless program,
despite my attempts to defend it as the obvious choice for system
programming on the //...)

And now, with a real command shell (davex) to use, the possibilities
are very exciting!

Now, the real point of my posting: It's become clear to me that the
rules have been changing a little since my last big bout of
programming. The davex documentation mentions the concept of system
programs having "startup buffers" where parameters can be stored. This
is either an undocumented standard, or newer than my (1983?) ProDos
technical reference manual. Can someone explain the details of how
these work?

Also, in the section describing system programs, the manual details
how to load another system routine, but nowhere does it explain the
standard quitting mechanism that many system programs seem to use,
that let them drop back into davex. Again, could someone explain this
to me? I'd like complete, accurate, technical details... *sigh* I
probably have to get to a computer store and buy a new copy of the
manual...

Finally, unfortunately, the copy of davex which was posted to
comp.binaries.apple2 has some problems: The help file is damaged and
doesn't work with half the topics, and it's missing some commands like
vstore and vrestore... As soon as I get my next paycheck I'm ordering
a registered copy, but it would be nice if I could get a working
implementation before the mail gets my disk to me...

Thanks for any help anyone can give!



 .     .    .    .   .  . ... .  .   .    .    .     .    .   .   .  . ... . .

 Jim Elliott                       /    ...!seismo!uunet!steinmetz!crd!elliott
                                  /
 "Don't look, son, it's          /      Jim_Elliott%mts@itsgw.rpi.edu [school]
  a secular humanist!"          /  (or)     elliott@ge-crd.arpa	      [work]
 .     .    .    .   .  . ... .  .   .    .    .     .    .   .   .  . ... . .

elliott@glacier.steinmetz (05/08/88)

Oops.. I just noticed that a few items in my previous posting were not
very clear. First of all, the davex posting I got was missing the
actual external commands vstore and vrestore and possibly others, as
well as having problems in the help file (some entries printing
garbage, others giving "Prodos Error: Bad file pos").

Also, in my inquiry about quit routines, I'm asking: What does a
normal ProDos system program do when quitting that lets it realize
that it should go back to davex rather than prompting for a path and
application?

And one thing that I forgot entirely to mention: In the file
Davex.Doc, David Lyons says "an appendix describes how assembly
language programmers can write more external commands", but this
appendix never materializes. I'm >very< eager to learn how to do this;
where is the documentation actually to be found?

 .     .    .    .   .  . ... .  .   .    .    .     .    .   .   .  . ... . .

 Jim Elliott                       /    ...!seismo!uunet!steinmetz!crd!elliott
                                  /
 "Don't look, son, it's          /      Jim_Elliott%mts@itsgw.rpi.edu [school]
  a secular humanist!"          /  (or)     elliott@ge-crd.arpa	      [work]
 .     .    .    .   .  . ... .  .   .    .    .     .    .   .   .  . ... . .

laba-4an@web4d.berkeley.edu (Andy McFadden) (05/09/88)

In article <10746@steinmetz.ge.com> elliott@crd.ge.com (Jim Elliott) writes:
[ fake points of posting deleted ]
>Now, the real point of my posting: It's become clear to me that the
>rules have been changing a little since my last big bout of
>programming. The davex documentation mentions the concept of system
>programs having "startup buffers" where parameters can be stored. This
>is either an undocumented standard, or newer than my (1983?) ProDos
>technical reference manual. Can someone explain the details of how
>these work?

The first time I heard about this was ProSEL... apparently if you put a few
signature bytes, a buffer length byte, and a filename buffer at the start
of your program (after a jump to the real code, of course) then you are telling
other programs that your "sys" file supports the "startup protocol".  This
was first started with Basic.system v1.1, probably because the //gs finder
needs some way to execute Applesoft programs.

I think the signature bytes are EE EE, but you should check the start of
Basic.system to be sure.

>Also, in the section describing system programs, the manual details
>how to load another system routine, but nowhere does it explain the
>standard quitting mechanism that many system programs seem to use,
>that let them drop back into davex. Again, could someone explain this
>to me? I'd like complete, accurate, technical details... *sigh* I
>probably have to get to a computer store and buy a new copy of the
>manual...

The ProDOS Quit code ($d100-$d3ff, alternate bank) is probably responsible
for this.  I imagine Davex sets this up upon initial execution.  Most "sys"
files support this (although EDASM v1.0 nukes it).

>Finally, unfortunately, the copy of davex which was posted to
>comp.binaries.apple2 has some problems: The help file is damaged and
>doesn't work with half the topics, and it's missing some commands like
>vstore and vrestore... As soon as I get my next paycheck I'm ordering
>a registered copy, but it would be nice if I could get a working
>implementation before the mail gets my disk to me...

Try the ftp version (if you can) from husc6.harvard.edu, Apple2/Util dir (I
think).  You can also get a comparison view of ECP 8/16...

"There's no comparison."

[ setenv PRAISE on ]

Davex can do everything that ECP can do (except enter "terminal" mode, but
that's nearly worthless... anyone tried the //e termcap with "vi"?  Needs
some fixes...), and a whole lot more.  I'm used to UNIX (ls, more, man);
with Davex, I can alias those things.  You can set read/write/rename/delete
permissions individually (hell, I didn't even know ProDOS supported that!!),
the same copy command can be used to copy files and directories, you don't
have to specify the destination filename (dir only), the help files are
more helpful (roughly 50% again as large, but SAME NUMBER OF BLOCKS... Davex
uses one huge file, ECP uses 9000 small ones), you can use wildcards (can
ECP?  How?), remove bothersome ProDOS devices, "update" command is good
for making backups of your work (only copies what has been changed), there's
a hex->binary converter built in, and it can launch ProDOS 16 files.

The only advantage of ECP16 (ECP8 has none) is that it is a SYS16 files, and
therefore doesn't have to reload ProDOS 16 to execute an EXE of SYS16 file.
I can't say for sure, but this means that it will be able to do things with
APW files that Davex can't.  Shell scripts are sort of nice, but they aren't
used often (Davex allows you to execute things in text files, but doesn't
have if/then clauses.  Oh well.)

Davex is $25, ECP8 is $30, ECP8/16 is $40.

I probably could have given a better review of ECP if the author had put
more commands in the ftp-able files, but he chose not to.  I would recommend
repaying Dave Lyon's trust by using his superior program, and paying his $25.
[ Too bad I'm broke.  Don't worry, David, I haven't forgotten. ]

Disclaimer: No, I'm not a relative of David Lyons, I don't know him, and
	this is the first contact I've ever had with him.  This is an
	unbiased review of two similar products.  If you don't like it please
	forward all mail to /dev/null, where it will be treated appropriately.

[ setenv PRAISE off ]

Was there a question?

> Jim Elliott                       /    ...!seismo!uunet!steinmetz!crd!elliott

-- 
laba-4an@widow.berkeley.edu (Andy McFadden)

laba-4an@web4d.berkeley.edu (Andy McFadden) (05/09/88)

It appears that the Davex program is rather huge... I just got a copy of
Davex mailed to me which filled both sides of a 5.25 disk (mailed FOR FREE,
no less.  Honest, David, I'm going to get a job soon!)  The back side
has the vstore, vrestore, the appendix on writing your own commands, and
some example source files.

I recommend this to ANYONE who does ANYTHING with ProDOS.  The filetype
change command (wanna convert BIN to SYS?) is another (very useful) thing I
forgot to mention (ECP does have this... but who wants to put up with the
keyclick? I don't think the "silent" patch was included in the posting...).

Excuse me, I'm going to go "update" my davex files... new things get added,
updated versions of files get updated, my own aliases (which are newer
than any of the disk stuff) are left alone...

Think I'll start using Merlin Pro again...

-- 
laba-4an@widow.berkeley.edu (Andy McFadden)