Posté le 14/12/2025 13:53
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2025 | Il y a 213 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 14/12/2025 14:00 | #
T'es sur quel modèle ? La 9760G-II n'existe pas. C'est soit 9860, soit 9750, et au cas où y'a des G-II (2) et des G-III (3). Sur certains modèles le test mode a été supprimé.
Du reste, note que ton rts est pas pris parce que tu jmp dans le syscall au lieu de jsr, du coup ça fait un appel terminal. Et même s'il était pris ça ne sauterait pas où tu veux parce que ça prend la valeur de pr avant le delay slot (sinon le delay slot servirait à rien).
Citer : Posté le 14/12/2025 14:20 | #
Ah désolé, c'est la Graph35+ avec le nouveau OS(2.05) de la FX-9860G.
Mais ca:
.global _start
_start:
MOV.L syscall_num,R0
MOV.L do_syscall,R2
JSR @R2
NOP
.align 4
syscall_num: .long 0x00000924
do_syscall: .long 0x80010070
me donne Illegal Code Err TARGET/PC=0 au lieu de entrer le test mode
Citer : Posté le 14/12/2025 14:39 | #
Comment un fait un boucle infinit? Pourquoi pas comme ca?
.global _start
_start:
NOP
BRA _start
NOP
Citer : Posté le 14/12/2025 14:44 | #
Là c'est presque sûr que le test mode n'existe plus sur ta machine, donc l'appel de fonction retourne instantanément, et la suite de ton code s'exécute. Et là comme tu n'a pas mis de code après le jsr/nop, ça continue sur le padding du .align 4, qui contient des 0, qui sont une instruction illégale.
.global _start
_start:
NOP
BRA _start
NOP
Si c'est bien ? Tu n'as pas besoin du premier nop même.
Citer : Posté le 14/12/2025 14:52 | #
Oui c'est bien.. mais ca me donne le même erreur que souvent,mon "erreur default"(illegal code err,pc/target=0),
et c'est pas que ce syscall ne marche pas, c'est que tous les syscall ne marche pas(par example RebootOS ou mode diagnostique)
Citer : Posté le 14/12/2025 14:54 | #
Essaie Bdisp_AllClr_DDVRAM suivi d'une boucle infinie, ça devrait t'effacer l'écran ? Si ça marche pas, montre-moi le code complet.
Citer : Posté le 14/12/2025 14:56 | # |
Fichier joint
Mais le boucle infinie ne marche pas... (assembly avec un .g1a; même resultat, mon erreur default)
.global _start
_start:
MOV.L syscall_num,R0
MOV.L do_syscall,R2
JSR @R2
NOP
BRA _start
NOP
.align 4
syscall_num: .long 0x00000144
do_syscall: .long 0x80010070
Citer : Posté le 14/12/2025 14:58 | #
Ah oui mais d'accord. Deux choses.
Quand on dit une boucle infinie, généralement un pense à une double vide, donc genre :
_start:
MOV.L syscall_num,R0
MOV.L do_syscall,R2
JSR @R2
NOP
loop:
BRA loop
NOP
Et même si c'est pas le bug là tout de suite je pense, pour que ton appelle de fonction marche normalement il faut que tu sauvegardes et restaures pr parce que sinon tu cours-circuites des return.
Citer : Posté le 14/12/2025 15:04 | # |
Fichier joint
.global _start
_start:
STS PR,R10
MOV.L syscall_num,R0
MOV.L do_syscall,R2
JSR @R2
NOP
LDS R10,PR
loop:
BRA loop
NOP
.align 4
syscall_num: .long 0x00000144
do_syscall: .long 0x80010070
Toujours le même resultat
Citer : Posté le 15/12/2025 17:42 | #
Tu avais raison!! J'ai oublier de le compiler pour big-endian.. ET CA MARCHE 🎉🎉🎉🎉🎉🎉🎉🎉
Citer : Posté le 15/12/2025 18:17 | #
Oh l'erreur de fou. Bien vu.
Citer : Posté le 15/12/2025 18:35 | #
Mais comment on passe des Arguments au syscall?
J'ai trouver un tableu des syscall https://bible.planet-casio.com/simlo/chm/v20/fx_legacy_syscalls.htm mais pas pour les arguments..
Citer : Posté le 15/12/2025 18:35 | #
La convention d'appel c'est r4..r7 pour les arguments et les autres poussés sur la pile en ordre inverse.
Citer : Posté le 15/12/2025 18:37 | #
Ok mais comment on sais quel valeurs vont dans quel register?
Citer : Posté le 15/12/2025 18:40 | #
C'est dans l'ordre des arguments x)
Citer : Posté le 15/12/2025 18:41 | #
Oui oui,mais comment on sais tous les arguments? (Souvent c'est êcrit)
(Et comment on peux avoir les resultat des syscall comme getkey?)