Sunday, November 11, 2007

R13 Issues, R14 Plans

Over the past week I've started making plans for what I want to do for R14.

To start with, R13 introduced a couple of issues which I want to fix. Firstly, a number of roms now no longer work with dynarec enabled, or show odd behaviour. For instance, Aerogauge now finishes the race as soon as the countdown completes. I've tracked this down to one of the dynarec optimisations I added in August, where I optimise fragments which jump back to themselves. This should be a 'safe' transformation, so it suggests there's a bug somewhere in my implementation. If I can't fix the bug in time for R14, I'll add a temporary setting to allow this optimisation to be disabled on a rom-by-rom basis (much like the 'dynarec stack optimisation' setting).

Secondly, it looks like something I changed for savestate support has broken the 'return to main menu' option. I added some logic to help ensure that when taking a snapshot for the savestate, the CPU is paused in a 'safe' state (i.e. no dynarec code is executing, nothing is running on the RSP, and nothing is executing in the branch delay slot.) It looks like I've messed something up which is causing the 'return to main menu' option to wait for a safe state before bailing out to the menu. Should be an easy one to fix.

Morgan suggested a nice idea in the comments, which is that I generate a thumbnail for the savestate as it is created to display alongside the slot in the UI. It's a little tricky to implement, as by the time the emulator is told to create a savestate, it has already obliterated the n64's framebuffer with the Daedalus UI. I'll have to do something quite clever like speculatively copy the n64's framebuffer into system memory every time you enter the Pause Menu, or create the screenshot on the first frame rendered after saving. Either way, I'd like to add this simple feature to R14.

Next on my list for R14 is to look at making more significant performance improvements. Over the months many people have been asking when I'd get around to implementing audio on the PSP's Media Engine. I've talked about this before, but always kept putting it off in order to work on easier optimisations.

The Media Engine is a bit of unknown territory for me. Even though it's practically identical to the main CPU, you can't just change a setting an suddenly have your code running on it. There are a number of small hurdles I have to overcome before I can get audio working on the ME, but this is my big goal for R14 (I'll save the technical discussion for the next post.) If all goes to plan this should mean that audio can always be enabled without a significant impact on framerate.

So in summary for R14: a few bug fixes, thumbnails for savestates, and audio without affecting framerate.

-StrmnNrmn

29 comments:

nicholas said...

COOL CAN'T WAIT FOR THIS RELEASE SOUNDS COOL

man im already exited and we have only just had the R13 man can't wait for R14

Boaz said...

i dont know if this helps you but R13 had some bugs...

Sometimes pokemon stadium wont start, after the movie it just gives a black acreen, can only quit using the home button, cant return to the main menu.
But the other day, zelda ocarina of time didnt want to start, but pokemon stadium did work.
I cant remember if i changed something in the settings but i think the best thing is to get more compability for games.
That they start easier...

Looking forwards to R14:)

Checkviller said...

AUDIO WITHOUT AFFECTING FRAMERATE?!?!

I love you man! :P

StrmnNrmn said...

@boaz: Thanks for the info. I'll check it out - hopefully it will turn out to be the same issue which is affecting Aerogauge :)

filiph said...

Darn i can't wait!!!

Scott said...

First i'd like to thank you for all your hard work and this software is awesome. Please Please Please get Legend of Zelda to work better and you will be Immortal!

GmDude66 said...

Wow dude sounds great!

Time to read the next post :D

AgentSmith said...

I can't wait - this should be awesome . Good luck in your quest for world domination :) just kidding. This is getting more and more exciting all the time. If I may suggest that you start a "game favorites" poll of your own to get an idea of what people's favorite game are. Not sure if it will help the cause but I'm sure people are itching to tell you. I know for me personally i have a handful of favorites but I won't bother you with it till you start the poll.


Thanks you strmnnrmn

André said...

First of all i'd like to thank the excellent work that you are doing with this N64 emulator for PSP...

But one thing that i can't keep asking is : PLEASE, put Zelda Ocarina of Time running better, that's all i ask for in the next release, it's one of the games ever and it was awesome put it working on the PSP...

Thanks and keep the good work ;)

Josh said...

I've also noticed that when falling from great heights in Mario 64, Mario doesn't lose any health.

michaelp said...

Are you sure about Mario 64? It happens to me still... I lose health.

triton said...

Nice job dude! :-)

TearinX said...

yea, people would like to see major improvements, compatibility wise and performance. I have an Idea but I dunno if you will do it. you should start like a 2 or 4 man team that work on the emulator with you instead of you doing all the work yourself. well hopefully R14 is a good update.

Rodrigo Cardoso said...

if u could get the Majoras mask running again...

