[A83] Re: statvars...??? [Ti83+]


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

[A83] Re: statvars...??? [Ti83+]




> Van: Dan Englender <dan@calc.org>
> 
> > What mem-areas are used by Ion on the Ti83 anyways? I hate it that Joe
> > didn't document his shells like the others (exept Bill Nagel) did...
> ........Ion uses cmdShadow, and that's about all.

Thanks a lot (but that still doesn't tell me why it is having problems)

> > Could my interrupt-problem be related to that?
> >
> > BTW: I found out what the 'bug' is when using the MirageOS interrupt
with
> > the z88dk, the MirageOS interrupt probably *only* does a "exx \ ex
> > af,af"... [Most] z88dk programs also uses the shadow registers, so the
> > interrupt program should save them [too], like push/pop'ing them on the
> > stack.
> > To fix this I now just install my own interrupt, also when compiling
for
> > MirageOS.
> .........This most certainly isn't a bug.

That why I called it a 'bug'...

>  The MirageOS interupt uses the
> shadow registers because it's an interrupt, that's what interrupts do :)

It doesn't seem to be quite the fact on all Z80 platforms..

>  In
> fact, that's what TIOS's interrupt does as well.  How do you manage with
> TIOS's interrupt running?

See my answer on "Re: Interrupt troubles [83, Ion]" by Kirk Meyer. the TIEI
and TIDI stuff.

>  If you're assembling specifically for MirageOS
> (IE. not an Ion program running on MirageOS, you can just set IM 1 at the
> beginning of an Ion program if you don't want the MirageOS interrupt
> running), then I'd suggest trying to find a way to work around this. 
People
> generally like very much to be able to use the tasker while programs are
> running.  If you need your own interrupt, you can use MirageOS custom-int
> procedure, and if you need to use shadow registers out side of the
> interrupt, you can di \ ei during that section.  Of course it's your
> program, so you can decide whatever you like :)

So you say we should recode the compiler to not use shadow regs, and to
scan thrue all the libs that have been made to change (..clobber..) the
code to not use the shadows? I think it will take a while before we do
that...
Most of the z88dk's math-functions and graphics routines use the shadow
register, so that would need a l-o-o-o-o-t of recode to make the MirageOS
interrupt work...

> The one thing I don't get is how you manage to not have problems with the
> TIOS interrupt, which also destroys shadow registers, but do have
problems
> with MirageOS interrupt.

The TIEI / TIDI stuff... (and note it was the first port that needed this)

	Henk Poley