블로그 이미지
HISONA

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

calendar

1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30




안녕하세요.

Nintendo DS 용 단어암기 프로그램인 SonaMemoryDS v0.2 로 업그레드 되었습니다.
SonaMemory 는 영어 단어 암기를 쉽게 할 수 있도록 하는 학습 프로그램으로
무료로 다운받아서 사용하실 수 있습니다.
이번 버전은 어린이날 특별버전 입니다. ㅎㅎㅎ

* 다른곳에 퍼가실때는 출처를 반드시 포함해 주세요...


학습하고자 하는 단어장을 텍스트 파일(.smd) 파일로 만들어서 추가하시면 다양한 단어 학습을 지원할 수 있습니다.
또한, PC용 단어암기프로그램인 별이(http://www.waterhill.net/), 똑똑이(http://www.softnsoft.com/)와 데이터 호환이 되기 때문에 위 단어파일을 사용하실 수
있습니다.

smd 파일이 있는 디렉토리에 sound 디렉토리를 만들고, 그곳에 새로운 단어의 발음 파일을 mp3 파일로 추가하실 수 있습니다.
(이전버전에서는 sound 디렉토리에 알파벳순으로 디렉토리가 있었지만, 0.2 버전에서는 기본 sound 파일이 SonaMemory.nds 에 포함되어 있습니다. 그리고, 기존 sound 파일에 포함되어 있지 않은 파일들은 sound 디렉토리에 그냥 포함하시면 됩니다.) 

- 사용 방법 -

1. 아래 SonaMemoryDS_v0.2.exe ~ SonaMemoryDS_v0.2.a04 파일을 다운로드 받은 다음
    SonaMemoryDS_v0.2.exe 을 실행해서 압축을 푸십시오. 
2. SonaMemory.nds 를 해당 카드에 맞게 DLDI 패치를 하십시오.
3. SonaMemory.nds 파일과 smd 파일을 T-Flash 메모리에 복사하십시오. 
4. 단어파일을 .smd 파일(첨부된 단어샘플.smd 을 참조하세요.)로 만들어서 추가하십시오.
5. 추가할 sound 파일은 smd 파일이 있는 디렉토리의 sound 디렉토리에 추가하십시오.

- 지원 기능 - 

1. 텍스트 영어단어 파일 지원 (첨부파일에 있는 sample.smd 파일 참조)
2. 영단어 음성 발음(mp3) 지원
3. 디렉토리에서 파일선택(한글파일) 지원
4. Freetype 폰트 지원

- 버그 수정 -

1. libfat 버그 수정 - 한글파일명 sav 파일 저장오류 수정
2. smd 파일마지막에 빈칸줄이 없을 경우 출력되지 않는 오류 수정

- 추가된 기능 -

1. sound 를 SonaMemory.nds 에 합침
   (nds 파일에 포함된 sound 파일이 없을 경우 smd 파일의
    sound 디렉토리에 있는 파일을 사용해서 음성 출력함) 
2. 글자수에 따라 Font 크기 자동 조절
3. 속도 조절 기능 추가
4. 앞으로 가기, 뒤로 가기 기능 추가
5. STEP 기능 추가 (정지 버튼을 누른 상태에서 앞으로 가기,
   뒤로 가기 버튼 사용) 

- 향후 추가 기능 -

1. 망각곡선을 적용한 기억력 향상 학습법을 적용할 예정입니다.
2. 테스트 기능을 추가할 예정입니다.
 




안녕하세요.

Nintendo DS 용 단어암기 프로그램 SonaMemoryDS v0.1 을 공개합니다.
SonaMemory 는 영어 단어 암기를 쉽게 할 수 있도록 하는 학습 프로그램으로
무료로 다운받아서 사용하실 수 있습니다.

* 다른곳에 퍼가실때는 출처를 반드시 포함해 주세요...



학습하고자 하는 단어장을 텍스트 파일(.smd) 파일로 만들어서 추가하시면
다양한 단어 학습을 지원할 수 있습니다.
또한, PC용 단어암기프로그램인 별이(http://www.waterhill.net/), 똑똑이(http://www.softnsoft.com/)와 데이터 호환이 되기 때문에 위 단어파일을
사용하실 수 있습니다.

또한, sound 폴더에 새로운 단어의 발음 파일을 mp3 파일로 추가하실 수 있습니다. 

사용방법

1. 아래 SonaMemoryDS.zip 파일의 압축을 푼 다음 T-Flash 메모리에 복사하십시오. 
   넣으시면 됩니다.
2. NDS 의 해당 카드에 맞게 DLDI 패치를 하십시오. 
3. 단어파일을 .smd 파일(첨부된 단어샘플.smd 을 참조하세요.)로 만들어서 추가하십시오.
3. 첨부파일의 sound.exe 파일을 실행해서 압축을 푼 다음, SonaMemory\sound 디렉토리로
   복사하십시오.
  (sound 디렉토리는 영단어 학습파일(.smd)과 같은 디렉토리에 있어야 음성 발음이 지원됩니다.)

지원 기능

1. 텍스트 영어단어 파일 지원 (첨부파일에 있는 sample.smd 파일 참조)
2. 영단어 음성 발음(mp3) 지원
3. 디렉토리에서 파일선택(한글파일) 지원
4. Freetype 폰트 지원

향후 추가 기능

1. 망각곡선을 적용한 기억력 향상 학습법을 적용할 예정입니다.
2. 테스트 기능을 추가할 예정입니다.

첨부파일1 : SonaMemoryDS.zip


첨부파일2 : sound.exe






안녕하세요?

이번 포스트에서는 Android Emulator 소스를 수정하여 Floating Point 연산 속도를 개선해 보도록 하겠습니다. Android OpenGL ES Issue Report 에 보시면 Android Emulator 에서 OpenGL 연산속도가 문제가 되고 있는것 같습니다. Android Emulator 에 포함된 OpenGL ES 는 소프트웨어 방식의 OpenGL ES 1.5 가 사용되고 있습니다.
그러므로, OpenGL 3D 를 구현하기 위해서는 Matrix 연산이 많이 사용되는데, Floating Point 연산속도가 개선되면 3D 의 연산 속도를 높일 수 있을 것입니다.

Floating Point 연산 속도 개선을 위해서는 몇가지 작업을 해주어야 합니다. 

첫째, Android Emulator 의 fpu 소스코드에서는, softfloat.c 를 사용하도록 되어 있습니다. 속도를 개선하기 위해서는 softfloat-native.c 를 사용하여야 합니다. 그러나, Android Emulator 에 포함되어 있는 softfloat-native.c 파일에는 몇가지 버그가 있습니다. 아래 파일은 Patch 된 파일입니다. 이 파일들을 받아서 android-emulator-1.0_r2\android-emulator-20081210\qemu\fpu 에 있는 파일들을 변경하십시오.

 
그리고, 몇몇 파일들을 수정해 주어야 합니다.

1) android-emulator-1.0_r2\android-emulator-20081210\qemu\android\config\config.h 파일에서 다음과 같이 수정하십시오(CONFIG_SOFTFLOAT 을 undefine 하십시오.) 

//#define CONFIG_SOFTFLOAT 1
#undef CONFIG_SOFTFLOAT

2) android-emulator-1.0_r2\android-emulator-20081210\qemu\Makefile.android 에서 softfloat.c 파일을 softfloat-native.c 로 수정합니다.

