It is currently Wed May 22, 2019 4:45 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 20 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: Mon Feb 18, 2019 6:15 am 
Offline
User avatar

Joined: Mon Mar 13, 2017 5:21 pm
Posts: 58
I'd love to get into SNES development at some point, and you're right about the lack of documentation. Something like that would be a great tool.


Top
 Profile  
 
PostPosted: Mon Feb 18, 2019 3:27 pm 
Offline

Joined: Sat Nov 18, 2017 9:15 pm
Posts: 71
As far as I can tell, BizHawk 2.3.1 doesn't support this glitch at all; none of the tests I've tried that are expected to fail are doing so on this emulator. [Edit: Alyosha_TAS pointed out that the NesHawk core, which is not the default, does support this glitch and passes/fails tests as expected]

As of my testing in January, Nintendulator seems to be the best one for testing this, as it correctly passes/fails related input corruption tests I've tried or written. However, last I saw from Quietust on this topic, he wasn't confident that the timing was 100% right in all cases. Mesen and puNES also support this and appear to be good enough for testing anything but long synced-read functions. Nestopia and Nintaco have some level of support, but seem to be inaccurate enough at this time that their results aren't reliable.

And yeah, I agree that multiple reads is the way to go for now.


@rainwarrior: dma_sync_test_loop attempts to sync once and then perform joypad reads indefinitely without corruption. The initial discussion around synced input reading was that the joypad read cycles needed to be timed to land on even cycles, which works fine for a short input reading function, but if your input reading takes longer than your DMC rate, then you also need your sequences of writes to end on even cycles. Otherwise, DMA landing on a misaligned write will take an odd number of cycles and change cycle parity, causing your joypad reads to land on odd cycles.


@Sour: I'm really excited to see what you can pull off for SNES emulation. If the tools are anywhere near as good as what you've made for NES, I suspect I'll finally start tinkering around with SNES.


Last edited by Fiskbit on Mon Feb 18, 2019 6:07 pm, edited 1 time in total.

Top
 Profile  
 
PostPosted: Mon Feb 18, 2019 5:46 pm 
Offline

Joined: Wed Jun 15, 2016 11:49 am
Posts: 97
For BizHawk you need to change to the NESHawk core. Do this by going to Config -> Cores -> NES -> NESHawk.

The default core is QuickNES, which is fast but not very accurate.

NESHawk is the slow but accuracy focused core.


Top
 Profile  
 
PostPosted: Mon Feb 18, 2019 6:04 pm 
Offline

Joined: Sat Nov 18, 2017 9:15 pm
Posts: 71
Ah, thanks. Yeah, you're right that it passes/fails as it should. Looks like it might be as good as Nintendulator, then.

I'm surprised QuickNES is the default in this emulator, given its accuracy problems. I've already had to work around QuickNES bugs in my projects, such as by incrementing a non-FF negative value to reset MMC1 because QuickNES wasn't ignoring the second write.


Top
 Profile  
 
PostPosted: Tue Feb 19, 2019 8:13 am 
Offline

Joined: Fri Dec 30, 2011 7:15 am
Posts: 50
Location: Sweden
Sour wrote:
(esp. since my time is currently all being spent on trying to build a SNES emulator)

Cool! Looking forward to hearing more about that later! :shock:


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 20 posts ]  Go to page Previous  1, 2

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 12 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