Jump to content
IGNORED

Gamestation Pro


Dr Karnov

Recommended Posts

On 1/15/2024 at 2:03 AM, GB_Baker said:

There is some weirdness with the controller binding page. 

In my core 'remap' files, I'm also using input_player1_analog_dpad_mode set to "1" for left-analog to dpad.  Just took awhile before I found those axis settings for right-stick.  Some core options recognize a limited set of buttons & such for potential mapping, and that makes custom assignments limited.  For example, the CV cores I've got working don't have options for the super-action purple & blue buttons (Fire3/Fire4), so playing related Super Action Controller games generally won't work properly.

Link to comment
Share on other sites

1 hour ago, big_guitar said:

Thanks for experimenting with that and sharing.  It would be nice [IMO] if we could get the rootfs modified, such as to include SDL2 input drivers for example, which for some cores may perform better.  If the partition size must match, I suppose other unused files would have to be deleted for that, but I'm sure you'd have a better idea of the related limitations.

The partition is a little bit bigger than the squashfs image, so I think there are maybe 5-6 MB to play around with.  I haven't really checked to confirm SDL is on this thing, although I assume it is.  We're dealing with a disk image and not a live system, but if the right libraries to include can be identified and if they fit then I can certainly add them.

Link to comment
Share on other sites

8 minutes ago, Brad_from_the_80s said:

I haven't really checked to confirm SDL is on this thing, although I assume it is.

No, SDL is not available.

(from retroarch --features command-line)

  SDL: SDL input/audio/video drivers: no
  SDL2:  SDL2 input/audio/video drivers: no

  UDEV:  UDEV/EVDEV input driver support: yes

retro-menu-02.jpg

Edited by big_guitar
Link to comment
Share on other sites

2 minutes ago, big_guitar said:

No, SDL is not available.

 

  SDL: SDL input/audio/video drivers: no
  SDL2:  SDL2 input/audio/video drivers: no

  UDEV:  UDEV/EVDEV input driver support: yes

retro-menu-02.jpg

I couldn't remember offhand if SDL is somehow broken into separate libraries and input was just missing or it's monolithic.  Maybe that's better anyway.  But I think it might still be small enough it could conceivably fit, but I'd have to check.

Link to comment
Share on other sites

3 hours ago, Brad_from_the_80s said:

I couldn't remember offhand if SDL is somehow broken into separate libraries and input was just missing or it's monolithic.  Maybe that's better anyway.  But I think it might still be small enough it could conceivably fit, but I'd have to check.

So exciting to see that custom firmware is being considered for the GSP. I don't know if any of this is possible or being considered, but this is my wish list of things I would love to see available in custom firmware or future GSP firmware updates:

 

1. Add Intellivison, Colecovision, Sega 32X and Lynx support
2. Improve SNES and GBA performnace
2. Paddle sensitivity settings save for games added to sdcard that weren't originally included with the GSP like Kaboom!, Eggomania and Astroblast. Currently paddle sensitivity only is saved for games included with the GSP like Breakout, Super Breakout etc
3. Ability to remap control buttons. For example, swap B and C on the joystick. This would make playing two button 7800 games a bit easier I'd say. With an Xbox One controller, ability remap the menu button to something other  than Y so that when playing a game that uses Y the GSP menu doesn't appear in the middle of gameplay
4. Compatibility with more 3rd party controllers like the Hyperkin Trooper 2 USB model for example
5. When navigating files and folders on the sdcard, pressing B would go up just one level instead of all the way back to the root of the Games folder. For example, if you enter Games\Atari 2600\Atari 2600 Paddle then press B, you are currently brought all the way back to the root of the Games folder instead of Atari 2600

  • Like 1
Link to comment
Share on other sites

2 hours ago, xboxiso said:

1. Add Intellivison, Colecovision, Sega 32X and Lynx support

I was able to get FreeIntv (Intellivision) working on the GSP as well as CoolCV and blueMSX (both ColecoVision) using the @fluxit firmware patch.  I believe @fluxit also tested a Lynx core himself, but I don't know to what extent. 

 

For FreeIntv & CoolCV there are some mapping limitations that might hamper the ability to play some games like Tron (IV) where you need to select a number very quickly, but otherwise there are means to bring up a menu to select the # to assign to a button. You can use a right-analog stick (xbox controller in my case) to select most numbers as well, except not [#0,#5,Clear,Enter] but you could assign one of those 4 to another specific button, which may be good enough in some cases.    Neither of these CV cores support the Blue or Purple buttons (extra super action controller buttons).  I haven't found a working library for LINUX-ARM that implements those additional CV features.

 

Here are some general references in this thread, but since page 33 or so in this thread, there are additional related comments mixed within:

 

