I just got a copy of Metal Slader Glory and was going to upload it to bootgod's DB, but I'm having a hard time dumping it. Only 256k chr is getting dumped, I'm pretty certain that should be 512k. I'm assuming this is a (hopefully simple) plugin issue, but I don't know the first thing about messing with CopyNES plugins. Is there an updated exrom plugin anywhere, or steps on how I can update the plugin myself?
It's already been dumped and verified according to GoodNES:
Code:
2002-03-27 13:43 1,048,592 Metal Slader Glory (J) [!].nes
d67f2a79be6a949ec074e2168dd71020 *Metal Slader Glory (J) [!].nes
File: Metal Slader Glory (J) [!].nes
Soft-patched: No
CRC: B4735FAC
SHA-1: 4AC3E9136706AB009EE2F68C7D009422D73EE8E8
System: Famicom
Board: ELROM, Mapper 5
PRG-ROM: 512k
CHR-ROM: 512k
Battery: No
Dump: Unknown
The mapper is forced to
MMC5, as well as PRG and CHR sizes, in
NstDatabase.xml:
Code:
<game>
<cartridge system="Famicom" dump="unknown" crc="B4735FAC" sha1="4AC3E9136706AB009EE2F68C7D009422D73EE8E8">
<board mapper="5">
<prg size="512k" />
<chr size="512k" />
</board>
</cartridge>
</game>
Is it truly 512KBytes per PRG and CHR? Edit: I'm thinking it is, based on review of the PRG and CHR data. It doesn't look like sections are getting duplicated.
Are you able to take quality, high-resolution pictures of the PCB (front and back)?
The EXROM dumping script provided by kevtris on NesCartDB only supports max 256/256 PRG/CHR (bizarrely).
Retooling that dumping fragment to support the 512/512 that is Metal Slader Glory (or the 1024/1024 that MMC5 supports) doesn't look hard, but I'm having a terrible time summoning the desire to do so.
Anyway, all of the extant MMC5 boards use the same 32-pin PRG- and CHR- ROMs that always support 1M. I don't think we'll find anything special there
edit: remove mistakes
koitsu wrote:
Are you able to take quality, high-resolution pictures of the PCB (front and back)?
Sure, that was one of the reasons I wanted to add it to the DB:
FrontBack
So, here's what the version
on NesCartDB does:
* doesn't bother to test for PRG or CHR mirroring after 128K; assumes anything larger is 256K
* uses 1K CHR banking, making addressing more than 256K of CHR annoying.
Well, ok, I guess that's not too hard to change (see attached). But what assembler's syntax is this?
EDIT: I really should have paid closer attention to the MMC5 CHR banking registers. Attached now writes to CHR banking registers at $5123 and $5127 instead of $5120 and $5124
lidnariq wrote:
But what assembler's syntax is this?
Looks like
TASM. This could be ported to asm6 pretty easily.
Because I'm more familiar with xa65 (and it's in debian's repository), I used xa65 instead. But here's the above source translated to xa65's syntax, as well as the associated 1152-byte dumper binary file.
Can't test it, though.
I appreciate it, but now it's dumping 1024 CHR, or occasionally just 32. PRG dumps fine every time.
That it's inconsistent is just weird. I'll take a closer look and see if anything sticks out to me.
If you look at the 1M CHR overdump, is it two copies of the 512K of CHR? Or something worse?
It looks like it's filling the entire 1M with duplicates of one small bank of tiles.
I really should have paid closer attention to the MMC5 CHR banking registers. They were the opposite of what I had naïvely expected, so of course that didn't work.
(I should have been writing to $5123 and $5127 when in 4K CHR mode, but I was writing to $5120 and $5124)
Just tried your plugin, and it works perfectly!
The NesDB software, on the other hand, times out when it's trying to calculate CHR size, but it dumps fine with the standard USB CopyNES software, so your plugin is good. I'll contact bootgod to figure out a way around this. Thanks for your help!
It looks like my software is a little bit more antsy to timeout, mine was giving it 8 seconds and the official version was giving it 10 :p I recompiled with 10 and will send it your way. When I get a chance I will work up a TASM-compatible source, just for consistency.
If you mean my revision to the EXROM dumper, I did update the original in TASM syntax—
viewtopic.php?p=181196#p181196