레이블이 _T-Wave인 게시물을 표시합니다. 모든 게시물 표시
레이블이 _T-Wave인 게시물을 표시합니다. 모든 게시물 표시

2023년 12월 15일 금요일

T-Wave - MuPLAY로 이스2 MGS를 들어보아요~ (feat. 노랑불꽃)

PAC-V FRAM 보드가 1장 남았는데요, 요걸로 노란색 LED바를 넣어봤습니다.

T-Wave로 강화된 이스2 음악(FM 어레인지)도 들어보셔요~ ㅎ.ㅎ/




그럼, 이만~~


2023년 12월 13일 수요일

T-Wave 2차 제작 완료

지난 1차 제작 후 3년만이네요!

작업에 한달반 정도 걸린 것 같습니다요.

T-Wave가 PAC-V만큼 제작에 손이 많이가서 쬐금 힘들었슴다 ㅎ.ㅎ





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년 1월 15일 일요일

간만에 MMC/SD V4의 PSG2SCC 사운드를 돌려봤어요. (feat. T-Wave)

예전에는 MMC/SD V4의 PSG2SCC를 활용해서 PSG+SCC 사운드를 즐겼는데요.

T-Wave를 만든 후에는 거의 PSG+WSG 사운드를 주로 듣고 있네요.


그.래.서.

오랜만에 V4의 PSG2SCC를 한번 돌려봤습니다.

T-Wave의 WSG도 기본세팅으로 함께 구동됩니다만,

출력 밸런스가 본체 PSG에 맞춰져있어서 조금 작게 들릴거에요 ㅎ.ㅎ


영상으로 감상하셔요~




2022년 12월 10일 토요일

MMC/SD Drive V4 제작 #19 - LED 비주얼라이저와 Game Master II

코나미 Game Master II 카트리지(이하 GM2)는 디스크 세이브/로드를 할 수 있습니다.

만약 PAC-V의 LED 비주얼라이저를 FM모드가 아닌 PSG + SCC 모드로 함께 구동하려면,

GameRunner II 모드를 쓰거나, R800 고속모드 용 메가램 모드를 써야합니다.


근데, T-Wave 용 GM2는 GameRunner II에서 동작되는게 아니죠.

결국 R800 고속모드 용 메가램 모드가 필요한데... 문제는 ㅋ

GM2의 디스크 구동때문에 turboR에서 항상 Z80 모드로 실행이 됩니다.


그래서,

GM2를 패치해서 고속모드로 부팅하는 경우에도 디스크롬 포함 고속모드를 유지하도록 했습니다.


MMCSD.COM에서 T-Wave 용 GM2를 실행할 때,

'/T /KT' 옵션으로 고속모드

'/V /KT' 옵션으로 고속모드 + LED 비주얼라이저

의 조합이 가능합니다.


설명이 조금 길었는데, 한줄로 요약하면...

'T-Wave 용 GM2를 turboR 고속모드로 구동가능함'입니다.


그럼, 동작 모습은 아래 영상으로 확인하시죠~





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


2022년 12월 7일 수요일

MMC/SD Drive V4 제작 #18 - T-Wave으로 Game Master II 로딩

갖고계신 T-Wave는 잘 활용하시는거죠? ㅎ.ㅎ


아래 사진은 T-Wave와 코나미 Game Master II 카트리지(이하 GM2)입니다.





[서론]


GM2의 구버전인 Game Master 카트리지(이하 GM1)는 V4의 옵션으로 쉽게 구동가능하지만,

GM2는 메가롬 카트리지로 되어있어서 지원이 안됩니다.

사실 제가 정품 GM2를 갖고 있지만, 제대로 써본적이 한번도 없었는데요 ㅎ.ㅎ;


매뉴얼을 보면, GM2 카트리지를 SLOT 1에 꽂고, 게임 카트리지를 SLOT 2에 꽂으라고 되어있어요.

이 상태에서 본체가 부팅되면 GM2가 먼저 실행이 되고, FDD를 초기화 한 후 게임이 구동됩니다.


