It is currently Mon Nov 20, 2017 9:40 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 90 posts ]  Go to page 1, 2, 3, 4, 5, 6  Next
Author Message
 Post subject: Coolboy cart programmer
PostPosted: Mon Nov 16, 2015 3:29 pm 
Offline

Joined: Sat Mar 29, 2014 10:01 pm
Posts: 107
Location: Australia
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!


Top
 Profile  
 
PostPosted: Mon Nov 16, 2015 6:37 pm 
Offline
User avatar

Joined: Mon Sep 05, 2011 5:56 pm
Posts: 287
Great job.

You can try to support with kazzo to flash this cart,but maybe this cart has autoreset circuit.


Top
 Profile  
 
PostPosted: Sat Nov 28, 2015 11:47 pm 
Offline

Joined: Sat Mar 29, 2014 10:01 pm
Posts: 107
Location: Australia
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_130429.jpg [ 3.13 MiB | Viewed 5516 times ]
20151129_130414.jpg
20151129_130414.jpg [ 2 MiB | Viewed 5516 times ]
Top
 Profile  
 
PostPosted: Mon Nov 30, 2015 9:25 pm 
Offline

Joined: Mon Nov 30, 2015 9:15 pm
Posts: 6
The no-solder solution would be for the best.

Will you have software for building multicart ROMs?


Top
 Profile  
 
PostPosted: Mon Nov 30, 2015 9:35 pm 
Offline

Joined: Sat Mar 29, 2014 10:01 pm
Posts: 107
Location: Australia
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.


Top
 Profile  
 
PostPosted: Tue Dec 01, 2015 8:40 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19237
Location: NE Indiana, USA (NTSC)
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.


Top
 Profile  
 
PostPosted: Tue Dec 01, 2015 12:48 pm 
Offline

Joined: Sat Mar 29, 2014 10:01 pm
Posts: 107
Location: Australia
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 191 times
Top
 Profile  
 
PostPosted: Tue Dec 01, 2015 1:20 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6447
Location: UK (temporarily)
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.


Top
 Profile  
 
PostPosted: Tue Dec 01, 2015 1:31 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19237
Location: NE Indiana, USA (NTSC)
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


Top
 Profile  
 
PostPosted: Tue Dec 01, 2015 7:45 pm 
Offline
User avatar

Joined: Mon Mar 30, 2015 2:22 pm
Posts: 26
Location: Detroit, MI
Good looking Ben. Gotta love wire-hell.
Image


Top
 Profile  
 
PostPosted: Thu Dec 03, 2015 2:40 pm 
Offline

Joined: Sat Mar 29, 2014 10:01 pm
Posts: 107
Location: Australia
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 :-)


Top
 Profile  
 
PostPosted: Thu Dec 03, 2015 2:59 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 6447
Location: UK (temporarily)
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 :(


Top
 Profile  
 
PostPosted: Thu Dec 03, 2015 3:01 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19237
Location: NE Indiana, USA (NTSC)
BennVenn wrote:
Action 53 looks awesome.

Just wait till you see it in action (no pun intended).

Quote:
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.


Top
 Profile  
 
PostPosted: Sun Dec 06, 2015 7:32 pm 
Offline

Joined: Sat Mar 29, 2014 10:01 pm
Posts: 107
Location: Australia
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!


Top
 Profile  
 
PostPosted: Sat Dec 12, 2015 9:59 pm 
Offline

Joined: Sat Mar 29, 2014 10:01 pm
Posts: 107
Location: Australia
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!


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 90 posts ]  Go to page 1, 2, 3, 4, 5, 6  Next

All times are UTC - 7 hours


Who is online

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