2016년 7월 5일 화요일

MMC/SD Drive V3.2 개조 #2 - S/W 업뎃

SRAM 512KB에서 1024KB로 늘어난 용량을 활용할 수 있도록 S/W 업뎃을 해보았습니다.


일단 BIOS 부팅 시, SRAM 영역을 R/W 테스트해서 용량 확인하도록 했습니다.

그럼 MMCSD.COM 등의 다른 프로그램에서는 어떤 방식이 보드를 체크하는데에 편리할까요?

가장 쉬운 건 역시 H/W(보드) 버전을 다르게 두는 방법이겠죠? 간단하니까요 ㅋ

SRAM 1024KB 장착된 보드는 H/W v3.2로 명명했습니다.


음... 이제 저는 세 종류의 보드가 생겼네요. ㅎ.ㅎ

v3.0 -> DevPack 보드로 만든 MMC/SD Drive V3 개발 용 보드

v3.1 -> MMC/SD Drive V3 정식 보드 (SRAM 512KB)

v3.2 -> MMC/SD Drive V3 메가램 확장 보드 (SRAM 1024KB)


아래는 BIOS v5.15 롬으로 업뎃 후 부팅 모습입니다.





SRAM 용량 체크는 됐고, 그럼 MMCSD.COM 프로그램과 BIOS의 메가램 부팅 루틴을 수정해야겠네요.

기존과 차이나는 부분은 아래 두가지입니다.

- 메가램으로 1024KB 롬 로딩가능

- 게임러너모드에서 512KB 롬 로딩가능



프로그램 수정 후 잘 되는지 테스트를 해봅니다.

아래는 메가램으로 1MB 크기의 롬을 로딩하는 모습이네요.




실제 동작 모습을 영상으로도 담아봤습니다.

1MB 메가램 구동과 512KB 게임러너 순으로 실행되는 모습입니다.




그럼, 즐거운 밤 되셔요~

2016년 7월 4일 월요일

ZARTH 한글판 (메모리 문제 패치판)

ZARTH 한글판의 수정판입니다.


기존 한글버전은 대우 IQ-2000에서 동작되도록 만들어졌는데요.

MSX 기종 상관없이 실행되도록 수정했습니다.

일제 기종의 경우, 한글 BIOS 폰트를 로딩하면 한글 표시가 가능합니다. (FontPack 활용 등)


[ 사용방법 ]

첨부 파일을 MSX 디스크에 압축을 풀고, MSX-DOS 상에서 AUTOEXEC.BAS 파일을 실행하면 됩니다.

Download: ZARTH_K_20160703.zip


아래 스크린 샷과 동영상은 저의 A1GT + MMC/SD V3 + FontPack 환경에서 구동한 모습입니다.

참고하셔요~




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이 제대로 동작하는지 살펴보겠습니다.


편안한 밤 되셔요~