lxdream.org :: News
lxdream 0.9.1
released Jun 29
Download Now
Lxdream is an emulator for the Sega Dreamcast system, running on Linux and OS X. While it is still in heavy development (and many features are buggy or unimplemented), it is capable of running most demos and some games.
August 12th, 2007 by nkeynes
Not dead
Posted in Development

No, lxdream is not dead. Unfortunately I’ve been caught between increased demands in real life, and an translator generator sub-project that’s still some way from completion (hence no useful updates).

The translator generator is, admittedly, a fair deviation from the simplest thing that could possibly work, but the trade-off was that it would make a hairy and error-prone section of code substantially more reliable (in other words, if it gets something wrong it’ll break everything, rather than the likely case of one or two instructions being subtly wrong once in a while).

Current status: The decoder generator is working fairly nicely for SH4 (it’s not really general enough for much else atm). The assembler should be done in the following week, and then I’m aiming to get the register allocator finished 2-3 weeks after that. So if nothing goes massively wrong, there’ll be a September release with the translator in it (and not a whole lot of
other changes at this stage).

Which puts us on track for an end-user release in December, so only 6-months behind the original schedule *grin*.

March 8th, 2007 by nkeynes
Quiet month
Posted in Development

Unfortunately I’ve been busy with other things recently, so no real updates to report. Expect the same this week. After that there might be some progress, you never know.

February 16th, 2007 by nkeynes
And life goes on…
Posted in Development

Most of this week’s spare time went into writing tests for the SH4 core and doing some initial translator design. Also shook the bug list out for M3 so as to get a bit of plan in order. Other than that it’s been a pretty quiet week.
Changes

  • Add a batch of SH4 tests
  • Fixed headless mode (broken by display changes in M2)
  • Fixed phpbb forums to not show inactive users in the memberlist or elsewhere – I’m sick of deleting spam accounts, and I’m hoping this might encourage the ****ers to sod off… (ok, this is probably wishful thinking, but at least I don’t have to clean up as much)
February 11th, 2007 by nkeynes
Milestone 2 released
Posted in Releases

Well what are you waiting for? Download it already ^_^. The major work this week was in the video output rewrite (bug #27) – I was originally going to delay this until after the release, but it just made it in in the end. It both cleans up that part of the code a _lot_, as well as fixes a few bugs related to multiple buffers. It also makes render-to-texture much easier to implement now.

The next release (Milestone 3) is intended to be 2-3 months away, with the main priorities being the SH4 recompiler (ie speed), and getting a reasonable end-user UI in place.
Changes

  • Fix parsing of (some?) v3.0 discjuggler images.
  • Fix compressed mipmap textures
  • Fix texture v-clamp
  • Fix linux cd driver not checking for media change
  • Rewrite video output to use opengl framebuffer objects
February 2nd, 2007 by nkeynes
Final Pre-M2 Update
Posted in Development

M2 will be out next week sometime (depending on available time), so this is the last update prior to that. Nothing major this week, just little fixes and improvements.
Changes

  • Implement y-scale 1/2 factor (other values to follow)
  • Allow independent display fields rather than assuming frames are directly interlaced into 2 fields.
  • Invalidate palette textures when the palette changes (a bit of a “duh” really)
  • Fix modulate texture mode (close off bug #16)
  • Finish Backplane control word (bug #10)
  • Fix TA ignoring tile clip on quads
  • Fix TA vertical tile clip in general.
  • Calculate the render size for real rather than just assuming it’s going to be 640×480
  • Refactor gdrom module to be more flexible for “real” device drivers
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 ^_^.
Changes

  • 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.

Changes

  • 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).
Changes

  • 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).

Changes:

  • 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
Meta-news
Posted in Website

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

.