home *** CD-ROM | disk | FTP | other *** search
- ;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
-