2020년 4월 16일 목요일

이제는 유물이 된 MMC/SD Drive V1

서랍 정리하다 나온 물건입니다~ ㅎ.ㅎ

'MMC/SD Drive V1'




MMC/SD V1를 공개 후, 2005년엔가 스페인의 Padial 씨가 PCB를 만들어줬는데요.

위의 사진은 파란 파라동 시절(2007년쯤)에 국내에서 제작한 PCB가 들어간 카트리지입니다.

옆에 MMC 256MB 카드가 보이네요. V2 나오기 전에는 이름도 'MMC Disk Interface'였지요. ㅎ.ㅎ


참고로 제가 직접만든 카트리지(고파의야망 개조)는,

V1 -> V2 -> V2.2 -> V2.2 MultiROM-II 으로 계속 업글했기 때문에 구버전 카트리지는 남아있지않습니다.



오랜만에 FS-A1에 꽂고 조금 돌려봤네요.

A1은 메모리개조 안된 순정 64KB 상태입니다.

메모리매퍼가 아닌 일반램 64KB가 장착된 모델이라 나름 유니크합니다. (싸구려란 얘기ㅋ)


역시 플래쉬메모리가 좋네요. 18년쯤 된 MMC인데 잘 돌아갑니다~ ㅎ.ㅎb





그럼, 이만~~


2020년 4월 12일 일요일

T-Wave 제작 #7 - 스테레오 DAC 모드




T-Wave에 스테레오 출력이 지원되면서, DAC 동작 테스트를 위한 모드가 들어있습니다.

8BIT PCM 두개를 포트로 쓰면, DAC-L/R로 출력되는거라... 코복스 2개가 붙은걸로 생각하시면 되겠네요.


일단 T-Wave H/W는 개발이 완료된 상태인데요.

CPLD 용량이 모자라면 테스트 모드를 제거할 계획이었는데, 용량이 딱 맞게 구현이 되는 바람에.. ㅎ.ㅎ

암튼 이 모드를 사용하는 모습도 한번 영상으로 담아보았습니다.


MMC/SD에서는 헤더없는 8BIT 44100Hz Mono PCM을 재생하는 기능이 들어있는데요.

요기에 8BIT 22050Hz Stereo PCM을 출력할 수 있도록 BIOS를 수정했습니다.


PCM파일은 일반 WAV 포맷을 그대로 사용합니다.

왠만한 오디오 에디터는 8BIT WAV를 지원하니까 그걸로 쓰시거나,

아래처럼 MMCSD_AVGEN으로 변환하셔도 되겠습니다.

ffmpeg을 활용하기때문에 입력파일에 동영상, MP3 등 아무거나 다 넣을 수 있어요.





WAV 재생은 MA파일과 같은 방식으로 동작합니다.

그냥 MMCSD.COM 프로그램을 쓰시면 되겠죠~


그럼, 동작하는 모습을 구경하셔요.

스테레오 파형을 눈으로 확인가능하도록 영상에 오디오 파형을 오버레이해놨습니다.

(다음부터는 오디오 관련된 영상 찍을 때는 파형을 꼭 넣어야겠어요. 눈으로 보니까 좋네요! ㅎ.ㅎ)






그럼, 다음편에서 보아요~ ㅎ.ㅎ


2020년 4월 11일 토요일

T-Wave 제작 #6 - SCC-I, Sec-PSG, Stereo DCSG




WSG 동작은 대충 보셨으니, 나머지 잡다(?) 사운드도 구경하시죠~ ㅎ.ㅎ


1) SCC-I


SCC-I 메모리는 디폴트 128KB 상태로 세팅됩니다.

아마 기존 S/W에서는 T-Wave를 스내처 사운드카트리지로 인식하겠죠?

SCMD, VGMPlay 등의 일반 DOS용 프로그램에서 활용가능합니다.

V3와 함께 'External SCC sound'로 써도 좋겠구요.

V2 또는 V4와 함께라면, 듀얼 SCC 용 프로그램(SCC보이스 패치버전 등)도 가능합니다.

물론 오리지널 스내처 또는 SD스내처 디스크를 실행할 때 사용해도 되겠구요.


아래 영상은 SCMD, SD스내처, 사라만다/고파의야망 보이스 버전을 실행한 모습입니다.





2) Sec-PSG


