Re: A86: LCD stuff


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

Re: A86: LCD stuff




That is because you turn off the lcd AND disable timer interrupts (both are
done through port 3).  Without timer interrupts, the only interrupt left is
the ON key.

> Now that can't be, because I use this code to turn off the calc.  I
> don't have any DI instructions in there.  If the halt finished because
> of a normal interrupt, then it would go to the code to turn the screen
> on, but mine never turns it back on until ON is pressed.
>
> Cassady Roop
>
> David Phillips wrote:
> >
> > http://ti86.acz.org/routines/calcoff.asm
> >
> > That isn't entirely correct.  To turn off the calc, you turn off the LCD
> > _and_ disable the timer interrupts.  Then you go into HALT mode, which
waits
> > for interrupts.  Normally, this would break somewhere in the next 1/175
of a
> > second (according to my experiments that's closer than 1/200).  But of
> > course, you disabled them.  So the only interrupt left to occur is the
ON
> > interrupt (which I think is an NMI, but can't say for sure...but if not,
> > shouldn't DI \ HALT lock the calc?).  Which is why it sits at the HALT
until
> > the ON key is pressed, which then executes the code to turn the calc
back
> > on.
> >
> > If you're further interested, I suggest reading the interrupt sections
on 86
> > Central.  It's more or less accurate, and has dissassembled, commented
> > portions of the boot and interrupt code, so you can really see and
> > understand how it works.  Also explains how to fix the down-left bug...
> >
> > > check out this
> > >
> > > CalcOff:
> > >  ld a,1
> > >  out (3),a
> > >  halt
> > >  ld a,11
> > >  out (3),a
> > >  res onInterrupt,(iy+onflags)
> > >  ret
> > >
> > >
> > > i got it somewhere from acz
> > > the first 2 lines turn off the screen (i believe)
> > > then it waits for ON to be pressed
> > > then resets the on key press so the system doesn't act
> > > on it
>
>



References: