3 ms·
I wonder if we're going to hit a wall on cycle-accurate software emulation; Higan is pretty cool, but even that requires a fairly beefy CPU considering it's emu
by tombert 3y ago
I wonder if we're going to hit a wall on cycle-accurate software emulation; Higan is pretty cool, but even that requires a fairly beefy CPU considering it's emulating something reasonably primitive like the SNES.
I know nothing about electronics, but the recent uptick in FPGA game systems like the MiSTer getting Playstation and N64 support, I am hoping that FPGAs can pick up where Higan left off; it would be great to get cycle-accurate emulation of the Xbox 360 some day since I never fixed mine after getting a red ring.
- philistine 3y agoI do not believe it is possible to run an Xbox 360 game without copyrighted code from Microsoft. So we might see it from projects just like this one, but I wouldn't hold my breath for Analogue to ever release anything past the PS2.
- tombert 3y agoConceivably we could get some kind of Wine/ReactOS thing couldn't we? Something that recreates the APIs well enough to play most games? That said, I acknowledge that that would take a lot more work, and it might not be economically worth it for Analogue or the MiSTer people to bother with it.
- phire 3y agoCycle-accurate software emulation is a topic that I've been looking into on and off for years. The Higan concurrency architecture hit a wall because it needs to sync between modules every single cycle, what gets very expensive as the clock rates go up. But you don't need to sync every single cycle, especially once CPUs started getting caches, so we just need a new concurrency architecture that's flexible enough to only sync when needed. I've been experimenting with an actor based concurrency model which seems to be fast enough for a cycle-accurate N64 emulator (though I won't know until I have the RSP and RDP implemented). I'm hoping it might even be fast enough for 6th gen consoles, perhaps when combined with other techniques like a cycle-accurate jit and fine-grained memory locks. I'll have to post an article if it ever gets to a workable state. ------ As for cycle-accurate FPGA emulators, I don't think they are cost-effective even for something like the N64, yet alone a 360. You can get 90% of the way there with a cycle accurate CPU, shared bus, cycle accurate RSP/RDP. But you have to map the RDRAM onto DDR3 memory and the timings don't really line up. The linked UltraFP64 project doesn't even try for accurate RAM timings and will preform better than a real N64. I suspect the WIP n64 core for MiSTer is much the same. You could build a custom board with memory that actually matches the timings, but that gets expensive.