만약 게임 롬파일을 메가램에 로딩하려면, GM2가 없는 상태에서 부팅해서 롬 로딩을 해야합니다.

결국 V4 등의 메가램+디스크 통합기기를 쓰려면 딱히 방법이 없어요 ㅎ.ㅎ


유일한 방법이라면...

SLOT 1에 연장선을 꽂고 /SLTSL에 스위치를 달아서 부팅할 때만 GM2를 끄는거겠네요.

부팅이 완료되면 SLOT 1의 스위치를 켜고 V4 메가램에 롬을 로딩 후 소프트 리셋!

하면 되겠습니다.


근데 지난 주말에 갑자기 요상한 생각이 들더라구요.

GM2를 SLOT 0-1에 꽂으면 혹시 동작할까나??

그래서 제 확장슬롯(본체의 SLOT 0-1 출력이 연장되어있어요)에 꽂아서 확인해보니...

.

.

어랏~ 잘 되네요? ㅎ.ㅎ

여태 왜 실행해볼 생각을 안했는지 몰겠지만, 암튼 결과는 그렇게 되었습니다.


그래서, GM2를 확장슬롯에 꽂는걸로 얘기가 마무리되었냐구요?

당연히 아니죠ㅋㅋ


GM2로 게임을 세이브/로드 하는 빈도를 고려해볼 때, 이걸 확장슬롯에 붙박이로 놔두는 건 슬롯 낭비입니다요 ㅎ.ㅎ




[본론]


그럼, 다른 방법으로 해보아요~! (근데 결론이 글 제목으로 스포가 되어있...ㅋ)


현재 제 SLOT 0-1에는 T-Wave가 붙박이로 있습니다.

아시다시피 T-Wave의 SCC-I는 메모리가 512KB라서 코나미의 메가롬들은 한방에 로딩됩니다.

물론 이거 주목적은 스내처 또는 SCMD 등의 프로그램에서 쓰기위함이구요.


그럼 GM2가 필요한 경우만 T-Wave에 로딩해서 구동하면 편하게 쓸 수 있겠죠?

한가지 고려할 사항은 SCC-I 메모리에 한번 로딩하면 전원 끄기전에는 메모리가 유지되니까,

프로그램을 지우려면 본체를 끄고 잠시 기다려야합니다. 메모리가 깨질 때 까지욤 ㅎ.ㅎ


아마 SCC-I 카트리지를 개조해서 메가램으로 써보신 분은 아시겠지만,

본체 껐다켜는 작업(?) 자체가 무지 귀찮습니다.

리셋버튼 누르는 것 보다 시간도 많이 걸리구요 ㄷㄷㄷ

사실 V4의 메가램도 마찬가지입니다. 이 문제를 해결하기위해, 본체를 리셋하면 디스크롬 모드로 바뀌도록 해놨죠.


결국 바라는 구동 방식은 이렇습니다.

1. MMCSD.COM의 옵션만으로 롬 + GM2를 쉽게 구동

2. 본체를 리셋하면 GM2는 OFF -> T-Wave는 기본 모드(SCC-I 128KB)로 복귀



아래 영상은 GM2 로더가 통합된 MMCSD.COM가 구동되는 모습입니다.

기존 GM1 옵션은 '/KG'였구요.

이번 GM2 옵션은 '/KT'입니다. 참고하셔요~






[결론]


업뎃된 MMCSD BIOS/Tool는 조만한 릴리스 예정입니다.

T-Wave와 V4를 항상 본체에 꽂고 쓰신다면, 저처럼 GM2를 활용하면 좋습니다요~ ㅎ.ㅎ


까먹으면 안되는 부분은... GM2가 게임보다 슬롯 우선순위가 높아야합니다.

SLOT 번호가 게임보다 낮아야된다는거죠.


예를 들면 이렇게 되겠네요!


1) 비표준 확장슬롯(6슬롯, SLT-X 등)을 쓰는 경우

SLOT 0-1 = T-Wave

SLOT 2-0 = MMC/SD V4


2) 슬롯1에 표준 확장슬롯(4슬롯)을 쓰는 경우

SLOT 1-0 = T-Wave

