FlashGear
Now it runs pretty well:
http://www.javagear.co.uk/flashgear
Basically I missed a few Flash related things as I was working too late. I knew the code wasn't that bad! :)
Now it runs pretty well:
http://www.javagear.co.uk/flashgear
Basically I missed a few Flash related things as I was working too late. I knew the code wasn't that bad! :)
I quickly ported JavaGear to Actionscript 3 the other week to see how fast it would run. The actual port was really quick - took just over a day to get it up and running.
It seems that Actionscript is a pretty sluggish language for emulation purposes. The main bottleneck in the code is the Z80 emulation. The rendering and flash specific stuff is not really an issue.
Using a hacked version of Sonic, with some patched speed enhancements (replacing some of the idle cpu loops with halt instructions), it's just about playable. But I'd be lying if I said I wasn't disappointed with the overall performance.
I did a lot of profiling, but so far haven't made any breakthroughs. The core code is pretty fast anyway. I tried an alternate Z80 emulator from a Flash Spectrum emulator, and this was slower than my own.
Edit: give it a spin here
Be warned it's slow, so save any important work in case it stalls your PC ;)
Due to my own laziness at porting JavaGear to Google Android, I'm pleased to say Stephan has taken it upon himself to start a port. The code can be found here
A video can be found here
Looks like something's up with the frameskipping code from the video - I don't think the emulator is skipping frames at all. The interface and auto screen flipping looks cool though.
Upcoming in the next version:
1/ Big speed increase for mobile version. I've compiled my own customised version of proguard (the java obfuscator) . This results are great, and games run noticeably quicker. I'll have some precise data to back this up in due course.
2/ Decent standalone application version with menubar and windows .exe launcher for ease of use. Essentially the menubar is the final feature lacking from the rewritten javagear present in the original. It works better than the original though :)
So you've probably noticed that there have been a few minor updates to JavaGear recently.
I'm also working on implementing 'save state' support. It's a feature I've wanted for ages, but is mind numbingly dull to code. I've finally summed up the courage. It works, I've just got to hook up some UI for it now.
Any other feature requests are welcome.
JavaGear for MIDP2 Compatible mobile phones.
Also contains a standalone J2SE (PC compatible) build of JavaGear.
New Features:
Improved Emulation Accuracy:


Labels: javagear