cor64 icon indicating copy to clipboard operation
cor64 copied to clipboard

LLE RSP Yielding Issues

Open bryanperris opened this issue 4 years ago • 0 comments

The CPU is allowed start a RSP task, then continue on without yield to the RSP first, that means depending on the core speeds between the processors for an emulator, there is nothing preventing DMEM race conditions.

A hack is working now for some RSP tests, having the CPU thread always sleep some when it attempts to unhalt the RSP but this solution won't work out well if the RSP gets really busy. Knowing that developers can write code on the real hardware and not have to do any yielding since the the clocks are assumed to never change so that means for LLE, without writing a cycle-accurate system, then yielding has to be forced in ways based on on how fast each Interpreter core executes. May need to generate a graphs on RSP usage patterns of common games.

bryanperris avatar Dec 09 '19 19:12 bryanperris