2008. 7. 7. 00:11

그림책 0.94a 가 나왔습니다. 이전 버전과 달라진 점은 한글을 정상적으로 출력한다는 것입니다. 그 외 파일탐색에서 X 버튼을 제거한것 하나 있습니다. 많은 버그가 있을거라 생각됩니다만... 사용해보신분은 버그 리포팅 부탁합니다. 한글은 FAT32에서만 지원 됩니다. 요즘은 FAT12나 FAT16은 찾아보기도 힘든 추세라서 과감히 제거해버렸습니다.

* 주요기능
- 한글이름 정상 출력 (FAT32만 지원)
- zip 으로 압축 된 그림보기
- 마지막 위치 기억. 재 실행시 저장된 위치부터 보여주기
- 파일 탐색기능
- 다음 페이지 프리캐싱 기능 (apb.ini 파일을 직접 편집하셔야 합니다.)
- 그림 이동 속도 조절 기능 (apb.ini 파일을 직접 편집하셔야 합니다.)
- 1페이지 앞뒤로, 10페이지 앞뒤로, 100페이지 앞뒤로 이동 가능

* 주의 사항
아시는 분은 아시겠지만 한글 파일이름의 출력은 정상적으로 합니다만 같은 길이의 한글 파일들이 여럿 있을 경우 각각 파일을 구분해내지는 못 합니다.

예를 들어 "홍길동.zip", "성춘향.zip" 두개의 파일 중에서 하나를 선택할 경우 실제로 어느 파일이 선택 될지는 알 수 없습니다. 중간에 스페이스를 붙이거나 뒤에 숫자를 붙여서 반드시 구분할 수 있는 영문 문자를 삽입해주어야만 합니다.

이것은 PSPSDK의 근본적인 문제로 단순 TXT 파일이라면 FAT을 통해서 직접 읽어 낼 수 있으나 Zip 파일의 경우 zlib 라는 라이브러리로 컨트롤 하게 되는데 이놈이 파일 이름을 파라메타로 받도록 되어있어 도저히 손 댈 수가 없습니다.

한글 파일이라도 숫자나 공백등을 넣어주어 구분할 수 있도록 하시기 바랍니다.

* 파일 선택화면에서 사용키
Up/Down : 위/아래로
O : 파일 선택
X(종료) 버튼은 제거하였습니다. Home 버튼을 이용하시기 바랍니다.

* 그림보기 화면에서 사용키
<- 또는 [] / -> 또는 O : 이전 / 다음 그림
Up/Down : 10개 이전/다음 그림
LT/RT : 100개 이전/다음 그림
X : 파일 선택으로 돌아가기
아나로그 패드 : 그림 이동

* done
- 한글 파일명 정상 출력 (FAT32만 지원)
- 2기가 이상 디스크 위치이동시 종료되는 버그 수정
- 파일 탐색시 X 버튼을 누르면 프로그램이 멈추는 버그 수정
- 그림책 사용중 슬립 모드로 들어갔다가 나와서 파일 탐색을 할 경우 종료되는 버그 수정

* to do
- 버튼 사용자 정의 (1순위)
- 그림보기에서 페이지 카운트 (ex 128/1024) (3순위)
- 그림보기에서 시계, 배터리 정보 (4순위)
- 그림을 보여주는 기능과 그림을 메모리로 로드하는 기능을 각 쓰레드로 분리 할 계획
    - 메모리스틱을 읽는 중 그림 이동이 되지 않는 불편함을 개선할 방침 (2순위)
-  mp3 플레이 지원 (솔직히 할까 말까 고민중 - IRshell로 멀티태스킹이 된다고 하던데...)


* 개발자는 실행에 대한 책임은 일체 없습니다. 신중히 판단하시고 사용하시길 바랍니다.
* 기본적으로 3.71에서 개발하고 테스트 하고 있습니다만 다른 버전도 가능하리라 봅니다.
* 소스와 바이너리가 같이 있습니다.
* 메모리스틱의 PSP/GAME/APB 디렉토리에서 실행해야합니다.
* 소스코드의 라이센스는 GPL을 따릅니다.

Posted by ryu2811
2008. 6. 18. 18:35
0.91a 와 기능상 별달리 달라진 것은 없습니다.
단지 한글파일명 때문에 문자셋 문제인가 하여 SDL_ttf 로 만들었던 것을
다시 bitmap 폰트로 원복하였을 뿐입니다. 루리웹 파란산타님 소스를 가져다가
제 스타일대로 손 좀 보고 사용하고 있습니다.

* sleep mode 에서 복귀후 다음 이미지로 넘어가지 못하던 버그 픽스
* 현재 디렉토리보다 파일 수가 적은 디렉토리로 이동할때 이전 디렉토리의 파일 내용이
화면에 남아 있는 버그 픽스
* ZIP 파일과 디렉토리 내부의 파일 리스트를 저장하는 메모리 릭 버그 픽스


