It is currently Thu Dec 14, 2017 3:17 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: MMC1 powerup question
PostPosted: Sun Jan 08, 2006 7:50 am 
Offline

Joined: Mon Jan 02, 2006 12:45 am
Posts: 55
Location: Orlando, FL
In the Wiki page for the MMC1 it states:

1 - Bank $C000-$FFFF is fixed to the last 16KB of PRG ROM, while $8000-$BFFF is swappable via Register 3. (power-on default)

However I pulled a mmc1b2 off a zelda cart and attached it to my parralel port. When i pull A14 and low it addresses the last 16K page in rom and When I pull A14 high it addresses the first 16K page. Is the info in the wiki a typo or is there something that I'm overlooking? perhaps It suppose to say

1 - Bank $C000-$FFFF is fixed to the FIRST 16KB of PRG ROM, while $8000-$BFFF is swappable via Register 3. (power-on default)

I am working on reverse engineering this chip and want to make sure it's accurate.

Thanks Zack


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jan 08, 2006 9:18 am 
Online
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7314
Location: Chexbres, VD, Switzerland
Sure, it's the last 16kb PRG bank that is switched by default. It's that bank that contain Reset vectors and stuff, and if it isn't swapped at $c000-$ffff at reset, all MMC1 games will never work.

_________________
Life is complex: it has both real and imaginary components.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jan 08, 2006 9:47 am 
Offline
User avatar

Joined: Sun Sep 19, 2004 10:59 pm
Posts: 1393
Powerup states are not 100% certain, though I believe the later MMC1 revisions are a bit more consistent. In any case, writing to any address with the 'reset' bit (D7) set will reset the PRG banking layout to what you just described - $8000-$BFFF swappable via Register 3 and $C000-$FFFF fixed to the last 16KB of ROM.

_________________
Quietust, QMT Productions
P.S. If you don't get this note, let me know and I'll write you another.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jan 08, 2006 10:04 am 
Offline
User avatar

Joined: Mon Sep 27, 2004 8:33 am
Posts: 3715
Location: Central Texas, USA
I did some MMC1 tests with my stop-n-swop method and concluded that at power-up, register 0 was set to $0F and the rest had random values, and that writing $80 to any port sets bits 2 and 3 of register 0 but doesn't affect anything else.

I got some weird results with Bionic Commando and a few others, where setting register 3, bit 4 appeared to map bank 7 into $C000-$FFFF (thought it could be an error on my part). I haven't done any testing recently so I'm going by my notes here.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: Google Adsense [Bot] 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