SLOT 2   = MMC/SD V4 (내부적으로는 SLOT 2-0으로 구동됨)


3) 슬롯2에 표준 확장슬롯(4슬롯)을 쓰는 경우

SLOT 1   = T-Wave

SLOT 2-0 = MMC/SD V4



그럼, 즐 MMC/SD 하셔요~ ㅎ.ㅎ


2022년 8월 15일 월요일

Robo Rumble을 플레이해보았어요. (feat. T-Wave & PAC-V)

MSXdev22 출품작입니다.

WebMSX로 잠깐 해보니 재밌어서, 실기로도 플레이해보았어요.

한번 해보셔요. 추천합니다!


MMC/SD V4의 게임러너로 실행했습니다.

PSG 사운드만 사용하는 게임라서 T-Wave의 화음과 아주 잘 어울리네요!

그리고, PAC-V의 불꽂쇼와 함께~ ㅎ.ㅎ/




그럼, 즐거운 휴일 되세요!


2022년 3월 27일 일요일

T-Wave - MuPLAY로 이스3 MGS를 들어보아요~

어쩌다보니 요즘 자주 듣는 음악이 됐네요.

PSG, OPLL만으로 만들어진 이스3 MGS 파일입니다.


실기가 없거나, T-Wave가 없는 분들은 아래 영상으로 감상하셔요~ ㅎ.ㅎ/




그럼, 이만~~


2020년 7월 31일 금요일

T-Wave 제작 #8 - 라인아웃 어댑터

[ 서론 ]


T-Wave의 사운드는 헤드폰 단자로 출력됩니다.

근데 갑자기 왜 라인아웃 얘기냐구요? ㅎ.ㅎ


오디오 기기들의 아날로그 출력단자는 라인아웃, 헤드폰아웃 두 종류가 많이 쓰이는데요.

임피던스 차이로 인해 라인아웃은 구동 전류가 낮고, 헤드폰아웃은 높은 전류가 가능합니다.

헤드폰을 라인아웃에 꽂으면 소리가 잘 나오지않거나 작게 들리는게 이때문인데요.


근데, 헤드폰 출력단자를 오디오믹서의 라인인에 연결하면 어떻게 될까요?

특별한 문제는 없을거라 생각했거든요.

.

.

.

며칠전 MX-10 오디오믹서에 T-Wave 출력을 연결하면,

소리가 점점 작아지다가 결국 들리지않게 되는 현상이 나타난다고 알려주시더라구요.


맛탱이님께서 MX-10을 빌려주신다길래 일단 받아서 테스트를 해봤습니다.

... 진짜 소리가 줄어들더니, 뿅~하고 안들리게 되네요. ㅎ.ㅎ;;



[ 본론 ]


왜 이런 현상이 생기는지 봐야겠죠?

일단 위키에서 그림 한장을 퍼왔습니다.

아래는 오디오 라인 레벨을 표시한 그림입니다.





기준이 되는 dBV는 1Vrms입니다.

1 Vrms = 0 dBV, 이게 peak to peak 로는 2.828 Vpp가 되는데요.


일반적인 상용 오디오는 라인레벨이 -10 dBV = 0.894 Vpp

프로(?) 오디오는 +4 dBV = 3.472 Vpp라고 하네요.


T-Wave의 헤드폰 출력은 2.64 Vpp입니다.

아래는 1KHz WAV 파일을 MMC/SD로 재생했을 때의 모습입니다.




일반적인 오디오 믹서의 라인인에 그대로 연결해도 별 문제는 없는데, 왜 MX-10은 이상하게 동작할까요?

이유는 하나뿐이겠죠? -10 dBV보다 출력이 높아서?ㅋ

검색을 해보니... 일반기기의 라인아웃 레벨이 2 Vpp정도라고 하네요.

그러니까 일반적인 헤드폰 출력에 비하면 조금 낮습니다.


참고로 휴대폰 출력의 경우는,

예전 갤럭시들이 2.3 Vpp 정도이구요. 아이폰은 2.8 Vpp정도였습니다.

