Der PASM hat den 4IP-Treiber kaputt-assembliert, d.h. der erzeugte Code war kaputt. Ich hatte ihn im Modus "create DRI object file" aufgerufen, wie ich das immer mache. Mein Disassembler hat dann gezeigt, wo das Teil Mist gebaut hatte. Ich habe dann schließlich die Behnesche prj-Datei verwendet und es mit PureC gemacht, mit der GUI.
Ich habe dann den älteren MASM ausprobiert, und der hat an den Stelle, an denen der PASM Mist gebaut hatte, eine Fehlermeldung ausgespuckt und sich geweigert, das Programm zu assemblieren. Gut so!
Ursache ist wohl, daß die Behne Brothers PC-relativ von TEXT nach BSS referenzieren. Das geht natürlich eigentlich nicht, und weil ich das im Kernel nicht mache, tritt der Fehler nicht auf. Schwein gehabt. Der MASM weigert sich. Gut. Der PASM kann das vermutlich, aber nicht im DRI-Modus, d.h. er glaubt, daß er kann, kann es aber nicht und schreibt an alle solche Stellen eine Null als 16-Bit-Offset. Dumm gelaufen bzw. maximal gemein und fies.
DIe Kernel-Quellen muß ich eh mal abgleichen; ich habe mir einen "issue" geschrieben, als Erinnerung.
PS: Die Quellen für PASM wären nett...
PS/2: Heute das ganze Fsfirst/next/Dopen/read/closedir-Zeugs aufgeräumt. Hoffentlich nicht verschlimmbessert, habe es noch nicht ausgiebig getestet.
PS/3: Jemand eine Idee, warum Signum 3 und 4 wild mit der Maus herumhüpfen und unbedienbar sind? Ich sehe da auch keine Hardware-Zugriffe, und die Grafik scheint OK zu sein. Alt-Cursor geht ja auch nicht, weil die Maus immer zurückspringt. Ich schau mal, ob ich die SDL-Funktion zum Mauszeigerverschieben aufrufen kann.