옆방에서 가뭄에 콩나듯 아두이노 강좌를 진행중인 수아파파 입니다. (__)


지난 세미나때 좋은 세미나를 공짜로 듣고 밥까지 얻어먹어버려서...

밥값을 좀 해 보려고 :) gxLib의 b24를 구현해 봤습니다.

(첨부한 gxLib_b24_suapapa_20090826.patch)


이 패치에는 b24구현 말고 2가지 추가된 내용이 있는데,

  • scons 빌드 스크립트 추가
    • scons는 make같은 녀석으로 좀 더 직관적입니다
    • 프로젝트 루트에서 scons 하면 gxLib를 라이브러리로 만들고, sample을 빌드해 줍니다. (아래 스샷 참조)
  • 가상장치에 쓸 수 있도록 기능 추가
    • 컴파일시 USE_VIRTUAL_FRAME_BUFFER를 define 하면 ioctrl같은 실제 fb장치에 종속적인 호출들을 제외하여 일반 파일에 그릴수 있게 하였습니다.

이걸 한 이유는, 제 노트북이, 희한한 그래픽카드를 사용해서, 실제 프레임 버퍼장치가 매우 불안정하게 동작하는데다가, 또 X윈도 밖으로 나가는게 귀찮기도 하고 해서,


실제 장치가 아닌 일반 파일에 쓰고 그 파일을 읽어서 뿌리는 에뮬레이터 어플을 작성했는데...

24bpp로 에뮬을 작성해 놓고 보니 -fb 에뮬 입장에서는 16bpp는 변환이 무겁고 32bpp는 버퍼복사가 무거워서 24bpp가 적당하거든요.- gxLib에 해당 구현부분이 빠진걸 발견하고 추가했습니다. -o-


gxLib내의 리눅스 dependent한 코드들(mmap이랄까) 만 정리하면,

-에뮬과 scons는 모두 크로스플렛폼 지원이라- 윈도에서도 잘 동작하기 때문에,

네이티브 윈도에서도 -리눅스 없이- gxLib를 개발할 수 있습니다.

(땡기시죠? 커밍순!)


이쯤하고, 스샷입니다:

suapapa_gxLib_b24_2.png


참! gxLib에서 아쉬운점 하나 투덜댑니다.

에러메세지가 한글(euc-kr)로 코딩되어 있네요. 요즘 리눅스 데탑환경은 utf-8의 다국어 환경이 대세라 에러메세지를 보려면 좀 번거로와요.

소스의 인코딩을 utf-8로 바꾸는게 가장 좋겠지만, -그럼 윈도에서 개발하실 때 불편하실테니- 출력되는 에러 메세지만이라도 영문으로 바뀌었으면 해요.