It is currently Tue Dec 12, 2017 8:51 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 12 posts ] 
Author Message
 Post subject: New MMC1 MultiCart
PostPosted: Tue Apr 06, 2010 1:32 pm 
Offline
User avatar

Joined: Wed Dec 06, 2006 8:18 pm
Posts: 2806
So I was looking for something to do with the NES and decided to make a MultiCart menu using MMC1. It is complete and doesn't appear to have any issues so I wanted to share it. It uses 512kb PRG. It's possible to fit more games that way than using CHR-ROM.

The download contains an empty (no games included) MultiCart.nes file and a MultiCart.exe for Windows which is a command line program to insert NROM games into the MultiCart.nes file.

Get it here.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 06, 2010 1:38 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19335
Location: NE Indiana, USA (NTSC)
Nice job. I'll try it when I get time.

So it can fit 11 NROM games on one SUROM. But why 11? 512 KiB / 40 KiB per game = 12.8 games, and the menu could probably fit in the 0.8. Do you plan to add CHR compression to squeeze in another game or two, or perhaps add support for NROM-128 to fit more games? Or do you plan to make a version that can piggyback on an existing SNROM game like Forbidden Four?


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 06, 2010 2:18 pm 
Offline
User avatar

Joined: Wed Dec 06, 2006 8:18 pm
Posts: 2806
The reason I didn't go for 12 was because I was unclear on the power up state of the MMC1. I wasn't sure if the high PRG (for 256k paging) is in a known state. So the menu is duplicated into the last bank of both 256k pages. If it were not, then 12 could fit.

So it's not a matter of space so much as it is available 32K pages. If MMC1 is known to always have the first or last 256kb page selected on power up I might see about adding a 12th slot. I don't plan any CHR compression or anything that would complicate the storage and loading.

Your Forbidden Four is part of what inspired me to try doing this. But my goal was to fit as many NROM games onto one cartridge as possible rather than pairing them with a MMC1 game. That's why I used PRG-ROM and CHR-RAM as CHR-ROM would have less 32K pages available allowing only 7 games. Though that would have simplified the loader code even more by just setting up bankswitching and not copying CHR data.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 06, 2010 2:25 pm 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7314
Location: Chexbres, VD, Switzerland
Quote:
If MMC1 is known to always have the first or last 256kb page selected on power up I might see about adding a 12th slot

I'm not exactly sure, but I think the MMC1A, MMC1B, MMC1B2 and MMC1B3 are guaranteed to have the last PRG bank switched at $c000-$ffff, and that the original (and very rare) MMC1 don't.

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


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 06, 2010 2:36 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19335
Location: NE Indiana, USA (NTSC)
MottZilla wrote:
The reason I didn't go for 12 was because I was unclear on the power up state of the MMC1. I wasn't sure if the high PRG (for 256k paging) is in a known state. So the menu is duplicated into the last bank of both 256k pages. If it were not, then 12 could fit.

SUROM has 32 banks, each 16 KiB in size. Assume it is random whether 15 or 31 is switched into $C000-$FFFF at power on. You can still use 0-11 for the first six games and 12-14 for their CHR. Use 16-27 for the other six games and 28-30 for their CHR. This frees up banks 15 and 31 for two copies of the menu, or one copy of the menu in 15 and a boot stub in 31 that redirects execution to 15.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 06, 2010 4:29 pm 
Offline
Site Admin
User avatar

Joined: Mon Sep 20, 2004 6:04 am
Posts: 3487
Location: Indianapolis
I made a 256kB multicart one time using MMC1, when I ran it on the a cart with MMC1A though it would start in random 32kB banks (which would make the games run, but without loading CHR-RAM since the menu was bypassed). It needed the reset vectors changed but I didn't bother.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Apr 06, 2010 8:51 pm 
Offline
User avatar

Joined: Wed Dec 06, 2006 8:18 pm
Posts: 2806
Tepples, I see what you mean to be able to get a 12th game on there. I might look into doing that.

So no one is sure though about SUROM boards and if the 256k page number resets to a known value? Could someone test to find out the behavior?


Top
 Profile  
 
 Post subject: Re: New MMC1 MultiCart
PostPosted: Tue May 12, 2015 4:02 am 
Offline

Joined: Fri Aug 29, 2014 1:45 pm
Posts: 62
Hmm, the link is dead. Is it possible to post a mirror, if someone still has a copy, please?

Nevermind, I found it! http://thegaminguniverse.org/ninjagaide ... ebrew.html

_________________
Idealogical
From: I have an idea. It seems logical. Thus everyone must agree.

Fail, fail, fail again. Keep trying, then maybe this damn thing will work. Eventually you might even know why it worked.


Top
 Profile  
 
 Post subject: Re: New MMC1 MultiCart
PostPosted: Tue Jul 05, 2016 9:10 pm 
Offline

Joined: Sat Jun 03, 2006 9:17 pm
Posts: 303
Interesting, great work =) Is there a way to get rid of the extra "Slot Empty" messages if I don't use all 11 slots?


Top
 Profile  
 
 Post subject: Re: New MMC1 MultiCart
PostPosted: Fri Jul 08, 2016 1:43 pm 
Offline
User avatar

Joined: Wed Dec 06, 2006 8:18 pm
Posts: 2806
You can put empty files with no title to blank them out. Then you'd have to edit the bit of code to allows the cursor to move down to those slots to not be able to move down as far.


Top
 Profile  
 
 Post subject: Re: New MMC1 MultiCart
PostPosted: Sat Jul 09, 2016 12:34 am 
Offline

Joined: Sat Jun 03, 2006 9:17 pm
Posts: 303
MottZilla wrote:
You can put empty files with no title to blank them out. Then you'd have to edit the bit of code to allows the cursor to move down to those slots to not be able to move down as far.



I see. The blank part would not be a problem. Editing the code would, as I have no idea how to do any of that kind of thing lol. How would I blank it out with no rom file?


Top
 Profile  
 
 Post subject: Re: New MMC1 MultiCart
PostPosted: Sun Jul 10, 2016 2:26 pm 
Offline
User avatar

Joined: Wed Dec 06, 2006 8:18 pm
Posts: 2806
Well you don't need a empty file actually. You just need to use a hex editor to remove the extra rom titles in the menu. The code change would be to hex edit and change $3c91c from $0A to a lower number. Subtract however many games you want to remove from the list. If you go up just a little bit from there in the ROM file you can see ASCII text for the menu game titles. You can just replace unused slots with spaces (hex value $20) and you will have empty space there.


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

All times are UTC - 7 hours


Who is online

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