2018년 1월 8일 월요일

MMC/SD Drive V3 제작 #15 - 동영상을 돌려보아요!

아마 기억하시는 분이 계실 듯 하네요.

2009년에 MMC/SD V2용으로 동영상 플레이어를 만들었는데요.

크기는 좀(많이) 작지만 스크린12의 컬러풀한 영상을 볼 수 있었지요. 12FPS입니다.

궁금하시면 이쪽으로 --> https://youtu.be/1NytCAW1Dws


이번엔 MMC/SD V3로 조금 다른 방식의 영상을 만들어보았습니다.


스크린2 모드의 풀스크린(256 x 192 픽셀)으로 12FPS 영상을 구현했습니다.

스크린2를 사용하지만 V9938의 넓은(?) VRAM과 팔레트를 활용해서,

어느정도 최적화된 화면으로 인코딩을 해보았어요.


영상 데이터는 FAT16 드라이브에서 파일을 읽어서 표시합니다.

참고로 FAT16 드라이브의 최대 용량은 4GB인데요. (클러스터 64KB 경우)

이번 동영상 플레이어는 용량 제약이 없어서, 4GB 단일 파일로 쭈욱 재생할 수 있습니다.

(예전 MMC/SD V2에서는 64MB 영상이 최대 크기였지요.)


오디오 출력으로는 터보알 PCM 또는 코복스 PCM을 사용할 수 있습니다.

샘플레이트는 13KHz 정도되구요.


결론적으로, MSX2 기종에서 MMC/SD V3 + Covox만 꽂으면 영상을 볼 수 있다는 얘기지요.



아래는 영상재생 중에 찍은 사진입니다.

스크린2라서 한번에 16색 밖에 표시 못하지만, 적절한 팔레트 선정과 디더링으로...

사람 얼굴 정도는 식별 가능합니다. ㅎ.ㅎ;;





설명이 길었네요. 영상 몇개를 조금씩 재생해보았습니다. 한번 보시지요~

Big Buck Bunny -> Apink의 Mr.Chu -> IU의 좋은날 -> YS2 이터널 오프닝

순으로 나옵니다.





영상 하나 더 가욤~

요건 Bad Apple로 알려진 영상입니다.





그럼, 이만 물러갑니다~ ㅎ.ㅎ


2017년 12월 23일 토요일

IOBox 제작 #2 - OPL3 음악도 들어보아요~ ㅎ.ㅎ

데이터 전송 부분을 조금 개선했습니다.

거의 버벅임 없이 소리가 나네요. 으흐흐...


문사운드의 OPL4 칩은 사운드블래스터의 OPL3 칩과 호환이 됩니다.

그러니까, DOSBox로부터 넘겨받은 데이터를 그대로 문사운드로 뿌리면 끝~

그냥 영상으로 바로 보시죠~





그럼, 즐거운 주말 되세요!


2017년 12월 20일 수요일

IOBox 제작 #1 - MoonSound를 DOSBox의 사운드카드로 사용하기

혹시 기억하시는 분 계시려나요?

리눅스 용 paraMSX 에뮬레이터에 실기 turboR의 PSG, 키보드를 연결했던적이 있었죠.

자세한건 아래 링크 참고요~ ㅎ.ㅎ

http://cafe.naver.com/msx/3395


이번에는 윈도 용 PC 에뮬레이터인 DOSBox와 MSX를 연결했습니다.

DOSBox에 MSX 붙여서 뭘 하느냐구요? ㅋ


DOSBox에서는 애드립 및 사운드블래스터가 에뮬레이션이 됩니다.

FM 사운드로 사용되는 칩은 OPL2/3 계열이죠.

MSX의 MoonSound가 OPL4 칩을 사용하기 때문에 H/W적으로 OPL2/3와 호환됩니다.

DOSBox에서 OPL를 액세스 하는 코드를 변경해서, MSX의 사운드를 구동하게되면...

S/W 에뮬레이션 되는 사운드가 아니라, 야마하의 진짜 OPL 사운드를 들을 수 있겠죠!


MSX와 PC는 RS-232C 인터페이스로 연결이 되어있습니다.

보레이트는 115200BPS로 세팅했구요.


DOSBox SVN 소스의 IO 에뮬레이션 코드를 수정해서,

220H, 221H, 388H, 389H 포트 액세스를 MSX로 전송합니다.


MSX에서는 받은 데이터를 이용해서 MoonSound 및 PAC-V를 구동하게 됩니다.

간단한 프로그램을 하나 만들어서 돌려봅니다.

아래는 실제로 동작되는 순간을 찍은 모습입니다.




그러니까 요약하면...

윈도의 DOSBox의 사운드카드 IO가 MSX로 전달된다고 보시면 되겠습니다.



마지막으로 영상을 감상하시지요~ ㅎ.ㅎ

참고로 PC쪽의 스피커는 꺼둔 상태이구요. MSX쪽의 스피커만 켜져있습니다.





그럼, 즐거운 저녁 되세요!