Frage

Im Voraus entschuldige ich mich für die offene Beachtheit, und allgemeine Waffelwäsche dieser Frage, weil um ehrlich sein, dass mein Wissen über das Thema sehr fleckig ist, und ich finde es schwer, mein Problem sogar zu beschreiben.Ich wollte wirklich nicht posten, aber ich bin völlig und völlig stecken.

Ich habe einen NES-Emulator gestartet.Es ist interpretiert (also keine dynamische Recompompent).

atm Es kann ROMs (Mapper 0-ROMs) laden und karten und den Init-Code bis zu demjenigen, an dem ich mit Interrupts und der PPU umgehen muss.Dort bin ich festgefahren.

Hier ist ein Beispiel aus meinem EMU-ATM.Die Ausführung beginnt bei 8000, und ich traf eine unendliche Schleife bei 800A, wo ich keine Ahnung habe, wie ich von dort fortschreitet.

generasacodicetagpre.

so meine frage ist, kann jemand bitte die Grundlagen von 1 Iteration durch eine PPU render für mich erklären, einschließlich Dinge wie Zykluszähler, Interrupts usw. (dh einen ganzen 240-Scanline-Bildschirm zeichnen und weiterziehender nächste).

War es hilfreich?

Lösung

Es gibt einen Emulator da draußen, haben Sie ihre Quellen für die Antwort angesehen?Normalerweise sind diese für die Leistung geschrieben und nicht sehr lesbar, aber Sie können möglicherweise einen Tidbit finden, um Sie zu leisten.Wartet der Code, auf einen Interrupt, der ausgeführt wird, und haben Sie diesen Interrupt ausgeführt?Möglicherweise ist, dass der Interrupt die Rücksendeadresse ändert, und ermöglicht es dem Programm, fortzufahren?Ist das unendliche Schleifenabfrage ein bisschen in einem Register?oder ist es ein bedingungsloser Zweig für sich selbst?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top