Jump to content
IGNORED

Gamestation Pro


Dr Karnov

Recommended Posts

So I thought I'd share one of the ways I use my 'standard' runme job to test games, is I have a particular folder where I use the trigger files to store the RA input variables.

So for example, I have a file name "GSPC_INT_TronDeadlyDiscs.md", where the first few lines are the variables to use to pass to RA.

 

 1  /sdcard/jlib/gsp_freeintv.cfg
 2  /sdcard/jlib/freeintv_libretro.so
 3  /sdcard/Games/intellivision/Tron - Deadly Discs (NA).bin
 4  -- INTV Tron for 2 GSP controllers; remaps under jlib/mapping/GSPC
 5  -- saves dir config override in rqui_config/FreeIntv/intellivision.cfg

 

So, this example file I made for using 2 GSP controllers with FreeIntv.

The runme script will read in... 

-line1 as the config file,

-line2 as the shared object/library file,

-line3 as the actual game rom filename

-any other lines are just comments

The different config files are good to point to unique "mapping" directories so the remaps won't conflict in case you may want to use more than one controller type with the same game.  You won't have to save the same game in multiple directories, and sometimes more than one core can handle the same format.  Of course you don't even have to put the game roms in the Games folder.  Just an idea to consider.

 

Edited by big_guitar
Link to comment
Share on other sites

10 hours ago, Brad_from_the_80s said:

My CFW nearing imminent release should make dumping and experimenting with all the retroarch stuff pretty easy.  All the game launching is done by a script which will now be on the SD card also.

Thank you. Really looking forward to it as the Carousel images are really low res I would like to change those.

 

Happy to test or help write installation notes. (I was a test for PCUAE with Spanner on C64mini / TheVic20).

 

My console is currently FW1.3.

Link to comment
Share on other sites

18 hours ago, big_guitar said:

Even better, I see at Costco online, only $49.97, not sure if they still have them at my local Costco, but if you don't have a membership, you could have a friend get one for you... 

Was thinking, well perhaps a second one in case I brick the first? 🤔

I will say, it's relatively easy to recover from a brick in my experience, so long as the brick concerns an improperly written or misconfigured firmware update and you're OK opening the device with a Phillips head screwdriver. As per the GsP's SOC manufacturer, in the event that no bootable device is found, the system will automatically enter MASKROM mode, the mode used by the GsP for firmware updates. The only bootable device on the system is the winbond SPI flash chip. If we short the CLK pin to ground, the SPI chip won't be read by the SoC, and the SoC will enter MASKROM mode, allowing us to remove the short and flash a new image to the SPI flash.

 

Stated more clearly, here's how to recover from a bad flash:

  1. Open the device. There's five screws on the bottom, three of which are hidden under the rubber feet.
  2. Remove the ribbon cable between the green and black boards.
  3. Remove all screws securing the black and green boards.
  4. Remove the boards from the housing completely. Re-attach the ribbon cable between the two. (This is important because the power button lies on the green board)
  5. Use a pair of tweezers to bridge the two points like in the attached image.
  6. Plug in the console, wait around 5 seconds, then remove the tweezers and check if it comes up in device manager/flashing program/lsusb. If it doesn't, flip the power switch on the green board, remove USB cord, and try again.

I've recovered from like three or four bad flashes this way. Granted, I am using rkdeveloptool on Linux, so I can't provide any insight on if the process will differ for Windows users, but this is how I've been going about things.

unbrick.jpg

Edited by 4096kb
Actually, 2 seconds might be a bit too short in my experience, I think it might retry the connection to the chip a few times before proceeding. 5s should beat this window.
  • Like 2
Link to comment
Share on other sites

50 minutes ago, 4096kb said:

I will say, it's relatively easy to recover from a brick in my experience, so long as the brick concerns an improperly written or misconfigured firmware update and you're OK opening the device with a Phillips head screwdriver. As per the GsP's SOC manufacturer, in the event that no bootable device is found, the system will automatically enter MASKROM mode, the mode used by the GsP for firmware updates. The only bootable device on the system is the winbond SPI flash chip. If we short the CLK pin to ground, the SPI chip won't be read by the SoC, and the SoC will enter MASKROM mode, allowing us to remove the short and flash a new image to the SPI flash.

 