FreeIntv: https://forums.atariage.com/topic/354966-gamestation-pro/?do=findComment&comment=5374631
CoolCV: https://forums.atariage.com/topic/354966-gamestation-pro/?do=findComment&comment=5374075
bluemsx: https://forums.atariage.com/topic/354966-gamestation-pro/?do=findComment&comment=5374961

 

Edited by big_guitar
  • Like 2
Link to comment
Share on other sites

2 hours ago, xboxiso said:

So exciting to see that custom firmware is being considered for the GSP. I don't know if any of this is possible or being considered, but this is my wish list of things I would love to see available in custom firmware or future GSP firmware updates:

 

1. Add Intellivison, Colecovision, Sega 32X and Lynx support
2. Improve SNES and GBA performnace
2. Paddle sensitivity settings save for games added to sdcard that weren't originally included with the GSP like Kaboom!, Eggomania and Astroblast. Currently paddle sensitivity only is saved for games included with the GSP like Breakout, Super Breakout etc
3. Ability to remap control buttons. For example, swap B and C on the joystick. This would make playing two button 7800 games a bit easier I'd say. With an Xbox One controller, ability remap the menu button to something other  than Y so that when playing a game that uses Y the GSP menu doesn't appear in the middle of gameplay
4. Compatibility with more 3rd party controllers like the Hyperkin Trooper 2 USB model for example
5. When navigating files and folders on the sdcard, pressing B would go up just one level instead of all the way back to the root of the Games folder. For example, if you enter Games\Atari 2600\Atari 2600 Paddle then press B, you are currently brought all the way back to the root of the Games folder instead of Atari 2600

Some of that may be a little ambitious without building a custom UI from scratch.  Which frankly is not a terrible idea, but a bit of work.  The UIs on these things tend to be sloppily-coded slapdash affairs that basically work but not the greatest in the usability dept.  They do okay as long as they stay simple but tend to miss very basic things (ahem, sorting).  Some of the rest can maybe handled by scripts.

 

Right now I plan to provide an option to migrate the games database and roms to the sdcard, pretty much same as I did for the Atari Flashbacks.  There will be a couple of hooks where you can run custom scripts as well.  The menu info is all in a sqlite table, which is fine but not the easiest for people to edit.  Will also need to figure out what some of the codes mean, game types and such.  I'm thinking to provide a quick and dirty console utility to dump the db to an ini file or something, edit it however you like with a text editor to add stuff, and then truncate and re-insert to the sqlite table, in alphabetical order.  Always creating simple backup copies of course.  That's the idea anyway.  And MAYBE can add the SDL binary.

  • Like 2
Link to comment
Share on other sites

8 hours ago, big_guitar said:

No, SDL is not available.

(from retroarch --features command-line)

  SDL: SDL input/audio/video drivers: no
  SDL2:  SDL2 input/audio/video drivers: no

  UDEV:  UDEV/EVDEV input driver support: yes

retro-menu-02.jpg

Okay looking through the rootfs SDL2 definitely is already present, there must be some other reason Retroarch is not detecting it.  On cursory review, it seems "--features" output indicates whether support is compiled in.  So would possibly need a different build of retroarch.

 

https://docs.libretro.com/guides/cli-intro/

Link to comment
Share on other sites

2 hours ago, Brad_from_the_80s said:

Okay looking through the rootfs SDL2 definitely is already present

Are you seeing this availability through a binary then?  I thought there would be a related sdl2 folder with rules, which I didn't see in the original extraction I had, although udev was there.

 

2 hours ago, Brad_from_the_80s said:

So would possibly need a different build of retroarch.

So that would have to be installed to be at the rootfs level then?  The MyArcade retroarch build also accepts custom undocumented parameters "-k" (likely for save states on/off) and "-y" (uncertain what 'y' is for exactly).

 

4 hours ago, Brad_from_the_80s said:

Will also need to figure out what some of the codes mean, game types and such.

I believe the current built-in "game types" were identified from start_local_sd.sh from the data image, and first noted by @fluxit and/or @Shannon.   An incoming parameter to the script identifies which core to use, except with type "15" which does not use the retroarch executable.  Although there are multiple Mame builds (under a Jungle moniker prefix, seem to be custom libretro Mame builds) only the 2003 Mame version seems to work properly from our testing.  So nothing currently calls 0, 7, 8, 9, 11 or 17, but I've tried loading the other mame/jungle libraries with the retroarch command line, but no success.  I don't think anyone's tried the PET emulator either.  I believe the current firmware recognizes these extensions by default to determine which library to load.  It could be that a .prg extension might invoke xpet, I don't think's it's been tried, and this build of retroarch seems to disable the keyboard usage.

 

