27Fermer29
deephLe 19/06/2011 à 22:19
Voilà :

CDDC4ECDFC4E1D2803ED56C9F32100841101840100013682EDB0215493118282011600EDB03E84ED47ED5EFBC9F3D9083A0A803DCA6A93DB03E6FED30308D9FBC33800D908ED56FBED4D
End
0000
End

.nolist
#define	TI83
#define	_RCLANS		$4EDC
#define	_CONVOP1	$4EFC

#include	"ion.inc"

.list
	.org $9327

debut:
	call _RCLANS
	call _CONVOP1
	dec e
	jr z,installer_interruption
	im 1
	ret

installer_interruption:
	di
	ld hl,$8400
	ld de,$8401
	ld bc,256
	ld (hl),$82
	ldir

	ld hl,debut_interruption
	ld de,$8282
	ld bc,fin_interruption-debut_interruption
	ldir
	ld a,$84
	ld i,a
	im 2
	ei
	ret

debut_interruption:
	di
	exx
	ex af,af'

	ld a,($800A)
	dec a
	jp z,stop_interruption

	in a,($03)
	and %11111110
	out ($03),a

	ex af,af'
	exx
	ei
	jp $0038

fin_interruption:

stop_interruption:
	exx
	ex af,af'
	im 1
	ei
	reti

.end

Théoriquement ça vérifie si la calc va s'éteindre automatiquement et si c'est le cas ça désinstalle l'interruption (ce qui permet l'accès à la touche ON).

Par contre je pense qu'à l'allumage ça va quitter ton programme TI-Basic, à voir si ton hook le relance bien...

À tester donc !

edit : chickendude > Un truc important mais qui m'avais échappé aussi c'est qu'il est important de désactiver les interruption pendant l’exécution de la notre.