# JAKKS TV Games DS
**An emulator for JAKKS Pacific "Plug It In & Play" TV games, for Nintendo DS, DSi and 3DS.**
Version 1.12 · Ported to Nintendo DS by Team Europe, 2026 · Based on MAME
---
## Overview
JAKKS TV Games DS runs the classic JAKKS Pacific plug-and-play TV games on Nintendo handhelds. These
games are built on the Sunplus SPG2xx system-on-a-chip. The emulator recompiles the SPG2xx's
µ'nSP CPU code into native ARM code while you play (dynamic recompilation), runs sound on the
DS's second processor and draws the picture with the DS graphics hardware. This keeps it fast
enough for full-speed play on the original Nintendo DS.
The emulator contains **no game data**. You need your own ROM images, as used by MAME.
## Features
- 82 supported games, including the GameKey expansions, the JAKKS "Sharp Cookie" learning
games and the TV Touch series
- Dynamic recompiler (µ'nSP to ARM) for full speed on a standard Nintendo DS
- Full SPG2xx sound emulation on the ARM7
- Battery-backed saves (EEPROM) are kept automatically in a separate save file
- ROMs are loaded from a folder on the SD card and recognised by checksum, so file names don't matter
- Display options: screen fit, native 1:1, or custom size from 50 to 100 % with adjustable position
- The game can be shown on either screen
- Uses the extra memory and the faster CPU in DSi mode (DSi, and 3DS through TWiLight Menu++)
- Frame skip (Off / Auto / Max), sound on/off, an on-screen performance display
## Requirements
- Nintendo DS / DS Lite, Nintendo DSi or Nintendo 3DS / 2DS
- One of these:
- a flash cartridge with DLDI support (DS / DS Lite), or
- a homebrew launcher with SD card access, such as TWiLight Menu++ (DSi / 3DS)
- Your own ROM images of the supported games (unzipped)
## Installation
1. Copy `jakkstvds.nds` anywhere on your SD card.
2. Create a folder for the ROMs, for example `/roms/jakks`, and copy your ROM files into it.
The files must be **unzipped**. MAME sets come as `.zip` archives; extract the ROM file from
each one (for example `jakkswwe.bin` or `jakmarvelheroes.u4`).
3. Start `jakkstvds.nds` from your launcher.
4. If you didn't put the ROMs next to the `.nds` file, press **X** (Settings), choose
**ROM folder** and select your ROM folder with **X**.
The ROM folder is scanned at every start. Files are identified by checksum, so you can rename them
as you like. The first scan of new files takes a moment; after that the start is fast, because the
results are cached. Only the selected folder itself is scanned, not its sub-folders.
## Controls
### Game list
| Button | Action |
|---|---|
| Up / Down | Choose a game |
| Left / Right, L / R | Page up / down |
| A | Start the game |
| X | Settings |
| Y | Credits |
### In game
The buttons of the original controller are mapped to the DS buttons. The mapping for each game is
shown on the info screen when you start it.
| Button | Action |
|---|---|
| SELECT | Emulator menu: Resume, Reset game, Settings, Quit to game list |
## Settings
| Setting | Description |
|---|---|
| ROM folder | Folder with your ROM files. It is scanned at every start. |
| Display | **Screen fit** shows the whole picture. **Native 1:1** is pixel-perfect and crops the edges. **Custom** sets any size. |
| Custom size | 50-100 % in 1 % steps. 100 % = native, 80 % = whole picture, below 80 % with a border. |
| X / Y offset | Position of the visible part when the picture is cropped. |
| Game screen | Show the game on the upper or the lower screen. |
| Frame skip | **Auto** skips drawing some frames when the game is too heavy. **Max** skips more for steadier game speed. |
| Sound | **Off** mutes the sound. The sound timing the games rely on keeps running. |
| Statistics | Shows speed (fps), CPU and video time and sound load while playing. |
| Profiler | For development: records where the time goes and writes `JKDSPROF.BIN` when you quit the game. |
## Files
The emulator keeps its files in the same folder as `jakkstvds.nds`:
| File | Contents |
|---|---|
| `JKDS.CFG` | Settings (plain text) |
| `JKDSSAVE.SAV` | Save data of all games |
| `JKDSROMS.DAT` | Cache of the ROM folder scan (safe to delete) |
| `JKDSPROF.BIN` | Profiler output (only written when the profiler is enabled) |
Games save automatically, just like the original units. To start over, delete `JKDSSAVE.SAV`.
## Performance notes
- Most games run at full speed on an original Nintendo DS. A few very demanding scenes may slow
down; **Frame skip: Auto** is recommended.
- On DSi and 3DS in DSi mode, the emulator switches the CPU to 133 MHz when the launcher allows it, and uses the extra memory to
keep large ROMs completely in RAM.
- ROMs larger than the available memory are streamed from the SD card. This works on every system,
but a fast SD card helps.
## Supported games
| Game | MAME set |
|---|---|
| 1 vs. 100 | `jak_1vs` |
| Amazing Spider-Man: Great Math Caper | `jsc_spid` |
| Arcade Gold featuring Pac-Man | `jak_pacg` |
| Are You Smarter than a 5th Grader? | `jak_5thg` |
| Avatar: The Last Airbender | `jak_avtr` |
| Capcom 3-in-1 | `jak_capc` |
| Care Bears | `jak_care` |
| Cinderella: Once Upon a Midnight | `jak_cind` |
| Deal or No Deal | `jak_dond` |
| Disney | `jak_disn` |
| Disney Friends | `jak_disf` |
| Disney GameKey: Sports Bowling & Goofy's Underwater Adventure | `jak_gk_sbwlgoof` |
| Disney GameKey: Sports Tennis & Face Chase | `jak_gk_stenfchs` |
| Disney GameKey: Sports Tennis, Face Chase & Riches of Agrabah | `jak_gk_stenfcha` |
| Disney Princess | `jak_dpr` |
| Disney Princess GameKey: Snow White - Memory Chase & Rescue Race | `jak_gk_snowwhit` |
| Disney Princess Magical Adventures | `jak_dpma` |
| Disney Princesses | `jak_dprs` |
| Disney-Pixar Classics | `jak_pix` |
| Dora the Explorer: Dora Saves the Mermaids | `jsc_dora` |
| Dora the Explorer: Dora's World Adventure | `jak_dwa` |
| Dora the Explorer: Nursery Rhyme Adventure | `jak_dora` |
| Dora the Explorer: Race to Play Park | `jak_dorr` |
| Dragon Ball Z | `jak_dbz` |
| DreamWorks Movie Night | `jak_dwmn` |
| DreamWorks Movie Night (test program) | `jak_dwmno` |
| Fantastic Four | `jak_fan4` |
| Go, Diego, Go! Aztec ABC Adventure | `jsc_gdg` |
| Go, Diego, Go! Rainforest Animal Rescue | `jak_gdg` |
| Hannah Montana: Best of Both Worlds | `jak_hmbb` |
| Hannah Montana: One in a Million | `jak_hm1m` |
| High School Musical | `jak_hsm` |
| Jeopardy! | `jak_jpdy` |
| Justice League | `jak_just` |
| Marvel Heroes: Ultimate Action | `jak_marv` |
| Mortal Kombat | `jak_mk` |
| Ms. Pac-Man Collection 5-in-1 (2004) | `jak_mpaco` |
| Ms. Pac-Man Collection 5-in-1 (Game-Key) | `jak_mpac` |
| Ms. Pac-Man Collection 7-in-1 (QVC) | `jak_mpacq` |
| Ms. Pac-Man Collection 7-in-1 (wireless) | `jak_mpacw` |
| Ms. Pac-Man GameKey: New Rally-X & Dig Dug | `jak_gk_nrxdig` |
| Ms. Pac-Man GameKey: Pac-Man, Bosconian & Rally-X | `jak_gk_pacbosrx` |
| Nicktoons | `jak_nick` |
| Nicktoons GameKey: Dora - Soccer Shootout & Star Mountain | `jak_gk_dora` |
| Nicktoons GameKey: SpongeBob Sponge Pop & Snowball Showdown | `jak_gk_popsnow` |
| Nicktoons GameKey: Volleyball & Birdie Putt | `jak_gk_volbird` |
| Nicktoons Summer Camp | `jak_ntsc` |
| Pirates of the Caribbean: Islands of Fortune | `jak_potc` |
| Power Rangers S.P.D. | `jak_powr` |
| Retro Arcade featuring Pac-Man | `jak_rapm` |
| Scooby-Doo! and the Mystery of the Castle | `jak_sdoo` |
| Scooby-Doo! and the Pirate's Puzzles | `jsc_sdoo` |
| Sesame Street Beat | `jak_sesa` |
| Shrek (also featuring Over the Hedge) | `jak_shrk` |
| Sleeping Beauty: Tales of Enchantment | `jak_slpb` |
| Spider-Man | `jak_spdm` |
| Spider-Man 3 | `jak_spd3` |
| Spider-Man GameKey: Black Cat & Doc Ock | `jak_gk_bcatdoc` |
| SpongeBob SquarePants: Jellyfish Dodge | `jak_sbjd` |
| SpongeBob SquarePants: The Fry Cook Games | `jak_sbfc` |
| Star Wars GameKey: Turret Defense & Yoda's Escape | `jak_gk_tdyoda` |
| Star Wars: Original Trilogy | `jak_swot` |
| Star Wars: Revenge of the Sith | `jak_sith` |
| Star Wars: Revenge of the Sith (prototype) | `jak_sithp` |
| Super Pac-Man Collection | `jak_spac` |
| Superman in Super Villain Showdown | `jak_supm` |
| The Amazing Spider-Man in Villain Round-Up | `jak_spdv` |
| The Batman | `jak_batm` |
| The Cheetah Girls: Passport to Fame | `jak_ctah` |
| Thomas & Friends: Learning Circus Express (UK) | `jsc_thom` |
| Thomas & Friends: Learning Circus Express (US) | `jsc_thomu` |
| TV Touch: Spider-Man in Villain Round-Up | `tvtchspd` |
| TV Touch: SpongeBob Jellyfish Dodge | `tvtchsb` |
| TV Touch: Star Wars Original Trilogy | `tvtchsw` |
| WALL-E | `jak_wall` |
| Wheel of Fortune | `jak_wof` |
| Wheel of Fortune: 2nd Edition | `jak_wof2` |
| Winnie the Pooh GameKey: Sweet as Honey | `jak_gk_sweet` |
| Winnie the Pooh: Piglet's Special Day | `jak_pooh` |
| WWE | `jak_wwe` |
| X-Men: Mutant Reign | `jak_xmen` |
| X-Men: Mutant Reign (prototype) | `jak_xmenp` |
Each game is recognised by the checksum of the MAME ROM image. Other dumps or modified files are
not recognised.
## Known limitations
- The SPG2xx bitmap mode with direct 15-bit colour is not supported (palette bitmaps are).
- The emulation is optimised for speed; rare graphical or timing details may differ from the
original hardware.
## Credits
This emulator is **based on MAME**. It would not exist without the outstanding work of
**David Haywood** and **Ryan Holtz** on the SPG2xx platform and the JAKKS Pacific drivers in MAME.
Ported to Nintendo DS in 2026 by **Team Europe**.
Special thanks to the MAME team and all its contributors, and to the Nintendo DS homebrew community.
## Legal
This is an unofficial fan project. It is not affiliated with, or endorsed by, JAKKS Pacific, Inc.,
Sunplus Technology or Nintendo. JAKKS Pacific and all game titles are trademarks of their
respective owners. MAME is a registered trademark of Gregory Ember. Nintendo DS, Nintendo DSi and
Nintendo 3DS are trademarks of Nintendo.
No copyrighted game data is included or distributed with this software. Please use only ROM images
of games you own.






