Tuesday, 28 June 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 :)

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.

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.

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!