It is currently Sat Nov 18, 2017 5:18 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 23 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: MMC1A(B) on "power on"
PostPosted: Wed Apr 25, 2012 10:33 pm 
Offline

Joined: Sat Sep 03, 2011 11:40 pm
Posts: 275
Hi again. Can anyone confirm that MMC1A(B) gives default on "power on"
1)WRAM 6000-7FFFh
2)CHR1 0000-0FFFh CHR2 1000-1FFFh
3)PRG1 8000-BFFFh PRG2 C000-FFFFh

Thanks in advance


Top
 Profile  
 
 Post subject:
PostPosted: Wed Apr 25, 2012 10:44 pm 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1919
Location: WhereverIparkIt, USA
The bank numbers are unknown at power up... I've tested and seen this myself.

The only thing that is known as for banks is PRG C000-FFFF is fixed to the last bank at start up for all versions of MMC1. That way your startup code can be placed there only and it's known that it'll be hit at start up.

And I'm not sure what you mean by WRAM, there is only one bank... whether or not the WRAM is enabled at power up depends on which version of MMC1.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 26, 2012 12:46 am 
Offline

Joined: Sat Sep 03, 2011 11:40 pm
Posts: 275
Thanks for reply. I specified revisions of MMC1 - A and B.
WRAM=Working RAM=PRG RAM

Ok, i try with LED's on real hardware.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 26, 2012 1:09 am 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 3950
infiniteneslives wrote:
The only thing that is known as for banks is PRG C000-FFFF is fixed to the last bank at start up for all versions of MMC1. That way your startup code can be placed there only and it's known that it'll be hit at start up.


Really? I thought we had decided the opposite. That it could be on any 32k page at startup, so you need to copy your reset code to the end of each 32k bank.

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


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 26, 2012 2:29 am 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1919
Location: WhereverIparkIt, USA
80sFREAK: I understand what WRAM is.. I just don't understand what you're asking about it.

If you're asking about whether or not it's enabled or disabled at start-up Kevtris explains it pretty well: http://kevtris.org/mappers/mmc1/index.html it depends on what version of MMC1. But for MMC1A there is not disabling unless CA16 output is tied to WRAM /CE like on SNROM boards. MMC1B can be disabled but it's unknown at startup. Only MMC1C is known and it starts up as disabled. I haven't verified any of this personally but I trust what Kevtris is saying.

Dwedit:
Can you point me where this was determined?

Kevtris is a little ambiguous in his docs but states that,"Bank C000-FFFFh is fixed, while 8000-FFFFh is swappable. (power-on default)"

And according to Disch:

On Powerup:
----------------------------

This varies from version to version. Earlier MMC1 versions have no determined startup state. Later ones do.

- bits 2,3 of $8000 are set (16k PRG mode, $8000 swappable)

Now I only played around with MMC1B1 from a Tetris cart but it started up just as those guys both stated. Assuming Kevtris is saying that's the default for all versions then he would disagree with Disch who's saying it's only late versions that do.

I tested MMC1B1 so perhaps MMC1A's start up is unknown. Maybe we need more testing is needed to confirm...


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 26, 2012 2:40 am 
Offline
User avatar

Joined: Mon Jan 03, 2005 10:36 am
Posts: 2981
Location: Tampere, Finland
infiniteneslives wrote:
I tested MMC1B1 so perhaps MMC1A's start up is unknown. Maybe we need more testing is needed to confirm...

http://nesdev.com/bbs/viewtopic.php?t=6766

On all of the those revisions, last bank was switched in at $C000-FFFF on powerup.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 26, 2012 3:28 am 
Offline

Joined: Sat Sep 03, 2011 11:40 pm
Posts: 275
Ok, that's clearing little bit.

MMC1B WRAM by default can be "ON" or "OFF"

But still
1) by default we do have 32kB bank 8000-FFFFh or not?
2) where is default bank located in ROM image

I connected some LED's via 1kOm resistors from GND to CHR A12, PRG16, 15, 14, 13.
On "power on" with /RESET mapper PRG outputs are flickering.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 26, 2012 3:34 am 
Offline
Formerly 65024U

