I wasn't able to track down where exactly the "irq" class member variable is used

regs.sfr.irq is used by the SuperFX MMIO registers at $30xx. cpu.regs.irq is checked by the S-CPU core (in timing.cpp IIRC) to trigger an external IRQ event.

No offense intended, but that was the entire reason why I asked those two questions.

I can't answer your question in that case frown
I'd rather not break the mirroring in my own emulator to see what happens, heheh. Anyway, sounds like you got most of it figured out now, hoorah!

Are there no pre-compiled binaries of Qt 4.5.2 anywhere?

You'll need them to be for GCC 4.x as well. For whatever reason, last I checked Qt was only officially supporting 3.x. But it still builds fine with 4.x anyway.

The timing differences are immaterial, as I would only be logging the opcodes executed by the Super FX chip. Also, I'm not interested in a diassembly, I'm interested in actually printf-ing the full register state after every single opcode, using some format like:

You never know, if it loops polling a value from the CPU to be set, the logs won't line up.

Then again, I was using FuSoYa's closed-source Snes9X SFX tracer (don't want anyone stealing those fprintf statements I guess) and generating ~40MB worth of logs to compare to. A warning if you do, there's a bug somewhere in his tracer, I think it was involving ROMB. If you run DOOM with the tracer on, all the graphics get corrupted.

And my disasm thing spits out the register values as well. But you may as well dump them in binary format or whatever.

Well, whatever works for you. Just mentioning it.

ETA: For what it's worth, "configure" does seem to be working, it's just taking a long time to configure everything.

Yeah, it's a huge library. Very slow to build. The tutorial thing on my page lets you turn a lot of stuff off, I can usually configure and build in about ~15 minutes with it.

Aha. Since LDW/LDB/STW/STB were changed to shunt around memory buffering for testing purposes, they weren't setting cpustate->ramaddr. SBK relies on cpustate->ramaddr.

Ah, I remember that. Took quite a while to figure it out.

Looks like progress is coming along great. Let me know when SMW2 is working good. I'd like you to test something.


Anyway, sign up at my forum and post your user name here. I'll give you access to the dev forum. You can do searches for SuperFX and find some common bugs + fixes from me and Jonas Quinn.