- Offizieller Beitrag
Zitat von ZaeBoN(..)Das Problem ist auch nicht der Emulator selbst, sondern die Firmware des Gerätes, welches du emulieren willst. Die muss meistens separat runtergeladen werden (..)
Das kann, muss aber nicht sein. Die Emulatoren (und auch Cheats/Trainer) sind in der Tat Software, und wie die auf dem Original-Gerät funktioniert, lässt sich mit etwas besserer Debugger-Software herausfinden, denn Firmware u. a. ist ja auch weiter nichts als Software.
Das beruht darauf, dass JEDE Software eine ganz bestimmte Start-Adresse hat.
Früher, zu DOS-Zeiten, waren solche Adressen überwiegend gar statisch, d. h. die Programme starteten an einem ganz bestimmten Platz auf der Festplatte (so wie ja auch heutzutage der Startsektor für das Betriebssystem immer in Spur 0 liegt, immer noch); heute sind solche Start-Adressen überwiegend relativ...wie auch immer, mit angeschmissenem Debugger wird das Programm gestartet, und dann fängt der System-Programmierer (oder Hacker, wie auch immer) mit seinem Debugger die Stellen ab, die er manipulieren will, und die liegen immer an einer bestimmten Stelle NACH dem Start des zu evaluierenden Programms.
Dort wird dann festgehalten, was die Software genau tut, bei Controllern halt der Sprung zur nächsten Adresse beim Betätigen einer Taste, beim Spiel hingegen wird nachgeschaut, wo bzw. an welcher Adresse z. B. herauf- oder herabgezählt wird, wenn Lebensenergie verloren geht, Munition verbraucht wird, was auch immer.
Mit diesen Angaben wird dann ein Programm geschrieben, welches sich zunächst an das zu manipulierende Programm andockt und dann an bestimmten Adressen seine eigenen Spielchen im Speicher treibt, also an der Stelle, die sich anders verhalten soll.
Damit werden dann z. B. entweder Tasten/Sticks umgeleitet, oder an der Stelle, wo Lebensenergie verloren geht, also im Programm weiter nichts passiert als ein bestimmter Zähler heruntergezählt wird, an genau dieser Stelle der Speicher-Inhalt wieder hochgezählt wird.
Für all das muss weder Firmware direkt manipuliert noch (Quell-) Code des zu manipulierenden Programms geändert werden. Daher sind solche "Spielchen" nicht einmal wirklich illegal, es ist schlimmstenfalls eine Grauzone.