TIP: Click on subject to list as thread! ANSI
echo: apple
to: comp.sys.apple2,comp.sys.apple2.pro
from: mdj
date: 2008-08-30 18:56:42
subject: Re: vm02: calling all IIcs - Take 2

On Aug 31, 10:37=A0am, "Michael J. Mahon"  wrote:
> mdj wrote:
> > On Aug 29, 9:46 pm, David Schmenk  wrote:
>
> >> Thanks, I'll look more into the STARTUP protocol. =A0Which program
> >> selector do you use that implements it? =A0I already parse command lin=
e
> >> arguments at the "main class:" prompt, so it
shouldn't be a stretch. =
=A0As
> >> for quits, I'm being a little conservative since I blow away the ProDO=
S
> >> quit code for my own uses. =A0It will get worse when I use more reserv=
ed
> >> ProDOS memory on a 128K machine ;-) =A0Not sure how well ProDOS will
> >> recover after my mucking about.
>
> > I use ProSEL, but they all follow the same technique AFAIK. I assume
> > it's a simple matter of rescanning the input buffer at launch.
> > BASIC.SYSTEM uses this technique to allow launching BAS and BIN files
> > from a selector...
>
> I thought that was done by planting the path at a certain spot a few
> byte after $2000 and marked as "present" by a $EE $EE (or something)
> sentinel, followed by a length byte and the STARTUP path.
>
> The path is poked into the slot by the selector before handing over
> control.

Actually, you're right. I just checked the specifics in the manual.
SYSTEM programs are supposed to start with a JMP instruction, which
can then be followed optionally by $EE $EE following that there would
be a (presumably) 65 byte buffer having the length of the argument
plus the argument (pascal string style)

That being the case, it should be pretty simple to add it to the
loader

> > I see what you mean with the quit code... Perhaps you could copy it to
> > the heap area and trash it only when memory becomes tight? As for 128k
> > systems, that's nice and easy. As long as /RAM is connected when your
> > SYS program starts, you can disconnect it then reclaim the entire aux
> > bank for your own purposes. It's only when /RAM is disconnected at
> > launch that the Aux LC reserved area must be respected.
>
> Maybe the Quit code should restart the Java environment after an
> application runs...

Even better, the loader could save the area to the end of a small
binary program that can sane-ify the environment before issuing a MLI
QUIT

Matt
--- SBBSecho 2.12-Win32
* Origin: Derby City Gateway (1:2320/100.2008)
SEEN-BY: 10/1 3 34/999 106/1 120/228 123/500 140/1 222/2 226/0 236/150 249/303
SEEN-BY: 250/306 261/20 38 100 1404 1406 1410 1418 266/1413 280/1027 320/119
SEEN-BY: 393/11 396/45 633/260 267 712/848 800/432 801/161 189 2222/700
SEEN-BY: 2320/100 105 200 2905/0
@PATH: 2320/100 261/38 633/260 267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.