Make "1987.elf" work.
Posted on 2005-09-07 00:00:00
There's a non-standard COP0 opcode that those demos seem to use... I checked in the nSX2 disassembler and it seems that this instruction is called EI, probably standing for "Enable Interrupts". I added this instruction in the matrix for now, but it's doing nothing since I don't know what it's doing exactly and because there's no interrupts involved right now. This instruction is probably a shortcut to set the "interrupts enabled" bit in the COP0 STATUS register.

I wonder if there's a lot of those non standard extensions... There was this thing with the MULT/MULTU instructions that allowed the result to be stored directly in a register and now it's this instruction. I'll need to find some documentation about those.

Also implemented instruction SLTI in the basic R5xxx core.

The basic framework for COP0/COP1 is completed. Added some disassembly for the FPU instructions used in this demo. I'll need to add the FPU registers to the registers window, then I'll be able to implement the actual instructions.

I let the demo run a bit even though some instructions are missing and it's sending some stuff to the GS, but they are line primitives, which aren't supported yet. So, no screen shots for now.