Wednesday, July 19, 2006

R6 Released

I've got to keep this short as is going down in 5 minutes :(

Change log:

[+] Added over 50 new combiner modes
[+] Added support for c-buttons
[+] Load roms from ms0:\N64 in addition to local roms directory
[!] Fixed backface culling issues
[!] Correctly implemented flipping to avoid flickering with certain roms
[!] Plugged memory leak in texture handling code, fixing various crashes
[!] Fixed issue which caused screenshot function to hang the emulator

You can grab it here.

For R6 I've mostly been focusing on fixing a number of graphical issues (namely adding combiner modes to popular roms). I've also managed to add a couple of nice usability improvements (in particular mapping the c buttons to the dpad, using the circle button to toggle back to the n64 dpad)*. I've also been able to track down a couple of bugs that affected stability.

I've still not decided what to concentrate my attention on for R7. The main areas are:

  • Speed

  • Compatibility

  • Graphics

  • Usability

These are all quite broad areas, but it would be good to get a feeling for what people are most interested in seeing improved. Any comments would be most appreciated.


* I should point out that I had dozens of people suggest this to me via email and through comments on this blog, so I can't take any credit for this idea :)


BigMace said...

nice work.

Zodionic said...

NOOOOOO Link not working!!!!!!

Zodionic said...

please fix the link :( it says not found on server ;(

Jonesyxxiv said...

Awesome! Thank you! Id vote for speed increases.

StrmnNrmn said...

The link is working fine here. Direct links just in case:


flyinghippo said...

I'm very pleased to see support for the C-Stick and D-Pad. As well as improvement priorities, I believe speed should probably be worked on last, as improving graphics and others is bound to slow it down, and it would be a hassle to fix speed after everything you do.

I can't wait for future releases. It'll be a while before I'm able to try this out again.

Fana7ic said...
This comment has been removed by a blog administrator.
Zodionic said...


Invalid mirror selected

Fana7ic said...

Ok now it Worx Thx a lot StrmnNrmn
and keep up the good work!

Fana7ic said...

Oh and is it now in Kernel mode or still in Usermode?

StrmnNrmn said...

I think it might take a few minutes for sourceforge to mirror the files across all its download servers. I only uploaded them around 20 minutes ago so it's probably worth waiting a few more minutes for it to sort itself out.

I've got to go to bed now, but just in case sourceforge doesn't sort itself out I've posted mirrors on v1.0, v1.5

StrmnNrmn said...

It's still usermode - I'll take a look at reenabling kernel mode at some point in the near future.

Fana7ic said...

You should set up a donation Link because I think you should get a reward for your great work.

Amelia said...

got like 10 fps in mario 64 xD, i remeber that i only had 5 with the old emulator :). GJ.

I Realy like this project.

keep up the good work :) !.

flyinghippo said...

I wouldn't call that the purpose of donations. Donations should only be implemented if money would help with the project.

Suprax09 said...

I'd vote for speed increases because i don't care about graphics. I just wanna play :)

RyanMWolfe said...

Can you please fix the Black and Pruple textures and increase the Speed a lot please

Thank You

From Ryan

calth12 said...

does it work on firmware 2.71???

Muhu said...

No it wont work on 2.71. How the hell did you get here anyways?
By the way, I vote speed.

BigMace said...

My suggestions for the next release:

-A better menu system (one similar to NesterJ) that allows you to return to the manu while in game so you change settings or even roms.


-Frame skipping

-and ofcourse speed ( i think you knew that already)

Anyways nice release, i can really see the improvments, keep up the hardwork!

BigMace said...

oh and one more thing

-the ability to map you own buttons, it would be nice if there was a default button profile and a custum profile for each game.

ZFB8 said...

Just wanted to say great job on the emulator. I do have 1 particular issue though. On the next release can you make it so the user maps the buttons instead of having them pre-defined please? It's great that the c-buttons are mapped now, but the current set-up of using the d-pad as the c-buttons doesn't work for many games. There are some such as Turok or Zelda that would require you to use bit the joystick and c-buttons in conjunction, and that is pretty difficult if you need the same thumb to do both. I was a bit surprised that it doesn't have customisable buttons already, but I guess that's just me :P

I guess that's all for now. Again, great job, I look forward to the day I have Mario 64 and Ocarina Of Time fully playable on the go ^_^

