# Super Retro-Cade



## kuwanger (Sep 29, 2018)

So, after reading about the R-Type 3&Super R-Type thing, I decided to get a Super Retro-Cade.  After ordering, I actually bothered to check, and yes, it's another another one of those systems where there was accusations that it uses Retroarch cores that specifically prohibit commercial sale.  So, I decided to not cancel the order and do some snooping because even though I've searched a lot, I only found innuendo so far (and pretty strong implications).

Anyways, the Super Retro-Cade arrived, and I went to work hacking it.  First was just trying out a keyboard.  As another person noted, Ctrl+Alt+Del works.  But so do the Magic SysRq keys strongly implying they're using Linux as a basis--so possibly add the lack of source to the infraction list.  I ended up trying to use another system to connect through USB but that didn't get very far, so I tried to do something more crazy.  Someone mentioned the CPU was an H8 not unlike an Orange Pi.  So, the answer was obvious:  see if a Lakka image would boot off the SD card.

Turns out, it does--specifically I tried the Orange Pi Lite image, although it looks like the difference is in the uEnv.txt on what .dtb file (and maybe mapping) is used.  From there it was trivial to get a shell.  So, among other things I can confirm:


```
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
Memory: 180900K/262144K available (7168K kernel code, 336K rwdata, 1572K rodata, 3072K init, 274K bss, 15708K reserved, 65536K cma-reserved, 0K highmem)
/cpus/[email protected] missing clock-frequency property
/cpus/[email protected] missing clock-frequency property
/cpus/[email protected] missing clock-frequency property
/cpus/[email protected] missing clock-frequency property
SMP: Total of 4 processors activated (192.00 BogoMIPS).
```

Checking under sys and I found out the max cpu clock frequency is 1.2GHz.  All well and good, but the real problem is this:


```
[    1.021748] sunxi-mmc 1c0f000.mmc: Got CD GPIO
[    1.072321] sunxi-mmc 1c0f000.mmc: base:0xd085e000 irq:25
[    1.119616] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.122649] mmc0: new high speed SDHC card at address c552
[    1.122979] mmcblk0: mmc0:c552 SU04G 3.69 GiB
[    1.128004]  mmcblk0: p1 p2
[    1.132354] sunxi-mmc 1c10000.mmc: base:0xd087a000 irq:26
```

That is, the SDHC card is being mapped to an MMC but there seems to be another MMC which I presume is the onboard storage containing all the roms, emulators, etc.  I have limited understanding of MMCs and don't know how to map them to a device--clearly the kernel isn't doing it automatically.  My limited understanding is that different MMCs might require different drivers.  Or is this a matter of changing uEnv.txt to properly map it in?  Or am I entirely wrong and is this just a second alias of the first device?

Edit3: Instructions to access/dump the Super Retro-Cade (1-7).  Currently trying to use Lakka is a bad idea as everything pressed on the keyboard goes to terminal so you may accidentally run commands in the background.  Note:  These steps haven't been verified by anyone else but me so far.

To duplicate what I did you'll need an SD card ~1GB or bigger and for accessing/dumping some experience with the *nix shell:

1) Go to to http://lakka.tv.
2) Click Get and follow the steps to get the "Allwinner Orange Pi" image, "OrgangePi Lite" and write the image.
3) Boot once to allow the auto-resize of storage
4) On one partition is "uEnv.txt".  Change the first line to read: "bootargs=console=ttyS0,115200 console=tty0 boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2 consoleblank=0 quiet tty retroarch=0" (ie add "tty retroarch=0" to the end) to enable a terminal and disable auto starting retroarch service
5) On the second line change "sun8i-h3-orangepi-lite" to "sun8i-h3-bananapi-m2-plus" (or "sun8i-h3-orangepi-pc-plus.dtb" may work the same/better).
6) Put the SD into the Super Retro-Cade and let it boot up. You should end up with a Lakk:a# prompt in the corner. It should auto mount the nand/emmc/whatever to /storage/roms/<different partition names>
7) Use a keyboard connected to one of the USB ports and look in /storage/roms/. mmcblk2p1-... is partition one with the android system. mmcblk2p7-... is external/interal SD in Android parlance?  Games are in mmcblk2p7-.../media/GAME.  You can't simply add games there because the list needs updated somehow (possibly mmcblk2p1-.../data/com.cx.gamelaunchxc/files/gamelist.db).


----------



## WD_GASTER2 (Sep 29, 2018)

I looked into this a few months ago. Nice find on the SD card boot. on my end i tried to get it to boot into recovery mode. h8 SOC's usually have a way to do this, but was not able to find a way. if you are able to boot it this way, the question would be if the nand could be dumped, modified and then reflashed to an SD card and booted from there.


----------



## kuwanger (Sep 30, 2018)

A bit more fiddling, and I'm fairly certain it's Android based.  A few of my keyboard's multimedia keys work--power and mute specifically--which both invoke the Android UI and behave accordingly.  I'm also fairly certain the actually CPU is an H2/3 as the v7 Allwinner lines that include Mali-400 are those.  Simply changing the dts wasn't very successful.  As others have noted, the mouse doesn't do much.  So, I've not gotten very far and would entertain ideas.


----------



## ArugulaZ (Sep 30, 2018)

I've cracked the thing open out of curiosity and can tell you this... it doesn't have an internal USB port the way the Genesis Flashback HD did. There are three mysterious empty holes on the motherboard, however. I've asked around on the AtariAge forum and I'm told this is an older communication standard, LPT I think. You can access data from the Super Retro Cade if you wire up those three holes. Hopefully that will offer some assistance. Thanks for tackling this project, by the way.


----------



## kuwanger (Sep 30, 2018)

I'm not really a hardware guy.  I actually tried cracking mine open and only saw three screws. Was there a fourth under some plastic or was my efforts to pry it open unsuccessful for some other reason?  Is there any chance you could take a photo of the underside of the board?  It looks the upper two chips are the same type so I presume they're RAM--I can't make out the text to do a search to verify that.  Personally, I'd think the best bet would be to simply figure out how to get my Lakka image so it can recognize whatever storage the device uses.  If so, it'd be pretty trivial for others to dump and possibly modify their own units as well.

Oh, and another small note.  I did actually try out Retroarch from Lakka.  Everything seems to work fine and was able to get gba games to work.  The frame rate didn't make much sense though:  the rate would be ~55-56 fps but turning off frame throttling and it'd easily say in the 70 fps range.  I've seen this on other boards and don't know the why.  If nothing else if that could be worked out, people could always just use Lakka or some other Linux distro.


----------



## WD_GASTER2 (Sep 30, 2018)

the 3 "holes" is a tx rx interface. its used to program cell phones. i thought of buying a tool but since documentation on how to fiddle with anything there is non-existent i didnt bother.
if you all want to know what needs to be done to allow fiddling?
-nand needs to be dumped
-image decompiled
-settings .db needs to be edited to enable adb
-let homebrew begin!

that being said since i have no idea it could be achieved with this device its a moot point for me. lol. 
for anyone wondering it looks like its running android 5.0 or later and about 1gb of ram.


----------



## kuwanger (Sep 30, 2018)

And a little bit more finagling, I used "sun8i-h3-bananapi-m2-plus.dtb" on my Orange Pi Lite image and was able to dump the whole contents of internal memory.  I presume you can use the Lakka Banana Pi image directly, but I haven't bothered to test it.  Of interest:


```
Filesystem                Size      Used Available Use% Mounted on
...
/dev/mmcblk2p16         495.9M    384.0K    485.3M   0% /storage/roms/mmcblk2p16-57f8f4bc-abf4-655f-b
/dev/mmcblk2p1            1.5G     54.1M      1.4G   4% /storage/roms/mmcblk2p1-mmc-4FPD3R_0x5e984c6
/dev/mmcblk2p12          16.0M      4.0K     15.9M   0% /storage/roms/mmcblk2p12-2E6C-07B2
/dev/mmcblk2p7          619.9M    400.5M    206.7M  66% /storage/roms/mmcblk2p7-mmc-4FPD3R_0x5e984c6
/dev/mmcblk2p2          127.7M      7.6M    120.2M   6% /storage/roms/Volumn
```

With the games stored on mmcblk2p7-mmc-4FPD3R_0x5e984c6 and using only ~141MB (including thumbnails).  So, there's lots of room to add more directly to the system.

Also of interest on the same partition under lib/cores/:


```
fceumm_libretro_android.so
genesis_plus_gx_libretro_android.so
libMAME4droid.so
mame2003_libretro_android.so
mednafen_supergrafx_libretro_android.so
mgba_libretro_android.so
snes9x2010_libretro_android.so
vba_next_libretro_android.so
```

So, it definitely includes snes9x and is violating the license on it.  One thing I'd note is the system has only 256MB of RAM, not 1GB.  I'm not sure how to actually pull out the Android version from the filesystem, but it's definitely Android loading a gamelaunch.apk which contains a "libretroarch-activity.so".  So, mystery solved.


----------



## WD_GASTER2 (Sep 30, 2018)

wow thats amazing. amazing job.
are you able to write back to the nand? also did you dump it by blocks or one whole image?


----------



## Jhynjhiruu (Sep 30, 2018)

Hmm, this seems interesting. Watching...


----------



## kuwanger (Sep 30, 2018)

WD_GASTER2 said:


> are you able to write back to the nand? also did you dump it by blocks or one whole image?



I haven't actually checked if writes work, but I really see no reason why it shouldn't.  I mean, I presume that's how save/states are stored.  As far as dumping, I just did a filecopy.  Right now I'm actually using dd/gzip to rip the whole mmcblk2.  Hopefully it's less than ~2.4GB compressed since I only used a 4GB microSD. 

Edit: Finished and it was only ~542MB compressed.  You can definitely copy games over, but they don't appear in the list.  I presume this has something to do with a gamelist.db (which seems to be in sqlite format and contain various descriptive data) in the data/com.cx.gamelaunchxc/files/ folder.


----------



## WD_GASTER2 (Sep 30, 2018)

kuwanger said:


> I haven't actually checked if writes work, but I really see no reason why it shouldn't.  I mean, I presume that's how save/states are stored.  As far as dumping, I just did a filecopy.  Right now I'm actually using dd/gzip to rip the whole mmcblk2.  Hopefully it's less than ~2.4GB compressed since I only used a 4GB microSD.
> 
> Edit: Finished and it was only ~542MB compressed.  You can definitely copy games over, but they don't appear in the list.  I presume this has something to do with a gamelist.db (which seems to be in sqlite format and contain various descriptive data) in the data/com.cx.gamelaunchxc/files/ folder.



sending you a pm with a few questions if you dont mind. i am pretty sure you may have just found a way to run homebrew on this.
I am going to bed for a few hours. when i wake up i will dig mine up and lets see what we can do with this if its cool.


----------



## ArugulaZ (Sep 30, 2018)

Kuwanger: Most likely you missed a screw under a sticker. Generally that's where this stuff gets hidden... either that or a rubber foot.


----------



## kuwanger (Sep 30, 2018)

I wonder who chenguowen is:



Spoiler





```
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=KOT49H
ro.build.display.id=dolphin_aliyun_p1-eng 4.4.2 KOT49H 20170703 test-keys
ro.build.version.incremental=20170703
ro.build.version.sdk=19
ro.build.version.codename=REL
ro.build.date=2017年 07月 03日 星期一 18:24:50 CST
ro.build.date.utc=1499077490
ro.build.type=eng
ro.build.user=chenguowen
ro.build.host=sunchip
ro.build.tags=test-keys
ro.product.model=CXSD_H3
ro.product.brand=Allwinner
ro.product.name=dolphin_aliyun_p1
ro.product.device=dolphin_aliyun_p1
ro.product.board=exdroid
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=Allwinner
ro.wifi.channels=
ro.board.platform=dolphin
# ro.build.product is obsolete; use ro.product.device
ro.build.product=dolphin_aliyun_p1
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=dolphin_aliyun_p1-eng 4.4.2 KOT49H 20170703 test-keys
ro.build.fingerprint=Allwinner/dolphin_aliyun_p1/dolphin_aliyun_p1:4.4.2/KOT49H/20170703:eng/test-keys
ro.build.characteristics=homlet
persist.sys.cpupower=3
# end build properties
#
# ADDITIONAL_BUILD_PROPERTIES
#
persist.sys.disp_density=160
ro.hwc.sysrsl=5
ro.yunos.product.chip=H3
ro.yunos.product.vendor=allwinner
ro.yunos.product.device=dolphin_aliyun_p1
persist.sys.yunosflag=0
net.pppoe.active=true
ro.config.notification_sound=OnTheHunt.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
ro.tvos_codebase.version=2.2.0
ro.build.version.release=1.0.0-D-20170703.1824
sys.setcfg.ctp=true
ro.yunos.vm.jit_threshold_def=40
ro.yunos.vm.jit_codecache_def=1m
ro.yunos.vm.jit_threshold_low=1000
ro.yunos.vm.jit_codecache_low=256k
ro.platform.has.bluetooth=false
ro.product.locale.language=en
ro.product.locale.region=US
persist.sys.timezone=America/Chicago
drm.service.enabled=false
ro.softmouse.left.code=21
ro.softmouse.right.code=22
ro.softmouse.top.code=19
ro.softmouse.bottom.code=20
ro.softmouse.leftbtn.code=23
ro.softmouse.midbtn.code=-1
ro.softmouse.rightbtn.code=-1
ro.product.firmware=Homlet4.4.2-Qin2-v1.0rc1
audio.output.active=AUDIO_CODEC,AUDIO_HDMI
audio.input.active=AUDIO_CODEC
ro.sf.showhdmisettings=7
persist.sys.disp_init_exit=0
ro.kernel.android.checkjni=0
ro.opengles.version=196608
persist.sys.strictmode.visual=0
persist.sys.strictmode.disable=1
debug.hwc.showfps=0
persist.sys.disp_policy=3
persist.sys.hdmi_hpd=1
persist.sys.hdmi_rvthpd=0
persist.sys.cvbs_hpd=1
persist.sys.cvbs_rvthpd=0
ro.zygote.disable_gl_preload=true
persist.sys.usb.config=mtp,adb
ro.udisk.lable=dolphin
ro.adb.secure=0
ro.property.tabletUI=false
ro.property.fontScale=1.0
ro.sf.hwrotation=0
debug.hwui.render_dirty_regions=false
ro.property.max_video_height=2160
persist.evb_flag=1
ro.hwui.texture_cache_size=170
ro.hwui.layer_cache_size=135
ro.hwui.path_cache_size=34
ro.hwui.shap_cache_size=9
ro.hwui.drop_shadow_cache_size=17
ro.hwui.r_buffer_cache_size=17
ro.product.rom.type=YB
ro.product.rom.name=BoxRom
ro.sw.shortpressleadshut=true
ro.sw.directlypoweroff=true
persist.sys.country=US
persist.sys.language=en
persist.defaultHome=com.cx.gamelaunch
persist.defaultHomeClass=com.cx.gamelaunch.MainActivity
persist.sys.redKey=onkey_shurt
persist.sys.redKeyClass=onkey_shurt
persist.sys.blueKey=onkey_shurt
persist.sys.blueKeyClass=onkey_shurt
persist.sys.yellowKey=onkey_shurt
persist.sys.yellowKeyClass=onkey_shurt
persist.sys.greenKey=onkey_shurt
persist.sys.greenKeyClass=onkey_shurt
sys.mem.opt=true
ro.process.num=4
dalvik.vm.heapstartsize=4m
dalvik.vm.heapgrowthlimit=36m
persist.sys.dalvik.vm.lib=libdvm.so
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
# begin fota properties
ro.fota.platform=AW_H3_KK
ro.fota.type=box
ro.fota.oem=sunchipH3_KK
ro.fota.device=CXSD_H3
ro.fota.version=dolphin_aliyun_p1-eng 4.4.2 KOT49H 20170703 test-keys
# end fota properties
```




