Rockbox Technical Forums

Rockbox Development => Feature Ideas => Topic started by: 180min on February 07, 2009, 11:38:03 AM

Title: Mobile Jar Emulator
Post by: 180min on February 07, 2009, 11:38:03 AM
I think that this would be pretty cool,to play mobile jar games on a Rockbox player,and would probably use less memory and RAM than the GBC emulator.
Title: Re: Mobile Jar Emulator
Post by: AlexP on February 07, 2009, 12:05:33 PM
and would probably use less memory and RAM than the GBC emulator.

Memory = RAM.  RAM and CPU perhaps?  Either way, are you sure about this?  Modern mobile phones can have pretty meaty processors.
Title: Re: Mobile Jar Emulator
Post by: 180min on February 07, 2009, 12:50:16 PM
I could do some research.
Title: Re: Mobile Jar Emulator
Post by: dreamlayers on February 07, 2009, 12:52:20 PM
This can be done, at least on ARM targets.  CLDC profiles of J2ME have very modest hardware requirements, and the phoneME Feature project (https://phoneme.dev.java.net/content/phoneme_platforms.html#phonemefeature) is an implementation which Sun releases under GPLv2.  It is designed with porting in mind, and there is information online on how to port it.
Title: Re: Mobile Jar Emulator
Post by: 180min on February 07, 2009, 12:57:59 PM
This can be done, at least on ARM targets.  CLDC profiles of J2ME have very modest hardware requirements, and the phoneME Feature project (https://phoneme.dev.java.net/content/phoneme_platforms.html#phonemefeature) is an implementation which Sun releases under GPLv2.  It is designed with porting in mind, and there is information online on how to port it.
Nice find!
EDIT:Is it a way to find out how much RAM you have on your rockbox player?
EDIT:After looking up a few mobile phones I found this...
Motorola Q = 52MB Ram
Motorola Razr = 5MB Ram
Most Nokias = about 4mb ram
also,I looked on the Rockbox Info,does Buffer mean ram?If so then my c200 has 29mb ram.
Title: Re: Mobile Jar Emulator
Post by: Llorean on February 07, 2009, 03:14:10 PM
CPU speed is a much more significant issue than RAM. Most Gameboy games requires less than 1/2MB of RAM and most of that is simply used for storing the ROM image anyway.
Title: Re: Mobile Jar Emulator
Post by: 180min on February 07, 2009, 07:38:57 PM
What is the CPU speed of the e200 or C200?Or even more Rockboxable players?
Title: Re: Mobile Jar Emulator
Post by: Llorean on February 07, 2009, 07:39:53 PM
A flat mhz rating doesn't really tell you much either, since architectural differences can mean significant variance.
Title: Re: Mobile Jar Emulator
Post by: 180min on February 07, 2009, 08:18:58 PM
Comparing to a Nokia 5550 Sport,I found this:
Nokia 5550 Sport:
_____________________
CPU Count   Single CPU    
CPU Type   ARM 9    
CPU Clock Rate   235 MHz
_________________________
Sandisk E200:
_____________________
Dual ARM Processors
• Dual 32-bit ARM7TDMI processors
• Up to 100 MHz processor operation per core with
independent clock-skipping feature on COP
• Efficient cross-bar implementation providing zero wait
state access to internal RAM
• Integrated 128KB of SRAM
• 8KB of unified cache per processor
• Six DMA channels
(Information found via Rockbox wiki)
_____________________________
EDIT:

ARM7TDMI
________
Applications

Perhaps the most common pieces of electronic equipment currently using this processor are:
iPod from Apple
Nintendo DS and Game Boy Advance from Nintendo
Most of Nokia's mobile phone range.
Lego Mindstorms NXT
Audio processing in the SEGA Dreamcast
Sirius Satellite Radio receivers
iriver portable digital audio players (the H10 uses a chip with this processor)
Roomba 500 series from iRobot
PocketStation
Juice Box
The main CPU in Stern Pinball S.A.M System games.
 ;D
(Found via Wikipedia)
Title: Re: Mobile Jar Emulator
Post by: Llorean on February 07, 2009, 08:23:07 PM
Yes, so in a practical sense you should think of the phone as "2-3 times as fast as what we can reasonably get out of the Sansa, if not more"
Title: Re: Mobile Jar Emulator
Post by: 180min on February 07, 2009, 08:34:56 PM
When you think about it,the cell phone is used to do more than the average pmp,so they would require alot more cpu memory for things like internet,calling,and apps.Also found this in the wiki(almost all Nokia N-Series Smartphones at 100-330 MHz)in that case then it might be able to run j2me apps smoothly,and if you have low-end phones like the nokia 2610 being able to run j2me then surely the sansa can.(In most cases the Nokia sport would be mid to high end in the cellular market.)
Title: Re: Mobile Jar Emulator
Post by: josephcs on February 07, 2009, 11:10:18 PM
......and if you have low-end phones like the nokia 2610 being able to run j2me then surely the sansa can.(In most cases the Nokia sport would be mid to high end in the cellular market.)

Yeah, MIDP2 applications run on 1MB RAM phones.. All Gameloft games run on these 1MB 176x220 phones.. But what about the keys? Keys assignment? ???
Title: Re: Mobile Jar Emulator
Post by: mcuelenaere on February 08, 2009, 08:35:26 AM
Don't forget that the newer ARM revisions have hardware support for Java (== Jazelle), which Nokia makes use of (and which is completely undocumented)..

I wouldn't be surprised if they somehow hardware accelerate Java on these older ARM cores too..
Title: Re: Mobile Jar Emulator
Post by: Vchat20 on September 02, 2009, 08:22:26 PM
A little late in reply so apologies for reviving a dead thread.

But a lot of people here seem to be setting the benchmark a bit high with what equates to well equipped modern smartphones designed to handle the load of not only the phone part but the smartphone OS and multitasking different programs. When in reality a much larger swath of J2ME capable devices are really on par with or less in power than the current portalplayer targets when you throw in the offset of those devices having the 'phone' functionality pulling some cpu power at all times.

As safetydan posted in another thread: Almost all targets other than the Archos players should have little trouble supporting a J2ME 'plugin'.

The capability is there especially with the GPL'd open source 'phoneME' J2ME JVM. And then a lot of our targets are ARM based which makes at least the cpu translation easy.

The biggest thing, as always with rockbox, is having someone with the know-how and drive to do such a thing.