[Résolu] Une idée débile
[Résolu] Une idée débile
Je me demandais si, par le plus grand des hasards, il serait possible de modifier des adresses au-delà de $FFFF. Cela me semble peu probable et inutile sur console, mais ça pourrait être énorme sur émulateur.
Re: Une idée débile
Salut,
Il n'y a pas d'adresses au-delà de $FFFF sur un processeur 8-bit comme la Game Boy.
Les adresses jusqu'à $7FFF constituent la ROM, ensuite de $8000 à $9FFF c'est la VRAM (Video RAM utilisée comme source du rendu vidéo) puis de jusqu'à $BFFF c'est la SRAM (Save RAM utilisée pour sauvegarder par exemple, on peut l'éditer par ACE mais c'est plus compliqué) et enfin seulement commence la WRAM (Work RAM contenant les données du jeu) que l'on édite le plus souvent en ACE, jusqu'à $DFFF. A partir de $E000 et jusqu'à $FDFF, c'est l'Echo RAM, un miroir partiel de la WRAM, qui est suivie par l'OAM ($FE00-$FE9F) qui assure la gestion des sprites et qu'on peut modifier par ACE mais il faut vraiment savoir ce qu'on fait. Enfin, il y a la HRAM (High RAM, directement connectée au processeur, que l'on édite jamais).
Il n'y a pas d'adresses au-delà de $FFFF sur un processeur 8-bit comme la Game Boy.
Les adresses jusqu'à $7FFF constituent la ROM, ensuite de $8000 à $9FFF c'est la VRAM (Video RAM utilisée comme source du rendu vidéo) puis de jusqu'à $BFFF c'est la SRAM (Save RAM utilisée pour sauvegarder par exemple, on peut l'éditer par ACE mais c'est plus compliqué) et enfin seulement commence la WRAM (Work RAM contenant les données du jeu) que l'on édite le plus souvent en ACE, jusqu'à $DFFF. A partir de $E000 et jusqu'à $FDFF, c'est l'Echo RAM, un miroir partiel de la WRAM, qui est suivie par l'OAM ($FE00-$FE9F) qui assure la gestion des sprites et qu'on peut modifier par ACE mais il faut vraiment savoir ce qu'on fait. Enfin, il y a la HRAM (High RAM, directement connectée au processeur, que l'on édite jamais).
Head admin de PRAMA
“Anti-intellectualism has been a constant thread winding its way through our political and cultural life, nurtured by the false notion that democracy means that 'my ignorance is just as good as your knowledge.'” - Isaac Asimov
Re: Une idée débile
Sinon, avec le mobile gb adapter, ça se passe comment?
- Buglitch
- Webmaster
- Messages : 469
- Enregistré le : sam. 22 sept. 2012 21:38
- Localisation : La ville de Perma en Italie
- Contact :
Re: Une idée débile
Oui, et sur émulateur, même si tu forçais l’existence de mémoire au delà de $FFFF, ça ne serait jamais utilisé par le jeu, et tu ne peux même pas référencer cette nouvelle partie de la mémoire depuis le jeu puisque les instruction qui prenne une adresse ne prenne pas assez de bits pour aller au dessus de $FFFF (ça fonctionne sur un adresse space 16 bits).
Et ça marche dans les deux sens, quand le transfert est terminé tu peux read en $FF01 pour récup ce qu'on t'as envoyé en réponse via le cable. (bon en soit tu peux commencer à lire pendant le transfert, l'information s'écrit petit à petit en mémoire)
Je connais pas précisément le Mobile GB Adapter donc je peux pas te parler du protocole utilisé mais le cable link marche avec les adresses $FF01 et $FF02 et une clock. En gros tu inscrit les donnés que tu veux envoyer par le câble à l’adresse $FF01 et elle sont envoyé périodiquement à travers le cable en fonction de la clock. (et $FF02 sert pour la config et l'état actuel du transfert).
Et ça marche dans les deux sens, quand le transfert est terminé tu peux read en $FF01 pour récup ce qu'on t'as envoyé en réponse via le cable. (bon en soit tu peux commencer à lire pendant le transfert, l'information s'écrit petit à petit en mémoire)
XeR a écrit :Buglitch, un homme, un humour, une légende.