sharksym's MSX World

sharksym.egloos.com

포토로그


구글 애드센스 (블로그 기본)


그래픽 라이브러리 제작 중 #3 by sharksym

이제 뭔가 좀 갖추어진 듯 한데용...
 
Line, Box, Boxfill 및 폰트 그리는 기능이 추가되었습니다.
Line은 VDP 커맨드를 그대로 사용하고,
Box, Boxfill은 Line을 여러개 그리는 식으로 구현되어있습니다.
 
폰트는 일단 MSX BIOS에 내장된 8x8 데이터를 내장했습니다.
출력은 8x8 또는 6x8 등으로 가능합니다.
 
RAM과 VRAM간 많은 양의 데이터 전송이 가능하고,
팔레트 함수들을 추가했습니다. 
 
 
아래는 현재 작업 상황입니다.
 
1. VDP I/O
   - VDP control 레지스터 쓰기, status 레지스터 읽기
   - VRAM 읽기/쓰기
   - VRAM 페이지(16KB 단위) clear
   - RAM / VRAM 간의 블럭 전송
 
2. 비트맵 모드 (스크린 5,6,7,8)
   - 페이징
   - VRAM R/W 이용한 픽셀 그리기
   - HW 수직 스크롤(V9938)
   - HW 수평 스크롤(V9958, 1페이지, 2페이지 모드)
   - VDP 커맨드 (일부 구현)
   - 폰트 처리
   - Line, Box, Boxfill, Circle
   - 인터레이스 모드 DRAW: Line, Box 등
 
3. 스프라이트
   - 스프라이트 모드2
   - 스프라이트 모드1
   - 패턴 애니메이션
 
4. 패턴맵 모드 (스크린 2,4)
   - 페이징
   - 패턴 애니메이션
   - Line, Box, Circle
   - SW 스크롤
 
5. 팔레트
   - 팔레트 애니메이션
 
6. 텍스트 패턴맵 모드 (스크린 0,1)
   - 페이징
   - 폰트
   - Line, Box (특수 문자)
 
7. 비트맵 모드 (스크린 10,11,12)
   - 2번에서 중복 기능 외...
 
 
 
아래는 라이브러리 테스트용 프로그램이 동작하는 모습인데요, 잠시 구경해보세요~ ㅎ
간단한 비트맵 모드 그래픽은 어느정도 완성됐으니,
다음은 패턴맵 모드 쪽으로 구현하려고 합니다.





덧글

  • tex2100 2011/06/25 22:24 #

    그런데 스프라이트 확대/축소나 1만 색 이상의 화소는 MSX에서 못 하지 않습니까. 할려면 CPU 스펙을 높여야 할 판이니...
  • sharksym 2011/06/26 13:18 #

    스프라이트는 MSX VDP에 내장된 스프라이트 기능입니다.
    VDP에는 축소 기능은 없고, 단지 가로/세로 두배 확대 기능만 있습니다.

    동시 출력 컬러 수는,
    스크린8에서 256
    스크린10에서 12499
    스크린12에서 19268 입니다.

    사실 MSX CPU 성능보다는 메모리 용량과 VDP 처리 속도 때문에 활용 못하는 경우가 대부분입니다.
    터보알 등의 CPU만 빠른 기종이 당시에 별 인기를 못 끌었던 것도,
    대부분 SW제작사 및 사용자들에겐 그래픽 성능이 더 필요했기 때문이었지요. (게임 등)



Title MSXrating email rss

CCL

크리에이티브 커먼즈 라이선스
Yeongman Seo에 의해 작성된 저작물은, 별도의 라이선스 조건이 없는 경우 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.

ClusterMaps

구글 애드센스 (세로 큰직사각형)

통계 위젯 (화이트)

1443
172
167114

이 이글루를 링크한 사람 (화이트)

28