레이블이 _MoonBase인 게시물을 표시합니다. 모든 게시물 표시
레이블이 _MoonBase인 게시물을 표시합니다. 모든 게시물 표시

2023년 8월 12일 토요일

제가 만든 기기의 PCM 출력 종류

어제 파라동에서 MV Player의 PCM 포트에 대한 댓글을 적다가 생각나서 조금 적어봅니다.


제가 만든 기기들 중에 PCM 기능이 들어간 3종류의 기기가 있습니다.


1) MMC/SD Drive V4

-> unsigned 8bit mono PCM


I/O 포트는 필립스 뮤직모듈(0AH) 또는 코복스(91H)로 선택가능합니다. (default: 91H)

참고로 V4를 두개 꽂으면, 각각 뮤직모듈과 코복스로 자동설정됩니다.

MMCSD/COM에서 MV/MA Play 시 사용됩니다.



2) T-Wave

-> unsigned 8bit stereo/mono PCM


전용의 I/O 포트(mono: 3CH, stereo: 3DH)를 사용합니다. (default: OFF)

스테레오 데이터는 L -> R -> L ... 순서입니다. WAV 파일의 데이터 순서와 같습니다.

MMCSD.COM에서 MV/MA Play 시 mono 포트가 사용되며, 스테레오 WAV를 재생할 때는 stereo 포트가 사용됩니다.



3) MoonBase

-> signed 16bit mono PCM, unsigned 8bit mono PCM


16bit PCM은 전용의 I/O 포트(3EH)를 사용합니다. (default: OFF)

16bit 데이터는 low 8bit -> high 8bit -> low 8bit ... 순서입니다. WAV 파일의 little-endian 순서와 동일합니다.

MMCSD.COM에서 16bit WAV 재생 시 사용됩니다.


8bit PCM은 필립스 뮤직모듈(Y8950 + unsigned 8bit PCM)을 에뮬레이션합니다.

I/O 포트는 뮤직모듈(08H ~ 0FH)를 사용하며, 리셋 기본값은 포트 OFF입니다.

Y8950의 GPIO 에뮬레이션으로 ON됩니다.

MMCSD.COM에서 MV/MA Play 시 사용되며, 모노 WAV를 재생할 때에도 활용됩니다.


마지막으로,

MMCSD.COM에서 8bit PCM 출력시의 포트 우선순위입니다.

1. T-Wave

2. MMC/SD V4

3. turboR PCM

4. Philips Music Module



그럼 즐거운 주말되세요~ ㅎ.ㅎ/


2023년 5월 17일 수요일

MoonBase - FEEDBACK의 BGM을 들어보아요~

오랜만에 영상을 하나 찍어보았습니다.


테크노소프트의 역작! FEEDBACK의 뮤직모드 영상이구요.

MoonBase의 PCM Drum을 함께 들을 수 있습니다 ㅎ.ㅎ/~

스테이지 6개 및 오프닝#2의 BGM이 나옵니다. 약 7분 정도 되네요.



그럼, 전 이만...


2022년 5월 7일 토요일

MoonBase Tool v1.00


Download: MoonBase Tool v1.00


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

MoonBase(tm) Tool v1.00

    By Yeongman Seo <sharksym@hitel.net>

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


[ MOONBASE.COM ]


MSX-DOS1/2 용 MoonBase 설정 프로그램입니다.


현재 동작모드를 확인할 수 있으며,

OPLL Drum의 PCM set 및 volume을 조절할 수 있습니다.



[ 사용법 ]


MOONBASE [Option]


Option: /Sn: SLOT-ID

        /Pn: OPLL Drum PCM  (n=0 to 1)

        /Vn: OPLL Drum Vol. (n=0 to 7)


Eg: MOONBASE /P1 /S23

        MOONBASE /V3


2022년 5월 4일 수요일

2021년 9월 10일 금요일

MoonBase - 달기지 이동 중...



MoonBase 보드가 완성되었습니다.

케이스 작업 및 배송은 맛탱이님께서 해주시겠습니다.

추석 연휴 후 배송될 예정입니다~ ㅎ.ㅎ


2021년 8월 1일 일요일

MoonBase 제작 #5 - OPLL 용 PCM 드럼셋을 두개로~

플래쉬롬과 로직에 조금 여유가 있어서, PCM 드럼셋을 하나 더 추가해보았습니다.

약간 드라이(?)한 느낌 드럼셋입니다 ㅎ.ㅎ


먼저 사이코월드 오프닝 영상을 녹화해보았습니다.

첫 오프닝은 기존 드럼셋을 사용하구요. 두번째 오프닝은 추가된 드럼셋을 사용합니다.

비교해서 한번 들어보셔요~





아래는 MGS 파일 3개를 재생 후,

기존 드럼은 왼쪽 오디오로, 추가된 음원은 오른쪽 오디오로 편집해서 넣었습니다.

OPLL 멜로디는 양쪽이 같으니까 모노로 들리겠구요.

드럼 사운드는 스테레오로 들리겠습니다.


드럼 비교용으로 만든건데, 이렇게 들어보는 것도 재밌네요.

모노 오디오는 뭔가 좀 먹먹한 느낌이 있어요. 흐...

https://soundcloud.com/yeongman-seo/moonbase-drum-set-l-r-mgs-music



그럼, 즐거운 일요일 되세요! ㅎ.ㅎ


2021년 7월 18일 일요일

MoonBase 제작 #4 - 동작 모드

먼저 기존 MSX-Audio 기기들의 차이를 설명해드리는게 좋겠죠?


파나소닉 FS-CA1, 필립스 NMS 1205 (뮤직모듈), 도시바 HX-MU900 세종류의 카트리지가 있습니다.

모두 Y8950 칩과 32KB의 샘플램(ADPCM 용 SRAM) 내장이구요, 뮤직 키보드 용 커넥터가 있습니다.

기본 기능은 똑같다고 보시면 되겠네요.


* 파나소닉 FS-CA1 

Y8950 (OPL + ADPCM 32KB)

Audio BIOS: O

I/O Port 변경: O

MIDI: X

PCM u8: X


* 필립스 NMS 1205

Y8950 (OPL + ADPCM 32KB)

Audio BIOS: X

I/O Port 변경: X

MIDI: O

PCM u8: O


* 도시바 HX-MU900

Y8950 (OPL + ADPCM 32KB)

Audio BIOS: X

I/O Port 변경: X

MIDI: X

PCM u8: X


S/W 호환성(BIOS)을 고려하면 파나소닉이 최선의 선택지입니다만,

BIOS 보드 개조를 기본으로 가정하면, H/W 기능이 더 많은 필립스 NMS 1205가 좋습니다.

ADPCM 샘플램을 32KB -> 256KB로 증설하는게 기본 소양(?)이라서,

BIOS 보드(Audio BIOS 1.3 개조버전)도 함께 추가 해주는게 좋습니다요.

필립스/도시바 카트리지 용으로 개조 보드가 제작/판매된 적도 있었죠.


MoonBase의 기능은 아래처럼 정리가 되겠네요.

Ext.OPL + ADPCM 256KB: O

Audio BIOS: O

I/O Port 변경: O

MIDI: X

PCM u8: O

PCM s16: O


저는 필립스 NMS 1205의 샘플램이 256KB으로 개조되어있구요.

문사운드는 샘플램 1024KB 증설해서 사용하고 있습니다.


근데, 필립스 뮤직모듈의 출력이 좀 작은편에 노이즈가 좀 있어서,

항상 꽂아놓고 쓰기가 좀 애매하더라구요. (믹서 출력을 많이 높이다 보니..ㄷㄷ)

