Secret of the Stars Companion
Secret of the Stars Companion is a Windows PC port of Secret of the Stars with a companion launcher, enhanced pixels, and experimental widescreen.
- Type: PC port
- Game: Secret of the Stars
- Runs on Windows
- By rages4calm
- Latest release v0.5.14, 2026-11-13
- Source: https://github.com/rages4calm/secret-of-the-stars-companion
README
Secret of the Stars Companion
A playable Windows PC port of Tecmo Secret of the Stars, with a Companion launcher, controller support, enhanced original pixels and experimental widescreen.
Latest release: native 0.5.14 / Companion 0.3.8. Fixes widescreen battle effects and flashing screen-shake seams, and extends Fast Menus to battle-menu slides. Includes the existing 16 offline achievements and custom icons. Release notes.
The port is feature-complete and available through the ROM-free launcher/source package. Campaign playtesting and bug fixes continue. Setup builds it locally from your own ROM. Player reports guide further bug fixes; campaign and story feedback is separate from the developer checks described below.
Download 0.5.14 | Build requirements
Discord: chrono.trigger
[!IMPORTANT] Bring your own clean, unheadered Tecmo Secret of the Stars (USA) ROM. This repository contains authored source, development tools, documentation and six reviewed feature screenshots. No ROM, generated game code, extracted art, soundtrack, save, checkpoint or playable game binary is included. Your game data stays local.
Source layout: native/foundation contains the game-specific C code, Companion contains the C# launcher, and Python tools build, generate and check the project. The upstream runtime is fetched separately and generated game C stays local. GitHub's language chart measures the tracked source and tools, not the language of the running game.
[!NOTE] Native execution. Original game paths now execute through the native backend, with guarded interpreter fallback for unsupported instruction contexts. Recent focused late-game, two-party, vehicle and town-growth checks completed without fallback. This is bounded evidence, not a whole-game percentage or a claim of complete native/AOT execution. Experimental widescreen also retains its original-view fallback.
The journal has two views: Current offers 25 automatic chapter cards with finer current-state leads, and Guide lets you browse the full 42-page story walkthrough. Advice recomputes from your current checkpoint; it does not record permanent quest completion. The owner and play testers are checking campaign directions. The preceding Kaja/Bonzley update retains the bounded automatic advice and verified map destinations.
The aim is to give this overlooked RPG a polished PC edition that is easier to play and easier to understand: attractive original pixel art, a genuinely wider world view, reliable controls and audio, a useful quest journal, and a map showing your position, towns and verified destinations. The launcher follows the familiar Companion approach used in EarthBound Companion and Zelda Companion.
PC feature screenshots
These are actual captures of features added for this PC project. View all six screenshots and captions, including configurable rewards, movement and keyboard/controller hotkeys.

Guarded wider scenery and original vehicle rendering.

Toggleable enemy HP information alongside the battle view.

Browse the full story guide and track a named town while the game runs.

