2015년 12월 15일 화요일

MMC/SD Drive V3 제작 #7 - SD 카드 초기화

MMC/SD V3 제작기 일곱번째입니다.

아마 이글이 제작기 마지막이 되지않을까 싶으네요. ㅎ.ㅎ


다 아시겠지만...

MMC/SD V3에서는 마이크로 SD카드를 디스크로 사용하게 됩니다.

SD카드 규격(표준)이 여러가지 있지만, 지원되는 모델은 microSD 타입의 SDSC 및 SDHC입니다.

아직까지는 2GB짜리 SDSC 카드를 구할 수 있지만, 8GB SDHC 카드를 추천합니다.

요게 이유가 있는데요.ㅋ


MSX-DOS는 디스크 드라이브 문자를 최대 8개까지 사용가능합니다.

A, B, C, .... H 이렇게요

만약 램디스크를 활용한다면, H드라이브가 램디스크로 고정되니까 A~G 7개의 드라이브를 쓸 수 있습니다.

물론 본체 내장된 FDD까지 쓴다면 드라이브 하나 더 줄어들겠네요.


그리고, 사용가능한 파일 시스템은 FAT16 2GB가 최대용량입니다.

그럼 MSX에서 한번에 사용가능한 드라이브 용량은 2GB x 8개 = 16GB가 된다는걸 알 수 있지요?


사실 MSX-DOS2를 쓰더라도 FAT16 드라이브로 부팅하려면 꼼수를 써야해서,

보통 부트 드라이브 A는 FAT12로 포맷해야합니다.

FAT12는 32MB를 최대용량으로 보시면 되겠습니다.


그럼 어느정도 용량이 적당할까... 고민을 해보니 8GB SD카드가 좋겠더라구요.

파티션은 아래 두가지 정도가 괜찮아보입니다.

1. FAT12 32MB + FAT16 2GB x 3 + FAT16 1.5GB

2. FAT12 32MB x 2 + FAT16 2GB x 3 + FAT16 1.4GB


아무래도 본체 FDD, 램디스크 또는 다른 디스크기기(선라이즈IDE, MMC/SD V2 등)와 함께 쓰려면,

드라이브 갯수에 여유가 있는편이 좋겠지요?




그럼, 실제로 MMC/SD V3 에서 SD카드 초기화하는 과정을 보겠습니다.


1. MMC/SD에 SD 카드 빼고 부팅

   이렇게 하면, 자동으로 내장 플래쉬롬에 들어있는 롬디스크로 부팅하게 됩니다.

   MMC/SD V2랑 비슷하지요.




2. 롬디스크로 부팅하게 되면, DOS2 에서 바로 M 파일 관리자가 실행됩니다.

   도스 커맨드 창보다는 이 방법이 더 쉬울 것 같아서요..ㅋ


   참고로 M LITE 버전이 실행됩니다.

   그리고 이번 V3는 기본 메모리 256KB가 되지 않으면 활용이 불가능합니다. ㅎ.ㅎ;;;

   메모리가 작은데 V3 쓰고 싶다구요? 그럼 매퍼램 팩을 추가하시면 되겠습니다요~ㅋ




3. 파일 목록을 보시면, 압축파일 3개랑 INSTALL.COM, COPYSYS.BAT 이 눈에 들어오지요?

   INSTALL.COM 프로그램이 SD카드 초기화(파티션 설정 + 포맷)을 담당합니다.

   실행하면 아래처럼 나타납니다요!




  SD카드를 꽂고 리턴키를 누르면, 위 스크린샷처럼 현재 SD카드에 설정된 파티션과 메모리 용량을 확인 할 수 있습니다.

  어차피 초기화하면 다 지워지니까, 크게 신경쓰실 필요는 없구요.


4. [ 파티션 설정 ] 메뉴에서 원하는 조합을 고르시면 되겠습니다.

  일반 FDISK 프로그램 처럼 파티션 ADD/DELETE 메뉴를 만드려다, 걍 요렇게 해봤어요.

  파티션 사이즈는 FAT12 32MB로 고정되어있습니다.

  참고로 FAT16 파티션은 INSTALL 프로그램에서는 설정이 불가능하니까, 윈도 용 파티션 설정 프로그램을 활용하셔야겠습니다.


  2번 선택으로, 32MB 파티션 두개를 할당해보았습니다.




  파티션 생성 + 포맷까지 한방에 -끝- ㅋ


5. INSTALL 프로그램이 종료되고, 다시 M 파일 관리자로 돌아오게됩니다.

  이제 남은건 COPYSYS.BAT 파일을 선택/실행입니다요...

  M에서 커서키를 탁탁탁...리턴 누르셔서 배치파일 실행하면, 아래처럼 뭔가를 열심히 복사하는 모습을 보게됩니다~




  INSTALL 프로그램은 1초만에 끝나지만, 파일 복사는 압축 해제과정도 있고해서리... 시간이 좀 걸립니다.

  HELP, UTILS, TOOLS 디렉토리에 파일들을 풀어넣는 과정입니다. 참고하셔요.


6. 파일 복사가 끝나면, 재부팅하라는 메시지가 나오고 멈추게 되는데요.

  과함히 MSX를 리셋(혹은 전원 OFF/ON) 해줍니다.

  재부팅하면, M 실행까지 자동으로 오게되구요. 아래처럼 파일 목록을 볼 수 있습니다.

  INSTALL.COM, COPYSYS.BAT 파일은 SD카드에 복사하지 않으니 놀라지마시구요.

  요것들은 롬디스크로 부팅할 때만 볼 수 있습니다.



  

여기까지 완료되면, 생성했던 FAT12 드라이브를 정상적으로 액세스 가능하게됩니다.

그럼 남은건 SD카드 빈 공간에 FAT16 파티션을 추가하는 부분이네요.

요건 MSX에서는 힘들어서 파워풀~ MS 윈도에서 작업하도록 하겠습니다. ㅋ


7. 저는 MiniTool Partition Wizard Free 라는 프로그램을 사용했습니다. (무료입니다)

  아이콘 클릭, 클릭하면 쉽게 파티션 추가가능합니다.

  아래처럼 2GB 3개랑 1.3GB 1개 추가해보았습니다.




MiniTool Partition Wizard에서 파티션 생성 시, 포맷도 자동으로 됩니다.

생성 완료되면 SD카드를 MMC/SD Drive로 옮겨서 사용하시면 되겠습니다요!!


아래는 MSX에서 부팅한 모습입니다.

A ~ F까지 6개의 드라이브가 나타난걸 볼 수 있지요? (참고로 MMC/SD 팩은 본체 1번 슬롯에 꽂았습니다.)




아래는 부팅 후, FAT12 파티션 생성/포맷, 파일 복사가 진행되는 걸 동영상으로 찍은 모습입니다.

한번 쓰~윽 보시면 될 것 같네요. ㅎ.ㅎ

즐거운 밤 되셔요~




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년 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이 짱이다. 정도로 생각하시면 되겠습니다요. ㅎ.ㅎㅋ


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