07.04.2025, 14:08
(06.04.2025, 19:43)Obi-Wahn schrieb:(05.04.2025, 23:06)HenneNWH schrieb: Ziel dieser 2. Phase ist es, eine funktionsfähige GEN.EXE aus dem händisch erzeugten Quellcode zu erstellen
und den Quellcode so instand zu setzten, dass auch der GCC etwas daraus erzeugen kann.
Ah, das beantwortet eine Frage, die ich noch hatte. GCC sollte einfacher zu benutzen sein als die alten Compiler. :-D
Das sollte man meinen, im Moment ist das nur das Endziel. Aktuell benutze ich den BCC um möglichst nah am Original zu bleiben.
Damals wurde viel mit 16-Bit-x86-Assemblercode gearbeitet (CD, Sound, Grafik, PowerPack 2.0-Decompressor),
welchen ich vorerst so übernommen habe. In der Anfangsphase habe ich einige Teile davon in DOSBox-C++ nachprogrammiert,
damit es innerhalb der DOSBox funktioniert, aber der von mir erzeugte Code ist nicht-portabel.
Das gehe ich dann in Phase 3 an und erzeuge eine SUPER-GEN.EXE!
Diese soll dann auch mit allen 3 Versionen der DSAGEN.DAT klarkommen.
Kleine Nebeninfo: Die DSAGEN.DAT aus der deutschsprachigen Diskettenversion funktioniert auch mit der deutschsprachigen CD Version der GEN.EXE,
nur ohne MIDI-Sound. Mit der englischsprachigen Diskettenversion funktioniert das noch nicht!
(07.04.2025, 11:23)siebenstreich schrieb: Ich habe diese Diskussion gerade erst gesehen: Der absolute Wahnsinn, dass es hier weitergeht!!
Genau, ein wichtiges Etappenziel wäre es, BrightEyes so langsam auf eigene (SDL-)Beine zu stellen und die Zweckheirat mit der DosBOX zu beenden, die sehr gute Dienste geleistet, aber sich sich so langsam auch überholt hat. Es macht absolut Sinn, das erstmal mit der um ein paar Größenordnungen kleineren GEN.EXE durchzuführen. Ein absoluter Traum, dass man sich irgendwann sein gepatchtes eigenständiges Schicksalsklinge-Binary (für Linux!) selbst kompilieren kann.
Das ist (mit dem Code der GEN.EXE V1.05de) am letzten Freitag passiert.
Dieser ist jetzt im BrightEyes Repo (ohne Bindestrich!!!) zu finden und funktioniert wie bisher,
nur dass ein paar händische Anpassungen notwendig sind
- in src/tools/ muss einmal "g++ dump_obj.cpp -o dump_obj" ausgeführt werden,
- in drive_c/BCC31/ muss innerhalb einer DOSBox-Umgebung der BCC3.1 installiert werden
- im Verzeichnis src/gen/ ist dann "./tools/bc_ready.sh" aufzurufen und in "./temp/" liegt dann die "neue GEN.EXE" für DOS, welche aktuell noch nicht benutzbar ist.
Da sind noch weniger als 100 globale Variablen zu verknippern, die Datenstruktur für den Helden zu befüllen und
möglicherweise noch ein paar Differenzen am Code zu beheben.