Nintendo DS Emulation NEWS

Emulators for Nintendo DS

Name Space Invadors Emu

Author Chris Double


Description Space Invadors emulator for the DS





Offline due to Copyright problems


You probably guess from the sound files I was using in the Sound Tutorial what my first project was and here's the first cut - an emulator for the original Space Invaders Arcade game.

The nice thing about this emulator is that (apart from the emulator code) 90% of the DS specific code is based on what I covered in the first six tutorials. I haven't had time to finish it yet but I thought I'd release this first early version anyway. You'll notice the main problem straight away...

The game is played with the DS held on its side. This means the controls are 'rotated' from their usual use. The keys and their mappings to the Arcade equivalent are:

DS Key Arcade Equivalent
Right Deposit coin
Left Shoulder Button Player 1 Start
Right Shoulder Button Player 2 Start
Up Move Left
Down Move Right
B Button Fire
Start Reset Game
Close Lid Pause and turn off screens

Why is the screen rotated? One reason is that's how the emulator stores its screen code in the Video RAM area (The screens were rotated in the Arcade cabinets). But the main reason is that the Arcade screen is 256 pixels high and 224 wide. The DS is 256 wide and 192 high. I haven't implemented scaling yet so if I used the 'normal' DS direction you'd get the complete width but not the complete height - so you wouldn't see your base ship. Rotating gives the complete height but mises 30 odd pixels to the right.

That leads us to the problem with the current version. You can't see 32 pixels to the right. Painful but still playable. Hopefully the next version will include some scaling and the option to play vertically or horizontally.

The downloadable files are space_invaders.nds and space_invaders.nds.gba for the emulators and hardware respectively. I don't know any emulator that can curently play this though, sorry. The hardware version should be stored on a GBA Flash cartridge and loaded using WifiMe, a PassMe or a flashed bios using FlashMe. It must be on a GBA cartridge as I store the ROM and sound samples in a gbfs filesystem that is read from the cartridge address space.

Source code will be released when I tidy a few things up in a couple of days. The code for the emulation portion is based on the excellent Space Invaders Didactic Emulator. The SIDE site has lots of details about the arcade machine. It seems to run fast enough on the DS but I've yet to look at tuning or getting the timings correct.

As always, any comments or suggestions are welcomed. See my contact details below.

The Hottest DCEmu Posters