멀티 메모리 컨트롤러

위키백과, 우리 모두의 백과사전.

멀티 메모리 컨트롤러(Multi Memory Controller)는 닌텐도 패밀리 컴퓨터(NES)의 게임 카트리지에 사용된 메모리 관리 칩으로 메모리 매니지먼트 컨트롤러(Memory Management Controller)라고도 부르며 줄여서 MMC라고도 한다. 그리고 NES 에뮬레이터에서는 이들 칩을 매퍼(mapper)라고 부른다. 패밀리 컴퓨터는 한번에 최대 32KB의 메모리를 사용할 수 있었는데 MMC를 사용하여 메모리 뱅크 스위칭으로 더 많은 메모리를 사용할 수 있으며 큰 용량의 게임을 제작할 수 있었다. 일부 MMC는 메모리 관리 기능 뿐만 아니라 추가 사운드나 그래픽 기능을 가지고 있었다.

MMC 칩 목록[편집]

MMC1[편집]

  • 제조사 : 닌텐도
  • 사용된 게임 : 젤다의 전설, 메트로이드 등등
  • 프로그램 ROM : 16KB, 32KB 뱅크로 256KB 사용 가능
  • 프로그램 RAM : 8KB
  • 캐릭터 용량 : 8KB, 4KB 뱅크로 128KB ROM 또는 8KB RAM 사용 가능
  • 24핀 DIP 패키지

MMC1은 MMC1A, MMC1B1, MMC1B2, MMC1B3, MMC1C 등의 5 종류가 있는데 A버전은 세이브데이터 저장용의 프로그램 램을 항상 사용 가능하도록 설정되어 있으며 B버전은 초기 상태(default)에서 사용 가능, C버전은 초기 상태에서는 사용 불가능한 것이 차이점이다. MMC1은 독특하게 시리얼 입력 방식을 사용하기 때문에 회로에 명령을 전달하려면 비트 시프트로 5번 연속해서 쓰기를 해야 한다.[1]