최근 5년정도는 거의 문사운드 하나만 꽂고 쓴 듯 합니다.

그러다보니, MSX-Audio 용 프로그램을 쓰려고 뮤직모듈을 꺼내기도 귀찮고 좀 그랬죠.


MoonBase를 제작하게 된 이유가,

문사운드(OPL4) 호환 기기는 흔하게 쓰이고 있으니,

"슬롯 낭비 없이 카트리지 두개를 합체해서 MSX-Audio 기기로 동작하도록 해보자"였습니다요~ ㅎ.ㅎ


그리고 듀얼 MSX-Audio를 쓰려면, 파나소닉의 FS-CA1 두개가 필요한데요.

MoonBase도 포트 변경이 가능하니, 필립스/도시바 기기와 조합으로도 쓸 수 있습니다.

포트 변경이 안되는 필립스/도시바 카트리지는 기존 포트 C0H/C1H 사용,

MoonBase는 C2H/C3H 포트를 사용하는거죠.


보통 C0H/C1H 포트가 기본(마스터)으로 쓰이기 때문에,

NMS 1205 + MoonBase + MoonSound 조합으로 구동하면 NMS 1205의 OPL + ADPCM이 기본포트가 됩니다.

.

.

.

듀얼 Audio를 쓰는 프로그램이 거의 없다는게 함정이지만요ㅋㅋ


그 외, 필립스 카트리지와 호환되는 Mono PCM u8 (unsigned 8bit)이 들어있구요.

Mono PCM s16 (signed 16bit)도 들어있습니다.

MMCSD.COM의 WAV 플레이어를 구동하면,

Mono/Stereo u8 WAV는 T-Wave로

Mono u16 WAV는 MoonBase로 출력가능합니다.




이제 본론으로 넘어가서...

MoonBase의 동작모드에 대해 알아보겠습니다요~


아래처럼 보드 왼쪽에는 3단 슬라이드 스위치가 있는데요.

부팅 할 때 스위치 위치에 따라 동작 모드가 결정됩니다.

일단 부팅 후에는 슬라이드를 움직여도 모드가 바뀌지는 않아요.

BIOS가 동작하는 도중에 바꾸면 죽으니까, 일부러 막아놨습니다ㅋ





각 모드의 설명 나갑니다~


* (상) BIOS FS-CA1 OPL with ADPCM


MoonBase + MoonSound(OPL4 호환) 카트리지 하나만 사용하는 경우 유용합니다.

파나소닉의 오리지널 BIOS와 ADPCM용 샘플 데이터 64KB롬이 동작합니다.

BASIC의 COPY PCM 등의 모든 명령어가 다 동작합니다.

단, MoonBase는 ADPCM 레코딩(encoder) 기능이 없다는걸 기억하시구요! ㅎ.ㅎ


FS-CA1와 같은 방식으로 포트 스위칭이 가능합니다.

만약 파나소닉 카트리지가 있다면, 함께 꽂아서 마스터/슬레이브로 사용가능합니다.

(참고: 빠른 슬롯에 꽂은 카트리지가 마스터가 됩니다.)



* (중) BIOS 1.3 OPL with ADPCM


개조 BIOS인 Audio BIOS 1.3 (HX-MU900 모드)을 사용합니다.

MoonBase + MoonSound(OPL4 호환) 단독으로 사용 시, C0H/C1H으로 구동됩니다.

필립스/도시바 카트리지에 BIOS 개조킷(+ ADPCM 256KB)을 장착한 것과 동일한 상태가 됩니다.

개조 BIOS는 ADPCM 샘플롬을 지원하지 않기 때문에 COPY PCM 등의 명령은 사용불가능합니다.

그 외 기능은 FS-CA1과 동일합니다.

개조 BIOS 문서 상에는 OPL 중복 처리 등의 코드가 제거(개선)되어 있다고 하네요.


만약 필립스/도시바 카트리지를 추가 장착하는 경우는

MoonBase의 포트가 C2H/C3H로 변경되어 슬레이브로 동작합니다.

저처럼, MoonBase + MoonSound를 기본 세팅으로 쓰다가,

뮤직모듈 추가해서 듀얼 ADPCM을 쓰는 시나리오에서 가장 유용하게 쓸 수 있겠습니다.


아래 사진은 GT의 슬롯1에 MoonBase + MoonSound를 꽂고

후면 확장슬롯에 필립스 뮤직모듈을 꽂은 상태입니다.





* (하) BIOS 1.3 OPL3 with OPLL Drum


개조 BIOS인 Audio BIOS 1.3 (OPL3 모드)을 사용합니다.

이 때는 MoonBase의 포트 포워딩(C0H/C2H -> C4H/C5H)이 비활성됩니다.

BIOS에서 직접 OPL3(OPL4)를 컨트롤하기 때문에 필요가 없죠.


근데 OPL3 모드에서는 ADPCM 관련 루틴이 제거되어있습니다. OPL3/OPL4 칩은 ADPCM이 없으니까요.

대신 MoonBase의 OPLL Drum 기능을 사용할 수 있습니다.

MSX-Music의 OPLL 리듬모드 I/O를 5채널의 PCM으로 변환해서 구동하는 모드입니다.

부드러운 FM 멜로디에 강력한(!) 드럼 소리가 추가됩니다.

YM2608의 FM + PCM 드럼 사운드와 유사한 방식입니다~ ㅎ.ㅎ



* OPLL Drum without BIOS


이 모드는 슬라이드 스위치 설정과 상관없이, 부팅 시 M 키를 누르면 선택됩니다.

Audio BIOS가 인스톨 되어있을 때 S/W 호환성 문제가 생기거나,

MSX-Audio를 지원하는 S/W에서 강제로 MSX-Music을 쓰고 싶을 때 쓰시면 됩니다.


예를 들어 제비우스처럼 MSX-Music과 MSX-Audio를 둘 다 지원하는 게임에서,

이 모드를 선택하면 MSX-Audio 사운드 대신 MSX-Music + PCM 드럼 사운드를 들을 수 있게됩니다.




[요약]


(상) BIOS FS-CA1 OPL with ADPCM

-> MoonBase + MoonSound 단독 또는 MoonBase 2개으로 사용 시.


(중) BIOS 1.3 OPL with ADPCM

-> MoonBase + MoonSound 사용 중, 필립스/도시바 카트리지를 추가 사용으로 듀얼 ADPCM 구동.


(하) BIOS 1.3 OPL3 with OPLL Drum

-> OPL3(OPL4) 모드를 주로 사용하고, Audio BIOS (ADPCM 제외) 및 OPLL 드럼 사운드 활용 시.


OPLL Drum without BIOS

-> Audio BIOS 호환 문제 회피 또는 MSX-Audio 대신 MSX-Music + OPLL 드럼으로 고정 사용 시.




MoonBase의 기본 정보는 요렇게 마무리합니다.

그럼, 즐거운 일요일 되세요! ㅎ.ㅎ


2021년 7월 15일 목요일

MoonBase 제작 #3 - OPLL 용 PCM Drum




음... 기억하시는 분이 있으려나요?

21년전ㅋ paraMSX 0.13 버전에서 FM 사운드가 처음으로 들어갔는데요.

그시절엔 OPLL 사운드를 합성하는 방법을 몰라서, 적당한 PCM으로 걍 때려넣었습니다.

FM 사운드가 이상하다는 피드백이 난무했었지요...ㅎ.ㅎ


갑자기 이 얘기를 왜 했냐면요~

그 때 넣었던 FM Drum을 이번에 또 만들었거든요ㅋ


MSX-AUDIO, OPL4 모두 훌륭한 사운드를 만들어내지만,

대부분 게임에서는 MSX-MUSIC (OPLL)을 활용합니다.