당시 기억으로는 갤럭시 헤드폰 출력이 너무 작은거 아니냐고 원성이 자자했던...ㅋ

요즘 폰들은 얼마인지 찾아보진 않았는데, 아마 좀 더 높을꺼에요.


그래서 MX-10의 라인인에 출력을 낮춰서 넣어보았습니다.

RCA 단자 4개를 붙여서 이렇게 어댑터를 만들었어요.





510옴 저항으로 출력이 반으로 낮춰 1.32 Vpp가 되었네요~





MX-10의 채널1,2 입력에 연결하고 출력을 최대로 올려서 테스트해보니,

... 소리가 잘 나오네요~ ㅎ.ㅎ

2 Vpp 넘어가면 문제가 되는걸까 싶은데... 출력을 이리저리 바꾸면서 테스트해보진 않았습니다.

더 궁금하신분 계시면 가변저항을 달아서 테스트해보셔요 (응?)



[결론]


결론은 'MX-10은 라인인 입력레벨이 너무 높으면 문제가 발생함'이 되겠습니다.


테스트는 했으니, MX-10 문제현상을 알려주신 분께 테스트 용 어댑터를 보내드려야겠죠? ㅎ.ㅎ

요렇게 만들었습니다.


재료: RCA 커넥터 4개, 510옴 저항 2개



1. 커넥터를 짧게 자르고, GND핀을 서로 연결합니다.





2. 저항을 연결 후, 커넥터의 플라스틱을 녹여서 서로 붙입니다. (인두로 지지직~~)





3. 검정색 종이테입으로 마무~으리!





4. 신호선에 저항이 연결된 것 뿐이니, 방향성은 없습니다.

입출력 케이블이 서로 마주보도록 연결하면 OK입니다요~






혹시 MX-10 외 다른 오디오 믹서/앰프에서 오동작하는 경우가 생기면...

간단하게 DIY해서 쓰시면 되겠습니다.

.

.

.

근데 옥션에 3.5파이 볼륨조절 케이블이 2450원이네요 -_-;

그냥 사서 쓰는게 낫겠습니다ㅋㅋ





즐거운 주말되세요~ ㅎ.ㅎ


2020년 7월 23일 목요일

T-Wave Tool v1.01


Download: 20200723_T-Wave_101.zip


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

T-Wave(tm) Tool v1.01

    By Yeongman Seo <sharksym@hitel.net>

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



[ 변경 내용 ]


- WSG 세팅값 모니터링 옵션 /T 추가

  예) TWAVE /T




[ TWAVE.COM ]


- 카트리지가 장착된 슬롯과 SCC-I 메모리 모드가 표시됩니다.


- WSG 세팅값을 저장(Save) 및 복구(Load)할 수 있습니다.

  저장 시, 32바이트 크기의 파일이 생성됩니다.

  예) TWAVE RISEOUT.WSG /S

      TWAVE RISEOUT.WSG /L


- WSG 세팅값을 모니터링 할 수 있습니다.

  실행 후 조그 다이얼을 조작이 가능합니다.

  예) TWAVE /T


  ESC를 눌러 프로그램을 종료합니다.


- SCC-I RAM에 롬파일을 로딩할 수 있습니다. (SCC 매퍼 전용)

  예) TWAVE MGEAR2.ROM


  /R 옵션을 추가하면, 롬파일 로딩 후 소프트리셋합니다.


- SCC-I 메모리 모드를 변경할 수 있습니다.

  4가지 모드가 있으며, 변경 후 본체 리셋 시 설정 유지됩니다.


  /I0: 512KB 최대 메모리 모드

  /I1:  64KB 스내처 모드

  /I2:  64KB SD스내처 모드

  /I3: 128KB 확장 모드 (파워온 기본값)


  예) TWAVE /I2


2020년 7월 18일 토요일

T-Wave 1차 제작 완료!

이번 T-Wave 카트리지는 보드 및 케이스 제작에 시간이 꽤 걸렸습니다.

보드제작도 힘들었지만, 케이스/레이블 가공도 역대급으로 어려웠네요~ ㅎ.ㅎ


아래 사진은 케이스 작업이 완료된 모습입니다.

