It is currently Mon Dec 11, 2017 11:46 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 43 posts ]  Go to page Previous  1, 2, 3
Author Message
PostPosted: Sat Aug 10, 2013 12:53 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3192
Location: Mountain View, CA, USA
So I tested out Mickey's Safari in Letterland -- specifically these two ROMs:

- Mickey's Safari in Letterland (U) [!p].nes
- Mickey's Safari in Letterland (U) [o1].nes

The behaviour on the PowerPak (testing with loopy's 2011-11-17 mapper set) is as ulfalizer described above:

ulfalizer wrote:
In Mickey's Safari in Letterland the status bar only shakes while the screen moves vertically. Where it "settles" seems to depend on the current vertical scroll as well (same thing in Nestopia).

I see no other anomalies.


Top
 Profile  
 
PostPosted: Sat Aug 10, 2013 12:55 pm 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1934
Location: WhereverIparkIt, USA
koitsu wrote:
(unless these games are using the IRQ counter and basing their timing/behaviour off that), else I don't know how the mapper chip could somehow "affect timing" in the way we're discussing.


The games are most certainly doing that, and the mapper can most certainly affect the IRQ timing.

The only other thing the mapper controls is bankswitching/mirroring. There isn't much room for bankswitching/mirroring to control issues like this.

IRQ's are the only plausible issue, especially since ulfalizer's emulator fixes the issue by delaying IRQs...

_________________
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers


Top
 Profile  
 
PostPosted: Sat Aug 10, 2013 3:35 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3192
Location: Mountain View, CA, USA
Then in that case the only way I know that someone can figure this out is to get their hands on actual carts and use an oscilloscope in some way (beyond my skill set) to determine the timing. I'm happy to send the Crash Dummies cart I have off to someone here in the States if they take up the task.


Top
 Profile  
 
PostPosted: Sat Aug 10, 2013 4:21 pm 
Offline
User avatar

Joined: Sat Jan 22, 2005 8:51 am
Posts: 427
Location: Chicago, IL
I wouldn't mind taking this on. I've been looking for an excuse to do some hardware analysis/experimentation.

_________________
get nemulator
http://nemulator.com


Top
 Profile  
 
PostPosted: Sat Aug 10, 2013 4:48 pm 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 3968
Nintendulator shows the junk at the right side of the title screen, as well as the junk at the right side before the text appears.

_________________
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!


Top
 Profile  
 
PostPosted: Sun Aug 11, 2013 9:24 pm 
Offline
User avatar

Joined: Fri Mar 08, 2013 9:55 pm
Posts: 349
Location: Linköping, Sweden
Dwedit wrote:
Nintendulator shows the junk at the right side of the title screen, as well as the junk at the right side before the text appears.


Yeah, got the same thing on Pasky's PowerPak for some reason (not sure what mapper set it's using). Any shaking? Could you compare against Nestopia (which doesn't shake) and see if the text and in-game status bar are shifted by one pixel relative to Nintendulator? I don't have a Windows install atm.

Jönssonligan... nostalgia... didn't think anyone outside of Sweden had seen those movies. :P


Top
 Profile  
 
PostPosted: Mon Aug 12, 2013 1:41 am 
Offline
User avatar

Joined: Wed Feb 13, 2008 9:10 am
Posts: 592
Location: Estonia, Rapla city (50 and 60Hz compatible :P)
I used to have pirate Letterland and I recall it shaking on some clones and not on others, I did not have real hardware at that time. I may have the cartridge somewhere...

_________________
http://www.tmeeco.eu


Top
 Profile  
 
PostPosted: Sun Aug 18, 2013 4:54 pm 
Offline
User avatar

Joined: Sat Jan 22, 2005 8:51 am
Posts: 427
Location: Chicago, IL
IRQ is being asserted on the falling edge of A12 instead of the rising edge, so it occurs 4 PPU cycles later compared to MMC3.

Image

I've implemented this behavior in my emulator and the game is working correctly now. Oh, and I did see the garbage on the right hand side of the screen while testing.

_________________
get nemulator
http://nemulator.com


Top
 Profile  
 
PostPosted: Sun Aug 18, 2013 5:37 pm 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1934
Location: WhereverIparkIt, USA
James wrote:
IRQ is being asserted on the falling edge of A12 instead of the rising edge, so it occurs 4 PPU cycles later compared to MMC3.


Yay!!! Nice work James and Koitsu for prying this guy open and figuring out what makes him tick! :)

