|
Joined: Mar 2001
Posts: 17,217 Likes: 234
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,217 Likes: 234 |
Which file is it? video/snes.c or machine/snes.c?
|
|
|
|
Joined: Jan 2006
Posts: 3,691
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,691 |
the problem should be in video/snes.c. and I'm fairly sure that it's some new code that screws up the compiler and probably it's just a silly mistake I've done in rewriting the routines... I'm just not sure about how to properly debug it (so far I haven't managed to trace back the issue )
|
|
|
|
Joined: Sep 2009
Posts: 15
Member
|
Member
Joined: Sep 2009
Posts: 15 |
It's a buffer overflow in snes_draw_tile_object(). ii can sometimes be >= 256 and that isn't tested.
Last edited by jbo_85; 03/08/10 11:10 AM.
|
|
|
|
Joined: Apr 2004
Posts: 1,563 Likes: 12
Very Senior Member
|
Very Senior Member
Joined: Apr 2004
Posts: 1,563 Likes: 12 |
superscope introduced some errors here:
src/mess/drivers/snes.c: In function �UINT32 snes_superscope_offscreen_input(const input_field_config*, void*)�:
src/mess/drivers/snes.c:127: warning: comparison is always false due to limited range of data type
src/mess/drivers/snes.c:127: warning: comparison is always false due to limited range of data type
|
|
|
|
Joined: Jan 2006
Posts: 3,691
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,691 |
I'm going to take a look after dinner
|
|
|
|
Joined: Jan 2006
Posts: 3,691
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,691 |
fix submitted.
@jbo_85: earlier today I started to work on the OAM and I had the boundary checks locally implemented. but I had given up with optimized build, so I was unaware that it was the required fix.
I hope this fixes all the problems previously experienced. once again, thanks a lot for the tip!!
@judge: is Superscope support compiling now? I'd like to leave the proper checks there even if we currently only scan positive coordinates...
|
|
|
|
Joined: Jan 2010
Posts: 92
Member
|
Member
Joined: Jan 2010
Posts: 92 |
Yes I compiled the latest svn with -O3 and the errors with black screens that you couldn't replicate works now. Here's a few new tests: R-Type 3 Third Lightning watching the attract mode the first level shown looks fine but the second and later have corrupted sprites and tiles: Mouryou Senki Madara 2 Seems to use the same hires mode for displaying text as Seiken Densetsu 3 does, there's a small glitch at the bottom of some of the kanji letters. Keep up the great work!
|
|
|
|
Joined: Jun 2008
Posts: 205
Senior Member
|
Senior Member
Joined: Jun 2008
Posts: 205 |
Thanks for the constant updates, a lot of fun to read. I should hopefully be more helpful once you get toward the final CPU timing bugs. EDIT: btw, this is another proof that few people actually use MESS for SNES: nobody noticed those games were broken since last summer... well, hopefully things will get better in future Good luck with that one. I suspect that even once Microsoft kills 32-bit backwards-compatibility in Windows ~12, people will just start running ZSNES inside of DOSBox. No release in three years, not portable, 100+ open bugs, some over ten years old, a UI that makes the Atari ST blush, sound effects are always distorted, and the latest build doesn't even play SA-1 games or have netplay. Yet it has 70% of the user base. I stopped worrying about it a few years ago, I'd suggest you do the same or it will kill you inside. If that's what people want, more power to them. Nothing to do with system requirements, either. SNESGT is blindingly fast yet better in every way. I assume it's all about familiarity.
|
|
|
|
Joined: May 2004
Posts: 1,772 Likes: 34
Very Senior Member
|
Very Senior Member
Joined: May 2004
Posts: 1,772 Likes: 34 |
Thanks for the constant updates, a lot of fun to read. I should hopefully be more helpful once you get toward the final CPU timing bugs. EDIT: btw, this is another proof that few people actually use MESS for SNES: nobody noticed those games were broken since last summer... well, hopefully things will get better in future Good luck with that one. I suspect that even once Microsoft kills 32-bit backwards-compatibility in Windows ~12, people will just start running ZSNES inside of DOSBox. No release in three years, not portable, 100+ open bugs, some over ten years old, a UI that makes the Atari ST blush, sound effects are always distorted, and the latest build doesn't even play SA-1 games or have netplay. Yet it has 70% of the user base. I stopped worrying about it a few years ago, I'd suggest you do the same or it will kill you inside. If that's what people want, more power to them. Nothing to do with system requirements, either. SNESGT is blindingly fast yet better in every way. I assume it's all about familiarity. It's because people remember Zsnes from the 'good old days' when they first found a Snes emulator that ran the games they liked.. so they recommend it to their friends without looking for anything new, etc. etc. Some people still use NeoRageX for the same reasons today even if MAME is a much closer experience to the real thing, and likewise a lot of perfectly good alternate emulators get ignored just because they're not MAME. The problem is MESS has the reverse reputation, it's been such a god-damn awful emulator for most of the things (which people care about) it emulates for so long that hardly anybody is likely to remember it in a positive light, and therefore hardly anybody is going to recommend it, even if things have improved a bit now. (although performance and compatibility can still be dire, as it is for 32x) I don't consider this the fault of the MESS developers, as I've found myself, the Console 'scene' tends to be very secretive, with more people concerned about making their software the best, and as a result not being helpful to others. It's always been less about team work, less about being open, and more about competition, and wasted efforts in rediscovering things people have already found out before. Again, I think this has improved a lot over the last few years, but there are still a number of examples of it. The only way you're going to get a more significant userbase for the SNES driver is if MAME/MESS do merge completely, and I can't see that happening as long as Aaron is calling things at least, and even then interest in MAME and emulation in general is dipping, with many people quite content with the version they have, and seeing no reason to upgrade even when real improvements are made. Low / No user base does make testing things hard, the odd bug or useful new test case I do get for the Genesis stuff are things I would have never found myself without other people actually playing the games properly and I'm sure if more people used it I'd get more test cases. The fixed lists for some of the slightly more obscure systems might make MESS more attractive to some (I'd end up very tempted to give some vectrex games a play), and you might find people start using the SNES driver that way, but a lot of people will probably be put off by the poor performance and hit & miss compatibility anyway, although having it documented will help as people will have a better expectation of what should work. Also, as far as MESS is concerned, the graphic filters and 'tweaks' other emulators offer which aren't really suitable for MESS will always be a big draw, even if MESS does become a decent reference model like MAME. Basically, yeah, there isn't much you can do about it.. people might come, but finding a way to get them to stick will be hard.
|
|
|
|
Joined: Jan 2006
Posts: 3,691
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,691 |
Thanks for the constant updates, a lot of fun to read. I should hopefully be more helpful once you get toward the final CPU timing bugs. that could take some time (currently in progress improved OAM drawing routines, to finally fix the "sprite limit" and the priorities; next target probably HDMA), but thanks a lot for both the direct and indirect help you gave: your source is a wonderful reference for what is currently known about the hardware; your notes on the OAM are being precious, explaining the few points that were unclear to me after reading bsnes implementation; and I borrowed the logic you used for SuperScope Turbo Mode which saved me some time in figuring out a fast way to toggle the right keys when necessary [1] I stopped worrying about it a few years ago, I'd suggest you do the same or it will kill you inside. If that's what people want, more power to them. sad but true. but I'm especially worried about having to test 4000+ games by myself, whenever I try to make things closer to the hardware... well, at least we might hope that some MAME users decide they like MESS due to the common UI and options: this might give us a few more regular testers. [1] btw, let me know if you want to be credited for those lines (line 463-491 of http://git.redump.net/cgit.cgi/mess/tree/src/mess/drivers/snes.c )
|
|
|
1 members (AJR),
222
guests, and
5
robots. |
Key:
Admin,
Global Mod,
Mod
|
|
Forums9
Topics9,320
Posts121,944
Members5,074
|
Most Online1,283 Dec 21st, 2022
|
|
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!
|
|
|
|