[comp.sys.apple] Multitasking GS?

lwv@n8emr.UUCP (Larry W. Virden) (05/30/88)

several years ago there was a company in Va advertising a board for the
II line which used an Intel memory managment chip on a card to allow II
programs to have virtual memory and multitasking (i believe).  It would
manage memory so as to allow one to have programs up to 32 meg in size or
so they advertised.

Does anyone else remember this one, and even better, anyone out there ever
see or own one of these?  With the GS's expanded memory addressing and the
downslide of hard disk costs, it seems like NOW would be a great opportunity
for such a board.  If these things are still available (but just not advertised
- the sad fate of many II items these days) perhaps we can organize a
resurgence?

-- 
Larry W. Virden	 75046,606 (CIS)
674 Falls Place, Reynoldsburg, OH 43068 (614) 864-8817
osu-cis!n8emr!lwv (UUCP)	osu-cis!n8emr!lwv@TUT.CIS.OHIO-STATE.EDU (INTERNET)
We haven't inherited the world from our parents, but borrowed it from our children.

delaney%wnre.aecl.CDN@ean.ubc.ca (05/31/88)

While I don't remember this board in the latest Open APPLE.  There is mention o
f
a new 16265 computer on a chip which will be 2 or 3 65816, serial, real time 
clock a nd a few others on onr chip.  There was also mention a few months 
back in either the same magazine or ASK the GURU in computer shopper of someone
building an external board with multiple 65c02s for parallel processing.

   Looks like the old apple may live and live and line on ever more powerful if
western design has their way.

Grant

ralphw@ius3.ius.cs.cmu.edu (Ralph Hyre) (06/03/88)

In article <566@n8emr.UUCP> lwv@n8emr.UUCP (Larry W. Virden) writes:
>
>several years ago there was a company in Va advertising a board for the
>II line which used an Intel memory managment chip on a card to allow II
>programs to have virtual memory and multitasking (i believe).  It would
>manage memory so as to allow one to have programs up to 32 meg in size or
>so they advertised.

Here's something related, but I have no idea how you'd put in in an
Apple II.  The Apple III memory-management model might be worth a look,
since I believe you could put 256K in those.

With a //e, you could do bank-switching games to achieve similar effects.
Minix and the PC version's 64k model should fit reasonably well.

I don't know what to do about the ][+.  I recall looking at the ][+ specs, and
I didn't see any way to to put something in slot 0 to prevent accessing memory
on the motherboard  (I guess you could hack the RAM configuration blocks 
around, and even pull the chips off the motherboard and stick them somewhere 
else, but I prefer plug-in-board solutions.)

Article 1610 of comp.os.cpm:
Path: pt.cs.cmu.edu!rochester!cornell!batcomputer!itsgw!steinmetz!uunet!pilchuck!del
From: del@Data-IO.COM (Erik Lindberg)
Newsgroups: comp.os.cpm
Subject: Re: Ithaca Intersystems 256KDR S-100 memory
Message-ID: <898@pilchuck.Data-IO.COM>
Date: 15 May 88 20:39:22 GMT
References: <1481*kenw@noah.arc.cdn>
Reply-To: del@pilchuck.Data-IO.COM (Erik Lindberg)
Organization: Data I/O Corporation; Redmond, WA
Lines: 53

In article <1481*kenw@noah.arc.cdn> kenw%noah.arc.CDN@ean.ubc.ca (Ken Wallewein) writes:
>
>  I have a couple of Ithaca Intersystems 256KDR S-100 memory boards which I'd 
>really like to use. 512 kb would be rather nice, and there's more where they 
>came from. 
>

Oh yeah? How can *I* get some?

>keep some memory common, to execute in, won't it? The only thing I can think
>of is to hack up the board, moving the boards address bits 16 through 23 down
>one where they connect to the bus, putting them on 15 through 22, and tying
>the internal bit 15 low (I think). That would make everything show up in the
>low 32k only. 
>  
>     Surely there's a better way...? 
>

