2016년 6월 30일 목요일

MMC/SD Drive V3.2 개조 #1 - SRAM 512KB x 2

MMC/SD Drive V3에는 512KB 용량의 SRAM이 들어있습니다.

BIT로 얘기하면 4메가 BIT가 되겠네요.


MMC/SD Drive의 어드레스 매퍼는 8BIT 레지스터로 구성되어있고, 페이지 크기는 8KB입니다.

8BIT 레지스터니까 최대 페이지 갯수는 256개, 따라서 8KB x 256 = 2MB 주소 공간을 가집니다.


실제 메가램 모드로 구동시,

512KB 단일 SRAM 모드로 동작하거나

1MB 서브롬 + 512KB SRAM 모드로 동작하게 되는데요.


매퍼의 최대 공간이 2MB 이니까, 512KB 영역이 비어있는 셈입니다.

여기를 SRAM으로 채워서,

1MB 단일 SRAM 모드 또는 1MB 서브롬 + 1MB SRAM 모드로 바꾸는 개조(?)를 하려고 합니다.


사실 코에이 외의 대부분 메가롬은 512KB 이하의 용량이다보니,

SRAM을 늘리더라도 그다지 효용성은 높지 않습니다.

V3의 SRAM이 512KB로 들어간 이유도 그 때문이구요.


만약 SRAM이 1MB로 늘어나면,

GameRunner 모드에서 512KB 롬을 구동이 가능하게 되는 장점이 하나 늘어납니다. ㅋ


암튼 개조하는 방법은 별로 어렵지 않으니, 심심하신 분들은 한번 도전해보셔요~ ㅎ.ㅎ


=======================================================================================


아래는 준비물입니다.

당근 MMC/SD V3 보드가 필요하겠구요.

74LS139 칩이랑 SRAM AS6C4008-55SIN이 필요합니다.

아마 SRAM은 512KB 같은 용량, 같은 핀맵이면 제조사 상관없이 쓸 수 있을겁니다.




아래는 보드 뒷면의 패턴을 수정해야하는 부분입니다.

원래 CPLD -> SRAM /CE 로 지나가는 선인데요.

요걸 칼 또는 니퍼 등으로 패턴을 살짝 끊어줍니다. 살짝이요~ ㅎ




그 다음은 SRAM을 추가하는 모습입니다.

22번핀(/CE) 외의 나머지 핀들은 모두 기존 SRAM의 핀과 연결해줍니다.

22번핀을 옆으로 펴주시고, 나머지는 아래로 쭈욱 내려서 납땜하면 되겠습니다.

저는 래핑선을 까서 다리를 놓아줬어요~




이제 74LS139를 붙일 차례입니다.

아래 핀맵 처럼 작업하시면 되겠습니다.


먼저 9번 ~ 14번 핀은 사용하지 않으니 잘라서 버리세요.

5번, 7번 핀도 자릅니다.


1번/2번 및 15번/16번은 핀을 구부려서 서로 붙여줍니다. 납땜하기 편하도록이요~




8번 GND 핀이 보드에 어디로 연결되는지 잘 보셔서 작업하시면 됩니다.

5V는 보드의 넓은 부분을 칼로 긁어내서 동판에 납땜해주시면 됩니다.


마지막으로, 나머지 CPLD /CE, CPLD MA19, /CE0, /CE1 4개 선들을 아래처럼 연결하면 완성~ ㅎ.ㅎ




별로 어렵지 않지요?

다음편에서는 BIOS 및 MMCSD.COM 프로그램을 수정해서, 1MB SRAM이 제대로 동작하는지 살펴보겠습니다.


편안한 밤 되셔요~

2016년 6월 3일 금요일

M File Manager에서 MPXP 스펙트럼 애널라이저를 띄워보자

MPXP는 준소프트 MPX 카트리지 용 음악 플레이어입니다.

M에 내장되어 있어서, 편하게 쓸 수 있어요. ㅎ.ㅎ


MPX 카트리지는 R1.0, R1.1 두 종류가 있구요.

제가 주로 쓰는 MPX R1.1에는 VS1033c Audio decoder가 내장되어 있습니다.

(아마 조만간 MPX R2.0 카트리지가 나올텐데, 요것도 무지 기대하고 있어요. ㅎ.ㅎㅋ)


VS10xx 칩은 DSP 펌웨어가 롬에 내장되어, MP3/WMA 등의 음악 파일을 디코딩 및 출력하는 역할을 합니다.

근데, 며칠 전 제작사 홈페이지 http://www.vlsi.fi/ 에 들렀다가 알게된 내용이 있는데요.ㅋ

칩 내부의 RAM에 사용자 코드를 다운로드해서 구동 할 수 있어요.

이곳을 활용하여 디코더 코드의 버그를 패치하거나 다른 기능을 추가할 수 있습니다.

자세한 내용은 아래 링크 참고하셔요.

http://www.vlsi.fi/en/support/software/vs10xxplugins.html


이번에 테스트 해본 기능은 스펙트럼 애널라이저 플러그인입니다.

대게 윈도 용 플레이어를 띄워보면, 오디오 출력 주파수별로 막대기 미터가 표시되는데, 바로 그겁니다.ㅋ


참고로, 플러그인 코드는 아래 링크에서 받으실 수 있어요.

http://www.vlsi.fi/fileadmin/software/VS10XX/spectrumAnalyzer-110.zip


VS10xx의 DSP가 설정된 주파수 밴드에 맞춰 계산해놓으면, MSX에서는 결과값만 가져와서 표시 할 수 있어요.

아래는 M에 내장시켜서 표시한 모습입니다. 빨간색 테두리 부분 보시면 되겠습니다요.



밴드 14개의 수직 라인으로 그렸습니다. 작아서 안보인다구요? ㅋ

크게 그려보고 싶었지만, 이미 MP3 재생하는 것 만으로도 우리의 MSX는 충분히 힘들어하고 있습니다.ㅋㅋ 

암튼 320KBPS MP3 재생에 무리없는 수준으로 구현했습니다. (물론 터보알 기준으로요~ ㅎ.ㅎ;)


그럼, 실제 동작 영상을 감상하시지요~