Coolboy cart programmer

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderator: Moderators

BennVenn
Posts: 107
Joined: Sat Mar 29, 2014 10:01 pm
Location: Australia
Contact:

Coolboy cart programmer

Post by BennVenn »

Hey everyone,

My coolboy carts will be arriving in the next few days and I'll build up a prototype cart programmer. It is only intended to support these coolboy carts, both varieties with and without the battery back SRAM. Once I'm happy with the hardware I'll get a short run of boards made up for a more robust professional solution.

The carts in their current form cannot be flashed, you'll need to lift the WE pin on the flash and route it to an unused cart edge pin. Once this is done flashing will be done the same way as with a GB cart in my Joey-Squinson.

These carts have their limitations (mappers etc) though for the price ($5) they are too cheap not to be repurposed!!!

So I'm just interested if anyone wants one of these? I'm still in the design phase but things will progress very quickly once my carts arrive.

I've found 60 pin connectors for $4, I'm still deciding on the MCU solution. Looking at around $25-$30 for the assembled writer with 3d printed enclosure.

Let me know you thoughts!
User avatar
byemu
Posts: 297
Joined: Mon Sep 05, 2011 5:56 pm
Contact:

Re: Coolboy cart programmer

Post by byemu »

Great job.

You can try to support with kazzo to flash this cart,but maybe this cart has autoreset circuit.
BennVenn
Posts: 107
Joined: Sat Mar 29, 2014 10:01 pm
Location: Australia
Contact:

Re: Coolboy cart programmer

Post by BennVenn »

Auto reset? Do you have more information?

I've just built the hardware to interface with the cart and successfully dumped the menu ROM. Steep learning curve from the GB stuff i'm familiar with.

The question is do I build a cart flasher or do I integrate a MCU into the 72pin shell as a daughter board to convert it to a full, no fuss usb flash cart? This seems like the best solution. No connect/disconnect the rd/wr pins. MCU board would be priced around $10-15 making this a full USB NES flash Cartridge for under $20

What are your thoughts?
Attachments
20151129_130429.jpg
20151129_130414.jpg
Tele-Viper
Posts: 6
Joined: Mon Nov 30, 2015 9:15 pm

Re: Coolboy cart programmer

Post by Tele-Viper »

The no-solder solution would be for the best.

Will you have software for building multicart ROMs?
BennVenn
Posts: 107
Joined: Sat Mar 29, 2014 10:01 pm
Location: Australia
Contact:

Re: Coolboy cart programmer

Post by BennVenn »

There will always be a requirement to solder the two pins, though if it was built into the cart it would only have to happen once.

Yes, I can program a menu builder based around the original Menu ROM. It will replace the ROM names, Location, and Mapper settings to the ROM's header values that you add to the list. This seems like the quickest and easiest option.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Coolboy cart programmer

Post by tepples »

That'd be a good first step. The second might be a replacement of the actual menu (the part before the actual program-launching code) with the Action 53 menu so we can get screenshots and quick start manuals right in the ROM.
BennVenn
Posts: 107
Joined: Sat Mar 29, 2014 10:01 pm
Location: Australia
Contact:

Re: Coolboy cart programmer

Post by BennVenn »

I'll have to read up on the Action 53 menu. What advantages does it have over the stock menu?

Attached is the Menu ROM's from both the 400in1 and 198in1. I'll take a look today how the menu stores the ROM data in lookup tables and write a bit of python to read and write to the menu list.
Attachments
MultiDump.rar
(380.92 KiB) Downloaded 440 times
lidnariq
Posts: 11430
Joined: Sun Apr 13, 2008 11:12 am

Re: Coolboy cart programmer

Post by lidnariq »

BennVenn wrote:I'll have to read up on the Action 53 menu. What advantages does it have over the stock menu?
Tepples put a lot of effort into polishing it, so it looks a lot less like a generic pirate multicart.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Coolboy cart programmer

Post by tepples »

Unlike typical multicart menus, Action 53 menu
  • Collects games into tabbed groups, such as "Multiplayer" or "Compo 2011" or "Shmups" or "Toys"
  • Shows a screenshot of each game as you page through them
  • Shows the author, release year, number of players, and up to 16 lines of instructional text
  • Supports a mouse in port 1 or a Zapper in port 2, in case a game also supports one of those
It's currently designed for oversize BNROM and the Action 53 mapper (which has modes simulating CNROM, BNROM, UOROM, and AOROM), but the source code is available to let it be ported to other mappers.

Image

Image
User avatar
Jazzmarazz
Posts: 26
Joined: Mon Mar 30, 2015 2:22 pm
Location: Detroit, MI
Contact:

Re: Coolboy cart programmer

Post by Jazzmarazz »

Good looking Ben. Gotta love wire-hell.
Image
BennVenn
Posts: 107
Joined: Sat Mar 29, 2014 10:01 pm
Location: Australia
Contact:

Re: Coolboy cart programmer

Post by BennVenn »

My Adsl router died yesterday... what a pain. Wonder if a recap would fix it?

I was trying to dump the whole 32m rom and I was getting weird mirroring throughout the dump. I ended up soldering 25 wires to each address line so I'd have led indicators of address activity.

