Help to dump rare 82 in 1 Chinese cartridge.

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Help to dump rare 82 in 1 Chinese cartridge.
by on (#202589)
Hi, I bought the Kazzo cartridge "INL Retro" Dumper-Programmer to dump a 82 in 1 Chinese cart but I'm having trouble,
all the scripts I tested with Anago did not work, sorry for the lack of knowledge about it, it goes on Attach the photo of
the cartridge and the board. Thank you.


Game selection menu: ( youtube )

https://www.youtube.com/watch?v=uOhE7UNCNXk

Cart Photos :

Attachment:
IMG-20170815-WA0041[1].jpg
IMG-20170815-WA0041[1].jpg [ 126.16 KiB | Viewed 2247 times ]


Attachment:
IMG-20170815-WA0039[1].jpg
IMG-20170815-WA0039[1].jpg [ 114.79 KiB | Viewed 2247 times ]


Attachment:
IMG-20170815-WA0043[1].jpg
IMG-20170815-WA0043[1].jpg [ 105.66 KiB | Viewed 2245 times ]


Attachment:
IMG-20170815-WA0045[1].jpg
IMG-20170815-WA0045[1].jpg [ 151.08 KiB | Viewed 2245 times ]
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202603)
What exactly makes this cartridge "rare"? Just curious.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202604)
tokumaru wrote:
What exactly makes this cartridge "rare"? Just curious.


I played it in my childhood and spent a long time looking for a rom to download or get a cartridge, after two years I managed to find one on e-bay.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202605)
To dump the cartridge, we need to know the same information one would need to emulate it.

Pictures of the front and back of PCB would be a good starting point. For the side with the ICs, multiple angles such that we can see what traces go to what pins would be nice. Depending, the pictures may not be good enough, and you may need to sit down with a continuity meter and figure out which pins on the small ICs in the corner go to what pins on the cartridge connector and/or large ICs.

With the parts on that board— Two 74LS174s, a 74LS139, a 74LS153, and a 74LS32—we can be assured that this is yet another one of the multicarts that support 16K/32K games and switchable mirroring.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202608)
like mapper 63.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202611)
lidnariq wrote:
To dump the cartridge, we need to know the same information one would need to emulate it.

Pictures of the front and back of PCB would be a good starting point. For the side with the ICs, multiple angles such that we can see what traces go to what pins would be nice. Depending, the pictures may not be good enough, and you may need to sit down with a continuity meter and figure out which pins on the small ICs in the corner go to what pins on the cartridge connector and/or large ICs.

With the parts on that board— Two 74LS174s, a 74LS139, a 74LS153, and a 74LS32—we can be assured that this is yet another one of the multicarts that support 16K/32K games and switchable mirroring.



Attachment:
20170815_212856.jpg
20170815_212856.jpg [ 1.8 MiB | Viewed 2191 times ]


Attachment:
20170815_212917.jpg
20170815_212917.jpg [ 1.94 MiB | Viewed 2191 times ]
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202612)
zxbdragon wrote:
like mapper 63.



I did not find this script to download, could give me instructions on how to do it. thank you.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202613)
You read first 32K data and upload.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202614)
Unfortunately, too many traces are hidden under the ICs for me to be able to deduce the function of that board from just pictures.

What I can tell:
* Only ten of the twelve bits of storage in the latches are connected
* The latches are cleared on reset
* The 74'153 is used to select between 16K/32K games and between H/V nametable layout.

If both ROMs are 1 MiB, and only ten bits are present in the banking register, then seven bits select which 16K PRG bank, one selects PRG bank size, one selects H/V nametable layout, and the one remaining one ... who knows. Possibly UNROM layout, given the 74'32.

Odds are good that you could just use a Kazoo script that was shaped something like
Code:
function cpu_dump(d, pagesize, banksize) {
   for(local i = 0; i < 1024; i += 1){
      cpu_write(d, 0x8000|i, i);
      cpu_read(d, 0x8000, 16384);
   }
}
and then just have to figure out how to re-shuffle the resultant 16MiB dump to extract the actual 2 MiB of data.


