The (hopefully last) major refactor of the cdrom host subsystem has finally landed in trunk – this shouldn’t be particularly user-visible at this point (unless I’ve broken something, which is entirely possible), although it does fix a few long-standing bugs that no-one ever ran into. Mostly this is to make things more flexible, so that I can add features without it becoming an even more tangled mess.
The first of these is the ability to boot from disc without actually needing the Dreamcast boot rom. This is in now, and is working for dclinux and (I think) most homebrew. As far as I know it doesn’t work for any commercial titles at the moment though. As a nice side-effect it boots faster too (as it doesn’t have the flashy logo screen).
The other piece of work that this supports is on-the-fly construction of cdrom images – for example, taking a binary program and encapsulating it automatically in a bootable image. Also of interest is support for SBI “images”, which are basically filesystems-in-a-zip. This also makes it easier to add image formats like BIN/CUE and BIN/TOC, so I’ll probably add those in the near future as well.
In unrelated news, OS X 10.6 has been giving me a lot of grief – exception unwinding support seems to be subtly broken (worse, in a way that’s hard to detect with a simple configure test). I wasted far too much time trying to track down a memory corruption bug that eventually turned out to be coming from the unwinder as well *sigh*. So for the time being I’m going to settle for building on 10.5, and hopefully it’ll work on 10.6 as well. Incidentally, I’m intending to drop support for 10.4 for the next version unless someone screams really loudly – trunk hasn’t actually built on 10.4 in quite some time, and no one has complained yet…
- CDROM host subsystem finally properly separated from the Dreamcast bits. Much better now
- BIOS-less booting of discs. Most homebrew should be able to run now without the actual boot rom.
- New -b command-line option to run without the BIOS even if it’s configured