이런 경우는 MoonBase랑 MoonSound를 합체해봐야 전기만 먹을뿐이겠죠? ㅎ.ㅎ


그.래.서.

MoonBase의 동작 모드를 하나 더 추가했습니다.

OPLL에 어울리는 드럼 사운드를 만들어내는거죠. PCM으로요!


근데 FM 사운드에 PCM 드럼을 섞는게, 이미 오래전부터 익숙하실겁니다요.

YM2608, YM2610 같은 칩의 음악을 많이 들어보셨을꺼에요.

MoonBase는 내장된 PCM음원으로 드럼 소리를 만드는거니까,

구조적으로는 YM2608쪽에 더 가깝겠네요.


MoonBase의 드럼 샘플은 44.1KHz 8BIT MONO PCM으로 들어갑니다.

본체의 OPLL 사운드와 드럼 사운드가 적당히 밸런스가 맞아야 듣기 좋으니까,

드럼 출력레벨을 8단계로 조절할 수 있도록 해놨습니다.

제 GT 기준으로 레벨4가 적당한 출력이 되도록 레벨 테이블을 만들었습니다.

쓰시는 FM내장 기종 또는 외장 FMPAC에 맞도록 조절하시면 되겠네요.


MoonBase의 왼쪽에는 3단 스위치가 있습니다.

이걸로 BIOS 또는 ADPCM / PCM 드럼 선택이 가능합니다.

자세한건 다음번에서 소개해드리겠구요.

이번엔 PCM 드럼 소리만 영상으로 감상하시죠.


영상에서는 OPLL 사운드를 쓰는 오리지널 Fire Hawk 버전과

Audio BIOS 1.3을 지원하도록 패치된 Fire Hawk 버전을 함께 사용했습니다.

영상 데모는 아래순으로 진행됩니다.

1. OPLL 사운드

2. Audio BIOS 1.3 OPL3 사운드

3. OPLL + PCM Drum 사운드

4. 외부 믹서 조절






그럼, 다음편에서 뵈어요~ ㅎ.ㅎ


2021년 7월 10일 토요일

MoonBase 제작 #2 - MoonSound와 합체

테스트 용 PCB가 나왔네요~ ㅎ.ㅎ




S/W 입장에서 본 MoonBase 카트리지는 기본적으로 MSX-AUDIO 호환입니다.

Y8950 칩 대신,

- 외부 OPL4 카트리지에서 Sec.FM 파트를 가져오고

- MoonBase에서 ADPCM-B 파트를 구현해서

합체합니다.


MSX-AUDIO의 I/O 포트는 C0H 및 C1H 주소를 사용하는데요.

MoonBase도 동일한 주소를 제공합니다.

만약 컨트롤 레지스터 번호가 20H ~ FFH 영역(FM 파트)이 되면,

외부 슬롯 커넥터쪽의 C6H, C7H 포트로 컨트롤이 전달됩니다.

결국 외부 OPL4 카트리지의 Sec.FM 파트가 동작하게 되는거겠지요.


실제 사용 시, 아래처럼 MoonBase 위에 OPL4 카트리지를 장착합니다.

OPL4의 오디오 출력을 MoonBase로 입력하면 ADPCM과 믹스되어 최종출력됩니다.

오디오 밸런스는 문사운드 카트리지를 기준으로 되어있구요.





MSX-AUDIO 파트는 더 이상 설명이 필요없겠네요.

그냥 영상으로 보시죠~ ㅎ.ㅎ


세가지 뮤직/데모 디스크를 구동하는 모습입니다.

먼저 MSX-AUDIO 전용인 Muzax3, Impact4의 영상이 나오고,

마지막으로 MSX-AUDIO과 MSX-MUSIC을 함께 쓰는 Unknown Reality의 영상이 나옵니다.





그럼, 다음편에서 뵈어요~ ㅎ.ㅎ


