Author Topic: FC3000 Linux Porting from Scratch  (Read 32784 times)

Steward_Fu (OP)

  • Posts: 47
    • Steward Website
FC3000 Linux Porting from Scratch
« on: June 12, 2021, 04:45:16 am »
Hello, everyone, long time no see, hope you are doing well.
Somebody might notice there was a inexpensive handheld called FC3000 came out recently.
Yes, it is confirmed CPU is Allwinner F1C100S/F1C500 chip.
It means the CPU is same as Miyoo/PocektGo handheld.
So, I decided to porting Linux into FC3000 and will re-factory some software from scratch.
If you would like to follow current status, it is very welcome to visit forum: https://whycan.com/t_6647.html
Thanks
« Last Edit: June 17, 2021, 12:45:52 pm by Steward_Fu »

Surkow

  • * Administrator
  • Posts: 698
Re: FC3000 Linux Porting from Scratch
« Reply #1 on: June 12, 2021, 12:35:36 pm »
Nice project. I steered clear of these devices due to the bad software. Hopefully you'll turn them into something useful!

Does the game cartridge actually contain games or is it simply loading the data from internal memory? Apparently with some of these consoles the cartridge is a shim.

Steward_Fu (OP)

  • Posts: 47
    • Steward Website
Re: FC3000 Linux Porting from Scratch
« Reply #2 on: June 12, 2021, 01:36:36 pm »
designer is alien come from Mars
only NES games are available when insert cartridge (by default)
but after remove this shit cartridge, you can play 8 emulators (for v1 model), 10 emulators (for v2 model)

someone tell me the SNES emulator is good, if you have this device, you can try it

LauweLoempia

  • Posts: 143
Re: FC3000 Linux Porting from Scratch
« Reply #3 on: June 13, 2021, 10:42:56 am »
Are there any hardware changes between v1 and v2? The price of a v1 has hit rockbottom; ?5 (ex shipping)...

Sent from my Mi 9 Lite using Tapatalk


mforce2

  • Posts: 23
Re: FC3000 Linux Porting from Scratch
« Reply #4 on: June 13, 2021, 04:03:17 pm »
This looks super interesting. I'm following the progress and luckily with Google Translate it's quite clear to me.
 I do have one thing that I would like to ask. Could you help some fellow hackers , we're trying to hack the Powkiddy J6 and Powkiddy X16, they're based on Actions ATJ2279B, some MIPS SOC. They run UCOS.

 I'm not so good with soldering and low level stuff so I thought I'd start from the software side but I haven't been able to find the firmware for the Powkiddy J6 anywhere ( I think in China it's called the ... X3 ). Any idea where to find this firmware ? It should be a .fw file for the Actions Pad software. We have it for the Powkiddy X16.

 Also in the binaries I've found this: "/cygdrive/e/Mr_hunag_work/ATS3603_UCOS/CD3670_nor_card_st/usdk227c/case_tp/apps/desktop/setting unsigned char GNU C 3.4.4 mipssde-6.06.01-20070420"

 If there's anywhere that this usdk227c can be found in China I'd really appreciate it.

 Sorry for asking if you can't help with this it's not a problem but I thought maybe you can or you know someone who can.

 I'm also working on reverse engineering this Actions PAD tool to see how this ADFU is used for updating the consoles.

 Thanks.

Steward_Fu (OP)

  • Posts: 47
    • Steward Website
Re: FC3000 Linux Porting from Scratch
« Reply #5 on: June 15, 2021, 11:10:24 am »
X3, interesting...
I only dump both spi-flash and sdcard image.
No any idea about how to flash it via PC

files:
https://github.com/steward-fu/powkiddy-x3/releases/tag/v1.0

mforce2

  • Posts: 23
