Jump to content
jblenkle

New Genesis Flashback

Recommended Posts

 

That AtGames is out has never been confirmed.

 

While that appears to mean that AtGames is out when it comes to developing the software side, is does not come anywhere close to confirming that AtGames isn't still involved in some manner with this product.

 

I'm with you on this. My gut tells me that the initial hardware that AtGames has put together is still likely to be used in its current form. But that Sega is bringing on another team to develop the software side of it to improve on game accuracy and compatibility.

 

Afterall, it was a fairly late announcement to state it was being delayed until 2019 if they planned to do a hardware refresh of the product.

  • Like 1

Share this post


Link to post
Share on other sites

Have I ever mentionned how I'd love for the next Sega Classic consoles to be made by Nintendo? I'd love that. And people who'd make money would love that.

A Nintendo branded Sega machine!

Share this post


Link to post
Share on other sites

People, an FPGA Mega Drive by Analogue and 8bitdo is definitely coming next year:

https://twitter.com/analogue/status/1052212620705509376?s=19

Their site is down but as soon as it's back up I'll preorder.

 

Crazy-looking Saturn-style controller in that render. I want to lick it. Made by 8bitdo, the M30. Available for preorder on Amazon at a price of $24.99 with a Genesis-style adapter, shipping Feb 28, 2019.

 

Holy crap. Compatible with the Sega CD, even. https://twitter.com/analogue/status/1052212961786224641

 

Of course, now we need Kevtris to make an FPGA CD system. :lol:

 

edit: shots fired! https://twitter.com/analogue/status/1052213085132402689

 

I'm with you on this. My gut tells me that the initial hardware that AtGames has put together is still likely to be used in its current form. But that Sega is bringing on another team to develop the software side of it to improve on game accuracy and compatibility.

 

Afterall, it was a fairly late announcement to state it was being delayed until 2019 if they planned to do a hardware refresh of the product.

Interesting theory. I wonder why AtGames took the tweets down, though. It seemed like an admission on their part that they were indeed out. Edited by derFunkenstein
  • Like 3

Share this post


Link to post
Share on other sites

Interesting theory. I wonder why AtGames took the tweets down, though. It seemed like an admission on their part that they were indeed out.

My point is that the hardware is already designed and developed and likely tooled for manufacture. I don't think they could redesign it all in time for a worldwide 2019 release. So again, I'm thinking the AtGames hardware is still being used, but all the previous software emulation and cart dumping is being ...well..dumped and redone with another software developer.

 

But with the news of the Mega sg, I'm not sure anyone will care now?

  • Like 2

Share this post


Link to post
Share on other sites

I had been a defender of the AtGames Genesis, it was suiting my needs well enough and the HDMI was convenient. But after their wireless controllers ate it twice on me, I finally (after a couple of years of being boxed up) hooked up my monstrous model 2 / 32x / CD combo. And wow am I re-impressed. With composite out, in ways it even looks better, not to mention sounds better and controls so much faster. As much as I like emulation and modern stuff for their conveniences (I mean, the three Wall Warts for my combo is anything but reasonable or convenient!), I'm going to change my vote on the AtGames Genesis from thumbs up to thumbs down, probably going to trade mine in somewhere if I can.

 

The Mega Sg...definitely interesting if expensive as I commented in another thread. But since it's not out for a half a year, I'll just keep an eye on it curiously...

And in the meantime, original hardware FTW :)

  • Like 4

Share this post


Link to post
Share on other sites

Anyone know much about this new Mega Drive Flashback release (listed here at UK retailer Menkind)?

 

https://www.menkind.co.uk/sega-mega-drive-gold-edition?gclid=EAIaIQobChMI8drLyrPS3gIV1PhRCh0UvAyHEAkYAiABEgLzhfD_BwE

 

I didn't see any announcement or updates from Atgames about this. Does it have new internals, or is this just a simple face-lift for the European market? I must say, it's a big improvement in the looks department. The controller ports are off centre, as they should be and the white bezel around the power light looks smart. Atgames still managed to make it look a little cheap and cheesy however: There's an Atgames logo where a "Mega Drive SEGA" logo should be (I'll give them marks for being subtle with the branding, but it still shouldn't be there!), the gold "16-bit" looks merely printed on and there's a big ugly printed "MEGA DRIVE" slap bang under the cartridge port upsetting the understated aesthetics of the European model.

 

But still, it's an improvement for sure. It has limited appeal to me if it still can't play Sega Master System carts with an adapter, but you've got to give them kudos for making at least some effort. I still don't get why it's so hard to copy the system detail for detail, though...

 

Edit: I didn't realise that the US version of this was mentioned in the Hyperkin Mega Retron thread. Still, nice to see some localisation going on from Atgames. Hopefully it goes a little further than skin deep and it can play PAL region locked games. Also, no mention of SD card functionality in the system listed at MenKind.

Edited by aliensyndrome

Share this post


Link to post
Share on other sites

Sounds like M2 is handling the emulation for the upcoming Sega Megadrive/Genesis Mini. :)

 

And interestingly, Castlevania Bloodlines is one of the first 10 games that Sega has announced. Hopefully a good sign that they're courting some of the higher profile 3rd party properties. Would be nice to see Contra Hard Corps, Mercs, and Ghouls 'n' Ghosts here for some of my personal favorites.

 

I still wonder if AtGames is involved here. It seems like their knowledge of the plug and play market and their retail connections could still be valuable to Sega for getting this on store shelves in North America later this year.

Share this post


Link to post
Share on other sites

It looks like the fixed the bugs in the 2018 model Shining Force 2 does not lock up on spells and Castlevania Bloodlines has reflections now.

Share this post


Link to post
Share on other sites
On 11/22/2017 at 12:31 AM, jkgamer said:

So I've had a few days to tinker with this new ATGames device and I must say it's been great fun. Not only can I confirm that it is running a version of Android 4.4.4, but I can also provide details on how to roll your own ROMs and add them to the device.

 

I should state that tinkering around inside one of these can be a bit risky. You could delete vital files and render your ATGames Genesis device a brick. I'm presenting this information for those of you who are more adventurous and/or have a bit of experience messing with the Android debugger. I am not responsible if you follow these instructions (or don't) and brick your system. You've been warned.

 

Getting Inside

The first thing we need to do is disassemble the unit and get access to the mini-USB connector inside. There are 7 screws that hold the case together, two are exposed, four are underneath the rubber feet, and one is under the label. Obviously, opening up the unit is going to void any warranty or chance to return it to the store. After unscrewing all 7 screws, carefully separate the top and bottom halves, not pulling too hard as there are hard wired connections that need to remain in place. After opening the unit in clam shell fashion, you should see the motherboard exposed with the mini-USB port. You will also notice a wire that appears to have become disconnected from being too rough on opening the case. Do not worry, that wire doesn't connect to anything other than the motherboard. It is the antenna for the wireless controllers. Before connecting up to your PC, be sure to unplug the power from the unit. When you plug the USB cable into your PC, it will power on without the AC adapter. It also will remain on as the on/off switch only applies to the AC adapter.

 

Connecting and Exploring

