Retro Games Ltd RGL001

Known as the C64-mini, this has a scaled down exterior of a commodore-64, which came with a bog standard A20 SoC inside, running an emulator.

= Identification =

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

= Sunxi support =

Current status
Unknown

Manual build
You can build things for yourself by following our Manual build howto and by choosing from the configurations available below.

Sunxi/Legacy U-Boot
Use the  build target.

Mainline U-Boot
Use the  build target.

Sunxi/Legacy Kernel
Use the  file.

Mainline kernel
Use the  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 default root password for the TheC64 (Mini and full size) as well as the The VIC 20 is "chuckpeddle".

FEL mode
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.

Board observations
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

Device disassembly
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.

= Pictures =

= See also =

Manufacturer images
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"