Jump to content

DSemu 0.4.0 released!


Robert

Recommended Posts

20th June 2005:

DSEmu is an open source Nintendo DS Emulator written by Imran Nazar and released under the BSD License. Unfortunately Imran hasn't been able to continue development of it and on the DSEmu forums he welcomed other people adding to it.

 

Although DSEmu is not very complete it does have at least two things going for it. The first is the source is available. And the second is it has a debugger and stepper built in. So you can step through the ARM7 and ARM9 disassembly which is quite useful.

 

I got the latest source and made a few changes to get it working with some demo programs. It has quite a few limitations still, but being able to step through the code, examine the ARM registers, etc has prove quite educational to me. I've made that release, with source, available for anyone who wants to use it.

 

 

Monday, 20th June 2005

It seems the project is not quite dead. Chris Double of New Zealand has put together a set of patches that seem to fix a lot of bugs and add new functionality to DSemu. He's amalgamated them into a new version, 0.4.0; maybe he has skipped a few major version numbers, but I don't mind. I'm going to try to obtain the source, and flick through to see what the salient modifications are.

 

 

Please note: This release does NOT run any known software. It is provided for educational purposes only.

 

 

 

»» Official Site

»» Download it Now! [1Emulation Server]

 

 

 

Credits: News - More News - File

Link to comment
Share on other sites

0.4.1 is out

 

0.4.1 has the following fixes from 0.4.0:

 

A more correct ARM9 bios interrupt routine is used, avoiding the hack that I put in place previously where one of the registers loads was hard coded in the ARM9 evaluator.

The interrupt waiting SWI routine was using an incorrect register so the return from the wait was not reliable.

Bugs related to switching between ARM and Thumb mode, and restoration of the spsr from the cpsr at the end of an interrupt were fixed.

The interrupt handler expected the handler to be ARM code not Thumb code. The libnds handler is in Thumb so fixed code that was previously there but not working to execute Thumb code if the code is indeed thumb.

Implemented some of the ARM9 Coprocessor instructions for DTCM and ITCM handling (specifically registers 6 and 9).

Link to comment
Share on other sites

It's been tested. See the thread "Dsemu 0.4.1 testing".

 

The new file has replaced the old in the downloads area.

Click on the link in the first post.

Edited by robbbert
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...