Files
arbee 8b78d81440 M68k: MMU fixes and updates [R. Belmont]
- 68040 form of PTEST fixed and handled (previously didn’t decode correctly)
- Fixed PFLUSH decoding so incorrect F-line traps don't occur
- Indirect page descriptors write back U/M bits properly instead of potentially corrupting the page table
- Reset now properly clears ITTx/DTTx
- MMUSR now shown in the debugger to help track failed translations
- PFLUSH on 68881/68030 now properly compare the ATC tag
- Fixed typo causing misinterpretation of long-format descriptors
- Indirect descriptors now are handled properly
- PTEST on 68881/68030 properly handles levels shallower than the table depth
- PMOVE to TTx now properly flushes the ATC
- TC consistency check no longer throws exceptions on valid TC values with junk in the TI fields
- MMU EA decoding now only accepts forms the real MMUs do
- Added some guards against invalid page tables

M68k: FPU fixes and updates [R. Belmont]
- FPU opcode now validated before doing any EA calculations
- 68040-specific FSxxx/FDxxx instructions implemented
- 68881 transcendentals implemented and verified

M68k: cycle counting overhauled for 68030 and 68040.  Timings are significantly better but still inaccurate, especially on 68040. [R. Belmont]

3rdparty/softfloat3: Fixed several errors in the transcendental helpers, including wrong parameter order [R. Belmont]

AI disclosure: MMU and FPU debug/tracing and fix planning assisted by Claude Fable 5.  Cycle count refactor assisted by GPT 5.6 Terra.

Testing: A/UX 3.1.1 now boots properly on a range of 68030 and 68040 machines (with some driver changes not included here).  It previously was impossible to boot on 68040.  A generated Lua boot script hijacked 68030 and 68040 Macs to run a variety of synthetic FPU and MMU tests.  Tested taitojc, Marathon, Wolfenstein 3D, and Jigsaw Puzzle on Mac OS.  Tested NeXTSTEP on 68030 and 68040.  Tested HP/UX m68k.  Tested funkball on x86 to verify x87 is unhurt by the softfloat3 helper fixes.
2026-07-18 08:56:15 -04:00
..

Package Overview for Berkeley SoftFloat Release 3e

John R. Hauser
2018 January 20

Berkeley SoftFloat is a software implementation of binary floating-point
that conforms to the IEEE Standard for Floating-Point Arithmetic.  SoftFloat
is distributed in the form of C source code.  Building the SoftFloat sources
generates a library file (typically "softfloat.a" or "libsoftfloat.a")
containing the floating-point subroutines.

The SoftFloat package is documented in the following files in the "doc"
subdirectory:

    SoftFloat.html          Documentation for using the SoftFloat functions.
    SoftFloat-source.html   Documentation for building SoftFloat.
    SoftFloat-history.html  History of the major changes to SoftFloat.

Other files in the package comprise the source code for SoftFloat.