Java Runtime 1.0 Beta 2


fungostar

Still Fresh
Joined
Oct 7, 2006
Messages
13
Age
50
Location
Milano
Website
Visit site
Java Runtime and Devkit 1.0 Beta 2 have just been released :lol:

Here follows a list of changes and bug fixes.
Code:
Bug:
- Fix for the audio delay in the game "Paperotte"
- Fixed many bugs in the sdljava layer, especially in palettized images
[cut]
Code:
News:
- Added support for Zaxxon's bitmapped font, now the launcher uses a combination of ttf and bitmapped fonts
- Added support for SFont compatible fonts
- Launcher can now over/underclock applications before launching them
- The launcher now adds a background service (disableable) for all applications: the Battery Monitor, a thread that monitors batteries state and turns on the battery led when they are low. The led blinks when batteries level is critical.
- Added the following gp2x fnctionalities:
   * Battery led control (on/off)
   * Backlight control (on/off)
   * overclock/underclock
   * Battery state retrieval
- Added another test program that allows you to experiment with new functions

Improvements:
- Modified Ryo's version  of the SFont library, added font scaling and antialiasing
- Modified surface initialization to hardware surfaces
- Applied VM optimizations (-O2) and enabled advanced threading tecniques

ToDo/Roadmap for Beta 3:
- Make SFont's fonts changeable (actually only white)
- enable double buffering hardware
- j2me support

Performances are much better. "Paperotte" is now fullspeed and audio is in sync.
The Jam-Test application starts clocked at 50Mhz by default and performs at 12FPS, it reaches 85Fps at 200Mhz.

Thanks to:
- Zaxxon for his bitmapped fonts
- Ryo for GMenu2X, it's a masterpiece and a vault of informations
- SFont's original author, Karl Bartel

Downloads from the Italian GP2XDev.net Forum:
RUNTIME: http://repository.gp2xdev.net/viewfile.php?id=49
DEVKIT: http://repository.gp2xdev.net/viewfile.php?id=52

Cheers,
Fungostar :D[/cut]
 
well with the latest runtimes on pc's (not really counting intense graphical applications) the java runtime runs pretty close to the speed of other programming languages that why I'm asking, but I'm assuming pretty damn slow anyway...
 
Ciao,

please give a look to this thread: http://www.gp32x.de/board/index.php?showtopic=32453
its about the previous version.

To sum it up:
- it is not SO slow, try the runtime, it includes a complete game
- it does not support SWING or AWT, so standard games/apps cannot run

This runtime can run any Java 1.5 application, provided the above limitation.
To the limit of unuseful things, you can run Tomcat on your GP2X :p

Actually, to draw on the screen (play audio and more) you have to use the Devkit classes that bring SDL support.
 
Last edited by a moderator:
How effeciently will java programs run under this runtime (I guess compared to c++) or other programming languages?

:rolleyes: does that need an answer?
Yes, it does, you'd be surprised, this for example is done in Java using this runtime, granted, its not 3D and you'll never see a PS emulator written in JAVA but just think about all those cellphone games..
http://www.youtube.com/watch?v=0WZ_fNfDD1
 
Last edited by a moderator:
How effeciently will java programs run under this runtime (I guess compared to c++) or other programming languages?

:rolleyes: does that need an answer?
Yes, it does, you'd be surprised, this for example is done in Java using this runtime, granted, its not 3D and you'll never see a PS emulator written in JAVA but just thing about all those cellphone games..
http://www.youtube.com/watch?v=0WZ_fNfDD1

I might try to put a quick game together to test this. Thanks so much. Java 5? What happened to Java 1.2? :S ;)
 
Last edited by a moderator:
Nice job!! its progressin great!!

Just an small request would be nice to be able to put the javavm and javavm-cp in other places tha in th e root of the sd, even installin ginto nand.

Also an small benchmarking utilities would be also nice to test overclocking and vm performance. btw, tis just an interpreter its not a jit is it?
 
