2009년 12월 6일 일요일

MMC/SD Drive V1,V2 - 동영상/음악 인코더

인코더는 아래 파일 받으면 됩니다.

MMCSD_MediaEncode_091206.zip


아래는 인코딩된 짧은 샘플입니다.

MEDIA_sample.zip



------------------------------------------------------------------------------

    MovEncode & MediaMan (2009.12.06)

        By 서영만 (E-mail:sharksym@hitel.net)

------------------------------------------------------------------------------

 

* MMC/SD Drive에서 구동 가능한 PCM 또는 MOV 파일을 변환하고,

  DISKMAN에서 Import 할수 있도록 Disk Image를 만들어줍니다.

 

* PCM 만들기

  22KHz 또는 44KHz의 8Bit RAW 데이터 파일을 지원합니다.

 

  - 변환 방법

  별도의 프로그램은 제공하지 않습니다.

  윈앰프 등의 프로그램으로 쉽게 변환 가능합니다.

 

* MOV 만들기

  112 x 68 크기(16:9 비율) 12FPS의 동영상 또는

  168 x 104 크기(16:9 비율) 8FPS의 동영상을 지원합니다.

  인코딩 시, 스크린8(256컬러) 또는 스크린12(1만9천컬러) 선택 가능합니다.

 

  - 변환 방법

  VirtualDub 등의 동영상 편집프로그램으로

  원하는 크기 및 프레임 레이트에 맞춰서, 각 프레임을 BMP 파일로 Export합니다.

  영상은 0000.BMP, 0001.BMP, 0002.BMP... 이런 순으로 되어야합니다.

  원본 16:9 영상을 쓰면 MSX에서 거의 비슷한 비율로 보이게됩니다.

  4:3 영상이라면 좌우에 빈 여백을 넣어서 Export하면 됩니다.

  오디오는 8Bit 44100Hz PCM으로 Export합니다.

  WAV로 저장 후 RAW 파일로 변환하는 등의 방법을 쓰면 됩니다.

 

  *.BMP 파일들과 AUDIO.RAW 파일을 준비한 후,

  MovEncode.exe를 사용하여 인코딩합니다.

  참고로 윈도용 콘솔 프로그램입니다.

  실행은 아래 처럼 하면 됩니다.

  MovEncode 0000.BMP AUDIO.RAW [Enter]

  BMP 크기는 자동으로 인식하므로, 컬러 모드는 선택하면 됩니다.

  RGB332(스크린8) 또는 YJK(스크린12) 두가지만 됩니다.

  인코딩이 완료되면 MOVIE8.DAT 또는 MOVIE12.DAT 파일이 생성됩니다.

 

* PCM / MOV 파일을 묶어서 MMC/SD용 *.DSK 만들기

  MediaMan.exe을 이용하여 여러개의 PCM 또는 MOV를 합칠수 있습니다.

  최대 64MBytes까지 지원합니다.  (약7분의 동영상 또는 50분의 22KHz 오디오)

 

  - 실행 방법

  MediaMan Filename [Enter]

  MediaMan은 MEDIA.DSK 라는 파일로 미디어 파일을 한개로 묶습니다.

  MEDIA.DSK 파일이 없는 경우 새로 생성하며,

  이미 존재하는 경우 미디어 파일만 추가하게 됩니다.

  용량이 64MBytes를 넘어가는 경우 DISKMAN에서 Import가 불가능하니

  적당한 크기로 만드세요. ㅎ.ㅎ

 

* DISKMAN에서 Import 하기


  - 주의 사항

  MediaMan으로 만들어진 DSK 파일이 30MBytes보다 크면

  MMC/SD 시스템 디스크에 넣을 수 없으므로, 별도의 FAT16 포맷의 카드가 필요합니다.

 

  DISKMAN을 실행하여 디스크파일을 하나 만듭니다.

  INS키를 눌러 디스크를 추가할때, 디스크 종류를 Movie/Music 으로 선택합니다.

  리턴키를 눌러 Import를 하면 됩니다.

  Import가 완료되면 해당 디스크로 파티션 전환하여 실행하면 됩니다.

  디스크 자체는 DOS1 부팅디스크로 이루어지고,

  미디어 리스트(DISKLIST.DAT)와 미디어 플레이어(MPLAY.COM)가 들어있게 됩니다.

  MPLAY를 실행하면 MediaMan으로 추가했던 파일을 선택하여 플레이 할 수 있습니다.




