Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: GB64/GBAmiga/GBST/GBZX/etc all working on arcade cab frontends - RELEASED!  (Read 13250 times)

0 Members and 1 Guest are viewing this topic.

Jimbo

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1014
  • Last login:March 06, 2024, 08:12:05 am
  • I have no idea what I'm doing.
    • Wood Finishes Direct
OK a few of you may know that yeeeeeaars ago I created a multi-emulator frontend called GameBase. It's mostly been used for GB64 (C64 games) and GameBase Amiga (Commodore Amiga games), but more recently there have been quite a few other databases for other systems emerging ranging from consoles to very old 8-bit computers.  One of the main things with the GameBase databases is that most of them have been specifically created to enable automated running of the games as perfectly as possible in their emulators (i.e. with the best possible settings).  This is especially important (and used to great effect) in GameBase Amiga where the sheer number of WinUAE options makes it hard (without using GameBase) to run all the games correctly without constant config fiddling etc.  The other thing with GB databases is that there are usually lots of screenshots, info, and other extras for each game, making them just as much an encyclopedia as opposed to something that just launches games. My own interest in the GameBase databases is really for GB64 (over 20000 C64 games) and GB Amiga (I think over 3000 amiga games).  Now I have my cab up and running, I naturally want to play all those C64/Amiga games on it, via an arcade frontend instead of via my aging 'windowed' frontend.

There are 2 problems.

The first is that no current frontend I know of can easily get games running in an emulator the same way that GameBase does. GameBase uses a combination of game settings (from the database) and a custom script that tells it to do stuff like add command line parameters, write to ini/config files etc.  Currently the only way to run games how they are configured in GameBase is from GameBase.

The second problem is how to get the game lists (and roms/game-files, screenshots) exported from GameBase and imported into the popular cab frontends.  GameBase "roms" can be stored in subfolders (the rom path for each game is stored in the database), and so can the screenshots.   GameBase stores all its game information in an MS Access (.mdb) database.

I think I've sorted the first problem.  I've just created a small app, called GBLauncher, that will take command line parameters and run a GameBase game using all the correct emulator settings and the desired script file.  It has no UI so can be used as a proxy emulator launcher in an arcade frontend (such as MaLa).  For those interested you can grab a beta copy here:  http://www.leesti.com/GBLauncher.exe .  You will need to put it in your GameBase frontend folder and call it with the following command line parameters:

GBLauncher.exe db=X id=Y emu=Z

where: X is the database name (e.g. GB64), Y is the game ID (e.g. 1234), and Z (optional) is the emulator index (if omitted it uses the default emulator, same as pressing the "Play Game" button in GameBase).  Each time you run it, a log will be created in GBLauncher.log (in your GB folder).

I've tested it on my cab and it works pretty well, so if anyone else would like to beta test it I'd be grateful to get some feedback.  NOTE: You will (currently) get UI elements pop up if you have game rezipping turned on, or your GEMUS script is set to prompt for user interaction (i.e. asking a question or showing the current emulator command line for editing).


As for the second problem, I'm thinking of adding an "Export to RomLister XML" option in the GameBase frontend, which will take the current Gamelist/view and output an XML file compatible with RomLister.  RomLister could then be used to generate gamelists for the popular arcade frontends.

I'm thinking this might be the easiest way of getting GB databases on people's cabs (if there is any interest for it, of course :) ), but if anyone has a better idea please let me know.  I use MaLa myself, but I'm pretty unclear how MaLa is expecting the rom path and  screenshot/snap paths to be setup (can you have sub-paths?).  As for the other frontends I have no idea as I don't use them.  Basically I need to know if I'll have to write something that "moves/copies" the GameBase-structured game-file/screenshot paths to something simpler (like a single folder for each).

Sorry for rambling, hopefully there will be some interest, but if there isn't I won't be offended. :)

 

 
« Last Edit: February 26, 2011, 08:18:15 am by Jimbo »

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
Take a look at my WinUAE Loader for Amiga.

Jimbo

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1014
  • Last login:March 06, 2024, 08:12:05 am
  • I have no idea what I'm doing.
    • Wood Finishes Direct
Hi HeadKaze,

I had a brief look WinUAE Loader (haven't tried it yet) but on the surface it looks to work specifically with GameBase Amiga... would it work with other GB databases?  Does it simply read the game data from the database and call GEMUS to run the game?

I'd be interested to find out how the convert artwork works, although is this just for the GameEx frontend?  Of course I haven't tried it yet so maybe I should before bombarding you with questions ;)   I use MaLa myself, but thought that exporting to Romlister would open up GB stuff to more arcade frontends.

Cheers  :cheers:

headkaze

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2943
  • Last login:August 14, 2023, 02:00:48 am
  • 0x2b|~0x2b?
It only works with Amiga unfortunately. I'm a big fan of C64 too but I didn't think you needed any special database for that to launch games anyway. Please correct me if I'm worng. WinUAE Loader basically has the info it needs from the GameBase.mdb extracted to an xml file. The main purpose of WinUAE Loader is to configure WinUAE for the game using the info Balgarath has collected and placed into GameBase.mdb. It also has a few other cab related things like a single button disk swapper so you can rotate through multi disks games. It also allows you to remap keys easily although I really must update it to use WinUAE's internal input configuration rather than a global keyhook / remapping as it can cause issues if you're not careful how you remap keys.

It's not just for the GameEx FE; it can be used with MaLa and any other FE too. It does have a few cool GameEx only features such as the ability to export some info from the GameBase.mdb into the format GX uses. The artwork converter just goes through and renames the files to match the game name which is how most FE's use artwork. WinUAE Loader doesn't require GameBase installed to work it's a separate program.

Jimbo

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1014
  • Last login:March 06, 2024, 08:12:05 am
  • I have no idea what I'm doing.
    • Wood Finishes Direct
Thanks for the info Headkaze.

C64 games can generally be run in WinVICE or CCS64 no problems, but to get all the controls setup correctly, and certain emulator settings (true drive emulation etc) so they *all* run correctly, you can't do that easily unless you run the game through GameBase (or more specifically GEMUS - GameBase's emulator launcher backend dll).

It seems WinUAE Loader differs from GBLauncher in that it doesn't need GB installed, but it only launches WinUAE (if I understand correctly).  GBLauncher on the other hand simply runs any game in any GB database by silently passing command line params to GEMUS, bypassing the GameBase frontend, but of course you have to have GameBase installed if you want it to work (not a prob for me ;) ).

So can WinUAE Loader export gamelists only into GameEx format?  Have you thought about adding an export to Romlister xml format?  It seems with something like that (and your already-existing cool artwork converter - which incidentally answers another of my questions) then your program could get most GB databases ready for use on all the popular arcade frontends.

I'll try and get time to download WinUAE Loader tonight and check it out properly.

Jimbo

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1014
  • Last login:March 06, 2024, 08:12:05 am
  • I have no idea what I'm doing.
    • Wood Finishes Direct
OK I've got it to work, with a little help from NOP (thanks!) :)  (with all GameBase databases)!

Firstly there'll be a new version of GameBase that can export the current view to a RomLister XML format.  You can then import this into RomLister to generate your game lists for your favourite arcade cab frontend.  The export function will also optionally convert your screenshots into the right format for those frontends (single folder, renamed files).

The other part is the GBLauncher app, that will take the GB database and game ID (and optional emulator choice) via command line and pass it through silently to GameBase's backend to run the game (using GEMUS), so its exactly like running the game through GameBase.  GBLauncher can optionally wait for the game to finish before quitting too.

I had GB64 and GameBase Amiga up and running on my cab last night, and it rocks :)

I'll be announcing a new GameBase beta soon for those that want to try it.

Cheers  :cheers:

Jimbo

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1014
  • Last login:March 06, 2024, 08:12:05 am
  • I have no idea what I'm doing.
    • Wood Finishes Direct
Re: GB64/GBAmiga/GBST/GBZX/etc all working on arcade cab frontends :)
« Reply #6 on: November 22, 2009, 06:52:35 pm »
Here's a beta, you need GameBase v1.2 already installed.

Docs also updated.  See the file Docs/romlister.htm

http://www.leesti.com/gbv13b20091122.zip

Feedback appreciated!

ugglight

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:February 26, 2011, 03:50:09 am
Re: GB64/GBAmiga/GBST/GBZX/etc all working on arcade cab frontends :)
« Reply #7 on: February 26, 2011, 03:50:09 am »
Here's a beta, you need GameBase v1.2 already installed.

Docs also updated.  See the file Docs/romlister.htm

http://www.leesti.com/gbv13b20091122.zip

Feedback appreciated!
thanks you

Jimbo

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1014
  • Last login:March 06, 2024, 08:12:05 am
  • I have no idea what I'm doing.
    • Wood Finishes Direct
You're welcome.

This is actually finished and released now (and actually GameEX now fully supports it).

It's part of GameBase v1.3 and can be downloaded at www.bu22.com

Cheers