Stated more clearly, here's how to recover from a bad flash:

  1. Open the device. There's five screws on the bottom, three of which are hidden under the rubber feet.
  2. Remove the ribbon cable between the green and black boards.
  3. Remove all screws securing the black and green boards.
  4. Remove the boards from the housing completely. Re-attach the ribbon cable between the two. (This is important because the power button lies on the green board)
  5. Use a pair of tweezers to bridge the two points like in the attached image.
  6. Plug in the console, wait around 5 seconds, then remove the tweezers and check if it comes up in device manager/flashing program/lsusb. If it doesn't, flip the power switch on the green board, remove USB cord, and try again.

I've recovered from like three or four bad flashes this way. Granted, I am using rkdeveloptool on Linux, so I can't provide any insight on if the process will differ for Windows users, but this is how I've been going about things.

unbrick.jpg

I've tried to recover a bricked GSP using this method but unfortunately I get a "Download Boot Fail" error when trying to flash the 1.30 firmware.  It was bricked when I got it, so I'm unsure why it's bricked.  I'm using the Windows RKDevTool supplied by MyArcade.  Do I need to try an older firmware?  If so, where can I find older firmware?

Link to comment
Share on other sites

1 hour ago, Drewcifer said:

I've tried to recover a bricked GSP using this method but unfortunately I get a "Download Boot Fail" error when trying to flash the 1.30 firmware.  It was bricked when I got it, so I'm unsure why it's bricked.  I'm using the Windows RKDevTool supplied by MyArcade.  Do I need to try an older firmware?  If so, where can I find older firmware?

Wow, now I'm totally lost. I just tried on my Windows machine and ran into the same issue. Out of curiosity, does RKDevTool say "LOADER" or "MASKROM" mode at the bottom? Usually it's reported as MASKROM when booting using the switch on the back but I'm seeing LOADER after shorting CLK to ground. Upon closer observation, I noticed that I can't get this to work on Linux anymore. I'm not sure what changed? I'm going to try to restructure the image into the format required by the new SD menu implementation, looks like images formatted this way should be flashable with LOADER mode as per https://wiki.radxa.com/Rock/update.img.

Link to comment
Share on other sites

33 minutes ago, 4096kb said:

Wow, now I'm totally lost. I just tried on my Windows machine and ran into the same issue. Out of curiosity, does RKDevTool say "LOADER" or "MASKROM" mode at the bottom? Usually it's reported as MASKROM when booting using the switch on the back but I'm seeing LOADER after shorting CLK to ground. Upon closer observation, I noticed that I can't get this to work on Linux anymore. I'm not sure what changed? I'm going to try to restructure the image into the format required by the new SD menu implementation, looks like images formatted this way should be flashable with LOADER mode as per https://wiki.radxa.com/Rock/update.img.

I'm able to get it into MASKROM mode using your instructions, but every attempt to flash it results in the "Download Boot Fail" error.

Link to comment
Share on other sites

On 2/2/2024 at 11:21 PM, big_guitar said:

Even better, I see at Costco online, only $49.97, not sure if they still have them at my local Costco, but if you don't have a membership, you could have a friend get one for you... 

Was thinking, well perhaps a second one in case I brick the first? 🤔

It's funny because there's a Costco between my house and where I work, but I don't know anyone who has a membership.

 

Either way, I got my $77 Gamestation Pro today. I only played it a little bit but I like it so far. With all of the games on it, it's a good deal at $77. I've seen people complain about the bonus games, though I don't know why. I played a little bit of Metal Mech because I used to have that for the NES and it's been ages since I last played that game. It was a bit different playing it with a joystick, but still fun. Next for me is to update the firmware, then I'll play it some more and see about loading some extra games on it.

Link to comment
Share on other sites

OK, I figured out why my device was going into LOADER mode rather than MASKROM mode. I had cut a hole and wired up a dip switch on the back of my GsP to make it easier to short CLK to ground. I later found that it would load into MASKROM using tweezers and LOADER with the switch. I think if the resistance is too high between CLK and ground, it'll boot into LOADER instead because shortening the wire length resulted in booting MASKROM. Unfortunately, this length is short enough that I can't feasibly do my switch idea, so now I've got a wire just dangling out of my SD card slot that I can poke into the card slot to short it that way 😕 Still works ig

 

I've figured out how the SD card updating mechanism works, I'll post something once I've got it down to a science. In short, you'll need to clone https://gitlab.com/firefly-linux/tools, extract each of the individual partitions from the original firmware, put some basic information on the layout into "parameter.txt" concerning the board, firmware version, and partition layout, point to each of the partitions in "package-file", then build using a modified version of rk3036-mkupdate.sh. Still fuzzy on getting the partitions to flash right. Having a skill issue with the data partition as of right now.

 

6 hours ago, Drewcifer said:

