Editing PSPKVM

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
__NOTOC__
+
{{stub}}
{{WIP}}
 
 
{{Infobox emulator
 
{{Infobox emulator
 
|logo = PSPKVM1.PNG
 
|logo = PSPKVM1.PNG
|logowidth = 170
+
|logowidth = 170px
 
|version = 0.5.5 Final Edition
 
|version = 0.5.5 Final Edition
 
|active = No
 
|active = No
 
|platform = [[Emulators on PSP|PlayStation Portable]]
 
|platform = [[Emulators on PSP|PlayStation Portable]]
|target = [[Cellphone_emulators#Java 2 Micro Edition (J2ME)|J2ME]]
+
|target = [[Cellphone_emulators#J2ME (Java 2 Micro Edition)|Java 2 Micro Edition]]
 
|developer = Sleepper, M@x, Anweifeng, AJ Milne
 
|developer = Sleepper, M@x, Anweifeng, AJ Milne
|website = [https://sourceforge.net/projects/pspkvm/files/pspkvm SourceForge]
+
|website = [https://sourceforge.net/projects/pspkvm/files/pspkvm/v0.5.5/Release SourceForge]
 
|license = GNU GPLv2
 
|license = GNU GPLv2
 
}}
 
}}
  
'''PSPKVM''' is an open-source [[Cellphone_emulators#Java 2 Micro Edition (J2ME)|J2ME]] emulator for PlayStation Portable.
+
'''PSPKVM''' is a free and open-Source [[Cellphone_emulators#J2ME (Java 2 Micro Edition)|Java 2 Micro Edition]] Emulator for [[PlayStation Portable emulators|PlayStation Portable]].
  
 
==Overview==
 
==Overview==
PSPKVM is in a project to enable JavaME applications such as mobile games, to run on PSP. Originally developed by sleeper, the project was merged with pspMe on February 12 2008. The two developers decided to continue by keeping the better advantage from both projects. On March 31, before April Fools, they updated the KVM to version 0.3.0 slightly increasing the interface and playable applications. PSPKVM is a PSP port of Sun's open-source JavaME implementation phoneMEFeature. The objective of the phoneME project is to further expand the usage of Java Platform, Micro Edition (JavaME) technology in the mobile handset market. The project scope includes a focus on the mainstream feature phone segment with phoneME Feature software, and the emerging advanced phone segment with phoneME Advanced software.
+
PSPKVM is in a project to enable MIDP/JavaME applications such as mobile games, to run on PSP. Originally developed by sleeper, the project was merged with <b>pspMe</b> on February 12 2008.The two developers decided to continue by keeping the better advantage from both projects. On March 31, before April Fools, they updated the KVM to version 0.3.0 slightly increasing the interface and playable applications. PSPKVM is a PSP port of Sun's open-source JavaME implementation phoneMEFeature.
 +
The objective of the phoneME project is to further expand the usage of Java
 +
Platform, Micro Edition (Java ME platform) technology in the mobile handset
 +
market. The project scope includes a focus on the mainstream feature phone
 +
segment with phoneME Feature software, and the emerging advanced phone
 +
segment with phoneME Advanced software. Our goal in making these technologies
 +
available to the Mobile & Embedded Community is to reduce implementation
 +
variation, increase the rate of innovation and enable new devices to leverage
 +
the power of the Java ME platform.
 +
PSPKVM is a homebrew that allows the user to run J2ME code on their PSP or if you prefer, the .jar applications that a good number of us used to (still?) run on their older feature phones. These applications were mostly games, simple utitilies or browsers. PSPKVM allowed almost all J2ME applications to run and even chunkier J2ME apps such as Opera work on it. Development stopped quite a few years ago but that doesn’t really matter as PSPKVM is quite stable and useful.
  
 
==Compatibility list==
 
==Compatibility list==
 
* [[PSPKVM Compatibility List]]
 
* [[PSPKVM Compatibility List]]
  
==Controls==
 
{| class="wikitable mw-sortable"
 
|-
 
|<b>PSP</b>
 
|<b>J2ME</b>
 
|-
 
| ↑,↓, ← , →
 
|<code>Analog Joystick</code>
 
|-
 
|R + X
 
|<code>CLEAR</code>
 
|-
 
|〇
 
|<code>SELECT</code>
 
|-
 
|□
 
|<code>NUM1</code>
 
|-
 
|↑
 
|<code>NUM2</code>
 
|-
 
|△
 
|<code>NUM3</code>
 
|-
 
|←
 
|<code>NUM4</code>
 
|-
 
|L + 〇
 
|<code>NUM5</code>
 
|-
 
|→
 
|<code>NUM6</code>
 
|-
 
|L + □
 
|<code>NUM7</code>
 
|-
 
|↓
 
|<code>NUM8</code>
 
|-
 
|L + △
 
|<code>NUM9</code>
 
|-
 
|X
 
|<code>NUM0</code>
 
|-
 
|L + SELECT
 
|<code>*</code>
 
|-
 
|R + START
 
|<code>#</code>
 
|-
 
|SELECT
 
|<code>Left menu key at the bottom of the screen (Left Soft)</code>
 
|-
 
|START
 
|<code>Right menu key at the bottom of the screen (Right Soft)</code>
 
|-
 
|L + R + △
 
|<code>Minimize the application / Run the current program/game in the background</code>
 
|-
 
|L + R + X
 
|<code>Exist the application / Red-key (terminate the current game)</code>
 
|-
 
|L + R + □
 
|<code>Connection Status</code>
 
|-
 
|L / R
 
|<code>Doesn't matter, they are interchangeable.</code>
 
|}
 
 
 
==Supported devices==
 
{| class="wikitable mw-sortable"
 
|-
 
|<b>Devices</b>
 
|<b>Resolution</b>
 
|-
 
| Nokia
 
|240x320 / 320x240 / 352x416 /  480x272 / S30 (96x65) / S40 (128x128) / 6101 (128x160) / S60 (176x208) / 8801 (208x208) / N73 (240x320) / 320x240 (CW90) / 352x416 (CW90) 480x272 (CW90)
 
|-
 
| Motorola
 
|240x320 / 320x240 / 352x416 / 480x272 / C650 (128x116) / Triplets (176x204) / E398 (176x204) / V600 (176x204) / E1000 (240x320) / 320x240 (CW90) / 352x416 (CW90) / 480x272 (CW90)
 
|-
 
| Sony Ericsson
 
|240x320 / 320x240 / 352x416 / 480x272 / K300 (128x128) / K500 (128x160) / K700 (176x240) / K800 (240x320) / 320x240 (CW90) / 352x416 (CW90) / 480x272 (CW90)
 
|-
 
| Samsung
 
|E700 (128x143) / A620 (128x146) / E360 (128x160) / D500 (176x220) / D600 (240x320)
 
|-
 
| Siemens
 
|C65 (130x130) / CX65 (132x176)
 
|-
 
| Sagem
 
|myV55 (128x142) / my600 (176x196)
 
|-
 
| Sanyo
 
|8100 (120x112) / 2300 (128x96) / 5400 (132x144) / 7400 (176x220)
 
|-
 
| Sharp
 
|GX10 (120x130) / GX15 (120x147) / 705 (240x294) / 905 (400x240)
 
|-
 
| LG
 
|C2000 (128x160) / CU400 (176x220) / VX8100 (176x203)
 
|-
 
| Audiovox
 
|CDM-8450 (128x96) / CDM-8615 (128x132) / CDM-8900 (128x132) / CDM-8910 (128x145)
 
|-
 
| Kyocera
 
|K10 (104x68) / K24 (128x148) / KX21 (160x116) / KX5 (176x204)
 
|-
 
| HTC
 
|Star Trek (240x266)
 
|-
 
| XBOX Demo
 
| —
 
|}
 
  
 
==Download==
 
==Download==
Line 142: Line 34:
 
|-
 
|-
 
|align=center|{{Icon|PSP}}
 
|align=center|{{Icon|PSP}}
|'''[https://sourceforge.net/projects/pspkvm/files/pspkvm/v0.5.5/Release Final Releases]'''
+
|'''[https://sourceforge.net/projects/pspkvm/files/pspkvm/v0.5.5/Release/ Final Releases]'''
 
|}
 
|}
  
Line 157: Line 49:
  
 
==Features==
 
==Features==
 +
 
* Nokia UI APIs (partial)
 
* Nokia UI APIs (partial)
 +
 
* WMA1.1 (JSR120) stub
 
* WMA1.1 (JSR120) stub
 +
 
* Networking (via the PSP's WiFi connection)
 
* Networking (via the PSP's WiFi connection)
 +
 
* Java AMS with MVM support
 
* Java AMS with MVM support
 +
 
* Several input methods : QWERTY/Abc/Symbol/...
 
* Several input methods : QWERTY/Abc/Symbol/...
 +
 
* Directly browse and run from local jad/jar file, and auto-install without interrupting
 
* Directly browse and run from local jad/jar file, and auto-install without interrupting
 +
 
* JPEG support
 
* JPEG support
 +
 
* MIDI & Wave audio playback support
 
* MIDI & Wave audio playback support
* Device emulation. You can choose a device type to emulate for different screen sizes and key codes,  
+
 
either at MIDlet installation time or from the "Select device" menu
+
* Device emulation. You can choose a device type to emulate for different screen sizes and key codes, either at MIDlet installation time or from
 +
the "Select device" menu
 +
 
 
* Custom key assignment per application
 
* Custom key assignment per application
 +
 
* JSR75(File Connection)
 
* JSR75(File Connection)
 +
 
* Virtual Keyboard Input
 
* Virtual Keyboard Input
 +
 
* Chinese Input (Pinyin, Stroke)
 
* Chinese Input (Pinyin, Stroke)
 +
 
* JSR179 (GPS)
 
* JSR179 (GPS)
 +
 
* FreeType2 font support
 
* FreeType2 font support
 +
 
* JSR 226 (SVG)
 
* JSR 226 (SVG)
 +
 
* JSR 172 (Web Service)
 
* JSR 172 (Web Service)
 +
 
* MP3 playback
 
* MP3 playback
 +
 
* Ability to install jar/jad files from Memory stick/via Wifi
 
* Ability to install jar/jad files from Memory stick/via Wifi
 +
 
* Internet Connection for J2ME apps
 
* Internet Connection for J2ME apps
 +
 
* Various keyboard options even internal OSK
 
* Various keyboard options even internal OSK
 +
 
* Ability to use various profiles in order to get the best experience on your device
 
* Ability to use various profiles in order to get the best experience on your device
 +
 
* Easy to use application launcher
 
* Easy to use application launcher
 +
 
* Compatible with a whole variety of J2ME applications
 
* Compatible with a whole variety of J2ME applications
  
 
===TODO===
 
===TODO===
 +
 
* Graphic optimization (High)
 
* Graphic optimization (High)
 +
 
* JSR184 (Low)
 
* JSR184 (Low)
 +
 
* MIPS JIT compiler and Interpreter generator (Low)
 
* MIPS JIT compiler and Interpreter generator (Low)
  
===Known issues===
+
===Bugs and known issues===
 +
 
 +
Known issues:
 +
 
 
* Not running on 5.02 Gen-A firmware
 
* Not running on 5.02 Gen-A firmware
 +
 
* javacall_file_truncate isn't ported, so some file truncating operations, including some RMS operations, may not work as expected
 
* javacall_file_truncate isn't ported, so some file truncating operations, including some RMS operations, may not work as expected
* Multimedia temporary files may be left on your memory stick occasionally, especially after a VM crash. They're usually not big, but if you want to delete them manually, go to your PSP's /PSP/GAME/pspkvm/ directory, find the files whose names look like xxxxxxxx_tmp_mus.mid, and delete them.
+
 
 +
* Multimedia temporary files may be left on your memory stick occasionally,
 +
especially after a VM crash. They're usually not big, but if you want to delete them manually, go to your PSP's /PSP/GAME/pspkvm/ directory, find
 +
the files whose names look like xxxxxxxx_tmp_mus.mid, and delete them.
 +
 
 
* Fileconnection rmdir operation may fail for unknown reasons.
 
* Fileconnection rmdir operation may fail for unknown reasons.
 +
 
* LocationProvider.getState() will always return AVAILABLE once the GPS is initialized, so LocationListener.providerStateChanged() doesn't work as expected.
 
* LocationProvider.getState() will always return AVAILABLE once the GPS is initialized, so LocationListener.providerStateChanged() doesn't work as expected.
  
 
[[Category:Emulators]]
 
[[Category:Emulators]]
[[Category:Mobile emulators]]
+
[[Category:Mobiles emulators]]
 
[[Category:Cellphone emulators]]
 
[[Category:Cellphone emulators]]
 
[[Category:PlayStation Portable emulation software]]
 
[[Category:PlayStation Portable emulation software]]
[[Category:Inactive emulation software]]
 

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)