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
 
 
|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.
  
 
==Compatibility list==
 
==Compatibility list==
 
* [[PSPKVM Compatibility List]]
 
* [[PSPKVM Compatibility List]]
  
==Controls==
+
==Games Sites==
{| 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==
 
{| cellpadding="4"
 
|-
 
|align=center|{{Icon|PSP}}
 
|'''[https://sourceforge.net/projects/pspkvm/files/pspkvm/v0.5.5/Release Final Releases]'''
 
|}
 
 
 
==Games sites==
 
 
* [http://dedomil.net/games/ Dedomil.Net]
 
* [http://dedomil.net/games/ Dedomil.Net]
 
* [https://phoneky.com/android-games/?q=Java+games PHONEKY]
 
* [https://phoneky.com/android-games/?q=Java+games PHONEKY]
Line 157: Line 40:
  
 
==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
* JPEG support
+
interrupting
* MIDI & Wave audio playback support
+
- JPEG support
* Device emulation. You can choose a device type to emulate for different screen sizes and key codes,  
+
- MIDI & Wave audio playback support
either at MIDlet installation time or from the "Select device" menu
+
- Device emulation. You can choose a device type to emulate for different
* Custom key assignment per application
+
screen sizes and key codes, either at MIDlet installation time or from the
* JSR75(File Connection)
+
"Select device" menu
* Virtual Keyboard Input
+
- Custom key assignment per application
* Chinese Input (Pinyin, Stroke)
+
- JSR75(File Connection)
* JSR179 (GPS)
+
- Virtual Keyboard Input
* FreeType2 font support
+
- Chinese Input(Pinyin, Stroke)
* JSR 226 (SVG)
+
- JSR179(GPS)
* JSR 172 (Web Service)
+
- FreeType2 font support
* MP3 playback
+
- JSR 226(SVG)
* Ability to install jar/jad files from Memory stick/via Wifi
+
- JSR 172(Web Service)
* Internet Connection for J2ME apps
+
- MP3 playback
* Various keyboard options even internal OSK
+
 
* Ability to use various profiles in order to get the best experience on your device
+
--------------------------------
* Easy to use application launcher
+
TODO
* Compatible with a whole variety of J2ME applications
+
--------------------------------
 +
- Graphic optimization (High)
 +
- JSR184 (Low)
 +
- MIPS JIT compiler and Interpreter generator (Low)
 +
 
 +
--------------------------------
 +
Bugs and known issues
 +
--------------------------------
 +
Known issues:
 +
 
 +
- 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
 +
 
 +
- 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.
  
===TODO===
+
- LocationProvider.getState() will always return AVAILABLE once the GPS
* Graphic optimization (High)
+
is initialized, so LocationListener.providerStateChanged() doesn't work
* JSR184 (Low)
+
as expected.
* MIPS JIT compiler and Interpreter generator (Low)
 
  
===Known issues===
+
==Download==
* Not running on 5.02 Gen-A firmware
+
{| cellpadding="4"
* 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.
+
|align=center|{{Icon|PSP}}
* Fileconnection rmdir operation may fail for unknown reasons.
+
|'''[https://sourceforge.net/projects/pspkvm/files/pspkvm/v0.5.5/Release/ Final Releases]'''
* 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)