It is currently Wed Jun 19, 2019 11:55 pm

All times are UTC - 7 hours



Forum rules





Post new topic Reply to topic  [ 83 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
Author Message
PostPosted: Sat Apr 06, 2019 11:11 pm 
Offline

Joined: Mon Apr 01, 2019 12:23 am
Posts: 4
Amazing progress with your emu Sour, & thanks for that wiki you are making. That will be a great resource for new SNES emu authors!
Also thanks byuu for helping out too =D


Top
 Profile  
 
PostPosted: Sun Apr 07, 2019 4:34 am 
Offline
User avatar

Joined: Mon Jan 23, 2006 7:47 am
Posts: 181
Location: Germany
- DKC copy protection screen: doesn't appear any more
- program disappearing from the Alt+Tab list when the key bindings window is open: doesn't happen on Windows 10
- World Class Service Super Nintendo Tester: seems like electronics test only fails when using Fast Forward?
- Chrono Trigger time warp: fixed
- Speedy Gonzales: the HDMA issue doesn't seem to cause an infinite loop (ironically I don't know where to go after that to finish the level...)
- Mecarobot Golf: seems fine
- Koushien 2: seems fine
- Air Strike Patrol: freezes on this screen unless I go up and press A (savestate). Also when pressing A on the briefing screen there's a glitch (2, 3). There's another one when gameplay starts (4).
- Battle Blaze: looks fine
- Sink or Swim: the water covers the whole screen after placing a bomb and using a ladder. This persists across resets and power cycles.
- Goodbye Anthrox: shows graphical corruption
- Krusty's Super Fun House: some graphical corruption on the left side of the screen, didn't see any palette corruption
- Bugs Bunny: looks good?

Needs to be tested by someone who knows Japanese:
- Bishoujo Janshi Suchie-Pai
- Jumbo Osaki no Hole in One Golf: doesn't seem to display the letters that I'm choosing?
- Magical Drop: not sure what Endless Mode is

_________________
My current setup:
Super Famicom ("2/1/3" SNS-CPU-GPM-02) → SCART → OSSC → StarTech USB3HDCAP → AmaRecTV 3.10


Top
 Profile  
 
PostPosted: Sun Apr 07, 2019 4:39 am 
Offline

Joined: Mon Mar 27, 2006 5:23 pm
Posts: 1475
Quote:
- World Class Service Super Nintendo Tester: seems like electronics test only fails when using Fast Forward?


That's because it tests range-tile over, but fast forward usually skips frame rendering. Computing the sprites just to pass the electronics test isn't worth the performance penalty when the goal of fast forward is to be as fast as possible.

Quote:
- Speedy Gonzales: the HDMA issue doesn't seem to cause an infinite loop (ironically I don't know where to go after that to finish the level...)


Wait, he got it right without even knowing about that? That is sooooooooo cool!!

Quote:
There's another one when gameplay starts (4).


PPU timing really is a sore point in SNES emulation. There's lots of games that rely on it being right:
* Super Mario World level ... 1-3? 1-4? The one with the water, will show a black line at the top left if timing is off too much
* Megalomania intro will show a black line if object fetch timing is off too much
* Dai Kaijuu Monogatari II will show a distorted line at the top of the HP status bar line in battles
* NHL '94 will flicker on the intro
* Winter Olympics will show one black line when starting a game from the main menu
* and there's many more games like this. Sorry I don't remember them all ...

Quote:
- Sink or Swim: the water covers the whole screen after placing a bomb and using a ladder. This persists across resets and power cycles.


It's an IRQ bug. In that case, F1 Grand Prix would also have a broken HUD.

I'm really sorry, but it's been twelve years since I fixed that bug, so I can't tell you the exact problem anymore ...

If anyone has test_nmi / test_irq to give Sour, I'm sure those test ROMs test the behavior those two games rely on.

Quote:
- Magical Drop: not sure what Endless Mode is


No need to test this one, it won't work. The bug is in blargg's DSP (well, technically in Magical Drop, but ...) Sour will need to patch the code as I mentioned before.


Top
 Profile  
 
PostPosted: Sun Apr 07, 2019 5:16 am 
Offline

Joined: Fri Feb 16, 2018 5:52 am
Posts: 32
Location: Ukraine
Alien Vs Predator
There are 2 V-IRQ interrupts by frame: 16 and 209 scanlines.

On line 209 every first IRQ handler is ending on line ~210. On line 225 run NMI handler.
Attachment:
Снимок.PNG
Снимок.PNG [ 56.45 KiB | Viewed 3995 times ]


On line 209 every second IRQ handler is ending on line ~238-245 (i.e. in VBlank), NMI handler does not start and one frame skipped (remains black), but NMI handler should start inside IRQ handler on line ~226, when IRQ handler enabled nmi interrupt.
Attachment:
Снимок2.PNG
Снимок2.PNG [ 56.43 KiB | Viewed 3995 times ]


Top
 Profile  
 
PostPosted: Sun Apr 07, 2019 5:25 am 
Offline
User avatar

Joined: Mon Jan 23, 2006 7:47 am
Posts: 181
Location: Germany
More tests...