Alternatively, use a continuity meter to figure out which address pins on the ICs labeled "NCN-82" connect to which pins on the small ICs.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202615)
zxbdragon wrote:
You read first 32K data and upload.


I'm sorry but I do not know how to do it, and which script to use. thank you.

Attachment:
Untitled-1.jpg
Untitled-1.jpg [ 78.17 KiB | Viewed 2176 times ]
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202617)
flaviocaste wrote:
zxbdragon wrote:
You read first 32K data and upload.


I'm sorry but I do not know how to do it, and which script to use. thank you.

Attachment:
Untitled-1.jpg

cnrom.ad
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202619)
lidnariq wrote:
Unfortunately, too many traces are hidden under the ICs for me to be able to deduce the function of that board from just pictures.

What I can tell:
* Only ten of the twelve bits of storage in the latches are connected
* The latches are cleared on reset
* The 74'153 is used to select between 16K/32K games and between H/V nametable layout.

If both ROMs are 1 MiB, and only ten bits are present in the banking register, then seven bits select which 16K PRG bank, one selects PRG bank size, one selects H/V nametable layout, and the one remaining one ... who knows. Possibly UNROM layout, given the 74'32.

Odds are good that you could just use a Kazoo script that was shaped something like
Code:
function cpu_dump(d, pagesize, banksize) {
   for(local i = 0; i < 1024; i += 1){
      cpu_write(d, 0x8000|i, i);
      cpu_read(d, 0x8000, 16384);
   }
}
and then just have to figure out how to re-shuffle the resultant 16MiB dump to extract the actual 2 MiB of data.


Alternatively, use a continuity meter to figure out which address pins on the ICs labeled "NCN-82" connect to which pins on the small ICs.


Thanks for the answer, according to the image, I mapped the connections between the NCN ICs for the smaller ICs, I do not know how to edit the scripts, if you can send me, I'll be grateful. (Sorry for the ugly connection lines).
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202620)
zxbdragon wrote:
flaviocaste wrote:
zxbdragon wrote:
You read first 32K data and upload.


I'm sorry but I do not know how to do it, and which script to use. thank you.

Attachment:
The attachment Untitled-1.jpg is no longer available

cnrom.ad



I took the test and the message appeared:

Attachment:
screen.jpg
screen.jpg [ 88.83 KiB | Viewed 2138 times ]



Apparently the kazoo driver is installed correctly:

Attachment:
Untitled-2.jpg
Untitled-2.jpg [ 116.2 KiB | Viewed 2138 times ]
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202621)
You'll need to flash the original kazzo firmware onto the device as explained in the readme. You've got my firmware installed which is focused on flashing operations.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202622)
Easy things first:

What you've traced shows this functionality:
Code:
           +--------+++- not yet known
           |        |||
 A~[1... ..up PPPP Puuu]
            | |||| |
            | ++++-+---- 32KB PRG slice (i.e. ROM A15 through A19)
            +----------- very likely A20 = ROM1 vs ROM2


The remaining functions must exist in the remaining four bits:
1- one bit must select between H/V nametable layout. This will be which of the pins on the two GD74LS174s connects to "pin 2" on the 74LS153.
2- one bit must disable writes to the HY6264 RAM. This will be which of the pins on the two GDLS174s connect to ... some of the pins on the 74LS32.
3- one bit must select between 16K and 32K PRG. This will be which of the pins on the two GD74LS174s connects to "pin 14" on the 74LS153.
4- one bit must select between the upper and lower half when in 16K PRG mode. This will be two of pins 3-6 on the 74LS153.

Either way, one of these two kazoo fragments should give you a valid dump:
Code:
 board <- {
   mappernum = 100, /* Note: No mapper yet assigned to this board. 100 is just a "known bad" value. */
   cpu_rom = {
      size_base = 16 * mega, size_max = 16 * mega, banksize = 0x8000
   },
   ppu_rom = {
      size_base = 0, size_max = 0, banksize = 0
   },
   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*8), i);
    cpu_read(d, 0x8000, 0x4000);
    cpu_read(d, 0xc000, 0x4000);
  }
}

