mirror of
https://github.com/libretro/parallel-ps2.git
synced 2026-11-10 17:26:34 -10:00
Two more capture files that nothing read. tests/cpu/ee_fpu/transfer.expected: MFC1 and MTC1, the moves between an FPU register and a GPR. The capture pins the thing easy to get wrong -- MFC1 sign-extends into the full 64 bits, so a negative float's pattern arrives with the upper word all ones -- and that writing to $0 is discarded. Making MFC1 zero-extend fails a case. Its CFC1 and CTC1 lines restate masks hwrealfpu already scores against the fcr capture and are not duplicated. tests/cpu/vu0_macro/transfer.expected: QMFC2 and QMTC2, the full-width moves between a VF register and a GPR, plus the two discard cases -- a write to $0, and a write to VF0, which keeps reading back as (0,0,0,1.0) because the register is hardwired. Taking QMFC2's upper half from the wrong doubleword fails a case. The file's ctc2 half is already scored by tests/vu/hwctc2.c and was left alone. QMFC2 and QMTC2 live in VU0.cpp, so hwrealvu links it. Its other dependencies are the VU scheduling and COP2 dispatch these two do not reach, which are stubbed; CpuVU0 and CpuVU1 are pointers to const rather than objects, so the harness owns the storage and exports the pointers.