"0" - (undefined)
"1" - NES  (fceumm)
"2" - GENESIS  (genesisplusgx)
"3" - SNES  (snes9x)
"4" - GB/GBA/GBC  (mgba)
"5" - Atari 2600 (stella2014) 
"6" - Atari 7800 (prosystem)
"7", "8" - (undefined)
"9" - Arcade Jungle2014  (MAME 2014) 
"10" - Arcade Jungle2003 (MAME 2003)  
"11" - Arcade Jungle2016 (MAME 2016)
"12" - Atari 5200  (atari800)
"13" - Jaguar    (virtualjaguar)
"15" - Atari 2600 (standalone stella; paddle games) 
"16" - NEC PC-Engine/TG-16 (mednafen [Beetle PCE Fast] )
"17" - Vice Pet (vice_xpet) Pet emulator. 

 

But we've also been able to add cores to the sdcard, and invoke them using the delta patch made by @fluxit which modifies the primary sd card script to check for the existence of another specific script file under a specific targeted sdcard folder.

 

Edited by big_guitar
  • Like 1
Link to comment
Share on other sites

4 hours ago, simonbelmont78 said:

Anyway to play Atari 800? Do keyboards work on these?

The core library used for Atari 5200 should support Atari 800 content extensions, so theoretically yes, although I'm not sure if any built-in extension traps will work outside of .a52, but keyboards seem to be completely disabled with the build of retroarch that is used on the GSP.

  • Thanks 1
Link to comment
Share on other sites

2 hours ago, big_guitar said:

The core library used for Atari 5200 should support Atari 800 content extensions, so theoretically yes, although I'm not sure if any built-in extension traps will work outside of .a52, but keyboards seem to be completely disabled with the build of retroarch that is used on the GSP.

 

A5200 can only handle Atari 5200 games.. and more specifically ones that its internal database has CRC's for.

https://github.com/libretro/a5200/blob/14dedb7cab91379e5ef01c39cb884a4f83ed91d0/emu/cartridge.c

 

It also has a horrendous color palette ( colors are way to saturated ) and it uses the old pokey sound core by Ron Fries which has a ringing sound with higher noise frequencies ( why Pacman sounds like sh*t ).

 

They do have A800 on the buildbot which would probably be the better alternative for Atari 800 computer games.  It has an onscreen keyboard ( ugly but it works ) for inputting keyboard commands.  I would recommend un-assigning whatever button brings up the A800 internal menu.  Cartridges need to be in .CAR format ( cartridge with a header ).  Most .ATR/.ATX images should work as well as Cassette ( although the game's config file needs to be set to load a tape image ).  I forget where exactly it looks for the Atari BIOS files for unix based systems.  On other systems it is the retroarch system folder.  If I remember correctly the GS Pro already has the BIOS files on there.  It's Atari 5200 support is not that good, but it is there.   I fixed a lot of the issues last year in Retroarch but the builds on the GS PRO are over two years old.

 

From what I understand they are no longer on the buildbot and have yet to be added back.  I suspect this is due to the retroarch github being hacked a couple years back and they never rebuilt all of the buildbots.  In theory one could setup an environment to compile the current retroarch sources for the GSP.

Edited by Shannon
Link to comment
Share on other sites

5 hours ago, Shannon said:

They do have A800 on the buildbot which would probably be the better alternative for Atari 800 computer games. 

OK I had copied somewhere that the a800 library core was used for A5200, but I see it's not there, thanks.  Would have to manually reference it in a script then and include related BIOS.

Link to comment
Share on other sites

1 hour ago, big_guitar said:

OK I had copied somewhere that the a800 library core was used for A5200, but I see it's not there, thanks.  Would have to manually reference it in a script then and include related BIOS.

 

It's possible I said earlier on based on my sisters test that it was there.  But it turned out she was skipping games that did not show up on the menu ( hence I thought she was saying it was ok ).  :lol:  I did retract that statement later once I realized what she did.  But the released firmware update images definitely confirm that it is not used.  Although I think I did see signs that they at least tried it.

 

Edited by Shannon
  • Like 1
Link to comment
Share on other sites

On 1/16/2024 at 9:44 PM, big_guitar said:

Are you seeing this availability through a binary then?  I thought there would be a related sdl2 folder with rules, which I didn't see in the original extraction I had, although udev was there.

 

So that would have to be installed to be at the rootfs level then?  The MyArcade retroarch build also accepts custom undocumented parameters "-k" (likely for save states on/off) and "-y" (uncertain what 'y' is for exactly).

 

The base SDL library is present on the system, so this has more to do with support being compiled into their build of retroarch.  I have an SDL test program I can probably run on the device to confirm it is functional.

Screenshotfrom2024-01-1721-49-20.thumb.png.8ee39b68b9124d23bc546ff3aea5ca9d.png

 

A replacement retroarch could be placed on the rootfs, but doesn't really have to be.  We could migrate it to the /data partition, which ultimately is going to be optionally re-mapped to the SD card anyway.

 

Just getting ready to make a basic customizable firmware, I already have an awk script to dump the game database to an ini file for easy editing.  Now I just need to implement the reverse to slam the ini entries back into the game db in alphabetical order.

Edited by Brad_from_the_80s
  • Like 6
  • Thanks 1
Link to comment
Share on other sites

11 hours ago, Brad_from_the_80s said:

A replacement retroarch could be placed on the rootfs, but doesn't really have to be.  We could migrate it to the /data partition, which ultimately is going to be optionally re-mapped to the SD card anyway.

Thank you for the info, my limited experience with linux has mostly come from rare moments of necessity!  🙂

Link to comment
Share on other sites

12 hours ago, big_guitar said:

Thank you for the info, my limited experience with linux has mostly come from rare moments of necessity!  🙂

Small progress.  A couple of days ago I was thinking to include a small utility that you could keep on your SD card that would quickly convert the game db to .ini file and back.  But then I decided letting the system do it fairly transparently using the built-in linux system tools would be better.  I saw the sqlite3 command on the system and figured I could just pipe a query from that to my awk script to dump the db.  Well it turns out the sqlite3 command is actually broken due to a minor missing library dependency.  So for the first time so far I had to setup a buildroot that matches the system, build the missing library and install it to the rootfs.  Aaaaaaand it actually worked.  The db dumps to ini file now.  Next step is still converting ini back to game db, based on a user flag or something in the ini file any time you update it.

 

I'm not really an expert linux hacker, I just know enough to be a danger to myself and others :P

  • Like 4
  • Haha 1
Link to comment
Share on other sites

BTW in the game db there are a couple of columns that I think have no real function: ko_id and video_id

 

One may refer to a translation lookup and the other maybe an unimplemented feature to show canned preview videos, but I wonder if anybody thinks they actually do anything, maybe having used the system more than I have.

Link to comment
Share on other sites

9 hours ago, Brad_from_the_80s said:

Only a basic graphics test, but works fine.

Nice, I assume you are still using the built-in GSP Retroarch executable? 

Do you mean to edit the game db for adding to the graphic interface?  So far, most of us have just been tweaking game settings as executed from the SD card file listing.  Ditto thanks for your efforts!

Link to comment
Share on other sites

[CV Update]

In my search for a better CV emu with super action controller support, I found a Gearcoleco library to use on GSP (via Retroarch forum)  but it's too buggy. Someone steered me to use FBNeo, and that seems most promising so far of all the 4 ways to launch a CV emulator on current GSP with @fluxit runme patch (esp if SAC is needed). Not finished testing, just need to see if enough controller options are there to reassign Y (North) elsewhere without losing anything in the process. Have to totally free the left analog from dpad in order to get enough proper SAC options, but even then can get tricky.

Edited by big_guitar
Link to comment
Share on other sites

FBNEO's Colecovision emulation is decent.. and it's the only emulator that supports a good many SGM games as well.  The key is to making sure you have the ROM images with the correct CRC.

 

It might be hard to get running, though, because you have to use the retroarch sub-menu to load content for the coleco.  Which is hard to do if the retroarch menu is not showing up properly.  I'm not sure if it is possible to load a "sub-system" game through the command line.  Although it is possible to do so through playlists if you have them set up properly.

 

Edited by Shannon
Link to comment
Share on other sites

3 hours ago, big_guitar said:

Nice, I assume you are still using the built-in GSP Retroarch executable? 

Do you mean to edit the game db for adding to the graphic interface?  So far, most of us have just been tweaking game settings as executed from the SD card file listing.  Ditto thanks for your efforts!

Yeah still using built-in retroarch, but if/when I can relocate it then can be replaced with another.  And yes what I'm working on right now is basically to allow customizing the interface to add games/boxart directly to the UI.  Similar to what I enabled on more recent AtGames Atari Flashback units.

 

SDL can see the controls BTW

 

Found 3 joystick(s)

Joystick Name:     'ShanWan Twin USB Joystick'
Joystick GUID:     03000000bc2000000055000011010000
Joystick Number:    0
Number of Axes:     6
Number of Buttons: 24
Number of Hats:     1
Number of Balls:    1
GameController:
  not a gamepad

Joystick Name:     'ShanWan Twin USB Joystick'
Joystick GUID:     03000000bc2000000055000011010000
Joystick Number:    1
Number of Axes:     6
Number of Buttons: 24
Number of Hats:     1
Number of Balls:    1
GameController:
  not a gamepad

Joystick Name:     'gpio-keys'
Joystick GUID:     19000000010000000100000000010000
Joystick Number:    2
Number of Axes:     0
Number of Buttons:  2
Number of Hats:     0
Number of Balls:    0
GameController:
  not a gamepad

 

  • Like 1
Link to comment
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...