Jump to content
IGNORED

Gamestation Pro


Dr Karnov

Recommended Posts

9 hours ago, xboxiso said:

TG-16 works now too. Also the sdcard has folder support added as well. Very cool. The new firmware is awesome. 

Hmmm... I just tried Impossamole. (Only free legal game I know for PC Engine/TG16. Gremlins Graphics World download). All I got was a black screen. Extention is .pce. It says (U) in the ROM image which would make it US (TG16) but the TG16 and PC Engine are the same, right? Or is there some weird region thing because of PAL TVs instead of NTSC?

Link to comment
Share on other sites

Whoa!!! I just saw something that changed in the new firmware update. I can play Kaboom! and the Avalanche demo with the paddle controller now! Well, you gotta trick it. I tried this before and it didn't work. Now it does. I had roms I copied over from before and I was testing some stuff. Some stuff I tested I forgot to change back. I tried loading the 2600 version of Warlords off my micro SD and I found out it was the copy of the Avalanche demo I renamed. The paddle worked this time!!! I tried to remember the other one I altered. Yep, I loaded 2600 Breakout and it was Kaboom! The paddle worked again! I tried my regular copy of Kaboom! next. Nope... Joystick control again. So it looks like if you want to play other games with a paddle you can rename it to a rom name that the GSP uses for its included games and it will work. Maybe make a separate folder so you can have the original games on the micro SD card. Kaboom!.... Now I'm afraid of frying my paddle from overuse.

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

2 minutes ago, Domeshtan said:

Whoa!!! I just saw something that changed in the new firmware update. I can play Kaboom! and the Avalanche demo with the paddle controller now! Well, you gotta trick it. I tried this before and it didn't work. Now it does. I had roms I copied over from before and I was testing some stuff. Some stuff I tested I forgot to change back. I tried loading the 2600 version of Warlords off my micro SD and I found out it was the copy of the Avalanche demo I renamed. The paddle worked this time!!! I tried to remember the other one I altered. Yep, I loaded 2600 Breakout and it was Kaboom! The paddle worked again! I tried my regular copy of Kaboom! next. Nope... Joystick control again. So it looks like if you want to play other games with a paddle you can rename it to a rom name that the GSP uses for its included games and it will work. Maybe make a separate folder so you can have the original games on the micro SD card. Kaboom!.... Now I'm afraid of frying my paddle from overuse.

So wait, it will work if the 2600 rom is named a certain way? Or am i confused?

Link to comment
Share on other sites

1 minute ago, Riko said:

So wait, it will work if the 2600 rom is named a certain way? Or am i confused?

Yep! Try renaming a paddle game rom image to Breakout.a26 or Warlords.a26. I'm not sure of the exact spelling they used on other paddle games but I renamed Kaboom! to Breakout.a26 and the Avalanche demo to Warlords.a26 and they both worked with the Paddle.

  • Like 1
Link to comment
Share on other sites

1 minute ago, Domeshtan said:

Yep! Try renaming a paddle game rom image to Breakout.a26 or Warlords.a26. I'm not sure of the exact spelling they used on other paddle games but I renamed Kaboom! to Breakout.a26 and the Avalanche demo to Warlords.a26 and they both worked with the Paddle.

That's mental. Maybe theres a whitelist of games to load paddle functionality, and without that exact naming it wont load it? Perhaps if that list or string of code could be found could inject other titles to be referenced like Blackjack ( not that i think its worth it ), but yeah.

Link to comment
Share on other sites

8 minutes ago, Riko said:

That's mental. Maybe theres a whitelist of games to load paddle functionality, and without that exact naming it wont load it? Perhaps if that list or string of code could be found could inject other titles to be referenced like Blackjack ( not that i think its worth it ), but yeah.

I tried it before and it didn't work. Maybe it was looking for some checksum or something as well as the name of the rom. From what I remember you had NO control for movement if you tried it on the old firmware. 

One weird thing I noticed testing Kaboom! just now. It plays fine for 1 player but there is no control for the second player. Just the button to start dropping bombs. Another weird thing was that for player 1 you could use either of the paddle controllers. (I have mine wired to both ports right now).

Link to comment
Share on other sites

33 minutes ago, Domeshtan said:

I tried it before and it didn't work. Maybe it was looking for some checksum or something as well as the name of the rom. From what I remember you had NO control for movement if you tried it on the old firmware. 

