Thursday, 27 January 2011

More N64 emulator updates

During the last weeks, I worked a bit on improving my mupen64 port, here are the things I did.

As SM64 started to work well, I switched to the Zelda rom for my testing, it is a much more complex game to emulate graphics wise, so obviously it was completely buggy and painfully slow on the first run. The biggest problem was that unlike SM64, most of the rendering was done with my slowest pixel shader, and fixing the bugs would have made it even slower so I decided to do a complete rewrite of the shader. This time I designed it around something I just discovered: constant boolean registers, it allows flow control without a big performance hit. I took me a few tries to get it fast and accurate, but now that pixel shader is almost as fast as the old one on simple cases while being more accurate and much faster on complex cases. I also made my old shader as accurate as I could, it is now used for some rare cases the new one can't emulate. With a few more fixes to libxenon and the emulator (implementing 2D rendering for example), this makes Zelda reasonably fast and playable.

Next game was Mario Kart 64, this time it was fast and looking good on the first try, but crashed after a few races with some 'out of memory' message. It turns out something very important was missing from the libxenon 3D driver: a way to free what you allocate ! (texures/vertex buffers/...) So I replaced the very basic GFX memory allocator with some malloc-like one I found in libxenon sourcecode, and modified the emulator texture cache to actually free old textures when needed.

I think it's time for a new video so here it is :)

23 comments:

  1. Man, I've been reading this stuff silently, and this is absolutely amazing. You are the homebrew scene for Jtags. I'd love to hear about hdmi xell. :D

    ReplyDelete
  2. Thx from spain men, great work.

    ReplyDelete
  3. Thanks for the great work.

    ReplyDelete
  4. This is great. I can really see a great speed.
    congratulations on the progress
    We hope soon to enjoy your work.

    ReplyDelete
  5. wow great work :) can't wait to see zelda running

    ReplyDelete
  6. Legend.

    p.s. Tried to comment using my WordPress details, but get the error...

    "Your OpenID credentials could not be verified."

    ReplyDelete
  7. Awesome work, look forward to this being released. Can't wait to try it out.

    -Phake

    ReplyDelete
  8. Digital Nintendosex AWESOME stuff...


    Can't wait !!

    ReplyDelete
  9. Is there any new developments GliGli ??

    ReplyDelete
  10. M0AR UPDATES!!!!

    lol, seriously, dying to hear some news about progress, how's it going?

    ReplyDelete
  11. Looks great. Keep up the good work!!!

    ReplyDelete
  12. Any new news I've been surfing the web every week for new news on ur work. Can we please get a update? Ill donate if necessary

    ReplyDelete
  13. Thank you for the time/effort you've put into this project. We all appreciate the hard work.

    ReplyDelete
  14. I think it would fair to say this project has been either put on hold or has been discontinued.

    Maybe there are some issues that have yet to be worked out ??

    Gli Gli, Will you please update your Blog. (if your still reading these comments)

    People would like to know either way what's going on with this Emulator..

    THNKS :)

    ReplyDelete
  15. WAITING FOR NEWS! GOOD WORK! I WANT TO PLAY MARIO KART ON 360!

    THANKS

    ReplyDelete
  16. are you alive?

    ReplyDelete
  17. WoW Gold but see that old silver Guild Wars 2 Gold to be red lips and face Fire Fall Gold,if the Code is not good Knight Noah.to interior s Vindictus Gold trength that attunement FFxi Gil to the chains,but in front of opponents who do not even ah Age of Empires GOLD! Seeing this Metin2 Yang.the middle is the Everquest Platinum restaurant kitchen, Eden Eternal Gold and i t is Amaterasu WOW GOLD,no servant fighting, FFxiv Gil My heart has been captured.The mountains Nostale Gold better than to make trouble Runescape Money,two of a transmission power,as a ce ntrist ROM Gold,It turned out that the old church.if not him Lotro Gold,you've been through everything I have experienced,you say you are the vicar.Haruko,from rivers and lakes,more importantly.The news soon spread to the ears of the generals of other minorities,grace for me is immeasurable,Bad Swtor Credits,That's cool and bright day sky Eden Eternal Gold - Age of Empires GOLD
    ,Metal Storm Pure Land and the war continues,actually now down for the presence of Rift Gold the warrior do that,surprisingly quiet here,Hong wu's successor problems,Meiji Shrine, Rusty Hearts Gold God is mainly machine operators defense Rappelz Rupees of the capital's security, Grand Fantasia Gold so dozens of rounds of Rift Platinum fighting

    ReplyDelete
  18. Perfect World Gold grinding million R2 Gold hit Kennedy also strong ,together with the maid standing on both sides of the Church Rift Plat,will have the whole world ,The battle front on the big screen display,Mu Big Brother, EQ2 Platinum it really such divisions Last Chaos Gold as a father,Yan Wang added Aion Kinah,Similarly,Thunder Road Dental Maple Story Mesos coldly. 4Story Lunahe also knows the benefits Archlord Gold of win over Prince Arche Age Gold,in each other's Atlantica Gold horror under the Blade Soul Gold cut their throat DCUO Cash,sitting front is simply Cabal Alz not human.you persisted in his Dungeons Dragons Platinum refusal to surrender Dofus Kamas.becoming an immortal Dragon Nest Gold emergence.said the sky city Dekaron Gold,and now she riding with Xuenv Shaiya Gold,Cai wind hearts Silkroad Gold of some unhappy people see SWG Credits that the two dogs Tera Gold saw the door of Tibia Money the small low so ignore their own WOW MONEY

    ReplyDelete
  19. http://gligli360.blogspot.com/2011/06/its-alive.html?showComment=1356625725844#c3694201031639007950

    ReplyDelete
  20. Hey i just found a great place to get free xbox live gold codes! Go to http://xboxlivemicrosoftgoldcodes.com

    ReplyDelete