You could do what I did. A little awkward, but the results were quite nice.
Using a wire wrap board that allows orientation of a socket with no
restrictions, place a 40 pin three level W/W socket such that it's pins
can be inserted into the CPU board Z80 socket, sandwich style. Also place
the TI MMU chip (it's a 40 pin chip, 7461x series) on the board somewhere.
Put the Z80 on another W/W socket real close to the main CPU socket, and
connect all same-numbered pins together, except the ones that need to be
interrupted to the MMU chip. A little bit of decode logic and you're in
business: A two board CPU sandwich that allows you to map any 4k block
in 24 bit space to any 4k block in 16 bit space.

In the interest of simplicity, I recommend that you do not attempt to
implement the register read features of the chip. It will conflict with the
on board buffers of the main CPU and cause you no end of grief if you try.

Also, since the data bus of the mapping chip during map register access is
also the address bus input, I found that rather than buffering and steering
the data bus it was far easier to just program the chip through the address
bus of the Z80. It is a seldom used feature of the Z80, but you can write
to a port while generating an 8 bit port address on the low byte of the 
address bus, while putting another register on the high byte of the address
bus. That register will be either the "A" or the "B" register, depending on
which output instruction you are using.

I have actually implemented this kludge on the Computime Z80 CPU board. I got
carried away and put a DMA chip and SCSI interface on the W/W board, 
since it bugged me to see all that wasted real-estate. Unfortunately, the
added capacitive loading of the extra chips and wiring made the system
unreliable at 6Mhz, and I had to throttle back to 4Mhz. Grumble. In
retrospect, board real-estate is cheap ($35) I would have been better off
just using two W/W boards.

-- 
del (Erik Lindberg) 
uw-beaver!tikal!pilchuck!del
-- 
					- Ralph W. Hyre, Jr.

Internet: ralphw@ius2.cs.cmu.edu    Phone:(412)268-{2847,3275} CMU-{BUGS,DARK}
Amateur Packet Radio: N3FGW@W2XO, or c/o W3VC, CMU Radio Club, Pittsburgh, PA

jm7e+@andrew.cmu.edu (Jeremy G. Mereness) (06/08/88)

A multi-tasking GS would be a lot of fun, but from working with both
Mac //s on Multifinder and Unix-XWindows (still experimental) on RT's and Sun
3's,
I have found that next to speed, multitasking needs a big screen upon which to
display all
the currently online applications. Thus, I have found even the Mac // to be a
bit lacking in the multitasking department compared to XWindows. The GS
would have a little more trouble than that.

Perhaps a more practical apprach at this point would be to perfect "false
multitasking"
on the GS before burning the true thing out of it; by this I mean being able to
have
more than one application open at once, but all background programs would be
on "hold." The inspiration for this comes from Roger Wagner's SWITCHER program
which
can have switch between 3 different applications. It works great from what I
have heard,
but only with under Prodos 8.

If there was some way to make a 16 bit switcher that would be limited only to
the
amount of memory in the machine, I think many of our desires in multitasking
would be filled; switching between applications would not require one to close
and quit and
restart and reload, kind of like what the fabled GSWorks would provide.

What would be even nicer is an option to open a window running Prodos 8, thus
truly
bringing the two worlds of the GS together in one environment.

It would take a lot of memory, but its possible, isn't it?


Capt. Albatross
jm7e+@andrew.cmu.edu

============
disclaimer: These opinions are mine and will remain so until more intelligent
or
insightful or informed people are kind enough to show me the error of my ways.
Remember: A mind is a terrible thing to baste.

gwyn@brl-smoke.ARPA (Doug Gwyn ) (06/09/88)

In article <8Wf-=Jy00V4McuU0C4@andrew.cmu.edu> jm7e+@andrew.cmu.edu (Jeremy G. Mereness) writes:
>It would take a lot of memory, but its possible, isn't it?

It isn't really practical to use the SOFTSWITCH technique with 16-bit
programs.  However, with the memory manager and loader that the GS has,
most of the basic hooks are present for reasonable multitasking.  The
hard part is getting tasks to relinquish the processor so that others
have a chance to run.  SOFTSWITCH relies on the control-panel interrupt
for manual context switching; a 16-bit version would leave all the
program memory in place and save just the display memory and a little
bit of stack.  The memory manager takes care of parceling out chunks
of memory so that several applications could in theory be coresident.
However, many of them are "poor memory citizens" and hog all available
memory when they start up, preculding any further program loading
until they terminate.

NETOPRMS@NCSUVM.BITNET (Michael Steele) (06/09/88)

  Multitasking would be GREAT!  What I would like to see specifically is
  a multitasking modem program..like ProTERM.  It would be nice to download
  file while going off and do something else...like pack another file ready
  for uploading.  SWITCHER (or rather Softswitch) works great for programs
  that don't generate external interupts...like term programs.  It locked up
  when I tried to "freeze" ProTERM and go do something else.  Other wise it
  works fine.  I happen to BBS a lot and would find it immensely useful to
 do something else while downloading.  I am invious of those who own Amigas and
 are able to run a BBS in the background while playing a game.  I would be
 willing to sacrifice some clock speed to run a BBS...but not my whole computer
    I own a GS.  I think the first innovative programmer to come out with
 such a "pseudo-multitasking" program will become very wealthy.  At least I
 would buy a copy (Hint, Hint)

 On other matters I am looking for good Apple BBS's that are PCPable and also
 information concerning Beta testing software...any kind of software!
 ---------------------------------------------------------------------------
 Michael Steele NETOPRMS@NCSUVM.BITNET co-sysop of the NCSU Apple Users Group
            BBS auto-verification, PCP SIG, 20 Megs, PCPable, Tech disscussion
                   Call now!  919-783-9010  (PC Pursuit NCRTP)

ralphw@ius3.ius.cs.cmu.edu (Ralph Hyre) (06/10/88)

In article <8048@brl-smoke.ARPA> gwyn@brl.arpa (Doug Gwyn (VLD/VMB) <gwyn>) writes:
>In article <8Wf-=Jy00V4McuU0C4@andrew.cmu.edu> jm7e+@andrew.cmu.edu (Jeremy G. Mereness) writes:
>>It would take a lot of memory, but its possible, isn't it?
>
>....  The memory manager takes care of parceling out chunks
>of memory so that several applications could in theory be coresident.
>However, many of them are "poor memory citizens" and hog all available
>memory when they start up, preculding any further program loading
>until they terminate.

This can be fixed by telling the memory manager to 'lie' and only
give out for 'reasonable' sized parcels.  Of course, if you have no
way of knowing which program is asking for something, you need to be able to
guard against one program asking for all the memory a little bit at a time.
The Switcher and Multifinder systems for the Mac must have some way
of doing this, since the Mac wasn't designed to multitask either.


-- 
					- Ralph W. Hyre, Jr.

Internet: ralphw@ius2.cs.cmu.edu    Phone:(412)268-{2847,3275} CMU-{BUGS,DARK}
Amateur Packet Radio: N3FGW@W2XO, or c/o W3VC, CMU Radio Club, Pittsburgh, PA

AWCTTYPA@UIAMVS.BITNET ("David A. Lyons") (06/14/88)

>Date:         Thu, 9 Jun 88 01:11:25 GMT
>Reply-To:     Info-Apple@BRL.ARPA
>From:         Doug Gwyn <gwyn@brl-smoke.arpa>
>Subject:      Re: Multitasking GS?

>It isn't really practical to use the SOFTSWITCH technique with 16-bit
>programs.  However, with the memory manager and loader that the GS
>has, most of the basic hooks are present for reasonable multitasking.
>The hard part is getting tasks to relinquish the processor so that
>others have a chance to run.

It's not really that big of a problem--you could do it like
MultiFinder does on the Macintosh, through GetNextEvent calls
(sometimes calling GetNextEvent gives another application control for
a while).  You'd also want to patch some Menu Manager functions to
allow clicking at the right end of the menu bar to cycle to the next
application.  Some applications will be less standard & won't call
the menu manager or maybe not even the event manager--that's OK; you
can still install a routine that hooks into the keyboard
microcontroller hooks and detects certain keypresses (I think).

>SOFTSWITCH relies on the control-panel interrupt for manual context
>switching; a 16-bit version would leave all the program memory in
>place and save just the display memory and a little bit of stack.

Actually it wouldn't be *necessary* to save the display, at least
not for applications that use the window/menu managers, since those
applications can reconstruct the display if the system asks them to
(try RefreshDesktop(nil) ).  If the display gets rebuilt after you
use the Meltdown NDA (by Jason Harper), the multitasker could do the
same thing. -- The applicatiosn could have their own stacks, too;
the multitasker would just need to keep a table of the stack pointer
values of the various applications.

--David A. Lyons  a.k.a.  DAL Systems
  PO Box 287 | North Liberty, IA 52317
  BITNET: AWCTTYPA@UIAMVS
  CompuServe: 72177,3233
  GEnie mail: D.LYONS2

davep@pro-graphics.cts.com (David Pirmann) (01/14/90)

In-Reply-To: message from SAB121@PSUVM.BITNET

A multitasking GS would be nice.  I don't believe such a thing exists (modem
transfers in the bkground, Appleworks in the foreground).  It would be nice,
but highly unlikely.  

 ProLine: davep@pro-graphics                  "We are all in the gutter,
    UUCP: ...crash!pro-graphics!davep          but some of us are looking at
