Archive for January, 2007

January 26th, 2007 by nkeynes
WIP Update
Posted in Development

The focus has really been on the renderer and texture manager over the last couple of weeks, and it’s starting to look almost like the real thing. Texture handling should now be feature complete with the exception of bumpmaping, and there’s only one known rendering bug at this point (as opposed to unimplemented features, of which there are still a handful).
Oh, and M2 should be released sometime in the next couple of weeks, for anyone hanging out for it ^_^.

  • Fix cache settings/ram not being saved in save state, related fix for BSC state
  • Fix RGB888 (24-bit) framebuffers
  • Fix 16-bit palettes
  • Fix various depth issues
  • Add support for non-square twiddled textures.
  • Add support for 4-bit palette textures
  • Implement quads (aka sprites) in the rendering core.
  • Implement secondary (offset) color.
  • Enforce the “fragment alpha enabled” bit when rendering
January 22nd, 2007 by nkeynes
Weekly update
Posted in Development

Fixed a whole passel of texture/render issues, and another game now runs more or less correctly all the way through the title movies to the start. It’s not playable though yet, and it has some nasty (non-renderer) in-game graphics glitches.


  • Implemented prototype scene save/load (bug #24)
  • Fix RGB565 textures
  • Fix modulated texture blending
  • Fix depth clear (another old OpenGL misunderstanding on my part)
  • Fix yet another stupid texcache crash bug
  • Unstub the AICA RTC write function and implement the write-enable flag (mainly to stop it whinging about said stub).
  • Reimplemented G2 FIFO status register (was relying on obsolete data and getting stuck occasionally)
  • ReImplemented the horizontal scan position IRQ (aka HPOSIRQ) to not be completely and utterly wrong
  • Tidy up asic event handling.
January 16th, 2007 by nkeynes
MPEG playback
Posted in Development

YUV (bug #21) ended up requiring a lot more code than I originally anticipated, but it’s in now and working to the point where I can watch the game intro (where it was hanging previously).

  • Implemented YUV420 and YUV422 macroblock DMA
  • Implemented YUV422 texture format (decoding to RGBA8888)
  • Added general support for “stride” textures (ie non-power-of-2 textures)
  • Minor refactoring of vram memory code
  • Added ability to launch a save state from the command line (not directly related, but it makes my life easier)
January 11th, 2007 by nkeynes
First actual game running!
Posted in Development

I’ve started fiddling with actual games for testing purposes, and following the changes in the last couple of weeks I now have a couple that will actually run and be somewhat playable. Now admittedly they still have graphics errors, no sound, and they’re rather slow, but it’s still a big leap from where we were even 2 months ago (where nothing would even start).


  • Fixed 2 crash bugs in texcache
  • Fixed final tile on the screen not actually being rendered (fencepost error)
  • Added (basic) support for mip-mapped textures
January 7th, 2007 by nkeynes
Posted in Website

Just a short note that now has an actual news system, so development updates will be appearing here now rather than on