Gameboy emulator? What?Wow.
First the Gameboy emulator for Wii U and now this?
Wii U homebrew is sure getting really interesting.
Can't wait for a way to boot Homebrew without relying on the browser exploit. (And HDD support of course)
wasnt the gameboy emulatpr only for 5.3/5.4? This nes emulator is for 5.5!Wow.
First the Gameboy emulator for Wii U and now this?
Wii U homebrew is sure getting really interesting.
Can't wait for a way to boot Homebrew without relying on the browser exploit. (And HDD support of course)
There was a post last week about a guy who made a Gameboy emulator (alpha version) for Wii U.Gameboy emulator? What?
ya, but thats for 5.3, that isnt news for us in 5.5.xThere was a post last week about a guy who made a Gameboy emulator (alpha version) for Wii U.
I will post a link once I find it, I hope it didn't get closed or something.
--------------------- MERGED ---------------------------
Here we go:
http://gbatemp.net/threads/game-boy-emu-for-5-3-2.417294/
That's the one.
Right now, it renders each pixel one at a time. As far as I can tell, this is the main reason why everything is so slow (the OSScreen method for putting a pixel onto the screen is called 61k+ times each frame!) I don't really want to add the extra load of upscaling on top of all that until I can find a better rendering method (GX2 maybe? If anyone knows how that works please let me know)
Check out the description on @vgmoose 's game, by storing the coreinit pointers and simply passing those around to your various functions, you can get some drastic speedups.
https://github.com/vgmoose/space
I've got some really overcomplicated instructions on GitHub. I admit it's not the best.But how will this load the roms?
What are the odds that an ELF version could be forked by yourself/someone else to take full advantage of hardware on 5.3.2 and 5.4?
I'm probably gonna start work on a version with a simple debugger once I get rendering sorted out, hopefully that'll tell us which one ;3Wow, nice work!
For Mario Bros corruption it may be caused by 2 things:
-ROM Corruption
-emulated RAM corrupted/wrong adress (most likely)
Check out the description on @vgmoose 's game, by storing the coreinit pointers and simply passing those around to your various functions, you can get some drastic speedups.
https://github.com/vgmoose/space
My only reason is it would crash whenever I tried that! I figured that that may have been the reason they were looked up on each call, so the passing is just a workaround for the global definitions crashing.Why did you pass them in a struct to every functions? It looks like it's just a bunch of dynamic pointer to the functions. It looks a bit like the OpenGL extention where you have to get the pointer of the functions before to use them (glBindBufferARB for exemple).
Why not making a kind of dynamic loader that make them available in the global scope of the application at startup? There something that make it impossible in the elf loader?
My only reason is it would crash whenever I tried that! I figured that that may have been the reason they were looked up on each call, so the passing is just a workaround for the global definitions crashing.
So that example is for a HBL ELF, and I've got a branch here that does it that way. As seen here it no longer uses the struct-passing method. However! I haven't tested if this works on 5.5.x or not.Yes I guess your code run without the loader so global are unusable, but since there is an elf loader now it should be possible maybe
Edit: The example https://github.com/dimok789/hello_world from dimok789 use this
You can attach a zip containing the binary to this forum post instead of the github.After a bit of work, I've made the OSScreen methods global (similar to what @romain337 said) and it definitely seems a bit quicker. I've also cleaned up the drawing helpers I wasn't using, so that all good.
I couldn't upload a binary to GitHub ("something went wrong." I think their error messages are a bit too specific!) so you'll have to compile it yourself for now.
Also, if anyone knows their way around GX2 that'd be awesome since it seems to me like OSScreen can't provide me a better option than rendering the pixels one at a time (happy to be proven wrong!).