Game Boy Development

GameboyIcon Awesome Game Boy Development

Join us on Discord Discord Badge

精选的Game Boy(彩色)开发资源,工具,文档,相关项目和开源ROM的精选列表. 受启发 awesome 列出的东西.

您可以找到此列表的一个(很酷的)网络版本 here.

Introduction

Disambiguation

Game Boy Advance

> Game Boy Advance开发由另一个项目涵盖 awesome-gbadev list. > GBA,但是,可以运行 GB / GBC游戏. 与本地硬件相比,这样做的方式略有不同:此列表的“模拟器开发”部分对此进行了介绍.

Game Boy Color and Super Game Boy

>此列表主要针对原始的 Game Boy (GB或DMG,1989), Game Boy Color (GBC或CGB)和 Super Game Boy (SGB)是非常相似的系统,其中一些重要区别,例如:

>-不同的硬件规格; >-特定的硬件和软件功能; >-特定寄存器; >-特定的错误,怪癖和可利用的行为.

If you aim to develop your software for SGB or GBC, or you want to know how it runs on the other systems, you may want to take advantage and adapt to these differences, check the Game Boy Color 类别,并查找对GBC / CGB和SGB的特定引用.

Community

Documentation

Opcodes

Game Boy Color

Hardware

Peripherals

Cartridges

Custom cartridges

Misc

Emulator Development

Testing

Software Development

The To C Or Not To C 本文概述了Game Boy的功能,讨论了可用开发工具的优缺点,并提供了编写更高效代码的技巧.

Assemblers

Compilers

  • GBDK -一套可以在 C 中进行开发的工具. 包括一组最常见要求的库,并生成就绪的ROM文件. 最近更新于2001年. Documentation.
  • GBDK-2020 -带有更新的SDCC工具链(支持ROM库),错误修复,文档和其他改进的现代化GBDK. 支持Windows,Linux和macOS.
  • gbdk-osx -为macOS上的最新编译器修补了GBDK 2.96a.
  • gbdk-n -旨在更新gbdk库以使其与新版本的SDCC兼容,并为构建rom提供帮助. 不支持ROM库,因此将ROM大小限制为32K.

Experimental/Proof of Concepts

  • Wiz -一种高级汇编语言,用于在复古控制台平台(Game Boy,NES,Atari 2600等)上编写自制程序.
  • gbforth -基于Forth的Game Boy开发套件.
  • gbasm-rs -为Game Boy z80汇编代码使用的基于Rust的编译器.
  • gbasm -用于Game Boy z80汇编代码的基于JavaScript的编译器.
  • tniASM -宏汇编器.
  • Assembler -用Swift编写的汇编器.
  • llvm-gbz80 / clang-gbz80 -GBZ80 CPU的Clang / LLVM端口(类似于已弃用的端口) euclio/llvm-gbz80).
  • gbdk-go -编译器将Go程序转换为C代码. 输出的C代码由GBDK内置到GB ROM中.

Emulators

  • BGB -强大的仿真器和调试器. 提供准确的硬件仿真.
  • SameBoy -精确的仿真器,具有各种强大的调试功能.
  • Mooneye GB -Rust中的研究项目和模拟器.
  • mGBA -现代化的跨平台GBA模拟器,也可以运行GB / GBC游戏.
  • Binjgb -通过大多数测试的5Kloc模拟器. *倒带功能. 使用WebAssembly在浏览器中运行.
  • Gambatte -跨平台和准确的模拟器.
  • MetroBoy -整个Game Boy的可播放电路级仿真.
  • gbe-plus -最近重写的仿真器,它在保留晦涩的附件(例如IR链接,移动网络GB,条形码男孩,GB打印机,本地和在线GB串行链接电缆等)上付出了巨大的努力.
  • Emulicious -提供准确的仿真,并包括强大的工具,例如,通过 VS Code debug adapter.

Complete list of open source emulators

Tools

Engines

  • ZGB -一个用于为原始Game Boy创建游戏的小引擎(扩展了gbdk,更多信息 here).
  • Retr0 GB -用于创建游戏的引擎(扩展了GBDK).

Development tools

  • GBExtended -扩展gbdk的C库.
  • gbdk-lib-extension -迈克尔·霍普(Michael Hope)提供的有关Game Boy Development Kit的一小部分资源和工具.
  • Dot Matrix Game Editor -用于Game Boy编程的IDE,使用一种类似于C的语言称为GBL,具有许多其他功能,如图块和地图提取,WLA-DX组装等.
  • mgbdis -具有RGBDS兼容输出的Game Boy ROM反汇编程序.
  • ROM Header Utility -用于检查和修改ROM​​标头数据(包括徽标)的在线工具.
  • romusage -命令行工具,用于从.map,.noi或ihx文件估计Game Boy ROM的使用(可用空间). 与GBDK-2020和RGBDS一起使用.
  • awake -Game Boy反编译器.
  • Game Boy Text Tools -用Node.js编写的用于文本操作和Game Boy ROM的翻译工具集.

Graphics utilities

  • Game Boy Tile Data Generator -HTML5 / JS Web应用程序,它将位图图像转换为适合在基于图块的图形应用程序(特别是GB)中使用的十六进制数据.
  • Harry Mulder's GB Development -Game Boy Tile Designer(GBTD)和Game Boy Map Builder(GBMB)工具的一些来源和主页.
  • GBTiles -将使用Harry Mulder的Tile Designer(GBTD)创建的.GBR文件和使用Harry Mulder的Map Builder(GBMB)创建的.GBM文件转换为与Game Boy和GBDK一起使用的不同格式.
  • bmp2cgb -用于Game Boy Color开发的图形转换器,提供实时调色板调整.
  • png2gb -CLI工具可将图像文件转换为游戏男孩.c数组.
  • GB-convert -游戏男孩图块转换和地图编辑器工具(转换为装配体).
  • brewtool -原始编辑器/转换器工具的集合,用于使资产与自制ROM开发一起使用.
  • vtGBte -简约的ncurses磁贴编辑器.
  • tpp1 -自定义GB / GBC内存/硬件映射器的定义和规范,作为MBC的功能超集.
  • libstdgb -有用的Game Boy操作(SDCC)的AC库.
  • Tilemap GB -GIMP图像编辑器插件,用于导入和导出GBMB和GBTD tilemap和tileset(作为位图图像或.GBM / .GBR文件).
  • Tilemap Helper -GIMP图像编辑器插件,用于优化图块地图和图块集.
  • Tilemap Studio -适用于Game Boy,Color,Advance和SNES项目的图块编辑器. 用C ++和FLTK编写.

Hardware and ROM utilities

Music drivers and trackers

  • DevSound -声音驱动程序可嵌入到自制软件中,支持脉冲宽度控制,琶音和多种波形.
  • Carillon Player -音乐引擎.
  • GBT PLAYER -音乐播放器库和转换器套件.
  • mmlgb -Nintendo Game Boy的MML解析器和GBDK声音驱动程序.
  • XPMCK -基于MML的音乐编译器,支持Game Boy和Game Boy Color.
  • SoundSystem -GameBoy Tracker(又名Paragon 5音乐播放器)的现代化音频驱动程序.
  • hUGETracker -基于OpenMPT的音乐跟踪器,专注于易用性,紧凑的输出以及在自制游戏中的可嵌入性.

Programming

使用以下内容中所述的开发工具链为Game Boy开发软件的指南,教程和工具. Software Development 章节.

ASM

Sources

代码片段,效果,概念证明以及通常不完整的游戏.

Timings

Boilerplates and libraries

Syntax highlighting packages

C

Homebrews

完整和开源的游戏.

  • Homebrew Hub -曾经为Game Boy制作的每一种非官方的自制软件都可以在线玩(也可以通过移动/触摸):社区领导试图收集,存档和保存由该社区制作的Game Boy(Color)的每款非官方游戏,自制软件,演示,补丁,hackrom通过多年的热情工作.
  • Infinity -由Affinix Software开发的RPG,主要在1999年至2001年之间开发.该游戏从未找到发行商,并最终被取消了. 最近发布了完整的源代码,开发工具和工作流程.

ASM

C

Demos

Reverse Engineering

Game Disassemblies

Directories

Websites

  • devrs.com/gb -场景的故乡:示例,源,完整的文档,指南,教程和各种工具.
  • pdroms.de -Game Boy发布.
  • Handheld Underground -未经许可的游戏,有关Game Boy的博客文章,hhugboy模拟器的家.

About

Contribute

看一眼 Contribution Guidelines.

License

根据 GPLv3 许可. See LICENSE 想要查询更多的信息.

Acknowledgements

谢谢 every 这个项目的贡献者,Jeff Frohwein,Pascal Felber,KOOPa,Pan of Anthrox,GABY,Marat Fayzullin,Paul Robson,BOWSER,neviksti,Martin“ nocash” Korth,Nitro2k01,Duo,Chris Antonellis,Michael Hope,当心,Jonathan“ Lord梦” Gevaryahu,Carsten Sorense,SindreAamås,Otaku No Zoku,GeeBee.

Sponsors

特别感谢我们的朋友 DigitalOcean,赞助我们的Game Boy Development社区(announcement).