91Fermer93
Kevin KoflerLe 15/05/2009 à 00:23
Folco (./89) :
Je te signale qu'il y a aussi cette macro dans TIGCCLIB

Faux. SetIntVec de TIGCCLIB a été corrigé pour la Titanium proprement:
#define SetIntVec(i,h) ({asm volatile ("bclr.b #2,0x600001");(void) (*(INT_HANDLER*)(i) = (h));asm volatile ("bset.b #2,0x600001");})
TIGCCLIB n'a jamais utilisé 0x200000.
et que PpHd ne va pas virer ce code autrefois safe pour des questions de compatibilité évidente.

Sauf que le RAM_CALL est nouveau dans PreOs (rajouté exprès pour la Titanium), il n'y avait pas d'equate du tout avant, donc les programmes doivent forcément être portés de 0x400XX à GHOST_SPACE+0xXX, donc pourquoi pas les porter proprement tant qu'on y est? Ça ne prend pas plus de temps de mettre bclr.b #2,0x600001; move.l ...,0x64; bset.b #2,0x600001 (et c'est aussi compatible avec Iceberg). Ce RAM_CALL ne sert strictement à rien (mais il est effectivement tard pour le supprimer parce qu'il peut y avoir des programmes foireux qui utilisent ce RAM_CALL maintenant, mais c'était une erreur de la part de PpHd de le rajouter! Et il ne m'a pas voulu m'écouter quand je lui ai signalé ça).