I'm able to get it into MASKROM mode using your instructions, but every attempt to flash it results in the "Download Boot Fail" error.

After verifying that I was booting MASKROM, not LOADER, I found I was able to flash without issue. Not sure why there's a discrepancy between our experiences. I hate to ask the basics but have you tried different USB-C cables, different ports, rebooting, etc? Also, have you made sure to install the driver file and run as administrator? Try re-downloading all the files from MyArcade again too if possible, it's unlikely but nevertheless possible that your download is corrupt.

Edited by 4096kb
Forgot to link what I was talking about
  • Like 1
Link to comment
Share on other sites

4 hours ago, 4096kb said:

After verifying that I was booting MASKROM, not LOADER, I found I was able to flash without issue. Not sure why there's a discrepancy between our experiences. I hate to ask the basics but have you tried different USB-C cables, different ports, rebooting, etc? Also, have you made sure to install the driver file and run as administrator? Try re-downloading all the files from MyArcade again too if possible, it's unlikely but nevertheless possible that your download is corrupt.

I bought 3 GSPs used, two of which wouldn't boot.  I was able to update the firmware on the working GSP without issue using the instructions/software from MyArcade.  Using the same software/cables/etc., I am able to get one of the bricked GSPs to MASKROM (with your instruction), but receive the "Download Boot Fail" error. The other bricked GSP won't even go into MASKROM mode.

Link to comment
Share on other sites

Wow you guys are really knowledgeable and developed a bunch of different patches and custom firmware  

 

this machine is neat

 

i just got mine to play thousands of games on a bunch of cores  which is really neat

 

heres my question though    what do i have to do to run new cores     is there a simple way to access the system and view files and add cores to the program? 

 

im not that far advanced yet so i dont know how to make changes        i there a list of which software versions this runs    i mean i know retroarch but what version ????

 

is there a way to run a simple sd card program that will open  the filesystem or it way more complex ????? 

 

 

Edited by dman11111
Link to comment
Share on other sites

-Looking forward to any other brick resolution details and other new firmware options to customize the interface.

 

[Other Cores]

While the GSP is probably not the ideal platform for this, I was able to get some dos programs to work on GSP with the DOSBox-pure core, but as you would expect, the scope is limited.  I found it best to first install games from a Windows system and copy the established 'saves' file over to the appropriate gsp-sdcard directory pointed to in the cfg (which will store the uncompressed post install data). The smaller this file is, the less likely the RA session will crash.  Once you get around 1994/1995, the sizes get to be a bit much.

Link to comment
Share on other sites

The strangest and most negative thing about the GameStation Pro is that it comes supplied with a power only USB C cable.

 

If you need a data cable to flash it, and apparently you can brick it with the wrong cable,  why would they ship it with that cable and risk all the returned product?

 

Apart from that issue and the low res menu images I am quite impressed with it.

 

A laptop could emulate better, but as a neat, fast booting solution with 2 wireless or wired controllers, it is pretty good.

Link to comment
Share on other sites

1 hour ago, big_guitar said:

-Looking forward to any other brick resolution details and other new firmware options to customize the interface.

 

[Other Cores]

While the GSP is probably not the ideal platform for this, I was able to get some dos programs to work on GSP with the DOSBox-pure core

If it could run Win 3.1 under DOSBOX, I would be pleased.  

 

Link to comment
Share on other sites

On 2/2/2024 at 9:24 PM, big_guitar said:

Not long ago I was able to get some shader settings applied to a game on GSP

Anyone know if the CRT-Royale shader might somehow work with the GSP? Some really nice looking examples of it in action on Youtube.

  

On another note, some other discoveries on the inner-workings of the GSP:

 

Edited by clyde
Link to comment
Share on other sites

Ordered one of these from Costco for $49.99 -- and, as weird as it sounds, it's partially to get a legal license to some of the non 2600 titles.  I remember reading the game list and finding a DECENT number of things I didn't have.  I'll have to double check it later... I recently installed Retroarch on a Walmart ONN Google TV Android box, and I'm curious about performance on this thing versus that.

Link to comment
Share on other sites

5 hours ago, DavidD said:

Ordered one of these from Costco for $49.99 -- and, as weird as it sounds, it's partially to get a legal license to some of the non 2600 titles.  I remember reading the game list and finding a DECENT number of things I didn't have.  I'll have to double check it later... I recently installed Retroarch on a Walmart ONN Google TV Android box, and I'm curious about performance on this thing versus that.

