Chilly Willy, one of the guys who keeps up with developing Daedalus for PSP has come up with work in progress news yesterday. Read on…

Quote from Chilly Willy:

Stupidly huge update committed to svn. 😀

– Added lookup table to the fragment cache lookup function. The original code only checked if the address to be looked up was the same as the last one to be looked up. Otherwise it just went through the entire list of fragments looking for the address. I added a 256 entry table using a hash on the address to help speed this up. Now if Howard can profile this for me, we can see if it was a waste or not.

– Cleaned up the prefs a little since the ROM prefs in particular had the descriptions overlapping the element list. I also changed the audio setting so that you can select synchronous or asynchronous processing of the audio. Synchronous is the old method where everything is done by the main CPU. There may be times when that is better, so now you can select it. So the three audio selections are Disabled, Asynchronous, and Synchronous.

– Big update to the asynchronous audio. Howard and I had been doing a semi-polled method of waiting for the MediaEngine before terminating the RSP task. I made the CPU AddEvent thread-safe so that instead we can just do a single AddEvent when the ME is done. This seems to be better. There are still some roms that don’t work (well or at all) with asynchronous audio, hence the ability above to switch to sync audio.

One note: Switching ROMs is apparently not quite clean yet. I’ve noticed a few ROMs where you have to quit the emulator and start fresh or the ROM won’t work (properly or at all depending on the ROM). The two I’ve noted by name are Wave Race 64 and Zelda:OOT.

Thanks to once again for the news.