Nintendo DS Emulation NEWS
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