Re: FC3000 Linux Porting from Scratch
« Reply #6 on: June 15, 2021, 01:23:11 pm »
SPI flash dump is great. It should be really useful . Thanks a lot for this. For flashing you need this .fw file which I'm struggling to find, sellers on Aliexpress don't have it.
I'm working now on reversing the Actions Pad Tools which use this "ADFU" method to flash the board. We have the firmware and tool to flash the Powkiddy X16 which is similar. Let me know if you're interested in these.
 One more interesting thing is that there's a new console from Gamesir , or at least in English it's called the Gamesir GC1 , which is exactly the same as the X3 except for the screen but the software seems to be the same as is the method of using a small SPI chip  ( 16 MB I believe ) plus SD card for rest.
 Could you please write the Chinese name of the X3 ? Maybe there's a way to find the .fw file for it that way.

 All the software for these Action SOC consoles seems to be done by this Mr_hunag ( I think it's actually Mr Huang ) and use this Actions SDK,   usdk227c .  Probably Actions has it or the manufacturer , whoever the manufacturer is has it.

Thanks again, I'm going to dig through the SPI dump now.

Can we please continue the talk on this thread :  https://boards.dingoonity.org/other-game-systems/powkiddy-j6-development-only-thread/

To not pollute this one with off-topic.
« Last Edit: June 15, 2021, 05:05:30 pm by mforce2 »

Steward_Fu (OP)

  • Posts: 47
    • Steward Website
Re: FC3000 Linux Porting from Scratch
« Reply #7 on: June 17, 2021, 12:41:31 pm »
Yes, LCD screen can be controlled now

Steward_Fu (OP)

  • Posts: 47
    • Steward Website
Re: FC3000 Linux Porting from Scratch
« Reply #8 on: June 18, 2021, 08:02:10 am »
OK, it is ready to port Linux to FC3000 handheld.
But I think it is not easy for normal user because you need to do hardware modding in FC3000 in order to run Linux.

Location


Modded hardware


Remove cartridge and then insert microsd (https://github.com/steward-fu/fc3000/releases/download/v1.0/fc3000_lcd_test.img)


LCD testing, you can test whether your hardware is ready or not


If insert stock MicroSD, it boots into stock emulator system


Insert cartridge


It boots into stock NES system

TriForce

  • Posts: 6
    • Personal Site
Re: FC3000 Linux Porting from Scratch
« Reply #9 on: June 20, 2021, 03:02:29 am »
Yes, LCD screen can be controlled now


which screen driver are you using?

Steward_Fu (OP)

  • Posts: 47
    • Steward Website
Re: FC3000 Linux Porting from Scratch
« Reply #10 on: June 20, 2021, 10:55:40 am »
Long time no see, TriForce

I don't know the exact driver ic used in this screen
But I find the initial sequences out by using logical analyzer finally
Somebody said it is ST7789V or GC9307

Since I know all of the pins used in this screen, therefore, it is possible to replace 2.8" IPS screen with this TFT screen
« Last Edit: June 20, 2021, 10:57:52 am by Steward_Fu »

Steward_Fu (OP)

  • Posts: 47
    • Steward Website
Re: FC3000 Linux Porting from Scratch
« Reply #11 on: June 25, 2021, 03:46:54 am »
ha ha, it is my fault, it doesn't need to do any hardware modding if you would like to install Linux on FC3000 because F1C100S supports 1bit/SPI booting from microsd

so far, as I known, there are 2 different versions for FC3000, v1: 8 emulators, v2: 10 emulators
I confirmed that v2 hardware is same as v1 after tear down
so, I decide to write a flash system: can flash v1 or v2 into your FC3000 (you don't need to do any hardware modding)

steps:
download fc3000_v1_v2_flash.img.7z
extract fc3000_v1_v2_flash.img and then clone into microsd

only test on SanDisk so far


MUST remove cartridge


insert your microsd


put battery back and then power on
press SELECT: flash v1 system (8 emulators)
press START: flash v2 system (10 emulators)



updating... it takes about 3 mins


complete


v1 system (8 emulators)


v2 system (10 emulators)
« Last Edit: June 25, 2021, 06:21:27 am by Steward_Fu »

Pepotazo

  • Posts: 2
Re: FC3000 Linux Porting from Scratch
« Reply #12 on: June 25, 2021, 05:32:48 pm »
Hi mate,

Firstly, I would like to thank you for sharing the amazing job you are doing with this console.

Secondly, I've tried flashing the image on several different microSD cards (including the same 8GB Sandisk you used) and after insert them into the FC3000 and turn it on I get a black screen. I used Balena Etcher and Win32 Disk Imager under windows 10 64bits.

Finally, I don't know if I need to use a linux distro to flash the SD or if I'm missing any steep or boot installation. I 'd really appreciate if you could please give me a hand with this.

Thanks again.


UPDATE: After messing around with different cards I decided to try a different card reader. This time it worked! I was able to upgrade my V1 firmware to V2! It seems the card reader I was using first time started to fail and finally died in action (That why I tried a new one).  :o :-[

I used a Sandisk Ultra Micro SDHC I class 10 8GB, the one in red and grey. I flashed it with Win32 Disk Imager under windows 10 64bits and no problems.

Now I just need to figure out what the heck are the .WST files for SNK emulator.

And again, thank you very much for your work Steward_Fu.
« Last Edit: June 26, 2021, 01:41:42 am by Pepotazo »

Steward_Fu (OP)

  • Posts: 47
    • Steward Website
Re: FC3000 Linux Porting from Scratch
« Reply #13 on: June 26, 2021, 01:53:52 am »
I have tested on both V1 and V2 devices, they works as I shown before.

Could you please flash this image and then test it to see whether it works or not
https://github.com/steward-fu/fc3000/releases/download/v1.0/fc3000_lcd_test.img

sha1:
fc3000_v1_v2_flash.img: a9d34ff94169f5a3f2afa768345540156c99d501

here are my testing steps:
1. flash image into sdcard (Win32DiskImager or DD)
2. remove cartridge, battery and USB cable
3. insert microsd
4. put battery back
5. power on

Steward_Fu (OP)

  • Posts: 47
    • Steward Website
Re: FC3000 Linux Porting from Scratch
« Reply #14 on: June 26, 2021, 02:10:20 am »
Hi mate,

Firstly, I would like to thank you for sharing the amazing job you are doing with this console.

Secondly, I've tried flashing the image on several different microSD cards (including the same 8GB Sandisk you used) and after insert them into the FC3000 and turn it on I get a black screen. I used Balena Etcher and Win32 Disk Imager under windows 10 64bits.

Finally, I don't know if I need to use a linux distro to flash the SD or if I'm missing any steep or boot installation. I 'd really appreciate if you could please give me a hand with this.

Thanks again.


UPDATE: After messing around with different cards I decided to try a different card reader. This time it worked! I was able to upgrade my V1 firmware to V2! It seems the card reader I was using first time started to fail and finally died in action (That why I tried a new one).  :o :-[

I used a Sandisk Ultra Micro SDHC I class 10 8GB, the one in red and grey. I flashed it with Win32 Disk Imager under windows 10 64bits and no problems.

Now I just need to figure out what the heck are the .WST files for SNK emulator.

And again, thank you very much for your work Steward_Fu.


Good ! if you need original v1/v2 stock microsd, here is https://github.com/steward-fu/fc3000/releases/tag/v1.0
After figure out .WST, please share with me, thanks :)
« Last Edit: June 26, 2021, 02:32:43 am by Steward_Fu »

Pepotazo

  • Posts: 2
Re: FC3000 Linux Porting from Scratch
« Reply #15 on: June 26, 2021, 02:53:03 am »
Hi mate,

Firstly, I would like to thank you for sharing the amazing job you are doing with this console.

Secondly, I've tried flashing the image on several different microSD cards (including the same 8GB Sandisk you used) and after insert them into the FC3000 and turn it on I get a black screen. I used Balena Etcher and Win32 Disk Imager under windows 10 64bits.

Finally, I don't know if I need to use a linux distro to flash the SD or if I'm missing any steep or boot installation. I 'd really appreciate if you could please give me a hand with this.

Thanks again.


UPDATE: After messing around with different cards I decided to try a different card reader. This time it worked! I was able to upgrade my V1 firmware to V2! It seems the card reader I was using first time started to fail and finally died in action (That why I tried a new one).  :o :-[

I used a Sandisk Ultra Micro SDHC I class 10 8GB, the one in red and grey. I flashed it with Win32 Disk Imager under windows 10 64bits and no problems.

Now I just need to figure out what the heck are the .WST files for SNK emulator.

And again, thank you very much for your work Steward_Fu.


Good ! if you need original v1/v2 stock microsd, here is https://github.com/steward-fu/fc3000/releases/tag/v1.0
After figure out .WST, please share with me, thanks :)

Thanks mate! I've already tried the V2 stock from you github and it works perfectly fine.

I really appreciate your help  :) and of course I will share with you if I find somenthing about WST files!
« Last Edit: June 26, 2021, 02:55:33 am by Pepotazo »

Nelugamer

  • Posts: 25
Re: FC3000 Linux Porting from Scratch
« Reply #16 on: June 26, 2021, 10:53:19 am »
Hi all!

In first time, thanks Steward_Fu for your time and work.

Additionally... I have to share some problems with this process on my v1 with IPS FC3000. I've followed the process using several micro-sd cards (1,8,64gb) and different sd card readers and always obtain the same, the black screen.

Unfortunatelly, maybe due to several tries I've broken my FC3000 because now it does not boot as normal, it only shows a black screen without any sd card.

I remember that in one of the trials I've pressed start on the black screen, then after some seconds powered off the console... Maybe a background firmware write process was in process and I've interrupted it?

Is there any way to write the firmware again without any special?

Thanks in advance.

Nelugamer

  • Posts: 25
Re: FC3000 Linux Porting from Scratch
« Reply #17 on: June 26, 2021, 11:05:45 am »
Ok... more news...

I think that the problem is with the LCD controller on the v2 firmware, because the console make sounds when touching the left and right buttons, also with A or B buttons. So I guess that I've writed the firmware during one of the tests and now it boots with the v2 firmware (I count 10 emulators by hearing the sound when moving the keys).

Could you please try to generate your firmware writer tool using the second version of the v1 console? I can remember that there's two versions, the first without IPS and the second with IPS.

Thanks and regards.
« Last Edit: June 26, 2021, 11:08:25 am by Nelugamer »

Nelugamer

  • Posts: 25
Re: FC3000 Linux Porting from Scratch
« Reply #18 on: June 26, 2021, 11:29:35 am »
More news again...

I can confirm that the problem is with the embedded LCD controller on this v1 & v2 firmwares, both are for non IPS consoles.

Why I'm sure? (for the moment...), because I've tried to write the v1 firmware on my console (with the black screen) pressing the "select" button, the process finished (I can see the retroilumination of the LCD blinking when it finishes).

Then I can check pressing the left and right that the console now only have 8 emulators. If I try to restart the process again pressing "start" it writes the firmware with 10 emulators.

But on both firmwares the LCD controller is non IPS.

Now I have my console without image... :(

But I will wait for new tests and news, please feel free to share with me any suggestions to apply on my console.

Additional tests: I've connected the console to a TV using the mini-jack connector and it works, I can see the image on tv showing the 10 emulators.

Thanks!
« Last Edit: June 26, 2021, 11:36:53 am by Nelugamer »

Steward_Fu (OP)

  • Posts: 47
    • Steward Website
Re: FC3000 Linux Porting from Scratch
« Reply #19 on: June 26, 2021, 11:55:23 am »
Sorry about bricking your lovely device~

IPS ? oh my god !
This flash program only supports TFT screen, not IPS screen, basically, I don't know where to buy IPS FC3000.
Do you have any screen viewing angle taken from IPS FC3000 before ? I would like to check it.

I need to dump stock rom from IPS FC3000, this is only way to rescue your bricked IPS FC3000 device.
So, who can help to dump stock rom ? I can provide this tools.

 

Post a new topic