Work/PSP

PSP에서 J2ME Application을 실행하자!

kevin. 2008. 10. 16. 11:05
1년전에 J2ME 회사에서 일할 때, PSP에 KVM을 포팅하고자 시도하려고 했던 적이 있었습니다.
시작하려고 보니 정말 해줄것이 하나 두개가 아니더군요..
덕분에 키보드에 손도 못올려보고 포기했었는데...
어제 Sun Developer Day 2008-2009에서 J2ME 섹션에서 아래 사이트를 소개해주시면서 PSP로 데모를 보여주시더군요..
눈이 번쩍띄었습니다.
당분간 심심하지 않을 놀이거리가 생겼어요.. ^^
영어가 그리 어렵지 않아 모두들 걍 보실 수 있으시겠지만 한번 써봅니다.
더 좋은 정보 알고 계신분 feedback 부탁드릴께요~


원문 : http://www.pspkvm.com/

주의 : 이 글은 제 마음대로 직역, 오역, 의역이 적절히 섞여있습니다 ^^;;
         제가 덧붙인 글은 덧) 이라고 썼습니다.  (만.. 번역한거나 덧붙인거나 사실 제 맘대로 쓴건 똑같습니다.)


PSP에서 J2ME 어플리케이션을 구동하기 위한 KVM을 소개합니다.

메인 페이지는 아래와 같습니다.
  http://www.pspkvm.org (둘중 아무거나 선택해서 들어오세요)


설치법은 "PSPKVM" 폴더를 가지고 계신 PSP 메모리 스틱내의 /PSP/GAME 폴더나 /PSP/GAME150 폴더에 복사하시면 됩니다.
(전 GAME150에 넣었습니다.)

덧) 다운로드 사이트 URL은 http://sourceforge.net/projects/pspkvm/ 입니다.
상단의 Download를 누르시고 package명이 pspkvm인 것의 오른쪽 끝에 보면 Download가 또 있습니다.
이걸 누르시면 다섯개가 쭉 뜹니다.
자신의 PSP 커널에 맞게 1.5 커널이면 150 이라고 써진것을 받으시고요..
3.xx 버전이시면 oe라고 써진것을 받으시면 됩니다.
그리구 allinone은 처음 설치하시는 분 꺼고, upgrade는 기존 사용자 분것입니다.
속편하게 1.5 커널이신분은 pspkvm-bin-0.4.2-150-allinone.zip 를 받으시고요..
3.xx 커널이신 분은 pspkvm-bin-0.4.2-oe-allinone.zip를 받으세요.
(http://www.pspkvm.org/Download.html 이곳에서도 되는군요..)


사용법은 아래와 같습니다.

1) AMS에서 제일 위에 있는 "Find Application"을 선택한다.
    덧) AMS : Application Management Software 의 약자로 J2ME에서 구동되는 어플리케이션을 설치, 제거, 관리하는 Software를 의미한다.
2) "Install from memory stick (ms0:/)"를 선택한다.
3) 메모리 스틱내에 실행시킬 jar 파일이나 jad 파일을 선택합니다.
    덧) J2ME에서 구동되는 어플리케이션은 jar 파일과 jad 파일로 구성됩니다. jar 파일(Java Archiv)은 컴파일된 소스들의 모임이고 jad 파일(Java Application Descriptor)은 해당 어플리케이션의 정보를 담고 있습니다. J2ME에서는 이러한 어플리케이션을 Midlet이라 쓰고 미들릿 이라 읽습니다.
4) jar나 jad 선택 후에 자동으로 해당 어플리케이션이 설치되고 구동됩니다. 다음부터는 AMS 첫 화면에서 지금 설치한 어플리케이션을 바로 실행할 수 있습니다.

덧) 즉, 어플리케이션 설치를 위해서 jar나 jad를 선택하면 알아서 설치된다.
그리고 설치된 어플리케이션은 AMS 첫 화면에 나오니까 실행하고 싶은 것을 선택하면 실행된다는 말씀.

더 자세한 정보를 얻고 싶으면 여기(Getting Started Guide)를 선택하세요


기본 키 매핑은 다음과 같습니다.
NUM0  :    Cross
NUM1  :    Square
NUM2  :    UP
NUM3  :    Triangle
NUM4  :    LEFT
NUM5  :    Shift+Circle
NUM6  :    RIGHT
NUM7  :    Shift+Square
NUM8  :    DOWN
NUM9  :    Shift+Triangle
*   :       Shift+SELECT
#   :       Shift+START
CLEAR  :   Shift+Cross
SELECT  :   Circle
Left Soft :   SELECT
Right Soft :   START
UP/DOWN/LEFT/RIGHT:  Analog joy stick
("Shift"라고 쓴것은 Left Trigger 나 Right Trigger를 누른 상태를 의미)
Left Trigger + Right Trigger + Triangle: 멀티 테스킹 키 (실행중인 미들릿을 백그라운드로 보내고 AMS로 돌아갑니다.)
Left Trigger + Right Trigger + Cross:    현재 실행중인 미들릿에서 빠져나갑니다.

Features: - 여긴 어려운 내용이 없으니 별 내용없는건 건너 뛰어요~
    MIDP 2.0
    Nokia UI APIs (partial)
    WMA1.1(JSR120) stub - 덧) 미디어 관련 API로 여러 어플들이 이 API를 사용하기 때문에 일단 껍데기만 구현한듯 싶네요
    Networking (By PSP's WIFI)
    Java AMS with MVM supporting - 덧) Multiple VM입니다. 컴퓨터처럼 한번에 여러 어플을 실행할 수 있다는 것이죠
    Several input methods: QWERTY/Abc/Symbol/... - 여러 입력 방법을 제공한답니다
    Directly browse and run from local jad/jar file, and auto-install without interrupting
    - 메모리 스틱의 jar, jad를 선택하면 한큐에 설치해준다는 말이네요
    Jpeg support
    MIDI & Wave audio playback support
    Device emulation. You can choose device type to emulate for different screen sizes and key codes, either at installation time or from "Select device" menu
    - 사용자가 화면 사이즈와 키 코드 등을 프로그램을 설치할 때나 "Select device" 메뉴를 통해 선택할 수 있다.
    Change default key assignment for specific application.
    - 특정 어플을 위해 키 매핑을 바꿀 수 있다.
    JSR75(File Connection) - 덧) 파일을 읽고 쓰기 위한 API 입니다.
    Virtual Keyboard Input
    Chinese Input - 덧) Korean Input이면 얼마나 좋을까요..,
    JSR179(Location API) - 덧) Location이 들어간다면 map도 가능하겠네요..
    Freetype2 font rendering - 덧) 예쁜 폰트를 그릴 수 있겠는데요~


모바일 자바쪽으로 유명한 게임회사인 gameloft에서 출시한 게임과의 compatible list도 나와있군요..

일단 읽어보고 할만한게 있으면 Getting Start도 한번 해볼까 합니다.