from build.prop.  Looked in settings.db and adb_enabled is 1.  No idea if it's possible to get that to actually work over usb.  No xpad.ko module, which explains why a lot of controllers don't work.  Funny enough there is snd-usb-audio.ko and snd-usbmidi-lib.ko and libdrmdecrypt.so.  At least according to the spec on the H3 it can do hardware assisted decoding of a lot of video at 1080p/4K so I guess it makes sense...

A (should be) complete file listing


----------



## WD_GASTER2 (Sep 30, 2018)

ok im out to buy an sd card to go to town with this. hopefully it should all go easy peasy


----------



## SonicMC (Sep 30, 2018)

Any guess if this would work on the retrobit generations? Would love to dump the games off it to play on something else; or change the emulators to something that runs better.


----------



## kuwanger (Sep 30, 2018)

I'd tend to say no.  Retro-bit Generations supposedly uses a low-end MIPS processor.  Lakka uses a variety of ARM/x86 CPUs as a base for its distro(s).  Having said that, you could try one of the MIPS Linux distros and see if any of those boot, but that's very much a shot in the dark.  If I hadn't been told the CPU was H3 I would have had to randomly check through the 63 device table blobs (basically hardware descriptions) for Linux for Lakka vs the ~14 for just H3.  Maybe MIPS is a lot less insane, though and any old image will work. *shrug*  ARM is pretty stupid.


----------



## WD_GASTER2 (Oct 1, 2018)

yep h8 sd card bootable images tend to play nicely. attempting to boot linaro on it as i type this.

cubieboard h8 images dont output video on boot. T_T  oh well. back to booting lakka


----------



## WD_GASTER2 (Oct 1, 2018)

ok i got all the wat to /storage/roms/

is there a way to dump the system partition to the sd card? do you which would be the command from here?

edit 
df -h did the trick.


----------



## WD_GASTER2 (Oct 4, 2018)

ok I can confirm at this time that homebrew (and also 3rd party apks)can run on this machine!
a dirty port of the generations dash is now launching (will need to be fully ported and tweaked to work properly)
md.emu runs amazing!!!! ( 60fps even with some filters, yay!!!)
took a lot of fidgeting but it works. lol.


----------



## kuwanger (Oct 4, 2018)

That's good to hear.  I tried a lot to poke around with the nand image and was able to find a .dtb file to use as a basis for Lakka.  One frustrating part about being Android based is the input lag.  Maybe someone more familiar with Allwinner boards could figure out how to generate the right setup.  The funny part is I only in the last day or two really started playing some of the games (other than the R-Type ones).


----------



## WD_GASTER2 (Oct 4, 2018)

tbh android is just linux for the most part. i wonder how lakka is speedwise with controller inputs.


----------



## kuwanger (Oct 4, 2018)

WD_GASTER2 said:


> tbh android is just linux for the most part. i wonder how lakka is speedwise with controller inputs.



Yes, but Android was designed with touchscreen input in mind and doesn't seem well optimized for gamepad input--those results suggest around 5-11 frames depending on input.  I imagine Lakka, being basically just a launcher for RetroArch, would be in the same ballpark as Retroarch on the Raspberry Pi--those results are in the 4.5-8 frames depending on PC vs Retropie and just how much effort has went into choosing more optimal choices.  The other factor, of course, is that those different tests aren't equivalent (different games were tested) and my gut feeling is that the numbers are actually a few frames higher for Android if they were the same game.

Of course the real test would be to actually do testing.  Unfortunately, I don't have any cameras that can do the 120+ fps to actually do such a test myself.  I'm also not entirely convinced that Lakka as is is a good comparison--I don't know if it's because the hardware is not being properly described in the dtb or it's something else.  I do know the results I get are pretty nonsensical though: from an earlier post "The frame rate didn't make much sense though: the rate would be ~55-56 fps but turning off frame throttling and it'd easily say in the 70 fps range."  Maybe if I fiddled around with the options a lot I could figure it out.

If you do have a camera able to do such tests, I'd be interested in the results.  I definitely think I notice a delay with games using the default launcher.  I'd be interested to know if it's just a placebo effect.


----------



## WD_GASTER2 (Oct 5, 2018)

btw i can now confirm that you can make a backup of your nand and boot it from an sd card. A LA emu-nand. also lakka is not needed to do this.
going to bed but retroarch can be booted off the emu-nanded (if that is even a term. lol) sd card.


----------



## kuwanger (Oct 6, 2018)

WD_GASTER2 said:


> btw i can now confirm that you can make a backup of your nand and boot it from an sd card. A LA emu-nand. also lakka is not needed to do this.



I tried that out and was able to add a game with the gamelist.db.  I also changed the boot logo (mostly to verify that'd work).  As far as lakka not being needed, I presume you mean that you can just dump nand onto the sd card directly to boot Android without needing to go through Lakka?  You still need some way to dump the nand first.  Makes me wonder if it'd be viable to enlarge partition 7.  In any case, one thing I discovered is the hardware really doesn't tolerate well having a slow SD card, but then I've seen similar behavior when you use a slow SD card/USB flash drive with Android in general.

Anyways, thanks for testing this out.  Makes me willing to be more daring when trying to fiddle with this.  Have you tried replacing gamelaunch.apk with the latest version of retroarch.apk to see if that works?


----------



## WD_GASTER2 (Oct 6, 2018)

so a few things:

1)lakka is no longer needed. at all. With a uart to usb the default image boots to a linux console that you can access through Putty. you can backup your nand from there.
2)you cant just change an apk and have it "boot" as launcher. you need to have an application that has the "launcher flag" active when the application is compiled.
3)I ported the generations dash that i programmed to it which has a "launcher flag" so it lets you pick if you want to start the default gamelaunch or my port of the generations dash on boot.
4) i installed retroarch on the emunand but its a PAIN IN THE ASS to configure (as retroarch has always been) i will go back to it later as my main focus is to polish up my port of the generations dash and which i am giving a new GUI for the retro-cade.
5) yes extending the partition for bigger SD cards would be a GODSEND for the emu nand stuff, but the good part? the explusalpha emulators play pretty decently with the hardware. I have been playing pc engine-cd games from the usb drive last 24 hours (boot to my generations dash then launch them from there).
6)booting the "emunand" from the SD card will work with no issue so long as you mentioned, you are using a fairly speedy micro sd card. I am using a 16gb microsd that was fairly cheap with a good speed rating and have no issue.

TLDR; custom firmware that boots from an "emunand" has been achieved on this thing in the last week. pretty crazy if you ask me(its clunky as hell tho at this time). your discoveries have been playing a big roll in this.cheers.


----------



## kuwanger (Oct 6, 2018)

I see.  Booting to a Linux console would be useful to also try to dump the kernel .config (if it has it (not sure if Android kernels even have the option)) for use in building an image from scratch or based on another image.  I agree Retroarch is a pain to configure, but I was mostly curious to know if newer version of Retroarch are faster/slower; Lakka and Super Retro-Cade both seem to be based on 1.4.x.  Preferable an image based on Retropie could be built since Emulation Station actually is pretty decent, although that's designed with the ability to connect to the internet in mind.  I haven't even bothered looking into the ports support connecting a hub*, but I'd presume that'd work so a wifi dongle should work.

Anyways, mostly rambling.  The biggest reason I'd like a clean image really is so that something can be built and distributed avoiding even needing to dump the nand at all--the image would be able to load any binary blobs off the nand as needed.  I do agree it's pretty crazy how easy it was--I literally LMAO when I saw Lakka booting.

* Keyboard, gamepad, and wifi is what I'm thinking and why two ports wouldn't be enough.


----------



## WD_GASTER2 (Oct 12, 2018)

short update. I bought a 1.1 and backed up the image. going through lakka i flashed my 1.0 retro-cades nand (via DD) 
it upgraded to 1.1 with no issue!
so thats good new i would guess.


----------



## kuwanger (Oct 12, 2018)

I always presumed they merely updated the image to change the gamelist.db and the appropriate files in media\GAME\ but it's nice to confirm.  I also presume you could downgrade 1.1 to 1.0.  It actually would be interesting to know if that's all the changes they made.  I think there was some talk of further optimization?  I don't care enough to get a second one to find out.


----------



## WD_GASTER2 (Oct 12, 2018)

yep. neo geo emulation performs better. I am sure there are more changes but thats noticeable off the bat.there is frame drop galore on some neo geo titles in 1.0. the cores seem to have been updated on this thing. so good stuff.


----------



## PSX_Specter (Oct 13, 2018)

Many thanks to kuwanger and WD GASTER2. You are sorcerers among men.I have had amazing success with Lakka for orange pi lite and tweaking the uEnv.txt variable to sun8i-h3-orangepi-pc.dtb. USB hub, wifi, USB ethernet adapter, many controllers are supported by Lakka's amazing driver base. I think the android video driver is better than what linux provides, but I had little to no issues running Playstation and Sega 32x. N64 is just too much for the little H3. Being able to tweak config files and add/remove roms via SMB and being able to use Putty is nice, too. For anyone interested, you will need a very fast sd card and its a good idea to remove the two red panels from the top half of the case so it can breathe. Manually adding the FBA 2012 core from github was necessary to get my fba games all working. YMMV. Can't wait to see the custom android based firmware. Keep up the good work !


----------



## ArugulaZ (Oct 13, 2018)

This is pretty sweet. For the moment, I'd just like to update the firmware to 1.1... is there any way for a layman to do this? What flavor of Lakka does this use? Can I just set an SD card into the system and run it at boot?


----------



## PSX_Specter (Oct 14, 2018)

ArugulaZ said:


> This is pretty sweet. For the moment, I'd just like to update the firmware to 1.1... is there any way for a layman to do this? What flavor of Lakka does this use? Can I just set an SD card into the system and run it at boot?



I can't help just yet with the android/original firmware/update part, but if you want to try lakka...

1.) Download this lakka build: le.builds.lakka.tv/Allwinner.orangepi_lite.arm/Lakka-Allwinner.orangepi_lite.arm-2.1.1.img.gz
2.) Extract the contents and write them to your sd card with win32 disk imager.
3.) Open the sd card on your pc and open uEnv.txt, then change the line that contains "sun8i-h3-orangepi-lite.dtb" and change it to read "sun8i-h3-orangepi-pc.dtb"
4.) Insert sd card into your super retro cade and turn it on. Lakka will resize the filesystem, reboot, and should ask you to set up your controller. 
6.) Now you need to add some games. You can either add them directly to your sd card from a linux environment, or you can access the lakka samba share from a windows pc. You will need to enable smb from the lakka services options to do so. I was able to use several wifi dongles I had laying around. My usb to ethernet adapter also worked. If you use wifi, be sure to enter your wifi key with the gamepad and NOT the keyboard or it will not work.


7.) If you have problems with saving settings changes, just shutdown the retro cade after you make the change via lakka's shutdown option, then turn it back on. Don't forget to put your bios files for pcengine cd, sega cd, playstation, etc. in the system directory. This can also be done from windows via the network share. 

If you experience sound stuttering or poor performance in SNES, Playstation, 32X, or anything else that "should" work normally, your sd card may be too slow. I had poor results with an average class 10 card with 35MB/s read and 10MB/s write. The card I am using now has 65MB/s read and 45MB/s write. Slower cards may work, though. This guide probably isn't very thorough, and I apologize in advance. Just trying to give everyone something to hold them over while the real magic is being worked on


----------



## kuwanger (Oct 14, 2018)

PSX_Specter said:


> If you experience sound stuttering or poor performance in SNES, Playstation, 32X, or anything else that "should" work normally, your sd card may be too slow. I had poor results with an average class 10 card with 35MB/s read and 10MB/s write. The card I am using now has 65MB/s read and 45MB/s write. Slower cards may work, though.



Thanks for that information.  I was wondering why I was having such questionable performance in various instances in the past with Retroarch.  I presume this means that Retroarch is doing "a lot" of reads, writes, or polls, so it might have more to do with I/O per second than actual throughput.  Well, yet another reason to get newer, non-junk SD cards.


----------



## WD_GASTER2 (Oct 14, 2018)

use a u1 or u3 class card and it performs pretty gangsta.


----------



## PSX_Specter (Oct 14, 2018)

kuwanger said:


> Thanks for that information.  I was wondering why I was having such questionable performance in various instances in the past with Retroarch.  I presume this means that Retroarch is doing "a lot" of reads, writes, or polls, so it might have more to do with I/O per second than actual throughput.  Well, yet another reason to get newer, non-junk SD cards.


I discovered that need for speed by accident. The same card works fine in my pi3 retropie setup. I wonder if this all works by pure luck due to lakka's included drivers. Roms can be loaded via usb on much slower media, so I don't think throughput is an issue, either. Now if I could just figure out how to mount my network share on lakka....


----------



## WD_GASTER2 (Oct 14, 2018)

PSX_Specter said:


> I discovered that need for speed by accident. The same card works fine in my pi3 retropie setup. I wonder if this all works by pure luck due to lakka's included drivers. Roms can be loaded via usb on much slower media, so I don't think throughput is an issue, either. Now if I could just figure out how to mount my network share on lakka....


it makes sense though, you want to try to get the closest to nand read and write speeds as possible.
to Mr. ArugulaZ:

read the first post. the rest becomes kind of self explanatory. you will need a usb keyboard a usb drive and the sd card that you are booting lakka from. nand dump your 1.1 to the usb and then flash to the nand of a 1.0 box by booting to lakka on the 1.0 box. google how to do DD commands in linux (as it requires the terminal)


----------



## PSX_Specter (Oct 14, 2018)

@WD_GASTER2, I was able to back up my nand to a usb stick via Putty with Lakka running, pretty slick. If I flashed Lakka to the nand, would I be able to restore it to the original image later on if I wanted to? Having Lakka on the nand could possibly eliminate the need for a fast sd card, because you could load roms from an external sd card or usb drive then. 
I changed the boot logo on the sd card I wrote my backup to so I can confirm it is booting and not the original firmware. In other words, I know my backup image is a good working copy.


----------



## WD_GASTER2 (Oct 14, 2018)

the way i managed to do it was to boot from an sd card with lakka to do the flash. if you flash a lakka image to the boards nand, theoretically it should work but to flash back you would need to boot from the sd card to perform the write to the boards nand. you cant dd on the disk that is running dd itself afaik.

either way i havent tried flashing lakka to the boards nand. so i cannot advise it or recommend it myself. if you proceed it be at your own risk.


----------



## kuwanger (Oct 14, 2018)

@WD_GASTER2, For the UART-to-USB, is something like this sufficient with connections to the TX/RX/GND holes right beside the SD slot?  I'm most curious since some more googling indicates there's a lot of other firmwares based on the same kernel (lots of H2/H3 TV boxes) so one of them might be useful to pick out kernel modules (I'm thinking mostly xpad.ko) but I'd rather actually boot into a Linux console on the actual built-in kernel to try that route.

Looking a little more into resizing partition 7, it's clear the partition table is broken:



Spoiler





```
Device                        Boot   Start     End Sectors  Size Id Type
superretrocade_1.1_dump.img1  *    4399104 7700479 3301376  1.6G  b W95 FAT32
superretrocade_1.1_dump.img2         73728  106495   32768   16M  6 FAT16
superretrocade_1.1_dump.img3             1 4292608 4292608    2G  5 Extended
superretrocade_1.1_dump.img5        106496  139263   32768   16M 83 Linux
superretrocade_1.1_dump.img6        139264  172031   32768   16M 83 Linux
superretrocade_1.1_dump.img7        172032 1482751 1310720  640M 83 Linux
superretrocade_1.1_dump.img8       1482752 1515519   32768   16M 83 Linux
superretrocade_1.1_dump.img9       1515520 1581055   65536   32M 83 Linux
superretrocade_1.1_dump.img10      1581056 3153919 1572864  768M 83 Linux
superretrocade_1.1_dump.img11      3153920 3186687   32768   16M 83 Linux
superretrocade_1.1_dump.img12      3186688 3219455   32768   16M 83 Linux
superretrocade_1.1_dump.img13      3219456 3252223   32768   16M 83 Linux
superretrocade_1.1_dump.img14      3252224 3317759   65536   32M 83 Linux
superretrocade_1.1_dump.img15      3317760 3350527   32768   16M 83 Linux
superretrocade_1.1_dump.img16      3350528 4399103 1048576  512M 83 Linux
```




As you can see the Extended partition is improperly overlapping partition 2 and it's clear the extended partition should be shifted up 106495 sectors so partition 16 isn't partially hanging outside of the Extended partition block.  I'm not really sure how to fix this broken mess. :/  In any case, more details about the partitions:



Spoiler





```
Partition 01 - the root partition
Partition 02 - FAT16 holding a copy of bootlog.bmp, battery images, some fonts, and some bin files (magic, script, script0) the latter of which seem to indicate some hardware information though I can't decipher the details
Partition 05 - Starts with less than 1K of what looks like uboot/kernel cmdline details and the rest is blank (so nearly 16MB free)
Partition 06 - Android Kernel
Partition 07 - Internal SD parittion
Partition 08 - Blank (16MB)
Partition 09 - Android Kernel (presumably backup)
Partition 10 - Recovery image (Allwinner format)
Partition 11 - Blank (16MB)
Partition 12 - FAT16 holding just tv_vdid.fex and disp_rsl.fex (16MB)
Partition 13 - Blank (16MB)
Partition 14 - Blank (32MB)
Partition 15 - Blank (16MB)
Partition 16 - Formatted Ext4 but seems empty except for lost+found/ (512MB)
```




So, beyond all the really bizarre arrangement, there's clearly ~608MB totally wasted space and about 1.4GB of space tied up in needless file system allocations.  I might at some point toy around with actually pruning the absurdity of all of that.  *shrug*

@PSX_Specter, I'd really advise against that.  At least until we're not just throwing various .dtb at the system and trying to have them stick.  I'm wondering if something about the *orangepi-pc.dtb vs the *orangepi-lite.dtb is not properly setting up throttling for the CPU which is why you notice yours getting so hot?  Honestly, I don't know what all .dtb cover but I do know the *orangepi-pc.dtb doesn't seem to actually see the nand.  Just the fact that we're sort of jerry-rigging the lite.img to use a different dtb because the orangepi-pc image doesn't work (IIRC) already tells me we're in pretty questionable territory.


----------



## WD_GASTER2 (Oct 14, 2018)

i used an ftdi break out board that lets you switch between 3.3 and 5v. to stray on the safe side i use the 3.3v:

https://www.newegg.com/Product/Prod...Vj7rACh2vzwrPEAYYAiABEgKmXPD_BwE&gclsrc=aw.ds

you just plug in the tx, rx and gnd to the back pins with some jumper cables and you plug in the micro usb part to a pc.


the cable you are putting up should work but havent tried it, you will probably need to piggy back it onto a vcc point on the board if you want to get it to work. 

as for the broken partition table i was aware of it. when you burn the nand image as an "emunand" image to an sd card i tried fixing the partition issues on the sd card with a few hard disk partitioning tools but that improperly mounted partition is stopping the tools ive tried from resizing. if that partition is corrected  making the 1.4 gb partiton (which emulates an "sd" card in android) resized to a bigger size would be trivial.


----------



## PSX_Specter (Oct 14, 2018)

I agree that lakka is very much a mad scientist's experiment at this time. Running cpu intensive games for a couple hours, my cpu temp maxed out at 62C. If the orange pi pc .dtb is disabling the cpu hotplug governor I am fine with that. Good trade off for the performance gain. I originally tried that .dtb because i read somewhere that the orange pi pc ran at 1.3ghz, and I couldn't find any other way to try to overclock  I am still left wondering... when the system is powered on, it makes a choice to boot from nand or sd card if one is plugged in. Is this decided by something contained in the onboard firmware, or something on the nand itself? That would influence how adventurous I would be with flashing lakka to the nand. It seems like the intended purpose of being able to boot from the sd slot would be to restore the system if the nand got borked. I don't know. Has anyone gotten any images other than orange pi linux, or lakka to boot into a reasonably usable state? I have tried a couple of images for set top boxes and tablets and I can get some video output but it always ends up freezing (missing hardware, lack of ram, who knows?) Being able to triple boot a linux desktop, custom android firmware, and lakka would be vulgar. I'm rambling. Keep up the great work, guys !


----------



## WD_GASTER2 (Oct 14, 2018)

PSX_Specter said:


> I agree that lakka is very much a mad scientist's experiment at this time. Running cpu intensive games for a couple hours, my cpu temp maxed out at 62C. If the orange pi pc .dtb is disabling the cpu hotplug governor I am fine with that. Good trade off for the performance gain. I originally tried that .dtb because i read somewhere that the orange pi pc ran at 1.3ghz, and I couldn't find any other way to try to overclock  I am still left wondering... when the system is powered on, it makes a choice to boot from nand or sd card if one is plugged in. Is this decided by something contained in the onboard firmware, or something on the nand itself? That would influence how adventurous I would be with flashing lakka to the nand. It seems like the intended purpose of being able to boot from the sd slot would be to restore the system if the nand got borked. I don't know. Has anyone gotten any images other than orange pi linux, or lakka to boot into a reasonably usable state? I have tried a couple of images for set top boxes and tablets and I can get some video output but it always ends up freezing (missing hardware, lack of ram, who knows?) Being able to triple boot a linux desktop, custom android firmware, and lakka would be vulgar. I'm rambling. Keep up the great work, guys !



its decided by the SOC.
on boot it looks for a file named magic.bin with a specific value. it gives priority to sd cards first. if not found there it will proceed to boot from the nand.


----------



## PSX_Specter (Oct 14, 2018)

WD_GASTER2 said:


> its decided by the SOC.
> on boot it looks for a file named magic.bin with a specific value. it gives priority to sd cards first. if not found there it will proceed to boot from the nand.



That's great news. It's my understanding then that flashing lakka to the nand presents very little risk since the nand can be restored by booting to the sd card if lakka doesnt want to work from the nand. Knowing now that it gives boot priority to the sd card, I'm not as afraid to risk it. (wringing hands and grinning like a maniac)


----------



## WD_GASTER2 (Oct 14, 2018)

PSX_Specter said:


> That's great news. It's my understanding then that flashing lakka to the nand presents very little risk since the nand can be restored by booting to the sd card if lakka doesnt want to work from the nand. Knowing now that it gives boot priority to the sd card, I'm not as afraid to risk it. (wringing hands and grinning like a maniac)


...except that lakka uses a different boot method. im trying to find it on the internet i was reading about it the other day. if you notice the primary partition of lakka lacks that magic.bin.
dunno if that will cause issues if it gets installed to the primary nand.

edit: im looking for the source right now. give me a little bit.


----------



## PSX_Specter (Oct 14, 2018)

WD_GASTER2 said:


> ...except that lakka uses a different boot method. im trying to find it on the internet i was reading about it the other day. if you notice the primary partition of lakka lacks that magic.bin.
> dunno if that will cause issues if it gets installed to the primary nand.
> 
> edit: im looking for the source right now. give me a little bit.



Good grief, I'm determined to brick this thing. If it's as easy as just adding magic.bin to the primary partition, that would be amazing.


----------



## WD_GASTER2 (Oct 14, 2018)

im just as crazy as you are. i like your attitude.
i cant find that stupid source but to show my point. if you nottice lakka uses the uenv.txt

http://linux-sunxi.org/UEnv.txt

i still wonder if the magic.bin file is the ultimate override to this. to be fair... i believe the worst case scenario would be getting stuck in lakka :S
screw it. ill go flash lakka myself and let you know how it goes.


----------



## PSX_Specter (Oct 14, 2018)

WD_GASTER2 said:


> im just as crazy as you are. i like your attitude.
> i cant find that stupid source but to show my point. if you nottice lakka uses the uenv.txt
> 
> http://linux-sunxi.org/UEnv.txt
> ...


My biggest fear is that with the orange pi pc.dtb in uEnv.txt, it won't recognize the nand that it's installed to, rendering it useless.


----------



## WD_GASTER2 (Oct 14, 2018)

im going in. ill let you know how it goes.


----------



## PSX_Specter (Oct 14, 2018)

WD_GASTER2 said:


> im going in. ill let you know how it goes.


Godspeed, Gaster. Shall you fall in battle, I myself will carry you through the gates of Valhalla!


----------



## WD_GASTER2 (Oct 14, 2018)

ok, so i can report that....
the device was bricked after the lakka flash to the internal nand ...
the good news is that i could still boot lakka from sd card and i am now flashing my 1.1 firmware to the device.


----------



## PSX_Specter (Oct 14, 2018)

WD_GASTER2 said:


> ok, so i can report that....
> the device was bricked after the lakka flash to the internal nand ...
> the good news is that i could still boot lakka from sd card and i am now flashing my 1.1 firmware to the device.


Ok, so we know that it will revert to booting to the sd card, that's great news. Can you try the standard orange pi lite image with sun8i-h3-bananapi-m2-plus.dtb and see if that works? If we can find the right combination of lakka image and uEnv. variables, this could still be viable.


----------



## WD_GASTER2 (Oct 14, 2018)

tried that too right now and also a brick


----------



## PSX_Specter (Oct 14, 2018)

PSX_Specter said:


> Ok, so we know that it will revert to booting to the sd card, that's great news. Can you try the standard orange pi lite image with sun8i-h3-bananapi-m2-plus.dtb and see if that works?





WD_GASTER2 said:


> tried that too right now and also a brick


Aww  Well, I thank you for trying. I wish I had a way to fiddle with the android side of things. I think video file playback would be better due to android's superior video driver. Can adb through usb be enabled on the stock retro cade image?


----------



## WD_GASTER2 (Oct 14, 2018)

while we cannot enable adb via usb. we can actually execute almost all if not all adb related commands over the uart cable. such as installing packages, setting times, temporary SU, logcats, writes, deletes, mounts, etc.
i have programmed a dashboard(launcher) that the retro-cade boots to instead of the default rom launcher the retro-cade has so we can launch other applications.
FYI, retroarch works decently over android. 

also for the curious:

1.0 had a psx core in the retroarch image. maybe we can launch ps1 games if we define a bios in the original retro-cade launcher cfg file. i will try that a bit later today.
1.1 has a pc engine core which if we install retroarch separately and map it to the /system/cores/lib will launch super cd-rom games provided you map a bios.


----------



## PSX_Specter (Oct 14, 2018)

WD_GASTER2 said:


> while we cannot enable adb via usb. we can actually execute almost all if not all adb related commands over the uart cable. such as installing packages, setting times, temporary SU, logcats, writes, deletes, mounts, etc.
> i have programmed a dashboard(launcher) that the retro-cade boots to instead of the default rom launcher the retro-cade has so we can launch other applications.
> FYI, retroarch works decently over android.
> 
> ...


I wonder if apps like netflix or sling tv can run on it? I'm tempted to buy the data east 10" arcade to try just that.


----------



## WD_GASTER2 (Oct 14, 2018)

maybe but a couple of issues:
i tried getting ethernet to run on android and no luck . if anybody can figure this one out they would be doing a huge achievment.

apps like netflix or sling... the processor will be able to handle it but it would easily tap out the 256mb of ram.


----------



## PSX_Specter (Oct 14, 2018)

WD_GASTER2 said:


> maybe but a couple of issues:
> i tried getting ethernet to run on android and no luck . if anybody can figure this one out they would be doing a huge achievment.
> 
> apps like netflix or sling... the processor will be able to handle it but it would easily tap out the 256mb of ram.


Any luck with mupen64(plus)?


----------



## ArugulaZ (Oct 15, 2018)

Well give me a crappy sitcom and call me Kimmy Gibbler! The Super Retrocade boots the image you supplied right away! I couldn't get it to work with any of the three Wi-Fi dongles I had on hand, but I can always boot to Linux on one of my PCs and transfer files that way. This is an interesting development for sure.


----------



## WD_GASTER2 (Oct 15, 2018)

you dont need to even boot to linux on a pc. I am not sure who gave you the lakka image, but all you need to do is execute stuff from the linux command line by following the opening post.


----------



## ArugulaZ (Oct 15, 2018)

Eh, no biggie. This worked too. What _didn't_ work were wifi dongles, and I tried three of them. Then again, I was using the second USB port on the SRC, not that it seems like it would make a difference.

I posted an article about this on my blog, if you'd care to read it. If you don't, it's there anyway. Credit was given to Gaster, Kuwanger, and PSX Specter for this hack.

https://kiblitzing.blogspot.com/2018/10/supercharging-super-retro-cade.html


----------



## WD_GASTER2 (Oct 15, 2018)

hey glad someone is going to town with this .
reading the article now.


----------



## kuwanger (Oct 15, 2018)

WD_GASTER2 said:


> tried that too right now and also a brick



Random thought.  The likely reason that it doesn't work is because the nand is at mmcblk2.  So, in uEnv.txt change "boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2" to "boot=/dev/mmcblk2p1 disk=/dev/mmcblk2p2".  I'm not saying it'll work (I haven't tested it), but it at least makes sense.


----------



## PSX_Specter (Oct 15, 2018)

kuwanger said:


> Random thought.  The likely reason that it doesn't work is because the nand is at mmcblk2.  So, in uEnv.txt change "boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2" to "boot=/dev/mmcblk2p1 disk=/dev/mmcblk2p2".  I'm not saying it'll work (I haven't tested it), but it at least makes sense.


Thanks for the advice. I will test this later and report back.


----------



## PSX_Specter (Oct 15, 2018)

PSX_Specter said:


> Thanks for the advice. I will test this later and report back.


No luck. Tried formatting the nand to FAT32 before flashing. Also no luck. Afterward, I had to format the nand to EXT-4 to get my original back up image to boot. As a side note, both lakka partitions were visible and browseable on the nand and I had no problems editing the uEnv.txt. I wouldn't be surprised if a simple fix is required to get lakka booting from the nand, but it's beyond my current linux/unix skills.

-Edit: I did not need to reformat the nand to get the original image to boot, turns out the SRC didn't like my usb card reader being plugged in when it tried to boot.
-Edit 2: I found that using sun8i-h3-orangepi-pc-plus.dtb on the orange pi lite lakka image will make the nand visable. You can load the built in games with lakka, if nothing else.


----------



## ArugulaZ (Oct 16, 2018)

A thought occurs. Why would you need to hack the system internally if you can just boot software from the SD card? Seems safer and more easily reversible that way.


----------



## WD_GASTER2 (Oct 16, 2018)

because that would free up the sd card slot to load stuff off the sd card.
frankly i use the android cfw and a usb stick for more expansion



PSX_Specter said:


> No luck. Tried formatting the nand to FAT32 before flashing. Also no luck.
> -Edit 2: I found that using sun8i-h3-orangepi-pc-plus.dtb on the orange pi lite lakka image will make the nand visable. You can load the built in games with lakka, if nothing else.



this how i dumped and flashed the internal nand as well.


----------



## PSX_Specter (Oct 16, 2018)

ArugulaZ said:


> A thought occurs. Why would you need to hack the system internally if you can just boot software from the SD card? Seems safer and more easily reversible that way.


Having lakka able to boot from the internal flash would free up the SD card slot, and possibly eliminate the need for a fast SD card. The system seems virtually unbrickable since it will always boot from the SD slot even if the nand won't boot. Having the SD card slot free means you can format your card to fat32, meaning you can transfer roms more easily.

--------------------- MERGED ---------------------------



WD_GASTER2 said:


> because that would free up the sd card slot to load stuff off the sd card.
> frankly i use the android cfw and a usb stick for more expansion


We can has your hacked dash?


----------



## WD_GASTER2 (Oct 16, 2018)

its still a bit off. i have to program some stuff to finish the generations dash port.
i am at an odd spot with it, if you will. my dash was made to play nice with explusalphas emulators (which you can install) but it can only load retroarch separately as an app (i am still trying to find out if retroarch has an onbroadcastlistener which is needed to load a game from an external app to retroarch.)
explusalphas emulators have an onbroadcastlistener which lets you load a rom to an emulator from an external app (which my generations dash did with the sega flashback)

I also need someones help that is good with photoshop to help with the gui that i am working on


----------



## PSX_Specter (Oct 16, 2018)

Can't wait to see what you've been cooking. Will it be bootable from flash or SD only?


----------



## WD_GASTER2 (Oct 16, 2018)

it works from both.
hell as a matter of fact you only would need win32diskimager to burn it to an sd card technically. it can run as an "emunand" firmware off the sd or as internal nand firmware.
though to be honest 2 things also happened recently that are interrupting with this.
1)I got a data east my arcade as a gift. this THING IS AMAZING. it literally is a full blown android image (almost like a tablet)
it has so much potential its absurd.

2)i got a go retro-portable (if i manage to play castlevania in a handheld like this, i would be happy ;.; )

so im messing with all 3 with my admittedly limited free time


----------



## PSX_Specter (Oct 16, 2018)

WD_GASTER2 said:


> it works from both.
> hell as a matter of fact you only would need win32diskimager to burn it to an sd card technically. it can run as an "emunand" firmware off the sd or as internal nand firmware.
> though to be honest 2 things also happened recently that are interrupting with this.
> 1)I got a data east my arcade as a gift. this THING IS AMAZING. it literally is a full blown android image (almost like a tablet)
> ...


That's awesome. Hoping the data east machine is network capable. That will influence my buying decision.


----------



## WD_GASTER2 (Oct 16, 2018)

the darn thing may be able to even support wifi or ethernet off the bat. pretty bananas.


----------



## PSX_Specter (Oct 16, 2018)

WD_GASTER2 said:


> the darn thing may be able to even support wifi or ethernet off the bat. pretty bananas.


If so, I want one to watch sling tv on my desk. Oh... and to play games, too, I suppose.


----------



## WD_GASTER2 (Oct 16, 2018)

I noticed there is a few facebook groups where this thread is making the rounds at...
to those that read the thread here (i rather post this here to keep my anonimity)
Part of the reason lakka is still a little buggy has more to do because a proper kernel needs to be compiled for the device...


for other questions being asked in those facebook groups:
RetroOrange Pi DOES boot on the device but the screen just turns completely black after its finished loading... kind of a bummer. if someone figures a way around this one more power to them.

Also to the folks at the Madlittlepixel group:
Hi!
lol.


----------



## kuwanger (Oct 16, 2018)

WD_GASTER2 said:


> RetroOrange Pi DOES boot on the device but the screen just turns completely black after its finished loading



Have you tried altering boot/script.bin to point to a different file?  If that doesn't work or you'd like to go in a little less blind, you can always add a line in rc.local above the "exit 0" to dump dmesg out to a file and maybe that'll give you some clues.  I'm supposed to be getting some more microSD cards today, so I plan to try to get RetroOrange Pi working as I actually quite like the Emulation Station interface.

Edit: Just checked and RetroOrange Pi boots straight to Emulation Station.  It took like 5+ minutes on first boot, and I'm using a relatively fast Sandisk 64GB A2 card.  Subsequent boots and it took over a minute.  Getting past the gamepad screen and Emulation Station is killed, probably by the Out of Memory killer.  Disabling zram doesn't help.  Adding a 1GB swapfile works except Emulation Station is pretty much unusable.  Overall, I'd say it's a no go.


----------



## PSX_Specter (Oct 16, 2018)

kuwanger said:


> Have you tried altering boot/script.bin to point to a different file?  If that doesn't work or you'd like to go in a little less blind, you can always add a line in rc.local above the "exit 0" to dump dmesg out to a file and maybe that'll give you some clues.  I'm supposed to be getting some more microSD cards today, so I plan to try to get RetroOrange Pi working as I actually quite like the Emulation Station interface.
> 
> Edit: Just checked and RetroOrange Pi boots straight to Emulation Station.  It took like 5+ minutes on first boot, and I'm using a relatively fast Sandisk 64GB A2 card.  Subsequent boots and it took over a minute.  Getting past the gamepad screen and Emulation Station is killed, probably by the Out of Memory killer.  Disabling zram doesn't help.  Adding a 1GB swapfile works except Emulation Station is pretty much unusable.  Overall, I'd say it's a no go.


I had the same experience with Retrorangepi, and wondered if a swap file would help. Thank you for saving me the headache. I wonder if retropie can be downloaded/built on the device in a debian environment. The original raspberry pi got it done on 256MB of ram


----------



## SonicMC (Oct 16, 2018)

Out of curiosity. Do you think the dump of the super retro-cade would run on an orange pi?

I only have the retrobit generations and an orange pi pc plus. so couldn't try it myself.


----------



## WD_GASTER2 (Oct 17, 2018)

I personally have no interest in trying that. 
I am pretty sure there could be plenty of legal issues surrounding that too.


----------



## PSX_Specter (Oct 17, 2018)

WD_GASTER2 said:


> I personally have no interest in trying that.
> I am pretty sure there could be plenty of legal issues surrounding that too.


Maybe we super retro cade owners are already guilty of receiving stolen property?


----------



## kuwanger (Oct 17, 2018)

Actually this is one reason why I'm curious if higan/bsnes works at all well on the Super Retro-Cade.  Lakka includes higan balanced/accuratcy so I really should check that out.  Mednafen is also licensed under the GPLv2 and includes snes (through bsnes) and genesis (through genesis plus which apparently is based on either an early GPL fork) so at least that principally allows for Retro-Bit to keep releasing the system if they switch cores, remove snes9x/genesis plus gx, and start releasing the source code.  But as is, yea, it's pretty clearly not legal* to distribute images even without all the Irem/Capcom/Data East/Techwhatever stuff because Retro-Bit has no right to distribute it which means further distributing it is further distributing pirated material.

