Mapper Issue for Spiritual Warfare by Wisdom Tree

Are you new to 6502, NES, or even programming in general? Post any of your questions here. Remember - the only dumb question is the question that remains unasked.

Moderator: Moderators

Post Reply
rowejere
Posts: 20
Joined: Fri Sep 08, 2017 7:19 am

Mapper Issue for Spiritual Warfare by Wisdom Tree

Post by rowejere »

I'm trying to use a Colour Dreams mapper located on GitHub to dump Spiritual Warfare by Wisdom Tree and the end result seems to consistently be 40KB. I'm using the Kazzo by Infinite Lives. I believe the correct size should be around 257KB. I ran into a very similar issue with Romstar Thunder and Lightning using the GNROM mapper on GitHub. I think that may be worth mentioning because I hear the GNROM mapper should be very similar to Colour Dreams. Also, the issue I was having with Romstar Thunder and Lightning was producing incorrect dumps that were also 40KB.

The fix that worked for Thunder and Lightning came from lidnariq (thanks again). Lidnariq suggested that I try changing cpu_rom { size_base to 0x20000 and ppu_rom { size_base to 0x8000 (essentially, doubling these values in the script). I tried a similar solution for Colour Dreams. Doubling the size_base for cpu and ppu did change the file size of the dump to 140KB. However, that was still not large enough. I tried doubling again and the dump reverted to 40KB. Is there a way to know which values to use for these areas of the script, or is it usually trial and error? Also, if anyone thinks the issue may be somewhere else in the script unrelated to size_base feel free to let me know.

-Bootgood entry I referenced for Wisdom Tree Spiritual Warfare: http://bootgod.dyndns.org:7777/profile.php?id=960
-GitHub page I used for Anago Kazzo scripts: https://github.com/arantius/anago-scripts
-Similar conversation in NesDev that resulted in a fix for Romstar Thunder and Lightning: https://forums.nesdev.com/viewtopic.php ... 4&start=15

-For convenience, I have the Colour Dreams Script Below that I am trying to use:

board <- {
mappernum = 11,
cpu_rom = {
size_base = 0x10000, size_max = 1 * mega, banksize = 0x8000
},
ppu_rom = {
size_base = 0x8000, size_max = 1 * mega, banksize = 0x2000
},
ppu_ramfind = false, vram_mirrorfind = true
};

function cpu_dump(d, pagesize, banksize) {
for (local i = 0; i < pagesize; i += 1) {
cpu_write(d, 0x8000, i);
cpu_read(d, 0x8000, 0x4000);
cpu_read(d, 0xc000, 0x4000);
}
}

function ppu_dump(d, pagesize, banksize) {
for (local i = 0; i < pagesize; i += 1) {
cpu_write(d, 0x8000, i << 4);
ppu_read(d, 0, 0x2000);
}
}
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Mapper Issue for Spiritual Warfare by Wisdom Tree

Post by lidnariq »

rowejere wrote:I tried doubling again and the dump reverted to 40KB. Is there a way to know which values to use for these areas of the script, or is it usually trial and error? Also, if anyone thinks the issue may be somewhere else in the script unrelated to size_base feel free to let me know.
Color dreams supports a maximum of 0x20000 PRG (four 32 KiB banks) and 0x20000 CHR (sixteen 8 KiB banks).

Theoretically the Kazoo is supposed to automatically detect how many banks are actually present, starting at the minimum (size_base) and trying up through the maximum (size_max), but I don't know why that's not working for you.
rowejere
Posts: 20
Joined: Fri Sep 08, 2017 7:19 am

Re: Mapper Issue for Spiritual Warfare by Wisdom Tree

Post by rowejere »

Ah, so it sounds like the script is telling the Kazzo hardware a range of values to try (but that doesn't seem to be working in these cases for some reason).

If indicating a range is not working in this case, is there a way to find exactly what values should work based on the cart or bootgod database? If not, what are some likely values that would work for cpu_rom size_base and ppu_rom size_base?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Mapper Issue for Spiritual Warfare by Wisdom Tree

Post by lidnariq »

Set cpu_base to the literal size of PRG and ppu_base to the literal size of expected CHR.

At least, that's what made the GNROM dumper work. We can hope it will also work for the Color Dreams one.
rowejere
Posts: 20
Joined: Fri Sep 08, 2017 7:19 am

Re: Mapper Issue for Spiritual Warfare by Wisdom Tree

Post by rowejere »

In this case, the PRG value according to the bootgod database is identical to the CHR value (both 128KB). As a result, the base size of both would be "size_base = 0x20000" correct? That is the cpu_rom base size from Thunder and Lightning - and that game had PRG value of 128KB. If so, I tried using the base size of 20000 for both CPU and PPU and resulted in a dump of 40KB again. Attached is a picture. I'm hoping there is something that I'm missing.
Attachments
colour dreams issue.JPG
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Mapper Issue for Spiritual Warfare by Wisdom Tree

Post by lidnariq »

Yeah, sorry, I'm out of ideas at this point. It should work, there's nothing obviously wrong with what you're doing, and I'm pretty certain the stock unmodified scripts work for other people.

That line about "mirroring Program ROM fixed" is awfully suspicious, but I don't have any idea on why it's deduplicating things there. That message shouldn't even appear—I think—when size_base is the same as size_max.
rowejere
Posts: 20
Joined: Fri Sep 08, 2017 7:19 am

Re: Mapper Issue for Spiritual Warfare by Wisdom Tree

Post by rowejere »

I'm not sure if this provides any more clues, but I did learn how to use the command line version of the anago software and this time it resulted in an error message. It says "cpu_romsize does not exist." It lists that for the colour dreams script from github as well as the version I tried to alter.

This same error message does not appear using the GUI version. All the GUI version does is create a file that is 40KB using the colour dreams script (and the colour dreams script I tried to alter). Does anyone have any ideas that is familiar with the Kazzo from Infinitelives?
Attachments
error screen.JPG
Post Reply