[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AppleTalk / Interrupts / ProDOS 8 / DOS 3.3 Launcher



In article <1993Apr7.131811.24120@actrix.gen.nz> dempson@swell.actrix.gen.nz (David Empson) writes:
>In article <1993Apr7.001936.28618@fawlty.towers.oz.au> johnmac@fawlty.towers.oz.au (John MacLean) writes:
>>David Empson writes:
>
>On a IIgs, the $03FE vector is only used if the interrupt is not
>handled by one of the IIgs's built-in interrupt handlers.  This
>includes AppleTalk interrupts, which don't involve bank 0 at all.  So
>in theory, you don't need the global page to handle an AppleTalk
>interrupt.

This appears to be perfectly correct. Last night I got the first version
of DOS 3.3 Launcher that appears to be reliable over AppleTalk.
[I've had it going for a while, but its been hanging every so often].
It was just a matter of interrupts being always enabled/disabled at
appropriate points in the code.

Just to prove this:
I patched the $3FE vector to jump to BRKs, and things never die,
indicating that that vector is not used.
I also ran BASIC.SYSTEM, and a few other programs accessing files
over AppleTalk with the interrupt areas in $BF?? zeroed out, and they
work fine.

So it looks like there will be a released version of DOS 3.3 Launcher
(2.1) that works over AppleTalk (ie: You can store the disk images on
a server, and launch them from an Apple // that shares the disk).
This may or may not work like the current version, which is rather
slow (I've already working on an idea to speed it up).

One question though, will these interrupts work in a similar way on
a //e with a workstation card, or will the $3FE or $BF?? vectors be
needed?

>Yep, DOS 3.3 cold start initializes $3D0-$3FF.  I hope you're saving
>and restoring this area (at least $3F0-$3FF).

No I'm not - although I could quite easily. A few thoughts:
If there were interrupt routines in ProDOS 8, they'd crash pretty
quickly when DOS 3.3 got in memory.
Does ProDOS 8 quit code initialise these areas?

>Just to repeat myself in detail, here is the sequence of events when
>an IRQ occurs on the IIgs.
>[Stuff deleted]
>David Empson                                                               
>dempson@swell.actrix.gen.nz    <--- Note my new E-Mail address!            

Thanks for the detailed explanation, it really helped.

-- 
Email:    johnmac@fawlty.towers.oz.au                   Phone: +61 2 427 2999
Snail:    John MacLean c/- Tower Technology             Fax:   +61 2 427 7072
          1 Apollo Place,                               Home:  +61 2 449 5930
          Lane Cove, NSW 2066, Australia.