CoolBaby X7 Pocket Famicom teardown

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

Moderator: Moderators

Post Reply
User avatar
krzysiobal
Posts: 1037
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland
Contact:

CoolBaby X7 Pocket Famicom teardown

Post by krzysiobal »

I got from friend this quite awesome piece of hardware, which is a pocket famicom, powered from battery with big 4.3 inch screen and ability to plug normal cartridges (not like those gameboy-like ones with pre-programmed games).
Image

I googled for it on aliexpress and I see it is quite expensive (75$). In one of the phonos, seller shows (probably) his workshop where he assembles them. No idea if this is one-person masterpiece or some larger quantity production.
Image

My first impression was really good:
* The design consists of two thick (1.5mm) PCBs connected together with two rows of header pins,
* There are no blobs, just discrete chips - RP2A03G CPU + RP2C02G-0 PPU. All other chips have their markings removed with sandpaper
* Bottom and top shell is made out of plexiglass, while borders are done out of some kind of plastic, everything is assembled using screws (only a little bit of hot glue for the batteries and speaker, which are permanently glued)
* Video quality was quite acceptable,

However, after powering it up, I found some oddities:
* Small speaker generates constant noise added to the sound (even if game does not play any music). Using head-phones makes it a little better.
* There is also some weird echo or reverb,
* There are minor graphic problems in some games (no, it's not the connector fault).

So I spent quite a lot of time trying to reverse-engineer it and found a lot of oddities:

** BOTTOM PCB **
Image Image Image Image Image


1. Those two 16850 rechargeable batteries that power up everything are connected in parallel. No idea if this is good for their life-time or charging

2. Clock generation circuit is extremely weird which results in 0-3V amplitude clock and both CPU's and PPU's clock are driven by the same signal
Image

3. Audio voltage drop and mixing resistors have non-standard values
Image

4. There is a DB9 pin port (which can be used to connect external joypad for player 2). Its pinout is:
Image
So except the standard signals needed for joypad, they added 4017.D1 and 4016.D1 (for connecting P3 and P4 famicom-like adapter). There are even 4017.D3 and 4017.D4 for zapper, but they routed and shorted both of the signals to the metal chasis of the DB port (LOL). OUT1 and OUT2 are not available so no external keyboard.

5. Instead of using 2*74x368 like in regular Famicom, they prefered 74x125+74x04
Image

and some octal inverting buffer that I cannot guess what is it (IC4) - I called it 74245 but it need to invert signals plus the DIR/!OE does not match
It seems to be 74540
Image

6. PPU-A13, present in the cartridge connector is not directly routed to PPU'a A13. Insted, they used some logic to make it appear like:

Code: Select all

PPU-A13 PPU/WE  PPU/RD | PPU-A13 on cartridge connector
   1       x       x        1
   0       0       x        0
   0       x       0        0
   0       1       1        1
Image

Maybe this is source of those weird graphical glitches that appear in some cartridges (with slower EPROMS?)

7. Tiny DC power jacks looks quite fragile to me

8. The four LEDs connected as some kind of battery power indicator (?) have no resistors in series, causing extra bright light. This is the only chip in the bottom PCB that I have no idea what is responsible for (battery charging or discharge protection?)
Image

** TOP PCB**
This is harder - I don't understand function of most of the chips. There is for sure 4021 for the built-in joypad, LCD controller and its eprommm, but there are a lot of other unknown chips (audio amplifier, something that generates turbo for butons, something that reacts for volume up/down)

Image Image Image Image Image

--
Edit:
* I checked the TURBO signal and it is 13.7Hz square wave. There are no signs of other non-square signals so it appears to be generated directly from the chip.
Image

* I checked IC2 pins 15 and 16 when pressing VOLUME UP/DOWN buttons and they appar to be some clock/data signal generated by the IC2 into IC6 (there are 21 volume levels)
Image

It makes me think that IC2 is some microprocessor for aggregating diferent functions. I haven't found any with that pinout (16 pin, 8=GND, 6=VCC, maybe it is CY8C4014SXI?)

* IC6 seems to be digitally controlled two channel potentiometer (FM62429)
Image

* IC5 seems to be sound effect generator. The connections is very similar to the "echo" circuit in PT2399 (or HT8970)
Image

* IC3 seems to be 4066 (four analog switches)

* IC7 is still unkown, but is is some kind of AUDIO amplifier (haven't found any with 8 pins, 6=VCC, 1/7=GND)

--
Surprisingly, there are no single electrolytic capacitor in the whole device. I soldered two and noise seems to be lower but it is still audible at some volumes, maybe the potentiometer adds it.

What the microcontroler does (except volume control) is not clear.
Its inputs are:
* sound generated by game,
* VOLUME UP/DOWN buttons

Its outputs are:
* DATA/CLOCK to the potentiometer,
* drive the POWER LED (but is still seems to be ON after power-up),
* drive voltage to the LCD controler via Q1 mosfet (but it stil sems to be ON)
* control those four analog switches (but it seems to turn on IC3A and IC3D and off IC3B and IC3C, resulting in the external audio/video mini jack to be efectively disconnected)

So either there need to be some special sound pattern or button combination to activate the AV jack.

Image
Haruka
Posts: 53
Joined: Fri Mar 23, 2018 8:58 pm

Re: CoolBaby X7 Pocket Famicom teardown

Post by Haruka »

krzysiobal wrote: 1. Those two 16850 rechargeable batteries that power up everything are connected in parallel. No idea if this is good for their life-time or charging
18650.
krzysiobal wrote: 3. Audio voltage drop and mixing resistors have non-standard values
Image
I think this is on purpose. Maybe for a louder music volume to cover up the unexpected noise?
krzysiobal wrote: 6. PPU-A13, present in the cartridge connector is not directly routed to PPU'a A13. Insted, they used some logic to make it appear like:

Code: Select all

PPU-A13 PPU/WE  PPU/RD | PPU-A13 on cartridge connector
   1       x       x        1
   0       0       x        0
   0       x       0        0
   0       1       1        1
Image

Maybe this is source of those weird graphical glitches that appear in some cartridges (with slower EPROMS?)
Not for slower ROM chips. It is a hardware patch for pirate carts which often glitch on original Famicom (not NOAC).
As we all know PPU needs 2 clock cycles to read from or write to CHR.
In the first cycle, PPU outputs address on its AD0~AD7 and A8~A13. On the falling edge of the first cycle, 74'373 latches the address so that the address continues to exist on the bus during the second cycle.
In the second cycle, PPU outputs data on its AD0~AD7. PPU /RD or PPU /WR is also asserted.
Usually cart's CHR /OE should be connected to PPU /RD. However some pirate carts (especially those glob-tops) connect their CHR /OE directly to GND rather than PPU /RD, resulting values from CHR ROM/RAM are always asserted during the whole PPU's accessing time. But PPU outputs address on the bus during the first cycle, so the address and the data conflict with each other. So the screen glitches.
This glitch can be solved by lifting the CHR /OE pin of CHR ROM, and connecting it to PPU /RD of edge connector. But glob-top pirate carts hide their CHR /OE pins inside the black shit, so these carts can never be correctly displayed.
The only solution is to modifying the console itself.
When applied the patch, as shown in your truth table:
When PPU is not accessing CHR (PPU A13 = 1), CHR should be deselected (CHR /CE (aka CHR A13 on edge connector) = 1).
When PPU is asserting address on the bus (1st cycle), PPU A13 = 0, PPU /RD = 1, PPU /WR = 1, CHR should be deselected to elimate bus conflict since CHR is always asserting data.
When PPU is reading from CHR (PPU A13 = 0, PPU /RD = 0) (2nd cycle), CHR should be selected (CHR /CE = 0).
When PPU is writing to CHR (PPU A13 = 0, PPU /WR = 0) (2nd cycle), CHR should be selected (CHR /CE = 0).
Everything works like a charm.

Here is the detailed discussion (Chinese) on the implimentation of the patch.
krzysiobal wrote: It makes me think that IC2 is some microprocessor for aggregating diferent functions. I haven't found any with that pinout (16 pin, 8=GND, 6=VCC, maybe it is CY8C4014SXI?)
No, it is probably STC15W204S, a cheap, convenient, well-known 8051-core MCU in China.

krzysiobal wrote: Surprisingly, there are no single electrolytic capacitor in the whole device. I soldered two and noise seems to be lower but it is still audible at some volumes, maybe the potentiometer adds it.
Also because of the LCD and its driver chips. The analog part of the PCB is not shielded, also without proper Polygon-Pour. Noise is destinied to be audible.

krzysiobal wrote: What the microcontroler does (except volume control) is not clear.
Its inputs are:
* sound generated by game,
* VOLUME UP/DOWN buttons

Its outputs are:
* DATA/CLOCK to the potentiometer,
* drive the POWER LED (but is still seems to be ON after power-up),
* drive voltage to the LCD controler via Q1 mosfet (but it stil sems to be ON)
* control those four analog switches (but it seems to turn on IC3A and IC3D and off IC3B and IC3C, resulting in the external audio/video mini jack to be efectively disconnected)

So either there need to be some special sound pattern or button combination to activate the AV jack.

Image
Yes there are some key-combinations for extra functions. Holding Volume+ for 5 sec switches between 4:3 and 16:9 aspect ratio. Holding Volume- for 5 sec switchs between internal LCD display and external TV display (via AV cable). Holding both Volume buttons for 5 sec switches bwtween echo sound effect and no effect on the audio jack.
User avatar
krzysiobal
Posts: 1037
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland
Contact:

Re: CoolBaby X7 Pocket Famicom teardown

Post by krzysiobal »

I think this is on purpose. Maybe for a louder music volume to cover up the unexpected noise?
I remember at least two different good quality famiclones, where those pull-down resistors were 1k instead of 100R, causing metalic-saturated sound. Replacing them to proper values fixed everything. Here even the mixing resistors are not valid.
It is a hardware patch for pirate carts which often glitch on original Famicom (not NOAC).
Oh, I analyzed tens of cartdridges and just only one time in my life saw cheap multicart that displayed garbage and had PPU A13 not routed to anything at all. Maybe they are popular in China.
Image
Other that than even if there was DIP-28 MASK ROM (or blob) that has only one chip enable input, they used diode-logic to make OR-ing of them.

Also because of the LCD and its driver chips. The analog part of the PCB is not shielded, also without proper Polygon-Pour. Noise is destinied to be audible.
I attached ground of probe to one place and checked CPU's ground and there was 200mV peak-to-peak noise :o
Yes there are some key-combinations for extra functions. Holding Volume+ for 5 sec switches between 4:3 and 16:9 aspect ratio. Holding Volume- for 5 sec switchs between internal LCD display and external TV display (via AV cable). Holding both Volume buttons for 5 sec switches bwtween echo sound effect and no effect on the audio jack.
My one has special three buttons for LCD-interaction (change of aspect, contrast, etc).
Pushing VOLUME UP for 5 sec turns off diode and VOLUME DOWN for 5 sec indeed enables AV jack :)
User avatar
Ben Boldt
Posts: 1149
Joined: Tue Mar 22, 2016 8:27 pm
Location: Minnesota, USA

Re: CoolBaby X7 Pocket Famicom teardown

Post by Ben Boldt »

It's okay to put 18650s (and other lithium-ion cells) in parallel, it doesn't hurt them. Charging them in series is the only bad thing to do.
TeleViper
Posts: 6
Joined: Sat Mar 24, 2018 2:56 pm

Re: CoolBaby X7 Pocket Famicom teardown

Post by TeleViper »

Have you had any luck in getting this to run with an actual NTSC/U CPU and PPU?
TeleViper
Posts: 6
Joined: Sat Mar 24, 2018 2:56 pm

Re: CoolBaby X7 Pocket Famicom teardown

Post by TeleViper »

In the months since I asked about this. I did the mod myself.

As long as you replace the XTAL with an NTSC one (I pulled one from an NES with bad capacitors) then yes, real CPU/PPU works on this effortlessly.
pakosup
Posts: 58
Joined: Mon Apr 24, 2017 10:23 pm

Re: CoolBaby X7 Pocket Famicom teardown

Post by pakosup »

Good job!
Seems I know one more console with the same schematics
Coolbaby RS 40
https://aliexpress.ru/item/33005168169.html

It also has problems with some cartridges and fails on chr ram test.
Post Reply