@ SWI & system call code dispatcher starts
000000F0: E92D4003 stmdb sp!, {r0, r1, lr}
000000F4: E14F0000 mrs r0, SPSR // L'ERREUR EST ICI (ca devrait etre mrs r0, CPSR)
000000F8: E3801080 orr r1, r0, #128 ; 0x80
000000FC: E12FF001 msr CPSR_fsxc, r1
00000100: E51E0004 ldr r0, [lr, -#4] // get SWI number..
00000104: E3C004FF bic r0, r0, #-16777216 ; 0xff000000 // mask it out
00000108: E3500000 cmp r0, #0 ; 0x0 // SWI #0 is treated separately
0000010C: 1A000006 bne 0000012c
Le résultat de ce bug, c'est qu'il est impossible d'utiliser les SWI de la gp32 (donc certaines fonctions des SDK) depuis un autre mode que le mode superviseur. Les programmes gp32 sont lances par defaut en mode superviseur, donc ce n'est la plupart du temps pas tres grave, mais si vous faites des handles IRQ, genre VBlankInterrupt, vous ne pouvez pas utiliser certaines fonctions des SDK.
merci gamepark :/