2021년 6월 25일 금요일

MoonBase 제작 #1 - 달기지 건설

작년에 T-Wave를 만들었는데, 이번엔 조금 다른 사운드 카트리지를 만들어봅니다.

카트리지 이름은 'MoonBase'로 지었습니다. 우리말로 하면 '달기지' 정도?ㅋ



[서론]


PSG, PPI 1BIT 사운드는 MSX1부터 기본으로 들어간 사운드인데요.

그 후 MSX-AUDIO, MSX-MUSIC가 표준기기로 추가되었습니다.

나중에 90년대에 선라이즈가 OPL4 칩을 이용한 MoonSound 카트리지가 등장했구요.


근데 MSX-MUSIC 경우는 본체에 내장된 기종이 나올 정도로 보편화되었지만,

MSX-AUDIO는 사용자가 많지 않았습니다.

나중에 나온 저가형 MSX-MUSIC에 완전히 밀려버렸지요 ㅎ.ㅎ


MSX-AUDIO는 기본 OPL 사운드에 4BIT ADPCM 입출력, 뮤지컬 키보드, 미디 입출력까지 들어간...

좀 후덜덜한 외장 기기였습니다.

ADPCM 샘플 메모리는 기본 32KB가 내장이고, 최대 256KB로 증설가능합니다.

당시 많은 MSX1 기종의 메인램이 32KB였던걸 고려하면, ADPCM 기능 하나만으로도 좀 오버스펙이었습니다요~

필립스의 MSX-AUDIO인 MusicModule 카트리지에는 8BIT PCM 사운드도 추가되어있었구요.


유럽쪽은 뮤직모듈이 흔해서 그랬던걸까요? 유저들이 만든 MSX-AUDIO 용 뮤직 디스크가 꽤 있습니다.

물론 Unknown Reality 같은 유명한 데모에서도 ADPCM을 들을 수 있죠.

"Jump Jump~" 목소리가 나오는 데모는 샘플램이 256KB가 아니면 플레이 안되고 스킵됩니다 ㅎ.ㅎ

이거 들으려고 뮤직모듈을 사자마자 뜯어서 램 추가했었지요~


그 후 문사운드를 구해서 IMS, MOD 등을 주로 듣다보니, MSX-ADUIO쪽은 좀 멀어지긴했네요.

물론 MPX로 MP3를 듣는 시간도 꽤 늘었구요.

.

.

.

그렇게 수년이 흘렀습니다.

2016년 정모때였나요? 준소프트님이랑 잠깐 얘기나눴던 기억이 나네요.

그게 "ADPCM을 추가해서 만드실 계획은 없나요?"였죠.


문사운드의 OPL4는 기본적으로 OPL, OPL2, OPL3 하위 호환이 됩니다.

MSX-AUDIO의 Y8950 칩은 OPL에 ADPCM과 GPIO가 추가되어있는데요.

OPL4에 ADPCM을 추가하게 되면, 굳이 두개 카트리지를 꽂을 필요없이 하나면 충분하겠죠?

구하기 힘든 MSX-AUDIO 보다는 OPL4를 확장하는게 더 쉬우니까요.


이제 2021년입니다.

그렇게 목마른 사람이 우물을 파는 해가 되었습니다 ㅎ.ㅎ




[본론]


MoonBase의 기본(최소) 기능은 Y8950의 4BIT ADPCM 출력입니다.

(그 외의 부가기능은 다음편에서 알려드리겠습니다요)


야마하 사운드칩에서 흔하게 보이는 ADPCM은 두종류가 있는데요. ADPCM-A, ADPCM-B이죠.

Y8950에 들어간 놈은 ADPCM-B입니다.

최대 16KHz 출력이 가능하구요.

샘플램 256KB를 다 채우면, 16KHz 샘플을 32초 동안 플레이가능합니다.

8KHz 정도의 낮은 음질이라면 64초를 버틸 수 있겠네요.


