Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!njin!princeton!phoenix!blackman From: blackman@phoenix.Princeton.EDU (Scott Michael Blackman) Newsgroups: comp.sys.apple Subject: Re: Hyper C Message-ID: <10237@phoenix.Princeton.EDU> Date: 4 Sep 89 03:04:25 GMT Reply-To: blackman@phoenix.Princeton.EDU (Scott Michael Blackman) Organization: Princeton University, NJ Lines: 49 Here's a technical tidbit. Working a little randomly tonight, I decided to try to fix Hyper C to work on the IIgs. As some of us know, it won't boot on the IIgs, although it works fine on an enhanced //e. Here's the progress I made, and if anybody wants to pick up where I left off, fine. I've identified the problem: The Hyper C boot routine immediately loads $D000-FFFF into memory. If you can interrupt the boot process at any point in the three-track load (go into the control panel, use a WildCard, etc.), then $F8CD holds the JMP instruction to coldstart Hyper C after the boot. Redirecting this to a routine that sets ROM and jumps to the monitor, you can then alter the BRK vector and routine until it suits you. The problem lies with the IIgs BRK handlers. Hyper C uses a subroutine called with a BRK, and the vector it uses is $FFFE-FFFF. (It is initialized to $D0D4, and the BRK handler itself is at $D0E1) In the IIgs, this vector is fixed in ROM. Changing this to another vector has been fruitless, for one reason or another. The easiest method, it seems, would be to fix the IIgs BRK handler to emulate the old //e handlers and JMP to $D0E1. Unfortunately, this hasn't worked so far, and I'm about burned out about it. At $D0E1, Hyper C expects the stack as follows: (top) Status Register Low byte of BRK address plus two (?) High byte . . (bottom) . My attempts have been to use the vector at $3F0, and set up the stack to imitate the $FFFE-FFFF stage. The calling address is in $3A.3B at that point. Another strategy would be to use the IIgs BRK vector at $E1/0070.74 and to try to imitate from there. That's it...Of course, if anybody has distributed the ProDOS version of it, that is, if we've decided that the copyright has expired 8-), then I would be delighted if somebody would fill me in. Thanks for your attention... Scott Blackman blackman@phoenix.princeton.edu blackman@pucc.bitnet