ARPA/DDN: pro-graphics!davep@nosc.mil          the stars."  -OSCAR WILDE
Internet: davep@pro-graphics.cts.com

rnf@shumv1.uucp (Rick Fincher) (01/15/90)

In article <6456.apple_ii.info-apple@pro-graphics> davep@pro-graphics.cts.com (David Pirmann) writes:
>In-Reply-To: message from SAB121@PSUVM.BITNET
>
>A multitasking GS would be nice.  I don't believe such a thing exists (modem
>transfers in the bkground, Appleworks in the foreground).  It would be nice,
>but highly unlikely.  
>

AppleWorks GS does this already.

Rick

toddpw@tybalt.caltech.edu (Todd P. Whitesel) (01/15/90)

In article <6456.apple_ii.info-apple@pro-graphics> davep@pro-graphics.cts.com (David Pirmann) writes:

>A multitasking GS would be nice.  I don't believe such a thing exists (modem
>transfers in the bkground, Appleworks in the foreground).  It would be nice,
>but highly unlikely.  

Applications like AWGS (pollywogs!) should easily be able to handle simple
multitasking, since they all use the same event loop and most of the time your
background tasks are all interrupt driven anyway. (With the event loop
structure it is easy to code in the rest.)

But that's just for one application. Believe it or not, the //gs is currently a
more robust _environment_ for mulititasking than MultiFinder. To wit:

	1) gs toolbox has built in global message center. Mac does not.
	2) gs has TaskMaster to handle system events. Mac does not.