- F-1 Grand Prix: as expected, flickering HUD during a race
- Mouryou Senki Madara 2: intro text looks fine
- Tetris Attack map screen in Vs. mode: looks fine
- Timecop distortion of the ship in the intro: looks fine
- SMW lvl 1-4: looks fine
- Mega Lo Mania intro: shows a black line
- Daikaijuu Monogatari II: there's just a little bit of garbage at the bottom of the screen
- NHL '94: flickering Mode7 (IRQ issue?)
- Winter Olympics: looks good?

_________________
My current setup:
Super Famicom ("2/1/3" SNS-CPU-GPM-02) → SCART → OSSC → StarTech USB3HDCAP → AmaRecTV 3.10


Top
 Profile  
 
PostPosted: Sun Apr 07, 2019 5:37 am 
Offline

Joined: Sun Feb 07, 2016 6:16 pm
Posts: 668
byuu wrote:
That's because it tests range-tile over, but fast forward usually skips frame rendering.
Actually it shouldn't in this case. On the NES skipping the screen rendering can easily make pretty much any game lock up, so FF only removes the sleep call between frames, it shouldn't change the results of emulation. This does explain why bsnes-plus fails some stuff when fast forwarding, though! And might actually be worth exploring as an optimization (e.g process only the sprite flags without rendering any pixels). I'll have to try and figure out why that test is failing.
Quote:
Wait, he got it right without even knowing about that? That is sooooooooo cool!!
Beginners' luck, I guess!
Quote:
PPU timing really is a sore point in SNES emulation. There's lots of games that rely on it being right:
Thanks for the list, I'll have to check them. It should already be pretty close to bsnes-plus' timings (at least as far as comparing trace logs), but there are definitely a few details that aren't properly implemented yet.
Quote:
I'm really sorry, but it's been twelve years since I fixed that bug, so I can't tell you the exact problem anymore ...
If anyone has test_nmi / test_irq to give Sour, I'm sure those test ROMs test the behavior those two games rely on.
No problem! Just knowing it's an IRQ bug is already helpful. But yea, if someone has the test_nmi/test_irq tests that'd be great, I haven't had any luck finding them anywhere (this sounds like the DSP tests all over again...)

creaothceann wrote:
More tests...
Thanks for retesting & the new test results! I'm in the middle of adding SPC tracing/disassembling/stepping at the moment, but will check these over the next couple of days.

srg320 wrote:
On line 209 every second IRQ handler is ending on line ~238-245 (i.e. in VBlank), NMI handler does not start and one frame skipped (remains black), but NMI handler should start inside IRQ handler on line ~226, when IRQ handler enabled nmi interrupt.
Ah! That sounds like the same behavior as the NES has, which I did not implement in this. Thanks for going through the trouble of debugging this for me, should be a pretty easy fix!


Top
 Profile  
 
PostPosted: Sun Apr 07, 2019 6:35 am 
Offline

Joined: Wed Jul 09, 2008 8:46 pm
Posts: 258
byuu wrote:
Quote:
- Sink or Swim: the water covers the whole screen after placing a bomb and using a ladder. This persists across resets and power cycles.


It's an IRQ bug. In that case, F1 Grand Prix would also have a broken HUD.

I'm really sorry, but it's been twelve years since I fixed that bug, so I can't tell you the exact problem anymore ...

If anyone has test_nmi / test_irq to give Sour, I'm sure those test ROMs test the behavior those two games rely on.


Like this collection of tests I found one day, trying to go hunting for some other elusive test ROMs that byuu was looking for? They're from 2005-2008, though, and some of them are $200-byte headered... most of them are HDMA/IRQ tests. Two of them are test_nmi and test_irq. I found these in 2016 while I was attempting to go hunting myself.


Attachments:
Test ROM.rar [22.32 KiB]
Downloaded 141 times
Top
 Profile  
 
PostPosted: Sun Apr 07, 2019 7:41 am 
Offline
User avatar

Joined: Tue Jun 24, 2008 8:38 pm
Posts: 2301
Location: Fukuoka, Japan
Should we expect in a few years from now mesen-gb, mesen-sms and mesen-pce? :P Just pulling your leg. I still need to test it, didn't have time this week but can't wait to try it. Should be able soon.


Top
 Profile  
 
PostPosted: Sun Apr 07, 2019 3:00 pm 
Offline

Joined: Tue May 28, 2013 5:49 am
Posts: 1173
Location: Hokkaido, Japan
But I think Mesen might be "Nes-em[ulator]" backwards, so Mesen-S is "S[uper]-Nes-em[ulator]".

In other words we are expecting Megebo, Mesms and Mepce from now on.

jk


Top
 Profile  
 
PostPosted: Sun Apr 07, 2019 3:19 pm 
Offline

Joined: Sun Feb 07, 2016 6:16 pm
Posts: 668
KungFuFurby wrote:
Like this collection of tests I found one day
Thank you! This should be incredibly useful in fixing some of the remaining issues.

Banshaku wrote:
Should we expect in a few years from now mesen-gb, mesen-sms and mesen-pce?
Never say never, but probably not. Only the NES & SNES really interest me in terms of games (though I know very little about the games available on other consoles). At the very least, I'm absolutely sure I won't ever try emulating a 3d console :p

