advanced_drastic
advanced_drastic emulates Nintendo DS.
About this profile
Technical notes
trngaje's package around the closed-source 64-bit Linux DraStic, whose screen output, input and settings menu it replaces through a hooked SDL2 build (trngaje/SDL_drastic) and the drastic_layout library. The repository carries the DraStic binary itself, md5 59a7711eff41c640b8861b4d869c747d, which announces "Version r2.5.2.0", together with its system, config, resources and microphone directories, game_database.xml and usrcheat.dat. launch.sh changes to its own directory and runs ./drastic on the content. ref: README.md:1-12, launch.sh:1-9, drastic r2.5.2.0 0x135990
KNULLI builds this revision, installs the whole tree under /usr/share/advanced_drastic, copies it to /userdata/system/configs/advanced_drastic on first launch or after a board change, then starts launch.sh from there. The copy includes the Nintendo BIOS and firmware images the repository ships, so the platform installs them with the emulator. ref: KNULLI package/emulators/advanced_drastic/advanced_drastic.mk:7-14, KNULLI package/system/knulli-configgen/configgen/configgen/generators/advanced_drastic/advanced_drasticGenerator.py:30-50,156-158
The binary names the same system files as DraStic r2.5.2.2: each BIOS slot takes the Nintendo image, then the free DraStic one ("Can't find Nintendo ARM9 BIOS. Trying free DraStic ARM9 BIOS."), the firmware is nds_firmware.bin alone, a file of the wrong length is refused with "System file %s is the wrong size", and an empty slot ends in "FATAL: Could not load system files." It carries neither the firmware editor's nds_firmware_modified.bin nor game_database_user.xml. The root also serves game_database.xml, usrcheat.dat, microphone/<game>.wav then microphone/microphone.wav, drastic_dldi.img for homebrew and the drastic_logo_<n>.raw splash. ref: drastic r2.5.2.0 0x131018-0x1310f8, drastic r2.5.2.0 0x12fa18, drastic r2.5.2.0 0x12fce0, drastic r2.5.2.0 0x132128-0x132260, drastic r2.5.2.0 0x132a90-0x132aa8, drastic r2.5.2.0 0x1359b8
0 files: 0 required, 0 optional. 8 more files come with the app.
By kind: 5 BIOS and 3 game data.
| File | Hash |
|---|---|
system/nds_bios_arm9.bin |
MD5 a392174eb3e5 |
system/drastic_bios_arm9.bin |
MD5 5f34f9f6108f |
system/nds_bios_arm7.bin |
MD5 df692a80a5b1 |
system/drastic_bios_arm7.bin |
MD5 c259d5dd2d1a |
system/nds_firmware.bin |
MD5 3c704824663c |
game_database.xml |
SHA1 7b84fef16d1d |
usrcheat.dat |
SHA1 6dd1a5399403 |
microphone/microphone.wav |
SHA1 ea9281c65ea3 |
Comes with the app
Section titled “Comes with the app”8 files
nds_bios_arm9.bin comes with the app
Nintendo DS ARM9 BIOS
- Path:
system/nds_bios_arm9.bin - System: Nintendo DS
- Size: 4.0 KB
- SHA1:
bfaac75f101c135e32e2aaf541de6b1be4c8c62d - MD5:
a392174eb3e572fed6447e956bde4b25 - Validation: size
- Source: offset
0x131018indrastic r2.5.2.0, offset0x12fa18indrastic r2.5.2.0, offset0x135a5aindrastic r2.5.2.0 - Collection copy:
bios/Nintendo/ Nintendo DS/ NDS_Bios9.bin - Platforms: AmberELEC:
bios/bios9.bin, Batocera:bios9.bin, BizHawk:NDS_Bios9.bin, EmuDeck:bios9.bin, EmuELEC:bios/bios9.bin, KNULLI:bios9.bin, Lakka:bios9.bin,nds9.bin, Recalbox:nds/bios9.bin, RetroArch:bios9.bin,nds9.bin, RetroBat:bios9.bin, RetroDECK:bios/bios9.bin, RetroPie:bios9.bin,nds9.bin, ROCKNIX:bios9.bin, RomM:nds/bios9.bin
- First candidate for the ARM9 slot, before the free replacement. The hashes are those of the copy the repository ships.
drastic_bios_arm9.bin comes with the app
DraStic free ARM9 BIOS replacement
- Path:
system/drastic_bios_arm9.bin - System: Nintendo DS
- Size: 4.0 KB
- SHA1:
4dc29a1560e1cbd7afef1998f7a6c25c5db1cc3a - MD5:
5f34f9f6108f8d57fc26789b7a7ecf82 - Validation: size
- Source: offset
0x131070indrastic r2.5.2.0
nds_bios_arm7.bin comes with the app
Nintendo DS ARM7 BIOS
- Path:
system/nds_bios_arm7.bin - System: Nintendo DS
- Size: 16.0 KB
- SHA1:
24f67bdea115a2c847c8813a262502ee1607b7df - MD5:
df692a80a5b1bc90728bc3dfc76cd948 - Validation: size
- Source: offset
0x131088indrastic r2.5.2.0, offset0x135a7bindrastic r2.5.2.0 - Collection copy:
bios/Nintendo/ Nintendo DS/ NDS_Bios7.bin - Platforms: AmberELEC:
bios/bios7.bin, Batocera:bios7.bin, BizHawk:NDS_Bios7.bin, EmuDeck:bios7.bin, EmuELEC:bios/bios7.bin, KNULLI:bios7.bin, Lakka:bios7.bin,nds7.bin, Recalbox:nds/bios7.bin, RetroArch:bios7.bin,nds7.bin, RetroBat:bios7.bin, RetroDECK:bios/bios7.bin, RetroPie:bios7.bin,nds7.bin, ROCKNIX:bios7.bin, RomM:nds/bios7.bin
- First candidate for the ARM7 slot. The hashes are those of the copy the repository ships.
drastic_bios_arm7.bin comes with the app
DraStic free ARM7 BIOS replacement
- Path:
system/drastic_bios_arm7.bin - System: Nintendo DS
- Size: 16.0 KB
- SHA1:
31ae916c85d012582c7cdf47de6943ac6778253b - MD5:
c259d5dd2d1a8e1f58eaa26c08efae45 - Validation: size
- Source: offset
0x1310e0indrastic r2.5.2.0
nds_firmware.bin comes with the app HLE fallback
Nintendo DS firmware
- Path:
system/nds_firmware.bin - System: Nintendo DS
- Size: 256.0 KB
- SHA1:
87dae2500e889737af51f4a5b5845770a62482f5 - MD5:
3c704824663ce26b6a1ed4d85238ae5b - Validation: size
- Source: offset
0x1310f8indrastic r2.5.2.0 - Collection copy:
bios/Nintendo/ Nintendo DS/ NDS_Lite_Firmware.bin
- The hashes are those of the copy the repository ships.
game_database.xml comes with the app game data
save type database, one entry per title
- System: Nintendo DS
- Size: 1.5 MB
- SHA1:
7b84fef16d1d461a49c197709d174eb1ccd8f88d - Source: offset
0x132a90indrastic r2.5.2.0, offset0x133468indrastic r2.5.2.0
usrcheat.dat comes with the app game data
Action Replay cheat library
- System: Nintendo DS
- Size: 13.1 MB
- SHA1:
6dd1a5399403f39620061556d61f5c6f6c704219 - Source: offset
0x132aa8indrastic r2.5.2.0
microphone.wav comes with the app game data
default fake microphone input
- Path:
microphone/microphone.wav - System: Nintendo DS
- Size: 1.3 MB
- SHA1:
ea9281c65ea39c9d1061a05b8b15d9a44f92918e - Source: offset
0x132128-0x132190indrastic r2.5.2.0
- Played when the game asks for the microphone and no microphone/<game>.wav exists.
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start