Releases: ksokolowski/olduvai
Release list
Olduvai v0.9.9
Controls, and an engine to match. The handhelds now play with the
buttons printed on them, a display change in the pause menu no longer throws
you out of the level, and the code underneath was untangled from end to end
without moving a single frame of the game.
- Added: Options → Controls. One Button layout row (Xbox or
Nintendo) and a row per action (jump, attack, back, pause) to move one
button at a time; picking a taken button swaps the two. The handhelds
start in the Nintendo layout, so A jumps and B attacks as printed.
Each row names the button the way your pad prints it and where it sits
(A - right): Nintendo letters on a Nintendo-style pad or a handheld,
PlayStation symbols on a PlayStation pad, Xbox letters otherwise. - Fixed: on a Nintendo Switch Pro controller, SDL reported the face
buttons by their labels, so every layout was rotated; buttons are now
read by position on every pad. - Changed: display and audio changes in the pause menu keep you in the
level. A new render scale, Style, HD profile, music device or effects
backend used to reload the level behind a loading card (3 s) and restart
the music; the display is now rebuilt in place (about 40 ms), in the
levels and the boss fights alike. - Improved (Enhanced, handhelds): sprites draw faster. A sprite that
is already upscaled no longer gets decoded and hashed again on every
frame: 41-55% less sprite drawing time on the handhelds. The handheld
builds are also compiled for their exact CPUs, which speeds up the
TrimUI's upscaling by 12%. - Fixed: the AdLib card's FM sound effects were silent (0.9.8).
- Fixed: with a smooth-motion sub-frame cap set (
smooth_subframes),
the boss fights ran faster than the game's 18.2 Hz. - Fixed: leaving Widescreen live in the pause menu fell back to the
aspect the level started with (Keep → Widescreen → 4:3 showed Keep). - Fixed: in Classic, switching Stretch → Keep live scaled the picture by
a fraction (uneven pixel columns) instead of whole pixels. - Fixed (Enhanced): the paused widescreen frame's HUD bars were blurred
by the upscaler; the secret-room exit moved every rising bubble on its
first frame. - Fixed: a long line in a confirm dialog ran past its edge.
- Fixed: the music after the final cave stopped dead instead of fading
out. - Under the hood: the code is held by a complexity ratchet, whole-tree
static analysis with a wide check set, and a per-layer coverage read; the
L3 trunk descent and the enhanced secret slide gained their first tests. - Docs: a shorter README, and docs/SETTINGS.md for
everythingplay.jsoncan hold.
You need your own copy of the original game, e.g.
Prehistorik 1+2 on GOG.com.
Olduvai ships no game content.
Handhelds (KNULLI): olduvai-*-knulli-trimui.zip (TrimUI Smart
Pro) and olduvai-*-knulli-a12.zip (Powkiddy A12); install steps
in docs/HANDHELD.md.
Binaries are not code-signed: on macOS right-click the app and
choose Open on first launch; on Windows SmartScreen click
More info → Run anyway. Verify downloads against
SHA256SUMS.txt.
Olduvai is GPL-3.0-or-later; the corresponding source for this
release is the Source code archive attached below. Bundled
third-party components and their licenses: licenses/ inside
each artifact (see THIRD-PARTY-NOTICES.md).
Olduvai v0.9.8
Release candidate. Olduvai leaves beta: it is feature-complete, with
no known bugs. The road to 1.0.0 is confirmation, not features — anything
that plays differently from the 1991 original is a bug worth reporting.
- Changed: one Quit, and it asks first. The pause menus had Quit to
Title and Quit to Desktop side by side; there is now one Quit entry
(Quit to Title / Exit Game), and every quit asks "Are you sure?" with
No selected, so a double press never quits by accident. Closing the
window still exits at once. - Added: About on the title menu — the version and exact build, the
system it runs on, the optional parts built in, the licence and the
project's GitHub address. - Added: Sound card under Options → Audio (and
--sound-card): Sound
Blaster, AdLib, Roland MT-32, General MIDI, MIDI out or Off — the sound
setup named after the card a 1991 player would recognise, in place of two
rows about music devices and effect backends (still there, under
Audio → Advanced). Only the cards your machine can play are listed. - Fixed: HD text now stays inside the picture at every aspect. With
Aspect 4:3 — or Keep in a window that is not 16:10 — the HUD text and
the menus were drawn across the whole window while the picture sat
pillarboxed inside it: menu values landed outside the slab, and "Energy"
was drawn over the food gauge. Only widescreen had been told where the
picture is. - Changed:
--aspect widescreennow opens a widescreen window. Given
without--window, it used to open the usual 16:10 window, in which
widescreen has no margins to show, and said nothing. The default window
now takes the desktop's own shape (up to 21:9); on a display that is 16:10
or narrower — where there is genuinely nothing to widen into — the engine
says so instead of appearing to do nothing. - Fixed: a saved MT-32 or General MIDI choice whose ROMs or SoundFont had
gone left the game without music; it now falls back to the AdLib music. - Fixed: in a confirm dialog with a note under the changes (the title
menu's), the note was drawn across the buttons. - Fixed: the confirm dialogs' buttons read "? Apply ? ? Discard ?" in
Classic mode (the game's font has no square brackets); they now read
Apply / Discard. - Added (Enhanced): the balloons float away when a ride ends, rising
off-screen the way they already did when you lose a life in flight,
instead of vanishing with the landing. - Added: the bug-report form (F5) now works in the boss fights too, and
its report carries the display setup and the state of the fight. - Improved (Enhanced): text and the animated banners are much cheaper to
draw, which is felt most on the handhelds — GET READY / NOT ENOUGH FOOD
no longer slow the game down, and the score tally no longer jitters while
it counts. - Fixed: a crash when switching Style from Enhanced to Classic in the
pause menu (seen on the TrimUI on level 3), which then misleadingly
reported the game files as unreadable. - Fixed: one frame of the finished level flashed between the score tally
and the next level's loading screen. - Fixed (Enhanced): the NOT ENOUGH FOOD banner stayed on top of the pause
menu, and rode along with the screen slide when leaving or entering the
food-gate screen. - Fixed (macOS): if the system refused a MIDI connection, the game
closed instead of carrying on without MIDI out. - Fixed: damaged game files are rejected cleanly. A corrupt packed game
executable (the GOG / CD releases'PREH.SQZ) could crash the engine, and
a corrupt compressed archive entry could stall it for seconds; both are now
refused with an error. Genuine files are unaffected. A quick-save with an
impossible score is likewise refused instead of being read wrongly. - Fixed (Windows): input recordings and traces written on Windows now
match, byte for byte, the ones written on the other systems. - Fixed (Enhanced): pausing a boss fight could nudge the player by a
fraction of a pixel — up to four HD pixels on screen — because the paused
frame was redrawn at a whole-pixel position the smooth motion had not
reached. - Fixed (Linux): the AppImage now reports the exact build it is —
olduvai --versionand the About screen said(unknown)in every Linux
release so far, because the release build had no git history to read. - Added: screenshots in the README — the classic DOS mode and the
enhanced widescreen mode, on level 1. They are frames of this engine's
own output from a legitimately owned copy, and a small curated set lives
inassets/screenshots/with its rules and a removal-on-request promise
(see its README andLEGAL.md).
You need your own copy of the original game — e.g.
Prehistorik 1+2 on GOG.com.
Olduvai ships no game content.
Handhelds (KNULLI): olduvai-*-knulli-trimui.zip (TrimUI Smart
Pro) and olduvai-*-knulli-a12.zip (Powkiddy A12) — install steps
in docs/HANDHELD.md.
Binaries are not code-signed: on macOS right-click the app and
choose Open on first launch; on Windows SmartScreen click
More info → Run anyway. Verify downloads against
SHA256SUMS.txt.
Olduvai is GPL-3.0-or-later; the corresponding source for this
release is the Source code archive attached below. Bundled
third-party components and their licenses: licenses/ inside
each artifact (see THIRD-PARTY-NOTICES.md).
Olduvai v0.9.7
Olduvai leaves the desk: the first handheld builds, and the enhanced mode
made fast enough to matter there.
- Added: handheld builds for KNULLI — the TrimUI Smart Pro (64-bit ARM)
and the Powkiddy A12 (32-bit ARM), the two devices the game has been played
through on. On the TrimUI the full Enhanced HD mode — smooth motion,
widescreen, HD graphics — runs close to full speed; the A12 starts in
Classic, which runs there at full speed. Install steps, controls and music:
docs/HANDHELD.md. PortMaster support, for many more
handhelds, is the next goal. - Added: device profiles.
dos-handheld/hd-handheldbesidedos/
hd, and--default-profilefor launchers: a device's defaults sit BELOW
your own settings, so Classic/Enhanced chosen in the menu sticks across
launches. The Style menu picks the right member for the device. - Added:
smooth_subframesandsmooth_vsyncsettings keys for
smooth-motion pacing (theOLDUVAI_*env vars stay as debug overrides). - Added: a build ID.
--version— and the first line of every log and bug
report — names the exact build:olduvai 0.9.7 (<commit>, <time>), with
-dirtyfor a build from uncommitted changes. - Added: missing game files are explained ON SCREEN where no dialog can be
shown (handhelds): which files, and the exact folder searched. Before, the
game returned to the menu with the reason only in a log. - Faster HD, everywhere: the upscalers are threaded (omniscale's worst
frame 73.5 ms → 23.1 ms), the sprite cache warms up behind the loading
screen on all cores, and the HUD overlay is no longer rebuilt when nothing
in it changed. Render scale 3 is now selectable. - Changed: smooth-motion transitions follow the wall clock, so a slow device
plays a fade or pan in its real duration instead of stretching it. - Changed: the Linux AppImage now needs GCC 12's C++ runtime (libstdc++
withGLIBCXX_3.4.30) — the threaded upscaler requires it. Ubuntu 22.04 /
Mint 21 and every newer distro already have it, as does every distro that
meets the existing glibc 2.35 requirement. - Fixed: after switching Classic ↔ Enhanced (or loading a save) inside a cave
or secret room, the widescreen margins beside the first and last screens of
a level showed stray scenery — floating boulders at the end of level 1. - Fixed: on KMSDRM displays,
smooth_vsync = offmade every page flip fail;
it now keeps vsync there, and says so in the log. - Fixed: the Video → Aspect row could not select widescreen, and cycling it
lost the setting; F5 bug-report screenshots were cropped in pillarboxed
modes. - Fixed: a bare terminal run printed "Engine not yet implemented" instead of
the help text.
You need your own copy of the original game — e.g.
Prehistorik 1+2 on GOG.com.
Olduvai ships no game content.
Handhelds (KNULLI): olduvai-*-knulli-trimui.zip (TrimUI Smart
Pro) and olduvai-*-knulli-a12.zip (Powkiddy A12) — install steps
in docs/HANDHELD.md.
Binaries are not code-signed: on macOS right-click the app and
choose Open on first launch; on Windows SmartScreen click
More info → Run anyway. Verify downloads against
SHA256SUMS.txt.
Olduvai is GPL-3.0-or-later; the corresponding source for this
release is the Source code archive attached below. Bundled
third-party components and their licenses: licenses/ inside
each artifact (see THIRD-PARTY-NOTICES.md).
Olduvai v0.9.6
- Fixed: the L4 boss arena now spawns the fighter where the original does
(found by the new cross-engine fight scenarios;boss_l4_victory's golden
was re-baselined with the reason in its header). - Fixed:
--render-audiowith--music-device oplrendered silence — the
offline path never handed the OPL player a track. It now renders real FM. - Added: L4 and L6 boss-fight replay gates, both verified frame-identical
against the reference engine, plus a smooth-motion L6 slam gate. - Added:
--render-sfx <id|all>renders AdLib sound effects offline (digest
or WAV) — the SFX counterpart of--render-audio. - Added:
--aspect 4:3and--aspect stretchrender coverage; the win
ending's climb animation is now photographable (OLDUVAI_ENDING_SHOT_FRAME)
and gated at two points. - Changed: CLI parsing reorganized internally; no flag or message changed.
- Changed: in-session display switches re-derive the present path reliably in
both directions (classic↔enhanced), verified by an extended reinit gate.
You need your own copy of the original game — e.g.
Prehistorik 1+2 on GOG.com.
Olduvai ships no game content.
Binaries are not code-signed: on macOS right-click the app and
choose Open on first launch; on Windows SmartScreen click
More info → Run anyway. Verify downloads against
SHA256SUMS.txt.
Olduvai is GPL-3.0-or-later; the corresponding source for this
release is the Source code archive attached below. Bundled
third-party components and their licenses: licenses/ inside
each artifact (see THIRD-PARTY-NOTICES.md).
Olduvai v0.9.5
Audio reaches every platform for the first time, and the things that were
supposed to prove it started actually proving it.
-
There are two presentation styles now, not three. "Enhanced 4:3" is
gone from the Style menu; there is Classic DOS and Enhanced HD, and the
aspect is chosen in Video where the other display settings live. It was
never really a third style — it was Enhanced HD with one display setting
changed.--profile hd-43still works and does what it always did.Picking Enhanced no longer overrides an aspect you chose deliberately: if
you had 4:3 or Stretch set, it stays. Coming from Classic it still gives you
widescreen. -
Fixed: switching from Enhanced to Classic mid-game kept the smooth
motion, and with it suppressed the classic VGA scanout that Classic mode
is supposed to use. Starting the game in Enhanced and switching to Classic
from the Options menu left it in a half-and-half state; starting in Classic
was always correct. Both are right now. -
The menus are built into the game rather than read from a file. The
engine no longer looks fordata/menus.jsonat startup, and the packages no
longer ship it — the menu layout is compiled in when the game is built. If a
menu definition is ever wrong, the build now fails instead of the game
starting up without menus. (The file is still how menus are authored, and is
where translations would go; it is simply read when the game is built rather
than when you run it.) -
Fixed: the main menu was missing on a bare install. If the game ran
without itsdatafolder beside it, the title screen had no main menu at
all and the game would not get past the intro — while the in-game pause menu
and the boss pause menu both worked fine, because only the main menu had
been left without its built-in fallback copy. -
Fixed: six command-line options were silently ignored when you had a
saved setting.--music-device,--sfx-backend,--display-mode,
--transitions,--hd-fontand--banner-fxlost toplay.jsonwhenever
the value you typed happened to be the default one — so there was no way to
say, for example, "ignore my saved AdLib setting and pick the best audio
device" (--music-device auto), because that request looked identical to
not asking at all. The command line now wins whenever you actually type the
option, and your saved settings still apply when you do not. -
Fixed: a corrupt or truncated game file crashed instead of explaining
itself. If one of your game files was damaged — a partial copy, a bad
download — the engine aborted withlibc++abi: terminating due to uncaught exceptionand nothing else. It now exits cleanly and tells you which file
and what is wrong with it, for example "archive truncated: data for entry
BONUS.VOC", and suggests re-copying it from your original media. -
Enhanced mode is now all-or-nothing. The seven per-effect toggles
(smooth motion, HD text, HUD overlay, cinematic cue, fluid bubbles, secret
slide, descent pan) are gone from the Options menu, and--enhance <list>
no longer picks a subset — any name you list simply turns enhanced mode on.
If you had some effects off, they come back on; nothing else changes, and
classic DOS mode is untouched.The reason is the entry above. Seven switches is 128 combinations, and only
two were ever tested: everything off and everything on. The other 126
shipped with no coverage at all, and at least one of them visibly broke the
pause menu. Offering a choice we could not check was worse than not
offering it. If you want HD without the smooth sub-frame motion,
--transitions classicstill does exactly that. -
Fixed: the Level 6 victory drop was not smoothed in enhanced mode. After
the giant is beaten, the caveman slides down to the floor — and that slide
stepped in visible jerks while everything else in enhanced mode moved
smoothly. The interpolation was in fact running; it just could not be seen,
because it moved the sprite in whole original-resolution pixels. At the
enhanced render scale that is sixteen screen pixels per step, so the three
in-between frames it drew could only land on three of them. It now positions
the falling sprite the same way the boss fight positions the player, which
has always been smooth, so the drop finally looks like the rest of the game. -
Fixed: the Dark Woods trunk-descent cinematic ran slowly in enhanced mode.
The level-end sequence where the platform grinds down the giant trunk played
noticeably slower than it should, then snapped back to normal speed the
moment it finished. In enhanced mode the two descent phases were drawing
every frame three times over — the same image, pixel for pixel, each one
re-running the full HD upscale of the whole widescreen picture. Three times
the most expensive work in the renderer, for something already on screen.
On a fast machine that was merely wasteful; on a real display each redundant
redraw missed the screen refresh it was aiming at, and the delay tripled.Nothing about how the cinematic looks has changed — the frames it shows are
the same frames, in the same order, for the same total time. It simply stops
drawing each of them twice more. The camera pan in the middle genuinely does
move between sub-frames, and it still renders every one of them. -
Fixed: in widescreen, the ending was stretched — and stayed stretched.
Finishing the game in widescreen showed the win ending horizontally
distorted, and the distortion did not stop there: it carried on through the
logo intro that follows, all the way back to the main menu. The ending and
the game-over screen are drawn at the original picture width, but the game
had left the display on the wider widescreen canvas, so that narrow picture
was pulled across the full width instead of being placed inside it. Nothing
reset the canvas until the main menu did, which is why it outlasted the
ending itself. The boss fights already restored the picture shape before
their own end sequences; now the rest of the game does too. -
Fixed: the Level 4 triceratops lost its rider for one frame. After
beating the Level 4 boss, the caveman rides the triceratops off — and on the
very last frame before the screen faded out, he vanished while the dinosaur
carried on alone. That frame is also the image the fade works from, so the
fade began from a picture with nobody on the mount. The rider is now held on
through the final frame, so the ride reads continuously into the fade. -
Fixed: things near the screen edges disappeared during cave transitions in
widescreen. Entering or leaving a cave with widescreen enabled made
scenery close to the left and right edges — the spikes on Level 1's second
screen are the clearest example — flicker away or come out clipped for the
length of the fade, then return correctly once it finished. In widescreen
the game rebuilds the strips either side of the main picture from the level
layout, and during a transition that rebuild painted over the objects
already drawn there. Those strips now keep their contents for the whole
transition. -
Fixed: the pause menu could come out shredded in widescreen. With
widescreen on and enhanced HD text off — reachable by unticking "HD text" in
the Options menu, or with--enhance smooth-motion— the pause menu's text
was drawn diagonally across the screen instead of inside its panel. The menu
is drawn into a wider-than-normal buffer in widescreen, and the bitmap text
routine still assumed the standard 320-pixel width, so every line of pixels
landed in the wrong place and anything past the old width was cut off. The
boss pause menu had the same fault. Nothing was wrong with your settings —
the combination simply had no test covering it, because every existing
screenshot test runs with HD text on, which uses a different text path. -
MT-32 and General MIDI now work on macOS and Windows. Both synths were
loaded at runtime and only ever shipped in the Linux AppImage, so macOS and
Windows users silently fell back to AdLib — music still played, so nothing
looked wrong. MT-32 emulation is now built into the binary on every
platform, and General MIDI ships beside it. The Linux build carries the same
self-contained FluidSynth as the others instead of the distribution's, which
also makes the AppImage smaller (49 bundled libraries down to 39). -
General MIDI now finds your SoundFont on macOS and Windows. The search
only ever looked in Linux locations, so installing a SoundFont the
documented way (brew install scummvm) left GM silent with no explanation. -
MT-32 now finds your ROMs on Windows. The search looked in
$HOME,
which Windows does not normally set, so the only place that worked was a
mt32-romsfolder next toolduvai.exe— fine for the portable zip, but
there was nowhere to put ROMs that survived unzipping a new version over the
old one. It now looks in%LOCALAPPDATA%\olduvai\mt32-romsfirst, the same
place it already looked for SoundFonts. The folder beside the executable
still works, and nothing changes on macOS or Linux. -
MT-32 now works on Linux with mixed-case ROM filenames. The lookup
required every ROM in a set to share one letter case; combining a legacy
dump with a MAME-versioned one — the common case — matched nothing, and
MT-32 was simply unavailable. macOS and Windows were unaffected only
because their filesystems ignore case. -
You can now choose the MT-32 model, and the game says which it loaded:
--mt32-model auto|cm32l|mt32. With both ROM sets present it used to pick
CM-32L silently, so two machines could sound different with nothing to
explain why. -
When a music backend cannot start, the game now says why — whether the
synth is missing or only the SoundFont/ROMs are, and where it look...
Olduvai v0.9.4
- Pause overlay in Enhanced widescreen now shows the game properly
behind it. The menu used to black out the widescreen side margins and
drop the HUD entirely; on boss arenas the frozen fight also fell back to
unfiltered classic pixels while the menu above it stayed sharp. The
paused frame now keeps its margin scenery, its HUD, and its HD
filtering, and the boss HUD is drawn across the wide band as it is
during play. - Pausing mid-swing no longer eats the club. The frozen frame was still
advancing the swing counter once per rendered frame, so holding the
menu open — or opening the F5 report form — made the club vanish. - Dark Woods (L5) end screen had black widescreen bars instead of
forest and floor. It is the one surface screen with no neighbour on
either side, and it fell out of the widescreen path entirely. - Leaving a cave briefly painted widescreen scenery onto the cave
screen itself for the length of the fade. Affected every regular cave,
L1 through L7. - Changing the HD profile from Options now applies everywhere at once.
The pause overlay, loading and tally screens kept upscaling with the
previous profile until the next level. --godnow applies to boss fights (99 lives), and toggling god from the
pause Cheats menu survives a level change instead of silently reverting
at the next level.- The HD cache on disk is roughly 40x smaller. The upscaled bake stored
16-colour artwork as uncompressed 32-bit pixels; it is now compressed
(~2% of the former size — a 400 MB cache becomes ~10 MB). Existing
caches stay readable and shrink as entries are rewritten; no re-prepare
is needed. - Problems reading gameplay tables from the game executable are now
reported instead of being swallowed, so a corrupt file says so rather
than surfacing later as a confusing loader error. - Internal: the Dark Woods trunk-descent sequence moved into its own unit
and shared helpers replaced several copied ones — behaviour-preserving
and verified frame-for-frame. New regression gates cover the boss arena,
the HD/widescreen pause frames, the cave transitions and the trunk
descent; the tree also gained a clang-tidy configuration.
You need your own copy of the original game — e.g.
Prehistorik 1+2 on GOG.com.
Olduvai ships no game content.
Binaries are not code-signed: on macOS right-click the app and
choose Open on first launch; on Windows SmartScreen click
More info → Run anyway. Verify downloads against
SHA256SUMS.txt.
Olduvai is GPL-3.0-or-later; the corresponding source for this
release is the Source code archive attached below. Bundled
third-party components and their licenses: licenses/ inside
each artifact (see THIRD-PARTY-NOTICES.md).
Olduvai v0.9.3
- Terminal launches now print a one-line style hint when no Classic /
Enhanced choice has been made yet (pick a style with --profile dos|hd).
The one-time question is GUI-only, so a plainolduvai --playfrom a
shell used to start classic DOS with no sign that a choice existed. - Internal: substantial engine cleanup with no change to how the game
plays. The largest source files were untangled into focused units —
sprite blitting, boss-arena rendering, static-background compose, the
score subsystem, the collision resolver's phases, and the CLI argument
parser — each moved behaviour-preserving and verified frame-for-frame
against the reference. The code is cleaner; play is byte-identical to
0.9.2. - Windows: the executable now carries version metadata (Explorer →
Properties → Details: product name, version, description, copyright) —
embedded from the CMake project version on both the MinGW and MSVC
builds. - Added a code-signing policy (SIGNING.md). Windows binaries
remain unsigned for now (SignPath Foundation application pending) —
verify downloads against each release'sSHA256SUMS.txt.
You need your own copy of the original game — e.g.
Prehistorik 1+2 on GOG.com.
Olduvai ships no game content.
Binaries are not code-signed: on macOS right-click the app and
choose Open on first launch; on Windows SmartScreen click
More info → Run anyway. Verify downloads against
SHA256SUMS.txt.
Olduvai is GPL-3.0-or-later; the corresponding source for this
release is the Source code archive attached below. Bundled
third-party components and their licenses: licenses/ inside
each artifact (see THIRD-PARTY-NOTICES.md).
Olduvai 0.9.2 — first public release
Olduvai goes public. This is the first public release of Olduvai — a
from-scratch C++/SDL2 reimplementation of the Prehistorik (1991) engine
for macOS, Linux and Windows.
The heavy lifting is done: all seven levels, the three boss fights, caves,
secret rooms, the flight sequences and the ending are playable end-to-end,
validated frame-by-frame against an independent reference implementation.
What's left at this stage is final polish — expect small releases as the
remaining rough edges get filed down.
What you get
- Faithful Classic DOS mode by default — original pacing, quirks and all
- Optional Enhanced HD: widescreen, HD sprite upscaling, smooth 60 FPS
motion, enhanced HUD, gamepad support - Authentic AdLib/OPL sound built in; Roland MT-32 and General MIDI when
your system provides them
Getting started
You need your own copy of the original game — e.g.
Prehistorik 1+2 on GOG.com
works out of the box. Olduvai ships no game content.
Downloads below — verify with SHA256SUMS.txt. The binaries are unsigned
(hobby project); see the README's launch notes for the macOS and Windows
first-run steps.