PocketLauncher
==============
A WHDLoad game launcher for AmigaOS 2.04+. It scans your disks,
catalogs the slaves, and you launch them from a list with cover
images. Ideal for large collections (tested with 3000+ games).
Assumes you already use WHDLoad.
Runs on any 68000 or better - from a plain 68000 (A500+, A600, or an
A500 with a 2.04+ ROM) up to the fastest 040/060. The binary is built
for the 68000 with the full 2.04+ API, so there is no separate "020" build to
pick: the same file runs everywhere, and faster CPUs run it faster.
The best part: no libraries needed
----------------------------------
* One single file (about 1 MB) that carries everything inside: the
HTTPS module for your CPU and the phone page. Copy it and it runs -
nothing to install.
* No MUI needed (iGame requires it), no datatypes, no guigfx, no
AmiSSL: HTTPS is built in (BearSSL, in a module PocketLauncher loads
only when it goes online).
* Plain 68000 compatible - no 020+ required.
How much memory
---------------
Minimum: a 68000 with 1 MB Chip + 8 MB Fast, in LOW-RAM mode (the
list is read from disk on each search, no network, no covers).
Recommended: 12 MB+ of Fast RAM for FAST mode (whole list in memory,
instant search, covers, Remote Launcher, updates).
Measured on an A500+/A600 68000 with 1 MB Chip + 8 MB Fast, KS 2.04,
2.05 and 3.1, with 5658 games, in LOW-RAM: PocketLauncher takes
about 1 MB, starts at once, searches the whole list (about one
minute per search on a stock 7 MHz 68000; faster CPUs: much less),
launches the game and comes back, and leaves the game ~950 KB of Chip and ~5.6 MB
of Fast while it waits in the background (all Chip RAM stays free
for the game: PocketLauncher uses Fast RAM only).
Below the minimum it tells you once what it needs and what your Amiga
has, and switches to LOW-RAM; with 1 MB Chip only or 1 MB + 512 KB
it does not fit at all and AmigaOS says so (no crash).
Features
--------
* Smart auto-cataloging: reads the name embedded in the slave and the
igame.data (title, genre, year, players, chipset, arguments), and
tells games from demos on its own.
* Multiple sources at once (up to 16 folders/volumes), detects mounted
volumes and drops duplicates.
* Incremental Update Index: adds new slaves without re-scanning
everything.
* Integrity check: finds slaves that are missing (deleted or moved)
and cleans them from the database, but keeps the ones on an
unmounted volume, so you don't lose your DB if you unplug a CF.
* Low-RAM mode and an optimized fast-RAM mode.
* Native IFF cover images, no datatypes. Laced, progressive (hires)
and RTG. Multi-IFF: view every .iff in the game's folder, not just
one. Two scaling modes: fill and sharp (pixel-perfect).
* Built-in tooltype editor - edit the .info from the app without
opening IconEdit.
* Run at startup and optional fullscreen.
* Sortable table (title, platform, genre, year, players). Filter by
three combinable criteria: language, platform (OCS/ECS, AGA, CD32,
CDTV) and type (games, demos, mags, cracktros, apps), plus a title
search. Iconify to an AppIcon with global hotkeys.
* Favourites: mark games from the menu, show only your favourites
with one checkbox. Stored by drawer name, so they survive
re-indexing and even moving the collection to another volume.
* Filters are remembered between sessions (can be turned off).
* Improved window handling with PARTIAL resizing, minimum 640x200
(NTSC hires). All the extra width goes to the title column - 29
characters before, 61 on a 1024x768 RTG screen. Not a full RTG
experience yet: it has not been tested on a real RTG screen, the
dragged size is not remembered across a fullscreen toggle, and the
font is still 8-pixel topaz, so text stays small on a big desktop.
* Rename any game to whatever you like, and restore the original name
at any time. Renamed entries are marked in the list and the bottom
line shows what they were called. The original is never lost - it
stays in the database - and renaming survives re-indexing without
duplicating the entry.
* Public-domain packs that use the generic WHDLoad slaves are handled:
those slaves name the environment they need, not the game, so the
list used to show ten identical "Generic KickStarter 34.005" rows.
The drawer name is used instead. An igame.data title always wins.
* Extra cover folders: point it at an image pack and the covers are
added to every game, on top of whatever is next to the slave.
Nothing is copied - it uses the images where they are.
Install
-------
Unpack the LHA and run PocketLauncher. That's it - no assigns, no
libraries, no MUI. The archive has:
PocketLauncher the program (one file for 68000..68060)
PocketLauncher.info its icon
PocketLauncher.readme this text
The HTTPS modules (68000/010 and 68020+) and the phone page of Remote
Launcher travel INSIDE the program file. PocketLauncher picks the
module for its CPU by itself, checks its SHA-256 before loading it,
and only loads it when it goes online (no network = no RAM spent on
it). If something is damaged, HTTPS is just off (it falls back to the
plain mirror) and Check for updates brings it back. Old separate
PocketLauncher.tls/.tls020/.www files can be deleted.
Preferences -> "Use HTTPS (beta)" is OFF by default (since 33.331):
plain mirror only, everything signed, just as safe. On a 68020+ you can
switch it on as a fallback; a 68000/010 never uses HTTPS (~2 min per
connection).
Network and games: before each game PocketLauncher takes the TCP/IP
stack down (Roadshow, Miami, AmiTCP, Genesis; ARexx without RexxMast)
and brings it back after it, repairing it once if it does not come
back. Networks on the parallel port (plipbox) or PCMCIA are taken down
before each game and brought back after it; this is needed for them
to work after WHDLoad. To leave the network alone add the tooltype
NETWORKDURINGGAMES=YES to PocketLauncher's icon.
Write debug log (Preferences) is on by default: max 512 KB on disk in
PocketLauncher.data/ (the oldest part is dropped); switch it off in
Preferences.
Where it keeps its files:
PocketLauncher.data/ next to the program (a drawer with no icon,
so Workbench does not show it): the game
list, the covers index, favourites, aliases
and the other lists. One per copy of the
program; keep it when you move or update
PocketLauncher (auto-update leaves it alone).
ENVARC:CLI_LAUNCHER/ only the preferences (a few dozen bytes).
Older versions kept everything in ENVARC:, and AmigaOS copies ENVARC:
to RAM at every boot - with 5600 games that was ~1.5 MB of RAM lost
even with PocketLauncher closed. The first start of this version moves
the files to PocketLauncher.data on its own (copied, checked, and only
then deleted from ENVARC:, so a crash or power cut in the middle loses
nothing) and frees that RAM at once. If the program's drawer cannot be
written (CD, write-protected disk, started from RAM:, disk full) the
files stay in ENVARC: as before and you are told once.
Going back to an older version
------------------------------
33.326 and older look for the game list and the lists in
ENVARC:CLI_LAUNCHER/, and 33.327 moved them to PocketLauncher.data/.
To go back, copy the files of PocketLauncher.data/ to
ENVARC:CLI_LAUNCHER/ before starting the old version. From a Shell
in the drawer of PocketLauncher:
Copy PocketLauncher.data/#? ENVARC:CLI_LAUNCHER/
(or just let the old version index your games again). The
PocketLauncher.bak left by the auto-update is the previous program.
Privacy: anonymous stats
------------------------
Since 33.327, the update check and the covers list carry a short line
of anonymous stats, so the author can see how many Amigas run
PocketLauncher and on what hardware. No extra connection is made:
it rides on requests PocketLauncher already makes, and only when you
use them (auto-update is OFF out of the box; covers download is
manual). Nothing at all is sent in LOW-RAM mode or without network.
Exactly what is sent (example):
/pl/update/manifest.txt?i=3f9c0a71d2e84b06&v=33327&e=c&c=30&f=1
&g=2&k=40.68&w=40.42&m=8.8&n=57&t=1-4.307&l=esp&u=101
i random install id (16 hex digits), made up on first start;
not derived from anything about you or your machine
v PocketLauncher version e event: first run / update check /
just updated / covers list
c CPU (68000..68060) f FPU yes/no g OCS / ECS / AGA
k Kickstart version w Workbench version (if in memory)
m chip RAM (in 256 KB units) . fast RAM (MB), totals
n number of games, rounded to hundreds
t TCP/IP stack and version l Locale language (first 3 letters)
u uses Remote Launcher / covers / auto-update (three 0/1 flags)
Screen and health (so crashes seen only on real machines can be
found and fixed), e.g. &d=640x256x4PL&z=640x200w&h=8.8&s=63.55.4&x=l0:
d public screen width x height x depth, P/N/O/R = PAL / NTSC /
other native / RTG, L = interlaced
z PocketLauncher window size, w = window / f = full screen
h height of the system font . of the screen font
s seconds: start until ready . loading the list . sorting
(once per session)
x the PREVIOUS session ended badly (guru, reset, power cut, or a
program error): what PocketLauncher was doing (one letter: l
loading the list, s sorting, k covers index, i indexing, d
downloading covers, u update, g a game was running, w idle...)
and the error number if there was one (0 = none known)
y how many such sessions, if more than one o "out of memory"
moments (what it was doing + how many)
To notice a bad ending, PocketLauncher keeps a 14-byte file,
PocketLauncher.data/session.cfg, rewritten only when it starts a
different kind of work (not while idle) and deleted on a normal
exit; pending reports wait in ENVARC:CLI_LAUNCHER/health.cfg. With
stats off neither file is written.
Nothing else: no names, no paths, no game titles, no files. The
server works out the COUNTRY from the IP address with an offline
database and does NOT store the IP (not in its data, not in logs).
The first time it would send them, PocketLauncher tells you and asks
("Send stats" / "No thanks"). Turn it off any time: Preferences ->
"Send anonymous stats and crash info". Off means nothing is
added to any request. The id and the setting live in
ENVARC:CLI_LAUNCHER/stats.cfg (delete it to get a new id).
Changelog
---------
v33.335 (2026-10-11)
* Small fixes in the surprise messages.
v33.334 (2026-10-10)
* About window: the "Testing by" and "Made in" lines were pushed to
the right over the QR code (a hidden line left over from the debug
log). Back in place.
* New "Bonus!" menu (last in the bar): "Play the BONUS!" (enabled
when the bonus is downloaded, 68020+) and "Download / repair
surprises...", which gets whatever is missing or incomplete with
progress and Stop/ESC. The Bonus and "Only Amiga..." buttons are
gone.
v33.333 (2026-10-10)
* Covers on a classic FFS/OFS disk (names up to 30 characters): the
363 games whose cover name is longer (WonderboyInMonsterlandSE_SCR0
.iff) were skipped and downloaded again on every "For my games".
Now they are written with a short name (first 16 letters + ~ + 4
hex) and found again by that name. PFS3, SFS and long-name FFS keep
the full names as before.
v33.332 (2026-10-10)
* About window fixed: the debug log line no longer overlaps the rest.
v33.331 (2026-10-10)
* ARexx without RexxMast: Miami (MIAMI.1), AmiTCP and Genesis get
their OFFLINE/ONLINE/ISONLINE straight from PL (rexxsyslib), so
it works even when RexxMast is not running. An ARexx host that
does not answer never blocks PL (time limit, ESC).
* The network is now ALWAYS taken down before a game and brought
back after it (no option any more). Exceptions: the UAE emulator
network, a WHDLoad ExecuteStartup that already does it, LOW-RAM
mode and no stack running. For rare setups put the tooltype
NETWORKDURINGGAMES=YES in PocketLauncher's icon to leave it alone.
Preferences > "Network commands..." shows and edits the commands
(empty = built-in; Miami over a modem/PPP dials again).
* Networks on the parallel port (plipbox) or PCMCIA are taken down
before each game and brought back after it; this is needed for
them to work after WHDLoad. With Roadshow and plipbox, add
downgoesoffline=yes to its DEVS:NetInterfaces file (PL tells you).
* After a game PL waits up to 60 s for the network (all stacks). If
it is not back, PL repairs it once (Miami OFFLINE+ONLINE, Roadshow
ConfigureNetInterface or NetShutdown+start). If there is still no
IP, Remote Launcher waits and comes back by itself as soon as the
Amiga has an IP address ("MiamiDX is offline after the game: put it
online, Remote comes back by itself"). The status line no longer
keeps "running" or a % after the game.
* Remote Launcher always comes back: after every start, every game
and every network change PL connects to itself to check that the
phone can really reach it. If not, it closes and reopens it by
itself (2, 5, 10, 30, 60 s, then every minute) with the same
address and token; the status line says "Remote: waiting for the
network", "Remote: restarting (try N)" or "Remote: ready". It also
comes back while PL is iconified. If MiamiDX does not answer (a
window of its own may be waiting on the screen) PL does not touch
the network and says so.
* Download covers retries a pack twice (after 5 and 15 s) when the
server does not answer, and after three packs in a row it pauses:
"Paused: the server does not answer. Download again resumes here."
* No IP = no network: nothing automatic (update check, log, stats)
connects, and the manual ones say "No network: the Amiga has no IP
address (is your TCP/IP stack online?)". Automatic tasks never ask
the DNS (a stuck stack could freeze PL there).
* Use HTTPS (beta) is now OFF by default, and switched off once for
everybody with this version (switch it on again in Preferences if
you want it). Everything goes plain to the download server and is
checked by its signature. If the server does not answer: "The
download server does not answer. Try again later." (Download
covers resumes where it stopped).
* Write debug log is now on by default (max 512 KB on disk, the
oldest part is dropped); switch it off in Preferences. It also
notes the network drivers loaded (plipbox, X-Surf, PCMCIA...) and
the real value of the stats setting.
v33.330 (2026-10-07)
* Games now get the tooltypes of their icon (PAL, NTSC, Custom1=...,
QuitKey=$59...), like a double-click from Workbench. The icon is
<slave>.info or the icon in the drawer whose SLAVE= points to the
slave. Workbench-only tooltypes and the ones switched off with ( )
are skipped; $hex values are passed in decimal as WHDLoad wants.
* Works with every WHDLoad from 7.0 to 20.0: PL reads its version and
only passes options that version knows (checked against the real
argument templates of each version). NoReq (16.1+) so a missing
slave never hangs, NoNetwork (18.1+). Clear messages for each
WHDLoad result (needs newer WHDLoad/68020/AGA/chip RAM, Data folder
missing, cancelled...). If WHDLoad still refuses the line, PL runs
the game once more the plain way and says so.
* Network while playing (Preferences): with a TCP/IP stack running,
PL takes it down before the game and brings it back after it, so
WHDLoad and the network card do not fight. Roadshow, AmiTCP,
Genesis and Miami are detected without touching them; commands are
ready and editable. PL checks that the network really went down and
came back (with % and ESC), never starts a stopped stack, and leaves
it alone if your WHDLoad-Startup already does it. Off in LOW-RAM.
* After the game PL waits for the network (up to 60 s for DHCP). If it
does not come back, Remote Launcher goes off and says why.
* Download covers never stops halfway to ask something: if the fast
server fails it goes on through the secure one (or stops so that
Download again resumes). Stop/ESC work from any PL window. Every
network wait has a time limit. Covers are switched on by themselves
after a download (not in LOW-RAM, not if you switched them off).
* Fixed a socket leak that, without internet, slowly filled the
network table and made Remote Launcher stop answering.
* Write debug log (Preferences, off by default): writes everything PL
does to PocketLauncher.data/debug.log, line by line, so it survives
a crash. Never writes the Remote token. With anonymous stats on as
well, the log of the last session is sent to help fixing bugs; Send
log sends it now.
* Phone page: asks the Amiga less often while a game runs and says if
the Amiga's network did not come back; link to download all covers
for your PC (PNG) and for the Amiga (TinyLauncher and iGame).
* Make your own covers from any picture: Covers > Cover folders >
"Make your own..." shows macumbaeditor.com/iffmaker with a QR code.
* Tooltypes editor no longer breaks NewIcons images or long lines.
* Rename window comes with the current name filled in again.
v33.329 (2026-10-06)
* Download covers window reorganised so it explains itself:
"Covers for my games..." (only the games in your list that have
no cover - recommended), "Pick games..." (choose games one by one
from the server list) and "Download everything..." (the whole
set, up to 480 MB: it asks OCS/ECS, AGA+CD32 or all, or Packs...
to pick packs by hand). Choose folder, Download again, Delete
downloaded, Download surprise, Stop and Close below.
* Download surprise gets BOTH surprises. If one is already there it
only fetches the other. The final message says what is ready or
what is missing.
* The bonus offered after downloading covers also fetches whichever
of the two is missing (Bonus button first).
* "This Amiga..." shows the bonus state: ready, not downloaded or
needs a 68020.
v33.328 (2026-10-06)
* New "Bonus" button next to "Remote": once the surprise is
downloaded (Covers > Download covers... > Download surprise) it
plays it. Pocket Launcher steps out to give it all the RAM and
comes back on the same game. 68020+ and 2 MB of
chip RAM; the button stays off on a 68000/010. It uses no network.
* Preferences -> "Use HTTPS (68020+)": off = plain signed mirror only
(faster on slow CPUs). Always off on a 68000.
* Pocket Launcher can now travel as ONE file: the secure-connection
modules and the Remote page ride inside the program. The update
tidies away the separate .tls/.tls020/.www files it no longer needs.
* The bonus download is no longer silent: if it is skipped (not
enough space, read-only folder, download failed, ESC) the status
line says why, and Download surprise ends with "Bonus ready:
press the Bonus button" or the reason it did not finish.
* Started from another drawer (a new archive unpacked somewhere
else)? Pocket Launcher finds the game list of your previous copy and
offers to copy it ("Copy" / "Index again") instead of re-indexing.
v33.327 (2026-10-06)
* Remote Launcher (button "Remote", menu Amiga+N; was Phone/Mobile
catalog): scan the QR with your phone, browse and search your
games, tap one and it starts on the Amiga. The page is a separate
file (PocketLauncher.www, 25 KB) so it costs no RAM in the program.
Each game shows its box art, gameplay screenshots and, for ~1500
games, a 10-second gameplay video - all straight from the internet
to the phone, nothing travels over the Amiga's network. A short
readable access code in the address (e.g. brave-otter-42) keeps
other people on the Wi-Fi out; too many wrong tries are refused for
a while. The page works offline from the phone's cache, shows a
live connection light and keeps working while the Amiga downloads
covers. Remote can stay on with the window iconified.
* Covers one game at a time: Download covers... > "For my games"
fetches only the covers of the games YOU have that show no image
(light or full set), "Browse" lets you pick by name, "Packs" picks
whole packs by hand. A game with no image tells you when the
server has a cover for it ("Cover online", worked out from the
cover index without going online); Covers > Download cover for
this game (Amiga+E) is on only then. Each image says whether it is
yours or downloaded, and your own covers are never replaced or
deleted.
* Covers download: the list arrives in about a second, a progress
bar per pack and for the whole set, Stop or ESC stops even in the
middle of a pack (it resumes later), unpacking is several times
faster, and a folder without enough space warns you right away.
* A surprise (68020 and up): Download covers... > "Download
surprise" (named "Download easter egg" in this version).
PocketLauncher quits completely while one plays (all your RAM is
for it) and comes back on its own afterwards. They come in the
same signed list as the covers, checked byte by byte.
* HTTPS moved out of the program into two modules next to it
(PocketLauncher.tls for 68000, .tls020 for 020+, picked by CPU and
checked by SHA-256): ~75 KB less in the program, nothing loaded
without network. Faster reconnects (session resumption), ESC
works during the handshake, every network wait has a time limit.
Updates bring the modules and the phone page too, each one signed.
* LOW-RAM mode means NO network at all: no Remote Launcher, no
covers download, no updates, no HTTPS module, bsdsocket.library is
not even opened. Asking for one of them tells you why and how to
switch to FAST.
* Minimum stated and measured: 1 MB Chip + 8 MB Fast (LOW-RAM); 12 MB
Fast recommended for FAST mode. Below the minimum PocketLauncher
says what it needs once and switches to LOW-RAM, or quits cleanly
if even that does not fit. ~350 KB less RAM taken at all times on a
plain 68000 (buffers are taken only while in use).
* Kickstart 2.04/2.05 supported and tested (A500+, A600), as well as
3.x.
* The game list, covers index and lists moved out of ENVARC: into
PocketLauncher.data next to the program: AmigaOS no longer copies
them to RAM at every boot (~1.5 MB back with 5600 games). Moved
automatically and safely on the first start; see Install.
* Out of memory never resets the Amiga any more: PocketLauncher
says what it could not do and keeps running. No memory leaks:
the free memory is the same after quitting, and stays stable
after many launches. Ctrl-C quits cleanly.
* Idle CPU use down to ~0.6% (it waits for the system instead of
polling), so it does not slow other programs or the game loader.
The joystick moves the list only while its window is active.
* Faster start on a 68000 (5658 games: ~100 s the first time, ~61 s
after) and LOW-RAM search twice as fast (5658 games on a 7 MHz
68000: from ~107 s to ~56 s).
* Anonymous stats and crash info with the update check and the
covers list (random id, version, CPU, chipset, Kickstart, RAM,
game count, language, screen mode, load times, and whether the
previous session crashed and in what step). No extra connection,
no IP stored, nothing in LOW-RAM. Asked once; switch in
Preferences. Exactly what is sent: see "Privacy: anonymous stats".
* Update download shows its progress in KB; the cover viewer's
< N/M > row no longer covers the bottom of the image, and each
cover is decoded once instead of twice.
v33.326 (2026-10-03)
* "Phone" button (top right): it lights up when the Amiga has a
network, and opens the QR code and the address of the mobile
catalog in one press.
* Mobile catalog: a real progress bar while the game list arrives,
games show up as they load, and the phone keeps the list and the
page: the next visit opens almost instantly. Box art loads from
the internet as you scroll. Works on any phone, tablet or desktop
size, upright or sideways.
v33.325 (2026-10-03)
* Mobile catalog (menu, Amiga+N): Pocket Launcher serves your game
list to your phone on the local network. Scan the QR code, search
instantly, tap a game and it starts on the Amiga. Box art comes
straight from the internet to the phone - no images travel over
the Amiga's network. The network is fully released while a game
runs (WHDLoad is untouched) and comes back by itself afterwards;
the phone reconnects on its own. Optional "Start with Pocket
Launcher".
* Covers download: never replaces or deletes covers of your own,
resumes safely after a reset, checks write protection and free
space per disk block size, works on RAM:, shows progress and can
be stopped while deleting.
* Updates: the window stays busy while installing, the same version
is never installed twice in one session (keeps the .bak), a
renamed program file is detected, the fallback server is used on
any server error, and the restart waits for the old copy to quit.
v33.324 (2026-10-03)
* Updates now come over HTTPS (macumbaeditor.com) with TLS built
into the program - no AmiSSL needed - and every update is SIGNED:
Pocket Launcher checks the signature before offering it and the
SHA-256 of the file after downloading it. Older mirrors keep
working as a fallback.
* Download covers... (menu, Amiga+D): fetches a ready-made set of
covers (TinyLauncher + iGame) for OCS/ECS, AGA/CD32 or all games
to a folder you choose. It checks the free space first, resumes
where it stopped, and "Download again" and "Delete downloaded"
only ever touch the files it wrote: covers of your own are never
replaced or deleted. The list of covers is signed too.
* Network is released before launching a game, so WHDLoad runs
exactly as before.
* Windows fit on NTSC screens again; fixed duplicated menu keys
(Amiga+L marks as App, Amiga+T edits tooltypes again); clearer
messages; Preferences "Check for updates" keeps your changes.
v33.317 (2026-08-28)
* Online auto-update: "Check for updates" talks to a small manifest
server and offers to download and install a new release in place.
Uses a fixed IP internally (not a hostname) so a slow/broken DNS
lookup can never hang the check; worst case is a bounded ~20s
wait, never stuck forever.
* Animated covers: play, pause and stop a game's animated cover with
looping sound, right from the list. A public web tool
(macumbaeditor.com/coveranim) turns any video or image into a
cover PocketLauncher can use - the in-app help now leads with the
QR code and link.
* Covers and animations can now also live loose in the game's own
folder under any filename you like, not just in a separate Covers
folder with an exact name. The separate-folder convention
supports two naming schemes: TinyLauncher-style (_SCR0.._SCR7)
and AGS2-style (matched through the pack's own .run script).
* The optional sound that goes with an animated cover is now named
"_SND.iff" instead of a bare ".iff", so it can never be confused
with a still cover image that happens to share the same name.
* Cover picker menu on the image: choose which of several images is
the preferred one, hide ones you don't want to see, or reset those
choices - all per game.
* Removed the "True colours (own pens)" option. It could tint a
cover green on machines low on free screen pens; the safe
existing-nearest-colour path is now used unconditionally.
* Preferences window reorganised, with a real bug fix behind it: two
different parts of the program could both write a file named
"covers.cfg", and whichever wrote last silently erased the other's
settings - occasionally losing a user's configured Covers
folders. They now use distinct filenames.
* Fixed image-navigation controls (the < > arrows and the N/M count)
getting visually stuck on screen when switching from a game with
several images to one with a single fixed cover.
* Fixed the play/pause/prev/next row sitting on top of the cover
image itself in the default window size with widescreen material
- it now reserves its own space above and below the picture.
* Covers and Animations help merged into one window with a
"Switch page" button, rewritten to be more example-driven and to
spell out clearly what is optional (both audio and the image
itself).
v33.310 (2026-08-16)
* Cover image packs: three naming conventions are now recognised.
Packs that ship a `.run` script next to each image (the ones where
the image is named after the human title and looks nothing like
the slave) are read by following the path the script itself uses
to launch the game - 99.1% exact matches measured against a real
29,326-file pack. Plus the classic <game>_SCRn.iff and
<game>-N.iff / <game>.iff. All of them searched recursively.
* Covers are indexed once instead of probed on every row change. A
game with no cover used to cost up to 80 disk lookups per keypress
and now costs none. Re-indexing your games no longer re-walks the
cover folders.
* The cover box now takes the shape of the image instead of a fixed
aspect, so the black bars are gone. In PAL a landscape cover
filled 40% of the box; it now fills it completely. Never stretched,
never cropped.
* Favourites, with a filter checkbox and menu items to add/remove.
* The window can be resized - partially. The minimum is 640x200 so it
still fits an NTSC screen, and everything above that goes to the
title column. This is a step towards proper RTG support, not the
finished thing: untested on real RTG, the dragged size is lost on
a fullscreen toggle, and the font is still 8-pixel topaz.
* Rename games, with the original always recoverable. Survives
re-indexing.
* Generic WHDLoad slaves (Generic KickStarter, Workbench 1.3, Intro,
Disk1...) no longer fill the list with identical rows - the drawer
name is used. iGame titles still take priority.
* Fixed a crash on large collections: past 16,384 games in Low-RAM
mode the program died with a runtime error. A 16-bit counter that
wrapped around.
* The next release will add online auto-update. THIS ONE DOES NOT
HAVE IT.
* Language/platform/type filters are remembered between sessions.
* Image navigation: < > arrows plus an N/M counter, keyboard arrows
page through the images too, and the box tells you when it is
loading instead of just going grey.
* About shows the installed WHDLoad version - handy when a game
refuses to start because the slave wants a newer one.
* Almost 400 KB less memory. A buffer was being reserved for a list
this window does not have and never used. On a 2 MB machine that
roughly doubles how many games fit.
* Long scans can be aborted, show which folder they are on, and mark
the window busy while they work.
* A large batch of message and dialog fixes: several named buttons
that no longer exist, and several described internals instead of
saying what happened and what you can do about it.
v33.288 (2026-08-09)
* Now runs on a bare 68000, not just 68020+. Earlier releases
shipped a 68020 binary that crashed on a plain 68000 (A500/A600,
68EC000 accelerators). The launcher is now compiled for the 68000
with the full AmigaOS 2.0+ API - one binary for every machine, and
faster CPUs are not slowed down. Confirmed booting on real 68000
hardware.
* The boot/system volume (usually "System") now shows up in the
detected-volumes list under Sources. A display filter was hiding
it, so you could index it by typing the path but never saw it
offered - fixed.
* The "DB x.xx mb" status label no longer flickers while the window
sits idle. It was being repainted on every timer tick even when
the value hadn't changed; it now repaints only when the number
actually changes.
v33.286 (2026-07-31)
* RTG fix: on a graphics-card / RTG Workbench (Picasso96,
CyberGraphX - e.g. a 1920x1080 desktop) the launcher wrongly
refused to start with "screen too low", even though the screen is
plenty big. Those screens don't set the legacy ECS HIRES bit that
the resolution check demanded. It now accepts any screen 640 wide
or more regardless of that bit, and only requires the HIRES bit on
narrow (<640) screens - so RTG desktops work and native LoRes is
still correctly rejected. Native OCS/ECS/AGA modes are unaffected.
v33.285 (2026-07-30)
Memory-scaling pass so big collections index fully on real
fast-RAM machines.
* The game database is now held in a chunked pool (fixed 256-record
blocks) instead of one growing array. The old single array needed
an ever-larger contiguous block and walled indexing at ~3000
games / ~2 MB even on an 8 MB machine, because no single free
block was big enough. The chunked pool uses fast RAM in small
pieces, so all of it is usable - large collections now index to
completion.
* Header-count validation now guards both directions (a corrupt DB
whose count byte reads as a large or negative value is rejected
with a "rebuild via Sources > Index" message instead of loading
garbage rows).
* Auto low-RAM mode kicks in on the right thresholds (small
fast-RAM or low total), and the optimized fast-RAM path is used
when there's headroom.
v33.284 (2026-07-21)
Robustness pass from two independent audits, 14 verified fixes.
* The "Please insert volume X" requester no longer pops at boot or
when launching a game whose volume is dismounted (unplugged USB,
ejected disk) - DOS requesters are now suppressed launcher-wide.
* WHDLoad paths of 241-255 chars now launch (they used to truncate
at 240, leaving the game unlaunchable).
* Games on offline volumes are no longer pruned by "Check DB
integrity" (preserved until the volume returns).
* Fixed a crash on OS 2.0-3.0 when drawing thumbnails.
* DB game-count validation against file size (prevents blank rows
from a corrupt DB).
Built with MacumbaEditor - https://macumbaeditor.com
|