OR
Code:
 // Same as above, but change the similar line to:
    cpu_write(d, 0x8207|(i*8), i);
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202628)
みなさんが積極的な発言をしてくれていて作者だった私はとてもうれしい.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202645)
lidnariq wrote:
Easy things first:

What you've traced shows this functionality:
Code:
           +--------+++- not yet known
           |        |||
 A~[1... ..up PPPP Puuu]
            | |||| |
            | ++++-+---- 32KB PRG slice (i.e. ROM A15 through A19)
            +----------- very likely A20 = ROM1 vs ROM2


The remaining functions must exist in the remaining four bits:
1- one bit must select between H/V nametable layout. This will be which of the pins on the two GD74LS174s connects to "pin 2" on the 74LS153.
2- one bit must disable writes to the HY6264 RAM. This will be which of the pins on the two GDLS174s connect to ... some of the pins on the 74LS32.
3- one bit must select between 16K and 32K PRG. This will be which of the pins on the two GD74LS174s connects to "pin 14" on the 74LS153.
4- one bit must select between the upper and lower half when in 16K PRG mode. This will be two of pins 3-6 on the 74LS153.

Either way, one of these two kazoo fragments should give you a valid dump:
Code:
 board <- {
   mappernum = 100, /* Note: No mapper yet assigned to this board. 100 is just a "known bad" value. */
   cpu_rom = {
      size_base = 16 * mega, size_max = 16 * mega, banksize = 0x8000
   },
   ppu_rom = {
      size_base = 0, size_max = 0, banksize = 0
   },
   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*8), i);
    cpu_read(d, 0x8000, 0x4000);
    cpu_read(d, 0xc000, 0x4000);
  }
}

OR
Code:
 // Same as above, but change the similar line to:
    cpu_write(d, 0x8207|(i*8), i);



First of all thanks to all who helped, I changed the firmware and was able to do the dump by creating a script with the above codes,
a 2Mb file was generated but when trying to emulate it the following error appeared:

Attachment:
Untitled-21.jpg
Untitled-21.jpg [ 130.66 KiB | Viewed 1561 times ]


Ps.
I tried the mapper 63 and it did not work too

Following is the files generated with the two passages of code "Cpu write"

Attachment:
82in1.nes [2 MiB]
Downloaded 127 times


Attachment:
82in1_.nes [2 MiB]
Downloaded 118 times
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202648)
What do you think about it? Just wild guess.

Image Image

Code:
 A~[1... ..wP PPPP PPMm]
           || |||| ||||
           || |||| |||+-- mirroring (0=V, 1=H)
           || |||| ||+-- PRG mode (0=16K, 1=32K)
           |+-++++-++--- PRG bank (lowest bit ignored in 32K mode)
           +------------ CHR-RAM write protection (0=disabled, 1=enabled)

Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202649)
flaviocaste wrote:
lidnariq wrote:
Easy things first:

What you've traced shows this functionality:
Code:
           +--------+++- not yet known
           |        |||
 A~[1... ..up PPPP Puuu]
            | |||| |
            | ++++-+---- 32KB PRG slice (i.e. ROM A15 through A19)
            +----------- very likely A20 = ROM1 vs ROM2


The remaining functions must exist in the remaining four bits:
1- one bit must select between H/V nametable layout. This will be which of the pins on the two GD74LS174s connects to "pin 2" on the 74LS153.
2- one bit must disable writes to the HY6264 RAM. This will be which of the pins on the two GDLS174s connect to ... some of the pins on the 74LS32.
3- one bit must select between 16K and 32K PRG. This will be which of the pins on the two GD74LS174s connects to "pin 14" on the 74LS153.
4- one bit must select between the upper and lower half when in 16K PRG mode. This will be two of pins 3-6 on the 74LS153.

Either way, one of these two kazoo fragments should give you a valid dump:
Code:
 board <- {
   mappernum = 100, /* Note: No mapper yet assigned to this board. 100 is just a "known bad" value. */
   cpu_rom = {
      size_base = 16 * mega, size_max = 16 * mega, banksize = 0x8000
   },
   ppu_rom = {
      size_base = 0, size_max = 0, banksize = 0
   },
   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*8), i);
    cpu_read(d, 0x8000, 0x4000);
    cpu_read(d, 0xc000, 0x4000);
  }
}

