1. Dans
db92.asm, rajouter:
RelocSPSave dc.l 0,0,0 ;pour TI-Chess
devant
SavedRegs, rajouter:
;compatibilité avec TI-Chess
move.l (a7),RelocSPSave
move.l 4(a7),RelocSPSave+4
move.l 8(a7),RelocSPSave+8
entre
move.l a1,RegA7 et
move.l a7,RelocSP et rajouter:
;compatibilité avec TI-Chess
move.l RelocSPSave(PC),(a7)
move.l RelocSPSave+4(PC),4(a7)
move.l RelocSPSave+8(PC),8(a7)
devant
movem.l RegsV,d0-d7/a0-a6, tout ça pour corriger le plantage avec
TI-Chess.
2. Dans
db92.asm, supprimer:
move.w (a0),d0
lea 1(a0,d0.w),a1
cmp.b #$F3,(a1)
bne PC_NotFound
; Reloc the TIOS table
rloop:
moveq #0,d0
move.w -(a1),d0
beq endr
moveq #0,d1
move.w -(a1),d1
add.l a0,d1
addq.l #2,d1
move.l d1,2(a0,d0.l)
bra rloop
endr:
et rajouter:
moveq #0,d0 ;programmes >32 KO
move.w (a0),d0
lea 1(a0,d0.l),a1 ;.l pour les programmes >32 KO
cmp.b #$F3,(a1)
bne PC_NotFound
; Reloc the TIOS table
rloop:
moveq #0,d0
move.w -(a1),d0
beq endr
moveq #0,d1
move.w -(a1),d1
add.l a0,d1
addq.l #2,d1
move.l d1,2(a0,d0.l)
bra rloop
endr:
;infos symboliques _nostub
cmp.w #$4e71,2(a0) ;compare avec nop
bne NoNostubSymbols ;si pas nop, pas d'infos symboliques
cmp.l #'DB92',8(a0) ;compare avec 'DB92'
bne NoNostubSymbols ;si pas 'DB92', pas d'infos symboliques
move.l 12(a0),d0
adda.l d0,a0
add.l d0,(a7)
NoNostubSymbols:
juste après
PasArchive. Ça corrige en fait 3 choses:
- le déplacement des routines corrige le problème du relogement des fichiers
_nostub archivés
- le changement du début corrige 1 des 2 problèmes avec les programmes >32 KO
- le rajout de la fin permet l'ajout d'informations symboliques aux programmes
_nostub
3. Dans
db92.asm, remplacer:
move.w $e(a0),d0
lea 2(a0,d0.w),a0
par:
moveq #0,d0 ;programmes >32 KO
move.w $e(a0),d0
lea 2(a0,d0.l),a0 ;.l pour les programmes >32 KO
pour corriger l'autre problème avec les programmes >32 KO
4. Dans
compat92.h, dans l'écran
About sur TI-92+, le nombre devant la ligne sur [ON]+[ESC] devrait être 14, pas 28.