One weird thing I noticed testing Kaboom! just now. It plays fine for 1 player but there is no control for the second player. Just the button to start dropping bombs. Another weird thing was that for player 1 you could use either of the paddle controllers. (I have mine wired to both ports right now).

 

I don't have the original partition files to look at so I don't know how the "menu" executable changed between versions.  But I did notice that the "menu" executable has all of the paddle games names "hard code" into it.  So it is likely two things.

 

1) If a match is found for the hard coded name it will use the standalone stella.

2) If the game is a type 15 ( in the games.db file ) then it will use the standalone stella.

 

I'm assuming it only looks in the games.db file when running games internal to the system.

 

Edited by Shannon
Link to comment
Share on other sites

22 minutes ago, big_guitar said:

Which table shows 17 slots?  Under tbl_game I only see the 11 used types for their 201 game entries. 
I see the 14 core libraries under the libretro directory.

 

start_local_sd.sh ... the script that is run for SD games has 17 values that it checks for.  Well actually 18... but I wasn't really counting 0.. :lol:

 

 

 

#!/bin/sh
#FC        fceumm_libretro.so
#GB/GBA/GBC    mgba_libretro.so/gpsp_libretro.so
#MD        genesisplusgx_libretro.so
#SFC         snes9x_libretro.so
#XC_ATARI2600        stella_libretro.so
#XC_ATARI7800        prosystem_libretro.so
#FB Jungle_libretro.so
#M3 Jungle2003_libretro.so
#M16 Jungle2016_libretro.so
#usr/lib/libretro

export XDG_CONFIG_HOME=/data
export XDG_RUNTIME_DIR=/data

GAME_PATH=
GAME_LIB=

export LC_ALL='zh_CN.utf8'

case "$2" in
  0)
    GAME_LIB=
    ;;
  1)
    #GAME_LIB=nestopia_libretro.so
    GAME_LIB=fceumm_libretro.so
    ;;
  2)
    GAME_LIB=genesisplusgx_libretro.so
    ;;
  3)
    GAME_LIB=snes9x_libretro.so
    ;;
  4)
    GAME_LIB=mgba_libretro.so
    ;;
  5)
    GAME_LIB=stella2014_libretro.so
    ;;
  6)
    GAME_LIB=prosystem_libretro.so
    ;;
  7)
    GAME_LIB=
    ;;
  8)
    GAME_LIB=
    ;;
  9)
    GAME_LIB=Jungle2014_libretro.so
    ;;
  10)
    GAME_LIB=Jungle2003_libretro.so
    ;;
  11)
    GAME_LIB=Jungle2016_libretro.so
    ;;
  12)
    GAME_LIB=a5200_libretro.so
    #GAME_LIB=atari800_libretro.so
    ;;
  13)
    GAME_LIB=a5200_libretro_new.so
    #GAME_LIB=handy_libretro.so
    ;;
  14)
    GAME_LIB=virtualjaguar_libretro.so
    ;;
  15)
    GAME_LIB=stella
    ;;
  16)
    GAME_LIB=mednafen_pce_fast_libretro.so
    ;;
  17)
    GAME_LIB=vice_xpet_libretro.so
    ;;
  *)
    echo "Have not game resources"
    return
    ;;
esac

if [ "$2" == 15 ]; then
#/usr/bin/stella "$3"
/usr/bin/stella $3 "$4"

else
/usr/bin/retroarch -y "12"\
    -k "$1"\
    -c "$3"\
    -L /usr/lib/libretro/$GAME_LIB "$4"
    
#/usr/lib/libretro/$GAME_LIB "$3"
fi

 

As I stated in an earlier post.. not all of them are used in the database and 3 of them are actually empty ( no setting of GAME_LIB ).

 

The thing I cannot figure out from looking at 'menu' is how it determines what values to assign games based on extensions.  There are also references in 'menu' to N64 and Playstation games and some of the extensions that seem to be associated with PC-Engine don't make sense.  But this is looking at it through a hex editor.

 

 

Edited by Shannon
Link to comment
Share on other sites

Are you sure that the script isn't a red herring, though?  I've not found a reference to it anywhere else in the contents of Firmware.img, not even in the contents of an uncompressed copy of the squashfs. 

 

Where it is called from may be obscured by compression, or other means, but it also may be a remnant of what was used during the development of the device, but is no longer used.

 

Of course a way to test that would be to alter the script to always run a specific game, for example.

Edited by fluxit
Link to comment
Share on other sites

