Re: A86: LCD stuff


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

Re: A86: LCD stuff




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


Follow-Ups: References: