2016년 3월 28일 월요일

FontPack 제작 #8 - 한글 BASIC 지원

오랜만에 FontPack BIOS 업뎃을 해보았습니다.

최근 맛탱이님의 폰트팩 활용 프로그램을 보며 많은 생각(약 10초)이 들더군요.ㅋ

BASIC에서 한글 출력을 해보려는 분들이 얼마나 될까?...


생각은 10초면 충분했구요.ㅋ 일단 수정작업으로 들어갑니다.

결론: 기존 코드의 버그들도 소탕하면서~ 주말을 홀라당 까먹었네요. ㅎ.ㅎ


[ 사용 환경 ]

- 텍스트 모드: 기존 ANSI 스크린 모드 활용 (ANSI1, ANSI2 모드, Fake SCREEN 0)

- 그래픽 모드: 문자 출력 디바이스 지원 (기존 BASIC의 GRP 디바이스와 유사, SCREEN 2 ~ 12 지원)

- 한글 코드: SET HAN 명령 추가 (아스키 폰트는 8x8, 8x16 크기선택 가능)

- IME 모드: 기존 폰트팩 입력기 활용 (조합/완성 한글 및 한자 입력)


[ 사용 예 ]

국딩 때 만든 아이큐2000 용 BASIC 프로그램을 수정/구동하고 싶다.

> 2바이트 조합형 코드 편집을 위해, ANSI2 및 IME1 모드 켜기

> 텍스트 한글 출력은 PRINT 명령 그대로 사용

> 그래픽 모드에서 문자 출력 디바이스는 GRP 대신 FNP 사용 ( OPEN"FNP:" AS #1 )


IME는 꺼져있어도 한글 출력에 영향을 주지 않습니다.

그리고, 그래픽 모드만 사용하는 BASIC 프로그램일 경우, GRP -> FNP 디바이스만 변경하면 실행됩니다.

SET HAN 명령은 대우 CPC-300/400 과 유사하지만, 인자 사용은 다릅니다.

기존 코드를 그대로 쓸 때에도 에러가 발생하지 않도록 처리를 하고 있습니다. (그냥 인자를 무시합니다. ㅋ)


사용 가능한 경우는 아래 4종류 입니다.

SET HAN 0 -> 아스키 코드 8x8 크기, 조합형 한글 16x16 크기

SET HAN 1 -> 아스키 코드 8x16 크기, 조합형 한글 16x16 크기

SET HAN 2 -> 아스키 코드 8x8 크기, 완성형 한글 16x16 크기

SET HAN 3 -> 아스키 코드 8x16 크기, 완성형 한글 16x16 크기


그럼, 설명이 대충 끝났으니 사진 한장이랑 동영상 하나 올려봅니다.

아래는 아이큐2000(CPC-300)의 내장 프로그램 "아이큐 교실"을 실행한 모습입니다.

원본코드는 BASIC 롬으로 되어있는데, 소스로 받아서 그래픽 디바이스만 변경했습니다. (GRP -> FNP)

잘 나오네요. 아마 스크린 7 모드일겁니다.




아래는 동영상으로 찍어본 모습입니다.

아이큐 교실 및 BASIC으로 작성된 바이오리듬 프로그램(제가 만든건 아닙니다~)을 실행해보았어요.




댓글 없음:

댓글 쓰기