i860 emu: pipelined pftrunc/pfix through the adder pipe (raw-bits pipe entries)
The frame-1 extent bug traced to four `pftrunc.sd fN,f0,fX` ops (P=1) converting the region bounds through the A-pipe -- our fix/ftrunc was scalar-only (MAME's core never implemented the pipelined form: "pipelined not functional yet"). The drains then retired neighboring values (the homogeneous w=1.0f as raw bits -> y1=0x3F800000>>7=8323072 -> ~8.3M phantom tile rows = the 49K uniform bins / 4096 same-page descriptors). Pipe stages now carry (value, rp, raw): pipelined ftrunc/fix push the truncated integer BITS (64-bit pair for .sd results), and _retire() writes raw entries back verbatim instead of re-encoding floats. Extent probe after fix: x0=y0=x1=y1=0 (sane empty bound), single visit instead of a hot loop. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+734
-708
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user