I'm starting this thread to track development for the Powkiddy J6. There's 2 things to be achieved here. First would be to improve and port things on top of the current OS ( ?C/OS-II as far as I can tell ). Second would be to port Linux or maybe port some open source ?C/OS-II .
Porting anything would be hard given the limited documentation for the chip ( Actions ATS3603 ).
Let's start with the hardware, most important is the SOC:
ATS3603 core is a 32-bit MIPS24KEc RISC , runs at 450MHz . There's 64 MB of RAM so enough to run Linux and for storage there seems to be a flash chip ( 16 MB NOR I think ). The main OS is on that chip. Rest is on an SD card that is formatted as exFAT.
What happens is that at boot the main OS is booted and loads up the main menu ( including it and the icons ). From the main menu the apps are loaded from the SD card ( they're in the \apps folder of the SD card ).
One such example is the "calculat.app" which is in apps\calculat.
Looking at these .app files with IDA Pro we can see that they're just elf binaries ( same as Linux binaries ) and they include plenty of debug symbols which can be useful.
The game emulation app is apps\emulator.
Now we need to dig deeper into the file system.
Some OS and basic libs are in "/mnt/diska":
/mnt/diska/lib/applib.so
/mnt/diska/lib/commonui/commonui.so
/mnt/diska/lib/fusion.so
/mnt/diska/lib/style.so
/mnt/diska/apps/msg_serv.app
Some other emulator related libraries are also on what seems to be an internal partition, "/mnt/disk0":
/mnt/disk0/libg1.so
/mnt/disk0/libsfc.so
/mnt/disk0/libgb1.so
/mnt/disk0/libm1.so
/mnt/disk0/libf1.so
/mnt/disk0/libsg1.so
/mnt/disk0/libp1.so
Some other libs are in "/mnt/sdisk":
/mnt/sdisk/libemu.so
/mnt/sdisk/libsfc+.so
.....
And the SD card is mounted as "/mnt/card":
/mnt/card/apps/setting/s480272_style_1
One interesting thing is that there's plenty of debug information in the binaries on the external card.
I've found this string which is interesting:
/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
From here we can see two things. That the compiler used was GNU C 3.4.4 mipssde-6.06.01-20070420.
This can be useful to compile apps and things for the existing firmware ( we'll want to use the same compiler ).
I will provide this and other resources in a new post.
The other thing is that we need to track down a Mr hunag and get him to share the sources with us
.
We can try contacting Powkiddy and ask about him
That's it for now, I'll share some useful resources in my next post.