OR
Code:
 // Same as above, but change the similar line to:
    cpu_write(d, 0x8207|(i*8), i);



First of all thanks to all who helped, I changed the firmware and was able to do the dump by creating a script with the above codes,
a 2Mb file was generated but when trying to emulate it the following error appeared:

Attachment:
The attachment Untitled-21.jpg is no longer available


Ps.
I tried the mapper 63 and it did not work too

Following is the files generated with the two passages of code "Cpu write"

Attachment:
The attachment 82in1.nes is no longer available


Attachment:
The attachment 82in1_.nes is no longer available



82in1_.nes [2 MiB] is ok. change mapper 100 to mapper 63 ,working nestopia,same game not working ,60.64...
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202651)
krzysiobal wrote:
What do you think about it? Just wild guess.

Image Image

Code:
 A~[1... ..wP PPPP PPMm]
           || |||| ||||
           || |||| |||+-- mirroring (0=V, 1=H)
           || |||| ||+-- PRG mode (0=16K, 1=32K)
           |+-++++-++--- PRG bank (lowest bit ignored in 32K mode)
           +------------ CHR-RAM write protection (0=disabled, 1=enabled)



For me it looks like a professional job !

Thank you.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202652)
zxbdragon wrote:
flaviocaste wrote:
lidnariq wrote:
Easy things first:

What you've traced shows this functionality:
Code:
           +--------+++- not yet known
           |        |||
 A~[1... ..up PPPP Puuu]
            | |||| |
            | ++++-+---- 32KB PRG slice (i.e. ROM A15 through A19)
            +----------- very likely A20 = ROM1 vs ROM2


The remaining functions must exist in the remaining four bits:
1- one bit must select between H/V nametable layout. This will be which of the pins on the two GD74LS174s connects to "pin 2" on the 74LS153.
2- one bit must disable writes to the HY6264 RAM. This will be which of the pins on the two GDLS174s connect to ... some of the pins on the 74LS32.
3- one bit must select between 16K and 32K PRG. This will be which of the pins on the two GD74LS174s connects to "pin 14" on the 74LS153.
4- one bit must select between the upper and lower half when in 16K PRG mode. This will be two of pins 3-6 on the 74LS153.

Either way, one of these two kazoo fragments should give you a valid dump:
Code:
 board <- {
   mappernum = 100, /* Note: No mapper yet assigned to this board. 100 is just a "known bad" value. */
   cpu_rom = {
      size_base = 16 * mega, size_max = 16 * mega, banksize = 0x8000
   },
   ppu_rom = {
      size_base = 0, size_max = 0, banksize = 0
   },
   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*8), i);
    cpu_read(d, 0x8000, 0x4000);
    cpu_read(d, 0xc000, 0x4000);
  }
}

OR
Code:
 // Same as above, but change the similar line to:
    cpu_write(d, 0x8207|(i*8), i);



First of all thanks to all who helped, I changed the firmware and was able to do the dump by creating a script with the above codes,
a 2Mb file was generated but when trying to emulate it the following error appeared:

Attachment:
Untitled-21.jpg


Ps.
I tried the mapper 63 and it did not work too

Following is the files generated with the two passages of code "Cpu write"

Attachment:
82in1.nes


Attachment:
82in1_.nes



82in1_.nes [2 MiB] is ok. change mapper 100 to mapper 63 ,working nestopia,same game not working ,60.64...



It worked perfectly with nestopia 1.40, thanks to all who have helped and forgive my lack of knowledge.
This rom is not available on the internet, if it is convenient we can divulge it.

Thank you.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202654)
Quote:


82in1_.nes [2 MiB] is ok. change mapper 100 to mapper 63 ,working nestopia,same game not working ,60.64...



It worked perfectly with nestopia 1.40, thanks to all who have helped and forgive my lack of knowledge.
This rom is not available on the internet, if it is convenient we can divulge it.

Thank you.[/quote]

perfectly? nono,try 60,64 game.ninja?
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202656)
zxbdragon wrote:
Quote:


82in1_.nes [2 MiB] is ok. change mapper 100 to mapper 63 ,working nestopia,same game not working ,60.64...