this game was running at pretty good spped in R12, but now it crashes in a few seconds... :(

the same for F-zero X, it was working in R10, but stopped in R11.

I think that getting a game working *again* is a little "easier" than making a game working at first time...
is my theory correct??? :P ...if not, sorry for waste some of your time.

MFuni-X said...

StrmnNrmn I wish you the best man and thanks for the good work.
I have one question regarding the thumbnail is it possible to view the roms as thumbnails.

Be Happy

BrendanL said...

Great I can't wait for R14. Hopefully you'll be able to fix the gaps in the audio. I could always just turn it off but what's Super Mario 64 without sound? But my brother got mad at me because he had some English Literature assignment for school.

nicholas said...

could you please fix the paper mario save problem


and not saying do it now im just saying in the future could you think about making the psp cam microphone work on games such as "hey you pikachu!" i mean yes this is a hard console to emulate on a psp but that would be fairly cool just 2 add tht

thnx StrmnNrmn/Stormin_Normin lol

cheers 4 such a great emu at the moment it really is improving so much.
and it has come so far since 4 instance r3

cheers again

PSPMAN90 said...

I can't wait!! But I have to!! Ohh man! We have to wait! That's fine that's suppose to be like that! Ok we wait StrmnNrmn Thanks! :) Also Zelda: Ocarina of time and Ocarina of time master quest play fine but when u enter to a room on the first dungeon Deku tree! Its stop! Even if I take audio out, dynarec optimizatoon its still doing it. It seems that has to be fix or something ! I mean game start but then poof when u past a door! Why!!!!

pimppimp said...

I will donate 15 USD to you if you could fix Paper Mario and get the framerate up a little higher.That would be awsome.I can't wait for R14.Keep up the good work.;)

Herman said...

Will you improve the framerate to r14?

joseph said...

use cache for your emulator you twat :P

Devin said...

i think ssb is nothing without the multiplayer option -_-. can u get zelda"ocaria of time to stop crashing if its possible? ican't get past the deku tree. also i think there should be a cheat menu on daedalus just like the one on "project 64" if u can make that happen, u will be the best emulator maker off all time =)

my email is devin.eobertson@yahoo.com if u'd like to email me about it thanx.

Andy said...

One thing i'd really love to see in the next release would be some type of support for Perfect Dark, but maybe that would be better to wait till after Goldeneye is running better.... i dont know... i just know that i would kill to be able to play it on the psp

thomy_pc said...

Paper Mario crashes, after I entered a name for the Gamesave…

I had to take the accumulator out, otherwise went nothing more.

(translated from german)

PSPMAN90 said...

Well, Yeah Paper Mario do that...

But there's a way to make it run.

How about that u wouldn't have to input the name for the Gamesaves to start the game?

Well yeah, U would play the game...

Well Just use the Project 64( N64 emulator for PC Best there is)and play Paper Mario, Make a Gamesave at satrt to imput the name u want, then Satrt Playing...

Now u can SaveState with the Emulator...

This will save in any kind of Format that N64 or this Emulator have.

Like
eprom
MPK
etc

Just extract from the ZIP file

Then the save state rename it .ss

That is the Format of the Daedalus Emulator SaveState

Then RUN paper Mario on your PSP using Daedalus 13 and go and load savestate, u will see the save state u did using project 64 on your PC.

And Game will start there.
U will be able to play Paper Mario!

Minor Errors:
Low Crashes
Tips:
Run the Game Un-compressed
Runs better and fast, doesnt get stuck as much as before.

This Technic of exporting SaveSTate works with the others ROMS too, with Pokemon Stadium 2, Zelda(After uget stuck in the Tree at begining when u play On Daedalus13 om PSP)

Even when u use the CHEATS on the Project 64, Like Use Link with Black Tunic as Young Link, it will show after EXporting the SaveState to D13.

Well If anyone needs more info of how to do this just contact me at my Gmail(martnog90@gmail.com)

Also if you need that I export some of the save state of the games u want to play but you cant for some reason, Feel free to tell me and I will make an export of the SAvestate of that Game and test it with it to see if it work and then I will upload it or send it to you via Email...

Thanks!
CheerS!

PSPMAN90

PSPMAN90 said...

DEVIN! I have a Temporal Solution, until strmmn finish his D14...

well, I meant Deku Tree, at the begining of the game gets crahsed...

But u can play the game on The PC using Project 64 and make a SaveState with the Emulator(project 64 on PC)

then that Savetate rename it:
Example:
Legeng of Zelda.z64 (rom)
legend of Zelda.eprom(SaveState of Pj64)
RENAME----------->Legend of Zelda.ss(SaveState of Daedalus 13)

Export that to the PSP/GAME150/Daedalus13/SaveState->

Run the game and Load the SaveState...

You will be on the place u save it using the Pj64, on the Daedalus 13(PSP)

U will notice that the Pj64 SaveState is biger size than the D13 emulator savestate, but after loading it once on the D13(psp) it will re-sized to smaller value...

And THis will get you play after Completeting the Deku Tree stage...

Basically it doesnt get stuck anymore, just few times on few places...

Minor Errors:
low Crashes
Tip:
Run itUn-compressed

Hydroxide said...

Hi StrmnNrmn(i think), I am wondering if in future daedalus realeases you can make easily customizable controlls. By this i mean controlls that dont require you to make a new .ini file

Hydroxide said...

hi StrmnNrmn(hope i spelled that right) I was wondering if you could make easily customizable controlls in the next daedalus realease.

PSPMAN90 said...

the controls are the less to be concern in this New Release as you see the Game compability and Video, audio and ME is what really matters here.

Te controls are fine.

And don't even expect this new R14 Release because is not going to be release as we see...

So don''t expect just forget and wait patiently...

patient is a virtue.

Thanks
PSPMAN90