맛탱이님, 아스테리스님 고생많으셨습니다요~






그럼, 이만~~

2020년 6월 23일 화요일

T-Wave 제작 상황입니다.




현재 보드제작이 완료되었구요.

케이스 및 레이블은 맛탱이님과 ASTERiS님께서 작업하고 계십니다.


조금만 더 기다려주세요~ ㅎ.ㅎ/~


그럼 편안한 밤 되세요.


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


[블로그 용]


T-Wave 버스가 곧 출발합니다~ ㅎ.ㅎ


[사진]


예상했던대로 납땜하는데 시간이 많이 걸리네요.

PAC-V 다음으로 힘든 작업인 것 같아요ㅋ


일단 제가 할일은 마무리되었으니, 다음 프로젝트로 ㄱㄱ해야겠죠? ㅎ.ㅎ/


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년 3월 29일 일요일

T-Wave 제작 #3 - WSG 출력은 스테레오

오디오 출력은 스테레오입니다. 왼쪽~ 오른쪽~ ㅋ

물론 헤드폰잭을 꽂아야 가능하겠구요. 외부 오디오 믹서로 적당하게 밸런스를 맞추시면 되겠습니다.

헤드폰잭이 없으면 모노로 믹스되어 본체의 SOUNDIN 단자로 입력됩니다.


보드는 이렇게 생겼습니다~






오디오 왼쪽 채널은   WSG-L + DCSG-L + SCC-I

오디오 오른쪽 채널은 WSG-R + DCSG-R + SCC-I


SCC-I는 이어잭으로 스테레오 출력을 하더라도 좌우 똑같은 소리가 나와요. 참고하시구요~

DCSG 출력은 다음편에 언급하기로 하고, 오늘은 WSG 얘기만 하도록 하겠습니다.


WSG-L/R은 주파수 배율 및 샘플 파형을 각각 설정합니다.

본체 리셋되면 WSG-L은 x0.5배율, WSG-R은 x1.5배율로 기본설정됩니다.

왼쪽은 한옥타브 낮은 음이 출력되고, 오른쪽은 반옥타브 높은 음이 출력되겠습니다.


본체의 PSG가 모노 3채널, T-Wave에서 왼쪽 3채널, 오른쪽 3채널을 담당하니까 밸런스가 잘 맞습니다.

이리저리 들어보면 스테레오 듣는게 훨씬 재밌네요! ㅎ.ㅎ

XAK 등의 게임은 FM을 메인 BGM으로 쓰지만 PSG도 함께 사용하고 있는데요.

이 경우에도 WSG 화음이 섞이면 꽤 괜찮은 스테레오를 느낄 수 있더라구요. 예상밖의 소리가 나서 깜놀~ㅋ


아래는 오디오 믹서로 녹음된 모습입니다.

왼쪽과 오른쪽 오디오의 음색이 많이 다른걸 볼 수 있죠?





백문이 불여일견이 아니라... 이건 소리를 들어봐야합니다ㅋㅋ

영상으로 보시죠~

스테레오로 녹음되어구요. 몇가지 게임실행 모습과 카라시스2의 노래 두곡을 담아봤습니다.





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

즐거운 일요일되세요~ ㅎ.ㅎ/


2020년 3월 8일 일요일

T-Wave 제작 #2 - 화음을 만들어보아요

먼저 WSG 구조를 설명드려야겠죠?

T-Wave에는 WSG 엔진이 두개 들어있구요. 대강 이렇게 생겼습니다~ (그림은 없어요ㅋ)


1) 샘플 데이터는 SCC와 동일한 Signed 8BIT PCM를 사용합니다.

SCC의 1주기(32바이트)으로 동작하는 SCC와는 조금 다른 부분이 있어요.

최대 256바이트(8주기)의 샘플 데이터를 사용할 수 있습니다.

파형이 지속적으로 변하는걸 만들 수 있다는 얘기입니다.


뭐, 데이터 크기를 좀 더 늘리면 간단한 트레몰로/비브라토 효과도 만들 수 있겠지만,

