La Place des Développeurs Emulation d'une ROM
aoineko
Membre non connecté
Conseiller Municipal
Est-ce que vous savez comment les émulateurs décident le placement "physique" d'une ROM à partir d'un fichier binaire ?
Quand on créé une ROM pour un programme, on se retrouve avec un fichier binaire sans information sur l'endroit où elle est censé se trouver physiquement, ni sur l'endroit ou se trouve l'entête (on peut très bien faire une ROM de 32K censé commencer en 4000h et avec un entête en 8000h).
La seule solution que j'envisage serait que les émulateurs cherchent dans le fichier ROM l'entête à toutes les adresses multiples de 4000h ; et une fois trouvé, utilisent l'adresse de début de programme pour placer physiquement la ROM dans l'espace d'adressage du Z80.
Est-ce comme cela que ça fonctionne ?
Si c'est le cas, cela voudrait dire qu'une ROM avec un entête censé être en 4000h mais avec un début de programme au delà de 8000h ne fonctionnerait pas sur émulateur alors qu'elle pourrait fonctionner sur un support physique.
Quand on créé une ROM pour un programme, on se retrouve avec un fichier binaire sans information sur l'endroit où elle est censé se trouver physiquement, ni sur l'endroit ou se trouve l'entête (on peut très bien faire une ROM de 32K censé commencer en 4000h et avec un entête en 8000h).
La seule solution que j'envisage serait que les émulateurs cherchent dans le fichier ROM l'entête à toutes les adresses multiples de 4000h ; et une fois trouvé, utilisent l'adresse de début de programme pour placer physiquement la ROM dans l'espace d'adressage du Z80.
Est-ce comme cela que ça fonctionne ?
Si c'est le cas, cela voudrait dire qu'une ROM avec un entête censé être en 4000h mais avec un début de programme au delà de 8000h ne fonctionnerait pas sur émulateur alors qu'elle pourrait fonctionner sur un support physique.
On est toujours ignorant avant de savoir.
as tu un exemple de rom avec un entête en 4000h qui démare en plus de 8000h ?
graphic master par exemple fait 32k de 4000h a BFFFh mais le header (entête) est 41 42 10 80 et se trouve en 8000h
graphic master par exemple fait 32k de 4000h a BFFFh mais le header (entête) est 41 42 10 80 et se trouve en 8000h
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie