Help to dump rare 82 in 1 Chinese cartridge.

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderator: Moderators

zxbdragon
Posts: 498
Joined: Mon Dec 12, 2011 8:15 pm

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by zxbdragon »

krzysiobal wrote:I've just added mapper63 definition to FCEUX in the way I described it and all games works, so maybe your mapper 63 in nestopia is invalid.
Image Image Image Image

BTW. It's first time I add mapper in FCEUX and I am not familiar with this SDK, for example I don't know how to add CHR-RAM protection.
Krzysiobal: I suspect that this cart uses A0 in the reset detection circuit...
I just think that the diode is to make quick discharge of capacitor after power switch.

I think refactoring mapper 63(nestopia),thank you !
flaviocaste
Posts: 16
Joined: Tue Aug 15, 2017 1:07 pm

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by flaviocaste »

lidnariq wrote:
krzysiobal wrote:Maybe LS series (74LS174) does not have clamp diodes or maybe not to risk high current flow over internal chip protecting diodes (it's electrolite cap so it can store quite lot of energy).
Well, then, why is it electrolytic? There's no need for the >1ms time constant if it's just to make sure that the pin is low on first power-up.

... Actually, though, the right answer is to just ask flaviocaste whether the multicart goes back to the menu when he hits the reset button.
Unfortunately I do not have the console, as I remember, at 25 years ago the reset returned in the selection menu, so I understand I need a new mapper to run all the games?

Ps. If you are interested, in the end I can send the cartridge so that they can test it.

Thanks.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by lidnariq »

Well, if you'd rather, you could just check for continuity on the other pins. I strongly suspect A0 connects to one side of the diode.

But I think I'm comfortable with "memory of going back to the menu on reset AND presence of diode-capacitor AND no connection to M2 implies reset detection circuit on A0"
flaviocaste
Posts: 16
Joined: Tue Aug 15, 2017 1:07 pm

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by flaviocaste »

lidnariq wrote:Well, if you'd rather, you could just check for continuity on the other pins. I strongly suspect A0 connects to one side of the diode.

But I think I'm comfortable with "memory of going back to the menu on reset AND presence of diode-capacitor AND no connection to M2 implies reset detection circuit on A0"
The only points that have connection to the diode are the two small ICs (red dots)
IMG-20170816-WA0044.jpg
zxbdragon
Posts: 498
Joined: Mon Dec 12, 2011 8:15 pm

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by zxbdragon »

merge code,now mapper 63,working two pcb.
todo test;
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by lidnariq »

flaviocaste wrote:The only points that have connection to the diode are the two small ICs (red dots)
Uh.
What.
Not to any of the large ICs?

What does the other side of the diode connect to?
zxbdragon
Posts: 498
Joined: Mon Dec 12, 2011 8:15 pm

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by zxbdragon »

Mapper is very similar, but different

1.PRG logic same.
2.mirr logic different.(hardware runing Some games mirr are not correct)
3.menu logic different.
4.prg mask different.(0x7F or 0xFF)

Can be combined into a MAPPER, of course, if some precision, is defined as MAPPER 63.1
flaviocaste
Posts: 16
Joined: Tue Aug 15, 2017 1:07 pm

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by flaviocaste »

lidnariq wrote:
flaviocaste wrote:The only points that have connection to the diode are the two small ICs (red dots)
Uh.
What.
Not to any of the large ICs?

What does the other side of the diode connect to?
Yes, I tested the connection with all the pins on the board
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by lidnariq »

Anyway, the correct place to put this code in FCEUX is as part of addrlatch.cpp. Perhaps:

Code: Select all

//-------------- NCN-82 -----------------------

static void NCN82Sync(void) {
        setchr8(0);
        if (latche & 2) {
                setprg32(0x8000, latche >> 3);
        } else {
                setprg16(0x8000, latche >> 2);
                setprg16(0xC000, latche >> 2);
        }
        setmirror((latche & 1) ^ 1);
}

void Mapper63_Init(CartInfo *info) {
        Latch_Init(info, NCN82Sync, NULL,
                   0x0000, // initial value of latch
                   0x8000, 0xFFFF, // range of latch
                   0); // whether prg-ram provided
}
Plus a little help in ines.cpp.

FCEUX has no implementations of submappers yet; it looks like the Whatever_Init routine has to inspect the CartInfo structure to decide how to initialize the board.

FCEUX also doesn't seem to have any way to write-protect CHR-RAM either; the best it has is the PPUCHRRAM 8-bit bitmask which specifies whether any given 1024 B CHR bank is writeable or not. It's not directly addressable; instead the setchr8r(r,A,V) function consults the CHRram array to determine whether any given IC is always RAM (and writeable) or always ROM. If this matters, we'll either have to add new "setchrNx" functions to support the abstraction or break the abstraction with something like this:

Code: Select all

        if (CHRram[r] && (latche & 0x200)==0)
                PPUCHRRAM = 255;
        else
                PPUCHRRAM = 0;


I see now that the $F01A and $F01B banking writes are slightly trollish. "04 SUPER MARIO" and "74 FANCY MARIO" are the same PRG and CHR, just with different nametable layout. I don't suppose flaviocaste remembers whether the last nine games on the cart were "real"?
User avatar
krzysiobal
Posts: 1037
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland
Contact:

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by krzysiobal »

Anyway, the correct place to put this code in FCEUX is as part of addrlatch.cpp. Perhaps:
and the `addrlatch` with 0x1FF to clear the CHR-write protection bit.
FCEUX has no implementations of submappers yet; it looks like the Whatever_Init routine has to inspect the CartInfo structure to decide how to initialize the board.
Maybe that's how it was supposed to work. Anyway, don't forget to set amount of CHRRAM in ines 2.0 header, otherwise FCEUX crashes during quitting.
flaviocaste
Posts: 16
Joined: Tue Aug 15, 2017 1:07 pm

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by flaviocaste »

lidnariq wrote:Anyway, the correct place to put this code in FCEUX is as part of addrlatch.cpp. Perhaps:

Code: Select all

//-------------- NCN-82 -----------------------

static void NCN82Sync(void) {
        setchr8(0);
        if (latche & 2) {
                setprg32(0x8000, latche >> 3);
        } else {
                setprg16(0x8000, latche >> 2);
                setprg16(0xC000, latche >> 2);
        }
        setmirror((latche & 1) ^ 1);
}

void Mapper63_Init(CartInfo *info) {
        Latch_Init(info, NCN82Sync, NULL,
                   0x0000, // initial value of latch
                   0x8000, 0xFFFF, // range of latch
                   0); // whether prg-ram provided
}
Plus a little help in ines.cpp.

FCEUX has no implementations of submappers yet; it looks like the Whatever_Init routine has to inspect the CartInfo structure to decide how to initialize the board.

FCEUX also doesn't seem to have any way to write-protect CHR-RAM either; the best it has is the PPUCHRRAM 8-bit bitmask which specifies whether any given 1024 B CHR bank is writeable or not. It's not directly addressable; instead the setchr8r(r,A,V) function consults the CHRram array to determine whether any given IC is always RAM (and writeable) or always ROM. If this matters, we'll either have to add new "setchrNx" functions to support the abstraction or break the abstraction with something like this:

Code: Select all

        if (CHRram[r] && (latche & 0x200)==0)
                PPUCHRRAM = 255;
        else
                PPUCHRRAM = 0;


I see now that the $F01A and $F01B banking writes are slightly trollish. "04 SUPER MARIO" and "74 FANCY MARIO" are the same PRG and CHR, just with different nametable layout. I don't suppose flaviocaste remembers whether the last nine games on the cart were "real"?
I really do not remember this detail, about the above information, I do not understand the technical terms, do I need to do something else to run it well or just wait for a new version of FCEUX? Today I tested the rom in the Recalbox for raspberryPI3 and it did not work, there appeared a white screen, I changed the emulation core and run most games, except those that were reported here.
1503008523124959132552.jpg

Thanks.
zxbdragon
Posts: 498
Joined: Mon Dec 12, 2011 8:15 pm

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by zxbdragon »

nestopia working this rom! and other pcb rom.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by lidnariq »

For reference, what is the filename of the other Mapper 63 cart?
zxbdragon
Posts: 498
Joined: Mon Dec 12, 2011 8:15 pm

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by zxbdragon »

lidnariq wrote:For reference, what is the filename of the other Mapper 63 cart?
255-in-1 (as)
filipevillanova
Posts: 1
Joined: Sat Apr 04, 2020 10:13 am

Re: Help to dump rare 82 in 1 Chinese cartridge.

Post by filipevillanova »

Hello everybody.

Does someone have the working rom to post, plz?

I've tried to play the files in nestopia, but it didnt worked. I really dont know what to do with the 63.cpp in fceux :/

Thanks in advance!
Post Reply