I'll leave that for the people who start hacking the IMG file to figure that one out.... :P

 

That being said.. in the "game" executable which I was incorrectly referring to as the "menu" executable in the earlier post.  That script file is referenced.. (three times)

 

/data/start_local_sd.sh 0 %d "%s" "%s"

 

Plus the first to parameters are numbers 0 and "%d" stands for decimal.  The last two are strings.  The first points to the retroarch config file ( based on the start_local_sd.sh" script.  The 2nd points to the ROM selected itself.

 

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

2 hours ago, Shannon said:

 

start_local_sd.sh ... the script that is run for SD games has 17 values that it checks for.  Well actually 18... but I wasn't really counting 0.. :lol:

 

 

 

#!/bin/sh
#FC        fceumm_libretro.so
#GB/GBA/GBC    mgba_libretro.so/gpsp_libretro.so
#MD        genesisplusgx_libretro.so
#SFC         snes9x_libretro.so
#XC_ATARI2600        stella_libretro.so
#XC_ATARI7800        prosystem_libretro.so
#FB Jungle_libretro.so
#M3 Jungle2003_libretro.so
#M16 Jungle2016_libretro.so
#usr/lib/libretro

export XDG_CONFIG_HOME=/data
export XDG_RUNTIME_DIR=/data

GAME_PATH=
GAME_LIB=

export LC_ALL='zh_CN.utf8'

case "$2" in
  0)
    GAME_LIB=
    ;;
  1)
    #GAME_LIB=nestopia_libretro.so
    GAME_LIB=fceumm_libretro.so
    ;;
  2)
    GAME_LIB=genesisplusgx_libretro.so
    ;;
  3)
    GAME_LIB=snes9x_libretro.so
    ;;
  4)
    GAME_LIB=mgba_libretro.so
    ;;
  5)
    GAME_LIB=stella2014_libretro.so
    ;;
  6)
    GAME_LIB=prosystem_libretro.so
    ;;
  7)
    GAME_LIB=
    ;;
  8)
    GAME_LIB=
    ;;
  9)
    GAME_LIB=Jungle2014_libretro.so
    ;;
  10)
    GAME_LIB=Jungle2003_libretro.so
    ;;
  11)
    GAME_LIB=Jungle2016_libretro.so
    ;;
  12)
    GAME_LIB=a5200_libretro.so
    #GAME_LIB=atari800_libretro.so
    ;;
  13)
    GAME_LIB=a5200_libretro_new.so
    #GAME_LIB=handy_libretro.so
    ;;
  14)
    GAME_LIB=virtualjaguar_libretro.so
    ;;
  15)
    GAME_LIB=stella
    ;;
  16)
    GAME_LIB=mednafen_pce_fast_libretro.so
    ;;
  17)
    GAME_LIB=vice_xpet_libretro.so
    ;;
  *)
    echo "Have not game resources"
    return
    ;;
esac

if [ "$2" == 15 ]; then
#/usr/bin/stella "$3"
/usr/bin/stella $3 "$4"

else
/usr/bin/retroarch -y "12"\
    -k "$1"\
    -c "$3"\
    -L /usr/lib/libretro/$GAME_LIB "$4"
    
#/usr/lib/libretro/$GAME_LIB "$3"
fi

 

As I stated in an earlier post.. not all of them are used in the database and 3 of them are actually empty ( no setting of GAME_LIB ).

 

The thing I cannot figure out from looking at 'menu' is how it determines what values to assign games based on extensions.  There are also references in 'menu' to N64 and Playstation games and some of the extensions that seem to be associated with PC-Engine don't make sense.  But this is looking at it through a hex editor.

 

 

Maybe I've been out of the programming game for a while, but it's wild to me that they're basing the entire load / not load of a game library on a case statement / switch. Seems there's a much better way to do this, like loading it into an array and comparing variables or something.

Link to comment
Share on other sites

Here is a video of Jon from GenXGrownUp playing Kaboom! on the GSP with the included paddle controls! This is awesome. He has a video coming out soon explaining how to set this up. He said it's a much more elegant solution than renaming the game you want to play to the name of an included game to trick the system as posted on here this morning.

 

Here is a link to Jon's youtube channel. It's a great channel, check it out:

 

https://www.youtube.com/@GenXGrownUp

  • Like 4
Link to comment
Share on other sites

Well, the overall solution I used to get paddle games working on the GSP was to make a separate folder for Atari 2600 paddle games and then make a separate folder inside with the actual name of the game. Inside those I just renamed each paddle game to Warlords.a26. Kaboom! only had player 1 working for the controls when I named it Breakout.a26. When I renamed it Warlords.a26 both players worked. So far from what I can tell the only game I couldn't get player 2 working on was Backgammon for some reason. Games I played with the paddle controller so far... Astroblast, Avalanche Demo, Backgammon, Blackjack, Breakout (left it alone), Canyon Bomber (Does a paddle even matter?), Demons to Diamonds, Kaboom!, Night Driver, Pong Sports (Video Olympics), Steeple Chase (Does the paddle do anything?), Street Racer, Super Breakout and Warlords.

  • Like 3
Link to comment
Share on other sites

I'm interested in exploring the upper limits without overheating and/or lag. Has anyone explored how far its MAME emulator can go? Can it do Golden Axe or Dungeons and Dragons:Towers of Doom? What about the arcade versions of Double Dragon? I am not supposed to know I'm getting a GSP for Christmas, but I want to have an SD card mostly ready. Also, has anyone tested if they can get the arcade version of warlords going with paddles? 

Those experimenting to get wii controllers connected: how?

Link to comment
Share on other sites

All of the originally included paddle games work on the sdcard as well by default. The only one that didn't was Video Olympics, but after renaming it to Pong it worked as well.

 

For Canyon Bomber the paddle controls are used in Sea Bomber games, not the Canyon Bomber games. For Steeplechase use the paddle control to set the height of your jump.

 

In an earlier post I advised that another method will be explained by Jon from GenXGrownUp to utilize the paddle controls for games installed on the sdcard in youtube video on his channel soon.

Link to comment
Share on other sites

43 minutes ago, Appeelicious said:

I'm interested in exploring the upper limits without overheating and/or lag. Has anyone explored how far its MAME emulator can go? Can it do Golden Axe or Dungeons and Dragons:Towers of Doom? What about the arcade versions of Double Dragon? I am not supposed to know I'm getting a GSP for Christmas, but I want to have an SD card mostly ready. Also, has anyone tested if they can get the arcade version of warlords going with paddles? 

Those experimenting to get wii controllers connected: how?

Double Dragon runs well, but I haven't tried the other two you mentioned. However, I've realized that the GSP isn't exactly a powerhouse. In my experience, Outrun doesn't run very smoothly, although that could just be my interpretation.
I would say that the older MAME games work fine. I've installed a global top 50 based on this list (source: https://www.gamulator.com/blog/top-50-games-for-mame) and supplemented it with a few titles that I personally enjoy.
All of these work great. Except for Neo Drift Out, and maybe one or two more that I couldn't get to work properly. I've had the best experience with the MAME2003_Reference_Set.

Edited by PimPandoer
Link to comment
Share on other sites

16 minutes ago, Appeelicious said:

I'm interested in exploring the upper limits without overheating and/or lag. Has anyone explored how far its MAME emulator can go? Can it do Golden Axe or Dungeons and Dragons:Towers of Doom? What about the arcade versions of Double Dragon? I am not supposed to know I'm getting a GSP for Christmas, but I want to have an SD card mostly ready. Also, has anyone tested if they can get the arcade version of warlords going with paddles? 

Those experimenting to get wii controllers connected: how?

With the right romset, Golden Axe seems to run well.

 

To connect wiimotes and accessories, as well as many other(though not all) bluetooth compatible controllers: 8Bitdo Retro Bluetooth Receiver for The Original Sega Genesis and Mega Drive

Link to comment
Share on other sites

38 minutes ago, fluxit said:

With the right romset, Golden Axe seems to run well.

 

To connect wiimotes and accessories, as well as many other(though not all) bluetooth compatible controllers: 8Bitdo Retro Bluetooth Receiver for The Original Sega Genesis and Mega Drive

Wait, I thought it only had USB ports? Does it have Atari joystick ports too?

Link to comment
Share on other sites

Hello I am a long time collector of some retro stuff and watched on the sidelines. 

Most of my atari is in storage as I have young children that wreck things.

 

I bought a gamestation pro and 2600plus

I would rather keep my carts in storage a little longer so want to play the GS with my kids for xmas. Santa brought it for me 

 

Can I ask where I get the roms for thr SD?

we are huge nintendo/sega fans also O would love to add them. 

 

I am trying to learn from all your posts it seems a little complicated bit Ill get it.

 

Any help would be so great

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