It worked perfectly with nestopia 1.40, thanks to all who have helped and forgive my lack of knowledge.
This rom is not available on the internet, if it is convenient we can divulge it.

Thank you.


perfectly? nono,try 60,64 game.ninja?[/quote]


I did the dump with mapper 60,64 and it appeared "CPU Jam" in the nestopia,
the only mapper that showed the menu of the game was 63.

Attachment:
Untitled-1.jpg
Untitled-1.jpg [ 81.98 KiB | Viewed 1537 times ]


Thanks.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202657)
He meant that you should try to play game #60 or #64 and see if they boot up or softlock.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202658)
MLX wrote:
He meant that you should try to play game #60 or #64 and see if they boot up or softlock.



Really, 60,64 does not start, is there anything we can do?


Thanks.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202659)
Krzysiobal: I suspect that this cart uses A0 in the reset detection circuit...


Cart's menu is first 16 KiB. If registers are cleared on power-up, then whichever bit that is must go 0:16K NROM and 1:32K NROM
Found a stub (at ROM offset 0x0127) that copies CHR from PRG to PPU.
Found a table at ROM offset 0x306 that appears to be the lower 8 bits of what's written to get the bank that contains CHR. (Bottom 2 bits always 0) Upper 8 bits are always $F1. Writes to $F000 to switch back to the menu.
Found a table at ROM offset 0x0358 that is the upper 8 bits of the CPU address to copy CHR from.
Found a table at offset 0x03AA that is the series of 16-bit (big-endian) words written to the banking register to switch into game ... except that the loader adds 0x200 to the address.

Both $F01A and $F01B appear in the table, implying to me that the A0 bit (&1) becomes PRG A14 and the A2 bit (&4) A1 controls 16K vs 32K. Leaving A1 A2 for mirroring control.


flaviocaste: We'll probably need to allocate a new (UNIF/NES2) mapper for it.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202661)
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.

Quote:
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.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202662)
No, no, this cart isn't mapper 63. That's just another mapper that zxbdragon observed is extremely similar.



Quote:
I just think that the diode is to make quick discharge of capacitor after power switch.
Why would it need the diode at all in that case? The overvoltage protection diodes in the various parts will discharge the capacitor on power failure quite quickly.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202663)
Quote:
Why would it need the diode at all in that case? The overvoltage protection diodes in the various parts will discharge the capacitor on power failure quite quickly.

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).

I know one famous famiclone multicart (5-in-1 Codemasters's BIC) which has similar reset circuit but without diode installed (there is place for diode to be soldered) and it does not start properly on every console power up.

---

I think there are only clamp diodes to the ground, but not to VCC in LS chips - one guy decapped a lot of 74 chips from different families and rev-ed schematics. Only in CMOS (HC) there are clamp diodes to VCC and GND.
https://project5474.org/index.php?title=02
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202664)
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.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202665)
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.

Quote:
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 !
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202666)
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.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202667)
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"
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202669)
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)

Attachment:
IMG-20170816-WA0044.jpg
IMG-20170816-WA0044.jpg [ 114.42 KiB | Viewed 1917 times ]
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202670)
merge code,now mapper 63,working two pcb.
todo test;
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202672)
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?
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202676)
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
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202688)
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
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202698)
Anyway, the correct place to put this code in FCEUX is as part of addrlatch.cpp. Perhaps:
Code:
//-------------- 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:
        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"?
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202699)
Quote:
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.

Quote:
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.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202703)
lidnariq wrote:
Anyway, the correct place to put this code in FCEUX is as part of addrlatch.cpp. Perhaps:
Code:
//-------------- 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:
        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.

Attachment:
1503008523124959132552.jpg
1503008523124959132552.jpg [ 3.07 MiB | Viewed 1789 times ]



Thanks.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202710)
nestopia working this rom! and other pcb rom.
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202748)
For reference, what is the filename of the other Mapper 63 cart?
Re: Help to dump rare 82 in 1 Chinese cartridge.
by on (#202751)
lidnariq wrote:
For reference, what is the filename of the other Mapper 63 cart?

255-in-1 (as)