Nice job!! its progressin great!!
Thanks :D

Just an small request would be nice to be able to put the javavm and javavm-cp in other places tha in th e root of the sd, even installin ginto nand.
Yes, it would be nice, this is due to the classpath installation path that is compiled into the VM, unfortunately this VM does not take JAVA_HOME in consideration :D
I will take thi sinto account for the next Beta, thanks for the suggestion.

Also an small benchmarking utilities would be also nice to test overclocking and vm performance. btw, tis just an interpreter its not a jit is it?
Yes, this is just an interpreter (jamvm), it is very well written and understandable... the current speed is largely because the SDL layer is entirely native.
A small benchmarking utility is already present, give a look to JamTest inside the Runtime, it displays some strings (around 200 bitblits) and measures the FPS. you can change the CPU clock inside the program with Volume Up/Down keys :D
 
Last edited by a moderator:
Also an small benchmarking utilities would be also nice to test overclocking and vm performance. btw, tis just an interpreter its not a jit is it?
Yes, this is just an interpreter (jamvm), it is very well written and understandable... the current speed is largely because the SDL layer is entirely native.
A small benchmarking utility is already present, give a look to JamTest inside the Runtime, it displays some strings (around 200 bitblits) and measures the FPS. you can change the CPU clock inside the program with Volume Up/Down keys :D

Yes but I meant, a more "cpu" intensive test to really bench the vm not the native libs...

Any way its great to have java inside.
 
Last edited by a moderator:
Yes but I meant, a more "cpu" intensive test to really bench the vm not the native libs...

Ah ok, I didn't got this... not a problem, just write the usual "fire" effect in Java and make it run on the GP2X, I will try to do it as soon as possible :D

I guess you're skilled at java dev, why not try to do it ?
 
Last edited by a moderator:
Yes but I meant, a more "cpu" intensive test to really bench the vm not the native libs...

Ah ok, I didn't got this... not a problem, just write the usual "fire" effect in Java and make it run on the GP2X, I will try to do it as soon as possible :D

I guess you're skilled at java dev, why not try to do it ?

Good Trial :p but really I'm not much skilled on java, I have a bit of curiosity, my skils are more in the c++/asm side, actually psx4all takes most of my time.

I saw some nice jvm implemnetation while lookin for info about dynamic recompilation and thread interpreters.

If you plan to "improve" the vm, drop me a line, I may get some links about that...
 
Last edited by a moderator:
Ciao,

please give a look to this thread: http://www.gp32x.de/board/index.php?showtopic=32453
its about the previous version.

To sum it up:
- it is not SO slow, try the runtime, it includes a complete game
- it does not support SWING or AWT, so standard games/apps cannot run

This runtime can run any Java 1.5 application, provided the above limitation.
To the limit of unuseful things, you can run Tomcat on your GP2X :p

Actually, to draw on the screen (play audio and more) you have to use the Devkit classes that bring SDL support.

Fungostar,

I see that AWT is not supported yet, I did read in other thread about the X11 stuff. Is this still at the same point?
Reason is, theres a project I think could run on the GP2X, but it uses AWT.Graphics according to lead dev. I know little about Java, in your opinion would a porting of the AWT calls to SDL calls be simple or a complete rework of the application? I, really just trying to gauge if it would be realistic for the app to run in the near future on AWT, if it cant how realistic is it to modify the source to use SDL from AWT.
 
Last edited by a moderator:
Im pretty good with java coding, but Ive never used the SDL libs before, and docs out there for it?
 
Im pretty good with java coding, but Ive never used the SDL libs before, and docs out there for it?

Sure theres docs www.libsdl.org has links to documentation. For use in actual games I followed the Lazy Foo tutorials, which are linked in the sdl site under tutorials.

(Maybe I misunderstnd the question, after reading Fungostar answer, but if your looking into the SDL calls in general my answer applies)
 
Last edited by a moderator:
Back
Top