SMS, Genesis, 32X, Sega CD, Saturn, Dreamcast
User avatar
samsonlonghair
Next-Gen
 
Posts: 4388
Joined: Tue Feb 17, 2009 2:11 pm
Location: Now: Richmond, VA. Formerly: Near the WV/VA border

Re: Best Genesis HD Clone Console?

by samsonlonghair Thu Nov 23, 2017 2:09 am

Jagosaurus wrote:I'm a huge fan of Kfusion/Kega on PC. I'm emulated the mess out of Genesis, SMS, & GG (which are all rock solid) but only got into Sega CD a bit. I have Snatcher running fine but recently saw Lunar runs with voices not synchronized to FMV. Even on that side with all the years of efforts, there are some hiccups.

I currently have a dedicated Windows 7 PC running emus for each system. Once that guy becomes end of life and the newest emulators move to a version of Direct X not supported on that box/OS... I'll likely be strictly Android emulation as you can get a decent box with a small footprint for under $100 versus a new PC. That said, this topic interest me on multiple fronts:
- Digging into Sega CD emu more
- Following Android emu options
- Smaller physical emu box versus my current tower PC to TV option
- Reliable Genesis HDMI out options
- General nerd out 8)

I think me and you are on the same page, Jag. I love Kega Fusion to bits; it's my favorite Genesis emulator on PC. I also use a Windows 7 PC for emulators, but it's a little bit too big. I've been keeping my ear to the ground for a good android box for emulating in the future. The thing that always bugged me about emulating on android is the touch screen controls, but a device with Sega Controller inputs can fix that problem for me.
Jagosaurus wrote:
samsonlonghair wrote:It's easy to find Genesis emulators on Android. :mrgreen:


When I was getting into emu on Android everything I read on the Genesis side (and recommendations here) all pointed towards the $5 MD.emu program. Is there really a decent, free Sega emu on Android currently?


I think Exhuminator might know more about the best Android emulators than I do. You might ask him what he thinks.

Here's my thoughts:
• Retroarch is free. It's less of a pain to set up now than it used to be. Plus, there are tutorials on Youtube.
• I wish Kega Fusion was on Android, but there's no use holding my breath while I wish. :oops:
• I think there's a free, ad-supported version of md.emu on the Google Play store.
• Whatever you do, don't pirate any software while you're running emulators, because that would be bad. cough cough
User avatar
Jagosaurus
Next-Gen
 
Posts: 2595
Joined: Sat Mar 09, 2013 12:15 pm
Location: Houston, TEXAS

Re: Best Genesis HD Clone Console?

by Jagosaurus Thu Nov 23, 2017 12:33 pm

I use a $20 Beboncool Bluetooth controller off Amazon and it works well for NES emulation on Android. I don't mess with touch controls at all. I had no problems mapping the buttons in a dedicated NES emu (forget which one) or the NES retroarch core.

I need to dive into it more for other systems such as the Genesis, I just don't have an immediate need with my current emu PC and modded oXbox... but I always have my eye out! I like the portability of Android emu on phones but long term interested in TV sets to save room.

I did try the Android phone method with HDMI out to a TV with a BT controller. I honestly didn't recognize any lag while testing several NES titles I have a lot of experience with. I was very impressed.

Edit/Add:
I also own a Mega EverDrive v2 flash cart for when I want to use the original controller.

Yeah... I need a 5th way to play Genesis games :lol:. I have issues :?
Last edited by Jagosaurus on Thu Nov 23, 2017 12:35 pm, edited 2 times in total.
User avatar
chuckster
32-bit
 
Posts: 231
Joined: Sat Sep 27, 2014 3:05 pm

Re: Best Genesis HD Clone Console?

by chuckster Thu Nov 23, 2017 12:33 pm

samsonlonghair wrote:
Here's my thoughts:
• Retroarch is free. It's less of a pain to set up now than it used to be. Plus, there are tutorials on Youtube.
• I wish Kega Fusion was on Android, but there's no use holding my breath while I wish. :oops:
• I think there's a free, ad-supported version of md.emu on the Google Play store.
• Whatever you do, don't pirate any software while you're running emulators, because that would be bad. cough cough



I can't speak for Android but Retroarch is fantastic for almost all emulation. Setup is actually pretty easy these days. As far as I know, RA plus PCXS2 and Dolphin is all you'd need for pretty much anything. Of course I'd recommend PC for anything you do, and Windows in most cases since support for Dolphin seems better there, but for Genesis, I'm sure any OS is fine really.

Also, I've used Gens Plus GX on Wii since I modded it. I've had no issues with any game I've tried, and it plays Sega CD games really well. There's no 32X support but I'm not sure if that is just on the Wii version. It's a solid alternative to Fusion in my book.
User avatar
Jagosaurus
Next-Gen
 
Posts: 2595
Joined: Sat Mar 09, 2013 12:15 pm
Location: Houston, TEXAS

Re: Best Genesis HD Clone Console?

by Jagosaurus Thu Nov 23, 2017 12:37 pm

Yeah I forgot to give the 32X some love in my KFusion talk. Worth noting, I've only tested a few games but they ran fairly well on m modest, recycled emu PC.
User avatar
samsonlonghair
Next-Gen
 
Posts: 4388
Joined: Tue Feb 17, 2009 2:11 pm
Location: Now: Richmond, VA. Formerly: Near the WV/VA border

Re: Best Genesis HD Clone Console?

by samsonlonghair Mon Nov 27, 2017 10:39 am

Jagosaurus wrote:I use a $20 Beboncool Bluetooth controller off Amazon and it works well for NES emulation on Android. I don't mess with touch controls at all.
{...}
I also own a Mega EverDrive v2 flash cart for when I want to use the original controller.
Yeah... I need a 5th way to play Genesis games :lol:. I have issues :?
I just ordered myself an 8bitdo NES30 Pro bluetooth controller and an Everdrive MD. I talked about them in more detail in this thread: viewtopic.php?f=47&t=48799&start=160
More detailed reviews will be forthcoming once I have these items in my hand.

Yes, I also have the same issues regarding yet another way to play Genesis games. :lol:

chuckster wrote:Also, I've used Gens Plus GX on Wii since I modded it. I've had no issues with any game I've tried, and it plays Sega CD games really well. There's no 32X support but I'm not sure if that is just on the Wii version. It's a solid alternative to Fusion in my book.

Do you know if Gens Plus GX runs on WiiU with HDMI output?
User avatar
samsonlonghair
Next-Gen
 
Posts: 4388
Joined: Tue Feb 17, 2009 2:11 pm
Location: Now: Richmond, VA. Formerly: Near the WV/VA border

Re: Best Genesis HD Clone Console?

by samsonlonghair Fri Dec 01, 2017 11:39 am

Update:
A user named jkgamer over at the atariage forums typed an elaborate write-up regarding hacking the Genesis Flashback HD. Rather than trying to load a stock version of android on the hardware, jkgamer concentrated on expanding the library of available ROMs. In principle, his method is similar to how Hakchi works. It doesn't change the emulator; it just makes more ROMs available to the emulator. This would not fix any emulation glitches; it would only expand the game library.

Standard Disclaimer: I have not tried this myself. Looks like it requires a bit of technical skill. Proceed at your own risk.
jkgamer wrote: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/r...erAssitant_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.an...udio/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 root@rk3036: 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!

Link to the original source:
http://atariage.com/forums/topic/266499 ... try3895318
User avatar
marurun
Moderator
 
Posts: 7966
Joined: Sat May 06, 2006 8:51 am
Location: Cleveland, OH

Re: Best Genesis HD Clone Console?

by marurun Fri Dec 01, 2017 12:18 pm

But if the emulator in the new unit still isn't that great, what good does a bunch of extra games do? If they're still not emulated well, they're going to be lackluster.
User avatar
samsonlonghair
Next-Gen
 
Posts: 4388
Joined: Tue Feb 17, 2009 2:11 pm
Location: Now: Richmond, VA. Formerly: Near the WV/VA border

Re: Best Genesis HD Clone Console?

by samsonlonghair Fri Dec 01, 2017 12:23 pm

marurun wrote:But if the emulator in the new unit still isn't that great, what good does a bunch of extra games do? If they're still not emulated well, they're going to be lackluster.

Exactly. That's why I'm not fooling with this method, personally. Fingers crossed that someone puts stock android on this hardware.
User avatar
samsonlonghair
Next-Gen
 
Posts: 4388
Joined: Tue Feb 17, 2009 2:11 pm
Location: Now: Richmond, VA. Formerly: Near the WV/VA border

Re: Best Genesis HD Clone Console?

by samsonlonghair Tue Dec 12, 2017 11:49 am

Update: Earlier in this thread Marlowe, Spike, Bone, Bmoc, and a few others mentioned the Hyperkin Retron 5. I just saw a Youtube video by RoXolid that compares the Retron 5 vs the At@games Genesis Flashback HD. I thought some of you may be interested in seeing the comparison. The "too long didn't watch" is that the emulation built into the Retron 5 beats the emulation in the at@games Genesis Flashback HD.
source = https://youtu.be/dTODRyfLyx0

Anyone who has been following the Retron 5 thread knows by now that Hyperkin stole emulator code from Genesis Plus and others. This supports my earlier assertion that legit businesses cannot easily justify the cost of refining emulators to the same quality level as the emulators built by enthusiasts.
Emulating Genesis sound correctly isn't impossible. We have had numerous rock-solid Genesis emulators on PC for fifteen years or more now. The tricky part is that it takes a BUNCH of man hours to refine an emulator that well. If an enthusiast (or group of enthusiasts) spend years of their lives steadily improving a Genesis emulator for free, then more power to them. If you were trying to run a profitable business, you might have a hard time justifying the cost of actually paying a team of developers to code a good emulator for you. That's how we end up with half-assed emulation. The business can only expend so much resources on product development, and they need to get their product on store shelves before Christmas. :wink:

Pardon me for quoting myself. I admit it's a little bit tacky. I felt it worthwhile to reiterate my earlier point.


This is why I want to see stock android running on the Genesis Flashback HD so much. I want to use an emulator developed by enthusiasts over the course of years, not an emulator developed by a for-profit company on a short timeline. Don't get me wrong here. I'm not a communist who hates the idea of a company turning a profit; I just want to play my Genesis games with the best quality emulation. Can you blame me? :P
User avatar
marurun
Moderator
 
Posts: 7966
Joined: Sat May 06, 2006 8:51 am
Location: Cleveland, OH

Re: Best Genesis HD Clone Console?

by marurun Tue Dec 12, 2017 12:28 pm

It's not hard to incorporate open-source licensed code into commercial products. You have have to be aware of the license and compartmentalize everything so that you can meet the terms of the license without giving up proprietary stuff like bootloaders. Hyperkin and @tGames are all capable of that, they're just half-assing in different ways.

I mean, how is Genesis emulation on the Wii and WiiU? Quite frankly, a team of paid developers could probably knock out a quality emulator in not much time, especially given how well-documented these old systems are. Most open-source emulators are hobby projects. They reason they take years is because coding is sporadic. A couple developers being paid should have no trouble getting through an emulation project.
Return to Sega

Who is online

Users browsing this forum: No registered users and 3 guests