blog:x68_launcher_1

This is an old revision of the document!


X68kLauncher, a X68000 Game Launcher - Information & Downloads

So, you've got a fancy new (old) Sharp X68000, and you've somehow managed to get loads of games for it.

But you can't remember what all of those games are, where they are on your hard-drive, SD card or CF card, or what those truncated directory names like 'Nova', 'Plin' or 'Buster' actually refer to.

Also, I'm old now and I can't be bothered to navigate around a DOS filesystem any more, and the common 'browser' used on the X68000 is, well, mind numbingly boring…

… and it's not even a decent file explorer… it's for extracting archives!

Well in this series of articles I'm going to document my process for writing a graphical game browser and launcher for the X68000 itself. Not a cop-out by doing something similar for Windows, Mac or Linux. This is going to be a real piece of executable code that can run on the Sharp hardware, or inside an X68000 emulator.

There are some design principles for this application:

  • Must be able to be installed and run with minimal technical knowledge
    • I'm a programmer, but many people who use these old systems are not; they just want to play games on them. It should be possible to just unzip this application into a directory, edit a simple text file, and get it running. No developer or technical skills needed.
  • Must run on the base X68000 configuration with hard drive
    • There are many different X68000 models, but the application should be able to run on all of them, without requiring any special hardware (e.g. FPU, or large memory expansions). A minimally expanded 2MB system (just the on-board 1MB and a 1MB upgrade card) is what we'll aim for. No FPU, no 68030.
  • Build a list of games from a set of directories on (one or more) hard drive(s)
    • The common pre-installed hard drive image that is distributed amongst the community is a single 900MB image, but we need to cater for users with multiple drives and partitions, or games installed in locations other than the defaults in that image. Wherever the games are installed on the system, it should be possible to include them by simply listing where their parent directory is; e.g. A:\Games, or C:\Stuff\RPG_Games.
  • Display a nice user interface to scroll through the games, or filter by category (Action, Sports, RPG, Strategy, etc)
    • The big one. This is what will set the application apart from any of the existing launchers, file browsers or similar tools. Let's have something that looks nice and gives us extra information on a game or filter down from possibly hundreds of installed games to those we're interested in; just Strategy games, for example.
  • Launch any selected game
    • The launcher is only a browser if it can't launch a game, so it absolutely must be able to do this!

There are also some other goals that whilst not essential, would certainly improve the experience:

  • (Optionally) Inject extra metadata and artwork into those games
  • (Optionally) Allow control by keyboard, joystick or mouse
  • (Optionally) Output an audit file of all games

  • Run application
  • Scan through list of known game locations (e.g. A:\Games, C:\Games2)
  • Generate in-memory list of all game sub-folders (e.g. A:\Games\Arkanoid2)
    • Note if their sub-folder contains any additional metadata
    • Note if their sub-folder contains a known start.bat launch file
  • Sort list of all games by sub-folder or title from their metadata so we have a 0-9, A-Z, a-z list
  • Build user interface from graphics primitives and on-disk bitmap files
  • Populate a scrollable selection list

X68kLauncher

My X68kLauncher application is written in C, using the the GCC development tools as detailed on my site.

What is it, and what does it do?

X68kLauncher is graphical game browser and launcher for the late-80's range of X68000 personal computers from Sharp.

It runs on the Sharp X68000 hardware itself, either emulated or real physical system; it is not a Window/Mac/Linux application like [launchbox](https://www.launchbox-app.com/) or [RetroArch](https://github.com/libretro/RetroArch).

  • It creates a browseable list of all the game directories on your drive(s)
  • It can load and display additional metadata per game (i.e developer, genre, release date etc)
  • It can load and display screenshots or artwork per game (i.e box art, screenshots, etc)
  • It can export an audit file of all the found games
  • It can launch any game for which a start file is either found (e.g. start.bat), or which has been defined in metadata (e.g. run.com, go.exe, etc)

You can find versions of the X68kLauncher application ready to download on this page, as well as packaged up versions of games and their metadata ready to go.

As a reminder, you'll need the following:

  • A Sharp X68000 (or emulator, such as xm6g)
  • A hard drive
  • Minimum of 2MB of memory

All the files necessary to run the application are included in the application zip file.

Pre-compiled versions of the X68kLauncher application are listed here.

Date Notes Download Links
2020-09-07 First version which can launch games! Run l.bat and it will start up everything you need, as well as run the selected game on exit. Still need to implement game filtering, as well as re-launch the application after you exit the game. 486

Source code for the X68kLauncher application can always be found at Github:

These packages include a pre-written launch.dat metadata file, screenshots, box artwork and custom start files (in most cases following the Sharp X68000 convention of being named !start.bat). In cases where a game has a configuration tool to set music/sound options, this is set as the alt_start executable.

The packages should unzip directly to a directory such as A:\Games on your PC-98 hard drive and be ready to go. You don't need to find anything else.

Info Name Developer Metadata Screenshots Box Artwork Audio Notes
* Advanced Power Dolls 2 Kogado Studio Yes Yes No FM, MIDI (MPU+Serial) Metadata includes alt_start set to the configuration/music settings tool.
  • blog/x68_launcher_1.1614177671.txt.gz
  • Last modified: 2021/02/24 14:41
  • by john