sharksym's MSX World

sharksym.egloos.com

포토로그


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


FontPack 만들기 #7 - 메인 BIOS 폰트 바꾸기 by sharksym

FontPack은 대게 아래처럼 활용됩니다.

- M, HV 등의 FontPack 지원 SW 구동
- ANSI 스크린 전환 (고해상도 컬러 터미널 활용)
- IME 전환 (조합형 또는 완성형 한글 코드 입력)
- 1메가롬 게임 구동

오늘(2015.12.08) 업뎃된 FontPack Tool을 사용하면...
FontPack 내부의 SRAM 여유 공간을 활용하여, MSX Main BIOS의 폰트데이터를 바꿀 수 있습니다.

MSX의 Main BIOS에는 8 x 8 사이즈의 256개 문자 폰트가 들어있는데요.
MSX 본체가 판매되는 국가에 맞도록 문자 폰트가 조금씩 다르게 들어갑니다. (특수 영문, 한글, 일어 등등)

근데 여기서 한가지 중요한 사실이 있어요. ㅎ.ㅎ
Main BIOS는 기본적으로 바이오스 롬 내부의 폰트를 사용하지만,
외부 슬롯에 존재하는 폰트로 바꿀 수 있습니다.

예를 들어, 유럽에서 라틴 특수문자가 포함된 폰트 카트리지를 사용하면,
일제 MSX에서도 일어대신 라틴 특수문자로 쓸 수 있다는 얘기지요.
근데 실제로 이런 카트리지가 발매되어서 쓰인적이 아마 없을겁니다. (뭐, 있을지도 몰라요 ㅋ)

Main BIOS는 외부 슬롯의 롬폰트 지원 외, 한가지를 더 지원하거든요.
바로 문자 설정 용 Hook인데요.
BIOS에서 VDP에 문자 폰트를 재설정할 때 마다, Hook을 호출해서 SW적으로 오버라이드 할 수 있게 만들어놨습니다.
누가 만들었는지 잘 만들어놨죠? (이런 무수한 Hook때문에 MSX가 느려지는건 단점이긴 하지만요..ㅋ)

이번에 소개해드리는, FontPack을 이용한 BIOS 폰트 바꾸기는...
Hook을 쓰지 않고, FontPack 내부 메모리를 사용하는 방법입니다.

폰트 데이터는 8x8 1BPP로 된 FNT파일이구요.
256문자니까 총 2KBytes 용량의 파일이 되겠습니다.

아래는 제가 만든 MYFONT.FNT 입니다.



제꺼 터보알의 일어폰트에서 영문/숫자 정도만 조금 다르게 그려본 것입니다.
약간 동글동글하게 그렸어요. ㅎ.ㅎㅋ
엔화 기호도 역슬래쉬 문자로 바꿔넣었습니다.


참고로 BASIC 화면에서 표시해보면, 아래처럼 보이게됩니다.



FontPack으로 폰트를 바꾸면 Hook을 쓰는게 아니라서, 본체 메모리를 점유하지 않게 됩니다.
따라서 일반 프로그램 구동 시, 메모리 또는 Hook으로 인한 제약 사항이 발생하지 않습니다.

아래는 MuPLAY 프로그램을 실행한 모습인데요.
그래픽 모드로 구동되지만, FontPack으로 설정한 BIOS 폰트가 적용된 걸 볼 수 있습니다.
파일 경로랑 파일 목록 창을 자세히 보셔요~



어떻게 쓰는지 아시겠죠?
그냥 DOS에서 한번만 실행하면 끝이니까, AUTOEXEC.BAT에 넣어두어도 좋습니다.
만약 외부 폰트 변경으로 인한 문제(호환성 문제)가 발생하면,
파일명 없이 FONTPACK F 실행하면 원래의 메인 BIOS 폰트로 복구됩니다.
제가 몇개 테스트 하다보니, MGSEL에서 문제가 되더라구요. -_- 참고하시구요.

궁금한 점 있으시면 댓글달아주셔요~
그럼, 즐거운 밤 되시고...

PS. 제가 수정한 폰트랑 유럽,일본,한국 MSX에 들어간 폰트데이터 뽑아서 첨부합니다.
     압축 푸셔서 쓰시면 되겠습니다요!!!







CCL

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

MSX rating & email

ClusterMaps

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

통계 위젯 (화이트)

1741
190
111593

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

19