Est-ce que tu utilises ion ? Peux-tu essayer avec une version nostub ? Je crois que pgmio_exec utilise cmdShadow, où ion a mit quelques routines pour nettoyer tout après avoir quitté le programme et il y a aussi la table de sauts pour les routines d'ion.
Mais c'est assez facile d'écrire ta propre routine d'input si tu utilises _getCSC. Pour un exemple, tu peux regarder le source de Phoenix (score12.asm, enter_name_loop) :
;ix = où sauver le string
enter_name_loop:
call GET_KEY
or a
jr z,enter_name_loop
cp KEY_CODE_DEL
jr z,backup
cp KEY_CODE_ENTER
ret z
ld c,a
ld a,10
cp b
jr z,enter_name_loop
ld hl,chartable-10
ld e,c
ld d,0
add hl,de
ld a,(hl)
ld (ix),a
ROM_CALL(TX_CHARPUT)
inc b
inc ix
jr enter_name_loop
backup: xor a
cp b
jr z,enter_name_loop
dec b
dec ix
ld (ix),32
ld hl,CURSOR_COL
dec (hl)
ld a,32
ROM_CALL(TX_CHARPUT)
dec (hl)
jr enter_name_loop
chartable:
.db ":WRMH."
.db "..0VQLG!..ZUPKFC"
.db "..YTOJEBX.>SNIDA"
.db ".12345.."
Il faudrait faire quelques petites modifications de style (par exemple, changer "ROM_CALL" par "call") parce que Phoenix a été écrit pour être compatible entre toutes les caltos z80. N'hésite pas à demander si tu as des questions
