지원 이미지
모델
- 원래의 게임 보이는 일본에서 1989년 4월 21일, 미국에서 1989년 7월 31일, 유럽에서 1990년 9월 28일에 출시됨.
- 다음 세대의 후속작인 게임 보이 컬러는 일본에서 1998년 10월 21일, 북미에서 1998년 11월 18일, 유럽에서 1998년 11월 23일에 출시됨.
마더보드
다이어그램
간단한 소개
- 게임 보이는 제한된 성능을 가진 휴대용 NES로 상상할 수 있으나, 매우 흥미로운 새로운 기능을 포함하고 있음.
무지개 분석
- 이 콘솔의 엄청난 인기로 인해 다양한 리비전(예: 게임 보이 포켓, 라이트, 슈퍼 닌텐도 카트리지 형태 등)이 등장함.
- 게임 보이 브랜드는 두 세대를 아우름.
- 4세대에는 흑백 게임 보이와 그 리비전이 있고, 다음 세대에는 게임 보이 컬러가 있음(버추얼 보이의 종말 후 출시됨).
- 이 글은 두 세대 모두를 다루므로 결국 게임 보이의 작동 방식과 기술이 어떻게 진화하여 게임 보이 컬러가 되었는지에 대한 좋은 이해를 얻게 될 것임.
CPU
- 닌텐도는 여러 개의 현장에서 구할 수 있는 칩을 마더보드에 배치하는 대신, 대부분의 구성 요소를 담고(숨기고) 있는 단일 칩 디자인을 선택함.
- 이러한 칩을 System On Chip (SoC)이라고 하며, 이 경우에는 이 콘솔을 위해 특별히 제작되어 닌텐도의 요구 사항(전력 효율, 안티-파이러시, 추가 I/O 등)에 맞춤.
- 이 칩은 소매 카탈로그에서 찾을 수 없으므로 당시 경쟁자들이 클론을 만드는 데 더 어려움을 겪음.
- 게임 보이에 사용된 SoC는 DMG-CPU 또는 Sharp LR35902로 불리며, Sharp Corporation에서 제조함.
- 이 회사는 닌텐도와 밀접한 관계를 유지하고 있음.
CPU 코어
- DMG-CPU 내부의 주요 프로세서는 Sharp SM83이며, Z80(세가 마스터 시스템에 사용된 CPU)과 인텔 8080 사이의 혼합임.
- 약 4.19 MHz의 속도로 작동하며, 이는 평균 1-MHz CPU보다 빠름.
- SM83은 Z80의
IX
또는 IY
레지스터나 8080의 IN
또는 OUT
명령어를 포함하지 않음. 즉, I/O 포트를 사용할 수 없음.
- 인텔 8080의 레지스터 세트만 구현되어 있으므로, Z80의 16개 레지스터와 달리 8개의 범용 레지스터만 있음.
- Z80의 확장 명령어 세트 중 일부(비트 조작 명령어만)를 포함함.
- Sharp는 Z80이나 8080에 없는 몇 가지 새로운 명령어를 추가함. 이는 닌텐도/Sharp가 하드웨어를 구성한 방식과 관련된 특정 작업을 최적화함.
컬러 효과
- 거의 10년 후, 버추얼 보이와 그 혁신적인 하드웨어를 버린 후, 겸손한 후속작인 게임 보이 컬러가 등장함.
- 내부에는 몇 가지 추가 사항을 포함한 새로운 SoC인 CPU CGB가 있으며, SM83 CPU 코어는 동일하나 클록 속도가 두 배로 증가함(이제 ~8.38 MHz에서 작동).
- 개발자들은 새 콘솔을 프로그래밍하기 위해 현재의 기술을 재사용할 수 있고, 새로운 아키텍처에 맞게 시스템을 재설계할 필요 없이 비용을 절약할 수 있으며, 상당한 노력 없이도 하위 호환성을 가능하게 함.
- CPU CGB는 두 가지 작동 모드를 구현함:
-
일반 모드: SM83이 ~4.19 MHz에서 작동함.
-
듀얼-스피드 모드: SM83이 ~8.38 MHz에서 작동함.
하드웨어 액세스
- SM83은 8비트 데이터 버스와 16비트 주소 버스를 유지하므로 최대 64 KB의 메모리를 주소 지정할 수 있음.
- 메모리 맵은 주로 다음 엔드포인트로 구성됨:
- 게임 팩(게임 카트리지) 공간.
- 작업 RAM(WRAM), 고 RAM(HRAM) 및 디스플레이 RAM(VRAM).
- I/O(조이패드, 오디오, 그래픽, LCD).
- 인터럽트 컨트롤.
메모리 사용 가능
- 닌텐도는 마더보드에 8 KB의 RAM을 장착함. 이는 일반적인 용도로 사용됨(이를 Work RAM 또는 'WRAM'이라고 함).
- SoC 내부에는 추가로 127 B의 RAM이 있으며, 이는 즉각적인 접근이 필요한 데이터를 위한 작은 공간을 제공함(예: 스택).
그래픽
- 모든 그래픽 계산은 CPU에서 수행되며, 그 후 Picture Processing Unit 또는 'PPU'가 이를 렌더링함.
- 통합 LCD 화면에 표시되며, 해상도는 160×144 픽셀이고, 흑백 게임 보이의 경우 4가지 회색 음영(흰색, 밝은 회색, 어두운 회색, 검정색)을 표시함.
내용 구성
- PPU는 8 KB의 VRAM 또는 '디스플레이 RAM'에 연결되어 있으며, CPU에게도 조정된 접근을 제공함.
- 게임은 다양한 영역에 올바른 유형의 데이터를 채우는 책임이 있음.
프레임 구성
- PPU가 화면에 물건을 그리는 방법을 살펴보면, _슈퍼 마리오 랜드 2_를 예로 들 수 있음.
타일
- PPU는 그래픽을 렌더링하기 위한 기본 재료로 타일을 사용함.
- 타일은 8x8 비트맵으로 VRAM의 타일 세트 또는 '타일 패턴 테이블'이라는 영역에 저장됨.
배경 레이어
- 배경 레이어는 256x256 픽셀 (32x32 타일) 맵으로 정적 타일을 포함함.
- 화면에 표시되는 부분은 게임이 선택하며, 게임 플레이 중에 보이는 영역을 이동시킬 수 있음.
윈도우
- 윈도우는 배경과 스프라이트 위에 표시되는 160x144 픽셀 레이어로, 이 레이어는 스크롤되지 않음.
스프라이트
- 스프라이트는 화면 주위를 독립적으로 이동할 수 있는 타일임.
- 이 레이어는 투명이라는 추가 색상을 사용/요구함.
결과
비밀과 제한 사항
- 윈도우 레이어와 추가 인터럽트의 도입으로 새로운 유형의 콘텐츠와 효과가 가능해짐.
컬러 추가 사항
- 게임 보이 컬러의 PPU는 원본의 상위 집합으로 작동함.
오디오
- 오디오 시스템은 Audio Processing Unit (APU), 4채널의 PSG 칩으로 수행됨.
기능
비밀과 제한 사항
- 믹서는 스테레오 사운드를 출력하므로 채널을 왼쪽 또는 오른쪽에 할당할 수 있음.
운영 체제
- NES와 달리 게임 보이는 항상 내부 256 바이트 ROM에서 부팅하도록 설계되었으며, 그 후에 게임 코드로 점프함.
게임
- 게임은 어셈블리로 작성되며 최대 크기는 32 KB임.
외부 통신
- 게임 보이 링크 케이블을 사용하여 다른 게임 보이와 통신할 수 있음.
안티-파이러시
- 콘솔은 게임을 바로 실행하지 않고, 비인가 카트리지의 실행을 방지하고 카트리지가 올바르게 삽입되었는지 확인하는 일련의 검사를 수행함.
GN⁺의 의견
- 게임 보이의 기술적 진화는 휴대용 게임 콘솔의 역사에서 중요한 발전을 나타냄.
- 닌텐도의 SoC 접근 방식은 하드웨어 설계에서 혁신적이었으며, 경쟁사들이 클론을 만드는 것을 어렵게 만듦.
- 게임 보이 컬러의 하위 호환성은 개발자와 사용자 모두에게 큰 이점을 제공함.