떡밥위키
최근 변경
최근 토론
특수 기능
파일 올리기
작성이 필요한 문서
고립된 문서
고립된 분류
분류가 되지 않은 문서
편집된 지 오래된 문서
내용이 짧은 문서
내용이 긴 문서
차단 내역
RandomPage
라이선스
IP 사용자
216.73.216.28
설정
다크 모드로 전환
로그인
개인정보 처리방침 개정 안내
게임보이/개발
(r1 편집)
닫기
RAW 편집
미리보기
[[분류:전통]] [목차] == 개요 == 본 문서는 [[../|게임보이 시리즈]]용 소프트웨어 개발을 다루는 문서이다. [[게임보이 어드밴스|어드밴스]]는 개발에 큰 차이가 있어 서술하지 않는다. == 개발 키트 및 언어 == 본 문서는 [[https://gbdk.org/|GBDK]] 개발 키트를 기준으로, C언어를 기본으로 하는 개발을 다룬다. == 하드웨어적 특징 == === MMIO === MMIO는 Memory-Mapped I/O, 메모리 주소에 매핑된 장치 입출력을 뜻하는데, 게임보이는 이를 적극적으로 활용한다. ||<-2><tablealign=center> {{{+1 '''게임보이 / 컬러 MMIO 맵'''}}} || || 메모리 주소 || 용도 || || {{{0000}}}-{{{3FFF}}} || ROM 0번 뱅크'[* 일부 특수 칩에서는 스위치 가능.] || || {{{4000}}}-{{{7FFF}}} || ROM 자유 뱅크[* 32 KB ROM인 경우 1번 뱅크로 고정.] || || {{{8000}}}-{{{9FFF}}} || VRAM[* [[../#s-2.4|컬러]]는 {{{0}}}-{{{1}}}번 뱅크로 스위치 가능.] || || {{{A000}}}-{{{BFFF}}} || 게임 팩 SRAM[* 팩에 SRAM이 없는 경우 사용 불가능.] || || {{{C000}}}-{{{CFFF}}} || RAM 0번 뱅크 || || {{{D000}}}-{{{DFFF}}} || RAM 자유 뱅크[* [[../#s-2.1|흑백 게임보이]]인 경우 1번 뱅크로 고정.] || || {{{E000}}}-{{{FDFF}}} || ECHO RAM[* {{{C000}}}-{{{DDFF}}} 액세스와 똑같이 동작.] || || {{{FE00}}}-{{{FE9F}}} || OAM[* 스프라이트] 속성 메모리 || || {{{FEA0}}}-{{{FEFF}}} || 액세스 불가 || || {{{FF00}}}-{{{FF7F}}} || 하드웨어 IO || || {{{FF80}}}-{{{FFFE}}} || 상위 메모리 영역 || || {{{FFFF}}} || 인터럽트 활성화 레지스터 || === ROM === ROM은 32 KB 용량부터 8 MB 용량까지 사용 가능하다. 동시 액세스 가능 용량은 32 KB이며, 그 중 절반은 0번 뱅크로 고정되므로 나머지 16 KB만을 실질적으로 자유롭게 접근할 수 있다. 뱅크 용량은 16 KB이다. 특수 칩을 이용해 뱅크 단위로 ROM을 액세스할 수 있다. GBDK 개발 키트에서는 특수 칩으로 MBC5 (Multi Bank Controller 5)를 권장한다. 0번 뱅크와, {{{1}}}-{{{511}}}번 뱅크를 사용할 수 있으며[* 다만 {{{1}}}-{{{255}}} 안쪽으로 사용하는 것을 추천한다.], 게임 팩 SRAM은 8, 32, 128 KB 중 하나를 사용 가능하다.[* 32 / 128 KB 사용 시 뱅크 스위치 필요.] {{{#!syntax cpp SWITCH_ROM(uint8_t bank) }}} 매크로를 통해 {{{1}}}-{{{255}}}번 뱅크로 뱅크 스위치를 할 수 있다. {{{#!syntax cpp SWITCH_ROM_MBC5_8M(uint16_t bank) }}} 매크로를 통해 {{{1}}}-{{{511}}}번 뱅크로 뱅크 스위치를 할 수 있다. 다만 255번 뱅크를 넘어가려면 2바이트를 이용해야 하므로 성능에 영향이 있을 수 있다.
요약
문서 편집을
저장
하면 당신은 기여한 내용을
CC BY-NC-SA 2.0 KR
또는
기타 라이선스 (문서에 명시된 경우)
로 배포하고 기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다. 이
동의는 철회할 수 없습니다.
비로그인 상태로 편집합니다. 로그인하지 않은 상태로 문서 편집을 저장하면, 편집 역사에 본인이 사용하는 IP(216.73.216.28) 주소 전체가 영구히 기록됩니다.
저장
사용자
216.73.216.28
IP 사용자
로그인
회원가입
최근 변경
[불러오는 중...]
최근 토론
[불러오는 중...]