After you've connected the unit to your PC via the USB cable, your PC should detect that an "ADB" device has been connected, but most likely won't contain the proper driver for it. One clue as to the driver is that it comes up and starts searching for an "rk3036" driver. This suggests that the ARM processor inside the unit is from RockChip, even though the CPU chip itself is silk screened with MonkeyKing 3.6. After scouring the interwebs and numerous attempts and storing generic USB ADB drivers, I found this RockChip repository on github (https://github.com/rockchip-linux/rkbin/tree/master/tools/DriverAssitant_v4.5). These are the correct drivers, although I only got them working after starting over with a clean system and installing them fresh. It seems previous attempts and installing the generic drivers somehow messed up my system so that it would no longer accept the proper drivers. I also installed Google's Android Studio which can be downloaded at (https://developer.android.com/studio/index.html). This is necessary so that you can run the Android Debugger and explore the contents of our new toy. After getting the drivers installed and Android Studio up and running, you will need Java too, I was able to pull up a DOS command prompt and type "adb devices". Sure enough, I was now able to see that the device was present and typing "adb shell" had me sitting at an Android prompt where I could start exploring its file system.

 

Where the ROMs are

Browsing through the various Android/Linux type files, I couldn't seem to find any ROM files, however there was a very large file named "com.atgames.menu.hal.obb" about 91MB in size. A little more research and I was able to discern that this was in fact a sort of disk image file that could be mounted under Android. This file is actually located in two places, "/system/preinstall/com.atgames.menu.hal.obb" and "/sdcard/Android/obb/com.atgames.menu.hal/com.atgames.menu.hal.obb". The first appears to be in case you need to recover your original version, which I did have to do at one point. The second is the one that we will actually pull to our PC and modify before building it back up and pushing it on to the device with new ROMs. The OBB file is generated/dumped via a batch file that comes with the Android SDK. However, my initial attempts to dump the contents of the OBB file would fail with a java exception about 75% of the way through. -sigh-. So I pulled up the file with a hex viewer and discovered that it appeared to be a FAT32 disk image. I already own a copy of "WinImage" (http://www.winimage.com/download.htm), so I decided to see if that would open the file. Sure enough, it worked. I was able to use WinImage to extract the entire contents to a folder on my PC. Among the files in that folder were other folders containing the box art PNGs, gzipped cartridge rom images, and a configuration file that I will detail later.

 

Getting the ROM images onto your PC

In order to extract the contents of the OBB file, we first have to get the file onto our PC. You can do this by bringing up a DOS command prompt, changing to the directory location that you wish to copy the OBB file to and executing the following command.

 

adb pull /sdcard/Android/obb/com.atgames.menu.hal/com.atgames.menu.hal.obb

 

Once it has finished copying and the prompt returns control back to you, you can then open up WinImage and open the file there. You may have to set the "Files of type:" to "All files (*.*) in order to browse for the .obb file. After opening the file, right click on the root folder in the left pane and select "Extract". Choose your storage path and make sure you've elected to "Extract with pathname". This gives you the entire contents of the obb folder which we can use later to create a new .obb file to upload to the Sega Genesis HD (2017). Looking through the extracted files you will see a Genesis folder, a Gg folder, and a Sms folder. This is where the ROM cartridge binaries are stored along with their title box art PNGs. The ROM binaries are all compressed with gzip. I used Cygwin to compress and decompress the ROM binaries and compared them to my backup archives. There may be other tools out there to gzip compress the binaries, but I'm just informing you of what worked for me. The PNGs appear to have all been created with Adobe Photoshop or Photoshop Elements. The dimensions of the box art files is 214 x 300 pixels WITHOUT an ICC Profile in the image. (Adobe Photoshop Elements 18 has an option when saving a PNG (Color: [ ] ICC Profile: sRGB IEC61966-2.1) which I had to uncheck in order for the PNGs to work with the unit.

 

Adding Your Own ROM Binaries

Once you've extracted the contents of the OBB file, you can start copying over gzipped ROM binaries of your own. My suggestion would be to start with a single ROM binary. If you do not include a box art PNG image with the same main filename (i.e. mygame.bin.gz + mygame.bin.png) it should just use the unkown_game.png. If you do decide to add your own box art and it doesn't like the particular PNG format that you saved it as, you will most likely be greeted with a continuously "Loading..." screen instead of a cartridge selection menu. If that happens see the recovery section below. Once you have added your binaries and PNG artwork, we have to edit the all-games.ini file located in the atgames folder of our extracted OBB files.

 

The alt-games.ini File

This part rivals the preparing of the box art as to being a pain in the arse. Every game cartridge must have an entry in this file in order for it to be recognized by the system. If you are only adding one or two binaries, not a big deal, adding 57 binaries, excruciating. The files is a plain generic text file that contains many entries in the following format.

 

[Game Title]

File=atgames/Genesis/GameTitle.bin.gz

Platform=Genesis

Genre=Sega

Description=The best Genesis game ever.

Dpad=Directional movement

Start=Start, pause

A=Action

B=Backup

C=No function

X=No function

Y=No function

Z=No function

 

The above sample entry should be mostly self explanatory. It starts with the game's title inside the square brackets, followed by the path in the OBB file structure to the binary itself. In this example, the game is being added to the Genesis folder. Just an FYI, I haven't seen anything that restricts Genesis, Master System, or Game Gear files to a specific folder. In fact, the Sms folder contains both Sega Master System titles and Game Gear titles. I even thought about cleaning it up, but I left it out. The Genre determines whether it shows up in the Sega Games (Genre=Sega) section, the Mortal Kombat (Genre=mk) section or the Bonus Games (Genre=Arcade) section. The rest of the fields are just documenting the title. As you scroll through the all-games.ini you may notice that there are entries that are preceded with hash tags. The hash tag simply comments out that line in the file and the menu system ignores those lines.

 

Rebuilding the OBB file and pushing it back to the Sega Genesis HD (2017)

Once we've got all our binaries added, all of our box art added, and we've finished adding the all-games.ini entries for each title, we are ready to rebuild the OBB file. This is where the Android SDK jobb batch file comes in. Open up a DOS command prompt and change to your Android SDK tools bin directory. Mine is C:\Android\SDK\tools\bin, yours will probably be something else since I changed the default location when installing it. Android doesn't like spaces in file paths, so I usually won't install to the "Program Files (x86)" folder. If you have trouble executing these commands, you may need to reinstall your Android SDK into a path free of spaces. Once you are at the correct directory, you should see a jobb.bat file there. You can rebuild the .obb file by executing the following command at the prompt.

 

jobb -d /OBBImageFolder -pn com.atgames.menu.hal -pv 1 -o com.atgames.menu.hal.newobb

 

OBBImageFolder should be the path where you extracted the original OBB image files and added your customizations. Again, avoid placing the folder in a path requiring spaces, if you do have spaces, try enclosing only the path in quotation marks. The OBBImagFolder should contain the atgames folder only. Inside the atgames folder is where your Genesis, Gg, and Sms folders should be located. If you were to open the .newobb file in WinImage you should see atgames in the root folder of the image. This is important, if you get this wrong, you will probably end up with the cycling "Loading..." screen.

 

Now that we have rebuilt the .obb file (com.atgames.menu.hal.newobb), it's time to push it back onto the Sega Genesis HD (2017). Execute the following command at the DOS prompt from the same folder where your new obb file exists.

 

adb push com.atgames.menu.hal.newobb /sdcard/Android/obb/com.atgames.menu.hal/

 

(Be sure to include the forward slash at the end of that command, you could also use /sdcard/Android/obb/com.atgames.menu.hal/com.atgames.menu.hal.newobb as the destination parameter, but we've done enough typing, let's save a few keystrokes.)

Now you've got your new ROMs on the system, but they still can't be accessed yet. For that you need to follow the next section's steps.

 

Swapping OBB files via ADB Shell

Now we need to go in and remove the old obb file and rename the new obb file to take its place. However, since the com.atgames.menu.hal.apk application is always running, you can't simply push your new file up to the system with the original file name. Doing so, almost always results in a corrupted com.atgames.menu.hal.obb file result. This is because the menu application is constantly accessing that file. The best way I have found to get around this is to start a game from the menu (it doesn't matter which one) and then launch the Android debugger with the command

 