line 170:
FPU_SOURCES := softfloat-native.c

line 250:
FPU_SOURCES := softfloat-native.c

3) android-emulator-1.0_r2\android-emulator-20081210\qemu 에서 make 하시면, objs 디렉토리에 emulator.exe 가 생성됩니다. 컴파일한 실행파일은 아래에 있습니다.



둘째, linux kernel config(.config) 파일에서, CONFIG_VFP=y 로 설정되어 있어야 합니다. 다행이 Android 에서 사용하는 linux kernel 에서는 아래와 같이 VFP 를 사용하도록 설정되어 있습니다. 



세째, linux 어플리케이션 프로그램을 컴파일 할때 컴파일 옵션에,  "-mfpu=vfp -mfloat-abi=softfp"
를 포함해서 컴파일 해야 합니다. 즉, Dalvik VM 이나 OpenGL ES 를 사용하는 라이브러리들이 이 옵션으로 컴파일 되어야 합니다. 저는 아직 Dalvik VM 을 컴파일 해보지 않았기 때문에 이 부분은 다른분들께 맡기도록 하겠습니다.

대신 샘플 어플리케이션으로 테스트 결과를 보여드리도록 하겠습니다.

테스트에 사용한 샘플코드는 간단하게 float 변수 사칙연산을 각각 1,000,000 번 수행한 시간을 측정한 것입니다.
테스트 프로그램을 컴파일 하는데는 Codesourcery G++ Lite 208q1-126 for ARM GNU/Linux 를 사용하였습니다. 그리고, Android Emulator 는 libc 를 사용하지 않기 때문에, 라이브러리를 static link 하였습니다.
아래 첨부파일에 테스트에 사용한 소스코드와 실행파일이 포함되어 있습니다.  
 



float_vfp 는  "-mfpu=vfp -mfloat-abi=softfp" 옵션을 포함해서 컴파일한 실행파일입니다. float_nofp 는 옵션없이 컴파일한 파일입니다.   

테스트에 사용한 컴퓨터 사양은, 다음과 같습니다.

CPU: Intel Core2 6400 2.13GHz
RAM: 2G
OS: Windows XP SP3

1) 수정하지 않은 Android Emulator 에서 테스트한 결과

./float_nofp
add operation => elipse time: 0s, 135414us
sub operation => elipse time: 0s, 202468us
mul operation => elipse time: 0s, 116733us
div operation => elipse time: 0s, 272469us

./float_vfp
add operation => elipse time: 0s, 100574us
sub operation => elipse time: 0s, 115769us
mul operation => elipse time: 0s, 97731us
div operation => elipse time: 0s, 110618us

2) softfloat-native 를 적용한 Android Emulator 에서 테스트한 결과

./float_nofp
add operation => elipse time: 0s, 137863us
sub operation => elipse time: 0s, 201425us
mul operation => elipse time: 0s, 118687us
div operation => elipse time: 0s, 271949us

./float_vfp
add operation => elipse time: 0s, 68719us
sub operation => elipse time: 0s, 67290us
mul operation => elipse time: 0s, 66261us
div operation => elipse time: 0s, 78777us


그러므로, vfp 옵션을 주고 컴파일한 경우에는 거의 2배 정도 성능개선 효과가 있는 것으로 보입니다. 그리고, Android Emulator 에 softfloat-native 를 적용하면 약 30% 정도의 성능이 개선되는것 같군요 .. 

 

이전 1 2 3 4 5 다음