Jump to content
Brad_from_the_80s

Atari Flashback X Custom Firmware for USB roms and boxart

Recommended Posts

On 4/26/2021 at 7:22 AM, rocketfan said:

Here is an overclock update for Atari Flashback X units to enable three Operating Performance Points (OPPs).  No warranties, use at your own risk, and so on.

 

WARNING:  It is not compatible with Atari Flashback 9 - DO NOT apply it to those units, as it will permanently BREAK them.  You have been warned.

 

This works in conjunction with the Nexus 5.1 (or later) release from Draxxon to enable these:

When in the menu, the device will operate at 816Mhz (the original Atari Flashback X factory clock rate).

Playing Atari 2600, the device will operate at 1008Mhz (factory clock rate of Atari Flashback 9).

Playing other games, the device will operate at 1200Mhz (the overclock rate we have been using up 'til now - matches the Legends Flashback units).

How does this work (what I'm really asking - via what mechanism is the speed altered)?  I know there was an operating theory that you could modify a proc filesystem attribute to dynamically adjust the maximum clock, but I don't see anywhere in NEXUS that's done.  I unpacked your firmware and don't see it either...what am I missing?  (What I'm really after: Dynamic clocking of *just* 2600 titles, based on CRC32 or md5sum lookup table...default clock of 1200, downthrottled to 816 for problem titles like Asteroids.)

Share this post


Link to post
Share on other sites
18 minutes ago, Rodney Hester said:

How does this work (what I'm really asking - via what mechanism is the speed altered)?  I know there was an operating theory that you could modify a proc filesystem attribute to dynamically adjust the maximum clock, but I don't see anywhere in NEXUS that's done.  I unpacked your firmware and don't see it either...what am I missing?  (What I'm really after: Dynamic clocking of *just* 2600 titles, based on CRC32 or md5sum lookup table...default clock of 1200, downthrottled to 816 for problem titles like Asteroids.)

I believe it is automatically done in the new NEXUS.

Take a look in the emulator/runcommand file and you will see.

Share this post


Link to post
Share on other sites
14 minutes ago, MrFister said:

I believe it is automatically done in the new NEXUS.

Take a look in the emulator/runcommand file and you will see.

Indeed - I was looking at 5.0, not 5.1.  Thanks!

Share this post


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

I think that indicates the rom name for the command in the all-games.ini has an extra character.  It may not be space but rather some unprintable char that you are not seeing in your editor of choice.  I would delete the line and re-type it.  You can change it to some completely different string and make sure it is coming through fully via command.txt before proceeding.

I managed to get it working by putting a retroplayer.bak file in rom/data.

I was trying that before, but my dumbass was giving the files an ext of retroplayer.bk instead of retroplayer.bak.

I can't believe I spent like 3 days on this.

 

But in my defense, NEXUS didn't have that file in it's package.

I thought that would be worth mentioning!

Edited by MrFister

Share this post


Link to post
Share on other sites

Found Nexus 5.1... I might be able to get it to work on my MD FB 2018, they all have the same SoC RK3066 in them, they are really all the same machine, based on the MD FB 2018, just have a different case the Atari FB X is the first that has RK3066 on it SoC not Monkey King 3.66(3066), they are like a Marsboard.

 

The AFB9 board is identical to the MDFB 2018 board, only difference is it don't have a cart port, AtGames consoles are like THEC64 machines, THEC64 Maxi and THEVIC20 are the same as THEC64 Mini, I know I hack them with PCUAE, PCUAE works on all 3 machines cause they work the same as each other... :)

 

Nice work BTW.. :)

Edited by Spanner

Share this post


Link to post
Share on other sites

Does NEUXS 5.1 work on the AFB9 or will I need to change stuff in it to get it to work..?

 

I notice this bit in the start.sh file code...

else
   #This is an AFB9 with an SD card.
   dev=/media/usbhd-mmcblk0p1
   menu=${dev}/emulator/retromenu.run.afb9
   a800cfg=${dev}/emulator/atari800.cfg.afb9
fi

Oh THEC64 use a Android Kernel too.

Share this post


Link to post
Share on other sites
14 minutes ago, Spanner said:

Does NEUXS 5.1 work on the AFB9 or will I need to change stuff in it to get it to work..?

 

I notice this bit in the start.sh file code...

else
   #This is an AFB9 with an SD card.
   dev=/media/usbhd-mmcblk0p1
   menu=${dev}/emulator/retromenu.run.afb9
   a800cfg=${dev}/emulator/atari800.cfg.afb9
fi

Oh THEC64 use a Android Kernel too.

NEXUS runs on both the AFB9 and AFBX models and will auto detect which one is running.

  • Thanks 1

Share this post


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

Found Nexus 5.1... I might be able to get it to work on my MD FB 2018, they all have the same SoC RK3066 in them, they are really all the same machine, based on the MD FB 2018, just have a different case the Atari FB X is the first that has RK3066 on it SoC not Monkey King 3.66(3066), they are like a Marsboard.

 

The AFB9 board is identical to the MDFB 2018 board, only difference is it don't have a cart port, AtGames consoles are like THEC64 machines, THEC64 Maxi and THEVIC20 are the same as THEC64 Mini, I know I hack them with PCUAE, PCUAE works on all 3 machines cause they work the same as each other... :)

 

Nice work BTW.. :)

LFB2 100 and 110 games systems have an actual RockChip, not the Monkey King Chip.

The LFB1 50 Games has the Monkey King.

Edited by Draxxon

Share this post


Link to post
Share on other sites

The Atari Flashback NEXUS was ported to the Legends Flashbacks. It's called "ULTIMATE".

Legends Flashback Ultimate (Community Project) - AtGames Flashback and Portable Consoles - AtariAge Forums

Im pretty sure you can add C64 and Vic20 support to ULTIMATE/NEXUS if you wanted to. Bandai WonderSwan, NeoGeo Pocket/Color. IDK. I've realized that the Sega Genesis Flashback is the same thing and this project could be ported to it for awhile, but I don't own one. And they are outrageously priced now. I don't think RocketFan owns one either. If someone wants to use this project on the Sega FB, I don't mind.

Edited by Draxxon

Share this post


Link to post
Share on other sites

OK thanks, I noticed the Nexus files are scattered a cross the thread, Would you mind me uploading them to my One Drive in a folder where you can download it in one place, That how I shear PCUAE(Project Carousel USB Anniversary Edition)...?

 

You be able to upload updates for Nexus there too..?

 

https://1drv.ms/u/s!AsiWKsjhQ2jejLw9lBHnnGOb9t_K3g?e=PCMDHL

 

I think I got everything... :) It still uploading.

Edited by Spanner

Share this post


Link to post
Share on other sites

Yes, The next full release of NEXUS is going to get its own thread for the same reason.

You can share these files however you like. Anyone can. And, thank you for being interested in it! I'm not sure I can also update multiple threads, again, thats why Im starting a new thread. If you would like to post updates there at your one drive, that would be okay with me. :) 

Edited by Draxxon

Share this post


Link to post
Share on other sites

I have Sega Mega CD games on my MD FB 2018 and with 3D box art if you want them, I can shear them too, I do have some in chd format the the Genesis Plus GX will play, but the MD FB 2018 only plays Sega CD games cause PAL games run with a sound out of sync with FMV games.

Edited by Spanner
  • Like 1

Share this post


Link to post
Share on other sites

Those files are huge, and picodrive is using .bin. are they .bin + .cue, .chd or .iso? Also the will only work for the LFB, Atari only has one button joystick, so I dont think Sega-CD will work well.

Edited by Draxxon

Share this post


Link to post
Share on other sites

Yeah never thought of that, I wonder if you could plug a MD Control pad into it and if it would work.

Share this post


Link to post
Share on other sites
5 minutes ago, Spanner said:

Yeah never thought of that, I wonder if you could plug a MD Control pad into it and if it would work.

nope.

Share this post


Link to post
Share on other sites

The Atari Flashback Nexus got its own thread. I will post updates there from now on.

Atari Flashback Nexus (Community Project) - AtGames Flashback and Portable Consoles - AtariAge Forums

 

P.S. If someone DOES make a Sega Genesis Flashback project, call it "Project Mars". Named after the Marsboard (And similar to Project Lunar and Project Eris.)

Edited by Draxxon
  • Like 2

Share this post


Link to post
Share on other sites
15 hours ago, Rodney Hester said:

How does this work (what I'm really asking - via what mechanism is the speed altered)?

Yes - the two files that do a bit to manage it are the startup.sh and the emulator/runcommand.

 

Here are my notes (now that I realized I better write some 🙂 ) on modification of the resource partition attached.  The big caution on modifying this is that the linux device tree is critical to the system operation - literally described what ports/devices are there and their operating parameters.  Unlike a modification to the /emulator or /rom partitions it seems like this can cause really bad problems - such as the brick of an AFB9 when it no longer has an appropriate device tree.  That said, when I overclocked "too high" I was still able to boot in bootloader mode and reload an original resource partition back - thank goodness!

 

 

overclocking_commands.txt ResTool_v21.zip

Share this post


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

I might be able to get it to work on my MD FB 2018, they all have the same SoC RK3066 in them

Yes, maybe - it relies on the original custom firmware for the devices which starts the startup.sh.  If that is not being started by your MD FW it won''t work.  Also, the device names could be different, but you can see how those can be fixed in startup.sh and /emulator/runcommand.  Also, these executables won't work unless the right shared libraries are resident in your base OS.  I guess controller support may be different in some way.

 

Worth a try though!

Share this post


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

Here are my notes (now that I realized I better write some 🙂 ) on modification of the resource partition attached.  The big caution on modifying this is that the linux device tree is critical to the system operation - literally described what ports/devices are there and their operating parameters.  Unlike a modification to the /emulator or /rom partitions it seems like this can cause really bad problems - such as the brick of an AFB9 when it no longer has an appropriate device tree.  That said, when I overclocked "too high" I was still able to boot in bootloader mode and reload an original resource partition back - thank goodness!

Thanks so much for this - VERY helpful!

Share this post


Link to post
Share on other sites
On 4/29/2021 at 5:42 PM, MrFister said:

I managed to get it working by putting a retroplayer.bak file in rom/data.

Hi, I have been scratching my head over this.  Possibly the retroplayer.ini went missing at some point.  The command code doesn't replace a missing file, it just edits the lines that point to the bezel art.  Because if you pick a bezel in the menu it should be there just pointing at one of the original bezels.   By having the .bak there you cover that case so that is a good idea to make it more bulletproof!

 

@Draxxon  FYI

Share this post


Link to post
Share on other sites
Posted (edited)
1 hour ago, rocketfan said:

Hi, I have been scratching my head over this.  Possibly the retroplayer.ini went missing at some point.  The command code doesn't replace a missing file, it just edits the lines that point to the bezel art.  Because if you pick a bezel in the menu it should be there just pointing at one of the original bezels.   By having the .bak there you cover that case so that is a good idea to make it more bulletproof!

Yeah I was under the impression that the retroplayer.ro.ini was backed up automatically when the command is ran, but when it wasn't doing that, i took another hard look at runcommand and I decided to put the retroplayer.bak in there manually, and it worked.

 

Great Job on that btw!

 

But I have an idea about custom bezels that I think would be better, and also gives us a bezel switch in the settings menu instead of the game menu.

Now I don't know if it would be probable but, replacing the (1st slot) bezel00 address in retromenu to the custom bezel switch command which would turn custom bezels on and off.

Just a thought I had...

 

 

Edited by MrFister

Share this post


Link to post
Share on other sites

So I just put a fresh copy of Nexus on my FBX and tried to fool around with the paddles a bit. Any of the times I tried to play Warlords or Medival Madness the FBX only recognizes the paddle buttons and they move left/right. This same behavior occurs in Mame Warlords as well.

I removed my USB and booted into a stock system and the paddles work fine. Is there something in Nexus that would cause that behavior?

Sent from my Surface Duo using Tapatalk

Share this post


Link to post
Share on other sites
Posted (edited)
47 minutes ago, Velvis said:


I removed my USB and booted into a stock system and the paddles work fine. Is there something in Nexus that would cause that behavior?
 

This is good information to know!

 

Sounds to me like the Retroplayer that Nexus loaded is causing that.

I think, but not entirely sure, that the retroplayer.afb9 is the one that gets loaded on the AFBX.

I would try replacing that one with the stock AFBX retroplayer, but renamed to match the other one and see if that is indeed the cause.

 

 

Better yet....  see the post below this one.

Edited by MrFister

Share this post


Link to post
Share on other sites
Posted (edited)

retroplayer.9, retroplayer.x and retroplayer.l (L for LFB) are the 3 that are used. But you could use any in /emu. Open /emulator/runcommand with notepad and look around. you will see the extension, read the code and see the libretro core it is attached to it. look for the retroplayer.? running it and change it to what you want (remember to save it, keep a backup if your new to this). look at other entries and get a feel.

We switched from the X retroplayer to the 9 retroplayer to fix the missing sprites. You could also change just the extension (and matching ini entry and art) to .a26x to make any game load with the retroplayer.x. Even if RP9 is the default in the runcommand.


We have to mess around and experiment and see what fixes what and breaks what.

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