[comp.sys.apple] multitaskers/windows

GREYELF@WPI.BITNET (04/07/89)

>A lot of people have been talking about switchers, multitaskers, minix,
>etc.  Are any of you actually _working_ on any of these things?  I don't
>have the technical expertise to do this kind of programming and I know it,
>otherwise I'd give it a shot.

>I know Daemon is out there, but since I haven't gotten it from Apple2-l yet,
>I can't really evaluate it.

>Is someone trying to actually do these things or we all just spouting empty
>wishes?

>Kevin Lepard
>Bitnet:  Sasquatch@albion.bitnet

I sent Kevin a copy to prove it.  Paul Nakada?  Feel free to post the
copy of Daemon I sent any time now.  Chris?  I haven't even seen
version 1.0 of Daemon out, let alone version 2.0.

*** A warning, version 2.0 is much safer for your system, it can relocate
and protect itself.

Geva?  As for the windows project, I should have something ready for
Monday, you might want to take a peek before we repeat tthe same work.
I'm thinking of using the getbufr allocation technique to free memory
for saving the current screen.  If we wanted to demand 128K  compatibility
we could just access the ramdrive, but I think that won't be necessary.

The only problem I'm having is how to protect the memory against
a freebufr call.

As I see it now, there are 2 calls I will implement for the primitive
version:

1) Open window:  pass in y start, y end, x start, width
                 pass back: carry set, error occurred
                            carry clear, acc contains window #

2) Close window: pass in acc with window #
                 pass back: carry set, error occurred
                            carry clear, peachy keen.

A pointer list would be the easiest way to control the windows, but
this would force a maximum # of windows to be observed.
Say 128, or so.  Or the address references could be done with a linked
list, which would make the number of windows unlimited, except by memory.

I'm not worried about bells & whistles like mouse features yet,
those can wait until we all decide what else we need.

The reason I like the reference by window number is that is is possible
to close more than one window at a time.

Any comments, suggestions?
--
Michael J Pender Jr  Box 1942 c/o W.P.I.        I wrote SHELL and Daemon,
greyelf@wpi.bitnet   100 Institute Rd.          send bug reports, suggestions,
greyelf@wpi.wpi.com  Worcester, Ma 01609        checks to me.

People keep asking me if Shell or Daemon are compatible with the IIc, IIe.
YES, I wrote them on my Laser 128.  I mean, what would be the challenge to
multitasking on a IIgs?  I'll start writing dedicated gs programs when
somebody sends me one in the mail.

mattd@Apple.COM (Matt Deatherage) (04/09/89)

In article <8904070135.AA02226@wpi> GREYELF@WPI.BITNET writes:
>
>The only problem I'm having is how to protect the memory against
>a freebufr call.
>
The technique for doing this is in ProDOS 8 TN #9.  In fact, everything else
that was in the old version of this note is now covered in some manual except
how to allocate space with GETBUFR that FREEBUFR will not reclaim.

The basic technique is to alter the value of RSHIMEM ($BEFB, on BASIC.SYSTEM's
global page) after calling GETBUFR and before calling FREEBUFR.  Full details
are in the note.

>--
>Michael J Pender Jr  Box 1942 c/o W.P.I.        I wrote SHELL and Daemon,
>greyelf@wpi.bitnet   100 Institute Rd.          send bug reports, suggestions,
>greyelf@wpi.wpi.com  Worcester, Ma 01609        checks to me.

-----------------------------------------------------------------------------
Matt Deatherage, Apple Computer, Inc. | "The opinions expressed in this tome
Send PERSONAL mail ONLY (please) to:  | should not be construed to imply that
AppleLink PE: Matt DTS  GEnie: AIIDTS | Apple Computer, Inc., or any of its
CompuServe: 76703,3030                | subsidiaries, in whole or in part,
Usenet:  mattd@apple.com              | have any opinion on any subject."
UUCP:  (other stuff)!ames!apple!mattd | "So there."
-----------------------------------------------------------------------------