Make "1987.elf" work.
Posted on 2005-09-11 00:00:00
Made the FPU code a bit cleaner by putting some functions into the instruction factory base class.

I also checked why the 1987 logo wasn't showing, and it was because the OpenGL GS handler was interpreting the (only) texture upload as being something that's going to be put in the frame buffer. That was because the FRAME1 register wasn't initialized before the texture upload. Made the registers reset to zero when the GS handler is instancied. But this should be done each time you reset the machine, but that's something the virtual machine doesn't know about yet. This direct frame buffer write is a tricky thing to do with OpenGL... Only the "Final Heaven" demo uses this for now, so I dunno how more complicated this could become. But fixing this problem didn't break this particular demo.

Here's what it gives with the logo on the screen. I have no clue if the logo should be showing during the star field part. I don't really have any references for that, except nSX2 that seems to run this demo pretty badly.


Screenshot #000018
Screenshot #000019


Next things up to do is to be able to filter the log and to implement the missing opcodes that appear later in the demo (SDL, SDR, LDL, LDR I think).