GSP is slower than my 2021 3rd Gen HD Firestick.  I think the ONN thing is similarly spec'd to the Firestick.  4-cores vs 2-cores in the GSP.  I can almost play 007 N64 with the Firestick with the right settings.  Not even close with the GSP.  That is not what it was intended to do.  Great for everything up to about SNES, but you have to do some work to get any third party wired controllers working.

Link to comment
Share on other sites

10 hours ago, clyde said:

Anyone know if the CRT-Royale shader might somehow work with the GSP? Some really nice looking examples of it in action on Youtube.

  

On another note, some other discoveries on the inner-workings of the GSP:

 

Sorry, not a clue on the shader, but everything in that reddit post has already been covered in this thread.  Not a big deal, of course, and no- I don't necessarily expect you to read all 40+ pages.

Link to comment
Share on other sites

14 hours ago, clyde said:

Anyone know if the CRT-Royale shader might somehow work with the GSP?

If you patch the firmware, you should be able to get it to work with cfg modifications and copying files to sdcard, but it wasn't simple (you will have to become somewhat acquainted with syntax used in these shader files and the related directory structures) and in the end it was more trouble than I bargained for.

Edited by big_guitar
Link to comment
Share on other sites

7 hours ago, fluxit said:

reddit post has already been covered in this thread

Thanks for checking, just wasn't sure if there might be anything new in that post that could help. You guys are doing a great job, definitely beyond my abilities!

3 hours ago, big_guitar said:

was more trouble than I bargained for

Good to know. Those shaders did sound like a challenge to set up/remove, I suspect the CRT-Royale shader would be too demanding for the GSP anyway.

Link to comment
Share on other sites

On 1/11/2024 at 4:24 AM, big_guitar said:

On the controller config files, I know the settings for the matching xinput product entry (from Windows) aren't correct for the Linux-udev environment given my previous testing, and the generic Xbox sample file is more accurate for using with GSP.  But so far I've not been able to verify that the file is even being recognized even with adding product id and vendor.  The runtime log has not otherwise provided evidence, and I've observed no obvious impact on controller behavior at this point. I believe even if there was an impact, the main Retroarch config files would still require updating, but there might be a few more tests I can try to see if the file is being seen at all. I have been able to verify that my core remap files have a definite impact for example, but so far not for the controller config files.

Did you ever get xinput to work with the GSP? I'm trying to connect my X-Arcade Dual Joystick with a USB-C to USB-A adapter. This combo works fine in Windows.

  

It looks like the X-Arcade also supports DirectInput mode, but I haven't attempted as I'm not sure what else would be needed on the GSP side.. or if doing so would cause the GSP controllers to stop working. 

 

Edited by clyde
Link to comment
Share on other sites

7 minutes ago, clyde said:

Did you ever get xinput to work with the GSP?

Out of the box, on GSP you have to use "udev" for input drivers and the joypad driver as well, although supposedly RA-Linux supports "xinput" as a type for the joypad driver.

 

With the runme firmware patch, you can edit the CFG file passed to retroarch to point to a directory on the sdcard for the "autoconfig" location [using joypad_autoconfig_dir="/sdcard/autoconfig" for example].

Within that custom sdcard folder, you can establish a "udev" subfolder to place matching controller config files, but you'd have to know what your controller device is seen as from the GSP perspective.  I did end up finding a udev match for mine as "Generic X-Box pad.cfg" (shows as that even though it is Microsoft brand).  I had to add lines to the file for "input_vendor_id" and 'input_product_id", which you can report via other commands, or you could find the matches for recognized controller configs under Windows.

 

Link to comment
Share on other sites

I thought I'd post some of the cores I've tested on the GSP so far with my own grades...

 

Core System Type Status Grade Issues Rom Ext Notes
fbneo_libretro.so Colecovision/Arcade/Other A you must pass --subsystem "cv" for Colecovision ZIP Ideal for Colecovision
bluemsx_libretro.so Colecovision/MSX B No SAC support COL  
coolcv_libretro.so Colecovision C triggers not working
No SAC support
BIN ok for minimum buttons
gearcoleco_libretro.so Colecovision D controller bugs BIN not really useable
freeintv_libretro.so Intellivision A   BIN  
vice_x64_libretro.so Commodore 64 A   PRG  
mame2003_plus_libretro.so Arcade A   ZIP  
mednafen_pce_fast_libretro.so TG16/TGCD/PCE A   PCE/CUE updated version; runs CDs
prboom_libretro.so DOOM related A   WAD  
ecwolf_libretro.so Wolfenstein 3D A   WL6/SOD  
tyrquake_libretro.so Quake 1 B+ audio not flawless but acceptable PAK runs well at 512x384
dosbox_pure_libretro.so DOSBox-pure B best with pre-1994 ZIP DESCENT runs well;
tic80_libretro.so TIC-80 A   TIC  
opera_libretro.so Panasonic 3DO D too slow ISO/CUE  
kronos_libretro.so Sega Saturn F won't run CUE  
yabause_libretro.so Sega Saturn D too slow CUE  
mednafen_saturn_libretro.so Sega Saturn D too slow CUE  
Edited by big_guitar
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Please take a look at these documents to try and figure out what the firmware launcher is doing.

 

Brad from the 80s supplied the spreadsheet and I did some sorting and summarised in the attached note.

 

Class, Type and Hard are 3 columns that need a bit of figuring out.

 

We think Class is probably Emulator.

 

Type is unclear.

 

Hard may relate to controller configuration. Hard 5 seems to be paddles.

 

Please let us know what you think these are and why they aren't apparently consistent.

e.g. Centipede and Millipede have different settings.

 

 

Class Type Hard (Hardware config?) from the firmware       SM Save Menu, GC Game Controls

This is a summary from the spreadsheet.

 

1. Atari 2600 - Extension .A26              Type 5     Hard 0

2. Atari 5200 - Extension .A52              Type 12   Hard 0

2. Atari 5200 - Extension .A52              Type 13   Hard 1 only Meebzork  noSM noGC 

3. Atari 7800 - Extension .A78              Type 6     Hard 0 or 1

4. Mame – Extension .zip                      Type 9     Hard 0 only Quantum Alt  noSM noGC

4. Mame – Extension .zip                      Type 10   Hard 0 Most games

4. Mame – Extension .zip                      Type 10    Hard 1 (Analogue Scheme 1?)

    Major Havoc, Red Baron, Liberator, Food Fight, Monte Carlo, Superbug, Tempest

 

4. Mame – Extension .zip                      Type 10    Hard 2 (Analogue Scheme 2?)

    Asteroid, astdelux, dragrace, firetrk, gravitar, lunarbat, missile, runaway, spacduel

 

4. Mame – Extension .zip                     Type 11     Hard 0 (Analogue Cursor control?)

       Centipede Alt noSM noGC,     Trackball all directions  (Why no Millipede?)
       PoolShark 2P SM NoGC,         Analogue 2 pot joystick? All directions?
       Skyraid 1P SM noGC,         Left right Analogue or all way ?
       
4. Mame – Extension .zip                     Type 11     Hard 1
       Skydiver 2SIM noSM noGC     Left Right and Pull Controller and jump button

 

5. Atari 2600 PADDLES Extension .A26  Type 15    Hard 5 (Paddle?)

 

6. Mame – PADDLES? Extension .zip     Type 10     Hard 5 (Paddle?)

 

6. Mame – PADDLES? Extension .zip     Type 11     Hard 5 (Paddle?) only Tourtabl (why is this type 11?)

 

11. 8 Bit                                             Type 1 Nes, Type 4 GB

12. 16 Bit                                           Type 2

13. Piko Arcade                                   Type 10 or Type 11

 

Gamestation pro.txt tbl_game_202401280228 sorted.csv

Edited by Vic20Ian
Link to comment
Share on other sites

44 minutes ago, big_guitar said:

Hi, this stands for the core library to be used, this was determined earlier, check out Page 28 of this thread.

Many thanks to you and big_guitar and Shannon, I missed that in the code snippet.

 

Any thoughts on the HARD column?

 

Type                                        Emulation Core

 

0)     NONE                              N/A   

1)     NES                                nestopia_libretro.so

2)     Genesis / MegaDrive        genesisplusgx_libretro.so

3)     SNES                              snes9x_libretro.so           

4)     GBA                                mgba_libretro.so

5)     VCS / 2600                      stella2014_libretro.so

6)     7800                               prosystem_libretro.so

7)     NONE                              N/A

8 )    NONE                               N/A

9)     ARCADE / MAME               Jungle2014_libretro.so

10)   ARCADE/ MAME                Jungle2003_libretro.so

11)   ARCADE / MAME               Jungle2016_libretro.so

12)   5200  / A800?                  a5200_libretro.so      atari800_libretro.so

13)   5200 / Lynx?                    5200_libretro_new.so      handy_libretro.so

14)   Jaguar                             virtualjaguar_libretro.so

15)   VCS/2600                        stella

16)   PC Engine / TG16             mednafen_pce_fast_libretro.so

17)   CBM PET                         vice_xpet_libretro.so

Edited by Vic20Ian
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...
×
×
  • Create New...