2009년 11월 15일 일요일

파라동-4SLOT #1 CPLD 구현 및 테스트

이번에 흥건남자님이 확장슬롯 보드를 제작하고 있습니다.

여기 들어갈 서브슬롯 레지스터 회로를 제가 CPLD로 넣기로 약속(?)했습니다.

 

사실 서브슬롯 레지스터 구현은 간단한 것이라, 테스트 보드를 안만들어도 될 것 같았지만,

아무래도 안전하게 미리 해보는 게 좋겠지요. ㅎ.ㅎ;

 

일단 코드 다운로드(JTAG)하고 납땜하기 편하도록,

ALTERA CPLD인 EPM3032 44핀 PLCC 타입으로 결정했습니다.

 

44핀으로 만들려면 입력핀이 좀 부족하긴 한데 TQFP 납땜하는 것보다는 PLCC 소켓 꼽는게 제작하기 쉬우니까

일단 이렇게 하고, 모자라는 핀(어드레스 디코더 용)은 72LS20 한개로 보완하도록 했습니다.

(디바XX마트 쇼핑몰에서 구입시, 재료비 4000원 정도 나오네요.)

 

확장슬롯 처리는 왼쪽 소켓의 CPLD가 담당이고, 윗쪽에 3.3V 레귤레이터(CPLD 전원)랑 74LS20이 필요합니다.

보드에 슬롯 커넥터는 2개만 넣었습니다. (2개만 납땜하는데도 힘들어요...ㅋ)

 

사실 확장슬롯만 쓰면 아까울까봐, 여기에 1024KB 램 매퍼을 서브슬롯 0에 넣어서 IQ2000 활용에 보태려고 합니다. ㅎ

오른쪽 CPLD가 램매퍼 역할이고 그 옆에는 512KB SRAM 두개가 올라갈 예정입니다.

 

아래는 테스트 보드와 IQ2000/터보알에 꽂아 본 모습입니다.




본체에 꽂으면 사이즈가 딱 맞습니다. ㅎ.ㅎ

확장 슬롯에는 MMC/SD Drive v1.0과 v2.2를 한번 꽂아봤습니다.





PS. 완성 후 사진 추가합니다.

 

어제는 확장 슬롯만 동작 확인했었는데요, 이제 램매퍼도 구현되었습니다.

아래 사진 나갑니다요.

 

오른쪽 하단에 512KB SRAM 두개가 서브슬롯 0번에 연결됩니다.

(참고로 이 보드를 확장슬롯에 꽂으면 그냥 1024KB 램팩이 됩니다.)

 

램 매퍼도 같은 용량의 CPLD 한개로 구현되었습니다. OR 게이트 모자라서 74LS32 하나 추가했네요. ㅡ.ㅡ

램은 512KB / 1024KB  선택할 수 있도록 작은 딥스위치 하나 넣었습니다.




아래는 512KB SRAM 모듈 두장을 엎은 부분 사진입니다.

(SOP 변환 보드 무지 비싸요 ㅜ.ㅜ)

높이가 거의 일반 카트리지 높이랑 비슷합니다요.

왼쪽의 핀헤더 소켓은 IQ2000 상단 슬롯에 꼽을 때, 덮개에 걸리지 않도록 해줍니다. ㅋ




2009년 11월 13일 금요일

CPC-300 (IQ2000) 개조 - 동작 모습

막상 동작하는 것 찍어보려니, 특별 해볼만한게 생각이 안나네요. ㅎ.ㅎ;

 

BASIC으로 부팅 후, 키보드 (한글/일어/유럽 특수 문자/그래픽 문자 등) 좀 눌러보는 걸 찍어보았습니다.

 

순서는

대우 IQ2000, 대우 X-II, 파나소닉 FS-A1F, 필립스 VG-8240 순입니다.

참고로 모두 MSX2 모델입니다.

 

그럼, 감상하세요.

VG-8240의 경우 VDP 출력이 50Hz인데 수직해상도가 높다보니,

화면이 좀 눌린것 처럼 보이네요.