(16.04.2025, 14:08)Siebenstreich schrieb:(16.04.2025, 14:08)HenneNWH schrieb: Die GCC/Clang-Welt deckt die zukünftige Entwicklung ab.Was genau soll denn aufgespalten werden?
Dort wird es in der Zukunft noch eine Aufspaltung geben.
Noch eine naive Frage:
Macht z.B. die Definition g_lets_quit in g105de_seg005.c nicht die binär-Äquivalenz kaputt (also wenn der Code mit BCC übersetzt wird)?
Ausgehend von dem aktuell angepeilten Status des Projekts habe ich folgenden Plan gefasst:
Die Version G105de ist die umfangreichste von den 5 verschiedenen Versionen des Charaktergenerators.
Mit dem Quellcode von dieser sollte es ein Leichtes sein, auch die anderen 4 Versionen zu rekonstruieren
und ähnlich wie jetzt mit dem BCC diese Binaries für DOS zu bauen.
Damit wäre dem historischen Teil des Charaktergenerators meiner Ansicht nach genüge getan.
=> Ab ins Archiv.
Anschließend sollte in einer kurzen Aufräumphase alle unbenötigten Codeteile und Variablen entfernt werden,
welche in genau einer finalen DOS-Version (mit ein paar Bugfixes, einfach zu implementierenden Features und Unterstützung für alle 3 DSAGEN.DAT-Files) enden sollte. Die kommt dann auch ins Archiv.
Dann fliegt der ganze nicht-portable Code (Assembler für direkte Hardwarezugeriffe unter DOS) raus und die SDL >= 2.0 sollte sauber implementiert werden.
Mit der am Charaktergenerator gesammelten Erfahrung, sollte das Ganze dann auch genauso für die Schicksalsklinge gemacht werden. Dafür ist noch etwas Arbeit notwendig, insbesondere Einarbeitung meinerseits in SDL >= 2.0.
Natürlich erst, wenn die Zeit dafür reif ist.
Die originale DOSBox benutzt die nicht mehr unterstützte Version 1.2.15, welche noch Unterstützung für Audio-CDs hatte.
Seit der Version 2.0 gibt es diese in SDL nicht mehr.
SDL3 zu benutzen ist von mir auch angedacht, das werde ich aber erst in Angriff nehmen, wenn meine Linux-Distribution SDL3 anbietet (vermutlich ab Juni 2025). Dann ist auch ein guter Zeitpunkt, den Code mal auf nem RaspberryPi zu testen. ;-)
@Obi-Wahn: Wenn du mal vorpreschen möchtest. Im Makefile, g105de_seg002.c und g105_seg005.c aus "SDL2" einfach "SDL3" machen. Das sind nur 3 Zeilen. Und dann mal probieren ob es kompiliert.
@Siebenstreich: Die Variable g_lets_quit ist nur in der modernen Welt vorhanden, funktioniert aber nicht so wie von mir erhofft. Die binär-Äquivalenz (schönes Wort) prüfe ich gerade mit einem eigens entwickelten Tool, welches ich etwas allgemeiner halten möchte und es sich erst noch durch die verschiedenen Versionen der GEN.EXE etablieren muss.
Aktuell zeigt es mir an, dass sich nur noch 230/52336 Bytes (< 0,5 %) im Code vom Original unterscheiden.
Die neue GEN.EXE läuft auch schon mit Sound, Maus, Tastatur in einer unmodifizierten DOSBox,
verliert jedoch bei der Auswahl eines Typus seine Ansprechbarkeit.