Einfach pasm -v -b MFM4IP.SYS.
Huks, tatsächlich.:
--- ok 2025-12-15 13:10:28.479910052 +0100
+++ wrong 2025-12-15 13:10:32.613225013 +0100
@@ -80,7 +80,7 @@
[000000ec] 4258 clr.w (a0)+
[000000ee] 20f9 0000 04ea move.l $000004EA,(a0)+
[000000f4] 7027 moveq.l #39,d0
-[000000f6] 247a 03e6 movea.l $000004DE(pc),a2
+[000000f6] 247a 0000 movea.l $000000F8(pc),a2
[000000fa] 246a 002c movea.l 44(a2),a2
[000000fe] 45ea 000a lea.l 10(a2),a2
[00000102] 30da move.w (a2)+,(a0)+
"wrong" wurde mit -b übersetzt, und die Instruktionen kommen von sowas wie "move nvdi_struct(pc),a2", wobei nvdi_struct im BSS-Segment iegt. Frage mich nur, ob hier nicht der Linker der ist der den Murks baut. Aber einer von beiden sollte auf jeden Fall meckern.
Da ich bei mir beim übersetzen aber DRI nicht benutze, sind die binaries dort nicht betroffen.
Einfach Abhilfe wäre auch, dort entweder nicht pc-relative zu benutzen, oder die Variablen nicht ins BSS zu legen.
Übrigens hatte ich noch offiziell eine Version (so etwas habe ich immer freundlicherweise von ASH bekommen) etwa vom Januar 1993 (?), und aus ominöser Quelle habe ich jüngst ein Archiv gefunden mit einem pasm vom Juni desselben Jahres. Das ist hoffentlich das neueste.
Da wäre ich sehr daran intereressiert.