Now, aside from that doing tests to see if an image works on your own Orange Pi (I don't have one) should be as legal as any other personal use tests.  Copyright only kicks in during distribution.

* IANAL, but that's my pretty clear understanding of Genesis Plus GX's very explicit non-commercial license and SNES9x's non-commercial without permissions with at least the 2005 and later branches having one author's copyright comment explicitly saying they'll never offer permission.

Edit: Just a small follow up.  Read the wrong libretro dir.  Lakka has higan not bsnes mercury performance.  No idea why Lakka failed to include it (maybe it's no better than higan balanced?).  In any case, higan balanced runs Super R-Type at ~22fps.  The Snes9x2010 core runs at a steady 60fps.  So, I don't think it'd be trivial (or maybe even possible) to switch cores, so they'd probably have to remove the games or figure out a way to get Mame running the snes games to use the same hardware and become licensing compliant--I don't think they could just demand people d/l the snes9x core off their website to an sd as any sort of legal loophole.  Fun enough although it might be the placebo effect, I'd say Lakka with the snes9x 2010 core runs smoother than their build of snes9x.


----------



## PSX_Specter (Oct 17, 2018)

I managed to get lakka to install and boot from nand. Had to install a developers version. This version doesn't seem to contain the uEnv.txt, so I am now trying different versions to see which performs best, etc. Unfortunately the versions I have tried have a locked down OS just like the current versions, so still no editing fstab or installing packages  . Installing to nand involved installing to sd card first, then running /usr/bin/emmc_install.sh for anyone interested. Google is your friend for finding the developer's versions. the ones that are for orangepi "plus" models will play nice with the onboard nand. Still much to do here, but it's something. BE AWARE: If you do this, the retro-cade may or may not automatically boot from SD card, you could be stuck with the buggy dev version of lakka you flashed to the nand. Noobs will break their robot.


----------



## WD_GASTER2 (Oct 18, 2018)

so umm in your particular case where you able to still boot from sd card afterwards?
because if so then you can just dump yourself an image of the current and write it to the internal nand in the future so you dont have to go through all of this again


----------



## PSX_Specter (Oct 18, 2018)

WD_GASTER2 said:


> so umm in your particular case where you able to still boot from sd card afterwards?
> because if so then you can just dump yourself an image of the current and write it to the internal nand in the future so you dont have to go through all of this again


I was able to boot from a card with an install of lakka on it. I could not boot a card with lakka "ready to install". It would revert to booting from the nand. If I understand you, I would have to make an install on a 4GB-ish card then dd it to the nand? Lakka doesn't support resizing the file system.


----------



## PSX_Specter (Oct 18, 2018)

WD_GASTER2 said:


> so umm in your particular case where you able to still boot from sd card afterwards?
> because if so then you can just dump yourself an image of the current and write it to the internal nand in the future so you dont have to go through all of this again


I just realized you may have been referring to the current lakka image.  I was never able to get it to boot from nand. Guessing if you have had it working, i messed up the syntax in uEnv.txt.


----------



## WD_GASTER2 (Oct 18, 2018)

what im saying is this:

you managed to install lakka and boot it to the nand right?

if so can you still boot from the sd card (the version of lakka that mounts the nand on the board separately)

and if so you can now dump the current nand snapshot which has a booting lakka image on your nand and keep it to simply dd the nand in the future.


----------



## PSX_Specter (Oct 18, 2018)

WD_GASTER2 said:


> what im saying is this:
> 
> you managed to install lakka and boot it to the nand right?
> 
> ...


I get you now. I haven't really had any issues to speak of other than the "pre-install" lakka card that wouldn't boot. I can always boot my 64GB card with all my games, etc on it and fix things right up through SSH. I tend to format the nand every time i try something new, so storing anything on it is no good. Who knows? I may end up just putting your custom dash on it, or just store roms on it. I have no need for a copy of the bootable nand with lakka as I have not found a setup that I am happy with yet. I can't use an orange pi lite image because it doesn't support nand and I can't just edit the uEnv.txt to enable it like we did previously because it doesn't exist. If anyone could give me any help in that regard it would be much appreciated.


----------



## WD_GASTER2 (Oct 19, 2018)

has anybody gotten their uart cables yet? i would appreciate some help if somebody would like to test the homebrew dash im porting.


----------



## WD_GASTER2 (Oct 20, 2018)




----------



## kuwanger (Oct 20, 2018)

Nifty.  I haven't gotten the uart cable mostly because I realized I have a CHIP so I should be able to connect the uart that way.  That is, if I ever get around to opening my Super Retro-Cade. :/  Honestly, I'm enough of an idiot that I'm afraid I'll break something.  I'd feel differently if I could do something semi-intelligent with a uart except possibly trying to dump logs or something, although I doubt even with that I'd be able to construct a valid dtb.  That's basically the only thing missing, IMHO.


----------



## PSX_Specter (Oct 20, 2018)

kuwanger said:


> Nifty.  I haven't gotten the uart cable mostly because I realized I have a CHIP so I should be able to connect the uart that way.  That is, if I ever get around to opening my Super Retro-Cade. :/  Honestly, I'm enough of an idiot that I'm afraid I'll break something.  I'd feel differently if I could do something semi-intelligent with a uart except possibly trying to dump logs or something, although I doubt even with that I'd be able to construct a valid dtb.  That's basically the only thing missing, IMHO.


I wonder if the good folks at Lakka would make a build for us if we asked nicely? Aside from what I presume to be memory leaks, the orangepi-pc(-plus).dtb on a orangepi-lite image seems very stable. Other .dtb's/builds tend to lock up when transferring large files. I have transferred 30GB+ without issue over usb to ethernet. A working version of openelec would be great, too. I found that the developer's version of lakka for beelink-x2 got starfox running nearly full speed on snes9x_2010 core with only the occasional audio crackle. Unfortunately I had terrible luck with arcade emulators on that build. I guess what I am saying is that there's still untapped potential. On the android side of things, I would love to see how the video decoding performs versus linux. Better memory management and the presumably better video driver could get some of the less demanding N64 titles working as well.
@WD_GASTER2: If I thought I could help you, I would gladly buy a usb to uart. About the only thing useful I have ever tried in android is adding .ko files to make game controllers work. Oh, and I added a nice "The Pirate Bay" boot logo to my Retro-cade's stock firmware.


----------



## kuwanger (Oct 20, 2018)

PSX_Specter said:


> I wonder if the good folks at Lakka would make a build for us if we asked nicely?



I wouldn't be surprised if they were willing to if we could provide them useful information* and the amount of effort was relatively trivial.  Then again, the whole matter with non-commercial emulators being used commercially might dissuade them from in any helping in use of the device.  *shrug*

I do find it very interesting that you experience lock ups from transferring large files.  I'm not sure if it's memory leaks causing the lock ups; I'd presume it's more that the system as a whole wasn't designed with only 256MB in mind and is frequently surpassing that amount**.  It would likely be useful to actual log what's going on in the system while it's happening to see if there's any specific pattern to it.  Unfortunately, I don't know of a good, simple tool for the task.

* For example, figuring out what hardware works with what dtb might give an idea of what the device arrangement/mapping is like.  The fact that sound doesn't work with some dtb or /sys/devices/system/cpu/cpufreq is sometimes missing could help narrow things down.  Probably the easiest thing would be for them to actually have one. 

** That might seem like a quibbling point, but if it's a matter of not being designed for it vs a a memory leak, the former is a lot easier to do something about.


----------



## PSX_Specter (Oct 20, 2018)

kuwanger said:


> I wouldn't be surprised if they were willing to if we could provide them useful information* and the amount of effort was relatively trivial.  Then again, the whole matter with non-commercial emulators being used commercially might dissuade them from in any helping in use of the device.  *shrug*
> 
> I do find it very interesting that you experience lock ups from transferring large files.  I'm not sure if it's memory leaks causing the lock ups; I'd presume it's more that the system as a whole wasn't designed with only 256MB in mind and is frequently surpassing that amount**.  It would likely be useful to actual log what's going on in the system while it's happening to see if there's any specific pattern to it.  Unfortunately, I don't know of a good, simple tool for the task.
> 
> ...


I believe you're right about the kernel being designed for a certain amount of ram. the orangepi lite has 512MB, making it the closest designed for our hardware in terms of ram, and Lakka does a nice job of hiding the out of memory crash by elegantly restarting. At least that's what I think is going on. Sometimes large neogeo games require a reboot or a couple tries to get loaded. (sigh) Remember what was accomplished on the OG Xbox with 64MB of ram?
Have you dug around in partition 2 to see if lakka is logging anything? I wouldn't know where to look.


----------



## kuwanger (Oct 21, 2018)

Lakka uses systemd so I believe "journalctl" should give useful results.  The logs should be stored in /var/log/journal/, but I don't think they survive a reboot.  So you can either copy them to /storage/ or possibly modify /etc/fstab to map some folder on /storage/ to point to /var to keep the logs.  I'm not exactly sure where the scripts are that do the actual mounting so I'm not 100% sure about fstab.  The other problem is that the root with /etc/fstab/ is in a squash filesystem on at least the release version so not trivially editable. :/


----------



## PSX_Specter (Oct 21, 2018)

kuwanger said:


> Lakka uses systemd so I believe "journalctl" should give useful results.  The logs should be stored in /var/log/journal/, but I don't think they survive a reboot.  So you can either copy them to /storage/ or possibly modify /etc/fstab to map some folder on /storage/ to point to /var to keep the logs.  I'm not exactly sure where the scripts are that do the actual mounting so I'm not 100% sure about fstab.  The other problem is that the root with /etc/fstab/ is in a squash filesystem on at least the release version so not trivially editable. :/


I was not able to produce anything useful in /var/log, just log.nmbd and log.smbd. There was no /var/log/journal/ after running journalctl. I did find something of interest, though. Our SOC is stamped H3Q, which to my googlestanding is an H3 with a quad core MALI 400 variant. Not sure what sbc's or tv boxes use that chip.


Edit- according to a post on atariage, "The SoC is an AllWinner H3Q (as seen in the OldSchoolRetroGamer review) which is basically the same as the R16 in the (S)NES mini"

UPDATE: Xbox 360 wireless controller w/pc dongle wasn't working correctly. My playstation 1/2 to usb adapter was not working, either. Tried Lakka-Allwinner.orangepi_lite.arm-2.1-rc6.img and presto ! They work. However, mame_2003 core didn't work at that point. Downloading it and placing it in the cores folder then rebooting fixed it. As before, edit uEnv.txt. Still testing the pros and cons of this setup, but having every controller I can get my hands on working now is pretty epic. Strangely enough, the first controller I tried was my logitech cordless rumblepad 2, and It didn't need configured. This has been the case with every image I have tried. Evidenty it's what lakka's developer is using. Performance seems to be the same between the release image we are using and the RC image. I didn't try running it from nand as it uses the uEnv boot method and not boot.scr, KERNEL, script.bin, and SYSTEM  like the nand bootable images.


----------



## WD_GASTER2 (Oct 24, 2018)

progress log for stuff on my last few days has been nearly non-existent. just added the ability to set your own wallpaper to my launcher via the sd card and SD card storage detection code.
it can also detect which version of the firmware you have.


----------



## ArugulaZ (Oct 24, 2018)

Gaster: Will this run straight from an SD card or will it need to be installed on the NAND?


----------



## WD_GASTER2 (Oct 25, 2018)

it can work from both. though to be fair its kind of nerfed when running from the SD. the kernel doesnt detect the SD as an external storage  but as a nand when booted this way. Although if people are interested in this they will probably have to buy a 5 dollar uart to usb cable on amazon to give themselves the full access to install homebrew.


----------



## kuwanger (Oct 25, 2018)

So, a little over a week ago I sent an email to Retro-Bit asking for the source to all the emulator stuff they used (because GPLv2), and I got an automated reply saying I'd get a response in 48-72 hours.  Eight days later (a couple days ago), I got a reply "Thank you for your email! A representative from our customer support team will be in contact with you shortly."  So, maybe next week I'll actually hear something from them?


----------



## PSX_Specter (Oct 25, 2018)

WD_GASTER2 said:


> it can work from both. though to be fair its kind of nerfed when running from the SD. the kernel doesnt detect the SD as an external storage  but as a nand when booted this way. Although if people are interested in this they will probably have to buy a 5 dollar uart to usb cable on amazon to give themselves the full access to install homebrew.


Guess I will be ordering a uart to usb and getting my learn on. Does it need to be six pin or five pin? Are there specific protocols it needs to adhere to in able to work with the retro-cade? Have you got a media player running yet? I would love to know how the device performs vs linux in that regard. In my experience with my odroid c2, the performance difference between the linux and android driver for the mali gpu is huge. I want the crappy retro-bit OS off my emmc. If I have to change the aspect ratio of a game one more time I may be tempted to change the aspect ratio of the device with a hammer 
@kuwanger : That's a pretty interesting development. Well poised, asking for the source. If they try to cheese out and send you a linux distro or some other OS image or something, it's still good. If they don't respond appropriately in any way, then I guess it would just be more proof of shady business practices. Maybe the super retro-cades were all manufactured on a boat in the south pacific and are as such governed by maritime law... and kaiju.


----------



## WD_GASTER2 (Oct 26, 2018)

i use this:

https://www.newegg.com/Product/Prod...Vj7rACh2vzwrPEAYYAiABEgKmXPD_BwE&gclsrc=aw.ds

i set the jumper to 3.3 and just connect the rx tx and gnd respectively. from there putty works wonders. think of it controlling linux through command line.


----------



## WD_GASTER2 (Nov 2, 2018)

Well im happy with this so far. Still thinking if i should re-do the UI to allocate for a GBA banner. :S meh probably not.
I think this is as far the dash can go either way. quite frankly i should be porting this dash to the tinkerboard. dem 2 gb's of ram would be nice to have.


----------



## ArugulaZ (Nov 8, 2018)

Any time you want to make this an SD card image, I'm all over it!


----------



## kuwanger (Nov 15, 2018)

Just a small non-update update.  It's been a month since I email Retro-Bit about them releasing the source to all the GPLv2 bits they used (and tried to see if they'd give any dts or hardware details).  The last reply I got (after their first reply) was on October 26 and says more or less the same as the last one:  "Thank you for your email and thank you for your support!  Regarding your request, I will pass this down to the development department and see what they can get."

Maybe in the next month, I'll get yet another email basically saying the same thing.    I just hope they don't sign me up to any of their mailing lists (if they have any).


----------



## PSX_Specter (Nov 18, 2018)

kuwanger said:


> Just a small non-update update.  It's been a month since I email Retro-Bit about them releasing the source to all the GPLv2 bits they used (and tried to see if they'd give any dts or hardware details).  The last reply I got (after their first reply) was on October 26 and says more or less the same as the last one:  "Thank you for your email and thank you for your support!  Regarding your request, I will pass this down to the development department and see what they can get."
> 
> Maybe in the next month, I'll get yet another email basically saying the same thing.    I just hope they don't sign me up to any of their mailing lists (if they have any).


Keeping my fingers crossed, hoping they will send you something useful. (Dear Santa, please send us a 100% working and correct linux distro and/or SDK for our retro-cades. We would also like an android image with networking enabled. We have been mostly good all year, and are prepared to strike up a deal involving cookies and milk in exchange for the aforementioned software. The best to you and yours, from your fans at GBAtemp.)


----------



## kuwanger (Nov 18, 2018)

PSX_Specter said:


> We have been mostly good all year, and are prepared to strike up a deal involving cookies and milk



You dare bribe Santa?!


----------



## WD_GASTER2 (Nov 18, 2018)

wow. somebody must have gotten a service ticket in their dept out of your request and probably is just sitting on it.


----------



## Sausageyeah (Jan 7, 2019)

Hey folks, just wondering if there's been any further progress on this recently?


----------



## kuwanger (Jan 8, 2019)

Not really.  Haven't gotten any further emails.  Presumably one could use the latest build of Lakka.  Not sure if all the kinks have been worked out on what image and dtb to use?  If you're interested in toying around, feel free to try.  Maybe you'll find a good combination that allows everything to work well?  *shrug*


----------



## Pixel_Sweat (Jan 22, 2019)

Hi folks I'm new to the forums and would really like to know if anyone has gotten PC Engine CD, TG16 CD or Genesis CD ROMs working on the Super Retro-Cade version 1.1? 

I'm not that tech savvy and can't seem to figure out how to do it, if they even work at all. 

I've no problem adding most games and artwork. Just the CD based ROMs. 

Any help/advice would be greatly appreciated because I'm desperate to play a bunch of shmups from those systems, thanks.


----------



## PSX_Specter (Mar 14, 2019)

Pixel_Sweat said:


> Hi folks I'm new to the forums and would really like to know if anyone has gotten PC Engine CD, TG16 CD or Genesis CD ROMs working on the Super Retro-Cade version 1.1?
> 
> I'm not that tech savvy and can't seem to figure out how to do it, if they even work at all.
> 
> ...


I recall I was able to run sega cd on the stock firmware, but it is much better to just boot lakka.
Better emulation overall, more emulators, more options, support for many more controllers, supports
SD cards larger than 32GB, you can add a usb hub, add a wifi dongle or usb ethernet adapter for easy
rom transfers...I honestly quit using the stock firmware as soon as I found this thread. Never looked back.
I had the best results using the release candidate version I mentioned elsewhere in this thread.

TLDR :  1) Study this thread. 2) Make an SD card with a lakka image. 3) Laugh maniacally at the insane
amount of upgrades you have now on your special little toy.


----------



## WarMasterXX (Apr 5, 2019)

OK, I did everything up to Step 6 in the original post. Now can someone tell me what I need to do in order to copy/dump all the roms on the system to the SD card, if it's possible? I'd really like to legally have all the Final Fight games in my ROM library...


----------



## kuwanger (Apr 5, 2019)

WarMasterXX said:


> Now can someone tell me what I need to do in order to copy/dump all the roms on the system to the SD card, if it's possible



Assuming my instructions were correct and I didn't forget anything, it should be as simple as:


```
cp -av /storage/roms/mmcblk2p7-*/media/GAME super_retrocade_games
sync
shutdown -h now
```

The first copies the specified games folder to the SD card.  The second syncs the data to be sure any cache of the games is flushed.  The third shuts down the system safely.  The screen should blank after ~5-10 seconds and then it should be safe to power off the system.  The total contents for the games + screenshots should only take up ~143MB.

Of some interest, the hash of Final Fight 2 doesn't seem to match any of the no intro set.  I noticed the same of other games in the collection.  Perhaps it's to remove/change text/logos, as I know Mega Man 2/3 has similar removing references to Nintendo.


----------



## WarMasterXX (Apr 5, 2019)

All right, I did the commands, but after doing the third, it says "System halted" and it just sits there and doesn't shut down. Furthermore, when I put the SD card back in my computer, none of the ROMs are on there. What's wrong?


----------



## kuwanger (Apr 5, 2019)

WarMasterXX said:


> All right, I did the commands, but after doing the third, it says "System halted" and it just sits there and doesn't shut down. Furthermore, when I put the SD card back in my computer, none of the ROMs are on there. What's wrong?



First, when you do the "cp" command do you see a bunch of files listed as copied?  Do all the second parts look like "/storage/Final Fight 2.sfc"?  Does it give you any error about a read-only filesystem?  If not, the copy did work.  The problem is you need some like ext2read or a ext2 filesystem driver to read the contents of the second partition with the games.  The second option is to remount the read-writable first partition which is fat.  So:


```
mount -o rw,remount /flash/
cp -av /storage/roms/mmcblk2p7-*/media/GAME /flash/super_retrocade_games
sync
shutdown -h now
```

Sorry about the not remember it's "System halt" not blanking the screen.  But yea, I'd wait a few seconds after that just to be safe.


----------



## WarMasterXX (Apr 5, 2019)

I used ext2read, and I was able to find and save the games to my computer. Thank You for all of this.


----------



## rhester72 (Apr 7, 2019)

Does anyone have a full image dump of a *virgin* V1.0 system?


----------



## ArugulaZ (Apr 9, 2019)

I've tried two different computers and have had no luck downloading this file... it cuts off about a gig into the transfer. Will this be hosted elsewhere?


----------



## WarMasterXX (Apr 11, 2019)

OK, I've got all the ROMs I want from the Retrocade and reformatted the Lakka SD card back to a normal SD card, because I don't wanna leave the retrocade modded (I have my reasons).

Unfortunately, now every time I start the retrocade with the SD card inserted (even without Lakka on it), the system starts booting Lakka anyway and then freezes up trying to read uEnv.txt!

Is there any way I can remove the remaining traces of Lakka from the system?


----------



## kuwanger (Apr 11, 2019)

Sounds to me that there's two possibilities.  One, any SD card inserted with a specially flagged boot partition may cause it to try to look for uEnv.txt--not entirely sure how much of the ARM boot process is in the hardware vs x86.  Two, the SD card wasn't entirely formatted leaving a boot loader on the card that tries to boot uEnv.txt.  If you were using linux, I'd suggest using dd.  For Windows, I have no idea if the official SD Formatter does a proper job totally erasing the card if you choose full erase/format, but I'd go with that approach as a start.


----------



## WarMasterXX (Apr 11, 2019)

Using the official SD formatter did the trick.
Thanks again.


----------



## Slaminger (Apr 13, 2019)

This should work the same way I modded Atari flashback 8 gold. Cut the tip off a USB cord(not the end that goes into the PC). White to tx, green to rx, ground to black. Connect USB to PC n turn device on. Install ADB on PC. Open command and type adb devices, you should get a reply. Now you can use Linux commands to make system writeable, explore directories and push/pull files. Look for the game folder to verify rom extensions. Look for the games and config ini to add games and settings. Also don't connect the red 5v to anything.


----------



## WD_GASTER2 (Apr 14, 2019)

Slaminger said:


> This should work the same way I modded Atari flashback 8 gold. Cut the tip off a USB cord(not the end that goes into the PC). White to tx, green to rx, ground to black. Connect USB to PC n turn device on. Install ADB on PC. Open command and type adb devices, you should get a reply. Now you can use Linux commands to make system writeable, explore directories and push/pull files. Look for the game folder to verify rom extensions. Look for the games and config ini to add games and settings. Also don't connect the red 5v to anything.


with all due respect this is GROSSLY innacurate and dangerous advice to give. the tx rx interface on this board is SERIAL and not the same used in a USB bus. directly connecting it to one can damage the retro-cade, the usb port on the pc or both. you require a UART with a serial to usb converter chipset installed.

fyi the one installed in the Atari by atgames IS a usb rx tx interface. (its a usb port interface)


----------



## PSX_Specter (Apr 19, 2019)

WD_GASTER2 said:


> with all due respect this is GROSSLY innacurate and dangerous advice to give. the tx rx interface on this board is SERIAL and not the same used in a USB bus. directly connecting it to one can damage the retro-cade, the usb port on the pc or both. you require a UART with a serial to usb converter chipset installed.
> 
> fyi the one installed in the Atari by atgames IS a usb rx tx interface. (its a usb port interface)



I've finally got an USB to serial adapter ordered. Can I just install nova launcher via ADB (ala the data east 10" arcade hack) to have an android desktop on my SRC?


----------



## WD_GASTER2 (Apr 20, 2019)

you can definitely try. not sure how hard that is going to be on the 256mb of ram (oof)


----------



## PSX_Specter (Apr 27, 2019)

I have configured my uart and am able to start a putty connection but I can't seem to figure out how to point adb install to the apk i'm trying to install. I tried this...
[email protected]_aliyun_p1:/ # set PATH="%PATH%;%ProgramFiles%\putty"
[email protected]_aliyun_p1:/ # adb install Nova_Launcher_v5.5.4.apk

The apk file is located in C:\Program Files\PuTTY\
This results in "can't find 'Nova_Launcher_v5.5.4.apk' to install".
Can someone give me a shove in the right direction? I have no idea what I'm doing.


----------



## WD_GASTER2 (Apr 27, 2019)

rename your apk to something like "1.apk"
pop it in the sd card slot.
then punch in df command.
it will give you the path to the sd card
"pm install \path\to\your\sd\card\1.apk"

warning: make sure you know the common android name of your apk to uninstall ex: "pm uninstall com.whatheverthecrapthepackageisname.etc"

what i did to make my life easier i programmed my launcher to give the common android name of all the apps in the app drawer so i knew what they were all called.


----------



## PSX_Specter (Apr 27, 2019)

WD_GASTER2 said:


> rename your apk to something like "1.apk"
> pop it in the sd card slot.
> then punch in df command.
> it will give you the path to the sd card
> "pm install \path\to\your\sd\card\1.apk"


Namaste. Thanks so much for that. Had enough of a headache from setting up the converter. Had to swap Tx and Rx. Gah!


----------



## WD_GASTER2 (Apr 27, 2019)

PSX_Specter said:


> Namaste. Thanks so much for that. Had enough of a headache from setting up the converter. Had to swap Tx and Rx. Gah!


uart gets easier once you get the hang of it. good luck!


----------



## PSX_Specter (Apr 27, 2019)

WD_GASTER2 said:


> uart gets easier once you get the hang of it. good luck!


Nova launcher is unable to be selected as the default app on startup, and refuses to uninstall.
It was worth a shot. might try a newer version. Your launcher might be a better place for me to start.


----------



## WD_GASTER2 (Apr 27, 2019)

did the uart return a succesful install message?


----------



## PSX_Specter (Apr 27, 2019)

WD_GASTER2 said:


> did the uart return a succesful install message?


Yes. The app seemed to install just fine and does appear on startup. It lets me choose between the built in gamelauncher.apk and nova launcher, but I can't progress past that. Maybe an issue with write permissions? Maybe nova launcher doesn't work like I had hoped due to the stripped down OS?


----------



## WD_GASTER2 (May 2, 2019)

sorry for not giving a better reply earlier. still want to try my dash? i think its as finished as its going to get:














Full disclaimer, i used some icons from the Alekfull NX from the recallbox. I suck at making icons.
before i send it out to you i will change the icons so i can send it with no issue. the wallpaper in the background can be set by the user to whatever they want.
fyi to the mods: this not related to official firmware in any way just a homebrew dashboard that can run on the retrocade. hopefully thats ok


----------



## PSX_Specter (May 5, 2019)

I'd love to try it. Is there an app drawer? I would have some good educational fun being able to try some other emulators and apps. A media player like VLC would be a welcome addition as the one in lakka is not great, using a reduced color palette. I'd also like to try emulating some of the less demanding N64 titles. All about trying to squeeze more functionality out of it... like the data east 10"... but thats another thread.


----------



## WD_GASTER2 (May 5, 2019)

ill clean up the current build and send you my dash. just give me a day or so.
to be fair expect this to perform worse than the 10 arcade thing. Its only 256mb of ram and 112mb by the time the thing is under load. i wouldnt hold my breath for n64 or vlc sadly. :/



As the video above shows. psone is a possibility provided you use epsxe with your apk backed up from a phone or something.


----------



## ArugulaZ (May 8, 2019)

I'd just like to know how to upgrade the firmware. I've got it on the system; I'm just not sure where to go from there.

I feel like I'm smashing my head against a brick wall here, but is there a step by step process for updating the firmware on this system? I would love to have this at its full potential, but I'm just not sure what I'd need to do to upgrade it safely. Nobody is talking about this system anymore, and I'm not going to pay $60+ dollars for another SRC just for the privilege of a firmware update Retro-Bit should supply its customers by default!

Or maybe I should just be satisfied that I've got Lakka running on it. Grumble.


----------



## Sausageyeah (Jun 13, 2019)

ArugulaZ said:


> I'd just like to know how to upgrade the firmware. I've got it on the system; I'm just not sure where to go from there.


I'll second that, some sort of easy to follow guide for a firmware update would be fantastic.


----------



## kuwanger (Jun 13, 2019)

Mostly tried this out.  You'll need an 8GB+ (16GB+ prefered) microSD/SD and a USB keyboard.

1) If using Windows, download and extract ext2explorer:  https://sourceforge.net/projects/ext2read/
2) Go to to http://lakka.tv.
3) Click Get and follow the steps to get the "Allwinner Orange Pi" image, "OrgangePi Lite" and write the image using the instructions provided from lakka.tv on the microSD/SD.
4) On the Super Retro-Cade, boot once to allow the auto-resize of storage (it'll take a while)
5) Back in WIndows, on one partition is "uEnv.txt". Use Notepad++ or similar and change the first line to read: "bootargs=console=ttyS0,115200 console=tty0 boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2 consoleblank=0 quiet tty retroarch=0" (ie add "tty retroarch=0" to the end) to enable a terminal and disable auto starting retroarch service
6) On the second line change "sun8i-h3-orangepi-lite" to "sun8i-h3-orangepi-pc-plus.dtb" -- this will allow the nand to be visible.
7) Use ext2explorer (run as administrator) to access the second partition and copy the firmware there.
8) SD back in the Super Retro-Cade, let it boot up. You should end up with a Lakka# prompt in the corner. It should auto mount the nand/emmc/whatever to /storage/roms/<different partition names>
9) With the USB keyboard connected, you'll need to umount all the nand partitoin stuff:  "umount /dev/mmcblk2p*"; it'll complain about all the stuff not actually mounted.
10) You should already be in storage.  If you type "ls" you should see your firmware listed.
11) If (10) is true, you should first backup your current firmware with "dd if=/dev/mmcblk2 of=firmware_backup.img bs=1M".  When done, "ls -l firmware_backup.img" and it should be ~3.7GB big.
12) if (11) is true, you can try writing over a new firmware.  This is the destructive bit, and not something I've verified (but it should work).  If things go wrong, you should be able to follow step (14) to recover your Super Retro-Cade.  Having said that, if you want to take the risk and presuming you named your firmware "firmware.img", use "dd if=firmware.img of=/dev/mmcblk2 bs=1M".
13) You might want to run "sync" first.  But definitely run "shutdown -h now".  You should see a "reboot: System halted".  And that point, turn off the Super Retro-Cade, take out the SD card, and reboot and see if the firmware works.
14) If something went wrong and presuming you made a backup, power off the Super Retro-Cade, follow steps 8-10, and then do "dd if=firmware_backup.img of=/dev/mmcblk2 bs=1M".

I can't stress enough that I haven't verified any of this, but it should be as straight forward as the above.  AFAIK, so long as you have a good firmware you should be able to boot from the SD slot and restore a firmware.  Personally, I'm not interested in risking it.


----------



## PSX_Specter (Jun 14, 2019)

@kuwanger , thank you for taking the time to put that guide together. Thanks for being curious enough to try booting Lakka in the first place. I've had a lot of fun with it and certainly learned a few things along the way.


----------



## kuwanger (Jun 14, 2019)

PSX_Specter said:


> thank you for taking the time to put that guide together.



No problem.  If someone does follow my guide, has issues following it, completes it successfully, has suggestions, etc, I'd be very welcome to hear about it.



PSX_Specter said:


> Thanks for being curious enough to try booting Lakka in the first place. I've had a lot of fun with it and certainly learned a few things along the way.



I was honestly rather surprised at how trivially it worked.  Most other hardware requires some finagling at least or knowing some secret information.  So, *shrug*.  I just got lucky.  Good to hear you've learned some things, btw.  I have too, as there's basically never a time where there isn't lots to learn.


----------



## ArugulaZ (Jun 15, 2019)

Thanks. I'll give this a shot later... kinda need a little rest right now. This sounds very do-able, though!

EDIT: Working at it now. This EXT program won't grant write access, even as administrator. Any other suggestions for a program of this type?

EDIT: Screw it. I had Lakka on here already, but now I'm starting from scratch. Gosh, wouldn't it have been NICE if Retro-Bit just gave us the damn firmware instead of making us pay another sixty dollars for a second system?!

EDIT: The instructions don't work. The uEnv.txt file is slightly different than described on my unit, looking like this:

_bootargs=console=ttyS0,115200 console=tty0 boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2 consoleblank=0 quiet
bootcmd=load mmc_

Changing the uEnv.txt file as directed results in this endless loop.






Furthermore, the Lakka_Disk partition cannot be changed with Ext2Explorer, nor can files be sent to the root in Ubuntu. I suspect that either Ext2Explorer does not have the ability to change files, or the Lakka image is at least partially read only. I've tried, but permissions cannot be changed. 

I'm disappointed, but you at least made an effort to support this system. More than I can say for Retro-Bit, which says it can't offer a patch online but will cheerfully give me a discount on a second Super Retro-Cade. (Seriously? So what do I do with the first one, use it as a paperweight?)


----------



## PSX_Specter (Jun 27, 2019)

@ArugulaZ . It sounds like maybe you didn't let lakka install before modifying the uenv.txt (step 4)? IDK.
If you can get lakka working, there is more than one way to do this. I personally use putty to connect to the retrocade from my pc using an USB to ethernet adapter, and run a terminal window from there to do backups/flashes with the dd command. The firmware you wish to flash to the device can be on an external USB drive. or your lakka SD card. The dd command line will have to be carefully modified to suit your particular situation. Use the df command to help you figure out which drive is what (mmcblk0, etc.) so you don't accidentally wipe out a partition or drive that you didn't intend to. Hope this helps.


----------



## kuwanger (Jun 27, 2019)

ArugulaZ said:


> EDIT: The instructions don't work. The uEnv.txt file is slightly different than described on my unit, looking like this:



Just tried with Orange Pi Lite 2.2.2.  uEnv.txt by default looks like:


```
bootargs=console=ttyS0,115200 console=tty0 boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2 consoleblank=0 quiet
bootcmd=load mmc 0:1 0x43000000 sun8i-h3-orangepi-lite.dtb; load mmc 0:1 0x42000000 KERNEL; bootz 0x42000000 - 0x43000000
```

Following step 4 to resize, it's the same.  Then 5 and 6 turn it to:


```
bootargs=console=ttyS0,115200 console=tty0 boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2 consoleblank=0 quiet tty retroarch=0
bootcmd=load mmc 0:1 0x43000000 sun8i-h3-orangepi-pc-plus.dtb; load mmc 0:1 0x42000000 KERNEL; bootz 0x42000000 - 0x43000000
```

I can also confirm this boots to a terminal.  I'm not sure what step you're tripping up on, but you should be able to get at least that far with the instructions I provided.



PSX_Specter said:


> It sounds like maybe you didn't let lakka install before modifying the uenv.txt (step 4)?



Nah, uenv.txt isn't altered during the resize.  The point of doing the resize first is so you can edit the uenv.txt and copy over the new firmware at the same time.  The other reason is I'm not sure if it's the retroarch service that kicks off the resize or something else, so it's simpler to go with what I know works--the default uenv.txt will do the resize properly.  Looks like he ended up have a uenv.txt that's chopped off partly that's the problem.



PSX_Specter said:


> The firmware you wish to flash to the device can be on an external USB drive. or your lakka SD card.



That's an idea.  I didn't include such instructions and went with the ext2explorer because I didn't want to confuse people into accidentally deleting the wrong partition. :/  I imagine a fat32 usb drive would be the actually easiest approach for Windows users.


----------



## ArugulaZ (Jun 27, 2019)

THANK YOU. Yep, that seemed to do the trick! I'm running Codename Viper right now with the crisp graphics it probably should have had in the first place. I had to switch directories to reach the new firmware before I installed it (you may recall that I couldn't put it directly on the root directory), but once I did that the install went pretty smoothly.  Thanks again. I wasn't eager to pay sixty dollars for a replacement unit.


----------



## ssybesma (Sep 2, 2019)

PSX_Specter said:


> I can't help just yet with the android/original firmware/update part, but if you want to try lakka...
> 1.) Download this lakka build: le.builds.lakka.tv/Allwinner.orangepi_lite.arm/Lakka-Allwinner.orangepi_lite.arm-2.1.1.img.gz
> 2.) Extract the contents and write them to your sd card with win32 disk imager.
> 3.) Open the sd card on your pc and open uEnv.txt, then change the line that contains "sun8i-h3-orangepi-lite.dtb" and change it to read "sun8i-h3-orangepi-pc.dtb"
> 4.) Insert sd card into your super retro cade and turn it on. Lakka will resize the filesystem, reboot, and should ask you to set up your controller.



Hello PSX_Specter,

I'm dead at step number four (just a Lakka prompt but I can use the keyboard to bring up the setup program if I knew what it's name was).

I happened to use the latest version of orangepi_lite.arm which is now 2.2.2, and I did make the change to the uEnv.txt file as indicated ("sun8i-h3-orangepi-lite.dtb" did
appear as you indicated and I was able to change it to "sun8i-h3-orangepi-pc.dtb" and save to the SD CARD that the Lakka image was copied to with Win32 Disk Imager).

All that happened on boot was it resized the filesystem and rebooted as you said would happen...just that it never asked to setup any controllers.

Right now, just sitting at a prompt...

Lakka:~ # _

I did "ls -al" on many different directories to search for a setup/configuration program but didn't find one.

What should my next step be to force the setup/configuration program to come up?

Thanks!


----------



## ssybesma (Sep 2, 2019)

PSX_Specter,

What did you mean by installing Lakka before modifying uenv.txt?

You were quoted a couple messages up from here, but maybe I'm taking out of context?

The instructions said to modify it on the PC and then boot the RBSRC from the SD card which is what I did.

BTW, my unit already has firmware version 1.1 so at least I don't need to flash anything.

Was hoping to use Lakka for connectivity, keyboard access and as my game launcher.

Thanks!


----------



## Wolfenprey (Oct 1, 2019)

Hello people, at first: Sorry if my english, or maybe "engrish" it´s or seems terrible. You know, not my first language... :/

I followed this thread, for around some days, because i have a little device that mounts the same exact, main board, but it´s not a Super Retro Cade, (maybe some day i can buy one, i havent had enough luck to see one on my country, at a decent price).

The device i have it´s an little console from our friends of China, that i bought on an offer on a famous chinese online store months ago, because why not, and because i got a good price. I have two orange pi too, one lite and one PC Plus, and reading this thread, i just tried a lakka image on my device, and, MAGIC, it boots. I dismounted the thing, and discovered that the same board, same specs are inside, Android with a custom launcher, and some random roms with random and strange thumbnails. The model of my console is a "Coolbaby RS-93" (sigh), you can find some info on YT, and see the entrails, the same as the Retro Cade. There is another model with the same case, but runs on another board and SOC, "Coolbaby RS-34" i think, the "good" one is RS-93. 

My point here:  i´m pretty sure the Retro Cade Firmware can work with my machine, (no, i will not ask for it, i´m not such a tech boy, and know about the legal issues), Lakka works so well, im testing it a lot, and works better than the original chinese firmware. (GBA emulation on my device its abismal! rest of the supported emus, mame, genesis, snes and nes, works so well,but all with that stupid bilinear filtering enabled....)

Well, i want to try to backup the firm, and play a bit without destroy everything, i know this thread seems a bit dead, but just wanted to share this, maybe someone can find it useful, and can try things with that device model if somebody have one!.

Thanks!


----------



## WD_GASTER2 (Oct 1, 2019)

I will buy an rs-93. if its an allwinner device booting lakka, I can probably port android to it (if it atleast has 512mb of ram) from there options and homebrew would expand significantly.


----------



## Wolfenprey (Oct 3, 2019)

WD_GASTER2 said:


> I will buy an rs-93. if its an allwinner device booting lakka, I can probably port android to it (if it atleast has 512mb of ram) from there options and homebrew would expand significantly.



Well AFAIK, board inside the RS-93, it´s exactly the same as the Retro Cade, but, with a chinese firmware with a couple of random roms. It seems to have 256mb of RAM, if i remember well. I will take another look inside lakka for be sure and share the specs if you want.


----------



## WD_GASTER2 (Oct 3, 2019)

Wolfenprey said:


> Well AFAIK, board inside the RS-93, it´s exactly the same as the Retro Cade, but, with a chinese firmware with a couple of random roms. It seems to have 256mb of RAM, if i remember well. I will take another look inside lakka for be sure and share the specs if you want.


if you are able to take pictures that be great. I ordered mine but may take up to 20 days. hate ordering stuff overseas.
can you take a screenshot of what happense when you press select + start in the middle of a game being emulated?

You see the question is what type of android LRD did they use for this. if they didnt half ass it, with any luck we could get retroarch (an updated version) with network support (with a usb ethernet adapter) bearing that, a clean android image could be made from it as well if thats what its running in the backend as well.


----------



## tjsmith3 (Oct 3, 2019)

Is there a way to get my super retrocade to recognize the genesis mini controller?


----------



## Wolfenprey (Oct 5, 2019)

Ok sorry for the wait. This is what you can see:




This is the menu... With an sd card inserted with some roms, that you have to put as "001.xxx.zip", "002.xxx.zip" etc. Dont know how to make appear an thumbnail or screenshot as image in menu.



Pressing "SELECT+START" promts you to save or cancel, and then exits the game.



Detail of the "warning" when you start a game, it seems to use some sort of retroarch cores for sure. That appears on nes, snes and genesis/megadrive games, not on arcade/mame ones.

If i connect a keyboard with multimedia keys i can up or down the volume and see the typical android prompt of volume control. Cannot close or go away from the launcher. It detects mouse too, but, cannot make anything, you can see the cursor pointer on a corner of the screen but cannot move or use it.

If you need more things, i´m ready. 




WD_GASTER2 said:


> if you are able to take pictures that be great. I ordered mine but may take up to 20 days. hate ordering stuff overseas.
> can you take a screenshot of what happense when you press select + start in the middle of a game being emulated?
> 
> You see the question is what type of android LRD did they use for this. if they didnt half ass it, with any luck we could get retroarch (an updated version) with network support (with a usb ethernet adapter) bearing that, a clean android image could be made from it as well if thats what its running in the backend as well.


----------



## WD_GASTER2 (Oct 5, 2019)

LOL. thats android running retroarch!
This is exciting news. if they are using a generic image, it could be stripped of all the copyrighted junk and maybe a distributable image could be done that allows homebrew! (since this would use no copyrighted front end like the retro-cade!)
All conjecture at this point but man I would need to dump an image (i have to wait for my nonsense to arrive in the mail  )
wonderful news all around if its the same hardware as the retro-cade we may get a bootable image for both devices! 
I might PM you with some more questions.


----------



## Wolfenprey (Oct 5, 2019)

WD_GASTER2 said:


> LOL. thats android running retroarch!
> This is exciting news. if they are using a generic image, it could be stripped of all the copyrighted junk and maybe a distributable image could be done that allows homebrew! (since this would use no copyrighted front end like the retro-cade!)
> All conjecture at this point but man I would need to dump an image (i have to wait for my nonsense to arrive in the mail  )
> wonderful news all around if its the same hardware as the retro-cade we may get a bootable image for both devices!
> I might PM you with some more questions.



Perfect!  If i can help, i will do it. Just be afraid of my shifts at work, i ever do nights, sometimes i can be "slow" to response! :/


----------



## WD_GASTER2 (Oct 20, 2019)

it should just be a few more days. I am tracking my package and its here in LA now. so just a bit longer


----------



## Wolfenprey (Oct 23, 2019)

WD_GASTER2 said:


> it should just be a few more days. I am tracking my package and its here in LA now. so just a bit longer



Perfect! I´m tempted to try your custom firmware for the Super Retro Cade, but maybe i just wait ;D


----------



## Deleted member 502272 (Jan 26, 2020)

I Just stumbled on the Japanese versions. Looks Like the Generations IV released on July 5th 2018.
Is there ever going to be a newer version of this unit released?


----------



## OMC1979 (Jun 12, 2020)

I have started a new thread for Super Retro-Cade users who don't want to use a CFW.
Super Retro-Cade: OFW users
I hope you'll find it useful or at least interesting.


----------



## yuppicide (Dec 8, 2020)

kuwanger said:


> Mostly tried this out.  You'll need an 8GB+ (16GB+ prefered) microSD/SD and a USB keyboard.
> 
> 1) If using Windows, download and extract ext2explorer:
> 2) Go to to
> ...



I downloaded the file. I flashed it to my SD card. I booted up and nothing ever happens. Black screen. Lakka says I should see a logo? I never have.

I know the SD card works in the system because previously I loaded some ROMS on it as a test and it worked fine.

Anybody know what to do?


----------



## kjetil_f (Aug 31, 2022)

Hi, guys. This seems quite interesting. But can anyone dumb this down for me a bit? I would like to access this device so I can dump/copy the already installed ROMs. What would be the easiest way to achieve this?


----------



## kjetil_f (Sep 1, 2022)

kuwanger said:


> 7) Use a keyboard connected to one of the USB ports and look in /storage/roms/. mmcblk2p1-... is partition one with the android system. mmcblk2p7-... is external/interal SD in Android parlance?  Games are in mmcblk2p7-.../media/GAME.  You can't simply add games there because the list needs updated somehow (possibly mmcblk2p1-.../data/com.cx.gamelaunchxc/files/gamelist.db).


Sorry for hijacking this old post, but I'm a total noob when it comes to this kind of stuff. As far as I understand all the preinstalled games and assets can be found inside " mmcblk2p7-.../media/GAME" How can I make a copy of the ROMs to my SD card so I can use them on other devices?


----------



## FAST6191 (Sep 1, 2022)

kjetil_f said:


> Sorry for hijacking this old post, but I'm a total noob when it comes to this kind of stuff. As far as I understand all the preinstalled games and assets can be found inside " mmcblk2p7-.../media/GAME" How can I make a copy of the ROMs to my SD card so I can use them on other devices?


The user that posted this died a couple of years ago and the other doing stuff has not been here since July. Don't know who else was particularly invested in this but you are free to ask and someone else lurking might know.

Are the ROMs that hard to come by vs whatever I might find on the billion ROM sites/torrents/whatever out there? It was mentioned in a later post they differed to the no-intro set ( https://no-intro.org/ collect and redump things to be the purest out there, some package them up into sets and you might find those on various ROM sites) but I don't think we are dealing with new and interesting bug fixes (we saw those, and new translations, when things appeared on the wii and the virtual console there) as much as maybe a few tile hacks to not mention it being supported by Nintendo, maybe red crosses for health packs converted to something else and other such minor legal boring nonsense.

Looking at the post then this is a *nix based system (possibly Android based which is a distant descendant) as was mentioned and terminal access was gained which makes life easier if you know what is going on.
*nix is the term often used as it encompasses everything, though in reality the vast vast majority of things will be Linux based as most alternatives are far less free and far less developed. Substitute Linux wherever you see that and for the most part you will not go wrong, and your searches will probably bring up more useful information.
Everything on *nix runs through the file system at some level and at its base there are set directories that few mess with/are common to all of them, and general philosophies that unite things. It is odd to deal with at first but compared to Windows which is a complete mess and probably always will be it makes it better in the end for a lot of things like this.
https://linuxhandbook.com/linux-directory-structure/ hopefully covers the structure to make things a bit clearer.

For copying data from places to the SD card a basic command was given in
https://gbatemp.net/threads/super-retro-cade.519483/page-6#post-8580871
If on Windows the SD card will likely not be formatted to something stock windows recognises, to that end get a Linux machine if you have one (you can download a CD/make a USB and boot off that), or get a tool that views the various Linux partitions and formattings (in this case it seems to be the older but still popular ext2 format). https://www.howtogeek.com/112888/3-ways-to-access-your-linux-partitions-from-windows/ has a few choice methods, though for simple file grabbing then ext2manager will probably do rather than something more exotic.

A slightly more in depth discussion of the directories was given in an earlier post
https://gbatemp.net/threads/super-retro-cade.519483/#post-8310711


----------



## kjetil_f (Sep 5, 2022)

Thank you for your thorough response. It's always sad when someone pass away.

I know I can always find the ROMs elsewhere, but I like to create backup-copies of my own purchases. I think it makes the ROM collection a bit more personal. You have helped me a lot in narrowing down what to do.

Unfortunately the original Orange Pi image they have been using are no longer available. Had no luck yet, but I'll see if I'll get something to work properly.


----------



## FAST6191 (Sep 5, 2022)

Interesting. Never met that one before -- personal saves is obvious, met those that ponder legal issues of downloading vs dumping, those that did it for the challenge, those that prefer physical media and more besides but files is generally considered files for these sorts of purposes.

Most Linux distros will also contain archives of their older works, or have them archived somewhere. Specifics can be hard for anything that is not high on https://distrowatch.com/dwres.php?resource=popularity or on https://distrowatch.com/dwres.php?resource=major but most things linux are mirrored in many places, and may still have torrents.
In this case https://le-builds.lakka.tv/legacy-2.3/Allwinner.orangepi_lite.arm/ is probably where you want to start looking for something here. If it is still an active project then do also see if there is a contact page or method for them as what is not online might be on someone's hard drive somewhere and getting random devices working with things is what many a Linux type (and these are far from an exception -- the amount of versions they have attesting to that) are all too happy to assist in.

Alternatively if there is a compatible version that is more current the changes required to make it boot seem rather basic text file twiddling (granted depending upon the era then most things in Linux are there) rather than anything drastic. The same tools you would be using to access the SD card after dumping would also allow you access to the relevant text config files.


----------



## LuckyCharms0815 (Sep 13, 2022)

Hi you guys, sorry to hear about your loss. My condolences. I just wanted to ask you if anyone can clarify if dumping the roms from the device  via the Linux image will only work with the US version of the device? And if so, because I own the European version I wanted to ask if there is any guidance on how to access the Linux console and dump the roms on the device via UART with Putty after soldering header pins onto the device? Things like settings in Putty (Baud rate) and eventual passwords? Any help would be greatly appreciated.


----------



## FAST6191 (Sep 13, 2022)

I am not sure what differences an EU model would have. Having never seen either nor seen anybody speculate or mention things in this I am completely unaware of anything, at the same time I don't necessary see any different region updates (though such things could be merged easily enough) and I doubt they actually care about people dumping things enough to play counter hacker.

For most things these days it means it ships with a different plug (60Hz screens have been common here since... probably since the games were new never mind post shift to HDMI), and maybe some different certifications if they are being good boys. However I can not rule out something more annoying happening vis a vis rights to things and thus different images.

To that end start following what is there. If something messes up then we can try to see what else might need to be done.


----------



## kjetil_f (Sep 15, 2022)

LuckyCharms0815 said:


> Hi you guys, sorry to hear about your loss. My condolences. I just wanted to ask you if anyone can clarify if dumping the roms from the device  via the Linux image will only work with the US version of the device? And if so, because I own the European version I wanted to ask if there is any guidance on how to access the Linux console and dump the roms on the device via UART with Putty after soldering header pins onto the device? Things like settings in Putty (Baud rate) and eventual passwords? Any help would be greatly appreciated.


I got the European version as well. I got this link from a guy on Reddit. Who said it worked on the Super Retro-Cade. (Couldn't post a link, but you will find it on the top of the SuperRetrocade subreddit)

Don't know if it works with the EU version though.

The Lakka/SD card way says "Permission denied" when I try to enter the mmcblk2p7 folder. Not sure why.


----------



## kjetil_f (Sep 15, 2022)

FAST6191 said:


> I am not sure what differences an EU model would have.


They removed the ability load arcade ROMs from the SD card at least.


----------



## LuckyCharms0815 (Sep 25, 2022)

kjetil_f said:


> I got the European version as well. I got this link from a guy on Reddit. Who said it worked on the Super Retro-Cade. (Couldn't post a link, but you will find it on the top of the SuperRetrocade subreddit)
> 
> Don't know if it works with the EU version though.
> 
> The Lakka/SD card way says "Permission denied" when I try to enter the mmcblk2p7 folder. Not sure why.


It seems like they simply removed the access permissions for this folder via chmod on the European version. 
I am thinking of buying the US version as well just to dump the roms, but it seems on eBay only version 1.1. of the US version is available. I wonder if it is still possible there? 
The UART method on the other hand seems like a surefire method to me, as it most likely unlocks more administrative privileges but even though I took some Embedded Systems at a UAS I can’t quite figure out how to do it. Soldering and finding an UART should be easy, but Putty asks for a Baud Rate for the device and I don’t quite know which one to enter.


----------



## kjetil_f (Sep 27, 2022)

LuckyCharms0815 said:


> I am thinking of buying the US version as well just to dump the roms, but it seems on eBay only version 1.1. of the US version is available. I wonder if it is still possible there?


Since they also removed the ability to play arcade ROMs on the European 1.1 version, I'm guessing that's when they removed access permissions as well. So it probably works fine on the American 1.1. Someone in this thread can probably confirm if it works.


----------



## LuckyCharms0815 (Sep 30, 2022)

So I gave the UART method a shot, because the components were only about 10 bucks on Amazon and it turned out that no soldering is required and the Baud rate is also easy to figure out. This indeed gives you a root shell on the device but unfortunately this is where things stopped for me. Kuwangers guide doesn’t seem to apply with this method, the mmc… folders are nowhere to be found, so I figured they had to be somewhere else. I remember seeing them talk about retrieving the folder from a NAND dump, but I don’t know how to pull that off. Is this the data partition that can be found via the „mount“ command?


----------



## kjetil_f (Oct 3, 2022)

LuckyCharms0815 said:


> no soldering is required


How does that work? You just use tape or something?


----------



## LuckyCharms0815 (Oct 3, 2022)

kjetil_f said:


> How does that work? You just use tape or something?


Did‘nt have to use tape at all. You could use fishing line, but that is not even necessary. Just buy Male to female jumper wire and connect it that way, it will fit simply by sticking the male jumper connector into the hole. I can confirm that the UART method works for the European unit now. All you need to do is get the UART going and then dd the system partition and mount it. Good luck!


----------



## LuckyCharms0815 (Oct 3, 2022)

LuckyCharms0815 said:


> Did‘nt have to use tape at all. You could use fishing line, but that is not even necessary. Just buy Male to female jumper wire and connect it that way, it will fit simply by sticking the male jumper connector into the hole. I can confirm that the UART method works for the European unit now. All you need to do is get the UART going and then dd the system partition and mount it. Good luck!


Whatever you do, just don’t distribute it. In my case I just did it because save states for SNES and NES were so slow that games where unplayable when you need to save often.


----------



## FAST6191 (Oct 3, 2022)

Not necessarily for the retrocade but the general principle for those not used to UART/serial fun


----------



## LuckyCharms0815 (Oct 3, 2022)

LuckyCharms0815 said:


> Whatever you do, just don’t distribute it. In my case I just did it because save states for SNES and NES were so slow that games where unplayable when you need to save often.


Also I dream of putting these files onto a Pi for Pi2Jamma at least once in a lifetime.  Hope they release way more Arcade collections to buy and hack, that would be great.


----------



## LuckyCharms0815 (Oct 3, 2022)

FAST6191 said:


> Not necessarily for the retrocade but the general principle for those not used to UART/serial fun



Thanks for sharing btw.


----------



## kjetil_f (Oct 5, 2022)

LuckyCharms0815 said:


> and then dd the system partition and mount it.


So glad it worked out. I want to give it a shot myself. Would you mind pointing me in the right direction on what to do on the software side of things. Don't expect you to do a full on tutorial just for me, but I've never done this kind of things before and are very curious. I plug the USB into my computer and then what? Is this something I can do from the Command Promt in Windows, or do I need to do this in Linux? And what sort of commands am I suppose to use?


----------



## FAST6191 (Oct 6, 2022)

kjetil_f said:


> So glad it worked out. I want to give it a shot myself. Would you mind pointing me in the right direction on what to do on the software side of things. Don't expect you to do a full on tutorial just for me, but I've never done this kind of things before and are very curious. I plug the USB into my computer and then what? Is this something I can do from the Command Promt in Windows, or do I need to do this in Linux? And what sort of commands am I suppose to use?


Going to be limited to the general case but going with the idea that understanding general principles is good/the way I try to roll rather than copy-pasting a list of arcane commands and hoping it works.

Most things in this sort of world these days are better in Linux but Windows should be able to be slapped hard enough still. You can do it from stock command line ( https://windowsreport.com/telnet-windows-11/ or https://learn.microsoft.com/en-us/windows/terminal/tutorials/ssh depending upon what goes) but most would instead suggest putty rather than messing around with command line programs if you are new to this all https://www.chiark.greenend.org.uk/~sgtatham/putty/ . Leave the command line stuff until you are a grizzled sysadmin https://xkcd.com/705/ or doing some kind of production run/hacking a batch of things.

The video covered the general case. UART/serial debugging is usually designed to be quite simple both as it is a very old concept and designed for simpler devices.
The USB is likely just an adapter and breakout pins to fake an old serial/RS232 port, might need some drivers on Windows (and often enough, even on high end industrial gear, I have had to fight them a bit/go manual to install things). If you have an old computer or certain modern ones with a serial port you could possibly even use that, though that might also need to find a cable/breakout adapter and at that point I would get the USB for either future use if this is something you like (there are rather more protocols to debug/program/sort inter device communication for electronics http://dangerousprototypes.com/docs/Bus_Pirate ) or resale.

Commands wise there are two general approaches used in devices. In both cases you remote controlling the device via the cable so whatever you are signing in from is largely immaterial.

1) It exposes a standard command line for itself. Here whatever *nix commands it supports (which are unlikely to be all that many, stripping things out of embedded devices like this is common to get sizes/memory footprints down, though usually still including the stock ones to move around directories and copy files which is what you likely care about here -- https://www.unixtutorial.org/basic-unix-commands ) you get to play with.
2) It is its own custom shell/terminal. I typically see this on the weaker devices (I was somewhat surprised in the video linked above that it was not this*) or ones that at least want fig leaf/"we tried" security. Here commands can be completely and utterly custom, though help, manual, obvious commands, commands from similar known devices, dumping binaries and searching strings, hoping autocomplete (in most things this is pressing tab either once or a couple of times) is installed... all viable paths to finding things. Some might also be able to break out of the custom shell into the standard terminal but that is a rather more advanced trick.

*bit old now but one of my favourite videos on hacking in general -- if you ever wanted a distilled version of the hacker mindset in video form then that is one of the better ones I have ever seen/reason I continue to return to it all these years later


dd mentioned above is a rather powerful command in *nix systems that can copy things at file/lower level still from one place to another, and in some cases wipe things out so be sure your source and destination is correct (possibly less of an issue here if various things are read only)
https://www.unixtutorial.org/commands/dd

Also yes if the little device features wifi/networking and a copy of telnet/ssh you can use that in turn to go back to another machine (possibly the one you are controlling from) and round and round it goes, only stopping when someone presses reboot and realises they were signed in to the server running the whole operation (I would say ask me how I know but it is fairly standard new sysadmin hijinks/failure).


----------



## kjetil_f (Oct 6, 2022)

FAST6191 said:


> Going to be limited to the general case but going with the idea that understanding general principles is good/the way I try to roll rather than copy-pasting a list of arcane commands and hoping it works.


Thank you for the thorough reply. Much appreciated.


----------



## kjetil_f (Nov 2, 2022)

LuckyCharms0815 said:


> about 10 bucks on Amazon


Just to be on the safe side. I'm not well versed with these type of components. Would you mind pointing to what you got from Amazon, so I don't accidentally order some wrong parts? I'm guessing some sort of UART to USB device and some male to female jumper wires.


----------

