Game/Demo launcher for JOST exe to run .slave for WHDLOAD compatible
with 1.3 kickstart.
This is kind of a clone of TinyLauncher from "Master" Gibs (french will
understand this stupid joke).
The target setup for this launcher is a CDTV with 8Mo fast memory and
BlueCDTV/BlueSCSI SD Card hard disk. It runs on kickstart 1.3 only, and
is tested on:
- a CDTV-like machine: 1Mo chip + 8Mo fast
- a stock A500: 512K chip + 512K slow
- an A500 with 1Mo chip and no other memory
You can fully control the launcher with your CDTV Remote, mouse mode
or joy mode.
Version 2 is a rewrite in C of the Blitz Basic version, same look and
same config file. Measured on an A500 (512K chip + 512K slow), 250 games:
0.3 2.0 gain
list on screen 23.4 s 10.8 s 2.2x faster
fire -> jst starts ~10.7 s ~1.9 s 5.6x faster
memory left for game 222K 407K +83%
(of 420K free)
back after a game list broken same list, same selection
number of games 255 max no limit (tested with 3000)
Only 13K of the launcher stays in memory while a game runs: `jl` is a
small resident part, it unloads the menu (`jl-menu`) before starting
jst and loads it again when the game quits.
Source : https://github.com/youenchene/JOST_Launcher_v2
# How to install
Prequisites :
- Kickstart 1.3. Legit files can be bought from Amiga Forever
- You need `jst` in your `C:` folder. (https://github.com/jotd666/jst)
- Your WHDLoad games installed in a folder, unpacked (jst can't read
XPK packed files)
1. Unpack the archive: `lha x jl.lha`
2. Copy both executables to `C:`, both are needed:
`copy jl C:` and `copy jl-menu C:`
3. Set `scan_dir_1` in `jl-config.cfg` to your games folder and copy it
to `S:`: `copy jl-config.cfg S:`
4. Run `jl`, press S (or 0 on the remote) then Enter to scan. The list
is saved in `S:jl-inventory.data`, next starts don't need a scan.
Launch it through CLI or add `jl` at the end of your startup sequence.
Upgrading from 0.x: replace `C:jl` with the new one and add
`C:jl-menu`. Your `S:jl-config.cfg` and `S:jl-inventory.data` still
work.
# How to control
CDTV Remote (mouse mode or joy mode) :
- Arrow to navigate
- A or B button To launch
- 0 to scan your whdload games or demo folder.
- 1 to switch to folder mode
- B button to cancel a scan
Any joystick/joypad :
- Arrow to navigate
- Fire button To launch
Keyboard :
- Arrow to navigate
- Enter (or keypad Enter) To launch
- S to scan your whdload games or demo folder, C to cancel
the scan
- F to switch to folder mode
- Escape to quit
# jl-config.cfg setup
scan_dir_1=Games:Games mandatory, no trailing `/`
scan_dir_2..scan_dir_4 optional, more folders to scan
inventory_file=S:jl-inventory.data
folder_mode_by_default=true start in folder mode
jst_command=jst command used to start a slave
`jst_command` is looked up in `C:` and started directly. If it can't be
loaded from there, it is started through a shell. It must be a normal
program: BCPL commands of the 1.3 C: directory (like Echo) can't be used.
In folder mode, games are grouped by the parent folder of their own
folder (`Games:Games/_Arcade/Pang` is in `_Arcade`).
A game whose folder doesn't exist any more shows "Could not start":
scan again.
# Release Notes
## 2.1
- fix: screen cropped at the bottom on some real CDTV/A500 units
(Kickstart 1.3 misreporting NTSC despite genuinely PAL hardware,
seen on a real CDTV through an RGB2HDMI)
## 2.0
- refactor: rewrite in C (was Blitz Basic 2), same look
- fix: list broken and memory lost after launching a game (0.x started
a new copy of itself after each game)
- fix: games missing or out of order in the list above 255 games
- fix: long slave file names cut at 30 characters
- perf: jst is started directly, without a script, a shell or a
`RAM:` file, with a 4K stack like the 1.3 shell
- perf: the menu is unloaded while a game runs (13K stays resident)
- perf: the inventory is saved in name order, next starts skip the
sort
- feat: selection kept when coming back from a game
- feat: up to 4 scan folders (`scan_dir_2` to `scan_dir_4`)
- feat: new optional config entry `jst_command`
- feat: "Could not start" message when a game can't be launched
(e.g. its folder was moved: 0.x started jst anyway)
- feat: keypad Enter launches too
- feat: C, B or button 2 cancels a scan
- refactor: two executables, `jl` (resident, 8K) and `jl-menu` (the
menu): copy both to `C:`
- chore: releases built and published on GitHub
## 0.3
- feat: folder view mode
- refactor: display info
- feat: display current JL version
- feat: new optional config entry `folder_mode_by_default`
- fix: display refresh before and after scan
## 0.2
- feat: Add alphabetical order on games display
- fix: hardcoded limit of 100 games
- fix: Scan on 1.3 not working on more than the 1st folder
- feat: new optional config entry `inventory_file`
## 0.1
- Initial alpha version
# Download
https://github.com/youenchene/JOST_Launcher_v2/releases/latest
|