DraStic Nintendo DS emulator teaser video


DSi games aren't supported. I'm not aware of any emulator supporting DSi. The extra memory probably wouldn't be a problem, but it also has a faster ARM9 (133MHz vs 67MHz) and other stuff. I'd need some amount of hardware documentation, and has anyone actually dumped DSiWare games?
DSiWare is currently impossible to dump with nintendo's OCD encryption policy for the DS. The DSi is essentially dead modding wise so until this is funded, DSiWare is a no-go.
 
I figured I'd post an update, since I haven't said much. This is probably going to be a long post.

First thing.. since I mentioned that I'd like to have a release ready in some weeks after the announcement over a month ago, and because I said I was considering releasing for the compo whose deadline is coming up soon, many are probably expecting that release to actually happen soon. To be honest, I'm not sure anymore if I want to push for that just now. The reason is that I'm not confident that there are enough pure 2D games to make it worthwhile, and for the most part these are the ones worth playing. There are definitely some out there, but I'm concerned that if I release it as it is people will spend a lot of time combing through 2D games to find ones that don't use the 3D engine or don't use it much, and will burn a ton of time trying to document this for other people. I haven't looked through that many myself, but this has been the case for every game people have asked me to look at so far so I'm a little discouraged.

While I'm not that confident that full-on 3D heavy games will ever run that well even with a very optimized engine and frame skip, I do think ones that use it for simple 2D style blits can run if they're properly detected and accelerated. The thing is, I don't feel very comfortable working on that before I have a finer understanding of the 3D engine's low level operation (so for instance, I can predict when a texture really is 1:1 even though the coordinates don't really match that - this can be a big deal for distortion-less 2D). This means making a strong attempt to actually get pixel correct rendering, at least to some extent. This is a bit beyond what other DS emulators are doing, but I feel like this approach makes it easier to develop, debug, and maybe most importantly, optimize. This is the approach I took for PCSX-reARMEd's NEON GPU plugin and it worked well there. DS's 3D is much more complex and much more eccentric than PS1's, but it's still something I'd like to aim for.

This is actually something that held up progress on the DS emulator for a while - I wanted to get the 3D RE'd first. I spent the first several months of 2012 trying that, but got stuck without advancing for weeks, and felt pretty hopeless. Eventually I decided to be broader in the things I do and work on actual emulation again. I've been trying to keep up with that now, at least switching between different parts of the emulator when I get tired of working on something. I hope I'm at least improving. This brings me to where I am now.. where it looks like I need to at least try to resume the RE work - may as well do something instead of wasting all your time fretting about what to do. The good news is that after a couple days I've managed to move past what held me up for weeks last year, despite not actually learning anything new about the problem in the mean time, and having to readjust to what I was doing... which just goes to show that if you stop working on something for a long time sometimes you'll be able to think of new ideas.

.. okay, so most of this post hasn't really been an update; some are probably wondering what I've actually done this past month. Mainly it has been optimizing parts of the emulator that aren't the 3D engine. That includes the 2D and audio code, but more than anything the recompiler. I've put a lot more work into this than I have previous ones. Sometimes small changes have paid off big, sometimes really elaborate changes that make the generated code look a lot nicer haven't paid off at all (until I dig around enough games to find a case where it has). Dynarecs are really hard to profile accurately; I have printouts of a bunch of instruction-level statistics for games but this doesn't always help enough. And some features have taken a ton of time to actually get right. Still, I've made tangible progress and there's a lot more I'd like to do in the future. I've only started using real HW counter profiling (perf) recently (thanks to notaz), and am overwhelmed by all the stuff that could be improved. Here's hoping I can get to a lot of that.

I guess at this point I'd like to hear some feedback on what the community wants right now. I don't want people to feel like I'm letting them down or breaking a promise, so I'll at least keep that in mind as  I decide what I want to do.. but I'm also going to proceed cautiously and deliberately like I tend to.
 
Last edited by a moderator:
I guess at this point I'd like to hear some feedback on what the community wants right now. I don't want people to feel like I'm letting them down or breaking a promise, so I'll at least keep that in mind as  I decide what I want to do.. but I'm also going to proceed cautiously and deliberately like I tend to.
I read your post with attention but this is not very clear what you expect from the community as well. I guess many people here, including me, would expect a beta release, to try things out, but that would only happen if you feel that your work is mature enough. If you feel things are not ready to be tested yet, I guess it's also up to you. 

One intermediate path could be to do a limited release to few trusted members if you are looking for additional feedback without releasing it in the wild and be overwhelmed by the amount of feedback. 

What do you think ?
 
Thanks for the insight into where you are at with it.   I'm thinking you have the right of it,   don't release before you are ready.

I think  the closed Beta idea has merit.  If you keep up the rotation of tasks,  you can periodically provide something new for your beta testers to publicly exclaim over and keep interest in the project fresh, for when you are ready to release.

- Neelix
 
If you're not happy with what you've got then you also know that the community isn't going to be happy with it. Answering pointless questions about an unready piece of software will just waste more of your valuable time. I say continue doing what you do so well and don't put out a general release beta.

I agree with ekianjo - send out betas to a select few who can give you the feedback that you need.

And do continue giving us feedback too :)
 
With this Piece of Software have you done so many for us.

I am happy to play soon Games like Sword of Mana and other 2d RPGs.

For me is 3D not so important.

Many thx for your hard hard work ^_^
 
I am not clear of the problem? You mention that people will burn time testing and finding games that run acceptably, that could be a central effort on a shared Google spreadsheet and save the OP testing on demand. I don't think usees mind, the excitement of using the emulator will be reward enough.


Is the OP able to put any helpful analytics in to the emulator to get any useful data (frame rate, crashes, etc.) If this was possible you could have a pseudo distributed refression test driven by community testing.
 
I think his worry is that such a compatibility list will not be maintained accurately, and thus will be misleading as compatibility improves.

- Neelix
 
If that is the worry, that's exactly what I find exciting about new emulators - running the latest versions and seeing how many games are now playable, noticing obvious performance increases... and then actually realising a game is running really well and just playing it, it's all a combined experience.

I don't think people are expecting an all singing and dancing release - I personally would like to play Ouendan, Phoenix Wright and New Super Mario Bros. and from there see how everything else runs and then report back in the accepted fashion any bugs encountered.

ps sorry for typos it's tricky to type on phone sometimes

EDIT: improved clarity with PC rather than a phone...
 
Last edited by a moderator:
Release what you want, when you want ^^.

Maybe a video or two from time to time.

Also, that kind of achievement chart may clear up things:

2d: 50%

3d: 10%

sound: 70%

etc:

etc;
 
I've carefully read your post.

Here's what I think:

Before I had a Pandora I was doing some Super Smash bros Brawl character hacks.

It was much effort for me to do this but people liked my work and it was a great feeling to get something done I'd like to see for years to be in the game.

The reason why I tell you this is to make you better understand my suggestion:

I never released something I didn't consider as done.

There was never an unfinished beta release.

I'd advice you not to release anything before you don't like your work.

Of course this is not m very community friendly attitude but it's my attitude.

If you think without the 3D stuff it's bad for people none should be angered if you don't release it.

On the other hand I wan to play some DS. NOW !! :D

You will win a price as well if you'll join the competition. I think it's pretty likely you'll get a high rating in the emulator section a there are not much entries and you already have some impressive peace of software.

It's a really hard situation for me.

I know what I'd do in your place: I wouldn't release anything until it's finished.

But as a community member I say: Shut up and give me this emulator. NOW. I want to PLAY GAMES. Waiting sucks.

Lots of people might be happy if you make some beta release.

I don't think you will hurt them if they will have to test which of there games works nicely ;) .

It's always nice not only to read about the progress done but also have something to try out.

We love Pandora, we love your work and we love you. Share you effort with your fans.

Never do  something you're not convinced of. If you're unhappy with some unfinished work released don't do it.

Make some videos and progress report. This will make people happy as well.

Just what came in my mind when reading your post.

It's your decision.

You're not a promise breaker if you don't  do some release this week.

:)
 
You have to do whatever feels best to you.

If I were you though, I would release what you got to the compo, even if it can only play a handful 2D games. Call it "alpha", add some warnings about it being unfinished, and ask people not to bug you with compatibility problems because it is ongoing work. Just make a small list of some games that you know to work, so that people eager to play some DS games can try those. Even if it's just a "proof of concept" release that can only emulate 1 or 2 games, at only half speed and without sound, that would already be interesting to many of us! If you release it on the repo, you don't really have to worry about people who keep using the old version.
 
