2012년 9월 21일 금요일

MMC/SD Drive V2 - Multi-ROM II 제작 #6 롬블럭 관리

멀티롬II를 잘 활용하기위해서는 SW가 필요합니다.


여러개의 크기가 다른 게임롬을 각 플래쉬롬에 나눠서 넣어야하구요,

실행할때는 선택된 게임 영역이 메모리 페이지1,2에 매핑되도록 해줘야되겠습니다.

메가롬의 경우는 매퍼 패치를 해서 SCC 뱅킹에 맞도록 전환됩니다.


아래는 멀티롬 전용 다운로더 툴인 MFLASH 프로그램의 동작 모습니다.

메가롬 게임 위주로 넣었습니다.


32KB 게임은 메가롬이 아니니까 매퍼 패치는 필요없고, 단지 페이지 매핑만 되면 OK입니다. ㅎ.ㅎ

해당 게임은 5번 플래쉬롬 12번 블럭에서 시작됩니다. 16KB 두개 블럭이라 12번,13번 블럭 사용이겠네요.




아래는 메탈기어2를 다운로드하는 모습입니다.

512KB라서 플래쉬롬 한개를 다 차지하겠네요.

사진에서는 7번 플래쉬롬으로 표시되었네요.

참고로 MFLASH 는 메가롬 매퍼를 자동으로 감지합니다. (강제 지정 옵션도 넣어야겠지요?)

알고리즘이 간단해서 오진이 있지만, 왠만큼은 돌아가는 듯 하네요. ㅋ




MFLASH L 명령을 쓰면, 다운로드 된 게임의 정보(플래쉬롬 번호 및 시작 블럭 번호)를 볼수 있습니다.




아래는 MMC/SD BIOS에서 멀티롬II를 구동하는 모습입니다.

기존 멀티롬 메뉴에서 M을 누르면 멀티롬II 프로그램이 동작됩니다.




UI가 간단하지용? ㅎ.ㅎㅋ

간단하게 롬파일 목록을 보여줍니다. 커서키로 선택하면 해당 게임이 실행되겠습니다.




불새를 실행해본 모습이네요.




MMC/SD Drive V2 - Multi-ROM II 제작 #5 롬 실행 테스트

낮엔 애들이랑 놀고 운전하고...

밤엔 책상에서 MSX랑 달려봅니다. (약간 피곤하군요~ㅎ.ㅎㅋ)



어제 각 플래쉬롬의 디바이스 ID가 읽히는지 테스트했었는데요,

이 상태에서 팩 뚜껑 닫고 문제가 없는지 동작 체크해봤습니다.

간단하게 메탈기어2 롬 이미지(512KB)를 다운로드 후, 덤프해서 비교하는 방법으로 테스트했습니다.


롬 1,2,3,... 잘되다가 ㅡ,.ㅡ 마지막 롬 7번에서 16KB 다운로드 후 뻗어버리네요..

덤프해보니, 첫 16KB(0000H~3FFFH)는 값이 정상적으로 들어가있는데...

그다음 16KB(4000H~7FFFH)가 첫 16KB랑 값이 똑같게 덤프가 되었더군요.

아마도 A14 위쪽의 어드레스가 잘못되거나 그랬겠지요.

근데 플래쉬롬들이 전부 병렬로 붙어있는데, 왜 마지막 하나만 이상할까... 좀 이상하네요. ㅎ.ㅎ;


결과는 아래 사진을 보시고~~ ㅋ


플래쉬롬 끼리 연결할때 저항 다리를 잘라서 쓴 곳이 많은데요.

마지막 7번 롬의 A14 핀이 떨어져버렸군요.

디카 접사로 보니 금이 쫘~악 ㅡ.ㅡ

아마도 팩 뚜껑 닫을때 플래쉬롬이 약간 뒤틀리면서 떨어진 것 같습니다.

암튼 다시 납땜했어요.




아래는 MFLOAD 프로그램으로 다운로드 테스트하는 모습입니다.

아직은 매퍼 패치가 안되니까 일단 SCC 용 게임롬만 구동이 됩니다.




MMC/SD BIOS의 멀티롬 선택을 확장해서,

아래처럼 멀티롬II를 구동할수 있도록 했습니다.

첫 메뉴에서 M 으로 멀티롬II 선택 후, 추가된 플래쉬롬 번호(16진수 ㅋ)를 고르면 됩니다.


SCC 롬 게임 이것저것 넣어서 테스트해봤는데, 대충 잘 돌아가는 듯 보이네요~ ㅎ.ㅎ




케이스를 닫은 모습입니다.

격돌~페넌트레이스의 희생으로 멀티롬 II 가 완성되었습니다요~ 묵념...




여기까지는 초간단 동작 테스트였구요.

다음은 제대로 된 롬 다운로더 및 멀티롬 II 선택 프로그램 제작으로 넘어갑니다.


그럼, 이만...


2012년 9월 20일 목요일

MMC/SD Drive V2 - Multi-ROM II 제작 #4 납땜 완료

처절한 납땜이 계속됩니다~~ㅋ


바느질 납땜 해보신 분은 아시겠지만, 핀 안헷갈리고 제대로 붙였는지 확인을 많이 해야됩니다.

싸구려 멀티미터 있으시면 좋죠. ㅎ.ㅎㅋ


그럼, 사진 나갑니다.



주렁주렁 납땜되고 있네요.

추가된 AM29F040B는 AT29C040A와 모두 병렬로 연결됩니다.

물론 /CE 는 74LS138에 주르륵 연결이구요.




뒷면~

테입은 플래쉬롬 위치를 고정시키는 용도입니다.




선이 많이 늘었군요~ ㅎ.ㅎ




빈 공간을 활용해서 선을 쓱쓱 넣어줍니다. ㅎ.ㅎ




완성 샷입니다~

오른쪽 파란색 선들은 플래쉬롬 /CE에 연결되어있습니다.




뒷면~




으흠, 제대로 연결이 된걸까요?

후다닥 각 플래쉬롬을 체크할 수 있는 프로그램을 하나 만들었습니다.

당근 다운로드도 됩니다만... 최종 프로그램은 모양이 좀 다르게 만들어질꺼에요.


아래는 멀티롬II의 모든 플래쉬롬 칩ID를 읽은 모습입니다.

7개만 달았으니까, 8~15번 플래쉬롬은 없는걸로 나오네요.




아래는 확장슬롯에서 동작중인 모습입니다.




다행하게도 납땜 후, 칩 ID 체크까지는 한번에 성공했네요~ ㅎ.ㅎb

롬의 상위 어드레스 핀이 꼬였을 수도 있으니, 메탈기어2 다운로드해서 모든롬을 테스트해봐야겠습니다.