Archive for September, 2008

September 19th, 2008 by nkeynes
New Poll: Feature requests for 0.9
Posted in Development

Now taking requests here: Poll

I’ve been looking into why Ketm (among other games) was showing some strange timing problems – turns out that they’re very sensitive to the exact SH4 CPU speed, presumably due to use of timing loops. Unfortunately the raw instruction rate, like most modern CPUs, is quite complicated, so this is going to take some time to get right. Admittedly we were certainly going to need cycle-accurate emulation eventually though (or at least close-to-cycle-accurate).

Otherwise work on the accumulation buffer + shadow volumes (at least for opaque polygons) is progressing nicely, but nothing to brag about as yet. In a rare bit of good news, it appears that ATI’s latest 8.9 drivers do in fact (at least claim to) support EXT_packed_depth_stencil at long last, meaning that people with ATI cards will actually be able to see the shadow effects now. Well, once they’re working at all, anyway.

No changelog today, as I find the recent lack of commits disturbing…

September 13th, 2008 by nkeynes
Ooh look, new features
Posted in Development

You know, with all the porting and bug fixing this year, I think it’s been a while since anything new was actually added to lxdream. But it looks like we might finally be past most of that stuff, and I can start getting back on track. Well ok, the lightgun support is pretty random, but it’s good to get the input system more or less fully sorted out now.

Remaining for 0.9: Accumulation buffer, shadow volumes, and bump mapping. And a ‘real’ translucent polygon sorting algorithm, along with a bunch of minor things I need to tidy up.


  • ASIC: Start adding the secondary PVR DMA channel
  • IDE: Implement drive status command (10h)
  • PVR2: Add vertex fog & rudimentary LUT fog (needs to be moved to the pixel shader for pixel-level correctness)
  • PVR2: Add render-to-texture support (completely untested and probably broken)
  • PVR2: Implement horizontal scaler buffer write-back
  • MAPLE: Add lightgun support
  • GUI: Allow mouse events to be used for controller buttons
  • OSX: Disable run button/menu when no program is loaded
September 2nd, 2008 by nkeynes
More bugfixes
Posted in Development

Ok, that’s about a wrap for the ‘month of bugs’. Mostly minor stuff again, but I’d be interested in hearing about anything that’s still failing to start with the latest svn revisions. And now back to some of those video bits and pieces that I keep putting off… (well, that and continuing to hammer on the ARM test cases as time permits)


  • SH4: Mask SR, FPSCR, and the MMU/General IO registers properly
  • SH4: Remove a number of harmless warnings that have been cluttering up the output
  • SH4: Initial real perf counter implementation, at least for 0×23 (SH4 clock count)
  • AICA: Set a sensible default value on the 0×2808 register
  • GDROM: Fix reading NRG images with multiple DAOX/DAOI sections
  • IDE: Generate the DMA interrupt on end of DMA rather than end of read (duh…)
  • PVR2: Adjust hclip appropriately when using the horizontal scaler
  • PVR2: Fix DMA/SQ writes to the VRAM32 region
  • GUI: Display the current disc title in the title bar
  • GUI: Change mouse grab to only take effect while actually running, and a grabby controller is configured (ie the DC Mouse).