This problem only occurs on RO5, either IOMD or ARM11. The sequence of events leading up the issue are:JonAbbott wrote:BlowPipe is the closest to working, the only problem is a piece of code that tries to write to page zero.
1. RISCOS calls the EventV handler in BlowPipe on VSync (Event 4)
2. Within the EventV handler, the follow sequence of JIT code executes and randomly fails:
Code: Select all
LDR R1,&11fd464
LDR PC,&11fd43c (which jumps to the instruction below)
STMFD R13!,{R0-R3,R14}
This issue is Pi specific, not RO5 specific. RO5 on IOMD doesn't suffer this issue.JonAbbott wrote:I also need to figure out how to improve disc swapping on Xenon 2 and BlowPipe. Both sit in a loop waiting for an IRQ event to notice the disc has changed, for some reason that causes problems on the Pi, as if the keyboard doesn't trigger a hardware IRQ.