nobody said...

Mario 64 still crashes sometimes when entering/exiting a level, you should look into it.

nintendods said...

Id vote for improving speed in R7 because thats all we need ;) well R5 was for speed R6 was for glitches so now its time for speed again ;) make it full speeeeeeed ;)

nintendods said...

What I forgot to say great work and keep up the good work for your future releses we alllll love you <3 ;)

pkmaximum said...

Great work Strmmmn can't wait until your next release I would like to give suggestions also for R7:

1. Of course customizable buttom mapping feature would be nice =]

2. Option to load roms from any directory. Wich leads to another comment a simple gui like Nester J with directory browsing would be all we would need.

3. (More of a question ;]) If it is possible could you do something like the NEO GEO emulator does that way we could allocate more memory and the roms could run cleaner through the PSP memory heap. If we had a cache file and the rom file too that should makes roms run smoother right for ram. Or does that only work with NEO GEO and is impossible for N64 =S

4. The graphical issues are important because like said above even though speed is great things like graphical problems and screen flickers will only slow down this emulator even more.

5. Finally yes another thing we all need for this emulator is the speed!!! I believe this should come last as getting a good stable base is the first priority when building a emulator correctly. But a good thing for all PSP users to see is N64 emulation running at a decent frame rate ;)

Well I wish you the best luck in the world Strmmmn and I hope your N64 project does not die like many coders do when they are building something as big as this. And they put their emulators to a hault :(

Medieval Ã…nubis said...

Great Work!

It would be better if you were to concentrate on speed and compatibilty first.

Form follows function.

Again, Great Work!

ZFB8 said...

Yeah, I agree with everyone else, I think your main focus from here on out should be speed until it gets to around 80% of full speed, then move onto sound and things like that. Of course, it's all going to need to be done anyway, but I think it makes a little more sense to get the biggest things out of the way first.

itsalldasame2me said...

this is what i would like to see in r7:

1. More Speed!!! definatly.

2. Customizable controls.

3. The ability to go back to the rom selection menu after starting a rom.

wally*won_kenobie said...

I agree with itsalldasame2me

We need a way of getting back to the selection screen but i think its a bit harder than you think. The way PSmonkey does it doesnt unload the rom first which may cause it to crash.

Strmnnrmn: Goldeneye still doesnt work :) and some games still show lots of purple blotches. What games were fixed tor un?

zeb said...

I wanted to know if either strmnnrmn or donkey can implement the changes that donkey had previously made to the "R5 remix" version. i loved the way donkey had made the new menu and menu music for the emulator. i also like the old eboot icons and sounds he made also. if either strmnnrmn or donkey can implement those features into this build or add them in R7, then that would be cool. thanks for your guys time and effort.

rohypnolRX said...

hello strmn,
i have been following your dev work since your first release and just need to say thanks.
i have some feedback on different games and such (mario, mario kart, super smash brothers, etc.) just wondering what you need to know.
also maybe you want to include a logger, so that we could actually send you the data of what happens on various peoples machines.

BigMace said...

you should use this icon with your release:
Pochi Style

ZFB8 said...

Heh, I use Pochi Style for ALL of my homebrew, I simply love the clean, professional style. I use the green icon and background for Daedalus.

BigMace said...

Yeah i use them for every thing too, except i just use the icons because i dont like waiting for the backgrounds to load.

Most developers use the icons for their releases and since he doesnt have one he should use it. I dont think the pochi guy would care because he did make it for daedelus.

Sk8.4.Life said...

If your looking for advice on what to work on, I for one would much rather have an emulator that looked like crap, but ran full speed than I would a perfect clone that ran at 5fps or something.

So speed absolutely comes first, then immediatly after it comes compatibility, and then getting the graphics working, and the hell with useability >.< Doesn't take a rocket scientist to run it as it is :D.

bimboREMIX said...

Strmnnrmn, can you use the VFPU coprocessor(kernel mode)?

tsurumaru said...


Read Strmnnrmn's post entitled "Deciding what to optimise" for an explanation of why implementing frameskip at this stage of development would produce negligible benefits.

Kramer said...

good job on another great build StrmnNrmn

what i would like in the next build is more stability because alot of games are at playable speed. I got mario kart running at 15fps seconds but it always crashed after i chose a new stage.

