Jump to content
Brad_from_the_80s

Atari Flashback X Custom Firmware for USB roms and boxart

Recommended Posts

Just reading the past page or two.  Looks like you guys have been busy. 

 

rocketfan I thought about replying to a couple of your posts, but it looks like you are already covering a lot old ground, and some of this it has been a while since I looked at it anyway, but let me know if you have any questions.

 

I did setup a working build toolchain, using buildroot I think, for AFB9.  Using a version with matching kernel/glibc I could compile and test working binaries for the FB9. For the AFBX I saw the similarities and differences, but never dug much deeper beyond just porting my cfw hack and making it work on the X.  Although I prefer the SD card, the X should be easier to hack just because you can actually connect to it without some dicey mod.

 

My assumption is the retromenu app is essentially the same or only slightly customized across different AtGames devices of roughly the same generation.  And the hardware is likely also nearly the same, retroplayer is a common component, so it makes total sense you can force some of these other cores to run on the AFB.  You'll see in the file system they are a bit messy and leave behind test and config files that are not specifically applicable to the AFB, but some other system.  It's essentially just a crappy little SDL app, but it is amazing the degree to which Draxxon has been able to hack and theme it, and now you're potentially taking it to another level.  Just takes a willingness to hack the binary until you no longer can without breaking it.  Good catch on the writable /tmp idea though.

 

My idea was always that I could write a better menu app that works any way we want it to and supports easily configurable organization, if it were worth it.  And that would be to getting Stella 6 core to run first, which has been a challenge.  I'm an old programmer but when it comes to Linux I'm more of a hack, so I've poked and prodded and had some ideas, but not that final breakthrough.  Work and life and all that gets in the way of chasing rabbit holes eventually.  😜

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, rocketfan said:

Draxxon tried the controllers from the Legends Flashback (they at least look like Genesis controllers) and they didn't work.  Maybe it is worth a try to build a little special adapter that bridges the normal fire pin with 9 though. It looks like pin 6 is the normal Atari button pin, except I guess that first port is non standard due the joysticks with the extra buttons - anyone know the actual pinout?  How do they even have 4 directions and 5 buttons working on 9 pins (because if it is just switches, then one pin must be ground)?

They use simultaneously incompatible  directions, like they do on the ColecoVision. L+R, U+D, etc. 

Share this post


Link to post
Share on other sites
34 minutes ago, Brad_from_the_80s said:

My assumption is the retromenu app is essentially the same or only slightly customized across different AtGames devices of roughly the same generation.  And the hardware is likely also nearly the same, retroplayer is a common component, so it makes total sense you can force some of these other cores to run on the AFB.  You'll see in the file system they are a bit messy and leave behind test and config files that are not specifically applicable to the AFB, but some other system.

This is what I think also, granted I have no coding experience, but the art and graphics are all the same and it is beyond lazy to me. They did a little something extra with the AFB9Gold, but not much. I mean, the AFBX still has the crappy bezels with the 3 button sega pad. are these bezels the same on the sega genesis flashback? i dont have one, but i bet they are. 

i mean the AFBX still uses images of an SD Card for sideloaded /game roms. i mean, there isnt even an sd card slot anymore, lmmfao. Also, isnt there still "cartridge.png" and cartridge_blue.png" genesis cartridge image files still floating around in there too?

I'm guessing that we wont need the sega-cd bios and neo geo bios files because games that need them wont play on the AFBX, but in case we do... 

 

Bio_Files.rar

Edited by Draxxon

Share this post


Link to post
Share on other sites
On 2/6/2021 at 9:39 AM, rocketfan said:

Then it's pretty straightforward to backup each of the partitions by selecting the partition (the NAND Partitions selection box), then clicking the "Backup Partition" button.  I'm not sure if they are all important when repacking the update image, but I would say get all 8 of them to be on the safe side.

That took way longer than it should have. 😥  After installing Ubuntu and following your instructions, I just couldn't get it to work.  I tried your "easy" instructions, then went back and tried doing the other ones from scratch.  I just couldn't get the device to show up.  Then I remembered reading about someone saying they had to use a better quality cord.  I grabbed the cord from my NES Classic and plugged it in, and instantly it showed up.

 

I have no idea what to do with these, but here are all of the partitions backed up from my v21 firmware.  Hopefully I did it correctly, and hopefully someone can use it to make an updated .img for anyone that wants to use it.  

 

Now that I have it working, please let me know if there is anything else I can provide.  I am going to hold off on installing the CFW for awhile.  I am still trying to find out if there any worthwhile changes in my newer firmware that I potentially will want to keep.

 

 

Atari Flashback X v.0.1.21.zip

  • Like 2
  • Thanks 2

Share this post


Link to post
Share on other sites

Hey Draxxon, no worries on the multiple themes idea.  It's a good idea!  If I wasn't having fun, I wouldn't be doing this stuff. 

 

So, here you go - give this a try.  🙂

 

First I tried a ridiculously complex way, then I landed on something really simple.  BTW, I learned that FAT32 filesystems (like on these thumb drives) won't support Linux symbolic links!

 

To make it work:

Replace the /startup.sh (yet again) with this one attached.

 

If you want a custom theme for a particular rom_alt_# folder (or for /rom), just copy the whole res folder from the theme of your choice into that rom folder.  So you will have for example a /rom_alt_2/res and all it's subfolders in there.

 

That's it, when the retromenu is restarted it should pick up the theme from there.  If no "res" subfolder is in the /rom folder it should use the "system default" theme stuck in the /emulator folder like always.

 

Not very tested, but it seems to work right for me.  Hopefully there are no weird side-effects.

 

startup.sh

Edited by rocketfan
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
1 hour ago, Brad_from_the_80s said:

I did setup a working build toolchain, using buildroot I think, for AFB9. 

Hi Brad, thanks for chiming in.  I was a Unix/Linux developer for a long time earlier in my working life, but always developing native and zero experience with cross-compiling, so that is all new to me.  Hacking the UI just happened as a fallout of trying to figure out how things fit together.  I would REALLY like to have a working Atari800 emulator on this.  I have numerous ways to emulate the 800 already, but I really like this device just for the form factor and controllers to sit on my couch and play.  The Atari800 emulator is finicky because it has a config file that needs just the right settings and paths to BIOS files to do what you want (and where the config file goes is one of the items that needs to be customized for the device) but at least I have that small aspect under control already because I have successfully set it up on a retroarch-based emulation system.

 

I never heard of buildroot before, so I am planning to take a look at that!

Share this post


Link to post
Share on other sites
1 hour ago, Schnafe said:

I have no idea what to do with these, but here are all of the partitions backed up from my v21 firmware.  Hopefully I did it correctly, and hopefully someone can use it to make an updated .img for anyone that wants to use it.  

Schnafe, thank you for putting in the effort and providing this.  Now at least you know which is the right cable to use to do your FW update!  Sometime this week I'll compare to the ones I got with my "downgraded but upgraded to custom" version and can maybe learn something useful.  Also, these can definitely be used by the right folks to generate a new custom FW if need be.

Share this post


Link to post
Share on other sites
48 minutes ago, rocketfan said:

Schnafe, thank you for putting in the effort and providing this.  Now at least you know which is the right cable to use to do your FW update!  Sometime this week I'll compare to the ones I got with my "downgraded but upgraded to custom" version and can maybe learn something useful.  Also, these can definitely be used by the right folks to generate a new custom FW if need be.

if v21 indeed has otg support oob, then people wont need the cable with data line anymore, or have to fight with the driver signatures to install any FW, right? Just OTG adapter and flashdrive, hopefully.

but what I dont get is, if it has otg support stock, why move the reset button?

Edited by Draxxon

Share this post


Link to post
Share on other sites

Anyone know how to recover from a IDB brick?

I tried following this guide

http://www.hotmcu.com/wiki/Unbrick,_fix_NAND_on_the_marsboard

and actually succeeded in getting the box to turn blue, but the ofw image keeps erroring out when trying the restore and update options.

If anybody could help or point me in the right direction that would be much appreciated!

Edited by MrFister

Share this post


Link to post
Share on other sites

So I managed to unbrick my console. (Atari Flashback X Deluxe Model# AR3060S - Batch Code D10908)

What I did was use the pin method to put the console into maskrom mode, and instead of using rkbatch tool like the tutorial above, I used Androidtool and deleted all the partitions except the loader partition.

Then I extracted the RK30xxLoader(L)_V2-400MHz.bin file from the OFW 0.1.5.img file and uploaded that through Androidtool and it worked.

I was pulliing my hair (what I do have left) out for like 4 hours, nothing else was working!

Maybe this can help someone else out also!

Edited by MrFister
  • Like 1

Share this post


Link to post
Share on other sites

is there a way to get game gear games to work with the genplusgx emu? i thought .gg worked, but it isnt. I tried changing the extension to .sms and they will load in master system mode, with errors.

Also, is there a way to have NES, Sega and Arcade together in one catagory? so instead of 5 categories (NTSC, HB, NES, SEGA, ARCADE) there could be NTSC, HB, and "OTHERS". It will take less time to cycle thru the "carousel". Just from what I've seen so far, youre going to want to keep yuor categories down to 500 games or less. around that many and load time sucks. And I  don't think NES+Sega+Arcade one-button games would reach +500.

Ive got a decent number of sg-1000, SMS, and Genesis/MD games plugged in. I nixed games with slowdown so bad they couldn't be played/enjoyed and also had a SMS version (Sonic, etc.) I had all of the Sega stuff already built for the LFB, so its just cut and paste. Working on FBAlpha now. All is going well. A list of working one button games to add for NES/Famicom/Genesis/MegaDrive/SG-1000/Mark-III/MasterSystem/Othello Multivision/Neo Geo/FBA Arcade would help.

Edited by Draxxon

Share this post


Link to post
Share on other sites
3 hours ago, Draxxon said:

is there a way to get game gear games to work with the genplusgx emu? i thought .gg worked, but it isnt. I tried changing the extension to .sms and they will load in master system mode, with errors.

Also, is there a way to have NES, Sega and Arcade together in one catagory? so instead of 5 categories (NTSC, HB, NES, SEGA, ARCADE) there could be NTSC, HB, and "OTHERS". It will take less time to cycle thru the "carousel". Just from what I've seen so far, youre going to want to keep yuor categories down to 500 games or less. around that many and load time sucks. And I  don't think NES+Sega+Arcade one-button games would reach +500.

Ive got a decent number of sg-1000, SMS, and Genesis/MD games plugged in. I nixed games with slowdown so bad they couldn't be played/enjoyed and also had a SMS version (Sonic, etc.) I had all of the Sega stuff already built for the LFB, so its just cut and paste. Working on FBAlpha now. All is going well. A list of working one button games to add for NES/Famicom/Genesis/MegaDrive/SG-1000/Mark-III/MasterSystem/Othello Multivision/Neo Geo/FBA Arcade would help.

Draxxon, gamegear games definitely work with that core.  However the one game I brought up (which I think was Sonic and Knuckles) would not start because when you have to pick a character and so on and it uses the wrong buttons.  The problem with .gg is in the retromenu.  I should get a bonus rom file extension because the original supported both .bin and .a26 for VCS.  I tried to support .gg in the retromenu.sega using that, but that wasn't working for me.  Long story short, I could start the .gg game with the core "manually" from a line added in the startup.sh (and it runs fine, except the button thing), but I could not get it to start from the menu.  So I just put it out there, with "no .gg support" at this point, but I'm still trying to figure out if I screwed something up in the hex edit, or I just don't understand the mechanism.

 

I have also played a little with the picodrive core, and it seems to work better than the genplusgx core for Megadrive games.  First, it renders the graphics with finer detail, and second the Sonic gameplay lags less.  Although the sound is still rough.  So, I want to make a fixed retromenu.sega which uses picodrive for Genesis roms, and fixes the .gg issue.  Or at least I will try!

 

Sorry, you really can't have NES, Sega, and Arcade in one category.  Bottom line: one retromenu per category, each retromenu limits you to a set of at most three cores and also 3 (or maybe 4) extensions.   How about have NES and Arcade together?  I think you would be shocked how many old Arcade games are one button or less - ever play Spiders, or Canyon Bomber, or The End?  Also, between SG-1000 and SMS and Megadrive there could quite a few one button games.  I guess at least another 50 or 60.

 

What could be nice is have a "top level" menu with just say 4 entries leading straight to each category you define, then a "Back" entry (instead of Next), but I can't think of a way to do it!

 

One last thing, you provided the LFB retroplayer_ro.ini a while back, and it looks like some of that stuff (but not button mapping) is supported and works if you place it in your retroplayer.ini in the /data subfolders.  For example: 

 

[Rewind]
SonicTheHedgehog1.bin=2

 

will cause that game (and any other you set=2 after that) to not use rewind.

Share this post


Link to post
Share on other sites

i did try messing with disabling rewind and stuff thru the retroplayer, but i didnt see any effect take place. I thought that was hardcoded and couldnt be edited from the /emu folder.
I didn't realize it was ran from the /data folder now. I will mess with that stuff again. I'm wondering if this also has something to do with the poor performance of these emu cores compared to the LFB counterpart.

as far as .gg, rmr_md had it unlocked on the LFB CFW, so Im thinking its possible. its not a huge deal, but good to know before i spent more time trying to figure out how to get .gg going.


Pico drive also supports 32X, but i never figured out how to get it working, or where to place the bios. again, rmr_md had it working, I'm not sure how. Im going to move on from sega now, there is enough sms, sg1000 and genesis loaded up for people to see where it goes and what to do. I overhauld the UI "theme" as well. Ive implemented most of the ideas ive had for it and overall i feel it looks so much more sharp and polished. most of the little extra AFB9 gold UI details have been added.

as far as the other stuff, its just ideas. I personally dont think the load times are bad, that was just the main criticism i always got from people. In my mind I was always thinking there is no way these people are turning the AFBX on and off more than I am, testing all the art placement and stuff, lmmfao. I promise you, Ive waited on this thing to load more than anyone else on the planet. lololol.

 

Thanks for everything man, Ill have a new pack out soon.

 

 

Edited by Draxxon

Share this post


Link to post
Share on other sites

I went back to the .gg thing.  I may have screwed things up, but I can't see it.  I tried trading things around three ways, but the only thing that worked for game gear was to go with .sgg as the extension (Sega Game Gear).  Sorry, that is non-standard but at least it works.  I can't figure out why .sg would be OK, but not .gg?  

 

So, this new version (attached) of retromenu.sega will work for .bin (Megadrive), .sms (Master System), .sg (SG-1000), and .sgg (Game Gear).

 

I also tried wedging the picodrive into the menu setup, but then it was behaving same as genplusgx.  There is also something fishy because those picodrive and genplusgx cores are almost identical size and share mostly common symbol names...

 

Also:

Super Columns :  works

Sonic Triple Trouble : works

Sonic and Tails : fails - can't get past character selection

retromenu.sega

Share this post


Link to post
Share on other sites

.md and .gen also work for genesis games for gen+GX on here. Ive got everything set up as .gen for USA and .md for Imports right now. Its nice when you have a shit ton of roms, like on the LFB, you can sort by file type, but on here its no big deal.

I've been messing with the retroplayer. I got sonic games running better, but not fullspeed. Going to be honest, I hardly ever jack with emulator settings so im doing this a little in the dark. Not much luck on sound quality.

 

This is what I set up, maybe someone with more knowledge can help: (I set it up for frame drop, but its off because that shit sucks, but its there if you want to turn it on.)

 

[Global]
AudioSample=150
ScanlineFilter=0
RewindStep=4
UseBezel=0
BezelPath=<path to bezel>
Language=0
UseOSD=0
MaxBlackTimeout=600
CombinedKeys=0

 

[Core]
genesis_plus_gx_no_sprite_limit=disabled
genesis_plus_gx_audio_filter=low-pass
genesis_plus_gx_lowpass_range=60
genesis_plus_gx_volume=100

 

[Rewind]
SegaClassics.gen=0
Phelios.gen=0
Sonic3.gen=0
Sonic&Knuckles.gen=0
SonicCrackers.gen=0

 

[EnableFrameDrop]
SegaClassics.gen=0
Phelios.gen=0
Sonic3.gen=0
Sonic&Knuckles.gen=0
SonicCrackers.gen=0



and for what its worth, 3 letter extensions are better on these systems. I dont know if you unlocked any extensions for the /game folder but the systems drops the extension for the in game display name. if its a 2 letter extension, you loose the last letter of the file name. not a big deal, but .sgg is better.

Edited by Draxxon
  • Thanks 1

Share this post


Link to post
Share on other sites

Interested to know if it's possible to replace the splash screen/video? Might be cool to put "The Fun is Back" TV commercial clips/snippets in it's place. Would it be the same process as stock Android, or is there something proprietary from AtGames preventing it? 

image.png

  • Like 1

Share this post


Link to post
Share on other sites

there is no way to replace the splash screen with the current CFW. maybe if you packed and flashed a new CFW with the changes???

Edited by Draxxon

Share this post


Link to post
Share on other sites

I finally bit on the X Deluxe.  Got one online from Sam's Club at $39.  It arrived yesterday, but so far I'm very disappointed.  The performance is much worse than my 9 Gold.  I'm wondering if it's just this firmware, or if it's like this on all Xs.  My firmware is v0.1.7.

 

After playing around with the X for a while, I tried my 9 Gold again just to make sure it wasn't just my memory playing tricks on me.  And yep, the 9 Gold definitely plays MUCH better than my X.

 

I'm looking forward to what comes out of the custom firmware for it, because I really have no reason to keep this one as-is. 

- Wired controllers vs the awesome wireless ones of the 9 Gold...

- Bad lag of the X Deluxe and dropped frames in emulation vs the responsiveness and smooth emulation of the 9 Gold...

I can hardly wait to flash this X unit.

Share this post


Link to post
Share on other sites
18 hours ago, Draxxon said:

.md and .gen also work for genesis games for gen+GX on here. Ive got everything set up as .gen for USA and .md for Imports right now.

What?  Woah - I think that is a major observation!  I believe that means one of the three cores is acting like a "default" case in a case statement and handling any extension that "falls through".  I certainly never realized that, but it should be easy to prove and figure out which slot acts like the default.  If so, it's going to make it possible to handle more than just sega with the second hacked retromenu, and it would really help with the idea below.

 

The idea from today is a way to have a "Goto" rom_alt_3 or whatever instead of just "Next".  I'm 75% sure it would work , but it will take up one of the core slots per "hacked retromenu" so you would have only two emulators per.  So if your plain /rom folder still had the released Atari games it could also have like "Goto's" for HomeBrew, Arcade, NES, Sega, or whatever.  Then in those other rom collections you could have all the same goto's or just one to go back to the main Atari collections - or however you want to organize it.

 

Same thing as before it would require some extra allgames.ini entries and a file you use over and over in place of the "rom" but renamed for the particular purpose.

 

Since we can have any number of retromenu.? files I don't think the two core limit per file would be too bad.  The other thing this approach would let you do is have any sort of other function.  Not sure what, maybe to reset the recent list, toggle a config option for the core, or run an application if anyone ever wants to build them for the device.

 

Draxxon, the question to you, is really if you would use that approach in a future release or just stick with the carousel approach?

 

Also,working freeburn roms:

1942

bombjack

crystal castles

colony 7

Mr. Do

Mario Bros

The end

 

 

Share this post


Link to post
Share on other sites

It just depends how many cores and rom_alt folders end up getting ran.

If we can have real games, HB, and "other". I think thats best.  maybe have a previous page as well as a next so you are always just one click away from everything else.
as long as the "Other" category has genesis as the default core, nes and fba all together. Im just not clear at this point what all can be pulled off.

but if mame, atari 800, snes etc get added in, then multiple goto pages like your saying makes the most sense. I think that its all just choices and preferences, but I will implement whatever you guys want and set it up at any rate.

I doubled back and have been adding the game gear one-buttons i can find. still havent messed with FBAlpha yet.

Edited by Draxxon

Share this post


Link to post
Share on other sites

Comparison of my AFBX firmware (unit purchased in January, batch code D10908 then updated to the custom fw ) to the one with V.0.1.21 FW from Schnafe.

 

Partitions which are identical:

boot

recovery

misc

resource

rootfs

 

Partitions which differ:

kernel

emulator

rom

 

I know emulator is updated by the custom fw, and I believe that is the only partition it impacts.  Both rom and emulator can be mounted in linux, so I copied out the contents. 

 

I am attaching the output of "diff -q" on linux for both directories.  You can see I have the Sam's club version with the extra games.  Also, the SpaceInvaders.a26 and a couple other files are different, which surprises me.  Interesting thing to me about the emulator folder is that retroplayer is different - I'm not positive, but I believe that is not modified by the custom firmware.

 

I don't know how to look in Kernel, or even what type of filesystem it is.

 

 

 

rom.diffs emulator.diffs

Share this post


Link to post
Share on other sites

@kevin mos3, is that what it is? Is frame skip enabled on the AFBX? I couldn't put my finger on it, but i bet you are right. As soon as I got my X i gifted my 9 so I never could go back and check. I couldnt get past the effed up box art, tbh. I wonder if there is a way to turn frame skip back off??? where is the setting for it? can we make exceptions in the retromenu.ini? can we swap in the old AFB9 stella core?

Here is everything so far. I havent added any FinalBurnAlpha games yet, but the nintendo aka /rom_alt_2 folder is set up to take them for now so you can easily add them.

The FBA set I had wasnt working so I am DLing the correct set and waiting on it. Sega has somewhere around 45 games so far. The Castle SMS did NOT work (wrong button). I also found a handful more NES and Sega games not mentioned here yet. As always, everything should look just a tiny bit more clean and polished. It seems like the folder setup may change again for the better, so Ill leave this here and take a small break.

Let me know what you guys think. Rocket, thanks for everything, man.

P.S. you CAN run old themes from past packs, you only need the /res folder found in the themes /emulator folder. swap it for the /res folder in your /emulator folder or put the /res folder in one of the various /rom folders and just that category will run that theme. Have fun. If your /rom folder doesnt have a /res folder, it will run the /res folder from the /emulator folder on the root of your device.

A.T.A.R.I v3.1
 

ATARIv3.1.rar

Share this post


Link to post
Share on other sites

Rocket, looks like I messed up and didnt send you PicoDrive. Sorry. Same name as Gen+GX for the core swap thru me off. Here it is.

genesis_plus_gx_libretro.so is Gen+GX
genesis_plus_gx_libretro.so.bk is PicoDrive, rename it to genesis_plus_gx_libretro.so it loads as the genesis emulator

PicoDrive.rar

I'm guessing youll need the 32X bios iirc, I dont know where they go.

 

also, just an FYI, I think gen+gx will run .smd, .bin with a .cue/.iso/.chd + SegaCD bios in /rom.

Also, for mame_2000 core.... try the extension .zim instead of zip. I forgot rmr_md/rrifonas edited that core. 

Edited by Draxxon

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.
Note: Your post will require moderator approval before it will be visible.

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