After a lot of days spend on rev-in this based only on those diffrent angle photos, I got the following results, but I would like to ask for help rev-ing out the interrupt part as not all connections are probably OK (other parts are 100% certain)

PRG banking, CHR banking, mirroring works exactly the same way like in MMC3 (which is really rare), with the exception that bit 7 and bit 6 of bank select register are trated as if b7=0 (CHR A12 inversion off) and b6=1 ($C000-$DFFF swappable, $8000-$9FFF fixed to second-last bank), but I think original SMB3 always uses the configuration above. (I dont have access to ROM of this bootleg so I don't have idea if the game was modified and how much). I think that probably the game was not modified at all, that's why the mapper is so much similar to MMC3.

Now the tricky part - interrupts and counters. This probably does not work in the same way as in MMC3 because there is only one 8 bit counter (2x74191) which is both preloaded and counted down. But again, as I have observed, original SMB3 preloads IRQ counter every frame in NMI.

I have doubts if all connections of interrupt part are OK (other parts are 100% ok).Except those 2x74191 there is 4040 and 2x74393. Outputs of 4040 are connected to inputs of 7420 (those connections are certain).

I don't even know what is clocking this bootleg's counter. There is one modification on this PCB:

So they put R+C instead on PPU-!A12 (probably some kind of filter, maybe they wanted to filter out those 8 consecutive edges on PPU_A12) - i dont know value of C, only R can be read.

However, this filtered PPU-!A12 does not seem to be clocking the unit, it's probably ANDED with cpu-romsel (inverted cpu-!romsel from the connector) but this is not 100% sure as critical tracks are under chips and only deduction is available.

There is one modification on this PCB [...] So they put R+C instead on PPU-!A12 (probably some kind of filter, maybe they wanted to filter out those 8 consecutive edges on PPU_A12) - i dont know value of C, only R can be read.

That's a highpass filter, not a lowpass filter. Wouldn't be suitable for filtering a PPU signal to generate a clock per scanline.

Quote:

However, this filtered PPU-!A12 does not seem to be clocking the unit, it's probably ANDED with cpu-romsel (inverted cpu-!romsel from the connector)

I can't fathom any reason to AND /PPUA12 with /ROMSEL. The phase from sprite tile fetch to the next will end up clocking the counter one or two times:

I have this variant, if you're unsure about some traces I can check them with my multimeter. Also can dump it with kazzo. I *think* I tried at a point to dump it with MMC3_v2 but it didn't work? I need to check again.

Who is online

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum