farmerbb / RED-Project

ROM Extraction Documentation Project
181 stars 8 forks source link

AtGames Legends Flashback #126

Open kjetil-f opened 8 months ago

kjetil-f commented 8 months ago

Using a USB to UART adapter with male to female jumper wire you can dump all of the included games. Even though you can, there is no soldering required to do this.

See image for reference.

First, format a USB stick to FAT32. (Not sure if it’s necessary, but since it worked on the Super Retro-Cade, I formatted it with the partitioning scheme MBR, using Rufus.)

Use PuTTY (or other terminal programs) and set the serial port to COM (and the correct USB port number. COM5 in my case). Baud rate/speed to 1500000.

When the Linux command prompt starts up type in root and hit enter to get root access. (Not sure why, but I needed to do so before the login screen showed up.).

The games can be found in the folder called rom and the SD-card inside the folder called media. (/media/usbhd-mmcblk0p1/). You can make a folder at the root of the SD-card called GAMES e.g. and copy the content from the rom-folder into the SD-card: cp /rom/* /media/usbhd-mmcblk0p1/GAMS, or use the cp -r command to copy the whole folder instead (that way you will get the sub-folders copied over as well).

hadess commented 8 months ago

Can you upload the file to github? Just in case it gets removed from Discourse...

kjetil-f commented 8 months ago

atgameslfb

DrAzathoth commented 8 months ago

Can you provide the model number for the Flashback model you used? There are four different models under the Legends Flashback name:

FB8650 - FB 50 games FB8650S - FB Deluxe 60 games FB8660 - FB 100 games FB8660S - FB Deluxe Special Edition 110 games

Edit: Just noticed the version, which is FB8660. However, this is still probably useful information.

kjetil-f commented 8 months ago

Sorry about that. It's FB8660B actually. Not sure if it matters much for for the purpose of dumping the ROMs though. Seems like as long as the console is Linux based, and have UART-connections, similar methods can be used.

RealRelativeEase commented 8 months ago

Thank you for posting the instructions! Guess it's time for me to get one of these as well.

Are the ROMs usable as is when dumped or are they encrypted, like when extracted from firmware updates? And have you been able to confirm whether the controller port 1 issue was a result of accessing the system via UART?

kjetil-f commented 8 months ago

I haven't done a thorough test, but the console games seems to be working great. The only issue I found was that the first Super Star Wars wouldn't load past the intro screen when I used an Analogue Pockets openFPGA core. On other software emulators it worked just fine.

The arcade games are a little more hit and miss when I tested them in FinalBurn Neo, but I think I saw references to both MAME 2003 and 2010 in the consoles emulator-folder.

For the controller port issue, it seems to be a design flaw on the hardware level. I've read that several people have this issue without even opening up the console. Seems like it's just a bad connection that are causing it. If you wiggle a bit on the pole with the red power light so it turns on, the controller port will work. So I'm guessing some insulating tape is probably the simples solution for holding it in place. So it's not the UART connection that causing it, but opening up the console might.

DrAzathoth commented 7 months ago

@kjetil-f, out of curiosity, what is the Fix it Felix Jr. game? Is it a ROM, based on the PC original, or something completely different?

kjetil-f commented 7 months ago

Good question. There is a couple of folders named res and res_fif, that contains a texture bmp, control.log, fif.rom and a lot of wav-files. How to make it run, I don't know.

kjetil-f commented 7 months ago

This might be helpfull information regarding the Fix it Felix Jr. ROM: https://github.com/libretro/RetroArch/issues/15821

kjetil-f commented 7 months ago

Demo of the AtGames-version of Fix it Felix Jr. to running on an emulator: https://www.youtube.com/watch?v=CjzazRmnIN8&t=50s&ab_channel=TechnoTurnovers

DrAzathoth commented 7 months ago

So basically, AtGames did all the hard work for us and already ported it to ARM Libretro? Sweet! Now someone needs to decompile it so FIF can be ported to all platforms via RetroArch.

DrAzathoth commented 7 months ago

I'm not receiving any sort of feedback with PuTTY. Is this method incompatible with FB8660S?

kjetil-f commented 7 months ago

Do you powered on the device? Is the baud rate sat to 1500000*, and the **TX wire connected to RX and vice versa?

*Looks like the b/r on the AtGames Genesis are 1500000 as well, so I would assume that's what they use for all their boards. But I read somewhere that not all adapters support that.

**My UART adapter is labeled wrong, so I have to connect TX to TX and RX to RX.

DrAzathoth commented 7 months ago

Swapping the two cables fixed it. Gonna hash and verify the ROMs.

kjetil-f commented 7 months ago

Excellent. Please share if it's anything noteworthy about the verifications. Have never tried to do that.

DrAzathoth commented 7 months ago

Do you know where to find the FIF Libretro core on the Flashback? I suck at using Linux terminals.

kjetil-f commented 7 months ago

Yeah, me too. I just Google Linux-commands. The easiest way might be to dump all of the files and use Windows to search for it. But it is possible to search for files in Linux.

Have you by any chance checked the Emulation folder? I was planning research this myself, but been busy lately. Would be interesting to see exactly what emulators (and what versions) that make this thing work.

DrAzathoth commented 7 months ago

Squirrel King was an extra ROM (clean dump) included on mine (60S). This is incredibly odd due to it being a Taiwanese bootleg of Chip and Dale: Rescue Rangers for the Genesis/Mega Drive. Why would they have an unlicensed bootleg of an existing game be included on their console when they could instead opt for the original game which, presumably, is less taxing to emulate? Curiously, it is a part of their official lineup on their arcade cabinet. So is this ROM just a leftover?

kjetil-f commented 7 months ago

Crazy that Disney allowed it, but they probably wasn't aware. What I find a bit amusing is that since you bought this fair and square, no one can legally take it away from you.

https://bootleggames.fandom.com/wiki/Squirrel_King

RealRelativeEase commented 7 months ago

I'm running into a bit of a roadblock with the FB8650-MB-V2. The ports on the motherboard aren't labeled, but I assume they're the same as on the photo. I've got Ground connected to Ground on the USB TTL board, Transmit connected to Receive on the TTL board and vice versa. I've got a 16 GB SD card formatted to FAT32 inside the FB. What is the proper order to access the motherboard in PuTTY? Do I plug the board in before I launch PuTTY? Do I turn on the power before I establish a connection via the TTL board?

Edit: Turns out, I was too dumb to copy the baud rate. But if anyone else wants an answer on the proper order, you connect your USB TTL board to the motherboard first, then you plug the TTL board into your computer, then you open PuTTY (or a similar app), select the correct port and baud rate and then you turn your FB on.

RealRelativeEase commented 7 months ago

The FB8650 I got shipped with a 128MB SD card with a firmware file named SD.img on it. Which I assume includes most of the games, since PuTTY could only transfer about 20 games to a larger external SD card without the firmware update on it. I've examined SD.img in binwalk and it seems to include the missing games, but they're all in encrypted .aes format and I assume the FB decrypts them.

Is there a prompt for PuTTY to extract the unencrypted files? Or what would be the prompt to dump the entire FW and external SD content?

kjetil-f commented 7 months ago

Think I read somewhere that some models of the FB got a firmware update that you could install from the SD-card, so that's probably it. But would not everything be installed to the console itself if you execute the firmware update?

RealRelativeEase commented 6 months ago

I'm not sure if those official firmware updates are installable to begin with. Exposing myself as a total newb here, how would I install the firmware update from the stock SD card? There's no update option when the unit is powered on with the SD card inside.

The serial number on the sticker of my unit also contradicts the serial number on the motherboard. P1020225 P1020224

DrAzathoth commented 6 months ago

@RealRelativeEase First and foremost, you should NOT update that unit if it truly is 660B. Until we find out if it is safe or not, you shouldn’t risk it.

It seems you are uncertain what model your unit is. You can tell what model it is by what games it includes: for example, does it have Fix-It Felix? (660 or 660B) Does it have Generals of the Yang Family? (660S) Does it have neither? (650 or 650S)

Lastly, if you decide to do the update, you need to rename the firmware update to “arcade_update.img” (no quotes, duh).

Firmware updates for 650, 660, and 660S (you’ll need an account to download): https://firmwareupdate.atgames.net/registration

DrAzathoth commented 6 months ago

On an unrelated note, I should probably upload a picture of my motherboard for comparison (660S).

RealRelativeEase commented 6 months ago

It seems you are uncertain what model your unit is. You can tell what model it is by what games it includes: for example, does it have Fix-It Felix? (660 or 660B) Does it have Generals of the Yang Family? (660S) Does it have neither? (650 or 650S)

Lastly, if you decide to do the update, you need to rename the firmware update to “arcade_update.img” (no quotes, duh).

Fix-It Felix and Generals of the Yang Family are both on SD.img on the stock SD card, since they don't show up on the main menu if the SD card is removed from the device when it's powered on. Neither of them is pre-installed on my unit.

kjetil-f commented 6 months ago

For what it's worth, my unit the model number on the back says FB8660B, and on the chip it says FB8660MB-V1, 20190329 T=1.0 And Fix-It Felix and Generals of the Yang Family are included on the unit itself. So my Flashback are probably a newer revision then.

RealRelativeEase commented 6 months ago

For what it's worth, my unit the model number on the back says FB8660B, and on the chip it says FB8660MB-V1, 20190329 T=1.0 And Fix-It Felix and Generals of the Yang Family are included on the unit itself. So my Flashback are probably a newer revision then.

The chip on my unit also has a different branding than the regular Rockchip used on these. The Monkey King brand chips seem to have been used in Flashback Mega Drive systems ~2017-2018. My guess is that AtGames (or maybe their European distributor) has been clearing out leftover stock of older Flashback Legends systems, that's why I ended up with a version from 2018, despite being billed as the 2022 version. Yeah, I think I'll ask for a refund.