대부분 게임에서는 S/W적으로 효과를 내고 있으니...

어설프게 중복 효과를 넣기보다는 없는편이 더 듣기 좋을 확률이 높습니다.


2) PSG와 동일한 방식의 Noise 합성을 지원합니다.

WSG의 주 목적이 본체의 PSG와 화음을 만드는 것이니 Noise 부분도 있어야되겠죠? ㅎ.ㅎ

실제 구현해서 들어보니 Noise 처리가 없을 때는 상당히 어색하더라구요.


3) 기본 레지스터는 PSG와 같은 구성으로 되어있습니다.

이 때문에 화음모드에서는, 기존 S/W를 변형(패치)없이 WSG로 동작가능합니다.

사실 이게 메인 기능이죠. PSG 포트로 함께 동작하는 화음모드~ ㅎ.ㅎ


4) 전체 주파수 비율을 조절하는 기능과 최종 출력 Gain을 조절할 수 있습니다.

주파수 조절은 화음을 만들 때 필수겠죠?

PSG 톤의 2/8배수부터 16/8배수까지 1/8배수 단위로 주파수 조절이 가능합니다.

WSG 2개를 각각 다른 배수로 설정할 수 있어요.


5) WSG 2개는 2개의 DAC으로 각각 출력이 됩니다.

3.5파이 이어잭 단자를 쓰면 그대로 스테레오로 들을 수 있어요.

내부적으로는 WSG-L, WSG-R로 이름붙였습니다ㅋ


참고로 이어잭을 꽂으면, 슬롯의 SOUNDIN으로는 출력이 들어가지 않습니다.

이어잭을 뽑으면, 모노로 믹스되서 SOUNDIN으로 들어가게 되겠구요.



대충 어떻게 동작되는지 아시겠죠? ㅎ.ㅎ

설명이 길었으니 그냥 동영상으로 동작 모습을 보시면 되겠습니다.

아직 PCB를 찍은건 아니라서, 기존 MMC/SD V4 두개로 구현한 상태입니다.

현재 사운드 출력은 슬롯 SOUNDIN으로 믹스되서 모노로 들리는데요.

다음주에 이어잭으로 분리해서 한번 녹음해보려고 합니다. (납땜이 귀찮귀찮...ㅋ)



아래 영상에서는 WSG 두개를 화음모드로 동작하는 모습입니다.

WSG 1번은 0.5배 주파수로 설정되어있고,

WSG 2번은 1.25배 주파수로 설정되어있습니다.

샘플 파형은 사인파와 톱니파를 섞어서 사용합니다.


주파수 배율 및 파형 설정은 Switched I/O 포트(40H ~ 47H)로 구현되어 있구요.

실제 보드가 완성되면 외부 스위치(조그 다이얼)로 쉽게 조절가능하겠습니다.


영상에서는 사운드 비교를 위해, 처음에는 본체 PSG 음악(몽대륙)이 잠깐 나오구요.

WSG 화음모드 설정 후에는 끝까지 화음모드로 나옵니다.





혹시 실제 파형이 궁금하신 분이 있을까봐 MP3도 하나 첨부합니다.

몽대륙의 BGM 하나를 일반 PSG 녹음한 것과 WSG 화음모드로 녹음한 파일입니다.

MP3 두개가 들어있어요. 교대로 들어보시면 차이를 확~ 느끼실 수 있겠습니다~ ㅎ.ㅎ

Download: 20200308_WSG_Chord_BGM.zip


그럼, 다음편에서 이어지겠습니다~


2020년 3월 1일 일요일

T-Wave 제작 #1 - 섞어사운드!!

2020년을 맞아, 사운드 카트리지를 한번 만들어보기로 합니다.

생각해보니, 사운드 전용기기의 제작은 이번이 처음인 듯 하네요. ㅎ.ㅎ



[서론]


실기로 듣는 사운드를 좋아하시나요?


제 경우는, 주변기기가 없던 시절에는 GT에 SC-88 연결해서 MIDI 감상이나 하는 정도였구요.

사실 이건 실기의 소리라고 하긴 좀 그렇네요. 그냥 롤랜드 사운드캔버스의 소리?ㅋ