adb shell

 

Once your in the debugger and the game is running, you type the following at the [email protected]: prompt (Android prompt) so that we can find out which process id to kill to stop the menu app.

 

ps

 

This should give you a list of all processes that are currently running on the unit. Look for the com.atgames.menu.hal entry on the right side of the list and it's corresponding process ID number which is in the second column from the left. For example: My current listing shows that com.atgames.menu.hal process ID is 588. This can and will most likely change between sessions, but for now, we just want to kill it so we can swap out the obb files. Type the command

 

kill 588 (or whatever your process ID was)

 

Now we need to change to the folder that contains our OBB files. Use the following command

 

cd /sdcard/Android/obb/com.atgames.menu.hal

 

follwed by:

 

ls -al

 

You should see both the original com.atgames.menu.hal.obb and our newly uploaded com.atgames.menu.hal.newobb files. We need to remove the original now that the menu is no longer running. You can do this with the following command:

 

rm com.atgames.menu.hal.obb

 

Just to make sure it's gone, because sometimes parts of it remain or are recopied by the OS, do another ls -al and see if it is really gone. If not repeat the rm com.atgames.menu.hal.obb. I've never had to do this more than twice. It may have something to do with timing and one of the other processes tries to put it back, I'm not sure. But it needs to be gone before we rename our new obb file with the following command:

 