Joined: Sat Mar 27, 2010 12:57 pm
Posts: 2257
I know B2 starts on page 0F always, never tested A/No reveision or whatever the 3rd one is. Start testing yourself. :)

(Forgot to post, doh) http://www.2shared.com/file/07yxs_z0/Program.html

You need an SNROM board, 256KB PRG-ROM for this test cart. If needed I can include a source too to modify it to CHR-ROM or maybe even test CHR-ROM too.


Last edited by 3gengames on Thu Apr 26, 2012 3:53 am, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 26, 2012 3:45 am 
Offline

Joined: Sat Sep 03, 2011 11:40 pm
Posts: 275
I suppose any size PRG ROM will do the job - just make endless loop on start-up without touching anything. LED's to mappers output.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 26, 2012 4:03 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7265
Location: Chexbres, VD, Switzerland
I'm pretty sure MMC1A and upper guarantees the last bank at $c000-$ffff on startup.
At least I have a MMC1A devcart, and always placed my reset code here without mirroring it elsewhere, and it worked.

I think maybe the original MMC1 doesn't have this guarantee, so if you're going to use an original MMC1 maybe it's safer to copy your reset code in each 32kb bank (or even 16kb bank ? if it starts in high 16k swapping mode with a random bank ?).

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


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 26, 2012 4:32 am 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1919
Location: WhereverIparkIt, USA
80sFREAK wrote:
But still
1) by default we do have 32kB bank 8000-FFFFh or not?
2) where is default bank located in ROM image

1) NO, it starts up in 16KB mode with the first bank swapable and second bank fixed. The first bank ($8000-BFFF) is determined by reg3 (unknown at startup). THe second ($C000-FFFF) PRG bank is always the LAST bank at startup.
2) The LAST 16KB bank of the ROM. PRG A13-17 are all high, so regardless of how big the rom is the LAST bank is always selected when reading from $C000-FFFF.

Quote:
I connected some LED's via 1kOm resistors from GND to CHR A12, PRG16, 15, 14, 13.
On "power on" with /RESET mapper PRG outputs are flickering.


What is the input PRG A14??? Without knowing that the outputs flickering doesn't mean much other than PRG A14 is probably "flickering" as well. Although I would expect it to be stable...


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 26, 2012 5:13 am 
Offline

Joined: Sat Sep 03, 2011 11:40 pm
Posts: 275
Ok, done with start up ROM - last 16k only.

Plugged cart into Famicom, pushed reset button, powered on. Not very good way to do, i should try power up only cart with stated inputs.
Mapper is MMC1B2 WRAM /OE->GND /CE ->MA16 have to check 6000h and 7000h if /CE become active by default


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 26, 2012 7:16 am 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3482
Location: Indianapolis
Maybe it's worth noting that besides the different revisions, there are also different manufacturers of the MMC1. The ones with an S on them I think are by Sharp, and I guess the other ones are Ricoh? Can't say I know what the difference are, if any.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Apr 26, 2012 11:52 am 
Offline
User avatar

Joined: Mon Apr 04, 2011 11:49 am
Posts: 1919
Location: WhereverIparkIt, USA
Also I'm pretty sure that the WRAM /OE is tied directly to ground. The MMC1 generally only controls the CE input on the WRAM. THe exception being SNROM which has CHR A17 re-appropriated for /CE as well.

80sFREAK wrote:
Plugged cart into Famicom, pushed reset button, powered on. Not very good way to do, i should try power up only cart with stated inputs.


Yeah you're data is pretty much worthless unless you know what your inputs to the MMC1 are... Testing in the console is pretty difficult unless you write test roms and burn them onto the cart and such.

For my testing I used a mcu connected to the cart edge that I could manipulate via USB. It happened to be the kazzo hardware with my own firmware and software.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Apr 27, 2012 7:57 am 
Offline

Joined: Sat Sep 03, 2011 11:40 pm
Posts: 275
So, i powered cart separately with specified inputs, can confirm about last bank PRG, but not about WRAM :? plus looks like i damaged mapper :oops:


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

All times are UTC - 7 hours


Who is online

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