* 실행에 대한 책임은 실행자 각자에게 있습니다.
* 소스코드의 라이센스는 GPL을 따릅니다.


* To do list
한글파일명 처리, 북마크, 시계, 배터리 정보, 환경설정 UI, 음... 더는 생각이 -_-;;

Posted by ryu2811
2008. 6. 17. 22:10

일단 한글 파일명에 대한 문제는 잠시 접어두었다. PSPSDK 자체의 버그니 다른 방법으로 차후 구현하기로 하고 자잘한 기능들을 추가하여 다시 릴리즈한다.

* 한권 다 보고 다음권 선택시 마지막 디렉토리 유지 추가
* 디버그용 코드를 삽입한 체로 올려놨었다. 디버그용 코드 제거.
* X 키에 대한 동작 변경
* 파일 선택 -> 그림보기 -> 파일 선택 시 디렉토리와 커서위치 유지
자잘한 기능들을 추가하다보니 점점 버그의 소지가 늘어만 가고 있다. ㅋㅋ

프로그램의 사용상 책임은 실행하시는 분 각자에게 있습니다.

그림 보기 중에 사용하는 키
Left : 이전 장으로
Right : 다음 장으로
아날로그패드 : 그림 이동
LTrigger : 10장 이전으로
RTrigger : 10장 다음으로
X : 프로그램 종료 --> 파일 선택으로 변겅

마지막 장에서 Right나 RTrigger를 누르면 파일 선택으로 감.

파일 선택 화면에서
O : 파일 선택
Up : 위로
Down : 아래로
Home : 종료
X : 프로그램 종료 --> 키 추가

아직 북마크 기능이 없다. 이것도 차후 구현해야겠다. 버튼의 기능을 사용자 정으로 하도록 차후 구현 예정...




- 덧 붙임 -
개발 과정에 따른 소스 코드를 공개하였습니다. 추석도 충실히 달아 놓았으니 공부하실분은 받아보셔도 좋을 듯 합니다. 소스코드 저작권은 GPL을 따릅니다.

- 다시 덧 붙임 -
트루타입 폰트 파일은 소스코드에서 제거하였습니다. 저작권 문제가 있을지도 몰라서 뺐습니다. 각자 구하셔서 파일이름을 font.ttf 로 바꾸고 사용하시면 됩니다. 500K 내외의 크기면 무난합니다. 인터넷에 떠도는 폰트중에 으뜸9 폰트가 괜찮습니다. 사이즈도 208K로 작고...

- 마지막 덧 붙임 -
혹시 이글을 보시는 PSP 개발 경험자 중에서 한글 파일 이름을 얻어오기 위해 FAT 에 접근하는 소스코드나 라이브러리 가지신 분은 공유 부탁드립니다.

Posted by ryu2811

이런저런 우여곡절 끝에 알파버전으로 기능은?? 잘 돌아가는거 같다. 물론 아직 많은 문제점이 있지만... 내 PSP에서는 그럭저럭 돌아가는군...
일단 파일 선택화면에서 한글 파일명 출력이 안된다. 음... TTF 폰트를 사용함에도 불구하고 아직 원인을 찾지 못하였다. 자잘한 기능이 없다. 예를 들자면 10페이지 건너뛰기 이런거? 북마크 기능 등등... 그리고 가장 중요한... 아이콘이 너무 허접하다. -_-;; 개발자가 직접 만들었으니까 당연하겠지만 ㅋㅋ 절대~ 이쁘지 않다. 뭐 아직은 알파버전이니까 ㅋㅋ

아래 해당 소스코드가 있다.


- 덧 붙임 -
설마 이 소스를 누가 가져갈려나~ 해서 씁니다. 제가 지금까지 올린 모든 소스파일에는 common include 가 빠져 있습니다. psp 함수를 일반 함수로 define 한거라던가 특정 키워드(예를 들어 TRUE, FALSE 같은...) 를 define 한거라던가 이런 것들인데요. 아주 간단한거니까 직접 define 하셔서 쓰셔도 무방합니다. 공용 파일이라 다른 디렉토리에 있어서 맨날 빼먹습니다. ㅋㅋ

- 다시 덧 붙임 -
초보자라던가 공부하시고 싶으신 분은 요청하시면 드리겠습니다. 제가 이 프로그램을 만들어 가면서 단계별로 모든 소스를 공개해왔으니 PSP 프로그래밍을 시도하는 분들이면 보시고 도움이 되길 바랍니다.
제가 올리는 모든 소스코드는 GPL을 따릅니다. 그리고 컴파일과 PSP에서의 실행에 대한 책임은 실행한 사람 각자에게 있습니다.
Posted by ryu2811