조그버튼을 눌러서 WSG의 화음모드와 Sec-PSG모드를 토글할 수 있어요.

Secondary PSG를 사용하는 프로그램은 몇개 없습니다만...

자낙EX 인핸스드 버전, VGMPlay 등에서 사용할 수 있습니다.

VGMPlay는 자동으로 화음모드/Sec-PSG모드를 토글하니까, 조그버튼을 따로 누를 필요는 없어요.


아래 영상은 듀얼 PSG를 쓰는 VGM 음악들을 재생하는 모습입니다.





3) Stereo DCSG


T-Wave는 두개의 DCSG 칩이 들어있습니다.

각각 왼쪽/오른쪽 오디오 출력으로 연결되어있어서, 헤드폰잭으로 스테레오를 즐길 수 있습니다.


아래 영상은 원더보이2 (몬스터랜드)의 VGM 파일들을 재생하는 모습입니다.





그럼, 다음편에서 보아요~ ㅎ.ㅎ


2020년 4월 10일 금요일

T-Wave 제작 #5 - WSG 컨트롤 영상




영상을 하나 찍었습니다. 게임을 실행 후, 손으로 WSG 컨트롤을 하는 모습인데요.

모니터가 너무 밝아서 손가락이 잘 안보이네요ㅋㅋ


영상 초반에는 프리셋모드에서 주파수 조합 및 샘플패턴 선택이 나오구요.

3분 쯤에서 샘플 이펙트(트레몰로, 비브라토) 적용 및 WSG-L/R 음소거 동작모습이 이어집니다.

그냥 대충 보셔요~ ㅎ.ㅎ






그럼, 다음편에서 계속...


2020년 4월 2일 목요일

T-Wave 제작 #4 - 컨트롤

제가 기기를 만들 때는 되도록이면 외부 스위치가 필요없도록 설계를 하는데요.

이번 T-Wave는 조금 예외가 되겠습니다.


다른 S/W(주로 게임ㅋ)가 동작 중에 T-Wave를 컨트롤 해야하는 경우가 대부분이라서요.

사용자가 직접 이리저리 만지면서 쓰는 기기라고 보시면 되겠습니다.

물론 S/W로 세팅할 수 있도록 전용의 프로그램도 있습니다. MMC/SD 툴에서도 지원이 될 예정이구요.



일단 아래 사진을 보시죠~

3단 슬라이드 스위치 2개와 조그다이얼(조이스틱) 2개가 있습니다.





T-Wave에는 세 종류의 사운드가 들어있습니다.

SCC-I + DCSG 4Ch x 2 + WSG 3Ch x 2


기능별로 컨트롤 방법의 차이가 있습니다.


1) SCC-I


SCC-I는 기존의 스내처 또는 SD-스내처에 번들된 사운드 카트리지와 같은 기능을 갖고 있습니다.

스내처    = SCC-I 사운드 + 메가램 64KB (하위 메모리)

SD-스내처 = SCC-I 사운드 + 메가램 64KB (상위 메모리)


T-Wave는 스내처 모드, SD-스내처 모드로 설정이 가능하구요.

128KB로 메모리로 확장된 모드와 512KB 확장모드를 추가 지원합니다.

디폴트 모드는 128KB 메모리 모드입니다. (MMC/SD V4의 SCC-I 128KB 모드와 유사)

대부분 SCC-I 용 S/W들이 스내처/SD-스내처에 대응하기 때문에 128KB 모드가 가장 유용합니다요~

동작모드는 S/W로 전환가능합니다. 컨트롤 용 외부 스위치는 없어요.

본체를 리셋하더라도 모드는 바뀌지않고 유지됩니다.


2) DCSG


DCSG 컨트롤 포트는 S/W에서 설정하기 때문에 포트 설정 용 스위치는 없습니다.

대신 DCSG 두개의 출력을 STEREO 그대로 출력하거나, MONO로 다운믹스할 수 있는 스위치를 제공합니다.

슬라이드 스위치로 [MUTE / 강제 MONO / STEREO]로 설정합니다.

헤드폰잭을 안꽂으면 STEREO로 설정하더라도 MONO로 출력됩니다. (MSX 본체 사운드는 원래 MONO입니다요~)


3) WSG


이제 좀 복잡한데요. ㅎ.ㅎ;