mv com.atgames.menu.hal.newobb com.atgames.menu.hal.obb

 

Perform another directory (ls -al) to make sure you got the name right. You might also want to verify that the size of the file matches the size of the file on the windows side.

 

Voila!

It's now time to exit out of the shell and reboot the unit. Go ahead and type exit to get out of the shell then issue the following command at the DOS prompt:

 

adb reboot

 

If everything went just right, you should now be presented with the game selection screens including your added binaries.

 

LOST.DIR

Because the original obb file appears to get recopied/reconstructed by the OS, you may want to check the /sdcard/LOST.DIR folder after rebooting a fresh change. This is because the system will run a check disk when it starts up and any bad files/chunks that are found will be placed in here. It is safe to use the adb shell to "rm *" all of those files. I need to see if there is a way to truly suspend the system so that it doesn't keep trying to replace the original file. Once you've renamed the new file the same as the original, it won't overwrite it, but if it doesn't see the original filename in that folder, it thinks something is wrong and it needs to restore it.

 

RECOVERY

If you get locked into a cycling "Loading..." screen, you should still be able to connect up to the unit via the adb shell. While I haven't seen a situation where I have not been able to connect via the debugger, be aware that if you go beyond messing with the obb file, I can't make any guarantees that you won't brick your system. The Android Debugger runs software on both sides in order to work (PC and Android) and if you kill a required file or application on the Android side, there's no telling if you can reset it to come back. There is a button on the motherboard to reflash an entire firmware image, but I haven't been able to dump an original or full firmware image to restore from and I doubt ATGames will provide us with one. That being said, if you just managed to screw up the obb file, it's rather simple to get back to working condition. Remember at the beginning I mentioned that there were two locations where the original obb file was stored? Well we just need to copy that obb file over are failed one. The only problem this time is that we won't be able to kill the "com.atgames.menu.hal" process, because it will just restart itself since we aren't running one of the emulators. So to restore back to working condition the following command from inside the adb shell should work:

 

cp /system/preinstall/com.atgames.menu.hal.obb /sdcard/Android/obb/com.atgames.menu.hal/com.atgames.menu.hal.obb

 

That should get you up and running again. I would also clean out the LOST.DIR directory as mentioned above after rebooting before attempting again. If you fail to do so, you will find that it won't take long to run out of flash memory space. BTW - Someone earlier in this forum stated that there are 2GBs of flash memory available for ROM binaries. Well the fact is that while there is 2GB of flash memory in the unit, only 949.0MB is partitioned for the /sdcard folder, so we have just under 1 GB for binaries and box art.

 

Summary

