라벨이 PSP인 게시물 표시

2005년 PSP용 음악플레이어

이미지
PSP용 음악 플레이어 예전에 한창 PSP에 빠져 살 때 2005년에서 2006년쯤 PSP용 프로그래밍을 공부하다가 PSP용 자작 프로그램을 만들었습니다. [NamulMP for PSP] 이때 사용하던 닉네임을 붙여 만든 PSP 뮤직홈브류입니다. ​2005/12/14 : 첫 번째 버전 ​단지 한글로 된 MP3 목록을 보고 싶다는 이유로 개발하게 된 NamulMP 당시 PSP 펌웨어 1.5에서는 한글 파일명으로 된 mp3를 넣으면 한글 표시가 깨져서 정상적으로 되지 않았거든요. 그래서 한글 목록을 표현하기 위해서 playlist.m3u 리스트를 만들고(PC에서 만들어서 저장함) 그 리스트를 가지고 화면에 표시하는 MP3 플레이어를 만들었습니다. 처음에 사용하게 된 PSP SDK에서 파일 리스트를 한글을 읽어 올 수가 없었어요! ​프로그램에서 MP3 플레이는 libmad 라이브러리를 이용해서 재생했습니다. NamulMP for PSP 1 2005/12/16 : 두 번째 버전 ​OGG 재생 추가 mp3 외에 OGG 파일도 많이 사용하더군요, 재생 중인 파일의 재생 시간 표시 기능 추가 OGG 파일을 재생하는 라이브러리는 libvorbis를 사용해서 OGG 음원 파일을 재생하였습니다. NamulMP for PSP 2 2006/01/19 : 세 번째 버전 디자인 변경, id3tag_v1 지원 OGG 파일 재생할 때 다운되는 버그 잡음 ​2006/11/10 : 네 번째 버전 이어폰에 달려있는 리모컨 지원, 날짜, 시간 배터리 표시 디스플레이 컬러 변경 재생 모드 (SELECT 버튼) : 재생, 반복 재생, 셔플 기능 추가 그리고 SDK에서 CPU 클럭은 111로 변경한 항목을 찾아서 적용하였습니다. NamulMP for PSP 3 2007/02/12 : DJ 님이 공개하신 한글 파일 리스트 소스를 적용하여 playlist.m3u 없이 한글 목록 출력 가능하게 개발 중이었으나. 계속 만들자니 기본 음악 플레이어에서도 한글 목록은 잘 나오게 되었습니다. PSP 펌웨어 2.0...

PSP Homebrew – 한글출력, 이미지처리, 키입력 소스

이미지
  PPSSPP 에서 실행한 스크린샷 예전에 PSP 개발환경 포스트를 작성한적 있습니다. 그래서 예전에 작업했던 파일을 찾아서 샘플(?) 하나 정리해서 올립니다. ​Homebrew 설명 한글출력하는 부분 갤러그 이미지 그림 표시하는 부분 방향키 처리하는 부분이 구현되어 있습니다. PSP 개발 정보 개발환경 : https://skshpapa80.blogspot.com/2013/03/psp-psptoolkit.html SDK 프로그래밍 :  https://skshpapa80.blogspot.com/2013/03/psp-sdk.html 소스컴파일 및 실행방법 개발환경을 다운받고 pspdev 폴더에 압축을 풀고 pspdev 폴더로 이동한후 StartCmd.bat 실행한 후 소스 폴더로 이동(CD CMD) 그리고 make 명령어를 실행하면 빌드 됩니다. make 가 성공하면 EBOOT.PBP 파일이 생기는데 PPSSPP -> memstick 폴더 -> PSP -> GAME -> 폴더를 하나 생성한 후 EBOOT.PBP 파일을 복사해 넣고 PPSSPP를 실행하면 홈브류 에서 보입니다. 소스 재빌드 하고 실행하는데 정말 편하네요 PPSSPP 가 짱인듯 예전에 테스트 할때 빌드한후 PSP에 옴겨서 실행해보고 안되면 다시 해보고 이걸 수도 없이 반복햇는데요!!! ​이제는 그럴필요 없는듯 ㅠ.ㅠ ​소스는 C로 작성되어 있습니다. ​airplane.h 파일이 이미지를 코드로 변환해 놓은 파일입니다. 소스링크 https://github.com/skshpapa80/psp_homebrew/tree/main/airplane

PSP 개발자료 – 키 입력 받는 소스

이미지
  키 입력 받는 소스 예전에 PSP 개발을 함참할때 만들었던 소스를 찾아서 포스팅합니다. 이걸 지금 사용하는 분들이 있을지 모르겠네요!!! pspinput.cpp 소스 ---- 소스코드 /////////////////////////////////////////////////////////////////////////////// //   PSP Input Lib  //   By 선경선향아빠 /////////////////////////////////////////////////////////////////////////////// #include <pspctrl.h>   static unsigned long psp_key_pressed = 0;       //list of buttons pressed in current loop  static unsigned long psp_key_pressed_old = 0;   //list of buttons pressed in previous loop  static unsigned long psp_key_down = 0;          //list of buttons with key-down event  static unsigned long psp_key_up = 0;            //list of buttons with key-up event    int SetKeyStatus()  {     unsigned long k;     SceCtrlData ctl;     sceCtrlReadBufferPositive(&ctl,1);   ...

