Re: A86: LCD stuff


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

Re: A86: LCD stuff




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: