Goboy는 멀티 플랫폼 Nintendo Gameboy 및 GAY에 작성된 Gameboy Color Emulator입니다. 에뮬레이터는 대부분의 GB 게임과 일부 CGB 게임을 실행할 수 있습니다. 색상과 사운드 지원도 있습니다. 이 에뮬레이터는 주로 개발 운동으로 제작되었으며 여전히 진행중인 작업입니다. GameBoy 에뮬레이터 개발에 관심이 있으시면 언제든지 기여하십시오.


이 프로그램에는 디버깅 기능이 포함되어있어 직접 구축하기위한 에뮬레이터 작업을 이해하는 데 유용합니다. 이러한 기능에는 각 단계에서 콘솔에 Opcodes의 인쇄 및 레지스터 값이 포함됩니다 (에뮬레이션을 크게 느리게하지만) 및 개별 사운드 채널의 토글링이 포함됩니다.
릴리스 페이지에서 Goboy의 최신 릴리스를 다운로드하십시오.
GO를 설치하면 실행하여 Goboy를 Go Bin에 설치할 수 있습니다.
go get github.com/Humpheh/goboy/cmd/goboy당신이 1.11로 이동하면 당신은 또한 할 수 있습니다 :
git clone https://github.com/Humpheh/goboy.git
cd goboy
go build -o goboy cmd/goboy/main.goGoboy는 MacOS, Windows 및 Linux와 호환됩니다. Wind
Goboy는 컨트롤 바인딩 및 그래픽 렌더링을 위해 Go 라이브러리 픽셀을 사용하여 OpenGL이 필요합니다. 픽셀 readme에서 찾을 수있는 몇 가지 요구 사항을 설치해야 할 수도 있습니다.
goboy zelda.gb컨트롤 : ← ← ■ ↓ → z x 백 스페이스 로 들어갑니다
색상 팔레트는 = (DMG 모드에서)로 순환 할 수 있으며 게임은 f 로 전체 화면을 만들 수 있습니다.
기타 옵션 :
-dmg
set to force dmg mode
-mute
mute sound output디버그 또는 실험 옵션 :
-cpuprofile string
write cpu profile to file (debugging)
-disableVsync
set to disable vsync (debugging)
-stepthrough
step through opcodes (debugging)
-unlocked
if to unlock the cpu speed (debugging)디버깅에 유용한 몇 가지 키보드 바로 가기가 있습니다.
Q- 강제 토글 배경
W- 강제 토글 스프라이트
A- 인쇄 GB 배경 팔레트 데이터 (CGB)
S- 인쇄 스프라이트 팔레트 데이터 (CGB)
D- 로그에 배경 맵을 인쇄합니다
E- 콘솔에 오크 코드 인쇄 토글 (실행 속도가 느려집니다)
7,8,9,0- 토글 사운드 채널 1 ~ 4.
로드 된 ROM이 배터리를 지원하는 경우 <rom-name>.sav (예 : zelda.gb.sav ) 파일이 카트리지에서 RAM 덤프가 들어있는로드 된 ROM 옆에 생성됩니다. 프로그램의 루프는 게임이 실행되는 동안 매 초 마다이 파일을 업데이트합니다.
Goboy는 현재 Blargg의 cpu_instrs 및 instr_timing 테스트 ROM에서 모든 테스트를 통과합니다.


이 ROM은 출력이 예상대로 확인하기위한 테스트와 함께 소스 코드에 포함됩니다 ( instructions_test.go 및 timing_test.go ). 이 테스트는 각 커밋마다 실행됩니다.
이 프로젝트에 대한 풀 요청을 열거나 관심이 있으시면 주변에서 플레이하십시오! 에뮬레이터에서 게임을 통해 쉽게 찾을 수있는 작은 버그가 여전히 많거나 아래의 Todo 목록에서 작업을 수행 할 수 있습니다!




GameBoy 하드웨어를 이해하고 테스트하는 데 다양한 리소스가 사용되었습니다. 이 중 일부는 다음과 같습니다.