A86: DOWN+LEFT patch
[Prev][Next][Index][Thread]
A86: DOWN+LEFT patch
here is a patch, it works, lets you turn calc off, etc. it has been
hibernating on my hard drive, i forgot to post it. ignore the part about
it fixing the battery message, it only does that some if any of the
time. Bryan, post this and the source (both attached). description "DOWN
+ LEFT Patch 1.0", just like that (please)
oh, and this won't work w/ SQRXZ because it uses IM 2. sorry. you can
rewrite it to use a _alt_interrupt_exec instead, it shouldn't be TOO
much slower. get rid of the "ex af,af'" and change all the "jp $0039" to
"ret"
--
=====================================
= =
= Kirk Meyer (mailto:_@ibm.net) =
= http://www.bigfoot.com/~kirkmeyer =
= =
= "Set your affection on things =
= above, not on things on the =
= earth." Colossians 3:2 =
= =
=====================================
**TI86**
TI-86 asm program store in prgm variable. T D patch D B Ž(íV! ÔÔ 6Óí°!i×ÓÓ í°>ÔíGí^É:´Áþ8 þ 0íVÃ9 ÛË_Ê9 ˇÓÃ9 |
;this fixes the DOWN+LEFT (and other key) bug as well as fixing the bug where
;if you hold down ENTER, etc. while turn it on up pops the battery message.
;(that's a terrible sentence that isn't one :) DRAWBACKS:
; * if a game uses IM 2, you will have to reinstall it
; * it uses the _ALT_SLINK and _ALT_ON areas of the RAM. this mean DO NOT
; install a SLINK or ON hook while you have my bug fixer installed
; * if you go to the memory reset screen it will be disabled, just reinstall
; it. this is so that the 86 doesn't lock if you reset the calc. in a
; future version i'll fix it so it uninstalls if you push YES.
;
; version 1.0 by Kirk Meyer _@ibm.net
; if you find any bugs, e-mail me. this version allows the calc to turn off.
; it should work on 1.1, 1.2, 1.3, ... but if it doesn't say so.
.org $D748 ;_asm_exec_ram
im 1
ld hl,$D400
ld de,$D401
ld bc,$0100
ld (hl),$D3
ldir
ld hl,int_handler
ld de,$D3D3
ld bc,int_end-int_handler
ldir
ld a,$D4
ld i,a
im 2
ret
int_handler:
ex af,af'
ld a,($C1B4) ;_CXCURAPP
cp $1D
jr c,int_ok
cp $20
jr nc,int_ok
im 1
jp $0039
int_ok:
in a,($03)
bit 3,a
jp z,$0039
res 0,a
out ($03),a
jp $0039
int_end:
.end
Follow-Ups: