2011년 3월 21일 월요일

HI-TECH C 용 GRP 라이브러리 만들기 #3 - 라인, 박스, 폰트

이제 뭔가 좀 갖추어진 듯 한데용...

 

Line, Box, Boxfill 및 폰트 그리는 기능이 추가되었습니다.

Line은 VDP 커맨드를 그대로 사용하고,

Box, Boxfill은 Line을 여러개 그리는 식으로 구현되어있습니다.

 

폰트는 일단 MSX BIOS에 내장된 8x8 데이터를 내장했습니다.

출력은 8x8 또는 6x8 등으로 가능합니다.

 

RAM과 VRAM간 많은 양의 데이터 전송이 가능하고,

팔레트 함수들을 추가했습니다. 


 

 

아래는 라이브러리 테스트용 프로그램이 동작하는 모습인데요, 잠시 구경해보세요~ ㅎ

간단한 비트맵 모드 그래픽은 어느정도 완성됐으니,

다음은 패턴맵 모드 쪽으로 구현하려고 합니다.




2011년 3월 7일 월요일

HI-TECH C 용 GRP 라이브러리 만들기 #2 - 스프라이트, VRAM 카피

주말을 맞아 작업이 좀더 진행이 됐습니다.

스프라이트 기본기능과 VDP 커맨드를 이용한 메모리 copy 정도를 넣어봤습니다.

 

 

아래는 라이브러리 테스트용 프로그램이 동작하는 모습인데요, 잠시 구경해보세요~ ㅎ




2011년 3월 2일 수요일

HI-TECH C 용 GRP 라이브러리 만들기 #1 - 구상

요즘 틈틈히 DOS2뱅킹 라이브러리와 함께 쓸수 있는, 그래픽 라이브러리를 만들고 있습니다.

시작이 반이니까... 50% 완성이라고 보시면 되겠네요. ㅎ.ㅎㅋ

 

라이브러리 구동 환경은,

제가 만든 DOS2 뱅킹 라이브러리가 필수이고 가능하면 2뱅크(32KB x 2)이내로 만들 생각입니다.

BIOS 내의 스크린 모드 전환 및 VDP 관련 루틴 없이 동작하도록 되어있습니다.

최소 사양은 V9938 + VRAM 128KB 이고, V9958 기능들도 지원합니다.

 

구현은 아래 처럼 진행중입니다. 순서는 좀 바뀔수 있어요 ㅎ.ㅎ

 

1. VDP I/O

   - VDP control 레지스터 쓰기, status 레지스터 읽기

   - VRAM 읽기/쓰기

   - VRAM 페이지(16KB 단위) clear

   - 디스크, VRAM 간의 Load/Save

 

2. 비트맵 모드 (스크린 5,6,7,8)

   - 페이징

   - VRAM R/W 이용한 픽셀 그리기

   - HW 수직 스크롤(V9938)

   - HW 수평 스크롤(V9958, 1페이지, 2페이지 모드)

   - VDP 커맨드

   - 폰트

   - 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번에서 중복 기능 외...

 

 

에... 사실 처음에는 VDP 기본 라이브러리랑 게임용 라이브러리를 따로 만들까 생각도 했었는데요.

일단은 짬뽕해서 진행하고, 상황봐서 게임용은 따로 나누던지 할 생각입니다.

 

조금씩 만드는거라, 언제 완성될지는 모르겠지만, 라이브러리는 진행중 가끔 릴리즈 될 예정입니다.

 

PS. 혹시 요청사항 있으시면 댓글 달아주셔요. ㅎ.ㅎ