Pokun wrote:
In other words we are expecting Megebo, Mesms and Mepce
You're right, but you're doing it wrong! It should be Meecp and Mebg :p (What's Gebo?)
RE: The crash/freeze, still haven't managed to reproduce it on my end. I'll give it a try on the other 2 PCs I have access to when I get a chance, hopefully I can reproduce it there.


Top
 Profile  
 
PostPosted: Sun Apr 07, 2019 4:18 pm 
Offline

Joined: Sat Apr 07, 2018 7:39 pm
Posts: 44
Location: EN
Here's a fun one:

This demo has two different modes beside each other on the same screen. Currently no emulator gets it perfect, the most common issue being that the right mode flickers.
In Mesen-S, the mode on the right does indeed bounce about (It's stationary on hardware) but the more interesting part is that there appears to be a mode 5 background behind the mode 3 one on the left.
In this one I've also used windows to hide the middle section: on hardware it's a mess.

This demo is also a good use for the event viewer, I found. That feature is *really* cool.


Attachments:
HblankEmuTest.sfc [128 KiB]
Downloaded 140 times

_________________
SNES demos are great
Top
 Profile  
 
PostPosted: Sun Apr 07, 2019 5:03 pm 
Offline

Joined: Sun Feb 07, 2016 6:16 pm
Posts: 668
What's this one supposed to show? All I get at the moment is this:
Attachment:
test.png
test.png [ 8.71 KiB | Viewed 3857 times ]
Which makes me believe the test is telling me it's working properly. In snes9x/bsnes-plus I get "Incorrect behaviour -emulator" screens. But you said Mesen-S fails it, so I tried the 0.1.0 release build instead of the latest commit and got the same result so... I'm confused? :p

From your description, I'm starting to think you might have attached the wrong file, but I'm not sure?


Top
 Profile  
 
PostPosted: Sun Apr 07, 2019 5:33 pm 
Offline

Joined: Mon Mar 27, 2006 5:23 pm
Posts: 1475
Quote:
- Mega Lo Mania intro: shows a black line


Ah, a full line. Wrong part of Winter Olympics then, they both do the same thing: change the OAM base address halfway through the frame, to render an entire background using only sprite data. At least the latter had a good reason for it, using the BG for a mode 7 foreground.

Quote:
- NHL '94: flickering Mode7 (IRQ issue?)


It changes video mode registers in the middle of the scanline.

Quote:
Like this collection of tests I found one day


Ah, thank you very much! I'll have to point Evan at these this time.

Quote:
Never say never, but probably not. Only the NES & SNES really interest me in terms of games (though I know very little about the games available on other consoles). At the very least, I'm absolutely sure I won't ever try emulating a 3d console :p


I said the same back when bsnes was only an NES+SNES emulator ;)

Look on the bright side, it'll only take you 6-12 months at most to catch up to my 22 emulators :P

Quote:
Here's a fun one:


Ah right, the Megalomania fix landed a while back, I'll take a look at this again now.


Top
 Profile  
 
PostPosted: Mon Apr 08, 2019 4:13 am 
Offline

Joined: Tue May 28, 2013 5:49 am
Posts: 1173
Location: Hokkaido, Japan
Sour wrote:
RE: The crash/freeze, still haven't managed to reproduce it on my end. I'll give it a try on the other 2 PCs I have access to when I get a chance, hopefully I can reproduce it there.
I'm also unable to reproduce it now. It seems the input-wait window now appears much faster as well. The event handler also crashed the emulator the first time I tried it but it works OK now. Maybe my computer was playing tricks on me.

Sour wrote:
Pokun wrote:
In other words we are expecting Megebo, Mesms and Mepce
You're right, but you're doing it wrong! It should be Meecp and Mebg :p (What's Gebo?)
I got Mesms right!
Gebo is short for Game Boy. GB is a hard to pronounce combination of consonants so therefore gebo (remember the "a" in "game" is pronounced [ei] in English), but I guess it should be bego. Meecp is easy to pronounce if the "c" is pronounced as an s-sound rather than a k-sound.

Sour wrote:
At the very least, I'm absolutely sure I won't ever try emulating a 3d console :p
I'm sure we will see a cycle-accurate Me46 in a few years.


Top
 Profile  
 
PostPosted: Mon Apr 08, 2019 11:03 am 
Offline

Joined: Sat Apr 07, 2018 7:39 pm
Posts: 44
Location: EN
Sour wrote:
From your description, I'm starting to think you might have attached the wrong file, but I'm not sure?

Ah, you're right, I did! Sorry for wasting your time. :oops:
The test I accidentally attached is actually one to test what happens to sprites as you force blank during h-blank. It should not load them, causing them to disappear and show the correct emulator screen.
However there are many quirks surrounding this and that test doesn't really show those. I'll come up with a better one later.

The one I meant to attach is below. It should look a lot more like I described.


Attachments:
SplitScreen.sfc [128 KiB]
Downloaded 142 times

_________________
SNES demos are great
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 83 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group