PDA

View Full Version : Pstros NDS 2008.06.24: version 0.7.1 - R5 build



wraggster
June 28th, 2008, 01:15
Pstros NDS (http://www.volny.cz/molej/pstrosnds/) is a MIDP implementation running on the CLDC java machine compiled for the Nintendo DS. It allows you to run some java programs and games written for the mobile phones on your NDS.
To achieve this goal one needs a java machine for processing the bytecode and a program library that implements the MIDP api. In this case the Sun's KVM java machine was used (thanks to Torlus and davr for porting it for the NDS and providing the source) and an altered version of the Pstros was used as the MIDP library. Both parts were built into the single binary to simplify the execution of the java code on the NDS.


How to run...

The program is a homebrewed application so you have to have one of the cards that allows you to run a custom software on the NDS. Just copy the content of the archive to the card and run the kvm.nds file (dont forget to patch the program if your card requires it). Then select a .class or .jad file and run it by pressing the (A) button. Hopefully the java program will run.

Key mapping:

Left Soft key - left pad
Right Soft key - right pad
Cursor keys - d-pad
Fire - (B) button
key [1] - (Y) button
key [3] - (A) button
key [0] - (X) button
key [#] - (Start) button
key - (Select) button

Technical stuff

The MIDP screen size is set to 176x192 resolution to get the best compatibility and visual output. I've tried the HW scaled resolution of 176x208 but it was visually inacceptable (the NDS roto scaller simply discards some lines instead of making the pixel interpolation).

The heap memory of the JVM is set to 2 Mbytes to leave a reserve for the library growth (libraries are bundled in the kvm binary) and for the needs of the native methods (and for the memory leeks I made :-) and jar loader.

Key codes are set to the standard of Nokia and SonyEricsson phones.

The overall speed of the JVM is rather slow, although still usable. According the JBenchmark2 test it ranges around the speed of the Nokia 6600 phone (some operations are slightly slower some of them are faster). It might be interesting to compare the performance with the PhoneMe JVM as it should be technically more advanced than the KVM.

Note that class files must be preverified before it can be run on the KVM. Use the preverifier supplied by the J2ME WTK.


Latest version 0.7.1

2008.06.24: version 0.7.1 - R5 build

- added HttpConnection class to satisfy dependencies of some applications
- implemented drawing of the ellipses (note: draw/fillArc is not fully functional yet)

Download and Give Feedback Via Comments

Mini Moose
June 28th, 2008, 17:39
Awwwww!!!! I don't want to dump all of these files into to root of my card!!

Why do devs always do this!?

nyuk1998
June 30th, 2008, 04:14
I havent got any games to work on this. What games work the best?

Looking to get Spongebob Bowling to work.

crookedmouth
June 30th, 2008, 05:04
Wow, this is really impressive. I'm really looking forward to testing this out.

DanTheManMS
July 2nd, 2008, 06:24
Awwwww!!!! I don't want to dump all of these files into to root of my card!!

Why do devs always do this!?

Most (if not all) of the *.class files are sample applications and can safely be ignored. Just don't copy them to your card.

crookedmouth
July 2nd, 2008, 17:50
Wow, I've been playing Assassin's Creed and it works very well. Not a bad game either. All this needs is saves, sound and a touch screen keypad or a way to bind your own key configuration and this application should be one of the best.
I'm surprised more people aren't talking about it except to complain about it's folder set-up. Really quite great.
A tip if you don't know is find .jar files and use jadmaker to make a .jad file then place both files on your card.

freeware jadmaker
http://www.softpedia.com/get/Internet/Telephony-SMS-GSM/JADMaker.shtml

nyuk1998
July 5th, 2008, 01:01
Figured it out. Been playing Spongebob Minigolf and Zoo Minigolf. I just had to put both the .jar AND .jad files on the root of the card. Thanx for another damn fine emulator.

DSmanic!
July 5th, 2008, 22:35
Could someone please tell me which folders to put in?

Epic Pie
July 6th, 2008, 07:43
What do I do if my game doesn't load or something and it asks me to select class type. What do I put in?

crookedmouth
July 6th, 2008, 20:05
What do I do if my game doesn't load or something and it asks me to select class type. What do I put in?

I haven't seen a game with .class extension , only .jar files which need a .jad file to load on a phone. Some games just don't seem to work, but usually these types just kick you back to the menu.

Epic Pie
July 7th, 2008, 00:55
^ I was trying to play Line Rider >_<
http://line-rider-mobile.x-themes.com/game/81/

nyuk1998
July 7th, 2008, 17:18
I haven't seen a game with .class extension , only .jar files which need a .jad file to load on a phone. Some games just don't seem to work, but usually these types just kick you back to the menu.


Most of the Nokia 60 series games that I've tried work. Just run the .jar file through Jadmaker and copy both .jad and .jar file to your card. I put mine on the root just to be safe.