Home
Deunan
February 22nd, 2008 
11:37 pm - Goodies!
Deunan, Knute
So... MAME is getting Naomi support... can't let that slip now, can I? :)

I've spent the last few days working hard on getting MMU code to work. Big thanks go to Nathan Keynes, author of lxdream - Dreamcast emulator for Linux. I've managed to iron out several nasty bugs thanks to him and his sources.

More thanks and bows go to Yuki, who supplied me with TONS of Japanese Dreamcast software - both GD and MIL-CD based. And keeps coming back with more!

And last but not least, R. Belmont and kingshriek came up with a very nice AICA implementation, allowing me to improve mine in the process. I'm still a bit short on the DSP side though...

Gee, I wish there were more people that helpful (hint, hint).

Anyway, point is I now have both interpreter and recompiler capable of running with address translation on. This new recompiler is nothing like the non-MMU one, just about every optimization had to go... Right now I forked the project and keep two separate source sets but those will merge eventualy.
There's still some room for improvement (especially if I can think some clever and fast virtual->physical address cache) but I need to state this clearly: E6600 C2D is barely enough to to get 20 to 30FPS in-game. I do realize that Windows CE on Dreamcast was slow to begin with (and perhaps never went over 30) but you'd better get a damn fast CPU if you want to play games based on it. And if you already have a fast one, it's not enough. Get something faster.

Some pictures of MIL-CDs and GDs using MMU:






The next big problem with Windows CE games is that those use Sort-DMA, something I've not yet implemented properly. Many games boot with black screen, I get sound only - guess it's time to look into that.

EDIT: Pff... Sort-DMA be easy. Expect more pictures soon :)


This page was loaded May 15th 2008, 3:35 pm GMT.