I hope both of these appear in the Mac soon. Desktop programming is bad enough
already. They waited too long to give the gs a resource manager.

However, no one has tried to implement such a beast on the gs yet, for obvious
reasons. MultiFinder on the Mac was hell, and even with the hindsight from that
put into the gs toolbox it could get pretty hairy. I contend that this is more
the fault of Apple's o/s architecture than anything else.

MultiFinder gs, I believe, is doable, maybe desirable, but it would force us to
go to two megs just to use it. Most gs owners don't have that kind of money
(though prices _are_ dropping!) and I suspect most of us can get along without
a MultiFinder, as we've been doing so for a while.

But I _would_ like having the option.

What I would also like is in the next post, and deserves its own topic.

Todd Whitesel
toddpw @ tybalt.caltech.edu

lbotez@pnet02.gryphon.com (Lynda Botez) (01/16/90)

>MultiFinder gs, I believe, is doable, maybe desirable, but it would force us
>to go to two megs just to use it.  Most gs owners don't have that kind of
>money (though prices _are_ dropping!)... [rest deleted]

Hey, I picked up two megs of RAM for $140 two month ago...  I'm sure prices
are even less now, maybe even $100 if you buy in volume.   BTW, the Apple IIGS
is not a "budget" computer (if you're looking for a bargain, I'm sure you'll
look elsewhere).  

I'd like to see multiFinder become an option, but we need more speed first (I
can't help but think how slow multifinder is on the Mac SE.... what would it
be like on a 2.8 mhz GS?   Hahaha).

Lynda

UUCP: {ames!elroy, <routing site>}!gryphon!pnet02!lbotez
INET: lbotez@pnet02.gryphon.com

greyelf@wpi.wpi.edu (Michael J Pender) (01/17/90)

In article <24798@gryphon.COM> lbotez@pnet02.gryphon.com (Lynda Botez) writes:
>
>Hey, I picked up two megs of RAM for $140 two month ago...  I'm sure prices
>are even less now, maybe even $100 if you buy in volume.   BTW, the Apple IIGS
>is not a "budget" computer (if you're looking for a bargain, I'm sure you'll
>look elsewhere).  

Where did you get your ram so cheap?

---
Michael J Pender Jr  Box 1942 c/o W.P.I.        ... (Mankind) has already 
greyelf@wpi.bitnet   100 Institute Rd.          used its last chance.
greyelf@wpi.wpi.edu  Worcester, Ma 01609               - Gen. MacArthur