제목 그대로. 속도 조절은 ini 파일에서 설정한다. 총 다섯 단계로 SLOWEST / SLOW / MEDIUM / FAST / FASTEST 로 설정한다. 그 외에 화면보다 작은 이미지가 아나로그 패드에 의해 움직이는 버그를 찾아서 해결했다. 이미지가 4장이 들어가 있는 테스트용 zip 파일을 제거하고 인터넷에서 만화를 한권 다운 받아서 해보았다. 생각보다 깔끔하게 잘 돌아간다. 추가적으로 프리캐싱 기능을 구현했다. ini 파일안에 ON / OFF 로 설정하며 ON일 경우 현재 페이지의 다음 페이지를 미리 메모리로 로딩해 놓는다.

그런데 이미지가 작아서 그런가 프리캐싱을 한것과 안한것의 속도차를 별로 못 느끼겠다. ㅋㅋ

앞으로 파일 선택화면 UI구성등의 해결할 문제가 남아있다.

아래에 해당 소스파일이 있다.

Posted by ryu2811
음... 오늘 이미지의 뷰포트 이동까지 했다. ZIP 파일 선택 UI 붙이고 환경설정 파일 읽어들이는 기능까지 구현하면 1차 릴리즈 정도는 해도 될 것 같다. 아직 약간의 개선 해야 할 기능이 몇가지 있긴하다. 다음 페이지의 pre-cache 라던가... 북마크기능이라던가... zip 안에 파일 개수 제한(현재8192개) 라던가... 차차 개선해나가야지. 근데 개선할 수 있을까? ㅋㅋ 게을러서... ㅋㅋ

덧붙임 - 뷰포트라는 용어가 정확한 용어인지 모르겠다. 10여년전에 Turbo-C로 C 공부할때 그래픽모드에서 화면의 일부 영역을 뷰포트라고 칭했던 기억이 나서 쓴 용어... ㅋㅋ
Posted by ryu2811
오늘 갑자기 화~악 땡겨서 좀 진도가 많이 나갔다. 하는 김에 컨트롤러를 붙였다. 뭐 아직 완벽 구현은 아니지만... 기본적으로 zip 파일안에서 앞 뒤 이미지 이동과 프로그램 종료가 가능하다. 방향키 left, right 로 앞뒤 이동이 되고 L트리거와 R트리거 역시 앞뒤 이동이 된다. X 버튼은 종료로 처리하였다. 앞으로 PSP 화면보다 큰 그림의 출력시 View 이동과 프로그램 시작시 zip 파일을 선택하는 UI정도만 붙이면 그럭저럭 내놔도 될거 같다.

아래 소스코드가 있다.
Posted by ryu2811
점점 하나의 어플리케이션이 되어가는거 같다. 처음 시작할때 만들고 싶어했던 (하지만 목표는 아니었던...) 프로그램에 다가가고 있다. 그렇지만 문제는 UI와 컨트롤 부분이 전혀 없다는 것이다. ㅋㅋ

이번 프로그램은 이미지 파일들을 Zip로 압축하였을때 Zip 파일에서 하나씩 파일을 추출하여 PSP에 출력하는 프로그램이다. 앞 과정에서 단계별로 만들어진 프로그램을 합쳐놓은 것 뿐이다.

"test.zip" 라는 Zip 파일에는 4개의 jpg 파일이 들어있다. 이것을 차례대로 추출하여 2초씩 PSP 화면에 디스플레이 한다. 거창하게 만들어 나가겠답시고 각 기능별로 함수들을 분리하여 파일들이 쪼금 세분화 되어있다. ㅋㅋ

아래에 소스코드가 있다.

Posted by ryu2811
PSP를 사용하다가 불편함을 느껴서 이것저것 시도해 보았다.

첨에는 내가 홈브류를 하나 만들어 볼까 하면서 시작한건데 나이가 들면서
점점 더 게을러 지기만 하니 이도 힘들것 같고 그냥 각 기능별로 간단하게
공부해보는 셈 치고 구현해 보기로 했었다.

첨에 만든건 SDL을 이용해서 PSP에 그림파일을 뿌려보는 것이었다.
생각보다는 간단하게 구현 되었다. 그다음에 한것이 한글 관련된 것이었는데
게임 관련 사이트에 PSP용 한글 라이브러리가 공개 된게 있어서 살펴보다가
TTF 폰트를 사용하는 간단한 프로그램을 만들어 보았었다.

세번째가 이번인데 zip으로 압축된 파일에서 파일을 추출해 내는 프로그램이다.
관련된 라이브러리와 소스는 웹서핑을 하다보니 많이 풀려 있는 상태여서 이것
역시 쉽게 구현 되었다. unzip 관련 소스파일을 몇개 복사해와서 함수만 콜 하니
해결 되었다.

test.zip 라는 파일에는 111.txt 222.txt 333.txt 444.txt 4개의 파일이 묶여 있고
각각의 파일들을 추출해 내는 프로그램이다. unix 환경에서 실행 되며 PSP에서도
실행 된다. 단 PSP 에서 실행하려면 printf 같은 unix c 함수는 수정해주어야 한다.

위 프로그램의 소스코드이다.
Posted by ryu2811
이전버튼 1 이전버튼