2015년 12월 26일 토요일

VGMPlay 1.1 for MSX 테스트 (MoonSound, SCC-I)

VGM (Video Game Music) 파일이 뭔지 아시나요? ㅎ.ㅎ

혹시 잘 모르시면, 아래 링크 참고하시구요. (도망..ㅋ)

http://www.smspower.org/Music/VGMFileFormat


요약하면,

VGM 파일은, 게임기 또는 컴퓨터에서 CPU가 사운드 Chip을 액세스하는 데이터들을 몽땅 로깅한 것입니다.

44100Hz 샘플링으로 되어있어서, 실제 기기에서 재생되는 것과 거의 동일한 품질로 사운드를 재생할 수 있어요.


암튼 요걸 MSX로 한번 재생해보았습니다.

프로그램은 제가 만든건 아니고 ㅋ

MRC의 grauw 아자씨가 만든걸 썼습니다. 버전 1.1까지 나와있구요.

원본 링크는 아래 참고하세요.

https://bitbucket.org/grauw/vgmplay-msx

https://bitbucket.org/grauw/vgmplay-msx/downloads


아래는 실기에서 VGMPlay 1.1 for MSX 구동한 영상입니다.

제 turboR에 문사운드, SCC-I 카트리지 장착된 상태이구요.

F1SPIRIT: PSG + SCC

GOONIES: PSC

SALAMANDER: PSG + SCC

YS II Special: OPL4(YM3812 OPL2 모드)

.. 순으로 나옵니다. 참고하셔요 ㅎ.ㅎ




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년 12월 6일 일요일

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

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


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

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


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

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


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

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

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


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

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




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

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

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




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

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


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

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


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

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


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