PSP 홈브류에 리모콘 사용하기

이미지
PSP SDK 에서 “psphprm.h” 란 헤더 파일이 있습니다. 이 헤더 파일에는 PSP 리모콘 키에 대해 정의 되어 있는데요.. 간단히 사용법을 알아 보겠습니다.. 우선.. 프로그램 상단에 #include <psphprm.h> 이줄은 추가합니다. 그리고 키 이벤트 처리 하는곳에.. ---- 소스코드 u32 psp_remotes; sceHprmPeekCurrentKey(&psp_remotes); // 리모콘 처리 if (psp_remotes & PSP_HPRM_PLAYPAUSE) {   // 재생/일시정지 버튼 처리 } else if(psp_remotes & PSP_HPRM_BACK) {   // 백버튼 처리 } else if(psp_remotes & PSP_HPRM_FORWARD) {   // 포워드 버튼 처리 } else if(psp_remotes & PSP_HPRM_VOL_UP) {   // 볼륩 업 버튼 처리 } else if(psp_remotes & PSP_HPRM_VOL_DOWN) {   // 볼륨 다운 버튼 처리 } else if(psp_remotes & PSP_HPRM_HOLD) {   // 홀드 처리 } ---- 소스코드 끝   이런식으로 코딩해주시면 감사하겠습니다 ^^ 그리고 Makefile 에.. LIBS = -lpsphprm -lpsphprm_driver 추가해주셔야 컴파일이 완료 됩니다.

PSP SDK 프로그래밍

이미지
PSP 파워체크하기 ​PSP 파워 관련된 API 를 사용한 코드 #include <psppower.h> int scePowerIsBatteryExist(void); // 밧데리가 연결되어 있는지 체크 int scePowerIsPowerOnline(void); // 파워 케이블이 연결되어 있는지 체크 int scePowerIsBatteryCharging(void); // 충전중 체크 int scePowerIsLowBattery(void); // 로우 밧데리 체크 int scePowerGetBatteryLifePercent(void); // 밧데리 남음 값 퍼센트 PSP 슬립모드와 파워끄기 ​PSPSDK 보면 psppower.h 에 다음과 같은 함수가 정의되어 있습니다. int scePowerRequestStandby(void); //이함수가 PSP 의 파워를 끄는 함수이고.. int scePowerRequestSuspend(void); //이함수가 PSP를 슬립모드로 들어가게 합니다. 둘다 성공하면 0을 반환합니다. PSP CPU/RAM/BUS 클럭지정하기 psppower.h 함수에 보면 int scePowerSetClockFrequency ( int cpufreq, int ramfreq, int busfreq ) 라는 함수가 있습니다. PSP 의 CPU 클럭과 RAM 클럭 BUS 클럭을 지정하는 함수 입니다. 범위는 아래와 같습니다. ​cpufreq – cpu frequency, valid from 1-333 ramfreq – ram frequency, valid from 1-333 busfreq – bus frequency, valid from 1-166 홈브류 제작시 빠른 처리를 원하면 scePowerSetClockFrequency (333,333,166) 등으로 CPU 클럭을 높여 빠른 처리결과를 얻어 낼수 있습니다. PSP 현제 시간/날짜 표시 하기 #include <psprtc.h> 이 헤더파일을 추가해야 구현할...

PSP 개발환경 – PSPToolKit

이미지
  윈도우즈 PSP 개발환경 – PSPToolKit 제가 예전에 PSP 를 가지고 즐겁게 게임생활을 하다가 다른사람이 만들어 놓은 Homebrew를 보고 PSP 개발을 하고 싶어서 PSP 개발에 도전했습니다.​ 처음 윈도우즈 환경에서 PSP 홈브류 개발할때 cygwin 에서 psptoolchain 을 컴파일해서 사용했었는데 프리컴파일된 PSP 개발툴이 있네요. 여기저기 보다가 찾았습니다.​ psptoolchain 컴파일하는 시간 장난아니게 길어서 PSP 개발이 힘들어지곤 했는데 이제 편하게 개발할수 있겠네요. 많이 사용하는 라이브러리도(SDL,freetype 등) 모두 포함되어 있으니 설치한 후 바로 코딩만 하면 되겠습니다. ​psptoolkit의 특징 윈도우 커맨드라인에서 바로 실행 가능 일반적으로 사용되는 IDE들을 쉽게 이식 가능 (code::blocks, netbeans, eclipse, Visual Studio, etc.) mSys, Cygwin 이 없이 사용 가능함 라이브러리의 최신 버전을 사용하므로 속도가 빠름​ 사용법 설치디렉토리의 StartCmd.bat 를 실행하면 설치경로의 PATH 가 추가되면서 커맨드 창이 뜨는데 여기서 소스 디렉토리로 이동 후 MAKE 하시면 되겠습니다. ^^​ 다운로드 psptoolkit 홈페이지 http://code.google.com/p/psptoolkit/ ​Precompiled PSP Toochain with latest updates and libraries 위페이지에 접속하신후 download 에서 PSPToolKit StarterPack Version 1.0 받으시면 됩니다.