고속의 디스크 환경(MMC/SD V1)이 되면서부터, 실기로 사운드를 많이 즐기게 되었습니다요.

그 때부터 주변기기도 하나둘 늘어나기 시작됐구요.


근데 주변기기들이 다 채워지고 나니까, 뭔가 오리지널(PSG, FM)이 아닌 소리들을 주로 듣게 되더라구요.

최근 십여년동안 주로 듣던걸 떠올려보니, MP3, OPLx 음악(VGM, IMS 등)들이군요.

아무래도 PSG, SCC, FM(OPLL) 쪽은 오랫동안 들어왔으니까 그런게 아닐까 싶기도...ㅎ.ㅎ


그리고, MMC/SD V4가 나온 후로는 PSG2SCC 기능으로 게임을 하거나, MV 동영상도 많이 본 것 같습니다.

.

.

.

그러다가 문득 생각이 들더라구요. '사운드 카트리지를 한번 만들어볼까?'



[본론]


뭔가 새로운 기기를 만들게 되면 늘~~~ 한가지 문제에 부딛히게 됩니다.

'닭이 먼저냐? 알이 먼저냐?'


S/W가 없는 H/W는 쓸모가 없죠. 맞나요?

물론 H/W가 없으면 S/W를 만드는 사람도 없겠죠. ㅎ.ㅎ;


그럼 이 문제를 어떻게 해결하느냐? H/W와 S/W를 한사람이 다 만드는거죠ㅋ

근데 사운드 쪽은 좀 문제가 있어요.

제가 소리를 듣는건 좋아하지만, 트래커로 곡을 만들거나, 아님 트래커 S/W를 만들거나... 그런적은 없었거든요.


--> 결론: 완전 새로운 기기를 만들면? 본인도 쓰지못함ㅋ



사실, 사운드 카트리지 만들 생각을 하게 된 이유는 V4의 PSG2SCC 기능때문입니다.

이걸 실제로 써보니 재밌더라구요. 아마 써보신 분은 별로 없겠...죠?

그래서 '본체의 PSG와 연동하는 전용의 카트리지를 만들자'라는 생각으로 시작이 되었습니다.

기존 S/W를 그대로 쓸 수 있으면 쉽게 활용이 가능하니까요.


그럼, 몇가지 생각들을 정리해봅니다.


1. PSG 도우미를 만들자.

   - PSG로는 불가능한 사인파, 톱니파 등의 다양한 파형을 섞어보자.

   - 파형뿐만 아니라 주파수 조절로 화음도 구현. (장3화음으로?)

   - 칩 컨트롤은 포트 I/O를 사용.


2. 부가 사운드도 넣으면?

   - SCC-I 사운드(메모리 128KB) 추가. SCMD 및 보이스패치 게임롬 활용. (V3 친구도 환영)

   - 듀얼 DCSG 추가. VGMPlay 및 SG-1000 롬 활용.



일단 MMC/SD V4 보드를 이용해서 기본기능을 만들어보니, 6채널의 PSG 도우미와 SCC-I는 구현이 가능하네요.

CPLD 용량이 모자라면 노이즈 채널을 줄여야할 가능성도 좀 있긴합니다.


그럼, 이쯤에서 카트리지의 이름을 정해야겠죠? 사실 이름 정하는게 젤 힘듭니다요~

'T-Wave'라고 지어봅니다. 세가지 사운드 - Triple Wave 정도로 생각하시면 되겠습니다.


그리고, 새로 제작되는 PSG 도우미 엔진은 WSG라고 이름을 붙였습니다.

Wave Sound Generator 일까요? ㅎ.ㅎ;



[요약]


사운드 카트리지 T-Wave를 제작합니다.

Triple Wave! 3종류의 사운드를 사용!


1. WSG:   본체의 PSG와 화음을 내는 6채널 사운드 엔진 (다양한 샘플 파형 지원)

2. SCC-I: 코나미 SCC-I 카트리지 호환 (메모리 128KB)

3. DCSG:  듀얼 SN76489AN 칩 내장



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