logoUnique visits: 7975
Can you help getting more info about those carts?
Cart name
Notes for chip search:
  • Use "+" as delimeter for all fields (except "cart name", where space is used); if many values are entered, all of them must appear in the cartridge then; case is not sensitive
  • "Mapper" is the actual mapper used by this cartridge hardware (might not match the one at wiki.nesdev.com, as at the moment I was analyzing this cartridge, there was no mapper assigned to it, so I had to assign my own number for testing)
  • "Original mapper" is the mapper used by licensed version of this game (for multicarts, it refers to mapper of the inside games, so 0+2 means this cartridge can run NROM+UNROM games)
  • Order in which you put values doesn't matter (you can write 7400+74138+7400 or 7400+7400+74138 to search for a cartridge that contains at least two 7400 chips and one 74138
  • Some chips (like PAL16*8) appear in cartridges as 16V8 or 16L8, so be sure to check both posibilities
  • Same goes for memories - type 27F080 to search for 32 pin memories, 27512 for 28 pin with two chip enables or MASKROM_1M_DIP28 for 28 pin with one chip enable
  • Same goes for mappers - some examples: AX5904(MMC1), AX5202P(MMC3), PT8154BM (9112MMC3), AX5208C(VRC4), 23C3662(VRC2)
  • Good news is that you can use wildcards, so 74139+*MMC3* will search for any cartrige that has at least one 74139 and MMC3 chip in any version
Mapper#
Original mapper#
PCB marks
Tags
Chips
Fuzhou Coolboy
Typesingle
Mapper
Original mapper
PCB marksFS006V3
Tags:
Uploaded:2023-02-04 09:29:18

Elements:
NameValue
IC162256
IC262256
IC329LV160/320/640
IC429LV160/320/640
IC5DIL64
BAT1CR2032
C1?
CART1FAMICOM_CART
D1
D2
D3-
D4-
JP1CLS
R12.2k
R210k
TP1TP
TP10TP
TP11TP
TP12TP
TP13
TP14
TP15TP
TP16TP
TP17TP
TP18TP
TP19TP
TP2TP
TP3TP
TP4TP
TP5TP
TP6TP
TP7TP
TP8TP
TP9TP

Chip signature:
62256+62256+29LV160/320/640+29LV160/320/640+DIL64

PCB top:

PCB bottom:

Shell top:


Shell bottom:

Screenshoots:

Extra info:
There was some horrible soldering of the chips, after applying fresh tin, it started to work.
The PCB is capable of supporting up to 1MB PRG and 512 kB CHR,
though only 512 kB PRG and 256 kB CHR are soldered.
It's basically MMC3 with some enhancement. When it detects no activity on M2 line,
it resets all its registers back to 0 (just as upon powerup).

From CPU BUS, it inputs CPU A14..12 and A4..A0.

From what I observed, there are at least those registers:

 76543210  PRG/CHR mode                 
[.tuv.qrs] @ $5010/$5014/$5018/$501c / mask: $F013 / power-on & reset: $00
  ||| +++---- PRG mode
  +++-------- CHR mode
  
 76543210  PRG bank
[..ABCDEF] @ $5011/$5015/$5019/$501d / mask: $F013 / power-on & reset: $00
   ++++++---- outer PRG bits

 76543210  CHR bank
[..QPRSTU] @ $5012/$5016/$501a/$501e / mask: $F013 / power-on & reset: $00
   ++++++---- outer CHR bits
   
 76543210  Enhanced MMC3 mode
[........] @ $5013/$5017/$501b/$501f / mask: $F013
 ++++++++---- additional banks for MMC3 mode: 0x02 = yes, others = no (all 8 bits matter)
              when "yes", $8000 can be also $8,$9,$a,$b 

 76543210  Bank register select
[--..----] @ $8000 / mask: $E003 / power-on & reset: $00
 ++--|+++- when MMC3 enhanced mode is off
 ++--++++- when MMC3 enhanced mode is on
 
 76543210  Bank register value 
[--------] @ $8001 / mask: $E003 / power-on & reset: $00 for all internal 12 regs
 ++++++++-  there are 12 internal registers that can be accessed by writing here

 76543210  UNROM latch / power-on & reset: $00
[.....yyy] @ $8000-$ffff / mask: $8000

 76543210  Mirroring