기본 환경은 ADPCM을 문사운드의 OPL4와 조합해서 MSX-AUDIO + OPL2 환경으로 만들어주는겁니다.

OPL4를 Full로 사용하는 S/W는 MSX-AUDIO의 OPL를 함께 쓸 확률이 없으니,

이렇게 조합하면 여러가지로 활용이 가능하겠죠?


MSX-AUDIO는 최대 두개의 카트리지를 쓸 수 있습니다.

Primary는 C0H, C1H 포트를 사용하고

Secondary는 C2H, C3H 포트를 사용합니다.


문사운드(OPL4)의 FM 사운드(OPL3)는 Main C4H, C5H 포트와 Sub C6H, C7H 포트를 사용합니다.

야마하가 OPL 하위 호환을 위해 이렇게 일부러 이렇게 만들어놨어요.

칩 매뉴얼 보시면 Main/Sub의 FM 레지스터(20H ~ FFH)가 동일하게 되어있습니다.

그러니까 OPL2의 FM 사운드를 두개 넣었다고 보시면 무방합니다.

(레지스터 00H ~ 1FH 사이는 칩별로 조금씩 차이가 있어요.)


그러면, 달기지에서 C0H, C1H 포트로 레지스터 00H ~ 1FH를 구현하고,

FM 레지스터는 문사운드의 C6H, C7H 포트로 쓰도록 해주면??

두개를 잘 활용할 수 있겠죠?


이걸 수식으로 적어보면요 ㅋ

OPL4 = OPL3 + Wave

OPL4 = OPL2 + OPL2 + Wave

OPL4 + MoonBase = OPL2 + (OPL2 + MoonBase) + Wave

OPL4 + MoonBase = OPL2 + Y8950 + Wave

이렇게 되겠습니다.


왜 이 짓(?)을 하는지 이해가 안되시면, 위의 [서론]을 다시 읽어보세요ㅋㅋ

마음 같아서는 MoonBase에 OPL4를 때려넣고 싶지만,

이미 OPL4 호환기기가 워낙 많기도 하고...

OPL4 관련 칩들을 구하는것도 쉽지않고... 뭐 그렇습니다.


(흐... 제가 쓰는 뮤직모듈은 카트리지가 두꺼워서, 확장슬롯에 꽂아두기가 좀 힘듭니다.

이것도 사실 좀 문제였어요.)



그럼, ADPCM 부터 구현해보아요~

로직을 VHDL로 다 때우면 CPLD 용량을 많이 잡아먹으니, 최대한 외부 플래쉬롬을 활용해서 구현합니다.


일단 기본적인 컨트롤 레지스터와 샘플 메모리 R/W 및 ADPCM 디코딩, PCM 출력부분을 넣었습니다.

타이머 2개와 인터럽트는 미완인데, 대부분 뮤직 디스크들은 구동이 되네요. 타이머를 안쓰나봐요.


아래 영상은 실제로 구동한 모습입니다.

테스트를 위해, "GT 본체 + V4 + MoonBase" 딱 요렇게만 환경을 구성했어요.


영상에서는 MSX-AUDIO 전용인 Impact4 뮤직 디스크가 실행됩니다.

처음부터 끝까지 자동재생이라 테스트하기 좋군요.

전체 재생시간이 30분을 넘어가니까, 대충 돌려보세요 ㅎ.ㅎ

FM으로는 만들기 힘든 드럼, 박수, 목소리를 ADPCM으로 어떻게 활용하는지 쉽게 확인가능합니다.

(주의: 영상에서는 OPL 사운드 없이 ADPCM만 나옵니다!)






[요약]


OPL4 카트리지를 MSX-AUDIO 처럼 활용하려면?

-> MoonBase(달기지) 카트리지와 합체하세요.



그럼, 오늘은 여기까지이구요. 다음편에서 또 이어지겠습니다~