[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: vm02: calling all IIcs - Take 2
- Subject: Re: vm02: calling all IIcs - Take 2
- From: mdj <mdj.mdj@gmail.com>
- Date: Thu, 28 Aug 2008 23:12:13 -0700 (PDT)
- Complaints-to: groups-abuse@google.com
- Injection-info: a8g2000prf.googlegroups.com; posting-host=124.171.188.32; posting-account=gKwMEAoAAACgdZoRArZlfcCSOA8KWMxg
- Newsgroups: comp.sys.apple2, comp.sys.apple2.programmer
- Organization: http://groups.google.com
- References: <inLtk.23148$N87.19845@nlpi068.nbdc.sbc.com>
- User-agent: G2/1.0
- Xref: g2news1.google.com comp.sys.apple2:2900 comp.sys.apple2.programmer:707
On Aug 29, 2:59 pm, David Schmenk <dschm...@YUCH.gmail.com> wrote:
> Thanks again to Tom for trying this out. Maybe I can convince him to
> try this one out:
>
> http://schmenk.is-a-geek.com/tarfiles/VM02ALPHA3.DSK.zip
>
> I also discovered a couple of other issues now fixed. Certain ROM
> routines will disable interrupts. Some of my sample classes that call
> ROM routines for low res and hi res graphics all of the sudden stopped
> responding to interrupts. I now re-enable interrupts after every native
> method. I also discovered that my comparison opcodes would adjust the
> stack pointer, then compare the values that were now above the stack.
> Tsk, tsk. When an interrupt would occur during the comparison, the
> values would get trashed.
>
> Glen Bredon wrote a nifty little TSR style program that would hook the
> VBL interrupt to keep time. His notes mentioned problems with various
> IIc models. He actually didn't bother calling the mouse firmware to
> service the interrupt on a IIc. The VBL interrupt would continue
> interrupting anyway. So I now look to see if any hardware claimed the
> interrupt. If not, I assume it's the VBL interrupt. Hope this works,
I wasn't aware of any ROM routine that disabled interrupts without re-
enabling them. At least in a //c, the ROM routines should follow the
PLP
SEI
...
PHP
idiom for interrupt handling to avoid re-enabling in the case where
they were already disabled. If there is one, that counts as a bug
IMO...
Also, re the mouse, there's a particular mouse mode you can call
SETMOUSE in which doesn't require that the requests be handled with a
SERVMOUSE.
It's looking good! Works flawlessly on my IIe (4Mhz Zip Chip on or
off). I'm eagerly awaiting STARTUP protocol support so I can launch
apps via a program selector (and graceful quits of course) :-)
Matt