Captured from the running game at 1080p with enhanced pixels and widescreen enabled. Gold shows your position, cyan marks towns, and the pink marker blinks at the town selected from the guide.
The gameplay images use isolated development checkpoints. Widescreen is optional and uses the original view where a scene is not qualified; the manually browsable story guide now covers the ending, while automatic event advice remains bounded. Upscaling preserves original artwork. See the gallery for exact capture scope and example launcher settings.
The 0.3.6 encounter update adds a 0–100% random encounter setting in Companion 0.3.5. Default 100% retains the original check; 0% disables qualified ordinary random battles while scripted battles retain their separate original path. The setting narrows integer bins in the original threshold, so a reduced value does not promise an exact campaign fight frequency.
The preceding 0.3.5 continuation adds circus-ticket guidance, the current Cody/priest request and a verified Decatas world-map destination. At that release, Companion was 0.3.4. Exact overlay, map, original-loader graphics, launcher and finite playback checks have separate reports; initial failed tests and the intermittent modal audio limitation remain explicit. The 0.3.4 source continuation retains the reviewed generation available through normal Setup using only your owned ROM and public source.
What works today
| Area | Implemented behavior | Current limit |
|---|---|---|
| Windows foundation | Compiled C/SDL3 host with native game-specific enhancements and guarded original execution | Complete native/AOT execution remains unfinished |
| Companion launcher | ROM validation, source-build progress/cancellation, isolated profile updates/rollback, explicit title/selected-copy resume and protected settings edits; downloadable ROM-free WIP launcher/source package | Requires your owned ROM and Windows development tools to build the native game |
| Enhanced pixels | Independently selectable Scale2x presentation, exact window sizes, pixel shape and fullscreen output | Upscaling preserves original artwork; it is not a replacement HD world pack |
| Widescreen scenery | Stable 400-pixel canvas, selected original primary/secondary map resources, title panorama and sixteen authored battle-side layouts using original cells | Original center stays exact except backdrop-only shake gaps filled by extended battle scenery; selected overworld edge crossings retain terrain margins; unsupported states retain centered imagery and side bars |
| Widescreen actors | Ordinary party, regular/reserved packets, guarded driving/parked and selected compound vehicle rosters, and selected later world-map actors, plus a shared ordinary wrapped-map family across compatible parties and NPC rosters, with bounded original variable effects | Original allocation, packet and art checks authenticate supported contexts; signed offsets use separate source-derived ordinary/parked/travel rules; ambiguous anchors, unproved rosters and incompatible terrain or packet layouts retain fallback |
| Controls | Editable keyboard/controller game buttons and hotkeys, twenty checkpoint bindings, fullscreen and reachable HUD/journal/rewind controls | Broader physical-controller testing remains open |
| Menu and battle QoL | Optional faster field and battle menus and toggleable HP bars with a widescreen battle sidebar | The HP panel is an authored enhancement, not a bundled ROM hack |
| Rewards and travel | Independently adjustable 1–10× battle XP/gold; bindable 1–3× field movement boost; 0–100% ordinary random encounter modifier; hold/toggle fast-forward | Movement and encounters use guarded original seams; unsupported contexts retain original behavior and scripted battles stay enabled |
| Quest journal | Full 42-page / 14-section story guide, 25 automatic Current chapter cards and finer checkpoint-specific advice; configurable J / left-stick click opener | Game X can manually track an explicitly named town; guidance is not automatic campaign event detection or completion history; owner/play testers verify campaign directions |
| Navigation map | Original current-area terrain and your position; original world towns, automatic verified destinations and player-selected guide-town tracking; M / Back + left-stick click | Unsupported areas use a clear fallback; no exploration history or guessed objective coordinates |
| Audio and stability | Original SNES audio, cached host composition, repaired mosaic overrun and checked audio/OpenGL allocations | Finite paced GPU/audio routes pass; every cutscene and hardware configuration is not certified |
| Saves and rollback | Guarded checkpoint loading, restore/cache reset and protected copied-save testing | Local state schemas are build-specific; test on copies and keep in-game saves backed up |
Widescreen is experimental and defaults off. It expands scenery and observed actors without spawning extra actors or changing collision, activation or game speed.
Build from your own ROM
Download the WIP launcher/source package, extract it and open Start Secret of the Stars Companion.cmd. Its Setup page validates your owned ROM and builds the native game locally. The package includes the launcher, authored source and notices; it does not include a playable game binary or original game data. Install the prerequisites in BUILDING.md first.
Developers can also build from this source snapshot:
git clone https://github.com/rages4calm/secret-of-the-stars-companion.git
cd secret-of-the-stars-companion
python tools/build_public_foundation.py --rom "D:\My Games\Secret of the Stars (USA).sfc"
The helper fetches the pinned runtime, applies 98 individually checked ordered patches (including 68 runtime extensions), and generates native game code from your ROM and the published source metadata. It generates game code locally, compiles a fresh native executable and creates an isolated profile under ignored local/. No private recordings are required by normal Setup. It does not copy your ROM, replace your existing installation or manufacture a passing gameplay receipt. Existing modified runtime checkouts are preserved rather than reset.
Build the self-contained launcher with python tools/build_public_companion.py, then open Start Secret of the Stars Companion.cmd or the generated Companion EXE. Its Setup page validates your ROM and builds/adopts a fresh native profile without private gameplay fixtures. See BUILDING.md. Historical native preview scripts and fixture checkers remain development adapters.
In Enhancements, 100% means the original XP/gold payout; 200% means 2×. Movement boost defaults to Left Shift / controller L2, and fast-forward to Tab / controller R2. Change these and other bindings in Controls and Hotkeys; fast-forward can be held or toggled. Existing custom profile bindings are retained. QoL implementation and limits.
Companion 0.3.6 explains the full story guide in Enhancements. Open the journal with J / left-stick click by default. Select switches Current / Guide; Left / Right changes page; Up / Down changes section; Game B closes. Game X tracks or clears a town on a mapped guide page; open the Map afterward. These follow your configured game-button bindings, so Game B may be a different physical controller button. Browsing reserves those controls for the panel while the game continues running.
Companion 0.3.5 adds Random encounter rate (%) under Battle rewards and travel. Close the game, choose 0–100 and Apply; Revert restores the loaded choice. Missing settings default to 100, and Original View uses 100 for that launch without changing your saved value. The control requires native 0.3.6; older builds show an update hint.
Companion 0.3.3 adds Auto and 720p–4K window sizes, preserves custom sizes, and offers Original CRT shape / Square pixels / Square frame. Apply validates changed values; Revert restores the loaded profile. These controls preserve sound, rewards and bindings, and do not add scenery.
Companion 0.3.2 adds map and objective-marker settings and an assignable Map action. Missing bindings use M / Back + left-stick click unless that exact shortcut is already occupied. Existing explicit bindings win. Map and journal panels close each other.
Companion 0.3.1 added Original pixels / Enhanced pixels / Experimental widescreen display choices, Revert changes, current fullscreen/hotkey hints and a journal item-summary setting. Presets preserve sound, rewards and custom bindings.
Companion 0.3.0 adds Update selected profile and Use previous profile in Setup. Updates create a new isolated folder with checked copies of settings/saves; rollback selects the retained earlier folder and preserves newer progress separately. Different native builds require compatible save declarations and matching execution-state ABI. A ROM-free source-first ZIP can bundle the self-contained GUI, authored source and notices; native game compilation still needs the documented tools. Packaging instructions · Update and package qualification.
Verification and release scope
Native execution is on by default. The existing exact-build comparisons cover rendering, original game state, clocks and full native DSP audio for the changed paths. Since 0.5.6, native save/load and title-menu paths, new-game and encounter entry, additional enemy combat paths, and original battle message-speed adjustments have been converted. The 0.5.12 message-speed comparisons reduced 1,875 interpreter calls to zero across two short, checkpoint-linked captures. Detailed release scope.
The additional enemy checks used 65 original formations to load 94 targeted enemy types with no crashes or setup refusals. Five representative comparisons covered the newly observed missing entries and reduced 260 interpreter calls to zero in 0.5.11. These staged checks are retained evidence, not a fresh campaign playthrough on every release.
No further concrete native gap was identified in the final focused audit. This does not certify every possible game path as native: normal operation retains automatic guarded interpreter fallback when a native path is unavailable. Strict-native developer mode stops instead of falling back. The interpreter is therefore not developer-only in the normal package, and this release does not claim campaign-wide 100% AOT execution.
The full guide, Current advice, controls, reward/travel settings, enhanced pixels and widescreen features remain implemented with their documented guards. Player campaign feedback and broader hardware coverage continue through normal bug reports. Replacement HD artwork remains deferred. Roadmap · Validation scope. Historical documents retain their dated scope; private game data and test captures are not published.
Contribute
Small, focused contributions are welcome: renderer fixes, reverse-engineering notes, controller checks, bounded replay tools, verified journal events and documentation. Please report a reproducible route rather than feeling obliged to play the whole game again. Contribution guide · Report a bug.
Never attach ROMs, generated ROM-derived code, extracted packs, soundtrack audio, private saves or unlicensed cached hack source to an issue or pull request. Keep copyright/provenance notices intact and separate observed facts from hypotheses.
Credits and licensing
Built on RetroPortingToolKit/snesrecomp, by Matthew Stanley and contributors, with the runtime's retained snesrev, LakeSnes and other upstream lineage. Scale2x credit goes to Andrea Mazzoleni. The launcher reuses Carl Prewitt Jr.'s MIT-licensed EarthBound Companion UI patterns; Zelda Companion informed the workflow and presentation direction. Tecmo and the original game's creators/rightsholders deserve the game credit.
This is an unofficial fan project with no affiliation or endorsement from Tecmo or the original game's rightsholders. Project licenses do not grant rights to original game content.
The native foundation, runtime patch, project tools and documentation are source available under PolyForm Noncommercial 1.0.0, with retained third-party exceptions. Companion code is MIT. This repository is not uniformly MIT licensed. Credits · License · Third-party notices.
Community
R.A.I.D. — Retro AI Development · a Discord for AI-assisted retro reverse-engineering, decomp & recomp.
I post my projects and updates here. Join to discuss the work, share progress, and talk retro development.