how to create our own multicart ?

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.

Moderator: Moderators

cecilmax
Posts: 12
Joined: Tue Jan 23, 2018 7:33 am

how to create our own multicart ?

Post by cecilmax »

Hello guys,

I need somes help to guide me how to create my own multicart, I have couples of questions and I didn't find anything on google.

I have basic knowledge of asm on x86. I would like to put my favorites top 100 games on the same catdridge with my own selection menu.

1. my first step would be to create multicart rom and once it is finished I would like to copy it onto a catdridge. It is a good approach ?
2. Do I need a special catdridge or if I can take any of my old nes catdridge and overwrite it ?
3. Where can I buy a device to write my rom onto a catdridge, there is a usb device compatible with windows 7/10 somewhere ?

4. how do I create a menu selection ? I would like to create something fancy with a background. I saw a multicart on youtube 150 in 1 with a nice background and each select have a preview of the game in a little square.

Does someone have a link to a multicart menu selection source code that I can play with to customize it instead of create one from scratch ?

5. how do I calculate the limit of the games I would like to put into the same rom ? I read about mappers but I am a bit confused, does someone have a good tutorial for that ?

thanks :)
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: how to create our own multicart ?

Post by FrankenGraphics »

Hi and welcome!

Obligatory disclaimer first:
1) print "Forum rules say 'no blatant piracy'."
2) goto 1


But if you're really into it and actually DO have 100 nes games to make a private copy of on your own home coded cartridge, you have a long journey ahead of you. There's no shortcut or out of the box solution if you want to make your own nes compatible interface + multiloader.

You need to:
-read up on mappers and their hardware limits
-read up on the architecture specific to the NES
-code a lot of little programs for the sake of learning each building block, such as:
--controller input
--feeding the ppu
--segments and object linking
-learn how to do pixel art for the "thumbnails"

writing to a cartridge is the easy part once you know all this. Which can't be explained in one single thread. It's a process that may take you maybe a year if you're determined. Reproduction discussions have a specific subforum (this one is for game/demo/tool development) - you might find some leads there.

edit: corrected typos
Last edited by FrankenGraphics on Tue Jan 23, 2018 9:10 am, edited 3 times in total.
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: how to create our own multicart ?

Post by dougeff »

A friend of mine rigged up an arcade cabinet to play 100 NES games. The internals was just a run of the mill computer and monitor running a special emulator.

Similarly, I can attach my laptop to my regular TV, and I recently purchased a NES controller to USB connector from retrousb. It feels and plays just like a real NES console, just running an emulator.

Those 2 options would be much easier than your plan.
nesdoug.com -- blog/tutorial on programming for the NES
cecilmax
Posts: 12
Joined: Tue Jan 23, 2018 7:33 am

Re: how to create our own multicart ?

Post by cecilmax »

Thanks for your help :)

I read that mappers are the chips added into somes catdridge. Is that right ?

there is a place where we can buy a catdridge with the most space ? I read kirby adventure was the one with the more space. Does exist a catdridge with more than 6mb ?
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: how to create our own multicart ?

Post by tepples »

The Kirby's Adventure and Metal Slader Glory boards are designed to be used with one big game, not a bunch of small games.

As long as the games you add use common discrete logic mappers and total less than 64 Megabits (8 MiB), you can use Action 53 to make a multicart. Supported mappers are NROM (0), CNROM (3), UNROM (2), UNROM "Crazy Climber" variant (180), BNROM (34), and AOROM (7). But you might need to make a special request from Paul at Infinite NES Lives for a cart with such large PRG ROM.
cecilmax
Posts: 12
Joined: Tue Jan 23, 2018 7:33 am

Re: how to create our own multicart ?

Post by cecilmax »

Ah ok :) I tought it was just a question of how much space available on a cart.

I wonder if it would do the trick if I buy a cartridge of 150 in 1 and just replace the content ?
User avatar
Dwedit
Posts: 4922
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Re: how to create our own multicart ?

Post by Dwedit »

If you find a modern pirate multicart, it will most likely be under a single glob top, no components to replace there.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
lidnariq
Posts: 11430
Joined: Sun Apr 13, 2008 11:12 am

Re: how to create our own multicart ?

Post by lidnariq »

"Just replacing the contents" is the hard part.

1- Most of those N-in-1 carts actually use a so-called "mask" ROM, which you can't put new data in
2- Many of those "large number" in 1 carts don't actually contain the named number of games but something fewer. Most NES games in multicarts are the sort that are 24K in size, so if you see more than 170 (4096÷24) you can be reasonably assured many of the number are fakes. (Yes, I know compression means the threshold is a little higher, but still)

