Author |
Message |
KennuX
|
|
Post subject: [Programmierung]Gameboy Classic Emulator
Posted: Mar 31, 2010 - 01:27 PM
|
|
Retrohling
Joined: Aug 06, 2009
Posts: 26
Status: Offline
|
|
Hallo Aep-emu Community,
Ich habe mal wieder eine Frage zur Programmierung eines Emulators. Diesmal ein Gameboy Classic emulator.
Ich komme mit den Cycles irgendwie nicht klar. Ich weis nicht wie ich diese benutzen soll.
Ich dachte da an sowas:
Wenn es 50 fps sein sollten:
Einen Timer benutzen, alle 20 millisekunden Das Bild Aktualisieren und die Cycles die die CPU in der Sekunde schafft / 50 in die Cycles variable rein und die CPU wieder rechnen lassen.
Das scheint mir allerdings etwas "unpraktisch". Denn wenn man einen zu langsamen Rechner hat wird es nicht funktionieren (es werden ungeahnte ergebnisse eintreten).
Eine andere Idee ist:
Eine While-Schleife die so aufgebaut sein soll
Aktualisiere Grafik
Aktualisiere Sound
Aktualisiere CPU-cycles
Lasse CPU rechnen
Beginne wieder bei Aktualisiere Grafik
Jedoch ist das dann wieder so, dass die komplette Geschwindigkeit des Computers benutzt wird und zu abstürzen führen kann.
Naja, ich bitte euch mir vorschläge zu machen |
|
|
|
|
|
|
Post subject: [Programmierung]Gameboy Classic Emulator
Posted: Mar 31, 2010 - 02:39 PM
|
|
Ex-Member
Joined: Feb 28, 2005
Posts: 3.561
Location: überall und nirgends
|
|
While-Schleife... schleeeecht... ganz schlecht... Da solltest du mit Timern arbeiten, und einem Scheduler. Harhar das erinnert mich an den Grund warum man mit vielen ganz alten DOS-Progs und Games 'moslo' etc. verwende musste, weil da der gleiche Effekt zutage trat: schnellere Prozessoren als die Original vorgesehen oder zumindest getesteten brachten den Programmablauf und das Timing durcheinanderbrachten. |
|
|
|
|
|
KennuX
|
|
Post subject: [Programmierung]Gameboy Classic Emulator
Posted: Mar 31, 2010 - 03:43 PM
|
|
Retrohling
Joined: Aug 06, 2009
Posts: 26
Status: Offline
|
|
könntest du das mit dem Timer und dem Scheduler etwas genauer erklären?
Ich kann ja nicht getimt jede Anweisung interpretieren da bräuchte der Timer dann ja mehr ressourcen als die interpretation.
Und was ist moslo? |
|
|
|
|
|
|
Post subject: [Programmierung]Gameboy Classic Emulator
Posted: Mar 31, 2010 - 04:05 PM
|
|
Ex-Member
Joined: Feb 28, 2005
Posts: 3.561
Location: überall und nirgends
|
|
|
|
|
KennuX
|
|
Post subject: [Programmierung]Gameboy Classic Emulator
Posted: Mar 31, 2010 - 04:10 PM
|
|
Retrohling
Joined: Aug 06, 2009
Posts: 26
Status: Offline
|
|
Kay, ich lad mir jetzt mal den mess source code und werd mir den die Nacht mal reinziehen. Ich schreibe euch morgen wie's aussieht |
|
|
|
|
|
XTale
|
|
Post subject: [Programmierung]Gameboy Classic Emulator
Posted: Mar 31, 2010 - 09:18 PM
|
|
Site Admin
Joined: Jul 04, 2004
Posts: 1.868
Location: Dillingen / Saar
Status: Offline
|
|
Für Programmierfragen ist das Emutalk.net Forum ziemlich gut. Für so ziemlich jedes "Einsteigersystem" gibts da einen Thread mit vielen Tipps und co |
|
|
|
|
|
KennuX
|
|
Post subject: [Programmierung]Gameboy Classic Emulator
Posted: Apr 01, 2010 - 11:15 AM
|
|
Retrohling
Joined: Aug 06, 2009
Posts: 26
Status: Offline
|
|
Okay, danke ich werde mich dann mal an die wenden. Hab gestern den mess code angeschaut und es trotzdem ned rausbekommen. Hab aber in den weiten meiner Datensammlung ein eBook gefunden, da war's erklärt ^^
Btw, XTale ich wohne ganz inner nähe von dir xD |
|
|
|
|
|
Ragnarok
|
|
Post subject: [Programmierung]Gameboy Classic Emulator
Posted: Apr 01, 2010 - 11:23 AM
|
|
Jinxed
Joined: Dec 12, 2006
Posts: 5.397
Location: 기정동
Status: Offline
|
|
Ich hab ja keinen Plan von der Materie, aber kann man nicht so eine While-Schleife mit nem Framelimiter für die Ausgabe machen? |
|
|
|
|
|
KennuX
|
|
Post subject: [Programmierung]Gameboy Classic Emulator
Posted: Apr 01, 2010 - 01:41 PM
|
|
Retrohling
Joined: Aug 06, 2009
Posts: 26
Status: Offline
|
|
Theoretisch schon, aber dann ist das wieder etwas ungenau weil man die Zeit nicht genau zählen kann (oder nur mit großem aufwand).
Außerdem wird's dann auf Rechnern mit weniger leistung schon wieder etwas zeitkritisch und es können ungeahnte Ergebnisse auftreten ^^ |
|
|
|
|
|
|