Previous Thread
Next Thread
Print Thread
Page 33 of 120 1 2 31 32 33 34 35 119 120
Joined: Mar 2001
Posts: 17,217
Likes: 234
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 17,217
Likes: 234
Yeah, the libs come in the download for Windows, I'm not sure what the issue is smile

Joined: May 2009
Posts: 2,215
Likes: 382
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,215
Likes: 382
To be fair, you guys'd get pretty pissed if users just started downloading random crap off the Internet and then complaining about how they can't compile MESS, when there are guides around that supposedly tell you exactly how to compile it. In this case, http://board.byuu.org/viewtopic.php?f=3&t=74

ETA: For what it's worth, "configure" does seem to be working, it's just taking a long time to configure everything. I think it took about 10 minutes to get through network.pro, and that's on a 1.86GHz Core 2 Duo. frown

Joined: May 2009
Posts: 2,215
Likes: 382
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,215
Likes: 382
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. Now that they set ramaddr properly, there's a slightly larger amount of happiness:

The firework particles at the beginning of Vortex now show up properly:
[Linked Image from moogle-tech.com]
[Linked Image from moogle-tech.com]

Also, Stunt Race FX is considerably improved, including the tires now rotating the right direction on the car-select screen, and actually being able to get in-game and play. There are still some issues, though: The cars keep "popping" upward in the car-select screen, and bits of the scene geometry keep dropping out.

[Linked Image from moogle-tech.com]
[Linked Image from moogle-tech.com]
[Linked Image from moogle-tech.com]
[Linked Image from moogle-tech.com]
[Linked Image from moogle-tech.com]
[Linked Image from moogle-tech.com]
[Linked Image from moogle-tech.com]
[Linked Image from moogle-tech.com]

Joined: Jun 2008
Posts: 205
B
Senior Member
Offline
Senior Member
B
Joined: Jun 2008
Posts: 205
Quote
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.

Quote
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!

Quote
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.

Quote
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.

Quote
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.

Quote
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.

byuu #53250 09/02/09 11:39 PM
Joined: May 2009
Posts: 2,215
Likes: 382
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,215
Likes: 382
Originally Posted by byuu
Quote
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.

Quote
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!

Quote
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.

Quote
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.

Quote
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.

Quote
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.

Registered, as my typical MG handle.

I've been doing some investigation of the polygon drop-out in Vortex, it seems like the color that it's getting via either GETC or COLOR is messed up. frown

Joined: May 2009
Posts: 2,215
Likes: 382
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,215
Likes: 382
Argh, I'm a dumbass. It just now clicked that "regs" contains the SuperFX registers, but "cpu.regs" corresponds to the S-CPU registers. Grah.

ETA: Hmm, no. No, hooking up the S-CPU IRQ didn't seem to actually affect anything.

ETA2: Dammit, I reimplemented RAM and ROM buffering based on bsnes's spec, and it also isn't affecting anything. At least we're narrowing things down here.

ETA3: byuu, do you have a copy of this? bsnes_v046_wip13.tar.bz2

Joined: May 2009
Posts: 2,215
Likes: 382
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,215
Likes: 382

Joined: Jan 2006
Posts: 3,691
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,691
cool!

Joined: Jun 2008
Posts: 205
B
Senior Member
Offline
Senior Member
B
Joined: Jun 2008
Posts: 205
Quote
ETA: Hmm, no. No, hooking up the S-CPU IRQ didn't seem to actually affect anything.

Argh, thought it was more important. It has to be used *somewhere* ... hmm. I know the SA-1 games use almost every last feature (except timer IRQs). Some features are used by only one game.

The SA-1 is better for adding little by little. Just cloning the S-CPU core is enough to get almost half the titles running, had that up in a day.

Quote
ETA2: Dammit, I reimplemented RAM and ROM buffering based on bsnes's spec, and it also isn't affecting anything. At least we're narrowing things down here.

That one had a big impact on timing in Winter Gold for me. All the skiers were flickering before I added it.

Quote
ETA3: byuu, do you have a copy of this? bsnes_v046_wip13.tar.bz2

Sure, I have everything from v019 and above. Accidentally formatted the hard drive with the earlier versions.

http://byuu.org/temp/bsnes_v046_wip13.tar.bz2

Quote
As it turns out, HIB checks against 0x80 for the sign bit and not 0x8000. Oops.

Ah, so then you aren't using copy/paste for your opcode core. Perhaps I'll do a once over tomorrow to see if I can spot anything obvious.

You should try some SuperFX2 games. The only difference is the memory timing.

Overall, looking really good!

byuu #53273 09/03/09 02:31 PM
Joined: May 2009
Posts: 2,215
Likes: 382
J
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 2,215
Likes: 382
Originally Posted by byuu
Quote
As it turns out, HIB checks against 0x80 for the sign bit and not 0x8000. Oops.

Ah, so then you aren't using copy/paste for your opcode core. Perhaps I'll do a once over tomorrow to see if I can spot anything obvious.

Awesome, thanks! And that's correct, I'm not doing a direct copy/paste. I'm pretty much looking at your code and translating it to MAME-ese on the fly, but every so often I'll inadvertantly miss something. smile

Originally Posted by byuu
You should try some SuperFX2 games. The only difference is the memory timing.

Unfortunately, none of them boot in MESS, presumably because of cart mapping issues. Neither Doom nor SMW2 even attempt to access the SuperFX chip before hanging.

Originally Posted by byuu
Overall, looking really good!

Thanks, and thank you for writing such a good reference emulator! smile

Page 33 of 120 1 2 31 32 33 34 35 119 120

Link Copied to Clipboard
Who's Online Now
2 members (nerd4gw, AJR), 243 guests, and 5 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,320
Posts121,944
Members5,074
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com