Emuforums.com

Go Back   Emuforums.com > Forum & Emulation News Discussion > Emulation News Submissions
Home About Us Register FAQ Members List Calendar Mark Forums Read


Reply
 
LinkBack Thread Tools Display Modes
Old April 29th, 2008   #1 (permalink)
Burnin' up for YOU
 
Hard core Rikki's Avatar
 
Join Date: May 2004
Location: Perpetual Hawaii
Posts: 5,685
NeoDS released: NeoGeo emulator for the DS


A NeoGeo emulator for the DS handheld has been released just recently. Reports say that many games run near-fullspeed, so the DS owners among you might want to try this one out. Feel free to share pics and screenshots here if you make any.
A DLDI compatible flash card is required, btw (that's more for playing homebrew stuff than an actual requirement to play it)

Quickie copypaste from the readme
Quote:
NeoDS v0.1.0 by Ben Ingram
Website: NeoDS | Google Groups

If you have questions, READ THIS DOCUMENT FIRST!!! Then check the website, and the forums at gameboy advance development and www.PocketHeaven.com. If you still have questions, email me at ingramb AT gmail DOT com. I will be happy to help, but possibly slightly annoyed if your question is answered in this document.

INTRODUCTION

This is a NeoGeo AES/MVS emulator for the Nintendo DS. It can run all types of NeoGeo roms with some limitations.

Currently emulated:
* M68000 cpu (cyclone)
* Z80 cpu (DrZ80)
* All forms of NeoGeo protection/encryption
* Graphics
* ADPCM audio
* PSG audio

Not emulated:
* FM audio
* Raster effects
* Multiplayer
* Some timings are not that accurate

FM audio has already been done in jEnesisDS, so it is possible in theory. It will be hard to squeeze it into NeoDS, as both the ARM7 and ARM9 are pretty busy. But I will try. Most of the graphics in NeoDS are drawn with textured quads. Emulating raster effects using this method would require more polygons per frame than the DS is capable of (as far as I can tell). It may be possible to emulate raster effects using the DS 2D hardware, but there are lots of reasons why this would be difficult.

USING THE EMULATOR
Required:
* Nintendo DS (lite)
* DLDI compatible flash card

First, you need to patch NeoDS.nds for your DLDI flash card (NOTE - not all flashcards require patching). See here: DLDI - Dynamically Linked Device Interface for libfat. Please don't email me for help about this, there are plenty of places online that explain how this works.

Next you will need to convert some NeoGeo roms (mslug.zip for example). You also need a bios rom (neogeo.zip). NeoDS uses the same rom sets as MAME, so make sure your games work in MAME before proceeding. Put all the roms you want to convert along with the bios together in a folder. Copy NeoDSConvert.exe into the same folder. Run NeoDSConvert, and it will convert all the NeoGeo roms in that folder. The converted roms will have the *.neo extension.

Copy the DLDI patched NeoDS.nds, and all the *.neo roms into the root of your flashcard. Run NeoDS.nds. The main menu should load, showing you a list of all the roms on your card. Use the arrow keys to select, and press start to choose. The rom should load, and you should be playing. You can load a rom without audio which will improve frame rate, but you won't get any sound (obviously). Once a game is loaded without audio, the only way to get audio back is to reload the game. Some games will freeze with audio disabled, so be warned!

Controls
[Arrow keys] - Arrow keys
[A, B, X, Y] - NeoGeo face buttons
[Start] - Start
[Select] - Coin

The NeoDS gui is controlled with the stylus.
* Video - Video can be normal or scaled. Normal is a cropped screen. Scaled shows the full screen, but scaled down to fit.

* CPU Clock- The NeoGeo cpu can be underclocked. This can actually make some games run faster! It is easier for NeoDS to emulate a slower cpu, and some NeoGeo games don't use the full cpu power anyway. Experiment and see.

* Screen Off - The lower screen can be turned off. Touch anywhere to turn it back on.

* Load rom - Load a new game

Please report any crashes to me. The more info you can give me, the better. Thanks!

ADVANCED

You can run NeoDSConvert from the command line. In this case, it takes up to 2 parameters.
-bios0 use the euro bios
-bios1 use the euro-s1 bios
-bios2 use the us bios
-bios3 use the us-e bios
-bios4 use the asia bios
-bios5 use the japan bios
-bios6 use the japan-s2 bios
-bios7 use the japan-s1 bios
-bios8 use the uni-bios.10 bios
-bios9 use the uni-bios.11 bios
-bios10 use the debug bios
-bios11 use the asia-aes bios
If there is another parameter, it will be interpreted as the name of the game, as given to MAME. In this case, only this rom will be converted.

For example, pretend you want to convert Metal Slug 1, using the japan-s2 bios. Create a new directory (C:\roms). Copy mslug.zip and NeoDsConvert.exe into C:\roms. To open a command line, click start, select "run...", type "cmd", and press enter. Type "cd c:\roms". Press enter. Then type "NeoDSConvert -bios6 mslug". Press enter.

TODO
* Save states
* Faster M68k cpu core
* Improved stability
* FM audio (?)
* Raster effects (?)
* Wifi multiplayer (?)
* Clean up NeoDSConvert source if I feel like it

TECHNICAL NOTES

NeoGeo games can be close to 100MB in size, while the ds only has 4MB of ram. Graphics, sound, and program code all need to be streamed into ram constantly while the emulator is running. NeoDs uses a modified libfat which has a lookup table to vastly speed up seek times. In the future, slot2 ds ram expansion packs could provide some speed up. But they only have 32MB, so games will still have to stream.

The emulator uses a slightly modified version of Cyclone for the m68k core. The memory handlers are all done in assembly code and integrated into the core. The jump table is also compressed using a series of sub jump tables. This uses an extra arm instruction to decode each opcode, but reduces the .nds file size by ~200k, and improves cache utilization. This seems to give a slight speed increase. My feeling is that cpu emulation is heavily memory bound. I think a smaller m68k core that fit mostly into the TCM could be much faster than cyclone, even if it needed more instructions to execute each opcode.

The NeoGeo sprite graphics are all done with textured quads using the ds 3d hardware. The NeoGeo tile layer is done with a ds tile background. Doing raster effects with quads is possible in theory, but changing quads per-scanline would need way more quads per frame than the ds is capable of rendering. 2d sprites could be used instead of quads, but this has several problems. The NeoGeo can render many more sprites than the ds, so it would take a complex hblank handler to swap them on a per-scanline basis. Also, the ds can only address 1024 sprites at once. This corresponds to 256k worth of vram, which is half what I can get using quads.

The NeoGeo adpcm audio is streamed from the card and decoded in software because the NeoGeo's audio format doesn't quite match the ds hardware format. The NeoGeo PSG is mapped directly to the ds PSG hardware. FM audio would probably have to be done on the arm7. But the arm7 has very little memory, and can't afford any slowdown (or else the audio will be choppy). A faster and smaller Z80 core might be needed first.

LICENCE
The gui code is all public domain (all files that begin with gui). The NeoDSConvert code is all public domain, except where the MAME/zlib licenses apply. The emulator code is free to use for non-commercial purposes. Contact me if these terms don't work for you.
And this is why everybody prefers short quote extracts ;p

__________________
< deviantART || GENERALEMU || Webcomics
VBA-M || @ES <(^_^)> <(^_^)>

Join the IRC channels (opens in your default IRC client)
-> #ngemu
-> #pcsx2
Hard core Rikki is offline   Reply With Quote
Old April 29th, 2008   #2 (permalink)
Banned
 
Godwin's Avatar
 
Join Date: Aug 2005
Location: Ohaio
Posts: 1,063
Awesome. Now I can have some SNK on my DS.
Godwin is offline   Reply With Quote
Old April 29th, 2008   #3 (permalink)
Emuhustler
 
Dennemark's Avatar
 
Join Date: Mar 2008
Location: Amsterdam
Posts: 327
Awesome ! More NG on the go !
__________________
Dennemark is offline   Reply With Quote
Old April 29th, 2008   #4 (permalink)
Registered User
 
Join Date: Apr 2008
Location: Astoria
Posts: 1
Whoa...

that's just plain awesome.
the odd ronin is offline   Reply With Quote
Old May 1st, 2008   #5 (permalink)
Registered User
 
Uiriamu's Avatar
 
Join Date: Feb 2006
Location: São Paulo - Brazil
Posts: 17
I tested some games and all worked under 50 fps. A little list:

- Last Blade
- Breakers
- Metal Slug
- Metal Slug 2 (hangs on select character screen)
- King Of Fighters 94
- King Of Fighters 96
- King Of Fighters 98

I have to pay a beer to this guy, seriously xD
__________________
Computer Specs:

Conroe E6300 2GB DDR2 667Mhz Geforce 8600 GT Fatality 256MB 160GB HDD ADSL 600k


Current Playing:
Wii - Super Smash Bros Brawl
Sonic and The Secret Rings

DS - Ninja Gaiden Dragon Sword
Homebrew: Neo DS
Uiriamu is offline   Reply With Quote
Old May 1st, 2008   #6 (permalink)
Burnin' up for YOU
 
Hard core Rikki's Avatar
 
Join Date: May 2004
Location: Perpetual Hawaii
Posts: 5,685
Could you post a picture or two?


EDIT: ingramb posted a compatibility list on his webpage. Check this one out. Nearly all games tested work with sound and nearfullspeed.
__________________
< deviantART || GENERALEMU || Webcomics
VBA-M || @ES <(^_^)> <(^_^)>

Join the IRC channels (opens in your default IRC client)
-> #ngemu
-> #pcsx2

Last edited by Hard core Rikki; May 1st, 2008 at 09:36.
Hard core Rikki is offline   Reply With Quote
Old May 1st, 2008   #7 (permalink)
Registered User
 
Uiriamu's Avatar
 
Join Date: Feb 2006
Location: São Paulo - Brazil
Posts: 17
Quote:
Originally Posted by Hard core Rikki View Post
Could you post a picture or two?
Sure thing, I took some with my webcam (images are crappy, but ok) and only Last blade ingame. Picture 5 is the fps for Last Blade (44~52)
Attached Images
File Type: jpg neods_screen0.jpg (10.0 KB, 11 views)
File Type: jpg neods_screen1.jpg (14.4 KB, 12 views)
File Type: jpg neods_screen2.jpg (13.9 KB, 18 views)
File Type: jpg neods_screen3.jpg (15.5 KB, 22 views)
File Type: jpg neods_screen4.jpg (13.6 KB, 10 views)
File Type: jpg neods_screen5.jpg (10.7 KB, 9 views)
File Type: jpg neods_screen6.jpg (12.3 KB, 17 views)
__________________
Computer Specs:

Conroe E6300 2GB DDR2 667Mhz Geforce 8600 GT Fatality 256MB 160GB HDD ADSL 600k


Current Playing:
Wii - Super Smash Bros Brawl
Sonic and The Secret Rings

DS - Ninja Gaiden Dragon Sword
Homebrew: Neo DS
Uiriamu is offline   Reply With Quote
Old May 6th, 2008   #8 (permalink)
Administrator
 
Kellicros's Avatar
 
Join Date: Nov 2001
Location: Kuala Lumpur, Malaysia.
Posts: 7,719
NeoDS 0.1.1 released.

Quote:
* Added level2 sprite cache in slot2 ram (if installed)
* Increased rom page size (fix grenades Metal Slug 1)
* Fix interrupt acknowledge (fix Metal Slug 2)
* Fix tile layer palette update (Last Blade 2 gui)
* Update converter to use latest MAME data (fix issues with King of
Fighters 98, etc)
* Thanks to FluBBa for a DAA Z80 instruction that doesnt need a stupid
lookup table (saves ram)
* Fixed -bios options in NeoDSConvert
I have had a lot of fun with this emulator.
__________________
Kellicros' DeviantArt

Last edited by Kellicros; May 6th, 2008 at 16:43.
Kellicros is offline   Reply With Quote
Old May 6th, 2008   #9 (permalink)
Burnin' up for YOU
 
Hard core Rikki's Avatar
 
Join Date: May 2004
Location: Perpetual Hawaii
Posts: 5,685
Pics or it didnt happen ;p I'll have to insist. Twice.
__________________
< deviantART || GENERALEMU || Webcomics
VBA-M || @ES <(^_^)> <(^_^)>

Join the IRC channels (opens in your default IRC client)
-> #ngemu
-> #pcsx2
Hard core Rikki is offline   Reply With Quote
Old May 6th, 2008   #10 (permalink)
Administrator
 
Kellicros's Avatar
 
Join Date: Nov 2001
Location: Kuala Lumpur, Malaysia.
Posts: 7,719
Quote:
Originally Posted by Hard core Rikki View Post
Pics or it didnt happen ;p I'll have to insist. Twice.
Hmm, someone already posted a few post above. I would get some pics but i don't have a cam with me at the moment. Seriously, it is too good to be true. XD

EDIT: Borrowed a digicam just for the heck of it, here's Samurai Spirit 2 at near perfect. BTW, I have been following the DS homebrew scene very closely after I got myself a DS, this is definitely an amazing piece of work.
Attached Images
File Type: jpg 0001.jpg (160.5 KB, 13 views)
File Type: jpg 0002.jpg (127.5 KB, 3 views)
File Type: jpg 0003.jpg (141.9 KB, 6 views)
File Type: jpg 0004.jpg (134.6 KB, 7 views)
File Type: jpg 0005.jpg (181.2 KB, 10 views)
File Type: jpg 0006.jpg (156.5 KB, 4 views)
File Type: jpg 0007.jpg (170.6 KB, 5 views)
File Type: jpg 0008.jpg (213.5 KB, 16 views)
File Type: jpg 0009.jpg (178.5 KB, 7 views)
File Type: jpg 0010.jpg (164.5 KB, 8 views)
File Type: jpg 0011.jpg (226.2 KB, 9 views)

Last edited by Kellicros; May 6th, 2008 at 16:43.
Kellicros is offline   Reply With Quote
Old May 7th, 2008   #11 (permalink)
Administrator
 
Kellicros's Avatar
 
Join Date: Nov 2001
Location: Kuala Lumpur, Malaysia.
Posts: 7,719
Quote:
v0.1.1a
* Forgot to include updated NeoDSConvert is last version
Here's Metal Slug 2 as requested, the game slows down to 40FPS in most area but it is very playable(albeit a bit annoying), it plays perfect(as in no glitch noticed) and looks REALLY good on the DS.
Attached Images
File Type: jpg 0001.jpg (180.9 KB, 7 views)
File Type: jpg 0002.jpg (225.5 KB, 3 views)
File Type: jpg 0003.jpg (234.2 KB, 9 views)
File Type: jpg 0004.jpg (201.6 KB, 6 views)
File Type: jpg 0005.jpg (203.0 KB, 6 views)
File Type: jpg 0006.jpg (189.5 KB, 4 views)
File Type: jpg 0007.jpg (177.4 KB, 4 views)
File Type: jpg 0008.jpg (223.5 KB, 11 views)
File Type: jpg 0009.jpg (209.5 KB, 5 views)
File Type: jpg 0010.jpg (226.9 KB, 7 views)
__________________
Kellicros' DeviantArt
Kellicros is offline   Reply With Quote
Old May 7th, 2008   #12 (permalink)
:3
 
Yeloazndevil's Avatar
 
Join Date: Jul 2002
Posts: 10,186
I prefer neo geo emulation on psp more
Yeloazndevil is offline   Reply With Quote
Old May 12th, 2008   #13 (permalink)
Registered User
 
Join Date: Nov 2006
Location: Philippines
Posts: 231
Quote:
Originally Posted by Yeloazndevil View Post
I prefer neo geo emulation on psp more
I prefer more on DS than PSP. Give DS a chance. I hope someday, they can emulate CPS1, CPS2 & CPS3 too just like PSP.
(I cant login for 4 days. Because IE7 & Firefox 2 says, "Server Not Found". Im login just today.)

Last edited by Tony Luey; May 12th, 2008 at 13:38. Reason: add more words.
Tony Luey is offline   Reply With Quote
Old May 14th, 2008   #14 (permalink)
Administrator
 
Kellicros's Avatar
 
Join Date: Nov 2001
Location: Kuala Lumpur, Malaysia.
Posts: 7,719
I would prefer emulators on the PSP too, that is, if I ever have one anyway. But seeing how the DS is my only handheld console at the moment, this is pretty exciting.
__________________
Kellicros' DeviantArt
Kellicros is offline   Reply With Quote
Old June 21st, 2008   #15 (permalink)
Burnin' up for YOU
 
Hard core Rikki's Avatar
 
Join Date: May 2004
Location: Perpetual Hawaii
Posts: 5,685
NeoDS 0.2.0

v0.2.0 6/19/2008
* Key configuration
* Pause key
* Put DS to sleep when lid is closed
* Save SRAM and NeoDS configuration to flashcard
* Fix crash when switching roms on certain flash cards
* Fix palettte bank swap bug on tile layer (metal slug 1 hud)
* Improve accuracy of vcounter, and vposition interrupts (fix freeze in Samurai Showdown 3, fix graphics in Blazing Star level 2, probly others)
* Fix issues when using dldi and slot2 ram from same flashcard (like supercard lite)
* Fix graphical corruption that occurs after a while when using slot2 ram
__________________
< deviantART || GENERALEMU || Webcomics
VBA-M || @ES <(^_^)> <(^_^)>

Join the IRC channels (opens in your default IRC client)
-> #ngemu
-> #pcsx2

Last edited by Hard core Rikki; June 21st, 2008 at 21:14.
Hard core Rikki is offline   Reply With Quote
Old June 23rd, 2008   #16 (permalink)
Coder
 
Zack's Avatar
 
Join Date: Sep 2007
Location: idk
Posts: 190
I really need to get myself a DS.

This emulator looks great
__________________
My Releases :

---------------------------
Zack is offline   Reply With Quote
Old June 28th, 2008   #17 (permalink)
racing gamer
 
Samor's Avatar
 
Join Date: Apr 2005
Location: NL
Posts: 5,392
pretty cool... how does the screen resolution hold up?
__________________

Steam Community :: ID :: samor
YouTube Channel (updated 28-9-2008)
Samor is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

All times are GMT. The time now is 11:09.

© 2006 - 2008 Emu Forums |