Susoft 5a clone?

A place that you can discuss reproduction of classic titles or "licensed-for-reproduction" homebrew for personal use.

Moderators: B00daW, Moderators

Forum rules
1. NO BLATANT PIRACY. This includes reproducing homebrew less than 10 years old, with the exception of free software.
2. No advertising your reproductions, with the exception of free software.
3. Be nice. See RFC 1855 if you aren't sure what this means.
zxbdragon
Posts: 498
Joined: Mon Dec 12, 2011 8:15 pm

Re: Susoft 5a clone?

Post by zxbdragon »

Joe wrote:
zxbdragon wrote:virtuanes by temryu.rar
Can I see the source code?
Fisher wrote:Hey zxbdragon, should I ask where did you get this ROM?
I would like to get it too and take a look, to make sure my dumping process is error free.
Batman (j) [p1].unf wrote:Dump by Fisher,Emu by temryu
...This is the ROM you dumped. (At least, the PRG is. I think you haven't gotten a good dump of the CHR yet.)
?
dump Fisher
User avatar
Fisher
Posts: 1249
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Susoft 5a clone?

Post by Fisher »

zxbdragon wrote:
Joe wrote:
zxbdragon wrote:virtuanes by temryu.rar
Can I see the source code?
Sorry about the big delay. There's no source.
I use an old pc motherboard with UniFlash: www.rainbow-software.org/uniflash/
Well... UniFlash's source is in the above site, but I have not changed it, I'm using its default latest version.
The motherboard is a PCChips M748.
I start DOS, hotswap the ROM and do a BIOS backup.
I asked the rom because it's using 28 pins chips, and I would like to have a reference to compare my results.
To flash a my repros I use a similar approach, most of the time works like a charm ;-)
To dump the PRG I lifted the IC pin 22 and wired it to the socket's pin 2. The socket is 32 pin.
Just wanted to be sure it was the correct thing I should do in this case.
Joe
Posts: 650
Joined: Mon Apr 01, 2013 11:17 pm

Re: Susoft 5a clone?

Post by Joe »

I think there's been a bit of a misunderstanding. Let me try to clear that up...


zxbdragon: Where is the VirtuaNESex source? I would like to check the mapper code.


Fisher: The PRG portion of the ROM provided by zxbdragon is the PRG ROM you dumped. I'm not sure where the CHR came from, since your dump was bad. It's not useful as a check of your dumping process, but I've examined the ROM and it appears to be a good dump. There are no unexplained differences between your dump of the (pirate) PRG ROM and the original (not pirate) PRG ROM. All that's missing now is the CHR ROM. I don't expect it to be different from the original, but I'd like to verify.

Using a motherboard to dump ROMs is a pretty neat trick, and it sounds like you've done everything correctly. I'm guessing the connection between IC pin 22 and socket pin 2 isn't always very good, which is why your attempt at redumping the CHR ROM didn't work out. I'm sure if you try one or two more times you'll be able to get a good dump.
User avatar
Fisher
Posts: 1249
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Susoft 5a clone?

Post by Fisher »

Joe: Sorry to have misunderstood, and even confused you with zxbdragon... that was not my intention. :oops:
As soon as I have a little more spare time I'll redump it a couple of more times to be sure it's correct.
The motherboard trick, although a bit limited, seemed to me easier than build some kind of complicated dumper :-)
I just used what I had laying around :lol:

l_oliveira: that search tip worked like a charm on Nes Cart db!! Thanks!!
zxbdragon
Posts: 498
Joined: Mon Dec 12, 2011 8:15 pm

Re: Susoft 5a clone?

Post by zxbdragon »

Game MAPPER information is not confirmed. Waiting for Fisher video
Joe
Posts: 650
Joined: Mon Apr 01, 2013 11:17 pm

Re: Susoft 5a clone?

Post by Joe »

zxbdragon wrote:Game MAPPER information is not confirmed.
I have reverse-engineered the mapper circuit. I can confirm any questions you have. That is why I would like to see the source.
zxbdragon
Posts: 498
Joined: Mon Dec 12, 2011 8:15 pm

Re: Susoft 5a clone?

Post by zxbdragon »

Joe wrote:
zxbdragon wrote:Game MAPPER information is not confirmed.
I have reverse-engineered the mapper circuit. I can confirm any questions you have. That is why I would like to see the source.
update code to GitHub

https://github.com/dragon2snow/fceux-dump-project
Joe
Posts: 650
Joined: Mon Apr 01, 2013 11:17 pm

Re: Susoft 5a clone?

Post by Joe »

th2131-1.cpp wrote:

Code: Select all

static int32 IRQCount;

case 0xF000: IRQa = 0; X6502_IRQEnd(FCEU_IQEXT); break;
case 0xF001: IRQa = 1; X6502_IRQEnd(FCEU_IQEXT);  break;
case 0xF002: IRQCount &= 0xFF00; IRQCount |= V; break;
case 0xF003:  IRQCount &= 0x00FF; IRQCount |= V << 8; break;

void UNLTh21311IRQHook(int a) {
	if (IRQa) {
		IRQCount -= a;
		if (IRQCount <= 0) {
			X6502_IRQBegin(FCEU_IQEXT); IRQa = 0; IRQCount = 0xFFFF;
		}
	}
}
That code is wrong. Please try this:

Code: Select all

static uint16 IRQCountLow;
static uint8 IRQCountHigh;

case 0xF000: IRQa = 0; IRQCountLow = 0; X6502_IRQEnd(FCEU_IQEXT); break;
case 0xF001: IRQa = 1; if (IRQCountHigh == 0 && IRQCountLow < 2048) X6502_IRQBegin(FCEU_IQEXT); break;
// 0xF002 does not exist
case 0xF003: IRQCountHigh = V >> 4; break;

void UNLTh21311IRQHook(int a) {
	if (IRQa) {
		if(IRQCountLow < 2048 && IRQCountLow + a >= 2048) {
			IRQCountHigh = (IRQCountHigh - 1) & 0xF;
			X6502_IRQEnd(FCEU_IQEXT);
		}
		IRQCountLow += a;
		if (IRQCountLow >= 4096) {
			IRQCountLow -= 4096;
			if (IRQCountHigh == 0) {
				X6502_IRQBegin(FCEU_IQEXT);
			}
		}
	}
}
I'm not 100% certain how IRQ timing works in fceux, so this might be off by one.
zxbdragon
Posts: 498
Joined: Mon Dec 12, 2011 8:15 pm

Re: Susoft 5a clone?

Post by zxbdragon »

Joe wrote:
th2131-1.cpp wrote:

Code: Select all

static int32 IRQCount;

case 0xF000: IRQa = 0; X6502_IRQEnd(FCEU_IQEXT); break;
case 0xF001: IRQa = 1; X6502_IRQEnd(FCEU_IQEXT);  break;
case 0xF002: IRQCount &= 0xFF00; IRQCount |= V; break;
case 0xF003:  IRQCount &= 0x00FF; IRQCount |= V << 8; break;

void UNLTh21311IRQHook(int a) {
	if (IRQa) {
		IRQCount -= a;
		if (IRQCount <= 0) {
			X6502_IRQBegin(FCEU_IQEXT); IRQa = 0; IRQCount = 0xFFFF;
		}
	}
}
That code is wrong. Please try this:

Code: Select all

static uint16 IRQCountLow;
static uint8 IRQCountHigh;

case 0xF000: IRQa = 0; IRQCountLow = 0; X6502_IRQEnd(FCEU_IQEXT); break;
case 0xF001: IRQa = 1; if (IRQCountHigh == 0 && IRQCountLow < 2048) X6502_IRQBegin(FCEU_IQEXT); break;
// 0xF002 does not exist
case 0xF003: IRQCountHigh = V >> 4; break;

void UNLTh21311IRQHook(int a) {
	if (IRQa) {
		if(IRQCountLow < 2048 && IRQCountLow + a >= 2048) {
			IRQCountHigh = (IRQCountHigh - 1) & 0xF;
			X6502_IRQEnd(FCEU_IQEXT);
		}
		IRQCountLow += a;
		if (IRQCountLow >= 4096) {
			IRQCountLow -= 4096;
			if (IRQCountHigh == 0) {
				X6502_IRQBegin(FCEU_IQEXT);
			}
		}
	}
}
I'm not 100% certain how IRQ timing works in fceux, so this might be off by one.
You know, why would you want me to be wrong? Humiliate me?
Joe
Posts: 650
Joined: Mon Apr 01, 2013 11:17 pm

Re: Susoft 5a clone?

Post by Joe »

I don't want you to be wrong. I want the emulator to be right.
User avatar
Fisher
Posts: 1249
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Susoft 5a clone?

Post by Fisher »

Sorry for the long delayed answer.
I managed to redump Batman J's CHR.
Since I have done 3 times and got the same results, I'll assume it's a good dump.
I choose to name the ROM as the chip, to avoid confusion (at last to me :-)).
The video is going to be delayed a bit more, since I'm having a huge fight with my capture card!! :-b

I have found another pirate game board. It was in very bad condition.
I disassembled, cleaned and dumped it, but it didn't work on any emulator I have tried. Mostly because the PRG ROM is bad, but it can be another modified mapper.
The original game is a MMC1 game. It's using a supposedly clone, labelled 9121, but it has some weird connections to the NES' CIC.
I'll reassemble it. If it works, probably it's a custom or modified mapper, or I did another bad dump :-(
Think it's better to create a new thread to discuss it...

Again, thanks to everybody, I'm having fun and learning a lot in the process!!
Attachments
ND941-C.BIN
Pirate Batman J CHR
(128 KiB) Downloaded 655 times
Joe
Posts: 650
Joined: Mon Apr 01, 2013 11:17 pm

Re: Susoft 5a clone?

Post by Joe »

Thanks for the redump! It looks like the pirates didn't modify the CHR at all. I wasn't expecting to see any differences, but it's nice to have confirmation.

I can't wait to see the next pirate board. :mrgreen:
User avatar
Fisher
Posts: 1249
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Susoft 5a clone?

Post by Fisher »

I have just created a new thread.
Just this time I created in "NES Hardware and Flash Equipment".
I thought it would be in a more correct place, since I'm just "resurrecting" that old cart!! :lol:
viewtopic.php?f=9&t=13331
zxbdragon
Posts: 498
Joined: Mon Dec 12, 2011 8:15 pm

Re: Susoft 5a clone?

Post by zxbdragon »

Fisher wrote:I have just created a new thread.
Just this time I created in "NES Hardware and Flash Equipment".
I thought it would be in a more correct place, since I'm just "resurrecting" that old cart!! :lol:
viewtopic.php?f=9&t=13331
I can't wait to see the next have 4020b pirate board
alphamule
Posts: 62
Joined: Fri Aug 29, 2014 1:45 pm

Re: Susoft 5a clone?

Post by alphamule »

I guess we call this the 23C269 or TH2131 mapper? Since it's not strictly VRC 2/4. :/
Idealogical
From: I have an idea. It seems logical. Thus everyone must agree.

Fail, fail, fail again. Keep trying, then maybe this damn thing will work. Eventually you might even know why it worked.
Post Reply