Skip to content

dmang-dev/hash-bench-dsi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hash-bench-dsi

Part of the hash-bench cross-platform suite — the same hash-algorithm sources timed natively on seven Nintendo consoles (NES · GB/GBC · GBA · NDS · DSi · 3DS · N64).

DSi-enhanced Nintendo DSi / DSi XL / 2DS / 3DS-family hashing- algorithm benchmark. Identical algorithm set and code to the sibling hash-bench-nds (32 algorithms, dual-screen display), with one runtime difference:

setCpuClock(true);   // ARM946E: 67 MHz → 134 MHz

isDSiMode() returns false on original DS / DS Lite (which can't boot this ROM anyway in TWL-mode launchers), but on every DSi-era device — DSi, DSi XL, 2DS, 3DS / 3DS XL, New 3DS / New 3DS XL — the call succeeds and the ARM9 runs at double clock for the entire sweep. The CPU is otherwise identical to the original DS's ARM9, so the 2× ROM-to-ROM throughput delta is a clean measurement of "what raw clock speed buys you" with everything else (cache, ISA, memory bus) held constant.

ROM Built with devkitARM + libnds


Try it

File Target Notes
hash-bench-dsi.nds DSi / DSi XL / 2DS / 3DS family ARM9-only, 200 KB. Load via TWiLight Menu / Unlaunch / homebrew launcher. Does not run on original DS / DS Lite — those don't have DSi-mode hardware.

Build from source

Requires the same devkitPro stack as the NDS sibling — devkitARM + libnds + ndstool. The only Makefile difference is -DHBENCH_DSI_MODE in CFLAGS (gates the setCpuClock(true) call) and the project name.

.\build.bat            # build hash-bench-dsi.nds + copy to artifacts\
.\build.bat clean      # nuke build/ + outputs

Linux/macOS/CI: make.


What's different vs hash-bench-nds

Aspect hash-bench-nds hash-bench-dsi
ARM9 clock 67 MHz everywhere 134 MHz on DSi-family
Runs on DS / DS Lite
Runs on DSi / 2DS / 3DS-family ✅ (in DS-compat mode, 67 MHz) ✅ (native TWL mode, 134 MHz)
Source code identical
Algorithm set identical (32 algos)
ROM size 200 KB 200 KB
Build artifact .nds .nds (same format; TWL-mode behavior is runtime)

Compare results side-by-side by running both ROMs on a DSi-family device — the µs/iter column should be roughly half on the DSi build.


Algorithm set

Identical to hash-bench-nds — see the NDS README for the full table of algorithms, reference digests, and design notes. All 32 sources are byte-identical across the GBA / NDS / DSi / 3DS projects.


Acknowledgments

About

Nintendo DSi hashing-algorithm benchmark — 32 algos on a 134 MHz ARM946E (DSi-mode setCpuClock)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors