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 列表. > 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.
  • Turbo Rascal Syntax Error -完整的套件(IDE,编译器,编程语言,资源编辑器),用于为8/16位系列的计算机(包括Game Boy和Game Boy Color)开发游戏/演示.

Experimental/Proof of Concepts

  • RGBDS-Live -浏览器内编码环境,可试用RGBDS.
  • 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 - Provides accurate emulation and includes powerful tools such as a profiler and source-level debugging for ASM and C via a 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 - An IDE for Game Boy programming in a C-like language called GBL, with many other features like tile and map extraction, WLA-DX assembly, and more.
  • 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 -Game Boy磁贴转换和地图编辑器工具(转换为装配体).
  • brewtool -原始编辑器/转换器工具的集合,用于使资产与自制ROM开发一起使用.
  • vtGBte -简约的ncurses磁贴编辑器.
  • tpp1 -自定义GB / GBC内存/硬件映射器的定义和规范,作为MBC的功能超集.
  • libstdgb -有用的Game Boy操作(SDCC)的AC库.
  • Tilemap GB -GIMP图像编辑器插件,用于导入和导出GBMB和GBTD磁贴图和磁贴集(作为位图图像或.GBM / .GBR文件).
  • Tilemap Helper -GIMP图像编辑器插件,用于优化图块地图和图块集.
  • Tilemap Studio -Game Boy,Color,Advance和SNES项目的图块编辑器. 用C ++和FLTK编写.
  • Superfamiconv -灵活且可组合的图块图形转换器,支持超级任天堂,Game Boy,Game Boy Color,Game Boy Advance,Mega Drive和PC Engine格式.

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

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

  • dev'rs ASM section -许多有效的演示和资源.
  • EmmaEwert's experiments -原型程序的集合,大部分只是在玩玩. 其中包括日光效果,透明度和天气效果.
  • DeadCScroll -有关如何使屏幕摆动以及其他“光栅效果”的详细教程

Timings

Boilerplates and libraries

Syntax highlighting packages

C

Homebrews

完整和开源的游戏.

  • Homebrew Hub -为Game Boy制作的每一种非官方的自制软件都可以在线玩(也可以通过移动/触摸):社区领导尝试收集,存档和保存由该社区制作的Game Boy(Color)的所有非官方游戏,自制软件,演示,补丁,hackrom通过多年的热情工作.

ASM

C

Demos

Reverse Engineering

Game Disassemblies

Game Boy Camera

Retrieving images

游戏男孩打印机仿真(例如,从相机中检索图像):

Changing the camera's behavior

改善和/或控制相机质量和行为的方法:

Post processing

Directories

Websites

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

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).