Previous Thread
Next Thread
Print Thread
Page 33 of 120 1 2 31 32 33 34 35 119 120
Re: The SNES WIP topic [Re: Stiletto] #53243 09/02/09 06:30 PM
Joined: Mar 2001
Posts: 16,473
R
R. Belmont Offline
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,473
Yeah, the libs come in the download for Windows, I'm not sure what the issue is smile

Re: The SNES WIP topic [Re: R. Belmont] #53244 09/02/09 06:51 PM
Joined: May 2009
Posts: 1,840
J
Just Desserts Offline
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 1,840
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

Re: The SNES WIP topic [Re: Just Desserts] #53247 09/02/09 09:23 PM
Joined: May 2009
Posts: 1,840
J
Just Desserts Offline
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 1,840
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:



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.










Re: The SNES WIP topic [Re: Just Desserts] #53249 09/02/09 11:01 PM
Joined: Jun 2008
Posts: 205
B
byuu Offline
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.

Re: The SNES WIP topic [Re: byuu] #53250 09/02/09 11:39 PM
Joined: May 2009
Posts: 1,840
J
Just Desserts Offline
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 1,840
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

Re: The SNES WIP topic [Re: Just Desserts] #53251 09/02/09 11:55 PM
Joined: May 2009
Posts: 1,840
J
Just Desserts Offline
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 1,840
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

Re: The SNES WIP topic [Re: Just Desserts] #53253 09/03/09 05:06 AM
Joined: May 2009
Posts: 1,840
J
Just Desserts Offline
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 1,840

Re: The SNES WIP topic [Re: Just Desserts] #53255 09/03/09 06:09 AM
Joined: Jan 2006
Posts: 3,687
etabeta78 Offline
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,687
cool!

Re: The SNES WIP topic [Re: etabeta78] #53256 09/03/09 07:25 AM
Joined: Jun 2008
Posts: 205
B
byuu Offline
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!

Re: The SNES WIP topic [Re: byuu] #53273 09/03/09 02:31 PM
Joined: May 2009
Posts: 1,840
J
Just Desserts Offline
Very Senior Member
Offline
Very Senior Member
J
Joined: May 2009
Posts: 1,840
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

Who's Online Now
1 registered members (hal3000), 55 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,764
Posts115,179
Members4,889
Most Online890
Jan 17th, 2020
Powered by UBB.threads™ PHP Forum Software 7.7.3