MMC2[편집]

  • 제조사 : 닌텐도
  • 사용된 게임 : 마이크 타이슨의 펀치 아웃 (Mike Tyson's Punch-Out!!)
  • 프로그램 ROM : 8KB 뱅크로 128KB
  • 캐릭터 ROM : 4KB 뱅크로 128KB
  • 40핀 DIP 패키지

MMC2는 마이크 타이슨의 펀치 아웃(나중에 펀치 아웃으로 이름 변경)에만 사용되었다. 단일 8KB 뱅크로 프로그램 롬을 선택하며 프로그램 롬은 2쌍의 4KB 뱅크를 사용해 선택하는데 메모리에서 특정한 그래픽 타일을 로드하면 자동으로 스위칭되기 때문에 게임 프로그램에서 수동으로 스위칭 할 필요가 없이 화면에 큰 그래픽을 표시할 수 있다.[2]

MMC3[편집]

MMC3는 MMC칩 중에서 가장 널리 사용된 칩으로 MMC3A, B, C 버전이 있지만 차이점은 없다. MMC3에는 스캔라인 기반의 IRQ 카운터로 분할된 화면을 쉽게 스크롤할 수 있었는데 주로 게임에서 위, 아래의 캐릭터 상태바를 그대로 둔 채 배경화면을 스크롤하는데 사용되었다. 또한 8KB 프로그램 롬 뱅크 2개와 2KB 2개 +1KB 4개의 캐릭터 롬 뱅크를 선택할 수 있다.[3]

MMC4[편집]

MMC4는 인텔리전트 시스템즈(Intelligent Systems)에서 개발되어 세가지 게임에만 사용되었는데 모두 일본판 패미컴용으로 발매되었다. 이 칩은 MMC2와 동일한 칩으로 차이점은 8KB 뱅크 대신 16KB 뱅크를 사용하며 게임 데이터를 세이브하기 위한 배터리 백업 SRAM을 지원한다.[4]

MMC5[편집]

MMC5는 닌텐도의 MMC 중에서 가장 많은 메모리 용량을 지원한다. MMC5는 매우 비싸기 때문에 많은 게임 개발사에서 사용을 꺼려했으며 코에이가 유일하게 여러 게임에서 이 칩을 사용했다. MMC5는 1KB의 램을 내장하고 있으며 NES 사운드와 동일한 펄스파 2채널과 8비트 PCM 1채널이 추가되었다.(PCM 채널을 사용한 게임은 없다.) 그리고 스캔라인 기반의 IRQ카운터, 수직 분할 화면 스크롤과 한번에 16384개의 배경화면 타일을 사용 가능하며 각각의 타일마다 색상 팔레트 설정을 할 수 있는 등 향상된 그래픽 기능도 추가되었다.[5]

MMC6[편집]

MMC6은 MMC3와 동일한 칩으로 추가로 내장된 1KB의 램은 배터리 백업으로 게임 데이터를 저장할 수 있다.[6]

패미컴 디스크 시스템[편집]

AOROM[편집]

AOROM 매퍼는 Rare Ltd의 크리스 스탬퍼가 개발한 칩으로 AMROM, ANROM, AOROM 카트리지 보드에 사용되었다. 이 칩은 레어, 트레이드웨스트, 게임텍, 어클레임, 밀튼 브래들리 등의 개발사에서 제작한 게임에 사용되었다. 다른 칩들과는 달리 싱글 스크린 미러링을 사용한다.[7]

서드파티 칩[편집]

퍼스트파티 하드웨어는 북아메리카유럽에만 허가되어 있으며 서드파티 칩은 일본에서만 사용된다고 알려져 있지만 최근에는 북아메리카의 몇몇 게임에서도 사용되었다.

VRC2[편집]

VRC2은 코나미에서 개발한 칩으로 프로그램 롬은 8KB 뱅크로 스위칭 할 수 있으며 캐릭터 롬은 1KB 뱅크로 스위칭 할 수 있다. 이 칩은 VRC2a 와 VRC2b 등 2가지 버전이 있다.[8]

VRC4[편집]

코나미 VRC2와 비슷하지만 용량이 더 크다.[9]

VRC6[편집]

VRC6(Virtual Rom Controller)은 코나미의 향상된 MMC 칩으로 프로그램 코드와 그래픽에서 뱅크 스위칭을 지원하며 스캔라인 기반의 IRQ 카운터도 내장하고 있다. 이 칩은 3채널(펄스파 2채널과 삼각파 1채널)의 사운드도 추가로 지원한다. 이 칩은 악마성 전설(캐슬배니아 III 드라큘라의 저주 - 일본판)에 사용되었으며 북미/유럽판(NES)에는 닌텐도의 MMC5가 사용되었다. NES 카트리지에는 음성 입출력 단자가 없기 때문에 추가 사운드를 사용할 수 없었다. 그래서 사운드트랙을 NES의 5채널에 맞춰 다시 제작하였다. 나이젤 만셀의 월드 챌린지에도 VRC6 칩이 사용되었지만 추가 사운드는 사용하지 않았다.[10]

VRC7[편집]

  • 제조사 : 코나미
  • 사용된 게임 : 라그레인지 포인트 (Lagrange Point)
  • 프로그램 ROM : 8KB 뱅크로 512KB 사용 가능
  • 프로그램 RAM : 8KB
  • 캐릭터 ROM : 1KB 뱅크(롬 대신 램으로 스왑 가능)
  • 추가 6채널 FM 음원(2op)
  • 48핀 DIP 패키지

VRC7은 VRC6과 같이 뱅크 스위칭과 IRQ 카운트 기능과 추가로 YM2413(OPLL)과 비슷한 2오퍼레이터의 6채널 FM 사운드를 지원한다. OPLL과 다른 점은 리듬 채널이 제외되었다는 것과 내장된 음색이 다르며 상태 레지스터 등에서 차이가 있다. 추가 사운드는 패미컴 게임 라그레인지 포인트에서만 사용되었다. 일본판 타이니툰 어드벤처 2에도 VRC7이 사용되었지만 추가 사운드를 사용하지는 않았다.[11]

NAMCOT 163[편집]

FME-7[편집]

FME-7은 선소프트에서 개발한 메모리 매퍼로 프로그램 롬은 8KB 뱅크, 캐릭터 롬은 1KB 뱅크로 스위칭 할 수 있다.[13]또 CPU 클럭에 따라 IRQ 신호를 생성할 수 있어서 최소한의 프로세싱 파워로 화면 분할 효과를 사용할 수 있다.

Sunsoft 5B[편집]

FME-7과 비슷하나 3채널이 추가된 버전이다.

  • 사용된 게임: 기믹!(gimmick!)

언라이센스/홈브루 MMC[편집]

라이센스를 받지 못한 개발사와 개인이 제작한 매퍼로 대부분은 간단히 메모리 확장 기능만 가지고 있다.

228[편집]

228은 단순한 뱅크 스위칭 매퍼로 AVGN이 극혐할정도로 질낮은 게임으로 유명한 액션 52와 치타맨 II에 사용되었다. 이 칩은 네임테이블 컨트롤 비트가 없다. 액션 52에서는 게임에서 나가기 위한 메뉴 선택 용도의 작은 16비트 레지스터를 포함하고 있다.

참조 문서[편집]

  1. “NESdevWiki의 닌텐도 MMC1”. 2009년 3월 5일에 원본 문서에서 보존된 문서. 2009년 7월 11일에 확인함. 
  2. “NESdevWiki의 닌텐도 MMC2”. 2009년 2월 21일에 원본 문서에서 보존된 문서. 2009년 7월 11일에 확인함. 
  3. “NESdevWiki의 닌텐도 MMC3”. 2009년 3월 19일에 원본 문서에서 보존된 문서. 2009년 7월 11일에 확인함. 
  4. “NESdevWiki의 닌텐도 MMC4”. 2009년 2월 21일에 원본 문서에서 보존된 문서. 2009년 7월 11일에 확인함. 
  5. “NESdevWiki의 닌텐도 MMC5”. 2009년 3월 23일에 원본 문서에서 보존된 문서. 2009년 7월 11일에 확인함. 
  6. “NESdevWiki의 닌텐도 MMC6”. 2009년 2월 21일에 원본 문서에서 보존된 문서. 2009년 7월 11일에 확인함. 
  7. NESdevWiki의 닌텐도 AOROM[깨진 링크(과거 내용 찾기)]
  8. NESdevWiki의 코나미 VRC2[깨진 링크(과거 내용 찾기)]
  9. NESdevWiki의 코나미 VRC4[깨진 링크(과거 내용 찾기)]
  10. “NESdevWiki의 코나미 VRC6”. 2009년 2월 26일에 원본 문서에서 보존된 문서. 2009년 7월 11일에 확인함. 
  11. “NESdevWiki의 코나미 VRC7”. 2009년 2월 26일에 원본 문서에서 보존된 문서. 2009년 7월 11일에 확인함. 
  12. NesDev의 Namcot 106 매퍼 정보
  13. NesDev의 Sunsoft 매퍼 정보

외부 링크[편집]