Software > Software (16-/32-Bit)

TOS Patchen

<< < (27/27)

Thorsten Otto:
Ja, könnte es (und würde es wohl auch, weil die FPU-Register mit NaN initialisiert sind). Allerdings wird der Test beim booten ausgeführt, und zu dem Zeitpunkt sind die FPU-Exceptions ausmaskiert. Wäre aber durchaus möglich daß das der Grund für den Patch ist, obwohl ich eigentlich kein Programm kenne daß die Exceptions einschalten würde. Wird auch von der mintlib z.B. gar nicht unterstützt.

KarlMüller:

--- Zitat von: Thorsten Otto am Mi 30.01.2019, 11:03:10 ---TOS 3.06 wird in der Routine, die auf FPU testet, ein fmove fp0,d0 durch ein fmove d0,fp0 ersetzt. D0 wird an der Stelle nicht benutzt, also macht es nichts aus wenn es zerstört wird.

--- Ende Zitat ---
Um herauszufinden, ob eine FPU eingebaut ist, versucht TOS die eventuell im Register FP0 enthaltene Zahl in eine Integer-Zahl zu wandeln. Gelingt dieses bei vorhandener FPU jedoch nicht, meist nach einem Tastatur-Reset, so löst die FPU ein Exception aus, was zu einer endlosen Reset-Schleife führt.

Thorsten Otto:
Der Line-F-Trap (also ob überhaupt eine FPU vorhanden ist) wird natürlich abgefangen. Alle anderen Exceptions sind wie gesagt normalerweise maskiert, dh. sie werden zwar im FPU Status Register angezeigt, führen aber nicht zu einer Exception. Ausser halt es schaltet sie jemand frei.

Wäre aber durchaus möglich daß tatsächlich solche Programme existieren. Insbesondere solche die mit Pascal, Modula und Konsorten übersetzt wurden. Solche Programme steigen gerne mal mit absonderlichen Runtime-Fehlern aus.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln