Bon il y a un truc qui coince car une fois arrivé en $42A5 il ne revient jamais en $42A8 et le processeur ce perd dans des instructions incohérentes puisque pointant la ou il n'y a aucun programme à exécuter
Il y a peut être un cas que je n'ai pas prévu ou la pagination ne ce fait pas correctement mais je ne voit pas pour l'instant ou
Ce que j'ai compris des docs :
Code : Tout sélectionner
E-0000 à E-FFFF = RAM 64Ko
F-4000 à F-7FFF = ROM 2
F-A000 à F-DFFF = ROM 1 ==> copie en F-F800-F-FFFF (2ko haut de l'eeprom)
F-F000 à F-F7FF = zone des entrées sorties
F-FFF0 à F-FFFF = translateur d'adresse RAM
x-FF00 à x-FFEF = zone permanente de la ROM
Si quelqu'un vois ou j'ai mal interprété la doc, votre aide seras la bienvenue
Edit:
j'ai identifié l'endroit ou sa "déraille" :
Le saut en $5011 arrive sur de la RAM et plante
Code : Tout sélectionner
;500F 8602 LDA #$02
;5011 AD9FEC80 JSR [$EC80]
;5015 2011 BRA $5028
mémoire en $EC40-$EC8F
;EC40 5e ee 4f 8d 5e ee 00 00 00 00 51 a1 51 a6 52 57 ................
;EC50 52 5d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
;EC60 51 b3 51 b3 52 0f 52 62 52 67 00 00 00 00 00 00 ................
;EC70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
;EC80 65 a4 65 a4 65 9a 00 00 52 22 52 6c 52 71 00 00 ................
le translateur: FE 00 00 00 F4 F5 FA Fb 00 00 00 00 F8 F9 EF FF
Et je pense que le problème est que le translateur pointe vers le mauvais endroit $65A4 soit une fois translaté => FA5A4 donc il y a bien un truc que je n'ai pas compris ou mal émulé