[......mm] @ $A000 / mask: $E003 / power-on & reset: $00
       ++---- mirroring (00=V, 01=H, 10=1scA, 11=1scB
       
 76543210  WRAM config
[abcdefgh] @ $A001 / mask: $E003 / power-on & reset: %01????0??
 |||  ||+--- PRG RAM A13
 |||  |+---- PRG RAM A14
 |||  +----- CHR memory type (0=ROM, 1=8kB RAM; both memories are banked in identical way)
 |++-------- WRAM banking mode
 |+--------- whats at $5xxx: 0=WRAM & writes to $5xxx regs blocked, 1=regs & writes to them allowed
 +---------- WRAM enabled (0=no, 1=yes)

         WRAM memory map
   | $5000-$5fff | $6000-$7fff
bc |   A14 A13   |   A14 A13
00 |    0   0    |    0   1
01 |    h   0    |    h   1
10 |  open bus   |    0   0
11 |  open bus   |    g   h
                      |   +---- = (c & h) | (!b)             
                      +-------- = (b & c & g) | (!b & c & h) 
Notes: 
* Because RAM A12 is wired to CPU A12, $5000-$5fff maps always to second half of the 8kB bank seected by A14/A13
* 62256 pin 26 = A13, 6264 pin 26 = +CE so depending which chip is soldered in the cartridge, it
  can affect the behaviour:
    - 62256: values of $80/$c0 switch between two different banks at $6000-$7fff,
    - 6264: only $80 allows access to RAM (for $c0, it is disabled)
* there is no WRAM write protection bit in original MMC3 (though for some reason,
  WRAM /WE is driven by mapper, not by CPU R/W)
        
PRG MAP (fedcba = bits coming from MMC3: f = A18, ..., a = A13)
qrs |  $8000   $a000   $c000   $e000
000 | Afedcba Afedcba Afedcba Afedcba (512kB MMC3 PRG)
001 | ABedcba ABedcba ABedcba ABedcba (256kB MMC3 PRG)
010 | ABCdcba ABCdcba ABCdcba ABCdcba (128kB MMC3 PRG)
011 | ABCDEF0 ABCDEF1 ABCDEF0 ABCDEF1 (16kB NROM)
100 | ABCDE00 ABCDE01 ABCDE10 ABCDE11 (32kB NROM)
101 | ABCyyy0 ABCyyy1 ABC1110 ABC1111 UNROM           
110 | 0000000 0000000 0000000 0000000
111 | 0000000 0000000 0000000 0000000

Notes: 
- Writes to UNROM reg take effect even if not in UNROM mode as well as writes to
  all MMC3 regs take effect even not in MMC3 mode


CHR MAP (hgfedcba = bits coming from MMC3: h = A17, ..., a = A10)
tuv  | $0000/$0400/$0800/$0c00/$1000/$1400/$1800/$1c00
000  | Qhgfedcba (256kB MMC3 CHR)
001  | QPgfedcba (128kB MMC3 CHR)
010  | QPgfedcba (128kB MMC3 CHR)
011  | QPRSTU### (one 8kB bank)
1**  | QPRSTU### (one 8kB bank)

CHR can be RAM on ROM depending on A001.2.
IF PRG mode is 101, CHR is always RAM

(this need to be verified)

On my console, the cartridge has garbled graphics, probably because PPU /RD is not
wired to anything so I should add that fix in order to make it work on chipped consoles:

                 VCC               
                  |
                 4.7k              
                  |                 PPU A13 | PPU /RD | PPU /WR | CART PPU A13
PPU A13 -|>-------+--CART PPU A13       1   |    x    |    x    |      1
                  |                     0   |    0    |    x    |      0
PPU /RD -<|--470R-+                     0   |    x    |    0    |      0
PPU /WR -<|--470R-+                     0   |    1    |    1    |      1


--

Game on powerup does those writes:
$a001 $a1 
$5000 $12
$5010 $8c
$5013 $f9

and later somewhere in code
$a001 $ec 
$a001 $ed 
$a001 $ee 



Differences on what wiki says:
* a001.6 must be 1 on powerup/reset, because writes to $5xxx regs are enabled
* setting PRG mode to 101 forces CHR to be RAM, ignoring $a001.2
* all of those regs are zero on power-up & reset:
$8001.R0, $8001.R1, $8000.R2, $8000.R3, $8000.R4, $8000.R5, $8000.R6, $8000.R7, $8000.R8, $8000.R9, $8000.Ra, $8000.Rb
* miroring always can be selected between V/H/0/1, no matter of $a001

My notes:
* mapper inputs A2-A3 are ignored (every register is mirrored across them)

Comments:

Want to leave a comment?

Name:

Page loaded in 0.8 seconds | W3C validate