Happy said:
I know it will require alot of work and feel the estimate of 8-12 months, before enough things were working, was an accurate guess. I'm not against HLE, but think taking the time to figure out the hardware, instead of a specific game, will eventually win the race to supporting a library of games. I may change my mind later, after seeing performance quality, but trying for a fuller design at first seems alot less of a headache than retreading an already entrenched design. If anyone wants to attempt a port of Deadalus, I would gladly lend support.
The HLE solution is known working for a given definition of "working." It's not as bleak as writing support for every game, rather detecting a few sets of common code that are used in most games. Some games will never work under the current HLE models that emulators employ, unless someone goes through the trouble of reverse engineering their custom RSP code. Fortunately, these games are in the vast minority. Artificial circumstances during the N64's lifetime have caused this to be the case.
I'm not saying to just write these games off entirely, but consider that there are multiple open source emulators that have been successful with the HLE approach (again, for a given criteria of successful), and Daedalus is one of them. The problem with attempting LLE on N64, and this is a kind of self perpetuating problem that hasn't yet solved itself, is that we don't have as solid, publicly available information on the N64 hardware that rivals what we know about the most commonly used microcodes, nor do we have any good reference implementations. This would change if MooglyGuy were to release his work for MESS and/or public documentation regarding what he has found in painstakingly reverse engineering the N64, but until this happens we have little to go off of. If his code for MESS is ever actually released, which is looking questionable, then it'll be very slow (according to MooglyGuy, by design). Far too slow to be useful without a heavy re-envisioning in implementation.
I know you've been talking to MooglyGuy about this, but I think in some ways you have to consider the source - or I guess I should say that he is not at all happy with the N64 emulators that have made to this date and thinks it would have been better if they had not been written. Some people have the mentality that emulation should only serve to preserve platforms for future generations, presumably long after the original company behind them has disappeared or lost interest. Many in the MESS and MAME teams hold this mentality, or at least say they do. This mentality can hold when you're developing a reference emulation for a PC, but when your goal is to make an emulator run well on a specialized platform then there's no way you can argue that you're doing it for preservation. Anyone who would be working on N64 emulation for Pandora would be doing it so that people could play N64 games, which is not just not MooglyGuy's motivation but is directly opposed to it (according to him, those who have written N64 emulators thus far have only done so for "kudos" from "ROM kiddies").
A good take off of Daedalus could probably be done in less than 8-12 months if the person has the time, skill, and motivation. Personally I'd just as soon not get involved in N64 emulation because of the mess it is. Although I don't have an ethical problem with writing an emulator that's more intended to emulate a majority of games than it is to emulate or preserve hardware, I do think it'd be a pretty unpleasant thing to write. Like yourself, presumably (and like MooglyGuy for that matter), I'd personally feel a lot better being able to write an emulator that emulates the hardware and not software (firmware is a bit of a toss up). But I can't really recommend that anyone actually pursues this route when it's right now so unproven, unless MooglyGuy wants to personally help you through it.
These are the types of posts I love to see on this forum. ^_^ It reminds me of how capable our devs are.
-God Ginrai