I hope this helps anyone wanting to hack into their new ATGames Sega Genesis HD (2017) units. And I hope that no one ends up bricking their system. I've tried to cover as much detail as possible, if you find something missing, feel free to let me know. And if you are a more experienced Android developer and have some pointers on how to avoid the issue with the LOST.DIR, I would welcome that feedback as well. BTW - I wouldn't try replacing the /system/preinstall/com.atgames.menu.hal.obb file with your new one as you may never be able to restore if you do. It's not that easy to replace it anyway as the /system folder is mounted as ro shortly after booting the system. There are ways to remount that as rw, but I see no real reason to do that as I haven't even come close to filling this thing up yet. Also, if you still can't get your system running after restoring the original obb file, you could try executing the shell script located in the /system/preinstall folder (./setup.sh from within the adb shell and that directory.) BTW - Looking at the setup.sh script, it appears that the Atari Flashback 8 Gold uses the same chipset/script for it's install, but the FCC images of it's motherboard does not show a USB connector, only some solder points to presumably add one. Good luck and have fun!

Amazing job! Do you know if this tutorial works with AT LEGENDS ARCADE FLASHBACK? I am wonder if is there any way to make it faster, maybe some overclock on these chips...

 

Cheers

  • Thanks 1

Share this post


Link to post
Share on other sites
12 hours ago, eliofilho said:

Amazing job! Do you know if this tutorial works with AT LEGENDS ARCADE FLASHBACK? I am wonder if is there any way to make it faster, maybe some overclock on these chips...

 

Cheers

Flashback HD 2017 and 2018 (and Legends Flashback) are very different.

 

The 2017 version has an older SOC (RK3036), a larger NAND (2GB/4GB) and runs Android while the 2018 versions runs Linux in a much smaller NAND (128MB). Built-in emulators for Genesis and Master System are not great but the fact it runs Android make it easier to build/reuse a different emulator. I've been able to build a custom RetroArch for this device and it replaces the default emulator really well.

 

Send me a PM if you want to try an overclocked firmware for your Legends Flashback, I was able to overclock the device but I don't have any time to test it properly. You can try it at your own risk. 

Share this post


Link to post
Share on other sites
On 10/3/2019 at 4:55 AM, rmr_md said:

I've been able to build a custom RetroArch for this device and it replaces the default emulator really well.

 

You really rocks, rmr_md! I believe a new optimized OS could give new life to this hardware, free it up from the closed cores it already have and add new emulators to it, am I wrong?

 

I am happy with MAME, Neo Geo, SEGA CD-Gen-GG-SMS and NES, but I can get happier with SNES, PS1/PS2, Wii, how far can we go? :D

 

Cheers

Share this post


Link to post
Share on other sites

The hardware is too weak for that, it's a dual-core processor. SNES can run with restrictions (older core) but you would need to sacrifice one core, as the cores and extensions are hard-coded in the menu. 

 

Linux has a lot of variables (X11, framebuffer, SDL) which makes it difficult to work if you are not a developer (and I'm not) or familiar with the OS. Optimize the OS is only possible if you have the source-code and drivers, and the only source code available for this hardware are for the libretro cores. Also, it's very difficult to work with a 14Mb partition. Some parameters can be changed with Linux/Rockchip tools (like GPU and CPU speed and voltage), but for the most part you are restricted to what you have. 

 

The 2017 hardware is different, while the processor is older, Atgames included a large NAND (2GB/4GB), and the device runs Android instead of Linux. Android is much more standardized so it's easier to run stuff after the menu apk was reverse-engineered, or you can just create a new menu. I've built RetroArch for this device running Android (Genesis Flashback HD 2017), the 2018 and Legends FB was a no-go... it compiled file but I couldn't load video.

Share this post


Link to post
Share on other sites
On 10/22/2019 at 9:42 AM, rmr_md said:

it's easier to run stuff after the menu apk was reverse-engineered,

Do you have any plans to provide the custom firmware, or write a tutorial?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...