Page 1 of 2 12 LastLast
Results 1 to 10 of 15
  1. #1
    EmuTalk Member JKKDARK's Avatar
    Join Date
    Mar 2006
    Posts
    1,012
    Mentioned
    0 Post(s)

    DC lxdream WIP thread

    I just posted this thread for all the WIP news about this Dreamcast emulator for Linux.

    Slow Week II: Revenge of Slow Week



    Real Life(tm) has been a little bit hectic lately, so there’s isn’t much to report for last week for lxdream. The render split is mostly done now, and will probably be merged back to trunk this week (as soon as I reintegrate the trans poly sorting). Unfortunately I didn’t really get any performance improvements out of it (well, I was probably a little hopeful there), but at least I didn’t lose any performance either, and it was worth doing for other reasons. Once that’s merged I’ve got a few small non-render issues to sort out, and then I’ll get back to the annoying rendering bugs…

    In other news, dclinux 010605 is now hosted locally (as long as the bandwidth holds out), including a self-booting NRG image (thanks to The Gypsy), check it out on the wiki. Note that you’ll need the latest svn trunk to boot the nrg image properly.

    And finally, I see that MAME now has a mostly complete AICA driver, thanks to ElSemi, kingshriek, dknute & R.Belmont. *jaw drop*. That… will _really_ help ^_^.

    Trunk Changes

    * Fixed a couple of d’oh-level SH4 bugs (thanks to dknute for pointing them out)
    * Quick hack to get the dclinux nrg booting. Full update to follow soon.

  2. #2
    EmuTalk Member JKKDARK's Avatar
    Join Date
    Mar 2006
    Posts
    1,012
    Mentioned
    0 Post(s)
    GD-rom and ALSA improvements

    Updated the CD-Rom image code to handle the various read modes (Bug #59), including raw reads (using libedc to generate the EDC/ECC data on the fly), as opposed to the old code which really only handled mode 1 and mode 2 form 1 sectors - CD-Roms are much more complicated beasties than one typically imagines. I haven’t validated it yet, but I don’t think I’ve broken any of the cases that previously worked either *crosses fingers*.

    In other news bhaal22 has contributed an ALSA sound driver which is now in svn, along with some initial (long overdue) work towards tidying up the audio subsystem.

  3. #3
    EmuTalk Member JKKDARK's Avatar
    Join Date
    Mar 2006
    Posts
    1,012
    Mentioned
    0 Post(s)
    A distinct lack of time
    I apologise for the lack of updates recently - unfortunately I have not had a lot of time to work on lxdream lately due to real life conspiring against me. Iíll try to update when I can, but for now there probably wonít be a lot to report until at least the end of May.

    The good news is that lxdream-render is pretty close to mergeable now (doesnít seem to break much now), and Iíve spent a bit of time trying to track down the irritating ďgeometryĒ bugs Iíve been seeing (It looks like bad geometry on screen, but the same data renders just fine on the DC). The bad news is that thus far, I havenít really gotten anywhere with said bugs

  4. #4
    EmuTalk Member JKKDARK's Avatar
    Join Date
    Mar 2006
    Posts
    1,012
    Mentioned
    0 Post(s)
    Render branch merged back to trunk

    Thereís some outstanding niggles with the transparency auto-sorting (which will be fixed when I beef up the sorting algorithm), but by and large I think Iíve fixed everything I broke with the render changes. So thatís merged back to trunk now where the rendering work will continue. The big win so far has been fixing perspective correction - by itself thatís fixed something like 95% of the visual problems I was seeing.

    Time to do some more rendering features now I think ^_^
    Changes

    * Fix perspective-correction (shader-only at the moment)
    * Change mip-map texture loading to work around bug in ATI drivers
    * Add mirrored texture support
    * Add configure checks for fbo + shader support (to avoid linking errors on really old GL libraries)

  5. #5
    EmuTalk Member JKKDARK's Avatar
    Join Date
    Mar 2006
    Posts
    1,012
    Mentioned
    0 Post(s)
    Fun with OS X 10.5 + GLX

    The good news is that I now have regular access to a mac again, and itís actually fairly up-to-date (ie itís running 10.5). So as a result, I have to say Iím stunned that other people have managed to get as far as they did - as far as I can see, Apple seems to have broken GLX pretty thoroughly[0] .

    So Iíve done 3 things:

    * Fixed the crashes at least, with glx, and generally fixed up the configure script for 10.5. Iíve probably broken it for 10.4 though. Which raises the question - is anyone actually trying to use lxdream on 10.4?
    * Added support for the native GTK port w/ NSGL. This actually works fairly nicely. Unfortunately the only binary I can find for GTK/Quartz is provided by macports, and the font support is broken at the moment (ie completely missing). If anyone actually manages to build it from sourceÖ do let me know

    * Started implementing a (fairly minimal) native cocoa UI. Well I was always going to do this eventually, I just hadnít been planning to do it _now_.

    In unrelated news, pulseaudio support is now in, along with spanish and italian translations (thanks to segnini75 and ghost22)
    [0] So far Iíve noticed: Itís restricted to 16-bit depth buffers, has various other regressions from 10.4, creating a context with fbconfig crashes the app, glSecondaryColorPointerEXT fails if given a size = 4 (and lead to a crash), not to mention the libGL link cycle issueÖ

  6. #6
    EmuTalk Member JKKDARK's Avatar
    Join Date
    Mar 2006
    Posts
    1,012
    Mentioned
    0 Post(s)
    Ok, break time’s over

    So I get back from vacation and discover that my main desktop has decided to commit suicide. On the bright side, its replacement has two important advantages. Firstly, it’s somewhat faster; and secondly it runs 64-bit code natively - in other words you can start to expect x86-64 to work at least as well as i386 does . Also it doesn’t overheat under a moderate load like the old one did either, which is nice.

    Interestingly enough, on said new machine, the 64-bit version runs about 12% faster than the 32-bit version. That’s… pretty impressive actually.

    On the Mac front, I’ve finally stumbled over the reason I couldn’t get it to work properly (It simply refused to become the active application, take key focus, etc) - apparently Cocoa really, _really_ wants to run inside an application bundle, and gets very unhappy when there isn’t one… At least now that that’s sorted I should be able to get the preliminary cocoa ui in real soon now.

    So based on current scheduled items, you can probably expect 0.9 somewhere towards the end of July.

    Changes

    * Change FR bank handling to swap rather than using an index pointer. Actually slightly faster + simpler this way
    * Fully integrate the SH4 instruction counting (enabled with ./configure –enable-sh4stats)
    * Cleanup lots of compile warnings (not all yet, but getting there) that have been hanging around for a while
    * Fix save states on x86-64 (and also fix compatibility with 32-bit saves)

    OS X user interface - first cut

    The first version of the cocoa UI is in subversion now, and enabled by default if you’re building on Mac. You’ll need to do ‘make bundle’, which will give you lxdream.app which should (hopefully) launch normally. Currently it’s missing the configuration dialogs and a couple of other things, but it’s mostly there - anyone want to try it out and let me know if it works for them? (Especially curious as to whether or not it runs on 10.4).
    To get the GTK interface instead, configure with –with-gtk.

  7. #7
    EmuTalk Member JKKDARK's Avatar
    Join Date
    Mar 2006
    Posts
    1,012
    Mentioned
    0 Post(s)

    DC

    Small fixes

    Mostly just finishing/unbreaking things Iíd broken in recent changes, so thereís nothing terribly exciting to report at the moment.

    Changes

    * Fix launching from the Finder (odd command line arguments and all)
    * Move the background into the main scene structure, so itís actually included in the min/max z (the lack of which was causing missing backgrounds in some situations). Massively simplifies things at the cost of needing colour unclamping support for correct output in all situations.
    * Change internal colour format to float from unsigned char - surprisingly doesnít have much impact on performance, but makes a few things much simpler to implement
    * Finish integrating the run-time limiting properly so that itís no longer a big wart on main.c (and works properly on OS X as well)
    * Refactor the GD-Rom selection menu to be a bit more generic and add a cocoa view for it

  8. #8
    EmuTalk Member JKKDARK's Avatar
    Join Date
    Mar 2006
    Posts
    1,012
    Mentioned
    0 Post(s)

    DC

    Wrapping up the OS X port

    Iíve ended up spending a lot longer on the OS X port than I would have liked - the worst culprit lately has been the native CD-Rom support (but thatís a rant for another day). The only major bit outstanding now for OS X is the preferences dialog, which Iíll get back to shortly after I spend some time on other things.

    Changes

    * Add CoreAudio support (OS X dependencies are now down to glib + gettext)
    * Finish making the OS X bundles self-contained (ie distributable)
    * Get the OS X native cdrom drive to a Ďmostly workingí state.
    * Fix a couple of minor translator buffer issues

  9. #9
    EmuTalk Member JKKDARK's Avatar
    Join Date
    Mar 2006
    Posts
    1,012
    Mentioned
    0 Post(s)
    Slipping 0.9 to October


    Well, it’s become increasingly clear that I’m not going to have 0.9 ready in the next 2 weeks, or even in month after that. There’s two main reasons for this - I’m unfortunately finding much less time to work on lxdream of late than originally counted on, and the OS X work pretty much took a couple of months out of the schedule by itself. In any case, based on the remaining work and current rate of progress, I’m rescheduling 0.9 for October. We’ll see how that goes ^_^.
    However having said that, there’s certainly enough changes to warrant a 0.8.4 interim release, especially for OS X and x86-64 users. I have a fairly short list of things remaining that need to go into that release, so that will be out in about 2 weeks. In the meantime, if anyone’s noticed any regressions relative to 0.8.3 or platform-specific bugs, please let me know as soon as possible so they can be fixed prior to release.
    Changes

    * Various automake fixes (eg out-of-tree builds and distcheck work now for the first time)
    * Tag SVN binaries with the revision for ease of tracking/reporting
    * Initial implementation of the sort-dma channel
    * Fix alignment of 64-bit FMOVs
    * Fix soft-reset from the emulator (lockup)
    * Fix off-by-one in the translator recovery data (crash)
    * Fix build when no translator is available
    * Fix build against OS X 10.4 SDK
    * General formatting and warnings cleanup

  10. #10
    Dreamcast-Fan
    Join Date
    Dec 2006
    Location
    Munich, Germany
    Posts
    40
    Mentioned
    0 Post(s)
    lxdream 0.8.4 released

    Nathan Keynes released version 0.8.4 of lxdream. There's full native Mac OS X support in this version.

    As promised, 0.8.4 is now available from the usual place. For the first time, I’ve also put up binaries for Debian(unstable) and OS X (10.4+). Again, this is a minor release with the bulk of the changes under the hood, so don’t expect radical changes to the emulation quality or compatibility.

    What’s new
    *Fully native OS X support
    *Renderer rewrite (fixes perspective correction among other problems)
    *ALSA and PulseAudio sound drivers
    *Save states now work on x86-64
    *New translations: Spanish and Italian
    *Lots of miscellaneous bug-fixes and improvements

    Last week’s changes
    *OS X: Shiny new preferences dialog
    *OS X: Fix internationalization support
    *OS X: Finish off application bundle (Info.plist, icon)
    *OS X: Handle mode-unspecified CD-Rom disc reads
    *Linux: Show CD-Rom drive names in gdrom menu
    *Linux: Fix mounting empty CD-Rom drives
    *Change audio initialization to try all available drivers
    Interested in Dreamcast emulation? Check out DCEmulation and SEGA-DC.DE!

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •