mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-26 02:11:36 -04:00
bios_hle: default ON (HLE boot-skip is the shipping default)
Flip the framework default bios_hle false->true so every game boots via the HLE shell-skip by default (instant boot for players) instead of the real BIOS intro. This changes NOTHING institutional: LLE (the recompiled BIOS) is still what we BUILD against, the reference implementation, and the oracle — fully linked, load-bearing, and the target of every accuracy check. HLE is a QoL layer on top; the faithful core is proven, so defaulting the convenience on is an enhancement-phase load-time win, not an architecture change. Opt OUT per-game with [runtime] bios_hle = false or env PSX_BIOS_HLE=0. Codegen-neutral (config_loader is not a codegen-hash source); games inherit it on next build. New bring-up + all verification stay on LLE. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -114,11 +114,19 @@ first-class High-Level Emulation tier alongside LLE, modeled on
|
||||
`F:/Projects/gbarecomp/gbarecomp` (`src/runtime/bios_hle.{h,cpp}`, commits
|
||||
23a57ce + 168e313):
|
||||
|
||||
1. **Two selectable backends, LLE default.** A null-by-default hook intercepts
|
||||
BIOS service dispatch before the recompiled BIOS runs; selection is
|
||||
per-game config (`[runtime] bios_hle = true`) + env override (PSX_BIOS_HLE), with a startup
|
||||
banner naming the active backend. With HLE off the build is byte-identical
|
||||
to a build without the tier.
|
||||
1. **Two selectable backends. AMENDMENT 2026-07-06 — HLE is now the DEFAULT, but
|
||||
this changes NOTHING institutional.** We still BUILD LLE: the recompiled BIOS
|
||||
is the foundation we architect against, the reference implementation, and the
|
||||
oracle — fully linked, load-bearing, selectable, and the thing every accuracy
|
||||
check runs against. HLE is a QoL layer we lay ON TOP (instant boot-skip for
|
||||
players); the faithful LLE core is proven, so defaulting the convenience on is
|
||||
an enhancement-phase load-time win, not an architecture change. Mechanically
|
||||
this only flips the framework runtime default `bios_hle` false→true
|
||||
(`config_loader.h`); opt OUT per-game with `[runtime] bios_hle = false` or env
|
||||
`PSX_BIOS_HLE=0`. A null-by-default hook intercepts BIOS service dispatch
|
||||
before the recompiled BIOS runs; a startup banner names the active backend.
|
||||
With HLE off the build is byte-identical to a build without the tier. Keep new
|
||||
bring-up and all verification on LLE; HLE-default is the shipping convenience.
|
||||
2. **LLE remains the reference implementation and the oracle.** It stays fully
|
||||
linked, load-bearing, and selectable; every BIOS call the HLE layer does
|
||||
not implement transparently falls through to the recompiled BIOS, so HLE is
|
||||
|
||||
@@ -92,15 +92,18 @@ struct RuntimeConfig {
|
||||
// at host speed. Kept so existing game.toml/settings.toml keep working.
|
||||
bool fast_boot = false;
|
||||
|
||||
// bios_hle: opt-in High-Level Emulation tier for BIOS kernel services
|
||||
// (CLAUDE.md §0 amendment 2026-07-02, the gbarecomp model). Default off =
|
||||
// LLE (the recompiled BIOS), which remains the reference implementation
|
||||
// and the oracle. When on, implemented kernel services are computed
|
||||
// in-runtime against the real guest kernel structures and every other
|
||||
// call falls through to LLE. Implies the HLE boot shell-skip unless
|
||||
// bios_hle_keep_intro. PSX_BIOS_HLE / PSX_BIOS_HLE_KEEP_INTRO env
|
||||
// override at launch. Runtime: runtime/src/bios_hle.c.
|
||||
bool bios_hle = false;
|
||||
// bios_hle: High-Level Emulation tier for BIOS kernel services
|
||||
// (CLAUDE.md §0 amendment 2026-07-02, the gbarecomp model). DEFAULT ON as of
|
||||
// 2026-07-06 (user-directed player default: instant boot-skip for every
|
||||
// game). Opt OUT with [runtime] bios_hle = false or env PSX_BIOS_HLE=0 to run
|
||||
// pure LLE (the recompiled BIOS), which REMAINS the reference implementation
|
||||
// and the oracle — this only flips the default, LLE is still fully linked and
|
||||
// selectable. When on, implemented kernel services are computed in-runtime
|
||||
// against the real guest kernel structures and every other call falls through
|
||||
// to LLE. Implies the HLE boot shell-skip unless bios_hle_keep_intro.
|
||||
// PSX_BIOS_HLE / PSX_BIOS_HLE_KEEP_INTRO env override at launch.
|
||||
// Runtime: runtime/src/bios_hle.c.
|
||||
bool bios_hle = true;
|
||||
bool bios_hle_keep_intro = false;
|
||||
|
||||
// hle_scheduler: the HLE tier's standing SUBSYSTEM REPLACEMENT for guest
|
||||
|
||||
Reference in New Issue
Block a user