Tuesday, June 28, 2011

It's alive !

Sorry for the lack of updates, I was busy with other stuff for some months.

As you can see on my github, ( https://github.com/gligli/libxenon/commits/master ), I think libXenon has improved a lot lately, with lots of stuff added from Xell (NAND access, lwip & network code,...), a new ELF loader, a unified ATA driver (that can access both HDD and DVD), the return of opendir/readdir/... functions and many bug fixes and smaller improvements in almost all drivers.

The reason for many of those changes is to be able to make most of Xell a regular libXenon app: Xell would be splitted into 2 stages, one stage which recovers from exploit and then decompresses and launches a second stage, which is a libXenon ELF. To maintain backwards compatibility, both stages would have to fit in the 256KB limit for a Xell binary.

Last but not least, I'm working on mupen64-360, my Wii64 port these days, I already added sound and done some optimisations to try to get more speed.
I multithreaded a good part of sound processing so it's done almost for free, and in fact anything that isn't multithreaded (RSP emulation) was already running in my version from january. I might be able to multithread RSP too, it would probably give a nice speed boost :)
I also redone the port of the Wii64 dynarec, I did my first port from the ps3 branch and it seems it wasn't up to date with the trunk speed-wise. Now it's using Wii64 1.1 code. I also changed the way stores were handled in the dynarec, trying to generate more code and rely less on a (slow) generic C function to do the job.
By the way, source code is now available on my github ( https://github.com/gligli/mupen64-360 ). Anybody that can compile it can try it, but please don't distribute binaries ! It's not a good idea at all to release unofficial versions of a work in progess of someone else code so I hope You can be responsible on this.

Here's a new video showing the progress on Mario64, jerkiness is due to the video capture card, trust me that game runs smooth :)

23 comments:

  1. Excellent work! Impressive. Thanks for the update Gligli.

    ReplyDelete
  2. Fantastic work G.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Thank you very much for the update, this is amazing I can't wait for a release :D

    How well do Rare games load ? (Golden Eye, DK64)
    If this Emu is a port of Wii64 I'm not sure if these games are supported?

    ReplyDelete
  5. I know goldeneye runs, but it's still too slow (around 40-50 fps vs 60 fps for full speed)

    ReplyDelete
  6. Still, that's not too bad for an Emu that hasn't been released yet :P

    Any chance you need any other testers let me know :P :P

    ReplyDelete
  7. Do you plan on adding support for Hi-Res texture packs in the future?

    and does the video plugin support anti aliasing?

    ReplyDelete
  8. How do you compile this on PS3? And where's the PS3-specific code in the trunk?

    Thank you very much gligli.

    www.psx-scene.com

    ReplyDelete
  9. Hi, any tips on how to compile this please? It shows up as "unrecognized project; missing plugin?" under Netbeans 7.0. Thanks.

    ReplyDelete
  10. Ploggy: Texture packs would be a nice thing to add, but there's more important things to add for now. There's already texture 2xsai support though.

    gamba: hmm It's a 360 port, it has nothing to do with the PS3.

    To compile the code you need an up to date libxenon and toolchain installed, and zlib compiled with it. Simplest way to compile the emu is then by doing a make in the Makefile dir. Look at http://www.libxenon.org/ for some more infos.

    ReplyDelete
  11. I've got it compiled and running but how do I load a rom with it? It prints of a series of lines saying "Failed opening root dir" and "Failed opening dir" and then exits with error code 1. I have my Mario 64 rom on the root directory of my USB stick.

    ReplyDelete
  12. Nevermind...I looked at the main.c file and edited it to load my rom.

    ReplyDelete
  13. good news! waiting for a official release!

    ReplyDelete
  14. I know it's still early days but in the future will it be possible to load this or any .ELF file from FSD or xexmenu ?

    ReplyDelete
  15. Can somebody please reply with a detailed tut on where to download and how to install libxenon and toolchain? And also how to use both of them to compile this emu??? Thanks.

    ReplyDelete
  16. Looking good, can't wait for a release. Hey even a beta would be great!

    ReplyDelete
  17. I Wana test this So bad .g u the jtag god !!!

    ReplyDelete
  18. im ready for a beta alpha or something when is this going to be released, and do you have to jtag to use this

    ReplyDelete
  19. I want to compile it, but it brings me the following error:
    ccl: error: invalid option argument "-0fast"

    Thanks for the help

    ReplyDelete
  20. try to edit the makefile and change "-0fast" to "-02"
    is was told doing that, but i cant get it to compile this way.

    i'm using an ubuntu VM and follwed tuxser's tutorial on how to set up a libxenon toolchain.

    ReplyDelete
  21. How can i compile zlib in Netbeans?

    ReplyDelete
  22. How do you get zlib to work with sources an netbeans??

    ReplyDelete
  23. Very great post. I simply stumbled upon your blog and wanted to say that I have really enjoyed browsing your weblog posts. After all I’ll be subscribing on your feed and I am hoping you write again very soon!

    ReplyDelete