mein Industrie 486er ärgert mich gerade mit einem ganz merkwürdigen Absturzverhalten bei einigen Programmen.
Mein System
CPU: Intel 80486DX4-S / 100 MHz
Cache: 16 KB L1 im write through, 128 KB L2
Chipsatz: UMC UM8498F
Speicher: 2 x 16 MB Siemens HYM324025s-60 EDO-RAM
Industriesystem mit SBC (SSC-486 H Ver. C) und ISA-Backplane
Soundkarte: Aztech Sound Galaxy (Washington 16?), Platine I38-MMSN850 mit AZT2316-S Chip
Grafikkarte: Targa Win 32K, Tseng ET4000AX Chip und 1 MB Speicher
Bios: AMI WinBIOS
OS: DOS 6.22
In der Galerie ausführlich vorgestellt: http://www.dosforum.de/viewtopic.php?f=29&t=10304
Problembeschreibung
Seit ich den 486er am Laufen habe, wundere ich mich, warum manche Programme nicht vernünftig laufen und dachte mir erstmal, dass es am Industrie-Charakter des Systems (Einplatinenrechner mit passiver Backplane) liegt und da Hardwarezugriffe o.ä. gesperrt werden. Etwa neigen einige alte Demos zum spontanen einfrieren. Vorne weg Second Reality von der Future Crew. Sobald der Landschaftsscroller endet und das Raumschiff erscheint, hängt sich das System auf. Einige alte Cracktros schmieren auch direkt ab und wenn ich im Fasttracker II einen Song höre, funktioniert das maximal 2 Minuten. Dann erhalte ich einen General Protection Fault an Adresse 16B2:22A9 (es ist immer das Segment 16B2, das Offset wechselt liegt aber häufiger bei 22A9). Gerne auch mal das EMM386 Fehler #06 einer Anwendung bei der Speicheradresse 00B8:15DA gefunden hat.
Bisherige Lösungsversuche
Defekter Arbeitsspeicher?
Daraufhin habe ich es erstmal ohne EMM386 probiert, die Intros stürzen immernoch ab. Fasttracker auch mit alternativen Speichermanagern. Natürlich kam mir der Gedanke, dass ein Speicherriegel defekt sein könnte. Also Memtest86 laufen lassen - keine Fehler. Goldmemory findet auch nichts. Im BIOS mal den Hardware Parity Check aktiviert -> Parity Error!
Ich baue wieder den 4MB Riegel ein, mit dem ich den Rechner bekommen habe. Keinerlei Unterschied! Und dann dachte ich nochmal nach: Wenn der Arbeitsspeicher beschädigt wäre, müssten Spiele doch auch abstürzen. Tun sie aber nicht! 2 Stunden History Line 1914-18 gingen problemlos. Auch habe ich ja einen Grafikkartenbenchmark mit übertaktetem ISA-Bus und Doom 1 Benachmark gemacht und die Ergebnisse hier im Forum gepostet, das ging ohne Abstürze.
Also nicht der Arbeitsspeicher...
Bei meinen Benchmarks für die Vorstellung hier im Forum etwas kaputt gemacht?
Das ich dabei etwas beschädigt habe, kann ich auch ausschließen, denn Second Reality lief von Anfang an nicht. Es war mit das erste Programm, was ich ausprobiert habe, selbst als hardwaremäßig noch alles im Urzustand war. Und der Fasttracker 2 kam dazu, sobald die Soundkarte drin war.
Also auch nein, da das Problem vorher schon aufgetreten ist
Spinnt evtl. der Cache?
Was bliebe, wäre evtl. ein Problem mit dem Cache. Also mal L1 und L2 Cache aus, jetzt läuft alles im Schneckentempo aber sonst keine Änderung. Also auch nicht der Cachespeicher -woher kommt nur dieser Parity-Error?
Bios-Einstellungen?
Im Bios waren bisher die "Optimal" Einstellungen mit nur kleinen Änderungen (floppy drive seek aus, memory tick sound aus usw.) Ich habe dann das Fail-Safe Profil geladen und der Fehler war weg! Kein Parity Error (trotz weiterhin aktiviertem Parity check) und alle Programme die vorher abstürzten, laufen jetzt! Zwar sehr langsam, da ja alles auf langsamsten Einstellungen steht, kein Cache, lahme Timings etc., aber nichts stürzt mehr ab. Auch Second Reality ruckelt zwar enormst, läuft aber durch.. Damit ist auch endgültig ausgeschlossen, dass der SBC da mit irgendwelchen Schutzmaßnahmen mitmischt. Der Hardware Watchdog ist auch per Jumper deaktiviert.
Also taste ich mich nach und nach an meine alten Einstellungen ran und was letztlich den Unterschied macht, ist der ISA-Bustakt! Bei Failsafe wird der ISA-Bus auf 2,75 MHz (PCLK/12) anstelle der normalen 8,25 MHz (PCLK/4) gesetzt. Ich hebe ihn langsam wieder an und teste regelmäßig. Mit 6,6 MHz lauft second reality und ich kann drei Songs im Fasttracker hören. Gehe ich höher, also auf den normalen Wert, der auch vom Bios normalerweise bei der autodetection der Speichereinstellungen gesetzt wird. Ist der Fehler, inklusive Parity-Error plötzlich wieder da. Doom oder auch Duke Nukem 3D kann ich aber selbst bei einem Bustakt von 11 Mhz noch spielen, ohne Abstürze.
Was kann das nur sein? Während ich das hier schrieb kam mir gerade die Soundkarte mehr und mehr in Verdacht, denn sowohl bei den Demos / Cracktros als auch im Fasttracker 2 treten die Abstürze ja auf, während MOD-Dateien, also viele Samples, abgespielt werden. Bei Spielen mit OPL-3 Musik und nur gelegentlichen Samples gibt es keine Probleme. Spinnt also vielleicht einfach der DSP meiner Sound Galaxy und mag keinen hohen Datendurchsatz? Leider habe ich keine andere ISA-Soundkarte zum testen da.
Was meint ihr?