Zerk Zone

Pages for the Creations of Ryan Armstrong

Automatic .desktop launcher generation Python library

Posted on January 29th, 2018 @ 6:57 pm by Zerker

Having tried a number of different frontends to emulators over the years (e.g. EmulationStation, Attract Mode, DBGL), I’ve never found one that I particularly like. In the end, I decided to let the operating system be my ‘frontend’ and created a library that can be used to auto-generate launchers for games. And here we are.

For example, you can give it a folder to search for SNES games and generate a launcher with matching icon for every .sfc file found. Or DOSBOX .conf files. Or give it the path to the Mame executable to generate a full lookup of short name to full name, then give it the path to your Mame .zip files and generate launchers for every name recognized. Or just give it a list of Doom wad files and create launchers directly for them.

For illustration purposes, here’s the menu on my system:

First up: this is not going to be useful for anyone who doesn’t run some *nix variant. And right now, I only directly supported Xfce and Gnome menu systems, though the Xfce technique probably works with most other desktop environments. It also requires a little bit of Python knowledge, though it’s rather tame overall.

If this sounds like something you are interested in, give it a download and see how you like it. You will need to create your own ‘generate’ script to create the launchers for the systems/emulators/whatever you have on your machine. Either extract the download to one of your site-packages/dist-packages folders, or just use it in the same folder as your generate script. Full documentation is inside the file, as well as a pydoc html render inside the tarball. The documentation has a few example snippets of script that you can use in your generate script as a starting point for a few scenarios.

Download (9 kb)

Comments (0)

Filed under: Programs/Libraries,Python |

Jazz Jackrabbit Mapper

Posted on August 27th, 2017 @ 10:16 am by Zerker

To create the most recent Jazz Jackrabbit maps, I leverged and then horribly mangled the code from the OpenJazz project. This post provides downloads for my patch, the resultant source code, and a brief description on how to use it and what I did.


jazzmapper.patch (8.4 kb)
Patch to be applied to OpenJazz-src-160214

OpenJazz-src-Mapper.tar.bz2 (131.0 kb)
The full modified OpenJazz source with the patch applied, if there are troubles using the patch or finding the matching version.


First, a warning: due to how this mapper tool works, it should NOT be run in full-screen mode. This will be more apparent in the ‘How it Works’ section.

To map the first level in an episode, simply start openjazz normally and start the desired episode. As soon as the map loads, a BMP file for the level will be written to disk and the application will exit.

To map any other level, a new command-line argument was added (-w) which will warp to the specified world and level. For example, to load and map the file LEVEL1.035, you would type:

./openjazz -w 35 1


Comments (0)

Filed under: Jazz Jackrabbit,Programs/Libraries |

Holiday Hare ’95 Maps

Posted on August 26th, 2017 @ 11:54 am by Zerker

Related to the main Jazz Jackrabbit maps, here are the maps for Holiday Hare ’95, the second Holiday-themed free expansion for the game. These levels are listed separately, because the filenames actually overlap with the original Holiday Hare levels a bit.


Comments (0)

Filed under: Jazz Jackrabbit,Maps |

Jazz Jackrabbit (CD Edition) Maps

Posted on August 26th, 2017 @ 11:34 am by Zerker

So it’s been a while, but I decided to create more game maps. This time, it’s Jazz Jackrabbit, the classic DOS platformer by Epic Megagames. Unlike some of my from-scratch maps, this time I leveraged the work from the [a href=”http://www.alister.eu/jazz/oj/”]OpenJazz[/a] project. And totally hacked up the code to just generate maps, instead of be an actual playable game. I’ll be posting the modified source code for reference in a later post, but for now, the maps:

Comments (0)

Filed under: Jazz Jackrabbit,Maps |

Sega Genesis to Gameport Converter

Posted on January 1st, 2017 @ 1:43 pm by Zerker

Hurray, more hardware projects. This one is a bit esoteric, and probably won’t appeal to any but the most dedicated retro gamer.

But that’s OK with me.

It started when I was getting frustrated with the quality of gamepads available for DOS games. Analog Joysticks are easy, but quality gamepads are few and far between. I had two criteria for a gamepad:

  1. It had to have a good D-pad
  2. It had to support both 2 and 4 button games, with reasonable button arrangements for each

The ‘classic’ Gravis Gamepad passes on the second point with the 2 to 4 button switch, but fails quite dramatically on the first one. Most other gamepads I looked up mirrored the Gravis pad’s four button arrangement, but unfortunately this is absolutely terrible for 2-button games.

So I made an adaptor. I picked the Sega Genesis (3 button) gamepad as my source, because, if you count the start button, it has exactly four buttons. And I recently made my Genesis arcade stick, so I’d like to use that for DOS games too.

Comments (4)

Filed under: Hardware |

Sega Genesis Arcade Stick

Posted on February 15th, 2016 @ 10:25 am by Zerker

When I was working on the USB/SNES Arcade Stick, I had originally intended it to be compatible with both the SNES and the Sega Genesis. That was the main reason I used a DA15 port; it allowed me to provide separate pins for both consoles. However, the Arduino appeared to draw too much power from the Sega Genesis on the controller port, so that idea was shelved.

I still wanted a Custom Arcade stick for the Genesis, however, so a new project was born. Due to the problem with the Arduino, I would either need to find a new microprocessor that would function as intended OR… do the project without a microprocessor at all.

Comments (2)

Filed under: Hardware |

Super Mario Maker Courses

Posted on September 13th, 2015 @ 8:08 am by Zerker

So I just got Super Mario Maker. Rather than flood my page with all my levels, I’ll just keep this post updated for anyone interested. Enjoy.

First off, my profile on Super Mario Maker Bookmark. See below for individual links to the courses and screenshots.

Comments (0)

Filed under: Levels |

Arduino Leonardo Custom Joystick

Posted on June 28th, 2015 @ 2:35 pm by Zerker

As hinted at in the previous post: I made a joystick. While you can buy dedicated PCBs for custom joysticks (and I would potentially recommend this for most people), I felt like doing mine a bit more manually with an Arduino instead. And here’s how it looks!



Comments (6)

Filed under: Hardware |

Why won’t my unofficial SNES adaptor work with Super Gameboy?

Posted on June 21st, 2015 @ 12:16 pm by Zerker

So recently I made myself a custom SNES Joystick. I’ll be posting about that later, but I noticed that it wouldn’t work with the Super Gameboy, despite working with other SNES games. I also noticed that my third-party PS2 to SNES adaptor as well as my NES to SNES adaptor wouldn’t work either! Something is clearly up with the Super Gameboy.

So I bought an oscilloscope.

Comments (2)

Filed under: Hardware |

Image Gallery Script

Posted on October 11th, 2014 @ 9:45 am by Zerker

This is a script I wrote to generate an image gallery HTML file for a given folder, or for the Steam Screenshots folder. It will, by default, show the full resolution original image, so it can be useful for browsing a folder of moderate-sized images without having to rely on thumbnails. It can also generate thumbnails of any size if desired. Thumbnails are created into .thumb folders, which will be hidden in Unix-type OSes, but not (unfortunately) in Windows. Finally, the script can double-size and apply aspect ratio correction for smaller images (e.g. NES, SNES or DOS screenshots). These are sized using CSS attributes and do not generate a second copy of the image. Here’s an example gallery of X-Com screenshots with double-sizing and aspect ratio correction.

This can be run without any parameters to create the basic gallery in the current directory. For Windows users, you can also add a shortcut to the script in your SendTo folder to easily create a gallery for any folder by right clicking on it and using the SendTo menu.

Comments (0)

Filed under: Programs/Libraries,Python |

Next Page »