reversing mapper268: coolboy/mindkids

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

Moderator: Moderators

User avatar
aquasnake
Posts: 515
Joined: Fri Sep 13, 2019 11:22 pm

reversing mapper268: coolboy/mindkids

Post by aquasnake »

i've almost done this reverse engineering from some modern multi-carts.

now pocketgames 150-in-1 works well.

except one game of super game 143-in-1 from mindkids, which is number 129: TETRIS1. i can't enter this game from the menu, it shows a black screen.

does anyone have time to help test this program for me?


(PS: mindkids or pocketgames the two trademarks are exectly from the same producer in Shenzhen China)
pakosup
Posts: 58
Joined: Mon Apr 24, 2017 10:23 pm

Re: reversing mapper268: coolboy/mindkids

Post by pakosup »

Its not clear what exactly has been reversed. I thought that fceux already has an exact implementation of coolboy mapper.
User avatar
aquasnake
Posts: 515
Joined: Fri Sep 13, 2019 11:22 pm

Re: reversing mapper268: coolboy/mindkids

Post by aquasnake »

3CCC903A-C03D-4303-9C1E-80FB3B5B39C4.jpeg
I cloned the total hardware and its mapper formation with my own physical hardware, so here is the running pic
User avatar
aquasnake
Posts: 515
Joined: Fri Sep 13, 2019 11:22 pm

Re: reversing mapper268: coolboy/mindkids

Post by aquasnake »

i have no idea whether mapper 268 could support MMC1, because the official "Tetris (U) [!].nes" is MMC1, its beyond the wiki description
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: reversing mapper268: coolboy/mindkids

Post by NewRisingSun »

Game #129, titled "TETRIS1", is Tengen's Tetris (mapper 3/148), not Nintendo's Tetris. At least in the ROM image that I have, PRG-ROM CRC32 4026EED1.
User avatar
aquasnake
Posts: 515
Joined: Fri Sep 13, 2019 11:22 pm

Re: reversing mapper268: coolboy/mindkids

Post by aquasnake »

i fixed the battery saving circuit, now all games do not share the very same domain of SRAM any more. each game with battery saving mode has an individal saving space
Last edited by aquasnake on Tue Jan 07, 2020 4:44 am, edited 1 time in total.
User avatar
aquasnake
Posts: 515
Joined: Fri Sep 13, 2019 11:22 pm

Re: reversing mapper268: coolboy/mindkids

Post by aquasnake »

NewRisingSun wrote: Tue Jan 07, 2020 1:37 am Game #129, titled "TETRIS1", is Tengen's Tetris (mapper 3/148), not Nintendo's Tetris. At least in the ROM image that I have, PRG-ROM CRC32 4026EED1.
thanks for providing this information,and how could mapper268 change into mapper3 mode? maybe it is still mapper4, through hacking mapper3 to mapper4
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: reversing mapper268: coolboy/mindkids

Post by NewRisingSun »

You mean, how was the game changed to work as MMC3? Not at all, it uses the mapper's "GNROM mode". The game's original CHR-ROM switch at $A7EB has been changed from "STA FFF6,X" (CNROM-latch) to "STA 5002" ("CHR offset for GNROM mode"). However, the game also has a number of garbage writes in the $6xxx range at $A7D2-$A7E4, and which must be ignored.

When emulating mapper 268, always emulate the mapper either the $5xxx or the $6000-$7FFF range, never in both. MINDKIDS needs only the $5xxx range. If you are now asking, "Well, then why do all those other games that write to $6000-$7FFF work with my hardware implementation, such as Zelda?", then the answer is: because they set the "lock" bit. But "lock" does not work in GNROM mode.
User avatar
aquasnake
Posts: 515
Joined: Fri Sep 13, 2019 11:22 pm

Re: reversing mapper268: coolboy/mindkids

Post by aquasnake »

NewRisingSun wrote: Tue Jan 07, 2020 2:04 am You mean, how was the game changed to work as MMC3? Not at all, it uses the mapper's "GNROM mode". The game's original CHR-ROM switch at $A7EB has been changed from "STA FFF6,X" (CNROM-latch) to "STA 5002" ("CHR offset for GNROM mode"). However, the game also has a number of garbage writes in the $6xxx range at $A7D2-$A7E4, and which must be ignored.

When emulating mapper 268, always emulate the mapper either the $5xxx or the $6000-$7FFF range, never in both. MINDKIDS needs only the $5xxx range. If you are now wasking, "Well, then why do all those other games that write to $6000-$7FFF work with my hardware implementation, such as Zelda?", then the answer is: because they set the "lock" bit. But "lock" does not work in GNROM mode.
thanks, i typed the wrong word, should be "mapper3".

i can enter other games of MMC3, only this one: Tetris
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: reversing mapper268: coolboy/mindkids

Post by NewRisingSun »

I don't understand your reply. Does your mapper hardware implementation respond to writes in both the $5xxx and $6000-$7FFF range, or only to writes in the $5xxx range?
User avatar
aquasnake
Posts: 515
Joined: Fri Sep 13, 2019 11:22 pm

Re: reversing mapper268: coolboy/mindkids

Post by aquasnake »

NewRisingSun wrote: Tue Jan 07, 2020 2:12 am I don't understand your reply. Does your mapper hardware implementation respond to writes in both the $5xxx and $6000-$7FFF range, or only to writes in the $5xxx range?
i mean i can play other games except #129, i dont konow which this mapper is.

yes!!! you probably pointed out the reason, my code unifies both coolboy and mindkids:

Code: Select all

if (cpu_addr_in[14:12] == 3'b101 || cpu_addr_in[14:12] == 3'b110) // $5000-6FFF
NewRisingSun
Posts: 1510
Joined: Thu May 19, 2005 11:30 am

Re: reversing mapper268: coolboy/mindkids

Post by NewRisingSun »

That is the reason the game cannot work --- you should not unify the mappers. Emulate either Coolboy or Mindkids, never both at the same time.
User avatar
aquasnake
Posts: 515
Joined: Fri Sep 13, 2019 11:22 pm

Re: reversing mapper268: coolboy/mindkids

Post by aquasnake »

Thank you @NewRisingSun again, Tetris(Tengen Version) works now.
User avatar
Ben Boldt
Posts: 1149
Joined: Tue Mar 22, 2016 8:27 pm
Location: Minnesota, USA

Re: reversing mapper268: coolboy/mindkids

Post by Ben Boldt »

aquasnake wrote: Tue Jan 07, 2020 1:47 am i fixed the battery saving circuit, now all games do not share the very same domain of SRAM any more. each game with battery saving mode has an individal saving space
How on earth did you do that? Are you talking about a cart or emulation?
User avatar
aquasnake
Posts: 515
Joined: Fri Sep 13, 2019 11:22 pm

Re: reversing mapper268: coolboy/mindkids

Post by aquasnake »

Ben Boldt wrote: Tue Jan 07, 2020 12:02 pm
aquasnake wrote: Tue Jan 07, 2020 1:47 am i fixed the battery saving circuit, now all games do not share the very same domain of SRAM any more. each game with battery saving mode has an individal saving space
How on earth did you do that? Are you talking about a cart or emulation?
i have 512KB PRG-RAM in my cart
Post Reply