Ah, super! Vielen Dank für deine schnelle Unterstützung!!
Ich werde allerdings nicht vor morgen Abend zum Testen kommen, ich gebe dann aber sofort Bescheid, ob es geklappt hat!
11.10.2023, 12:14 (Dieser Beitrag wurde zuletzt bearbeitet: 12.10.2023, 14:57 von cmfrydos.
Bearbeitungsgrund: extended
)
Kein Problem! Danke fürs Testen. Bei mir scheint es jetzt auch auf einer frischen Installation (der GoG-Version) zu funktionieren.
Kannst du, falls es jetzt auch bei dir läuft, mal schauen, ob die Version "schnell genug" für deine Anwendung ist? Also zum "normalen" Durchspielen wäre es mir wohl zu ruckelig - bei mir (auf einer eher schwachen CPU) laufen nur etwa 15.000 Cyclen/ms statt der bei mir voreingestellten/empfohlenen 35.000.
Sonst schaue ich nochmal in den CPU="normal"-Modus, und ob ich es damit zum Laufen bekomme. (Für die Bastler unter uns: Irgendwie muss Dosbox auch irgendwann jede einzelne Instruktion mal lesen und parsen, und zumindest da sollte ich dann die "Optimierungen" für entsprechende Abfangstellen deaktivieren können – der DosBox-Debugger schafft das auch.)
EDIT: Oh jee Nach erneutem Testen funktioniert plötzlich nicht nur CPU="normal" einwandfrei , sondern das Performanceproblem wurde wohl von mir selbst verursacht durch die mittlerweile zahlreichen Überwachungspunkte und kleine Fehler im Code. Nachdem ich diese behoben habe, erreiche ich nun zumindest 25.000 Cyclen/ms auf meinem Computer, und es läuft subjektiv ein gutes Stück flüssiger. Um das Problem grundlegend zu beheben, wäre es wahrscheinlich effizienter, den Riva/Dos-Code an den Überwachungspunkten temporär umzuschreiben (z.B. auf einen OP-Code, der nie verwendet wird), anstatt bei jeder einzelnen Instruktion zu prüfen, ob es einer dieser Punkte ist. Ich warte aber lieber ab, ob es wirklich notwendig ist ‒ nicht dass ich Dinge kaputt optimiere.
12.10.2023, 18:21 (Dieser Beitrag wurde zuletzt bearbeitet: 12.10.2023, 18:23 von Tiefhusen.)
Danke dir!!
Ich habe mir jetzt die Version 0.1.3 runtergeladen, extrahiert und in den DosBox-Ordner kopiert. Beim Starten kommt jetzt keine Fehlermeldung mehr. Nach dem Öffnen des Dos-Fensters wird der Bildschirm schwarz, als würde Riva jetzt starten. Nach 2 Sekunden schließt sich aber das Programm wieder und das war's...
Diesmal ist es wahrscheinlich schwerer, den Fehler zu finden ohne einen konkreten Anhaltspunkt...
Edit: Beim Öffnen von Sternenschweif passiert genau dasgleiche. Bei der Schicksalsklinge kommt hingegen eine Fehlermeldung, dass kein CD-ROM-Laufwerk gefunden wurde!
Ok. Ich werde noch ein paar potenzielle Fehlerquellen eliminieren:
- alle Dateien hinzufügen, die unter bestimmten Umständen benötigt werden könnten
- die Voraussetzung, Python installiert zu haben, entfernen
- und ich füge auch eine Beispiel-Config und ein Startskript hinzu.
Ich werde das jedoch erst morgen schaffen.
Theoretisch könntest du in deiner Config den folgenden Abschnitt hinzufügen:
[log]
logfile=c:\mytestlog.txt
Du könntest den Pfad z. B. zu deinem Desktop ändern, um die Ausgabe und damit möglicherweise einen Hinweis auf den Fehler in eine Textdatei umzuleiten. Alternativ könntest du versuchen, Dosbox und Riva über die Kommandozeile (cmd) zu starten, falls du damit vertraut bist.
Vielen Dank auf jeden Fall für deine Testbemühungen. Ich würde mich freuen, wenn wir das in den nächsten Tagen bei dir zum Laufen bekommen könnten.
Ich habe nun eine neue Version (v0.1.4) hochgeladen. Mir ist aufgefallen, dass ein Startskript wenig Sinn ergibt, aber es ist auch nicht notwendig. Des Weiteren wird nun nach %appdata%\dosbox-staging-roa3\ geloggt. (Den Pfad kann man direkt in die Adressleiste des Windows-Explorers kopieren, um dorthin zu gelangen.)
Ah, und es ist wenig sinnvoll, DSA1 / DSA2 mit dieser angepassten DosBox zu starten, da davon ausgegangen wird, dass irgendwann der Riva-Binärcode geladen wird. Apropos: Um die Version zu ermitteln, muss ich auf die RIVA.EXE zugreifen und bin bisher davon ausgegangen, dass diese neben dem DOSBOX-Ordner liegt. Das kann natürlich je nach Konfiguration ganz anders aussehen. Ich überlege noch, wie ich das anpasse; vielleicht kann ich erkennen, sobald eine .exe geladen wird. In der Zwischenzeit könntest du vielleicht noch überprüfen, ob die RIVA.EXE dort wirklich liegt, oder sie notfalls an die entsprechende Stelle kopieren.
Vielen lieben Dank für deine neue Bereitstellung und die Erläuterungen!!
Ich nutze die Heldenedition der Nordlandtrilogie. Die Riva.exe liegt bei mir im Unterordner "DSA3" meines DosBox-Ordners.
Die neue Version v0.1.4 hat am Ergebnis bei mir gegenüber zur Vorversion nichts geändert. Der Bildschirm wird schwarz, Hoffnung keimt kurz auf und nach 3-4 Sekunden ist alles wieder geschlossen...
Dann habe ich, wie empfohlen, die "sample_config.conf" verwendet, also mit deren Inhalt den Inhalt der "dosboxDSA3.conf" überschrieben und es scheint einen Schritt weitergegangen zu sein. Im DOS-Fenster kommen mehr Ausgaben und im Hauptfenster erschien zum ersten Mal das gewohnte "DOS/4GW........" (s. Anhang). Danach schließt sich beides aber auch auch gleich wieder...
14.10.2023, 14:18 (Dieser Beitrag wurde zuletzt bearbeitet: 14.10.2023, 18:30 von cmfrydos.)
Cool, dass jetzt mehr angezeigt wird! Stürzt es genau danach ab?
Ich vermute stark, dass das Programm bei dir direkt auf C:\ nach der Riva.exe sucht. Könntest du mal testweise die Datei aus c:\dosgames\dsa3\ direkt nach C:\ kopieren (und dabei die alte Datei nicht löschen oder ausschneiden)?
Ich weiß, das klingt etwas komisch. Ich werde das in der nächsten Version korrigieren – da bin ich leider einfach davon ausgegangen, dass sie so liegt wie bei mir.
Edit: Oder wo befindet sich aktuell deine dosbox.exe? Der Logger erwartet die riva.exe genau einen Ordner über der zuvor ersetzen dosbox.exe.
Zum Beispiel: Wenn dosbox.exe in c:\dosgames liegt, sucht es nach riva.exe in c:
Oder: Wenn dosbox.exe in c:\dosgames\dosbox liegt, sucht es nach riva.exe in c:\dosgames.
Ich glaube, wir sind jetzt relativ nah dran, dass es laufen könnte
EDIT2: In Version v0.1.5 wird nun das Laden der RIVA.exe innerhalb der DosBox erkannt, sodass die .exe nicht mehr an einem festgelegten Ort abgelegt werden muss. Zudem wurden die Fehlermeldungen optimiert.
15.10.2023, 12:13 (Dieser Beitrag wurde zuletzt bearbeitet: 15.10.2023, 12:26 von Tiefhusen.)
Ja, genau danach ist es abgestürzt.
Danke dir für die neue Version! Gefühlt bringt sie mich wieder einen Schritt weiter. Im DOS-Fenster werden nun einige Seiten geloggt und im Hauptfenster erscheint nun kurz nach "DOS/4GW......" "Schatten über Riva - Master V1.12 - Deutsch".
Die letzte Ausgabe bevor sich die Fenster wieder schließen habe ich im Anhang beigefügt.
Edit: Ich konnte dem DOS-Fenster noch ein paar Zeilen mehr entlocken, s. 2. Anhang
Zuerst einmal nochmals vielen Dank für deine Geduld und Mühe, Tiefhusen! Es tut mir leid, dass es solche Schwierigkeiten gibt, und ich hoffe, dass wir das Problem gemeinsam lösen können.
Mir ist aufgefallen, dass nach der Nachricht "SB16: DSP was reset" in meinem Log die Zeile "DISPLAY: VGA 320x200 8-bit (mode 13h) at 70,086 Hz VFR, .." angezeigt wird, während bei dir das Spiel anscheinend schließt. Dies lässt mich vermuten, dass DosBox möglicherweise bei der Grafik-Initialisierung, aufgrund von einer Fehlkonfiguration zu deinem System o.Ä. einen Absturz hat.
Um dies weiter zu untersuchen, könntest du bitte die folgenden Schritte durchführen:
Teste, ob das Spiel mit den aktuellen Einstellungen, aber mit der im Anhang gezippten, unmodifizierten DosBox(-Staging) startet.
Ich habe im Anhang zudem noch eine weitere Config beigefügt - startet das Spiel möglicherweise mit dieser?
Könntest du mir zudem deine alte Config (wahrscheinlich die, die mit der Heldeneditition geliefert wurde) zukommen lassen? Dann könnte ich mal schauen, welche Unterschiede es gibt.
Ah, und falls sich das Fenster manchmal zu schnell schließt, um den Log in der Konsole zu lesen, dann gehe bitte nach %appdata%/dosbox-staging-roa3, um die aktuellste Logdatei zu finden. Dazu kannst du die Windows-Taste und "R" gleichzeitig drücken und "%appdata%/dosbox-staging-roa3" eingeben. Ich habe einen Screenshot beigefügt, um den Vorgang zu veranschaulichen.
Nochmals vielen Dank für deine Hilfe und Entschuldigung für die Unannehmlichkeiten! Ich schätze deine Unterstützung sehr und hoffe, dass wir das Problem bald beheben können.
Nichts zu danken! Ich mache das sehr gerne und ja auch nicht ganz uneigennützig, da ich mich ja auch sehr darauf freue, bald deinen wunderbaren Logger benutzen zu können!
Zu 1. Ich habe versucht, das Spiel mit der unmodifizierten DosBox zu starten. Leider mit keinem neuen Ergebnis. Das Log-Ende ist im Anhang.
Zu 2. Auch hier ist das Ergebnis das gleiche, das Log-Ende sieht etwas anders aus (s. Anhang)
Zu 3. Habe ich dir auch in den Anhang gepackt.
Die Log-Dateien habe ich dort gefunden, allerdings sind die Dateien dort von gestern. Meine aktuellen Startversuche wurden dort offensichtlich nicht abgespeichert...
Mhh... so auf die Schnelle fällt mir auf, dass in deiner Config am Ende Folgendes steht:
Code:
[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
echo off
cls
imgmount d C:\DOSGAMES\dsaschatt\960927_1053.cue -t cdrom
mount c c:\dosgames
c:
cd dsa3
jemmex load noems
In meiner GoG Installation steht Ähnliches, aber getrennt in einer anderen .config-Datei. Vielleicht hilft es, diesen Teil ans Ende einer von mir bereitgestellten Config zu hängen? Aber vielleicht hast du das ja auch schon gemacht, um es überhaupt starten zu können.
Ich muss gestehen, dass ich so langsam ins Blaue rate. Ich glaube, hier gibt es einige, die sich mit der Konfiguration der DosBox besser auskennen. Problematisch wird es noch, weil die DosBox-Staging Version, die ich benutze, nicht die "originale" DosBox ist und sich damit unter anderem die Konfiguration leicht verändert. Eine Möglichkeit wäre, dass ich in den nächsten Tagen versuche, meine Modifikationen in diese ältere Version einzupflegen, aber dafür bräuchte ich wahrscheinlich etwas Zeit.
Ich kann gerne probieren, diese Zeilen am Ende deiner config zu ergänzen.
Und für mich hat es auch überhaupt keine Eile, also lass dir ruhig Zeit. Hauptsache, wir kriegen es irgendwann mal am Ende hin.
Ich werde auch erst morgen Abend wieder zum Testen kommen.
18.10.2023, 18:18 (Dieser Beitrag wurde zuletzt bearbeitet: 18.10.2023, 18:22 von cmfrydos.)
(16.10.2023, 18:57)Tiefhusen schrieb: Nichts zu danken! Ich mache das sehr gerne und ja auch nicht ganz uneigennützig, da ich mich ja auch sehr darauf freue, bald deinen wunderbaren Logger benutzen zu können!
Nun, ob er tatsächlich so wunderbar ist, wird die Zeit zeigen. Momentan trackt er alle Würfelwürfe, Proben und Abfragen von (positiven) Eigenschaften, Talenten und Zauberwerten. Allerdings wurde er bisher nicht ausgiebig getestet. Viele Proben sind ja auch bereits in den Lösungsbüchern verzeichnet. Mit dem Logger könnten wir diese verifizieren, und eventuell auch einige unbekannte entdecken. Vielleicht fällt uns auch auf, dass der Logger noch Ergänzungen benötigt, die ich dann umsetzen könnte.
(16.10.2023, 18:57)Tiefhusen schrieb: Zu 1. Ich habe versucht, das Spiel mit der unmodifizierten DosBox zu starten. Leider mit keinem neuen Ergebnis. Das Log-Ende ist im Anhang.
Das ist tatsächlich super zu wissen, da es bestätigt, dass das aktuelle Problem wahrscheinlich an der Konfiguration liegt und nicht unbedingt ein weiterer Fehler im Logger vorliegt. Meine Annahme ist, dass ohne den [Autoexec]-Teil in der .Config wichtige Elemente nicht geladen werden. Ohne korrektes Mounting kann Riva wahrscheinlich nicht auf die Spieldateien zugreifen, was zu einem Absturz führt.
(16.10.2023, 18:57)Tiefhusen schrieb: Die Log-Dateien habe ich dort gefunden, allerdings sind die Dateien dort von gestern. Meine aktuellen Startversuche wurden dort offensichtlich nicht abgespeichert...
Entschuldige, das war mein Fehler. Ich habe übersehen, dass die unmodifizierte DosBox nicht loggt.
Das weitere Vorgehen könnte so aussehen:
Bitte installiere die neueste Version 0.1.6. Diese protokolliert detaillierter und sollte flotter sein. Verwende dabei vorerst nicht die beigelegte Config.
Benutze die zuvor erwähnte "Minimalconfig", aber kopiere zuerst den Abschnitt "[autoexec]" aus der Config der Heldenedition.
Hoffentlich startet Riva nun. Falls nicht, sende mir bitte die neueste Logdatei.
Sollte es laufen, könntest du eventuell die Config (sample_config.conf) der 0.1.6 bevorzugen, da diese Scaler benutzt, und damit hübscher zu spielen ist. Auch hier den Abschnitt aus der "[autoexec]" der Heldenedition zuerst einfügen.
Auch wenn es dann nicht startet, schicke mir bitte die Logdatei.
Langsam bekomme ich wieder Lust, weiter daran zu entwickeln. Wenn ich mich richtig erinnere, wären die nächsten Schritte:
Abfangen von Abfragen negativer Eigenschaften.
Abfangen der Anzeige von Textboxen und das Finden der entsprechenden Codebereiche. Das würde ermöglichen, Verweise oder Sprünge, beispielsweise in der Windsbraut, zu identifizieren und somit alle dortigen zufälligen Zeitereignisse zu erfassen.
Abfangen der Anzeige von UI-Grafiken, um diese eventuell modifizieren zu können (auch wenn das nicht direkt mit dem Logger zu tun hat ;D).
(18.10.2023, 18:18)cmfrydos schrieb: Momentan trackt er alle Würfelwürfe, Proben und Abfragen von (positiven) Eigenschaften, Talenten und Zauberwerten. Allerdings wurde er bisher nicht ausgiebig getestet. Viele Proben sind ja auch bereits in den Lösungsbüchern verzeichnet. Mit dem Logger könnten wir diese verifizieren, und eventuell auch einige unbekannte entdecken. Vielleicht fällt uns auch auf, dass der Logger noch Ergänzungen benötigt, die ich dann umsetzen könnte.
Das ist doch schon mal eine ganze Menge!! Viel fehlt dann ja auch gar nicht mehr! Die negativen Eigenschaften fallen mir nur spontan ein (wie du ja selbst schon schreibst) und alles andere kommt dann sicherlich beim weiteren Benutzen.
Ich bin jetzt deinem Vorschlag gefolgt, Riva ist aber bei Punkt 3 auch noch nicht gestartet sondern hat sich wie zuletzt nach "Schatten über Riva - Master V1.12 - Deutsch" wieder geschlossen. Die neue Log.txt habe ich dir angehangen.
18.10.2023, 21:52 (Dieser Beitrag wurde zuletzt bearbeitet: 18.10.2023, 22:00 von cmfrydos.)
Danke für den Log! Es irritiert mich, dass scheinbar zuerst die RIVA.EXE gestartet wird und danach erst die CD-ROM gemountet sowie jemmex gestartet wird. Nutzt du zum Starten von Dosbox eine Verknüpfung? In den Eigenschaften der Verknüpfung (Rechtsklick -> Eigenschaften) dürfte im Feld "Ziel" so etwas stehen wie:
abändern, also den Teil mit der riva.exe entfernen. Anschließend fügst du ans Ende der .Config, genauer gesagt ans Ende des [autoexec]-Bereichs, die Zeile
Code:
RIVA
hinzu.
Wenn du möchtest, könnten wir uns auch diese oder kommende Woche zu einem Voicecall über Teamspeak, Discord oder Ähnliches verabreden, um das Problem gemeinsam anzuschauen und hoffentlich zu lösen. Schreibe mir dann gerne eine DM. Alternativ setzen wir unser Schritt-für-Schritt-Debugging hier fort . Es tut mir wirklich leid, dass es so lange dauert, und nochmals danke für deine Geduld.
Ja, ich nutze die Verknüpfung, die die Heldenedition bei der Installation erstellt hat. Als Ziel war hier "C:\dosgames\DSA3.bat" eingegeben. Ich habe es jetzt mit deiner vorgeschlagenen Zeile ersetzt und ebenso "RIVA" am Ende der Config ergänzt. Interessanterweise schließt sich das Programm nun zum ersten Mal nicht, sondern bleibt einfach mit neuen Ausgaben stehen...
Ich habe dir wieder die Log-Datei (nach manuellem Abbruch) sowie einen Screenshot des Hauptfensters mit Log-Ende angehängt.
Ich habe mit Teamspeak oder Discord noch nicht gearbeitet... Von mir aus können wir das Debuggen auch hier fortsetzen. Wie gesagt, mich stört es überhaupt nicht, wenn es noch etwas länger dauert. Hauptsache, wir kommen irgendwann ans Ziel.
Oh, tatsächlich habe ich bei mir noch nie mit jemmex getestet. Ich vermute es scheint die Art und Weise zu beeinflussen, wie oder wo Riva im Speicher abgelegt wird. Beim Spielstart unter Jemmex erhalte auch ich einen Absturz mit derselben Fehlermeldung.
Du könntest die jemmex-Zeile vorübergehend aus dem [autoexec]-Abschnitt der config entfernen:
Code:
jemmex load noems
Dadurch könnte der Spiegelkampfbug auftreten, aber abgesehen davon sollte das Spiel grundsätzlich funktionieren. Ich werde mir in den nächsten Tagen genauer ansehen, wie ich es auch unter jemmex zum Laufen bekomme.
Ja, das Problem mit dem Patch zu lösen, scheint einfacher zu sein. Ich habe mir das Spiel unter Jemmex angesehen und den Absturz behoben. Allerdings wäre ein erheblicher Mehraufwand erforderlich, um den Logger damit kompatibel zu machen. Deshalb wäre es wohl wirklich empfehlenswert, den Patch zu nutzen. Ich war so frei, und habe die von NRS gefundene Patchstelle in das im Logger vorhandene Patchsystem integriert. Ab Version 0.1.7 wird er automatisch angewendet.
Beim erneuten Testen stellte ich fest, dass Proben auf negative Eigenschaften tatsächlich bereits geloggt werden. Zum Beispiel:
Code:
Eigenschaftsprobe von HELD auf TA:4 +3: Wurf 9 | 4 -3 -9 = -8 => Missglückt.
An die DSA-Experten hier: Ist diese Darstellung verständlich? Bei einer Probe auf eine positive Eigenschaft würde man sagen, dass es sich um eine um drei erschwerte Probe handelt, die missglückt ist. Bei negativen Eigenschaften scheint es mir aber auch logisch zu sein zu sagen, es sei eine um drei erleichterte Probe auf eine negative Eigenschaft, die geglückt ist. Sollte man bei negativen Proben zumindest "Geglückt" und "Missglückt" vertauschen?
Ein weiterer Punkt, der interessant sein könnte, betrifft die Begründung, warum ein bestimmter Held eine Probe durchführen muss. Zum Beispiel könnte angezeigt werden, dass der Held mit der höchsten Totenangst ausgewählt wurde. Das werde ich mir noch genauer ansehen.
Versionshinweise 0.1.7:
Abfangen von Abfragen aktueller AT/PA-Werte
Versionen, die mit dem NRS-Spiegelpatch gepatcht wurden, werden erkannt (V1.01 UK, V1.12 DE)
Automatische Anwendung des Spiegelpatches
Robusteres Analysieren der Dateien
Bei Verwendung von Jemmex erfolgt keine Absturz, sondern nur eine Warnung.
(20.10.2023, 12:32)cmfrydos schrieb: Ist diese Darstellung verständlich? Bei einer Probe auf eine positive Eigenschaft würde man sagen, dass es sich um eine um drei erschwerte Probe handelt, die missglückt ist. Bei negativen Eigenschaften scheint es mir aber auch logisch zu sein zu sagen, es sei eine um drei erleichterte Probe auf eine negative Eigenschaft, die geglückt ist. Sollte man bei negativen Proben zumindest "Geglückt" und "Missglückt" vertauschen?
Kann mich irren, aber aus meiner Sicht ist der Weg nicht richtig. Wenn die Probe erleichtert ist, würfelt man gegen eine 7 an und mit der gewürfelten 9 scheitert man um 2 Punkte.
Ergo: TA 4 + Amulett 3 = 7 - 9 Wurf = -2 missglückt. Glücken würde die Probe bei positivem Endergebnis, oder?