Valkyrie Menus
Posted on 2011-11-13 14:39:00
As promised, I went back to work on Play!. I continued my work to get Valkyrie Profile 2 to run properly. To make it run a bit better I had to fix a bug in the way interrupts are handled, force basic blocks to be destroyed when the game is writing at their RAM location, make the analog stick work in the DBCMAN IOP module, implement missing system calls in both the EE and on the IOP sides and add support for some more VU instructions.

I also had to implement some hacks to display what's rendered at a specific frame buffer address because this game seems to use the rendering output as a texture to be drawn on a full screen quad, which is something I can't really handle in my OpenGL GS renderer right now. I also had to ignore vertex colors because everything was being drawn with a black color.

All of this allows me to navigate in the title menu without too many problems:


Screenshot #000225Screenshot #000226
Screenshot #000227Screenshot #000228


Some notes about the first and the last screen shots:

The actual title screen of Valkyrie Profile 2 has a white background and some moving clouds. I don't know why we don't see any of them, but I can see the mesh used for the clouds if I enable the wireframe mode. There's also something being rendered off screen in the right which also looks like clouds, but I have no idea why it's being drawn there.

The last screen shot shows the prompt used to skip the first movie. I disabled movie playback in the game, so, that's why we see garbage there. If we let it run, we can see the sub-titles and credits being drawn over the video.

After skipping the video, the game starts preparing for the first cutscene. It was using a lot of missing VU instructions that I had to implement and it also triggered a bug with VCALLMS which I fixed. But after that, the emulator crashes because the game feeding some weird data to the GIF through a DIRECTHL command. I'm looking into it and I hope that I'll be able to see some in-game action after this.