2021년 3월 26일 금요일

MMC/SD Drive V4 제작 #15 - DCSG 패치 보드

아시다시피 V4의 DCSG 노이즈 때문에 앰프 입력을 ON/OFF하는 개조를 했었는데요.

이번엔 조금 다른 방법의 보드 패치입니다.


[서론]


때는 2년 전, T-Wave를 구상 하던 어느 날이었습니다.

T-Wave라는 이름도 붙이기 전이었죠.


새로운 사운드카트리지에 DCSG 칩을 두개 넣어서 스테레오로 만들 계획이었는데요.

심각한 문제에 부딛혔습니다.

DCSG의 출력 노이즈가 너무 심한거에요. (칩이 두개라서 두배ㅋ)


처음엔 전원쪽 리플이 문제가 아닐까 싶어서, 캐패시터를 여러개 넣어보기도 하고 삽질을 했는데...

결국 문제는 DCSG 칩 자체의 문제로 보였습니다.

클럭이 STOP된 상태에서도 DATA 입력단의 값이 변하면 오디오 출력에 노이즈가 발생하더라구요. 으헙~ㅋ


해결책은 8비트 래치를 이용해서 SLOT의 DATA 라인과 DCSG의 DATA 입력을 분리하는 것이었죠.

DCSG가 동작하지 않을 때는 래치가 고정되니까 DCSG 입력 DATA도 고정됩니다.


아래처럼 간단한 내용이죠.

기존: MSX SLOT DATA 출력 -> DCSG DATA 입력

변경: MSX SLOT DATA 출력 -> LATCH 칩 -> DCSG DATA 입력


결국 T-Wave는 이렇게 디자인되어 완성되었습니다~ ㅎ.ㅎ



[본론]


그럼 문제는 V4의 DCSG 노이즈 문제인데요.

기존 보드를 개조해서 래치를 넣어보도록 합니다.

근데 이게 DATA 라인 사이를 끊어서 개조하는게 쉽지 않네요.

결국 선택한 방법은 기존 DCSG 칩의 다리 가운데를 끊고 신호를 우회하는 방법이었습니다.


이런식으로 말이죠ㅋㅋ





근데 이 방법에 사소한(!) 문제가 좀 있어요.

납땜이 된 상태의 DCSG 다리 중간을 니퍼로 끊고 재작업을 하다 보니,

칩의 다리가 약해서 그런지.. 선을 연결해도 제대로 동작이 안되네요.

V4 두개의 DCSG를 날려먹고 결국 새 DCSG 칩으로 교체해서 겨우 정상동작했습니다 ㅠ.ㅠ


결론은,

보드의 칩을 그대로 둔 상태로 개조하는게 힘들다...라는 얘기입니다요.


그래서 다른 방법으로 생각한 것이 작년에 알려드린 출력 ON/OFF 개조법이었습니다.

https://cafe.naver.com/msx/21292


개조 방법이 패턴을 우회했다가 다시 돌아오는게 아닌,

"기존 패턴을 끊고 다른 곳에 연결"이라서 쉽게 개조가 가능했었지요.

물론 이것도 납땜 별로 안해보셨으면 어려운 작업이 될 수도 있습니다. ㅎ.ㅎ


.

.

.


이제 2021년이 되었네요.

원안 그대로의 패치 방법을 쉽게 적용할 수 있도록 조그만 보드를 만들어보았습니다.





작업 순서는 이렇습니다.


1) V4 보드에 붙어있던 DCSG 칩을 제거합니다.

  칩의 다리를 모두 자른 후 인두/핀셋으로 하나씩 제거하면 쉽습니다.





2) 기존 DCSG가 있던 곳에 패치보드를 납땜

  두 보드의 비아홀은 서로 쇼트가 나지않도록 설계되어 있으니, 보드가 겹쳐있어도 안전합니다~

  (참고: 보드 두장을 핀헤더를 이용해서 납땜하면, 두꺼워져서 케이스가 닫히지않습니다.)






3) 보드가 두꺼워져서 케이스의 지지대에 걸리는 부분을 잘라냄





요렇게 3단계로 개조가 완료됩니다~ ㅎ.ㅎ




그럼, 즐거운 주말되세요!


2021년 3월 24일 수요일

[MV] DOOM II 레벨1~5 플레이 영상

[사진]


MS-DOS 시절의 DOOM II를 모르시는 분은 없겠죠?ㅋ

MSX에서 DOOM을 해본다면 어떤 느낌일까... 궁금해서 만들어본 MV 파일입니다.

유투브에 있는 영상을 조금 잘라서 변환했습니다.




MSX용 DOOM도 누가 좀 만들어주세요~ ㅎ.ㅎ


2021년 3월 23일 화요일

paraMSX-R - 재미나 메가램 용 카세트 로딩

테입 로더 중에서 화면에 로딩상태를 보여주는 것이 있는데요.

앞으로 남은 데이터를 바이트 수로 표시해주는 방식이었습니다.

숫자가 줄어들면 어린이의 가슴도 점점 콩닥콩닥 뛰는 기분이 들었지요ㅋㅋ


제가 갖고 있던 보람 소프트의 16KB/32KB 게임들은 모두 이런 카운터가 있었습니다.

근데 고딩 때 다~ 갖다버리고 남은게 하나도 없네요ㅋ

.

.

.

그러던 어느날,

리꿈샘님께서 갖고 계신 테입을 WAV 파일로 저장해서 보내주셨습니다! ㅎ.ㅎ/