This thread (which is about repairing such a multicart, instead of making one entirely of new parts) should give you a good feeling for what would be involved.

Farid's also made several multicarts; SLROM, UNROM, TLROM
cecilmax
Posts: 12
Joined: Tue Jan 23, 2018 7:33 am

Re: how to create our own multicart ?

Post by cecilmax »

I just read a goof tutorial nes reproduction. It said I will have to seperate the rom into two seperate file chr and prg and if necessary double the bin file until I fill the chip. Getting eprom and a programmer device to put the bin into it.

I wonder if does exist a pcb programmable ? Instead of take of the chip and put it on each time I test a new program ??

Someone know what is the eprom with more space available ?

My research lead me to think that the “first” game on the chip is the menu and when we choose a game we just jump into the selected address where the game is ?
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: how to create our own multicart ?

Post by FrankenGraphics »

In order to reprogram a rom chip, it ought to be flashROM for the time being, not eprom. All InfiniteNESLives' PCB:s have been updated to be reprogrammable.



It said I will have to seperate the rom into two seperate file chr and prg
Only if the game is using chr-rom.

chr-ram games store all graphics in prg-rom and transfer them to chr-ram during runtime, so they're self-contained in one single file.
User avatar
dougeff
Posts: 3078
Joined: Fri May 08, 2015 7:17 pm

Re: how to create our own multicart ?

Post by dougeff »

My research lead me to think that the “first” game on the chip is the menu :?
The default bank depends on what mapper you are using. Some mappers always have the last PRG bank fixed to the C000-ffff region. Other mappers have no fixed bank, and must explicitly jump to the first bank.

But it would be reasonable to put the menu in the first PRG bank, yes.
nesdoug.com -- blog/tutorial on programming for the NES
cecilmax
Posts: 12
Joined: Tue Jan 23, 2018 7:33 am

Re: how to create our own multicart ?

Post by cecilmax »

I still have trouble understand what mappers are ? a chip on the pcb ?

I think I understood well the main two chips eprom, one for program PRG and other for graphics CHR.

Does mappers are simply a chip that provide more space to put program ?
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: how to create our own multicart ?

Post by FrankenGraphics »

A mapper (sometimes specific ones are called other things, like nintendo terminology/branding ”memory management controller” - MMC - or the konami equivalent term virtual ROM controller - VRC) is any device of any kind that so to speak shifts what part of a larger ROM or RAM can be seen through the tiny rom space/address window. This is allowing the console to access larger programs/data than the machine was designed for. All mappers are part of the cartridge PCB but not all cartridges have a mapper. Furthermore, you can still never see the whole program at the exact same time if it is larger than the address window, but rather portions of it. A portion is called a bank. Banks are ”shifted” in and out of view.

The term is unfortunately used off-handedly in emulator culture where it first and foremost is a term attached to what kind of virtual PCB the ROM image is supposed to be ”socketed” into. Which can be confusing.

==
edit: corrected typos
Last edited by FrankenGraphics on Wed Jan 24, 2018 11:32 am, edited 1 time in total.
cecilmax
Posts: 12
Joined: Tue Jan 23, 2018 7:33 am

Re: how to create our own multicart ?

Post by cecilmax »

I see, so its a chip that expand the console capabilities..

I wonder what is the best chips combo on a pcb for maximum capacity ?

I wonder how to calculate how much game we can put on a cart ? we always see, 35 in 1, 100 in 1, etc. 250 in 1, if each game is 16kb so a cart with 250 games have 4mb or chip space ? all chips I see are 256kb, and I am not talking about cart that have 500 games in 1 :)

that bring me to a question, if I understand right, each game must be placed one after another by group of 16kb as example. but each game are not always the same size, we just need to fill the remaining space with 0 ?

I see multicart 250 in 1 using 1 battery to save games, thats why multiples games use the same save space so we must finish a game before start another one if we dont want to loose any progress.. it is possible to implement more than one save on a cart ?
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: how to create our own multicart ?

Post by FrankenGraphics »

cecilmax wrote:I see, so its a chip that expand the console capabilities..
Almost! A mapper can be comprised of either discrete logic components or an ASIC (application specific integrated circuit: in other words a chip). Furthermore, programmable devices can be used today to replace the original, out-of-production chips, which is why more advanced mappers can be reproduced.
Post Reply