Retro Games Ltd RGL001
|Retro Games Ltd RGL001|
|Manufacturer||Retro Games Ltd|
|Dimensions||105mm x 205mm x 35mm|
|Release Date||February 2018|
|SoC||A20 @ XGhz|
|DRAM||512 DDR3 @ xxxMHz|
|Power||DC 5V @ 1A|
|Video||HDMI (Type A- full)|
On the back of the device, the following is printed:
The C64 Mini RGL001
The PCB has the following silkscreened on it:
THEC64 V1.0 Retro Games Ltd 2018
Under Settings->System, you will find:
- Build: theC64-1.0.1-argent
- Build Date: 02-01-2018 19:08:23
Optional. Add MANUFACTURER DEVICE specific sunxi ROM images here. E.g. a livesuit image or some other linux image which uses linux-sunxi code. Do not put non-sunxi images here, they should live under See also. If no sunxi based images are available, this section can be removed.
Optional. Add MANUFACTURER DEVICE sunxi HW-pack specifics here. When empty, this section can be removed.
Optional. Add MANUFACTURER DEVICE sunxi BSP specifics here. When empty, this section can be removed.
You can build things for yourself by following our Manual build howto and by choosing from the configurations available below.
Use the MANUFACTURER_DEVICE build target.
Use the MANUFACTURER_DEVICE build target.
Use the MANUFACTURER_DEVICE.fex file.
Use the FAMILY-CHIP-DEVICE.dtb device-tree binary.
Tips, Tricks, Caveats
There is a remote button that will start FEL mode, located underneath the device manufacturer's sticker, allowing you to enter FEL without disassembling the case.
Obtaining a root shell
Root shell can be obtained by using the UART: Connect the UART and establish a terminal session. Insert a USB thumb drive in either of the two USB host ports. It doesn't matter what is on the thumb drive, as long as it has a mountable filesystem (FAT is fine). Power on the board while continuously sending 's' via the serial console to interrupt u-boot.
At the u-boot prompt, the process is as follows:
redquark#setenv nand_root /dev/sda redquark#boot read boot or recovery all [ 48.085]sunxi flash read :offset 1000000, 11549075 bytes OK [ 48.100]ready to boot [ 48.103][mmc]: MMC Device 2 not found [ 48.107][mmc]: mmc not find,so not exit NAND_UbootExit NB1 : NAND_LogicExit [ 48.111] Starting kernel ... [ 0.991847] rtc_hw_init(416) err: set clksrc to external losc failed! rtc time will be wrong [ 1.001419] sunxi_rtc_gettime(34): err, losc_err_flag is 1 [ 1.076451] [hdmi]hdmi module init [ 1.082448] ##fb init:w=1280,h=720,fbmode=0 [ 1.099610] sunxi_rtc_gettime(34): err, losc_err_flag is 1 [ 1.105737] sunxi-rtc sunxi-rtc: hctosys: unable to read the hardware clock root=/dev/sda wait /dev/sda ready wait /dev/sda ready wait /dev/sda ready wait /dev/sda ready [ 4.953983] sd 0:0:0:0: [sda] No Caching mode page present [ 4.960123] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 4.984607] sd 0:0:0:0: [sda] No Caching mode page present [ 4.990741] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 5.014615] sd 0:0:0:0: [sda] No Caching mode page present [ 5.020950] sd 0:0:0:0: [sda] Assuming drive cache: write through e2fsck /dev/sda return 8 mount /dev/sda return 255 / # insmod /lib/modules/3.4.39/nand.ko / # mount /dev/nandb /mnt [ 65.852040] EXT4-fs (nandb): couldn't mount as ext3 due to feature incompatibilities [ 65.944133] EXT4-fs (nandb): couldn't mount as ext2 due to feature incompatibilities / # passwd Changing password for root New password: Retype password: Password for root changed by root / # mv /mnt/etc/shadow /mnt/etc/shadow.old / # cp /etc/shadow /mnt/etc / # umount /mnt / #
Power off the board and boot normally. You should be able to log in as root using the password you set.
Default root password
The cypher for the default root password (at least on my device) is:
I only have a laptop and probably don't have the CPU time to crack that so I haven't tried. Hopefully someone will.
FEL can be entered by holding the remote button or the on board button labeled UBOOT. It can also be entered using the serial console by sending "2" on boot.
There is a button on the board marked "Recovery" however it seems to have no effect. There is are many unpopulated solder pads including an SD card slot and second DRAM chip. The resistors are also unpopulated.
Adding a serial port (voids warranty)
The UART is very easy to interface. It has standard 0.01" American pin spacing and is already drilled. You can use standard header pins or a JST connector.
Pins are, in order from top to bottom as per photo; 3.3v, Rx, Tx, GND
In this photo, the customer has already added the UART pins. The board mounts upside down so the pins were placed on the reverse side to allow ease of access.
See UART howto
There is no need to remove or damage the device manufacturer's sticker unless you wish to access the u-boot switch without disassembling the case. The four screws are located under the friction pads.
Locating the UART
The UART is immediately West of the processor and very easy to see.
Add some nice to have links here. This includes related devices, and external links.
In early April 2018 the company released a firmware update. It is only 2554418 bytes in size. binwalk reports the following:
DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 48 0x30 ELF, 32-bit LSB executable, ARM, version 1 (SYSV) 200340 0x30E94 SHA256 hash constants, little endian 407696 0x63890 SHA256 hash constants, little endian 516732 0x7E27C SHA256 hash constants, little endian 519698 0x7EE12 Unix path: /proc/sys/crypto/fips_enabled 647825 0x9E291 Copyright string: "Copyright (C) 2000-2016 Free Software Foundation, Inc." 647880 0x9E2C8 Copyright string: "Copyright (C) 2012-2016 g10 Code GmbH" 647918 0x9E2EE Copyright string: "Copyright (C) 2013-2016 Jussi Kivilinna" 647980 0x9E32C SHA256 hash constants, little endian 668100 0xA31C4 CRC32 polynomial table, little endian 683952 0xA6FB0 Copyright string: "Copyright 2003, 2004, 2010, 2013, 2014, 2015, 2016 g10 Code GmbH"