feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
emulator : NXEngine
type : libretro
2026-03-24 22:31:22 +01:00
core_classification : game_engine
feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
source : "https://github.com/libretro/nxengine-libretro"
2026-03-24 22:31:22 +01:00
upstream : "https://github.com/Rox64/NXEngine"
profiled_date : "2026-03-24"
2026-03-18 05:19:57 +01:00
core_version : "1.0.0.6"
display_name : "Cave Story (NXEngine)"
2026-03-24 22:31:22 +01:00
cores : [ nxengine]
feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
systems : [ cave-story]
notes : |
NXEngine is an open-source reimplementation of the Cave Story (Doukutsu
2026-03-24 22:31:22 +01:00
Monogatari) engine by Studio Pixel, authored by Caitlin Shaw. It is not
an emulator but a source port that loads the original freeware game data.
feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
2026-03-24 22:31:22 +01:00
The core requires the freeware Cave Story distribution placed in
{system_dir}/nxengine/. When launched without content, it looks for
Doukutsu.exe there (libretro.cpp:254-259). When launched with a .exe
content file, it uses the parent directory of that file (libretro.cpp:237).
feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
2026-03-24 22:31:22 +01:00
At startup (main.cpp:75-90), the core opens Doukutsu.exe and extracts :
ORG music (extractorg.c), PXT sound effects (extractpxt.c), stage tile
attributes (extractstages.c), 18 credit BMPs + pixel.bmp (endpic/),
and the wavetable (cachefiles.c:464-485). All kept in memory.
feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
2026-03-24 22:31:22 +01:00
The data/ directory (399 files from the freeware release) is loaded into
an in-memory cache at init (cachefiles.c:38-439, 497-540). All subsequent
file access goes through this cache. The core verifies data/ by checking
for data/npc.tbl (main.cpp:47-58).
feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
2026-03-24 22:31:22 +01:00
The font is compiled-in (bitmap_font.h). The upstream standalone version
uses font.ttf via SDL_ttf.
feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
2026-03-24 22:31:22 +01:00
Valid content extension : .exe (libretro.cpp:109).
feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
files :
- name : "Doukutsu.exe"
2026-03-21 07:31:33 +01:00
category : game_data
feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
system : cave-story
description : "Cave Story freeware executable (data source for music, sfx, bitmaps, wavetable)"
required : true
size : 1478656
md5 : "38695d3d69d7a0ada8178072dad4c58b"
sha1 : "bb2d0441e073da9c584f23c2ad8c7ab8aac293bf"
source_ref : "main.cpp:77-78 (opened for extraction), libretro.cpp:258 (existence check)"
2026-03-24 22:31:22 +01:00
notes : "Placed in system/nxengine/. The core extracts ORG music, PXT sounds, stage tile attributes, BMP graphics, and wavetable from this binary at each launch."
- name : "data/"
category : game_data
system : cave-story
description : "Full game asset directory tree (399 files: sprites, NPC sheets, stage maps, scripts, backgrounds)"
required : true
source_ref : "cachefiles.c:38-439 (filenames[] array loaded at init)"
notes : "Must contain root assets (Arms.pbm, MyChar.pbm, etc.), Npc/ (36 sprite sheets), and Stage/ (333 map/script/tileset files). All files from the original freeware release."
feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
- name : "data/npc.tbl"
2026-03-21 07:31:33 +01:00
category : game_data
feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
system : cave-story
description : "NPC attribute table (entity behavior flags, HP, damage, display rect offsets)"
required : true
2026-03-24 22:31:22 +01:00
source_ref : "main.cpp:50 (existence check for data/ directory), ai/ai.cpp:56-59 (loaded for NPC properties)"
notes : "Located in system/nxengine/data/. Used to validate data directory presence and to load NPC behavior attributes."
feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
2026-03-24 22:31:22 +01:00
- name : "data/sprites.sif"
2026-03-21 07:31:33 +01:00
category : game_data
feat: add 10 emulator profiles (119-series batch 3)
arduous (Arduboy AVR sim, no BIOS), boom3 (Doom 3, game data only),
directxbox (Xbox, mcpx + cromwell), doukutsu_rs (Cave Story, no BIOS),
meteor (GBA, full HLE), nxengine (Cave Story, Doukutsu.exe + data/),
tgbdual (Game Boy link, HLE), tic80 (fantasy console),
virtualxt (IBM XT, open BIOS embedded), sdlpal (Sword & Fairy, 13 .mkf)
125 total profiles.
2026-03-17 20:21:14 +01:00
system : cave-story
2026-03-24 22:31:22 +01:00
description : "Sprite information file (sprite positions, sizes, animation data)"
required : false
hle_fallback : true
source_ref : "cachefiles.c:101 (in filenames[]), cachefiles.c:515-521 (compiled-in fallback from sprites_sif.h)"
notes : "Not shipped in the freeware distribution. If missing, the core uses a compiled-in copy (sprites_sif.h)."
- name : "tilekey.dat"
category : game_data
system : cave-story
description : "Tile attribute lookup table (maps tile codes to collision/behavior attributes)"
required : false
source_ref : "map.cpp:290-303 (loaded at init, hardcoded default if missing)"
notes : "Not part of the freeware distribution. Generated by the standalone NXEngine extraction tool. The libretro core has hardcoded defaults in map.cpp:30."