ChipsProcessorsARM family › ARM9

ARM9

1997

ARM's 32-bit RISC core family, used in the Nintendo DS, embedded devices and early smartphones.

Machines

Emulators

EmulatorTypeLicenseSite
BizHawkdownloadableMITWebsite ↗
DeSmuMEdownloadableGPL-2.0Website ↗
DraSticdownloadableProprietaryWebsite ↗
Nintendo DSonlineGPL-2.0Website ↗
OpenEmudownloadableBSD-3-ClauseWebsite ↗
ProvenancedownloadableBSD-3-ClauseWebsite ↗
iDeaSdownloadableFreewareWebsite ↗
melonDSdownloadableGPL-3.0Website ↗
no$gbadownloadableFreewareWebsite ↗

Reference & documentation

External technical references for programming ARM9 and for writing emulators.

ResourceTypeNotes
ARM9TDMI Technical Reference Manual ↗DatasheetARM9 integer core: cycle timings, behavior
ARM926EJ-S Technical Reference Manual ↗DatasheetARMv5TEJ core: MMU, caches, CP15, signals
ARM Architecture Reference Manual (ARMv5) ↗Instruction setDefinitive ARM/Thumb opcode encoding, ARMv4T/v5TE
GBATEK - GBA/NDS Technical Info ↗Interrupt listIE/IF/IME registers and all IRQ sources
GBATEK DS Memory Maps ↗Memory mapNDS9/NDS7 memory maps, TCM, BIOS regions
ARM920T Technical Reference Manual (DDI 0151) ↗Memory mapMMU, caches, CP15 register layout details
ARM9TDMI Technical Reference Manual ↗PinoutSignal descriptions, coprocessor and memory interface
ARM Assembly for Nintendo DS - ChibiAkumas ↗ProgrammingHands-on ARM9 assembly programming tutorial
GBATEK - GBA/NDS Technical Info ↗ReferenceExhaustive NDS ARM9/ARM7 hardware and CPU reference
armwrestler ARM instruction tester ↗Test suiteInstruction conformance tester for ARM emulators
arm7wrestler ↗Test suiteARM7 vs ARM9 opcode difference tester
FuzzARM test ROM generator ↗Test suiteRandom ARM/THUMB CPU test ROMs, no timing