kekpsp said...

Fantastic, thanks Strmnnrmn, great improvements, keep up the great work, I really think speed, stability and a greater use of the kernel mode would be usefull on the next build :)

kekpsp said...

I know you are really tied up at the moment, but would it be possible to produce a single rom optimised version of your great emulator to run Mario at a higher frame rate? Thanks, just an answer will do, it interest me simply because there is a group of devs out there who are playing around with an emulator (single rom) that works fine, but they dont want to share it with the scene.

kekpsp said...

I have seen evidence, but I could have been a really smart video it looked real, I didnt get to play it though, so I may have been fooled

kersplatty said...

wow looks good testin it out now, cant w8 for your next release jus imagine 20fps mario!

zeb said...

i tried placing the menu.mp3 into the daedalus folder like the way donkey made it in the R5 remix version but it doesn't seem to work. i really would like to be able to have the new menu and menu music from donkey's R5 remix version but i don't know how to implement it. i am sure that donkey had to change and add new features to the source in order for the new menu and menu sound to work. could either strmnnrmn or donkey please implement those new features that donkey made in this R6 version or add them in R7. hopefully they can be added in this version. thanks guys.

...shadow... said...

Hey Strmnnrmn, very nice progress with Daedalus. Can you contact me...
I need to discuss something about the development of Daedalus with you, thanks.

BigMace said...


I was just hitting on that fact that he should implement a more developed menu for the emulator and that is just one part of it.

Jonesyxxiv said...

I may have voted b4 but i cahnged my mind. I think compatability and stability are more important than speed right now. Mario kart works fast enough but it crashes in the middle of races, Mario 64 works fast enough too, but those are the only games of like 30 I tried that actually work. Compatability is down from some of the older releases I think. Quest worked(slowly), but doesnt anymore. Same with Super Smash Bros.

shallowlife said...

I was just wondering if you could not just implent the kernel mode ( for sound)

but for speed you could also use the 166 Mhz Gpu ( which has also 2mb ram i believe)

perhaps that will help too ?

I love your N64 emulator , I wish - I could donate you too!

johnybon said...

Just wanted to say, thanks for all the effort your putting into this massively exciting project.
First off, I would vote for solving the anoying pink and black texture thing, then look to compatabilty, and finally the speed. I long to play pilotwings 64, Goldeneye would be nice too...
As for this other HLE rom specific emulator, I'll believe it when I play it. I cant imagine any developer would shun the resulting kudos of such a project if it actually existed.
StrmnNrmn, you seem to be the only n64 emu developer who is actually delivering rather than just talking. Oh, and please continue to include us 2.00 eloader guys in future releases.
Chin! Chin!

tsurumaru said...

Hi Strmnnrmn,

Thanks for keeping us updated with your progress. Just got back from organising a training event in London, man was it hot today!

I'm amazed by the number of people who have posted on here who want things like mp3 menu music enabled or a better looking menu system. I'll admit that a certain level of functionality is required (being able to exit a rom without restarting would be a good example).
However I would have thought that most people would have requested compatability, graphical improvements or speed increases over flashy menu's and other more dispensible functionality.

My question that I have for you is that if you were to work on a speed increase by completing the Dynarec and optimisations would this have an impact on compatibility? ie is it better to improve the emulators compatibility first and then work on the dynarec, or would dynarec improvement "break" certain roms and therefore would it be better to finish the dynarec first and then move on to compatability?

As my technical understanding is limited I'm interested in what you believe would be the best way to proceed. ;)

I'm definitely in the camp of an emulator with great emulation and a simple menu system being preferable to one with a polished menu system (with superfluous functionality) and only limited emulation!

Keep up the great work! :)

StrmnNrmn said...

Thanks for all your comments guys. From a rough tally, I count the votes as:

1) Speed (11 votes)
2) Configurable buttons (6 votes)3) Stability/Compatibility (5 votes)
4) Various other options (1 vote each)

I may have over or undercounted, but it's pretty clear that improving speed is the most popular request.

I'm quite glad, because that's what I would have voted for too :)

So for R7 my main focus will be on improving the framerate further. I think adding configurable input should only take a couple of hours, so I'll try and fit that in along the way too. As for stability/compatibility I'll obviously be keeping my eyes out for any bugs I spot along the way.

There's lots of comments to reply to so apologies if I don't answer your specific question.

rynamwolfe: The purple/black textures are due to unimplemented combiners. Theoretically there are billions of possibilities for these, so I'm currently implementing them as I encounter them. You can help by emailing me the 'missing_mux.txt' file that appears in the Daedalus directory after playing a rom.

bigmace/zfb8: As I mention above I'm keen to make the buttons configurable. I would have liked to have implemented that for R6, but I knew that if I did I'd end up pushing the release back for another few days.

wally: Daedalus is pretty stable when it comes to unloading roms - I don't think this will be too hard to add after I've implemented an 'in-game' menu.
Also, try running Goldeneye with the dynarec disabled - that might help?

zfb8: I really like Pochi's icons too. I'll email him to see if he's happy for me to use them by default.

kekpsp: At the moment I think I would rather concentrate on optimisations that would improve performance for all the roms. Other people are more than welcome to look at doing this with the Daedalus source though!

tsurmaru: I work in London so I've been melting with the heat too. I was planning on getting a couple of hours work in on Daedalus this evening, but it's just too hot to think!
I think a couple of the compatibility problems people have mentioned in these comments (see jonesyxxiv's comment directly above for instance) are due to the current dynarec implementation. Hopefully as I work on it further I'll be reducing the bug count, rather than increasing it further :)

wally*won_kenobie said...

JohnnyBon: Its not easy to resolve all the black/pink stuff. There is still lots to do for each game :). (Thats what missing_mux does)

People who want strmnnrmn to contact him, i suggest you contact him yourselves, hes a busy bloke, lots of hard yakka.

People also saying he should look into things, hes not always going to fix the bugs you request. Mario 64 works fine for me and other people.

I have put a poll up, please vote.

rohypnolRX said...

Been testing out dozens of my favorite roms. Goldeneye will not load, Super Smash will not let me past the title screen, Ocarina of Time crashes once I get to the Great Deku Tree. Mario Kart is also crashing when returning to the main menu from a race. Star Fox / Lylat Wars crashes after the first dialogue with the dog commander..
In terms of what to work on next in my opinion I would suggest stability and then building speed upon that. Maybe a little of both. Anything we can do also to help just let us know. Im sure that every one that uses this would gladly give you any information you needed. Thanks again and good luck.

Exoskeletor said...

great work. have you ever try to implement the sound and see the changes in frame rate? are yu going to implement sound in the next version? it would be great and with an option to turn in on or off we dont mind if we are loosing frames

Exoskeletor said...

ALso, about the main areas my opinion is:

We all want an emulator to play our games. in order to play a game, no matter how good the graphics are or how good the music and compatibility is, if we dont have speed we cant play them.

After that it is neccecary the sound :)

After sound, we all want to be able to finish a game and to play a range of a lot of games, so compatibility and bugs must be fixed.

Finally we like a lot of quick options in the GUI, settings and beautifull images

ZFB8 said...

I agree with everyone else, speed should be the top priority, I'm glad that's what you decided on. I appreciate your answers to my questions too, thank you.

And about the icon thing, I was gonna draw my own background/icon to use for my personal copy of the emulator, but since people have been wanting you to put on an icon/background I think I may post it when I'm done and see what you think. Maybe you can put it on and it'll be a custom icon made just for your emulator =P

kekpsp said...

Thanks for answering my question Strmnnrmn, I wish I could tinker around with the code a bit, but I have a long way to go to learn, you have inspired me to at least try and understand what is going on underneath all the menus and graphics :), I really enjoy using your emulator, (by the way has anyone tried Doom64), and I think a speed increase would make the experience all the more entertaining.
I have been thinking if it would be possible to make a Atari Jaguar emulator for the PSP, (Tempest 2000 that would also be a buzz), does anyone know if this is possible the Jag is very hard to emulate apparently.

tsurumaru said...


Hey if you're interested PLynx has already ported a Jaguar emulator to the PSP, its still in its infancy, Roms load but run slowly.

Kind regars.

GeEkPiE said...

R7 = speed, speed, speed, speed!!!!

tsurumaru said...

Sorry to double post, I've broken the link so it will fit in the comments section! ;)

kekpsp said...

WOW tsurumaru thanks, I'm just about to try it out, Tempest is one of my all time favourites, I just love that game.

Cheers :)

Quick question Strmnnrmn, is your emulator running at 333/166 mhz?

kekpsp said...

Sorry, I ment the PSP overclock mode :)

Sarah said...

Works on 2.6?

Sarah said...

Works on 2.6? Does it? Please say yes!.

kekpsp said...

I am going to try loads of roms tonight, I will give you the low-down in terms of frame rate and stability tomorrow, with the various options on and off

Urkel said...

yes, this emulator runs on 2.6, and strmnnrnm, I would love it if you could also include a frame skip and turbo mode option in your next release, and also, when do you think it will come out?

tsurumaru said...


Strmnnrmn's already explained why it wouldn't be beneficial implementing frameskip at this stage in the development, if however the dynarec and optimisation work can be completed I'm sure it would start to become attractive.

Read Strmnnrmns earlier post "Deciding what to optimise" for greater detail.

kekpsp said...

I have been trying some roms out, I didnt have much time but the outcome was interesting, all roms tested with Dynarec on, Tris on and FPS on...

Wipeout (Resets PSP)
Doom64 (Runs, P/B textures 2.54fps)
Waverace Euro,JAP (Crash)-Black screen
Donkeykong64 (Crash)-Black screen
Conker Bad Fur Day (Crash)-Black screen
Ridge Racer64 (Black Screen but frame rate up at 600fps?????? with Dynarec on)

Come on guys we need to update the compatibility List to help StrmnNrmn along :)

Morgan said...

Starfox 64 - Training mode works but crashes after mission briefing (I saw the arwings flying int he air then it crashes)10-12 FPS

Super Smash Bros. - Can't press start at the menu screen (the intro runs pretty good around 6-12 FPS)

Diddy Kong Racing - Purple and black textures then crashes after about 3 min (around 6-10 FPS)

Mario Party - You can enter the green tube to play the ACTUAL game then crashes (around 4-8 FPS)

Goldeneye - Doesn't Work (tried all settings)

Mario Kart - Runs good with some graphic errors but crashes about after 5min of play (raced for 29 seconds then crashes in a race, around 8-12 FPS)

StrmnNrmn when you can could you give me an explaination to why SSB won't go in game unless you turn the Dynrec off? Also please try to fix some memory leaks when your on R7. I love the speed idea but could you fit some time in for trying to fix the memory leaks because games you can only play for about 5min aren't very exciting to test.

Morgan said...

Nascar 99 - runs the intro fine but can't press start at the main screen (around 4-7 FPS)

Nascar 2000 - runs about the same as 99 but can't press start at main screen once again

wally*won_kenobie said...

You would help him more if you posted missing_mux.txt after every game :).

Send them to me, then i can pass a big pack to strmnnrmn afterwards (Save him sorting through about 1000 duplicates.

When you finish with the rom (its best to have daedalus started in IR shell if possible) retrieve the missing_mux.txt file, rename it to the roms name and then email it to OR collect a heap and compress them with Zip, rar, 7zip, Stuffit Expander what ever.

I got waverace working ingame alright.

Goldeneye works with dynarec off.

Dynarec isnt complete yet, thats probably why it works better when its off

Morgan said...

I have a 1.5 psp and I can't get goldeneye to even load, with dyna on or off. Do you have the triangle thing off?

Morgan said...


Morgan said...
This comment has been removed by a blog administrator.
wally*won_kenobie said...

We cant do that here.

morgan i have seen games fullspeed in game and out.

Try S.C.A.R.S :)

Morgan said...

What this site has a thing about talking about roms? I don't care I have goldeneye so, but Nascar 99 runs pretty good. I guess I got excited since this was the first game I've seen run just about full speed. If StrmnNrmn could help me out so I could get past the start menu I would be greatly thankful. I want nascar on my psp and I can't wait tilll Sept. for Nascar 07! Please just email me your goldeneye be nice, I want to help test for StrmnNrmn so will you help me out?

Morgan said...

SCARS runs just about full but has graphical errors, Nascar 99 has 100% none and great speed I JUST NEED TO GET PAST THE MENU SCREEN!

Morgan said...

I'm sorry to ask this but I'm 99% sure, n64 roms you shouldn't zip them or anything right. They run the fastest as just the file, am I correct? I feel stupid asking this but please I just want to be 100%.

arm1nius said...

I seem to be having problems saving. Save files are created in the save folder however saves can't be loaded. can somebody please explain to me why I can't load? Sorry if this is a dumb question.

PSDroideka said...

Sweet Release!!

Id peronally like to see savestate, speed and Zelda Fixes (OOT)

StevIEmw said...

Morgan you need to calm yourself right down, Nascar99 works at a solid rate of 1.58fps. my nan runs faster than that

Morgan said...

First of all I don't need to calm down, because I think you don't have a 1.5 and run this emulator just a little slower than me becasue I get a solid 8-10 FPS in Nascar99. Call me a liar but it seems like I am getting better results in a couple of games! Here is evidence of me getting past the mission briefing in StarFox 64 and actually playing a part of the first level. I got past where I stopped taking screen shots but here's the evidence!

StrmnNrmn maybe you should have test for you because I get alot of good results with these games. Today I got alot further in Mario Kart 64 too. Enjoy guys!

johnybon said...
This comment has been removed by a blog administrator.
johnybon said...
This comment has been removed by a blog administrator.
Mario Kart lover said...

Hi StrmnNrmn, I would just like R7 to be a big speed improvement in Mario Kart. And also less crashing and freezing in Mario Kart 64. Thank.

StrmnNrmn said...

rohypnolrx: These are pretty much the same set of roms that I regularly test with (and have done over the past 8 years :), so they will probably be the ones I concentrate on first when it comes to improving compatibility.

exoskeletor: I haven't given sound much thought yet. As you mention, it's probably only worth starting to look at sound when the framerate is something closer to 20-30fps for some of the less intensitve roms (think Mario etc). In generally I think your timeline is pretty close to what I'm planning on doing.

kekpsp: Yup, it's running with everything clocked at the highest settings. Which is a shame as a nice 50% speedup for free would be great :)

kekpsp/morgan: Thanks for the compatibility notes. morgan: I think the problem with SSB lies with bugs in the Dyanrec code. I'll have to sit down for a couple of hours one evening and try and see why it's going wrong. I'm not aware of any other memory leaks at the moment (I'm sure there will be some though) - I suspect the crashes you're seeing are due to various other bugs which I'll try to fix as I come across.

wally: It would be very helpful of you to sort through the various missing_mux.txts for me - thanks :)
I think the main problem with Goldenye and dynarec are down to the way the rom is witten (it executes code from virtual memory (unlike most roms), and this causes a whole host of issues when it comes to handling exceptions when generating the dynarec code).

morgan: Regarding nascar I'll have a look at it and see if I can figure out what's going on.

morgan/johnybon: Sorry - I had to delete your comments as I can't allow this blog to be seen to be encouraging the exchange of roms - sorry.

wally*won_kenobie said...

Strmnnrmn: I have got around 50 missing mux files for you.

Pls let me know what you want me to do with them .


Mario Kart lover said...

STRMNNRMN, in Mario Kart doing time mode, I got a steady 14 fps on the Beach Level! I'm gonna check other levels to see if they go faster. You should improve Mario Kart, to be your first full speed game.

Morgan said...

StrmnNrmn what do you think of those Starfox 64 screen shots I got, surprisingly guys the first level was very quick. It was faster than the training mode and then it froze but never shut off, and I could hit home and it went back home it was wierd. But yeah I'm going to continue in testing roms, but someone please that has a working goldeneye please email me. I would like to be able to test this game, I swear I have downloaded countless ones and no luck please I'm desprite! email: volcomstone463 I want to help strmnnrmn!

Morgan said...


disturbed19 said...

just a thought, u know wat would be really cool? if all the great coders such as ZX-81, strmnmnn, yoyofr,laxer3a, and psmonkey all worked together on a N64 emulator. this would be a huge impact on the homebrew seen haha i get excited thinkin about it, we would have a working n64 emulator in no time.

disturbed19 said...

one suggestion, if u were thinking about implentiong sound to your emulator, u should just use the media engine, that way it wouldnt slow anything down.

upssidetown said...

Your are Nice. And so is your site! Maybe you need some more pictures. Will return in the near future.

blogaccount54 said...

I like it! Keep up the good work. Thanks for sharing this wonderful site with us.