Page 1 of 103 1 2 3 ... 102 103 >
Topic Options
#52311 - 07/08/09 12:53 AM The SNES WIP topic
Kale Offline
Senior Member

Registered: 05/08/09
Posts: 298
Loc: Naples, Italy
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:



Edited by Kale (07/08/09 12:54 AM)

Top
#52315 - 07/08/09 07:20 AM Re: The SNES WIP topic [Re: Kale]
Heretical_One Offline
Senior Member

Registered: 01/12/05
Posts: 436
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?)


Edited by Heretical_One (07/08/09 08:42 AM)

Top
#52327 - 07/08/09 11:14 AM Re: The SNES WIP topic [Re: Heretical_One]
Kale Offline
Senior Member

Registered: 05/08/09
Posts: 298
Loc: Naples, Italy
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...


Edited by Kale (07/08/09 11:33 AM)

Top
#52328 - 07/08/09 11:28 AM Re: The SNES WIP topic [Re: Kale]
Heretical_One Offline
Senior Member

Registered: 01/12/05
Posts: 436
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 )


Edited by Heretical_One (07/08/09 11:28 AM)

Top
#52329 - 07/08/09 11:47 AM Re: The SNES WIP topic [Re: Heretical_One]
etabeta78 Offline
Senior Member

Registered: 27/01/06
Posts: 2060
Loc: Trondheim, Norway
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

Top
#52330 - 07/08/09 01:55 PM Re: The SNES WIP topic [Re: etabeta78]
Kale Offline
Senior Member

Registered: 05/08/09
Posts: 298
Loc: Naples, Italy
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...)

Top
#52331 - 07/08/09 02:07 PM Re: The SNES WIP topic [Re: Kale]
etabeta78 Offline
Senior Member

Registered: 27/01/06
Posts: 2060
Loc: Trondheim, Norway
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

Top
#52332 - 07/08/09 02:18 PM Re: The SNES WIP topic [Re: etabeta78]
Kale Offline
Senior Member

Registered: 05/08/09
Posts: 298
Loc: Naples, Italy
I mean in gameplay, unless it's a bug of my compile enviroment it was 280% and now it's 220%...

Top
#52334 - 07/08/09 02:43 PM Re: The SNES WIP topic [Re: Kale]
etabeta78 Offline
Senior Member

Registered: 27/01/06
Posts: 2060
Loc: Trondheim, Norway
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

Top
#52335 - 07/08/09 02:46 PM Re: The SNES WIP topic [Re: etabeta78]
R. Belmont Offline
Senior Member

Registered: 17/03/01
Posts: 12492
Loc: USA
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

Top
Page 1 of 103 1 2 3 ... 102 103 >


Who's Online
4 registered (Micko, judge, couriersud, Richard Bannister), 8 Guests and 3 Spiders online.
Key: Admin, Global Mod, Mod
Shout Box

Forum Stats
4015 Members
9 Forums
6214 Topics
63592 Posts

Max Online: 162 @ 01/05/07 03:28 AM