32KB 게임 몇개와 메가롬 게임인 '에일리언'의 녹음 파일이네요.


WAV 파일을 조금 수정해서 돌려보았습니다.

무음 부분의 화이트 노이즈를 삭제하고, 레벨이 불안 부분은 좀 키워줬어요.

그리고, 리모트 단자가 없는 오디오 플레이어를 위해,

각 데이터 구간 사이에 무음을 몇 초 삽입해줬습니다.

프로그램이 실행할 때 로딩 시작 딜레이 시간을 벌어야하니까요~ ㅎ.ㅎ



그럼 실기에서 로딩을 한번 해보아요~


사용된 본체는 FS-A1입니다. (개조안된 순정입니다)

paraMSX-R을 이용해서 아이큐 1000 머신설정으로 구동합니다.

물론 슬롯1에는 재미나 디럭스박스 4메가로 설정해놨지요~





WAV 파일은 flac 무손실 인코딩으로 폰으로 재생합니다.

오래된 노트2를 사용했어요. 기본 뮤직앱으로 ㄱㄱ~


BASIC 로더가 실행된 모습이네요.





롬 데이터가 로딩될 때는 이렇게 카운트다운이 표시됩니다.

페이지 번호도 8,7 ... 1 내려가구요.





로딩이 끝나면 소프트리셋 후 게임이 실행됩니다.

잘 되네요! ㅎ.ㅎ





영상으로도 찍어 보았으니, 메가롬 테입로딩을 안해보셨으면 한번 구경하셔요.

로딩이 길어서 중간 15분은 편집으로 잘랐습니다ㅋ





리꿈샘님 파일 감사합니다!

즐거운 MSX 하셔요~ ㅎ.ㅎ


2021년 3월 20일 토요일

mt32-pi - MIDI 플레이 테스트

라즈베리파이가 크기도 작고 저렴하게 구할 수 있어서 DIY로 많이 쓰이고 있는데요.

mt32-pi는 롤랜드 MT-32 에뮬(Munt)과 S/W 미디신스(FluidSynth)를 라즈베리파이로 구동하는 것입니다.

그러니까 간이 미디 모듈이 되는거죠~ ㅎ.ㅎ


저는 최근에 유령군(과 친구들)님이 제작하신 것으로 구했습니다.

mt32-pi 전용으로 쓰려고 3.1A짜리 DC어댑터도 하나 샀습니다요.

많이 보셨겠지만, 이렇게 생겼습니다!





미디 감상은 주로 GT와 SC-88VL을 사용합니다.

SC-88과 mt32-pi를 같이 사용하기 위해서, 미디 케이블은 SC-88VL의 passthrough 출력과 mt32-pi를 연결했어요.

참고로 SC-88의 스루 출력은 전원이 켜진 상태에서만 동작합니다.

SC-88의 OUT/THRU 설정 때문에 내부 스위칭이 필요해서 그런지도 모르겠네요.


그리고, mt32-pi의 오디오 출력은 SC-88의 믹서 입력으로 넣었습니다.

제가 쓰는 5채널 오디오 믹서는 이미 입력단이 FULL이라 어쩔 수 없었네요 ㅎ.ㅎ


이렇게 놓고 보니 문제점이 하나 남더라구요.

미디 모듈 두개가 동시에 신호를 받으니까 들을 때는 하나의 오디오 출력만 켜면 되는데요.

SC-88VL의 경우는 전체 채널 MUTE를 해주는 스위치가 있어서 쉽게 가능한데...

mt32-pi는 MUTE 스위치가 없습니다.

사실 현재 내장된 PCM5102A은 MUTE ON/OFF가 가능한 DAC인데요.

여기 외부 스위치를 달면 편하겠지만, 이미 케이스가 완성된 상태라 개조를 하는 것은 좀 그렇더라구요.


그래서, mt32-pi 코드에 출력 MUTE ON/OFF를 넣었습니다.

외부 버튼 4개 중 마스터볼륨 조절(UP/DOWN)로 쓰이는 버튼 2개를 대체하기로 했어요.

현재는 VOL-DOWN키를 사용합니다.


아래 사진처럼 MUTE되면 채널 막대기(?)를 흐릿하게 그리도록 했습니다.

(막대기 대신 MUTE를 표시해도 되는데 별로 안이쁘다는게...ㅋ)




Munt쪽 마스터 볼륨 조절을 없애는 대신, cfg에 Munt의 Output gain을 설정하는 옵션을 추가했습니다.

낮춰서 고정해야 하는 경우에 쓰면 되니까요.



이 상태로 구동해본 영상입니다.


GT에서 MIDRY로 MID 파일을 플레이했구요.

SC-88VL과 mt32-pi를 서로 MUTE 하면서 찍었습니다.

환영도시 오프닝 음악입니다.




S/W 신스쪽도 영상으로 담아보았습니다.

FluidSynth 2.1.7 버전을 사용하구요.

제가 사운드폰트는 EMU의 8MBGSFX, FluidR3 GM/GS, SC-55, S-YXG50 등을 주로 씁니다만...

영상에서는 "GeneralUser GS v1.471.sf2"을 사용했습니다.

아무래도 기본으로 많이 쓰시는게 비교가 잘 되겠죠? ㅎ.ㅎ




그럼, 즐거운 mt32-pi 하세요!


2021년 3월 7일 일요일

PAC-V BLUE 보드제작 완료

케이스 합체 후 개별배송 될 예정입니다.

신청하신 분들은 조금만 더 기다리시면 되겠습니다.






그럼, 이만...