With this Piece of Software have you done so many for us.

I am happy to play soon Games like Sword of Mana and other 2d RPGs.

For me is 3D not so important.

Many thx for your hard hard work ^_^
Well, most DS-Games seem to use the 3D-Engine, sadly Castlevania-Dawn of Sorrow too,

so i would not be too sure about that.

Exophase knows what he is doing, so i am just going to wait patiently

and hope, that the emulator will be worth anything at all on my CC-Pandora.
 
When I first released r1 of PCSX ReARMed back in 2010, it wasn't that much faster then psx4all (even slower for some games) and compatibility was much worse as it didn't even have BIOS support until around r4 or so. Even as being released in such immature state I think it was useful for some people, the only downside I get from that today is that there are misleading compatibility lists floating around that state that some games are incompatible or slow, while they have been fixed many releases ago. The other downside is that currently some new users manage to get old versions somewhere and are trying to use them, but that was most likely from Craig's appstore that ED finally took care of.


So in general releasing early was positive experience to me that gave some motivation boost from feedback, youtube videos by users and such.


As from my experience of having access to dev versions of DraStic I feel that with frameskip it could run some 3D-using games at playable speeds on overclocked 1GHz unit at least, as seen on my NSMB video. But of course it's up to Exophase to decide in the end.
 
Last edited by a moderator:
If there was a centralised bug tracker, Google Spreadsheet is fine to keep things simple, that could be linked on the release thread, in the readme, on the repo, on the ROM selector. The sheet can have games in one coloumn and then a column per version with feedback.


Is it possible other inaccurate lists will still be created? Absolutely! But whenever anyone creates an alternative list, the community can just point said user at the centralised one.
 
An example of what I was talking about:

https://docs.google.com/spreadsheet/ccc?key=0AqLF5Roz7Qt7dEpWNDVGQ0Y4dUlUUnpYNUpEY0MtSHc#gid=0

I have kept it very simple, and allowed everyone full access to change the document (you need the link to access the spreadsheet though). Of course it is open for abuse and complications could be put in place to stop this. I don't know what sort of data would be best to collect here (is a free form user comment okay, keeps it simple, or should there be a couple of columns per version for gets to front end, gets to game, average frame rate, comments).

Would anyone use it? Would it actually be helpful? I don't know!
 
Really interesting to hear how your progressing and all the hard work involved. Personally I think it's of course your choice but that an altogether alpha release should stress that you don't plan to look into compatibility issues at this time.


Notaz I feel for and am responsible for aswell.as I put a part of that list together, trashed it partly myself, fixed it again and then saw it all trashed. People do like to just test things out though, as its part of the fun and the community aspect. Inaccurate lists don't help and craigix really didn't like the potential for Pandora s actual potential to be mis reported. Whatever lists occur need to be well made and protected from sabotage aswell.
 
Last edited by a moderator:
I would be careful with a community like the PSP Homebrew/Warez-One, because most of them would simply complain how bad this is.

The Pandora Community is more helpful though.

They usually report bugs they find, report games that are working properly, etc.

Out of 4000 NDS games, there will probably be a few ones that already work fine with 2D mode... and the more people are there to test games, the more playable ones you will find :)

And with each release things will get better.

I personally never used any compatibility lists.

I try out stuff I like and retry with each version, being happy with every little thing that gets better :)

So my suggestion is to release it.

Ignore the moaners (those will always be there) and let yourself be motivated by the guys who enjoy it :)
 
I would be careful with a community like the PSP Homebrew/Warez-One, because most of them would simply complain how bad this is.

The Pandora Community is more helpful though.

They usually report bugs they find, report games that are working properly, etc.

Out of 4000 NDS games, there will probably be a few ones that already work fine with 2D mode... and the more people are there to test games, the more playable ones you will find :)

And with each release things will get better.

I personally never used any compatibility lists.

I try out stuff I like and retry with each version, being happy with every little thing that gets better :)

So my suggestion is to release it.

Ignore the moaners (those will always be there) and let yourself be motivated by the guys who enjoy it :)
Yeah!  Agree with EvilDragon there.  You can't make everyone in this world happy eventhough you give them free stuff.
 
Back
Top