Previous Thread
Next Thread
Print Thread
Page 1 of 120 1 2 3 119 120
#52311 08/06/09 11:53 PM
Joined: Aug 2009
Posts: 1,148
Likes: 12
Kale Offline OP
Very Senior Member
OP Offline
Very Senior Member
Joined: Aug 2009
Posts: 1,148
Likes: 12
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.
Kale #52315 08/07/09 06:20 AM
Joined: Dec 2005
Posts: 443
Senior Member
Offline
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,148
Likes: 12
Kale Offline OP
Very Senior Member
OP Offline
Very Senior Member
Joined: Aug 2009
Posts: 1,148
Likes: 12
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.
Kale #52328 08/07/09 10:28 AM
Joined: Dec 2005
Posts: 443
Senior Member
Offline
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 smile )

Last edited by Heretical_One; 08/07/09 10:28 AM.
Joined: Jan 2006
Posts: 3,690
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,690
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,148
Likes: 12
Kale Offline OP
Very Senior Member
OP Offline
Very Senior Member
Joined: Aug 2009
Posts: 1,148
Likes: 12
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?

Originally Posted By etabeta78

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

Kale #52331 08/07/09 01:07 PM
Joined: Jan 2006
Posts: 3,690
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,690
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,148
Likes: 12
Kale Offline OP
Very Senior Member
OP Offline
Very Senior Member
Joined: Aug 2009
Posts: 1,148
Likes: 12
I mean in gameplay, unless it's a bug of my compile enviroment it was 280% and now it's 220%...

Kale #52334 08/07/09 01:43 PM
Joined: Jan 2006
Posts: 3,690
Very Senior Member
Offline
Very Senior Member
Joined: Jan 2006
Posts: 3,690
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 wink

Joined: Mar 2001
Posts: 16,923
Likes: 57
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,923
Likes: 57
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 smile

Page 1 of 120 1 2 3 119 120

Link Copied to Clipboard
Who's Online Now
2 members (Augusto, 1 invisible), 18 guests, and 3 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,103
Posts119,274
Members5,019
Most Online890
Jan 17th, 2020
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