Skip to content

Dirk 1.0.0

Choose a tag to compare

@Karishem Karishem released this 18 Oct 11:13
· 1 commit to main since this release

Dirk is a free, open-source engine for interactive movie games in the style of laserdisc arcade games. It runs KimmyScript games without Singe, on Windows, Batocera and ArkOS. Dirk is built on SDL3 and FFmpeg.

This first release includes:

  • The Dirk engine. It plays games from a modern video file (MP4, MKV, AVI, MOV), as a .dirk game or a zipped .zdirk game.
  • KimmyScript 4.1, installed with Dirk: scripts, skins, sounds and controls. This is the KimmyScript made for Dirk; it is not the one shipped with Hypseus.
  • The Wizard, KimmyScript's create mode. It plays a game's movie with no game attached, so you can mark its frames with the stick and buttons and write the game sheet.
  • Built-in joystick setup (F9), fullscreen (F10), bezels (F11), scanlines (F12) and volume (+/-).

Games are not included.

Downloads

File For
DirkSetup-1.0.0.exe Windows 10/11, 64-bit. Installer with Dirk, KimmyScript, the Wizard and the Dirk Downloader.
dirk-1.0.0-batocera-x86_64.zip Batocera on a 64-bit PC or a Steam Deck.
dirk-1.0.0-batocera-arm64.zip Batocera on a Raspberry Pi 4/5 or another 64-bit ARM machine.
dirk-1.0.0-arkos-arm64.zip ArkOS handhelds (RK3326 / RK3566: R36S, RG351, RGB10, RG353, RG503, RGB30…). Needs PortMaster, which ArkOS ships with.
SHA256SUMS.txt Checksums of the four files above.

The two Batocera packages and the ArkOS package are self-contained: they bring their own libraries. They work on current Batocera releases (including 43.1) and on older ones (glibc 2.29 or later).

Installing

Windows

Run DirkSetup-1.0.0.exe.

The installer is not code-signed, so Windows SmartScreen may warn you. Click More info, then Run anyway.

After installing:

  • Double-clicking a .dirk or .zdirk file starts the game.
  • The Dirk Downloader (Start menu) can fetch games.
  • Wizard.exe, in the install folder, opens the create mode.

Batocera

  1. With Batocera running, open \\BATOCERA\share from Windows Explorer. On a Steam Deck or a USB stick plugged into a PC, use the SHARE partition.
  2. Open the share folder in the zip and copy everything in it (system and roms) into Batocera's share. Windows merges the folders and deletes nothing.
  3. Put your games in share\roms\dirk\, one folder per game, for example share\roms\dirk\Timegal\Timegal.zdirk.
  4. Restart EmulationStation. A Dirk system appears.
  5. To get game artwork and the Wizard entries, run Ports → Dirk - Update games list. Run it again whenever you add games.

ArkOS

  1. Put the console's SD card in your PC and open the EASYROMS partition.
  2. Open the EASYROMS folder in the zip and copy everything in it (ports and dirk) to the root of EASYROMS.
  3. Put your games in EASYROMS\dirk\, one folder per game.
  4. Put the card back in the console and run Ports → Dirk - Update games list. It adds one entry per game, plus one Wizard entry per game. Run it again whenever you add or remove games.

Each zip also contains a LISEZMOI.txt with more detailed instructions (in French for now).

Updating later: copy a newer zip the same way and accept to replace the files. This also replaces KimmyScript/Cfg/controls.cfg, so keep a copy first if you changed it. Your games, their settings, saves and high scores are never touched.

Source code

  • The source for this release is the v1.0.0 tag (commit e78c660). GitHub attaches it below as Source code (zip / tar.gz).
  • Every file above was built from this commit.
  • Build instructions are in README.md.
  • How each file was built:
    • Windows: static MinGW-w64 build.
    • Linux packages: built with tools/build_linux_bundle_zig.sh.
    • Libraries: SDL3 3.4.16 (with the upstream KMSDRM surface-format fix for Mali GPUs), SDL3_image 3.4.6, SDL3_mixer 3.2.4, SDL3_ttf 3.2.2, and Lua 5.1.5 from the repository.
    • FFmpeg: a minimal decode-only LGPL build of the release/7.1 branch, commit 17638a3.

License

Dirk, the Wizard and the KimmyScript installed with it are free software under the GNU General Public License, version 3 or later. See LICENSE.

Third-party components (SDL3, FFmpeg, Lua, miniz, FreeType, libiconv, DejaVu fonts, megatools) keep their own licenses. They are listed in THIRD_PARTY_NOTICES.txt, which is included in every download, with the full texts in Licenses/.

SHA256

e0fc99f69094b33dfe2c6cf638ab48d198c88217c36dd0b2699be47acf661d9b  DirkSetup-1.0.0.exe
039ea86d631ebea3b563bae057ad5232a30fb00d797e2b5494f6c8bb9ea05036  dirk-1.0.0-batocera-x86_64.zip
a14bcc6722d25f3af1c24c625b88f6ef8268b3316de521c8f0c86b2af9dedb94  dirk-1.0.0-batocera-arm64.zip
a8774689e07ffada3e33a417f876b78b60114701e1df8104b9bede68af7f6d3d  dirk-1.0.0-arkos-arm64.zip

On Windows: certutil -hashfile <file> SHA256. On Linux: sha256sum -c SHA256SUMS.txt.