|
Post by deerwings on Nov 11, 2018 21:27:59 GMT
S99redquark is the last script it runs after bootup. In the post I made about the mounting filesystem as rw on boot, I moved it to S98redquark so that the script I made S99startup runs last. The S number basically just tells the OS what order to run other scripts in.
nohup just basically tells the script not to terminate the executable after it's running when you log out. I believe that basically tells it to run the64 and direct all of its output text to /dev/null.
grep -r basically says 'Search all files and folders for this string in something'. the -r stands for Recursive.
|
|
|
Post by spannernick on Nov 11, 2018 21:41:40 GMT
Ok thanks,its working on mine but when I move the yellow square box off the screen it crashes and Received signal 11 (SIGSEGV), exiting. comes up .. *** glibc detected *** the64: double free or corruption (out): 0xbe913108 *** Aborted I thinking it might be cos its running over the top of the linaro desktop and the desktop is taking up memory. and the sound is not work at the moment so no menu.wav music.
|
|
|
Post by spannernick on Nov 11, 2018 22:08:25 GMT
One more queston how big is the NAND on TheC64 Mini,it says on sunix site NAND 2/4/8/16GB...has it got 4 partitions...? Maybe more stuff could be added to this now.. linux-sunxi.org/Retro_Games_Ltd_RGL001 Like the US version.
|
|
|
Post by deerwings on Nov 12, 2018 0:13:21 GMT
One more queston how big is the NAND on TheC64 Mini,it says on sunix site NAND 2/4/8/16GB...has it got 4 partitions...? Maybe more stuff could be added to this now.. linux-sunxi.org/Retro_Games_Ltd_RGL001 Like the US version. It's saying the nand comes in 2, 4, 6, 8 and 16gb increments but they're not certain how much is on this unit. Considering how much space is left for users, it's either the 2gb which might be the cheapest and is partitioned extremely small, or it's the larger in which case the partitioning is even smaller than it appears.
|
|
|
Post by swingflip on Nov 12, 2018 10:13:11 GMT
One more queston how big is the NAND on TheC64 Mini,it says on sunix site NAND 2/4/8/16GB...has it got 4 partitions...? Maybe more stuff could be added to this now.. linux-sunxi.org/Retro_Games_Ltd_RGL001 Like the US version. It's saying the nand comes in 2, 4, 6, 8 and 16gb increments but they're not certain how much is on this unit. Considering how much space is left for users, it's either the 2gb which might be the cheapest and is partitioned extremely small, or it's the larger in which case the partitioning is even smaller than it appears. Unfortunately not deerwings and @spannernick. That is Giga BITS not bytes. I think I stated previously on this thread that the pre-release models had 256mb nand chips and newer models come with different branded 128mb chips. I have counted 3 different brand of NAND chips so far all with varying page size and specs. But the bottom line is 256mb for prerelease and 128mb for board manufactured after that. A good indication that you have a 256mb model is if you have a silver label on the bottom.
|
|
|
Post by jj0 on Nov 12, 2018 13:28:36 GMT
A good indication that you have a 256mb model is if you have a silver label on the bottom.
The best way is to look at the manufacturers details on the NAND chip itself and look it up on the web. For example on the Toshiba nand you can see 'TC58NVG1S3HTA00'. If you look this up you'll find that it's 2Gbit = 256MB. On the ESMT nand tou can see 'F59L1G81MA' which is 1GBit = 128MB. You can also see the NAND id reported by the NAND driver: #dmesg | grep '\[SCAN_DBG\] Nand flash chip id is:' [ 1.160777] [SCAN_DBG] Nand flash chip id is:0xc8 0xd1 0x80 0x95 0x42 0x7f
But this is not always easy to translate back to the right chip info.
|
|
|
Post by deerwings on Nov 12, 2018 14:33:45 GMT
I stand corrected on the size as Gigabit and not Gigabyte, but more the point is that the Wiki doesn't detail the sizes of the chips specifically. And likely because as mentioned, there were different sizes for each one.
The fact that their firmware bin seems to be monolithic means that they've got something in it that works for the smallest size they may have used which means on some of them there probably is a fair bit of wasted space but maybe not on others.
If someone comes up with a better way to identify them without complete disassembly I'm sure it'd be extremely helpful.
|
|
|
Post by groepaz on Nov 12, 2018 15:17:52 GMT
looking at the diff i can say two things: - the patch is quite small. most of it is related to the lex/yacc monitor files, which are generated at compile time (they were included in 2.4 tarball, but these are generated). you can ignore all of it. the only relevant differences are a some tiny patches in sound.c (didnt look further what exactly it does, it looks like hardcoded frame skipping to me) - this source is incomplete! all of their user interface is missing is this all you got from them? that source looks very non interesting as it is, the interesting part is their UI
you should have also gotten the source to the updater program.... which would make "hacking" this thing a lot more convenient
|
|
|
Post by swingflip on Nov 12, 2018 15:34:30 GMT
looking at the diff i can say two things: - the patch is quite small. most of it is related to the lex/yacc monitor files, which are generated at compile time (they were included in 2.4 tarball, but these are generated). you can ignore all of it. the only relevant differences are a some tiny patches in sound.c (didnt look further what exactly it does, it looks like hardcoded frame skipping to me) - this source is incomplete! all of their user interface is missing is this all you got from them? that source looks very non interesting as it is, the interesting part is their UI
you should have also gotten the source to the updater program.... which would make "hacking" this thing a lot more convenient Yes I did get their redquark source but I didn't manage to rip it to a repo before I had to leave the house for a couple of days. I will do this in when I get a chance. I didn't look in great detail but I didn't notice the update routine. However I assume it's there. The rest of the OSS was open source libraries which wouldn't be much help
|
|
|
Post by groepaz on Nov 12, 2018 15:52:02 GMT
ok, i can wait some more days
|
|
|
Post by swingflip on Nov 12, 2018 16:07:49 GMT
I do have some snippets when I did look and I think you will be dissapointed groepaz I think they zero'd/nulled the firmware functions.
Ryans-MacBook-Pro:ui$ cat firmware.c /* * THEC64 Mini * Copyright (C) 2017 Chris Smith * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */
char * check_for_upgrade( uint32_t *version ) { return NULL; } int install_upgrade ( const char *firmware ) { return 0; } int check_for_and_run_latest_version( int argc, char **argv ) { return 0; } int check_for_initial_test_mode () { return 0; }
Ryans-MacBook-Pro:ui$ cat firmware.h /* * THEC64 Mini * Copyright (C) 2017 Chris Smith * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef TSF_FIRMWARE_H #define TSF_FIRMWARE_H
#define COMPILE_VERSION(ma,mi,pa) (((ma) * 1000000) + ((mi) * 1000) + (pa))
char * check_for_upgrade( uint32_t *version ); int install_upgrade( const char *firmware );
int check_for_and_run_latest_version( int argc, char **argv ); int check_for_initial_test_mode();
#endif
|
|
|
Post by jj0 on Nov 12, 2018 16:26:34 GMT
I stand corrected on the size as Gigabit and not Gigabyte, but more the point is that the Wiki doesn't detail the sizes of the chips specifically. And likely because as mentioned, there were different sizes for each one. The fact that their firmware bin seems to be monolithic means that they've got something in it that works for the smallest size they may have used which means on some of them there probably is a fair bit of wasted space but maybe not on others. If someone comes up with a better way to identify them without complete disassembly I'm sure it'd be extremely helpful. With: #dmesg | grep '\[SCAN_DBG\] Nand flash chip id is:' - ESMT F59L1G81MA - 128MB: [SCAN_DBG] Nand flash chip id is:0xc8 0xd1 0x80 0x95 0x42 0x7f
- Toshiba TC58NVG1S3HTA00 - 256MB: [SCAN_DBG] Nand flash chip id is:0x98 0xda 0x90 0x15 0x76 0x16
These are all I have. But the first number is the manufacturer code, so if you have others start searching 'nand id manufacturer 0x..' you'll probably find the manufacturer mentioned somewhere. And then you can search more directed.
|
|
|
Post by spannernick on Nov 12, 2018 16:45:01 GMT
Oh you have the source to the64 program then.. Its a pain in the ass trying to get it to work on a Cubieboard2.I need someone to copy the whole of the firmware,the one I have have bits missing like script files and that I need to see what what Linux is doing when it runs the64 program up,if might be running another program at the same time to get the Joystick to work and that,I would do it but can't,just got myself another Uart and it don't work,I was just wishing..:)I need all the files every single one from the NAND so I can work out what its doing,thanks.. Cos it should work.I load up a video soon and you see for yourself. I did try closing LightDM so it was in command line only but as soon as I did that TheC64 Joystick stopped working, and its not detecting my USB sd card reader as well...bugs....bugs...bugs... so Chris Smith is the programer of the64 program UI.. there are alot of famous Chris Smith's like the politician in the UK and in the US too, U.S. Representative for New Jersey's 4th congressional district ... wow the name gets around...
|
|
|
Post by groepaz on Nov 12, 2018 19:51:34 GMT
wow is that really the update program? "firmware" doesnt sound like it cant you upload the whole blob you got somewhere?
|
|
|
Post by darbyram on Nov 13, 2018 6:55:19 GMT
wow is that really the update program? "firmware" doesnt sound like it cant you upload the whole blob you got somewhere? So whats this in the u-boot/tools/updater folder?
|
|
|
Post by swingflip on Nov 13, 2018 11:01:55 GMT
groepaz as promised. Btw it would be good to be on an easy to chat basis to discuss developments. Feel free to join my discord and I can set up a C64 specific dev channel. JJ0 and darbyram are all ready in there
The CD contents with lib is current uploading to my cloud dev server. I will link when I got it up
|
|
|
Post by groepaz on Nov 13, 2018 12:19:35 GMT
thanks, will have a look (in two or three weeks, i'm quite busy at work atm.... damn christmas) however, i am not using those newfangled chat things. "we" are on IRC freenode #vice-dev
|
|
|
Post by darbyram on Nov 13, 2018 15:22:52 GMT
I gather with vice on the mini, that they only have the C64 bits in it, and left out parts like Vic20 etc? is it a lot of work to include the rest, as it would be great to have that on the carousel like the C64 basic.
|
|
|
Post by spannernick on Nov 13, 2018 16:18:42 GMT
What do you use to build this on Windows..? what would I need..?,so did they give you the lot.
|
|
|
Post by swingflip on Nov 13, 2018 17:18:11 GMT
What do you use to build this on Windows..? what would I need..?,so did they give you the lot. You can't really. Not without a huge headache. You will need a VM with linux. It is also in pieces with hardcoded paths in the dependencies. Ideally you would need the Allwinner A20 Lichee SDK and a crap load of other stuff. I am hoping between myself, jj0 and my mate can get it so we can build it in a much cleaner environment.
|
|
|
Post by spannernick on Nov 13, 2018 18:34:53 GMT
OK I know what you mean It keep crashing in the same place on my CubieBoard2 and it becoming a pain.I must be missing something from the firmware cos I have added everything,I asked cos I need the whole thing,I can't get the firmware off mine. Looking forward to what you came up with.I am guessing the updates have ended now for theC64 Mini from RG..?? cos we can now hopefully be able to add what we want to thec64 UI now. You could use something that programs C++ cos it uses LIBC.Maybe Visual Studio..? hehe programing a C64 in VS..
|
|
|
Post by spannernick on Nov 15, 2018 11:11:11 GMT
What are you going to use to build it,change things in it,is the code there for making a update bin file..??
|
|
|
Post by groepaz on Nov 15, 2018 14:08:35 GMT
what firmware version is this exactly, btw?
|
|
|
Post by spannernick on Nov 15, 2018 16:27:32 GMT
|
|
|
Post by mobluse on Nov 15, 2018 19:49:35 GMT
I also had a quick look and it uses Vice2.4 It should be very easy to add vic20 and c128 support to the standard UI.
It would be great if it also could support the Z80 for CP/M of the C128.
|
|
|
Post by spannernick on Nov 15, 2018 21:58:50 GMT
That would be good,but all I care about at the moment is removing the use of the Uart and use one of the USBs or maybe by network(using a network adapter) and connecting by FTP/SHH would be better,thats how I connect to my CubieBoard2 via network and its so easy to copy files over using FileZilla.. Has anyone tried to use a USB Network Adapter,you would have to add its driver somehow,I do have one but it don't work offcore,someone should test one or even a Wireless Wifi Adapter who can get to the system...??
|
|
|
Post by groepaz on Nov 16, 2018 13:07:36 GMT
ehrm, no. buildroot is a tool that can be used to create a bootable linux system for embedded systems. its not "a firmware" at all. and what i am interested in is what firmware version of THE64 matches that sourcecode
|
|
|
Post by spannernick on Nov 16, 2018 14:52:25 GMT
I say that in the os release file in the firmware,so they must of made their own linux using Buildroot.Its called Redqurakone(I wonder why they called it that).The firmware is more closer to mobile phone firmware cos it uses a NAND,on the Cubieboard2 the NAND is use to install Android on but you can install Linux as well but thats for the sd card slot.so the firmware could be acting like Android firmware.its the same for the board this is based on A20-OLinuXino-LIME.The Cubieboard2 has the same specs but it faster.it has 1.4 GHZ CPU and 1 GB RAM and everything else is the same.
A20-OLinuXino-LIME
FEATURES Allwinner A20 dual core Cortex-A7 processor, each core typically running at 1GHz and dual-core Mali 400 GPU 512MB DDR3 RAM memory NAND or eMMC Flash (for A20-OLinuXino-LIME-e/nXXGB) SATA connector with 5V SATA power jack Capable of FullHD (1080p) video playback HDMI connector 2 x USB High-speed host with power control and current limiter USB-OTG with power control and current limiter 100MBit native Ethernet LiPo Battery connector with battery-charging capabilities LCD connector compatible with with 4.3", 7.0", 10.1" LCD modules from Olimex 160 GPIOs on four GPIO connectors MicroSD card connector DEBUG-UART connector for console debug with USB-SERIAL-CABLE-F GPIO LED Battery charge status LED Power LED 2KB EEPROM for MAC address storage and more 3 BUTTONS with ANDROID functionality + RESET button 4 mount holes 5V input power supply, noise immune design PCB dimensions: 84 x 60 mm
|
|
|
Post by swingflip on Nov 16, 2018 23:41:38 GMT
Quick update. So it seems that the code provided wasn't 100%. The main bugbear I have is that the libnand for sun7i platform in the U-BOOT is incorrect so the U-BOOT code does not compile. It looks I have made it compile but still waiting on tests to see if works or not. Secondly the code for the firmware update was swapped out with stubs. Not sure why this was done but technically it violates GPL so... Also the code provided for the kernel doesn't seem complete either, so we are painstakingly trying to piece it together or atleast working out what we deffinately need or need to reverse engineer. Having the fes1 image or to be given the source to build the fes1 would of been nice too... To top all of that off I spent a full day actually building AllWinner's A20 Lichee SDK with buildroot and everything running. After 2 server installs and about 40 attempts and reading through about 20 chinese tech blogs I finally cracked it. In a nutshell...Not as plain sailing as was hoping. Gotta send an email off to Chris asking for missing files / working copies of files and continue to try and jury rig a buildable platform with the now working SDK.
FYI just consider Buildroot as a Toolchain. (Cross compiler for ARM devices) It is running on a Sunxi type of OS (based from Allwinner SoC) and the Redquark is just the wrapper scripts which effectively handle the running of the application, setting up environments and automation.
If we get up and running with the "hack" then maybe groepaz can assist with the additional Commodore support with VICE as he is the guru with it. As stated before. After a quick breeze past the code it wouldn't seem too difficult.
|
|
|
Post by groepaz on Nov 19, 2018 9:47:15 GMT
"guru" ) i havent really understood yet how they patched their UI into VICE (but i didnt look close yet either) - depending on how they did this it should be fairly easy to extend to other machines. there perhaps would have to be some kind of menu to select the machine though. for personal use, i'd probably remove their UI alltogether and just use SDL-vice as it is, then all the things that are missing now would just magically work =P
as for the missing files... thats indeed sneaky. they should provide everything you need to build the exact same binaries that are on the device.
|
|