Sylvesterrelease
Phase 1 ist, bis auf 6 hartnäckige Funktionen, zu ende
Es beginnt Phase 2: Das Bauen einer SCHICKM.EXE aus dem Code von Bright-Eyes.
Goar hat wieder einige magische Zahlen ersetzt und den vorhandenen Code lesbarer gemacht.
Es wurde der Code und für die Audio-CD-Steuerung ersetzt.
Beim Start des Spiels wird die main()-Funktion aufgerufen, welche jetzt nativ ausgeführt wird.
EDIT: Wurde rückgängig gemacht, da eventuell keine Musik mehr abgespielt werden kann.
Um die Frage nach den Low-Level-Funktionen zu klären:
Es ist nicht notwendig, den gesamten Code aus der SCHICKM.EXE nachzubauen.
Beispielsweise die Funktionen, die sich in der C-Bibliothek befinden, printf(), strcpy(), usw.
sollten theoretisch portabel sein.
Außerdem ist der Zugriff auf den Hauptspeicher, im RealMode des 80x86,
etwas anders realisiert als bei moderneren Prozessoren.
Der Borland C+ Compiler hat dafür speziellen Code eingefügt,
welcher auf modernen Prozessoren so nicht funktionieren würden.
Um diese Feinheiten soll sich der jeweilige C-Compiler und die C-Bibliothek kümmern.
Es gibt noch zwei relevante Funktionen, welche noch emuliert ausgeführt werden:
Die Interrupthandler für die Maus und Timer.
Die Funktionen die diese beiden aufrufen werden dann wieder nativ ausgeführt.
Das noch zu realisieren ist nicht schwer,
aber auf modernen Betriebssystemen muss das etwas anders implementiert werden.
Ersetzte Funktionen (Segmente sind fast identisch):
TODO-Liste:
- Mit dem Compiler eine neue SCHICKM.EXE bauen, welche bis auf wenige Ausnahmen, identisch mit der deutschen CD-Version von SCHICK sein sollte (der ultimative Beweis für die Äquivalenz von SCHICKM.EXE und BrightEyes)
- Herausfinden warum die Bytemetrik noch nocht bei 100% ist.
- Erneut versuchen die letzten Unterschiede im Code auszumerzen.
- Ersetzen von Hex-Werten in Symbolnamen für Zugriffe aufs Datensegment
- Original-Bugs fixen, fixen, fixen
Statistik:
Es sind 1237 von 1237 Funktionen nachgebaut
(100%).
Davon sind 1231 identisch mit dem Originalcode.
Nach Byte-Metrik sind schon 96,88% (korrigiert) fertig.
Viele Spaß beim Testen,
HenneNWH