WSG는 본체의 PSG와 연동해서 화음을 만들어내는 것이 주기능입니다.

화음 엔진은 두개가 들어있습니다.

LEFT 오디오를 담당하는 WSG-L과 RIGHT 오디오를 담당하는 WSG-R입니다.


각각을 컨트롤하기 위해 2개의 조그다이얼이 존재합니다. 각각 WSG-L, WSG-R 전용입니다.

왼쪽/오른쪽 기울이기 = 주파수배율(8단계) 또는 샘플패턴(32개) 변경

중앙 버튼 누르기     = 사운드 출력 MUTE


슬라이드 스위치로 주파수배율/샘플패턴 모드를 바꿀 수 있습니다.

조그다이얼의 버튼은 항상 사운드 MUTE로 동작합니다.

MUTE 버튼을 이용하면, 현재 설정이 어떤 효과를 내고 있는지 쉽게 알 수 있습니다.


근데 이렇게 구현을 해놓고 보니, 일반 사용자가 쓰기에 너무 복잡한 것 같더라구요.

보통 사용법이 복잡하면 결과는 한쪽으로 수렴합니다 -> 사용안함으로요 ㅋ


그래서 프리셋 모드를 추가했습니다. ㅎ.ㅎ

WSG 용 슬라이드 스위치는 [프리셋 모드 / 주파수배율 모드 / 샘플패턴 모드]로 설정됩니다.


프리셋 모드일 때는 두개의 조그다이얼이 아래처럼 동작합니다.

왼쪽   조그다이얼 = 주파수배율 조합 선택

오른쪽 조그다이얼 = 샘플패턴 선택 (WSG-L, WSG-R 동시에 설정됩니다. 같은 샘플로요~)


주파수배율 조합은 아래 4가지가 들어있습니다. 그럭저럭 괜찮은 조합입니다요~ㅋ

1. WSG-L x0.50 + WSG-R x0.75 <- 저음 조합

2. WSG-L x0.75 + WSG-R x1.25 <- 근거리 조합

3. WSG-L x0.50 + WSG-R x1.50 <- 원거리 조합 (디폴트 설정)

4. WSG-L x1.25 + WSG-R x1.50 <- 고음 조함


참고로 제가 WSG관련 영상(유투브)을 두번 올렸는데요.

첫번째 영상은 2번 조합이고, 두번째 영상은 3번 조합이었습니다.


WSG 설정은 본체를 리셋하더라도 바뀌지 않습니다.

대신 프리셋모드에서 오른쪽 조그를 누르면, 주파수배율/샘플패턴을 디폴트로 초기화해줍니다.

스위치를 마구 돌리다가 기본값으로 돌아오고싶을 때 쓰면 되겠죠? ㅎ.ㅎ


4) Secondary PSG EMU


Secondary PSG는 포트 10H, 11H로 구동되는 AY-3-8910 사운드입니다.

일부 게임에서 사용하고 있구요. VGMPlay에서도 지원되니 유용하게 쓸 수 있습니다.


T-Wave에서는 PSG 사운드가 따로 들어있진 않습니다.

대신 WSG의 주파수배율을 x1.00(1789772.5Hz)으로 고정하고,

샘플패턴을 구형파(Square Wave)로 설정해서, PSG와 동일한 소리를 낼 수 있습니다. 노이즈 출력도 똑같이 됩니다.

이걸 Sec-PSG EMU라고 부릅니다. (제가 그냥 그렇게 정했어요ㅋ)

이 모드에서는 포트 10H/11H으로 Secondary PSG처럼 동작합니다.


프리셋 모드에서 왼쪽 조그다이얼 버튼을 눌러 [WSG 화음 / Sec-PSG EMU] 모드를 토글합니다.

조그다이얼 옆에 LED가 있어서 현재 동작 모드를 쉽게 알 수 있어요.

LED ON  <- WSG 화음모드

LED OFF <- Sec-PSG EMU 모드


VGMPlay에서는 Sec-PSG EMU가 자동으로 ON/OFF 될 예정이니, 따로 버튼을 누를 필요는 없겠습니다.


.

.

.

여기까지네요.


글로 적으니까 복잡해보이는데... 한번 써보면 그리 어렵지는 않을꺼라 믿습니다.

(믿고 싶습니다 ㅠ.ㅠ)


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