2015년 12월 8일 화요일

FontPack 제작 #7 - 메인 BIOS 폰트 바꾸기

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에 들어간 폰트데이터 뽑아서 첨부합니다.

     압축 푸셔서 쓰시면 되겠습니다요!!!

Download: BIOS_FNT_20151208.zip


2015년 12월 6일 일요일

2015년 파라동 송년회 - 짧은 참석 후기

오랜만에 파라동 회원님들 만나러 용산에 다녀왔습니다.


2010년 정모 이후로는 이리저리 바쁘다는 핑계로 모임에 참석하지 못했는데,

이번엔 시간 맞춰서 올 수 있어서 좋았습니다~ (10시쯤 2차 도중에 도망가긴 했지만요. ㅋ)


나눔 용 물품으로 뭘 준비할까 쬐금 고민했는데, 롬팩은 아마 다른분들 준비하실꺼 같아서,

저는 폰트팩 하나 챙겼습니다요.ㅋ


룡산 한강반점에 도착하니 반가운 얼굴이 딱! 유령군님 흐흐~

시간이 흐르니, 회원님들 점점 늘어나네요. 어어... 이렇게 많이 오실줄이야!

오랜만에 뵙는 분들도 있고, 처음 뵙는 분들도 많아서 즐거웠습니다.


2차에서 가위바위보 나눔물품 쟁탈전도 재밌었습니다.

아래는 참고 용 시각자료입니다. (이게 전부라고 생각하시면 오산입니다. 아...오산... 우리집인데..)




사실 저는 MSX 외 게임기는 잘 몰라서리... 일단 좀 지켜보다가...

8421님 포켓PC 나눔에 손을 번쩍 들었습니다요.

결과는 흐흐... 아래 사진이 알려줄겁니다. ㅎ.ㅎ




검정색 포켓 PC 외, 유령군님 LED 라이트, 클랴님 MSX 열쇠고리, 맛탱이님 팩케이스, 소주님 손수 그리신 그림이 두둥~

아자씨들끼리 가위바위보 하니까 신나네요. 구경하는 것도 재밌었구요. ㅎ.ㅎ


간만에 오프라인으로 MSX 얘기, 게임 얘기하느라 즐거운 시간이었습니다.

연말이라 바쁘실텐에 많이 오셔서 좋았어요~


마지막으로, 소주님/유령군님! 모임 준비/진행 해주셔서 많이많이 감사드립니다~ ㅎ.ㅎb

올 크리스마스에도 복많이 받으실꺼에요!


그럼, 즐거운 밤 되셔요...


2015년 11월 24일 화요일

뜬금없는 turboR의 추억~ ㅎ.ㅎ

파라동에서 준성님 "미디 음악..." 글이랑 낄라님 "그거 집에 있잖..." 글을 읽다보니,

문득 제가 터보알을 샀던 때가 생각이 납니다~ ㅎ.ㅎ


음... 글만 주르르... 보시면 심심하니까 사진 하나 투척합니다. ㅋ

터보알 + MIDRY MIDI player + 롤랜드 SC88 VL 이 나오는 모습이에요... (클릭하면 쬐금 커집니다.)




회사 입사(2001년) 전까지는 집에 MSX라고는 대우 IQ 2000 한대 뿐이었습니다.

키보드가 맛이 가서, 가끔 조이스틱 꽂고 이스3 원코인(?) 클리어하는게 전부였던 기기였습지요.

(지금은 X-II 키보드로 장기이식 받아서 쌩쌩합니다.ㅋ)


뭐 IQ 2000 좋긴 하지만, 국딩 때부터 신나게 써왔던거라, 그다지 실기를 쓴다는데엔 미련이 없었구요.

fMSX 에뮬로 이것저것 돌려보는걸로 MSX 인연을 이어가던 정도였습니다.


아마 90년 중반에 fMSX 에뮬레이터가 나온건 많이 아실텐데요.

그 때쯤 에뮬에 관심이 생겨서 fMSX 소스로 윈도용 paraMSX 에뮬도 만들고,

만져보지 못했던 MSX 기기들을 에뮬로 접하면서 참 재미있었어요.


이것저것 만지다가, MSX-DOS2 라는게 있다는걸 알게 되었는데,

이게 가만 보니, 서브디렉토리도 쓸 수 있고, 대용량 메모리도 지원되고... 신기하더라구요. 흐흐...

음... 실기에서 돌려보면 286 정도 느낌이 나려나, 궁금하기도 하고,

에뮬레이터만 수년 쓰다보니, 실기도 다시 만져보고 싶고 뭐 그랬습니다.


그.래.서.

본체를 한대 구했었지요. 터보알은 아니고, A1-WSX 모델이었습니다. MSX2+ 죠.

사실 터보알 생각도 있었는데, 당시에도 국내에서 터보알 구하는게 쉽지않았습니다. 으어~~

암튼 그 때 샀던 WSX 아직도 잘 쓰고 있어요. (개발/테스트 용도지만...ㅋ)

저기 위의 사진에 보시면, 왼쪽 흰 수건에 덮힌 놈(?)이 있는데, 그게 WSX입니다요.


WSX가 램이 64KB라서 이대로는 MSX-DOS2 구동이 불가능하니까,

일단 램부터 512KB로 늘렸습니다. 참고로 WSX 메인보드 자체는 64KB 또는 256KB으로 쓸 수 있게 되어있습니다.

512KB로 만드는 방법은 구글링하면 쉽게 찾을 수 있었구요.

그 담엔 DOS2를 구해야하는데... 이것도 야매로 만드는 방법이 있었습니다.

간단한 16KB 매퍼에 64KB 짜리 롬하나 붙이는거죠.


참고로, 오리지날 ASCII DOS2 카트리지는 내부가 확장슬롯으로 구현되어있고,

DOS2 DISKROM + KANJI DRV + Mapper RAM 256KB 세트로 들어있습니다.

(음... 실제로 본적은 없어요. ㅋ)


야매 DOS2 롬은 일반 메가롬팩(매퍼 + 롬)과 비슷하다고 보시면 됩니다.

RAM은 본체에 128KB 이상 들어있으면, 부팅되니까 굳이 ASCII DOS2 카트리지를 살 필요는 없어요.

KANJI DRV도 왠만한 일제 MSX2에 기본으로 내장되어있구요.

그래서 완성된게 아래 사진입니다.


몽대륙과 DOS2가 합체 -_-




스위치가 하나 보이는데요. 요걸 눌러서 몽대륙/DOS2 전환이 가능합니다. ㅋ


여.기.서. 잠시

제목에 turboR 어쩌구라고 썼으면서, turboR은 언제 나오나요? DOS2 지겨운데...

라고 생각하실수도 있는데요. 그래서 첨에 사진하나 올렸잖아요. 좀만 기둘리세요. ㅋ


다시 이어갑니다.

룰루루~ 드뎌 DOS2 완성이구나. 흐흐흐...

아... 실기 MSX에서 DOS2 부팅을 볼 수 있다니 ㅎ.ㅎb


근데, 즐거움은 채 5분을 못 갔어요. ㅜ.ㅜ

와... 진짜!! 레알!! FDD로는 못해먹겠다 ㅠ.ㅠ

컴터가 느려서 심장이 멎을 것 같았지요.ㅋ


아... 이 기분은 1989년 쯤 저희 외할아버지께서 "속에서 천불이 나는구나!" 라고 하신 때와 동일한 느낌이었습니다.

음... 중딩 때 IQ 2000 + FDD에서 언데드라인 오프닝 데모를 보는데,

뒤에서 보시던 외할아버지께서 외치신 말씀이었습니다.

얘기가 옆으로 샜군요.


암튼, 그 때 내린 결론은 MSX-DOS2는 실기로는 무리구나... 였습니다.

왜 유럽애들이 7MHz 개조얘기를 많이 했었는지 이해가 가더라구요.

그리고 떠오른 생각!!

그렇다면 터보알 CPU 속도에서는 DOS2가 쾌적하지 않을까? 으흐흐...


드뎌 MSXturboR A1-GT가 등장합니다. -_-

몇달을 옥션에서 잠복한 끝에 A1-GT를 구했습니다. 하핫...


램 512KB, 미디, PCM, 내장 롬/램디스크, 최강의 머신 후덜덜...ㅋ

정말 빠르더군요. FDD는 여전히 느렸지만, DOS2랑 프로그램 동작 속도는 상상밖의 속도였습니다.

내장 롬디스크로 빠르게 부팅이 가능하고, 내장 램디스크가 배터리로 백업되기 때문에,

간단한 프로그램 몇개 넣고 쓰기에는 에뮬레이터만큼 편했습니다. ㅎ.ㅎb


음, 이제 겨우 DOS2 쓸만한 환경이 되었군. 후훗...

데스크탑 본체에 연결되어있던 미디 모듈(SC88 VL)도 터보알로 옮겨서, 음악도 듣고~

암튼 쓸만한 환경이 되었습니다.


IQ 2000, WSX 는 가끔...(진짜 가끔요.) 심심할 때 게임 한판씩 하는 정도였는데,

터보알 장만이후로는 좀 바꼈습니다.

에뮬레이터를 멀리하고 실기를 주로 쓰는 방향으로요.


또 그렇게 이년쯤 지나고나니, 슬슬 한계가 왔습니다.

FDD 대체할만한게 있어야겠구나. 좀 빨랐으면 좋겠는데... 선라이즈 IDE를 구하는것도 귀찮고 ㅋ

그 때쯤 MMC 카드라는게 눈에 보이더라구요.

크기도 작은데 용량이 32MB가 넘네... 이걸 MSX에서 쓰면 좋을텐데...

그러다 MMC Drive 만들게 되고, 2DD 디스크 게임도 MMC로 돌려보고...ㅋ


2007년 쯤에는 준성님의 MPX 카트리지가 나오면서, MP3도 들을 수 있게 되었구요.

MP3 재생하려니 MMC Drive 속도가 아쉬워서, MMC/SD Drive v2도 만들게 되었고...

그러다가 지금의 환경이 되었네요.


음... 두서없이 생각나는데로 써봤습니다.

결론은 turboR이 짱이다. 정도로 생각하시면 되겠습니다요. ㅎ.ㅎㅋ


그럼, 즐거운 밤 되셔요...