2010-09-11 14 views
21

Hat irgendjemand einen Hinweis oder eine Quelle darüber, wie GameBoy Color Roms ausgelegt sind - wo die Daten und der Code, welche Maschinencode-Anweisungen verwendet werden, wie die Uhr funktioniert usw.? Ich bin daran interessiert, vielleicht selbst einen Emulator zu bauen, aber ich kann keine Informationen über das Setup der ROMs finden, außer sie in einem Hexeditor zu betrachten. Ich interessiere mich für ROMs im Dateiformat .gbc.A Referenz zu Layout und Struktur von GameBoy Color Roms?

Ich kann natürlich auf die source of a working emulator schauen, aber ich interessiere mich für etwas ein höheres Niveau als das, während ich anfange.


Edit: Hier sind eine Last von wirklich guten Ressourcen, die ich gefunden:

, auch see the source for my currently developing project und this finished one in C# for the Gameboy Classic (more docs)

Antwort

12

ROM-Header von 0x100 bis 0x14F. Alles andere ist "das ROM", was Anweisungen bedeutet, die mit Daten oder Ähnlichem verschachtelt sind.

https://web.archive.org/web/20141105020940/http://problemkaputt.de/pandocs.htm

Die Opcodes sind speziell dafür ausgelegt, wie die Zilog Z80 zu sein, sind aber nicht genau, wie es, da die CPU sterben selbst unterscheidet sich von dem eines Z80 sowie die Taktzyklen und Register F-Flags ganz anders sein.

In meinem Code herumschnüffeln, um die Operationen herauszufinden. https://github.com/grantgalitz/GameBoy-Online/blob/master/js/GameBoyCore.js siehe Zeile 525 und darunter. Der GameBoy Color Emulator ist in Javascript FTW.

Und Imrans Emulator ist eine schlechte Quelle zum Nachschlagen, wie die Opcodes funktionieren, weil sein Emulator immer noch viele Probleme hat, die Opcodes richtig zu bekommen. Sehen Sie sich den Quellcode von gambatte für die genaueste (genaueste und "einige weitere") Darstellung an, wie die Konsole funktioniert.

+0

Danke für die Antwort, auch noch so lange, nachdem die Frage gestellt wurde. Sie haben recht, Imran hat viele der Opcodes durcheinandergebracht, also habe ich sie selbst aus verschiedenen Referenzen gemacht: D –

+0

Auch dieses PDF gefunden auf Google könnte helfen * A LOT *: peru.junglevision.com/secret/GameBoyProgrammingManual.pdf –

5

Ich dachte Visual Boy Advance war nur gba. Der Gameboy ist ein modifizierter z80, der Gameboy Advance ist ein arm7, großer Unterschied. Wie auch immer,

Dies ist einmal ein heißer Ort für diese Art der Sache sein

http://www.devrs.com/gb/

könnte einige Links haben, um Ihr Problem zusammen.

+0

Danke, das sieht aus wie eine wirklich tolle Seite: Ich fand das verlinkt von http://www.devrs.com/gb/files/gbspec.txt, das aussieht wie eine wirklich gute Tiefenspezifik. –

+0

Das hat wirklich geholfen :) –