2009년 8월 7일 금요일

MMC/SD Drive V2 - 동영상 구현 #2

이번엔 데이터량을 MMC/SD 드라이브 한계까지 올려서 만들어보았습니다.


지난번 12프레임 영상은 128 x 68 크기였는데, 104KB/s 정도이고요. (오디오는 13KHz)

이번 8프레임 영상은 192 x 104 크기로 159KB/s 정도입니다. (오디오는 19KHz)


3.58MHz Z80 노말 모드에서 구동되고,

스크린12 모드를 쓰기 때문에 MSX2+ 또는 터보알에서만 제대로 볼 수 있습니다.


참고로, 256 x 138 크기로도 테스트를 해봤는데, 이걸로는 4프레임이 한계네요.

움직임이 느린 뮤직비디오 정도는 괜찮겠지만 별로 안좋더군요.


그럼, 동영상 감상해보세요~

이번에도 매트릭스 릴로디드 트레일러입니다.



2009년 8월 6일 목요일

MMC/SD Drive V2 - 동영상 구현 #1

그저께 PCM 플레이어 만든 후, 바로 동영상 플레이어 제작에 들어갔습니다.


일단 CPU 여유 타임을 고려해보니,

초당 128 x 68 (와이드 영상) x 1Byte x 12 frame이 처리 가능하겠더군요.

수평 128 Bytes중 16Bytes가 사운드로 재생(13056Hz)됩니다.


초당 104KB 데이터를 처리하는 것인데,

아직 30%정도 CPU 여유가 있긴 합니다.


그래픽 모드의 MSX2+ 이상에서만 사용되는 스크린12모드입니다.

수평 4픽셀끼리 컬러를 공유하기 때문에 약간 눈에 거슬리는 것도 있지만,

테스트 해보니 스크린8의 256고정 컬러보다는 더 낫더군요.


화면의 1/6정도로 작은 크기지만, 초당 12프레임의 부드러운 영상을 볼 수 있습니다.

참고로, 페이지 플리핑도 하고 있어서 볼만하네요. ㅎ.ㅎㅋ


전에 SymbOS에서 동영상 플레이 할때는 비슷한 크기에 사운드 없이 5프레임/초 정도가 한계였는데,

역시 메모리 전송없이 바로 VDP로 쏘니깐 빨리할 수 있네요.


설명이 길었습니다. 아래 동영상 감상하세요~



2009년 8월 4일 화요일

MMC/SD Drive로 PCM 오디오 구현

오늘(아... 어제인가요ㅋ) 갑자기 MMC/SD Drive 전용 동영상 플레이어를 만들면 어떨가 생각되서,

일차로 PCM 사운드 플레이어를 만들어봤습니다.

메가스카시/선라이즈IDE용으로는 Eva Player라는 동영상 플레이어가 있는데 같은 종류라고 보면 됩니다.

(전 이거 구동되는 걸 본 적이 없네요. ㅎ.ㅎㅋ)

 

사운드 출력은 터보알의 내장 8비트 DAC을 씁니다.

PCM 데이터를 전송하는 방법은,

일단 디스크 파티션을 하나 만들고 0번 섹터부터 그냥 PCM RAW 데이터를 주욱 넣었습니다.

FAT를 안쓰는 것이지요. 으흠...

 

데이터는 8Bit 44.1KHz 오디오입니다. 윈앰프 플러그인으로 간단하게 몇개 만들어서 넣어봤습니다.

음이 안끊기고 출력하려면, 디스크에서 읽은 데이터를 타이밍 맞춰서 DAC으로 보내야하는데,

이걸 MMC/SD BIOS 내부에서 직접 1Byte씩 읽어서 출력하도록 만들었습니다.

 

실제 해보니, MMC/SD HW V2에서는 속도가 빨라 여유가 좀 되는 듯 하고요.

HW V1에서는 가까스로 타이밍이 맞긴하네요. ㅎ.ㅎㅋ