블로그는 귀차니즘

First Sensation
  • 공지
  • 지역로그
  • 태그
  • 방명록

PSP 화면 출력 부분에...

PSP-Programming 2008/05/18 23:34 귀차니스트
  수, 목요일 야근을 조금 한 다음 체력회복을 위해서 약간 쉬었다가 주말 일요일 때 시간이 그래도 남고, 오랫동안 포스팅을 하지 않은 것 같아서 출력 부분에 대해서 손을 대봤습니다. 대충 다른 분께서 만드신 출력소스를 보니 0x04000000를 기본 베이스로 하여 메모리에 직접 데이터를 써넣는 방식이더군요.  그래서 제 소스에 대충 적용을 해보려고 핵심만 빼와서 코딩을 적용시킨 뒤, 컴파일 하고 실행을 하니 왠 걸 출력이 안됩니다 ㅜ_ㅜ
  대체 왜 그럴지 아직 감이 잡히는 부분이 없군요. 아예 출력 부분을 손을 대는 순간 메인 쓰레드가 뻗어버리는 것 같습니다. 프로그램이 XMB 메뉴로 종료되지 않는 것으로 보아선 그렇다고 생각할 수 밖에 없겠더군요. 오랫동안 실행 시키는 것 자체는 뭔가 잘못 건드려 고장낼 것만 같아 금방금방 끄게 되더군요^^;

main.cpp (Language : cpp)
  1. #define SCR_HEIGHT (512)
  2.  
  3. int main::Run()
  4. {
  5.     volatile static u32* g_vram_base = (u32 *) 0x04000000;
  6.     int x = 0, y = 0;
  7.     int Color = 0xFF000000;
  8.    
  9.     while(!m_IsExit){
  10.  
  11.         *( g_vram_base + ( y * SCR_HEIGHT ) + x ) = Color++;
  12.        
  13.         if( x == 512 )  {
  14.             x = 0;
  15.             y++;
  16.         }
  17.  
  18.         if( y == 50)    {
  19.             y = 0;
  20.         }
  21.     }
  22.     return 0;
  23. }

수정버젼.cpp (Language : cpp)
  1. #define SCR_HEIGHT (512)
  2.  
  3. volatile static u32* g_vram_base = (u32 *) 0x04000000;
  4.  
  5. int main::Run()
  6. {   
  7.     int x = 0, y = 0;
  8.     int Color = 0xFF000000;
  9.    
  10.     while(!m_IsExit){
  11.  
  12.         *( g_vram_base + ( y * SCR_HEIGHT ) + x++ ) = Color++;
  13.        
  14.         if( x == 512 )  {
  15.             x = 0;
  16.             y++;
  17.         }
  18.  
  19.         if( y == 50)    {
  20.             y = 0;
  21.         }
  22.     }
  23.     return 0;
  24. }

  혹시 문제점에 대해서 잘 아시는 분 계실까요?? 아는 형에게 물어보니 volatile 을 써보라고 해서 써보긴 했습니다. 아무래도 레지스터가 아닌 메모리에서만 데이터가 존재해야 하니 Memory-Mapped 방식이면 그래야 하겠다는 생긱이 무척 많이 들더군요. 그런데 추가를 해도 마찬가지였습니다.
  이 것참 난감합니다. 부분만 빼내와서 그럴까요?? 아니면 0xFF000000부분 에서 Alpha 값이 문제가 되는 것 일까요? 오늘은 자기 전까지 삽집을 해봐야 겠군요^^;
  추가 - 에구.. 제가 아직 회복이 덜 됐나 봅니다. 이거 코드를 잘 못 써놓고 왜 안되지 하고 있었군요. ㅠㅠ 이런 기초적인 실수를 하다니 민망합니다ㅠㅠ. 그런데 프로그램이 종료 안되는 것은 아직 뭔지 잘 모르겠군요^^;
크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

"PSP-Programming" 분류의 다른 글

하..한글 출력이.. (0)2008/06/20
DevkitPro에 Freetype 라이브러리 설정하는 방법 (4)2008/06/04
DevkitPro에 Freetype 설정 문제.. (0)2008/06/03
PSP - Freetype2 를 사용한 폰트출력 라이브러리 (4)2008/05/25
라이브러리 지원이 빵빵하군요. (0)2008/05/20
2008/05/18 23:34 2008/05/18 23:34
TAG PSP, 개발
받은 트랙백이 없고, 댓글이 없습니다.

트랙백 주소 :: http://www.filewiki.net/tc/trackback/66

댓글을 달아 주세요

◀ 이전페이지 1 ... 42 43 44 45 46 47 48 49 50 ... 110 다음페이지 ▶

블로그 이미지
First Sensation 귀차니스트
rss
  • 관리자
  • 글쓰기

카테고리

  • 전체 (110)
    • Computer (3)
    • Language (14)
    • Reverse Engineering (1)
    • Algorithm (9)
    • TopCoder (3)
    • Library (2)
    • Programming (19)
    • Programming Tip (9)
    • PSP-Programming (10)
    • Program (5)
    • Small Talk (31)
    • Document (4)

최근에 올라온 글

  • Gradient 작성중에 있습.... (3)
  • 게임&인터랙티브 애플리....
  • 한게임 자동테트리스 Ve.... (24)
  • Intel 64 And IA32 Arch.... (2)
  • 한게임 자동테트리스 Ve.... (24)

최근에 달린 댓글

  • 다운어덯게 받아요. difl 2008
  • 멋있네요 ㅎㅎ. 준호씨 2008
  • ^^; 그러셨군요.. 사실 동영.... 귀차니스트 2008
  • ㅋㅋ 속도 튜닝의 무서움 ㅜ.... 귀차니스트 2008
  • 관리자만 볼 수 있는 댓글입.... 비밀방문자 2008

달력

«   2009/01   »
일 월 화 수 목 금 토
        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 31

링크

  • kkamagui 프로그래밍 세상.
  • 류광의 번역 이야기.
  • 서광열의 프로그래밍 언....
  • 준호씨의 블로그.
  • 최익필의 이름없는 블로그.
  • 위키는 귀차니즘.

최근에 받은 트랙백

  • 궁극의 예외처리. 이름없는 블로그 2008
  • Maximum sum. 티스토리 지점 2008

글 보관함

  • 2008/12 (1)
  • 2008/11 (4)
  • 2008/10 (2)
  • 2008/09 (3)
  • 2008/08 (5)

태그목록

  • 개발
  • IPangYa
  • XQuared
  • 한글
  • Application.Run
  • 해로
  • Secure
  • As 형 변환
  • Freetype2
  • RCW
  • boost::shared_ptr
  • QT4
  • 프로그래밍
  • 보안
  • Codejock
  • 반복자
  • TShell
  • 유니코드
  • 디인터레이스
  • auto_ptr
  • Call By Value
  • 갑
  • 뻘글
  • 입양
  • 어쌔신 크리드
  • 1.35
  • 컬러체험단
  • Linux
  • Decompiler
  • ++i

지역로그 : 태그 : 방명록 : 관리자 : 글쓰기
귀차니스트’s Blog is powered by Textcube 1.7.5 : Risoluto / Designed by DesignNia.net