Voilà donc mes questions :
Es-ce que Virtual Ti emule bien les interruptions sans l'appel du ti os ? (parce que avec ça marche bien et sans ça plante.)
J'ai suivit un tutoriel pour les interruptions et voilà ce que ça donne :
interrupt_start:
ex af,af' ;Échange les registres af et af'
exx ;échange les registres hl bc et de avec leur registre 'shadow'
ld hl,(temps)
inc hl
ld (temps),hl
ld hl,(deuxcentieme)
inc hl
ld (deuxcentieme),hl
jp $003A ;exécute l'interruption du TiOS, sans passer par les ex af,af' et exx
interrupt_end: ;On spécifie la fin de l'interruption pour sa copie à l'adresse $9a9a
;interrupt_start:
; ex af,af' ;Échange les registres af et af'
; exx ;échange les registres hl bc et de avec leur registre 'shadow'
; ld hl,(temps)
; inc hl
; ld (temps),hl
; ld hl,(deuxcentieme)
; inc hl
; ld (deuxcentieme),hl
; ld a,$08 ;\
; out ($03),a ; |On resette les triggers pour que
; ld a,$0F ; |l'interruption redémarre la prochaine fois
; out ($03),a ;/
; ex af,af' ;On remet les registres normaux
; exx ;idem
; ei ;On réactive les interruptions
; reti ;On quitte l'interruption
;interrupt_end:
J'ai aussi un problème avec la lecture en flash, au lieu de copier les donnée de la flash ça copie que des $FF.
chargeniveau:
ld (FindAlphaSens+1),a
chargeniveaumemesense:
chercheniveau:
FindAlphaSens: bcall(_FindAlphaUp)
ret c
bcall(_chksysvar)
ld a,b
or a
jr z,appvarenram
push bc
ex de,hl
ld de,extention
ld bc,5
push de
push hl
bcall(_flashtoram)
pop hl
pop de
pop bc
appvarenram:
ex de,hl
inc hl
inc hl
ld a,(hl)
cp 'B'
jr nz,chercheniveau
inc hl
ld a,(hl)
cp 'N'
jr nz,chercheniveau
inc hl
ld a,(hl)
cp 'C'
jr nz,chercheniveau