Question is how one would go about documenting this and communicating it to an emu. I suppose iNES 2.0 MMC3 variant is the way to go?

_________________
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers


Top
 Profile  
 
PostPosted: Sun Aug 18, 2013 5:47 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3192
Location: Mountain View, CA, USA
I actually didn't do anything (meaning I didn't send James my cart -- nobody actually told me to, nor gave me an address, thus I did nothing. :-) ).

Nice find. Now the problem -- and it is a problem -- of documenting this behaviour comes into play.

http://wiki.nesdev.com/w/index.php/MMC3
- Needs to have its Hardware section updated (states there is no difference in the Acclaim chip (we now know that's wrong), and the paragraph after that is also wrong WRT that chip)

http://wiki.nesdev.com/w/index.php/INES_Mapper_004
- I'm not sure what should go here. Something probably should. I really do not like how the mapper documentation is "spread all over the place" like this, i.e. MMC3 wiki page has some info, INES_Mapper_004 page has other info, etc..***

http://wiki.nesdev.com/w/index.php/RAMBO-1
http://wiki.nesdev.com/w/index.php/INES_Mapper_064
- Probably needs reinvestigation to see what its timing behaviour is like
- Be sure to see the "IRQ counter operation" section, note the "blah blah 5 pixels later" part -- like I said, needs investigation

http://wiki.nesdev.com/w/index.php/INES_Mapper_076
- Same situation as RAMBO-1 and INES_Mapper_064

And no need for Mapper 206 stuff to get updated, as supposedly those chips (Tengen MIMIC-1 and Namcot 118) lack IRQ.

I have not the slightest idea how to solve this from an emulator perspective. I imagine a ROM hash database and so on is really the only way, similar to how people differentiate between MMC3A and MMC3B and other chips. If you ask me, this warrants a separate mapper number; ex. "for the Acclaim MC-ACC chip, the behaviour is almost identical to that of a real MMC3, except for the following: * scanline IRQ generation happens on the falling edge of A12 (real MMC3 keys off rising edge), so IRQ generation happens 4 cycles later than on a real MMC3".

*** -- I imagine this confuses the hell out of a lot of people. People update one but not the other, blah blah blah. All the Disch mapper docs stuff should really just be put into a single page and section-ised, where notes can be added within each section (outside of the <pre> content). Likewise I should probably spend some time looking at the Infobox wiki template so that each chip could have an Infobox that lists off the relevant iNES mapper numbers that use the chip. (If you don't know what an Infobox is, it's the little box on the right side of pages that lists off some summarised info; example (Developer, Publisher, Designer, etc.)).


Top
 Profile  
 
PostPosted: Sun Aug 18, 2013 6:12 pm 
Offline
User avatar

Joined: Sat Jan 22, 2005 8:51 am
Posts: 427
Location: Chicago, IL
koitsu wrote:
http://wiki.nesdev.com/w/index.php/RAMBO-1
http://wiki.nesdev.com/w/index.php/INES_Mapper_064
- Probably needs reinvestigation to see what its timing behaviour is like
- Be sure to see the "IRQ counter operation" section, note the "blah blah 5 pixels later" part -- like I said, needs investigation

Funny that you should mention this, because I've already bought a Klax cart off of ebay to investigate :)

_________________
get nemulator
http://nemulator.com


Top
 Profile  
 
PostPosted: Sun Aug 18, 2013 6:45 pm 
Offline
User avatar

Joined: Fri Mar 08, 2013 9:55 pm
Posts: 349
Location: Linköping, Sweden
Nice work James and others. :mrgreen:

I also agree that some of the mapper docs are a bit of a maze with copy paste and scattered information (looked at MMC2 and MMC4 today for exmaple, and imo those should be on the same page, just pointing out the slight differences between them). Judging from viewtopic.php?f=3&t=10275, Disch wouldn't have any problem with information from his docs being changed or integrated into other pages btw.


Top
 Profile  
 
PostPosted: Mon Aug 19, 2013 2:51 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7312
Location: Chexbres, VD, Switzerland
Quote:
i.e. MMC3 wiki page has some info, INES_Mapper_004 page has other info, etc..***

You can thank me for militating against the separate pages for TLROM, TSROM, TNROM, ... and mapper info replicated on all of them.


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: Bing [Bot], Rahsennor and 7 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