Many hours later and I have a good rom dump. There are some issues with the wiki coolboy mapper regs. Ill post them when I get my internet back up. Also, A24 is inverted. Something to keep an eye on when issuing flash commands and building rom compilations.

Action 53 looks awesome. Is there a menu generator program too or is it all done manually?

I think ill stick with the stock menu until im more comfortable with nes asm. Unless someone wants to help me?

Ill cad up the schematic and board layout tonight. Hopefully get a batch made up before the new year. Ill do a run of 10. PM me if you want to secure one for yourself.

Nice rats nest jazz :-)
lidnariq
Posts: 11430
Joined: Sun Apr 13, 2008 11:12 am

Re: Coolboy cart programmer

Post by lidnariq »

BennVenn wrote:There are some issues with the wiki coolboy mapper regs. Ill post them when I get my internet back up. Also, A24 is inverted.
I'm not surprised :(
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Coolboy cart programmer

Post by tepples »

BennVenn wrote:Action 53 looks awesome.
Just wait till you see it in action (no pun intended).
Is there a menu generator program too or is it all done manually?
The source code for the menu generator is here. It reads an .ini file that contains descriptions, .nes filenames (the games), .png filenames (the screenshots), and unused byte ranges in of .nes files (for stashing reset patches, screenshots, and compressed CHR data). It would need to be tweaked to work with the Coolboy mapper instead of BNROM and A53 mappers though.
BennVenn
Posts: 107
Joined: Sat Mar 29, 2014 10:01 pm
Location: Australia
Contact:

Re: Coolboy cart programmer

Post by BennVenn »

I've just about got the original menu ROM all mapped out. Here is what I have so far (198in1 cart)

9Bytes per game entry -
0-2 are Jump instructions as found in the original ROM reset vector
3 is cart paramaters. PRG+CHR ROM Size, MMC type etc... This value is used to populate most of the CHR RAM xfer values
4 -PRG ROM Location
5 -PRG ROM Location
6 -CHR ROM Location
7 -CHR ROM Location
8 - Mirroring -H or V

The games menu itself is not mapped in a sequential order. I believe this is to make use of the mappers granularity so small ROMs are positioned lower down, then larger ROM's are further up in multiples of 128k or 256k etc...

Once I find the lookup table to map the Game Name to the game entry table, I'll build my python script to dump and edit the ROM list, re-flash and see how it goes!

I really want to use the Action53 ROM menu. Once I'm all over the Chr Ram xfer routines I'll look into porting it to A53.

one more thing, PCB's. Gold plating the board is essential for long contact life but it is expensive!!! The other options are to de-solder the 60pin socket from the 72pin adapter, point to point solder the daughter board to the 72pin adapter and re-use the 60pin adapter for the daughter board. No gold plating required, cheaper for the end user but does require a bit of soldering.

Or, make the stand alone programmer, where you simply plug your modded FC coolboy cart in and re-flash. This looks like the best option. Maybe I'll do both, or all 3!
BennVenn
Posts: 107
Joined: Sat Mar 29, 2014 10:01 pm
Location: Australia
Contact:

Re: Coolboy cart programmer

Post by BennVenn »

I've spent the last few hours building ROM lists using the existing menu - with varying success.

So far, I'm able to extract any ROM on the list, add a .NES header and have it boot in an emulator. I'm able to build my own ROM list using these extracted ROM's, place them anywhere on the flash IC and point the menu to them. This all works fine.

All ROM's I've dumped so far are of Mapper# 0,3 or 4. I've been unable to get a Mapper(1) ROM to boot on the cart using any of the included 'Initialization Routines'

These routines are part of the 9 byte ROM information block and can be one of the following byte values:

$02 - Unknown
$11 - Unknown
$12 - Mapper #4 - 128K/128K - (Double Dragon 3)
$44 - Mapper #3 - 32k/32k - (Aladin 3)
$54 - Unknown
$64 - Mapper #4 - 128k/128k -(Double Dragon 1+2) - Not sure the difference between $12, but they are not compatible
$73 - Mapper #0 - 16k/8k - (Excite bike)
$92 - Unknown
$94 - Unknown
$99 - Unknown
$A9 - Unknown

The menu code checks these values and jumps to a routine which copies a particular amount of CHR ROM to RAM then sets some mapper registers on the cart, then jumps to the reset vector address.

I've had some success adding simple ROM's to the list, like variants of Mario bros. No such luck with more complex ROM's, even ones of the same PRG/CHR ROM sizes and Mappers. I'm not sure why!!!

I'm waiting on my Rockman cart to arrive, these ROM's use all kinds of mappers and contain as much as 512k PRG ROM - which I have been unable to boot on the cart using the above initialization values. It would be good to see how the mapper registers are set up to play these ROM's.

Does anyone have the Rockman coolboy cart?

Are there any ASM guru's here that could look over some code? Progress is slow when you have to reference various documents to see what random register writes are doing!

My hardware has been pretty thoroughly tested. A 1mbyte ROM can be written in under a minute. Pretty happy with it so far!
Post Reply