|
Joined: Aug 2009
Posts: 1,251 Likes: 171
Very Senior Member
|
OP
Very Senior Member
Joined: Aug 2009
Posts: 1,251 Likes: 171 |
Starting to think that maybe it's better to cover the SNES improvements here instead of my blog for better documentation if nobody mind, also it makes my life easier if I should find something or if somebody finds a bug that I might overlook... Let's start with... r5366 /src/mame/video/snes.c: SNES: Improved mode 5/6 gfxs when tile size = 16x16.Desert Fighter & Bishoujo Janshi Suchiipai sets this, still many video bugs in both... before: after:
Last edited by Kale; 08/06/09 11:54 PM.
|
|
|
|
Joined: Dec 2005
Posts: 443
Senior Member
|
Senior Member
Joined: Dec 2005
Posts: 443 |
Actraiser: execution ratio between the 65816 and SPC700 favors the 65816 too much. Locks up. Note that the game is playable at 102% SPC700 speed (but still lacks sound).
There's a number of issues MESS currently has that contribute to this (system always runs at 6 master clocks/cycle, DRAM refresh period is likely not emulated, etc), and I am only posting this "so there is a record of it".
Edit 1: Full Throttle Racing doesn't start (which prevents me from seeing whether it's as messed up as it was in mainstream SNES emulators)
Edit 2: Strike Gunner (U). The sides scroll in MESS. They shouldn't (bsnes/snes9x show correct behavior in this case)
Edit 3: Umihara Kawase (j): Obvious. As I recall, the game does something demented with IRQs.
4: Final Fantasy: Mystic Quest has two obvious errors. FIrst, Player damage should descend in front of the player, not behind (the text is sprite-based). Second, when dialogue is shown, there is a line where the background is visible through the box. Shouldn't be there).
(In case you're wondering, I've got a list of games that have caused emulators of yore some headaches and I'm testing those)
5: Daffy Duck: The Marvin Missions will induce seizures by having one (Some kind of IRQ register functionality issue, supposedly). Note that Seiken Densetsu 3 is picky about IRQ operation as well, and should be regression tested when Daffy is fixed.
6: Last one for tonight, Moryo Senki Madara 2 has gaps in the middle of the text. All of the pixels are there, but there is a blank line or two in the middle of ALL of the text. Also, combat is seriously weird looking (probably some sort of hi-res thing?)
Last edited by Heretical_One; 08/07/09 07:42 AM.
|
|
|
|
Joined: Aug 2009
Posts: 1,251 Likes: 171
Very Senior Member
|
OP
Very Senior Member
Joined: Aug 2009
Posts: 1,251 Likes: 171 |
The line in Umiwara Kawase is a common bug, almost certainly a rowscroll bug caused by the weird 225 vertical behaviour. Other games that I've seen that in places: * Bishoujo Janshi SuchiiePai (title screen) * Dead Dance / Tuff E Nuff (options screen, gameplay on the round bar) * Return of Double Dragon / Super Double Dragon (level 1 elevator) * Super Castlevania IV (just before the level 1 castle door)
Full Throttle instead is another game with fussy hirq timings anyway...
Last edited by Kale; 08/07/09 10:33 AM.
|
|
|
|
Joined: Dec 2005
Posts: 443
Senior Member
|
Senior Member
Joined: Dec 2005
Posts: 443 |
Can't say for sure one way or another without a detailed check, but the game is notorious for the IRQ being set strangely, and it makes the water display funny. While I always saw it as taking up most of the screen visually, and flickering on and off, I can't say that MESS might not display it as a single line. And that's what has me rather unsure here: the scanline is very obviously the top of the water. As far as the 224/225 thing goes, I'm pretty sure it works like this (but it's been ages since I looked at anything SNES): 0 - sprites are processed for line 1, nothing is drawn, but this is still the origin of the tilemap. 1 - BG drawn, sprites drawn. (note that BGs are now on the second line of the tilemap, so a y-scroll of -1 is allegedly common) 224/240 - last rendered line, 240 is sometimes shorter than other scanlines. (but that's also pre-bsnes info, so YMMV )
Last edited by Heretical_One; 08/07/09 10:28 AM.
|
|
|
|
Joined: Jan 2006
Posts: 3,691
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,691 |
just to add a couple of other known problems:
* Go Go Ackman 2 gets stuck at title screen * Super Mario All Starts has weird scrolling glitches (not only on the top line)
since I still cannot follow 100% the way MESS emulates SNES, in the weekend I was planning to move a few more bits into the snes_ppu struct (reducing direct accesses of video/snes.c routines to snes_ram)
it should not affect speed and I could spot more easily if any register is still doing something different compared to what Anomie's docs & Byuu's source document as correct
|
|
|
|
Joined: Aug 2009
Posts: 1,251 Likes: 171
Very Senior Member
|
OP
Very Senior Member
Joined: Aug 2009
Posts: 1,251 Likes: 171 |
Changing the refresh scanline with a +1... VIDEO_UPDATE( snes ) { int y;
for (y = cliprect->min_y; y <= cliprect->max_y; y++) snes_refresh_scanline(screen->machine, bitmap, y+1); return 0; }...fixes all the line bugs except for one in Umiwara Kawa Se, but I guess that's another issue...what do you think? Hackish maybe? it should not affect speed *cut* Guess that you don't know that your changes have hitted a noticeable speed drop, no? (try Dead Dance on plain 0.133 and now and let me know...)
|
|
|
|
Joined: Jan 2006
Posts: 3,691
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,691 |
two remarks on the "speed drop":
1. I was referring to future changes, which should not affect current speed 2. I still get ~380-450% speed unthrottled in Dead Dance... is it that bad? moreover, I can see no difference with svn 5355 :-P
|
|
|
|
Joined: Aug 2009
Posts: 1,251 Likes: 171
Very Senior Member
|
OP
Very Senior Member
Joined: Aug 2009
Posts: 1,251 Likes: 171 |
I mean in gameplay, unless it's a bug of my compile enviroment it was 280% and now it's 220%...
|
|
|
|
Joined: Jan 2006
Posts: 3,691
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,691 |
Here it seems really as fast as 0.130 (I don't have 0.133 handy) However, I found out that Nintendo logo in DKC only get screwed if you fast forward. Otherwise it is ok... Tonight I might try to implement offset per tile... it is well explained in Anomie's doc and it seems I only need to understand exactly at which step of MESS (x,y) calculation I have to add the h/v offsets
|
|
|
|
Joined: Mar 2001
Posts: 17,217 Likes: 234
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,217 Likes: 234 |
Cool. BTW, one minor thing I know we do wrong - Anomie and byuu determined the actual bit-accurate-to-the-hardware Mode 7 math about 2 years ago and bsnes uses it now but we're still using an older approximation. It's only really noticable in some demo that uses mode 7 + extreme mosaic or something, but it's nice to know we're perfect
|
|
|
1 members (AJR),
330
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!
|
|
|
|