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
피곤하다~ 간단한거 같았는데 잘 안되네... 한글 파일이 단순히 출력의 문제라고 생각했었는데 그게 아니었다.

SceUID dirfd;
SceIoDirent entry;

    // open directory
    dirfd = sceIoDopen (dirinfo -> pathname);
    if (dirfd < 0)
    {
        pprintf ("sceIoOpen () failed. [%s]\n", dirinfo -> pathname);
        return (FAILURE);
    }

    // read file entry
    memset (&entry, 0x00, sizeof (entry));
    ret = sceIoDread (dirfd, &entry);
    // no more file exist
    if (ret == 0)
    {
        break;
    }
    // error occur
    if (ret < 0)
    {
        pprintf ("sceIoDread () failed. [%s]\n", dirinfo -> pathname);
        return (FAILURE);
    }

로 이루어진 콤보가 ㅋㅋ 오동작? 을 한다는 것이다. 왜 그런지 모르겠다.

sceIoDread 한 후 entry 에서 파일 이름 부분인 d_name 을 보면 한글 부분은 모두 0x81A1이 들어간다는 것이다. 디렉토리내의 엔트리를 잘못 얻어온다는 얘기인데...
Posted by ryu2811
2008. 6. 17. 14:52

0

00

Ctrl-@ NUL

 

64

40

@

1

01

Ctrl-A SOH

65

41

A

2

02

Ctrl-B STX

66

42

B

3

03

Ctrl-C ETX

67

43

C

4

04

Ctrl-D EOT

68

44

D

5

05

Ctrl-E ENQ

69

45

E

6

06

Ctrl-F ACK

70

46

F

7

07

Ctrl-G BEL

71

47

G

8

08

Ctrl-H BS

72

48

H

9

09

Ctrl-I HT

73

49

I

10

0A

Ctrl-J LF

74

4A

J

11

0B

Ctrl-K VT

75

4B

K

12

0C

Ctrl-L FF

76

4C

L

13

0D

Ctrl-M CR

77

4D

M

14

0E

Ctrl-N SO

78

4E

N

15

0F

Ctrl-O SI

79

4F

O

16

10

Ctrl-P DLE

80

50

P

17

11

Ctrl-Q DCI

81

51

Q

18

12

Ctrl-R DC2

82

52

R

19

13

Ctrl-S DC3

83

53

S

20

14

Ctrl-T DC4

84

54

T

21

15

Ctrl-U NAK

85

55

U

22

16

Ctrl-V SYN

86

56

V

23

17

Ctrl-W ETB

87

57

W

24

18

Ctrl-X CAN

88

58

X

25

19

Ctrl-Y EM

89

59

Y

26

1A

Ctrl-Z SUB

90

5A

Z

27

1B

Ctrl-[ ESC

91

5B

[

28

1C

Ctrl-\ FS

92

5C

\

29

1D

Ctrl-] GS

93

5D

]

30

1E

Ctrl-^ RS

94

5E

^

31

1F

Ctrl_ US

95

5F

_

32

20

Space

96

60

`

33

21

!

97

61

a

34

22

"

98

62

b

35

23

#

99

63

c

36

24

$

100

64

d

37

25

%

101

65

e

38

26

&

102

66

f

39

27

'

103

67

g

40

28

(

104

68

h

41

29

)

105

69

i

42

2A

*

106

6A

j

43

2B

+

107

6B

k

44

2C

,

108

6C

l

45

2D

-

109

6D

m

46

2E

.

110

6E

n

47

2F

/

111

6F

o

48

30

0

112

70

p

49

31

1

113

71

q

50

32

2

114

72

r

51

33

3

115

73

s

52

34

4

116

74

t

53

35

5

117

75

u

54

36

6

118

76

v

55

37

7

119

77

w

56

38

8

120

78

x

57

39

9

121

79

y

58

3A

:

122

7A

z

59

3B

;

123

7B

{

60

3C

< 

124

7C

|

61

3D

=

125

7D

}

62

3E

> 

126

7E

~

63

3F

?

127

7F

DEL

Posted by ryu2811

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

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


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

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

PSP의 한글 파일명 출력에서 막혔다.
음... 뭐가 문제인지 모르겠다. 일단 루리웹에서 받은 한글 출력 소스는 EUC-KR만 프린트 되는거 같고 SDL_ttf 는 UTF8만 된다. 일단 디렉토리에서 파일 리스트를 가져와서 출력하는 부분을 둘다 해봤지만 박스로 나오고 있다. 뭐가 문제일까? 좀 더 해보고 안되면 그냥 영문 파일명만 출력되는 상태로 일단 릴리즈 해야겠다

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
이전버튼 1 2 3 4 5 이전버튼