Game Boy Development

GameboyIcon Awesome Game Boy Development

Join us on Discord Discord Badge

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

您可以找到此列表的(网络冷却器)网络版本 here.

Introduction

Disambiguation

>尽管本文档重点介绍原始版本(1989年)的Game Boy(DMG),但 Game Boy Color (GBC)和 Super Game Boy (SGB)是非常相似的系统,但有一些重要区别,例如:

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

>如果您打算为SGB或GBC开发软件,或者想知道其在其他系统上的运行方式,则可以利用并适应这些差异,请检查 Game Boy Color 类别,并查找对GBC / CGB和SGB的特定引用.

Community

Documentation

Misc

Cheatsheets, Tables

Game Boy Color

Hardware

Peripherals

Cartridges

Custom cartridges

Emulator Development

Testing

Software Development

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

Assemblers

Compilers

  • GBDK -一套可以在 C 中进行开发的工具. 包括一组最常见要求的库,并生成就绪的ROM文件. Documentation.
    • gbdk-osx -为OS X上的最新编译器修补了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).

Emulators

  • BGB -强大的仿真器和调试器. 提供准确的硬件仿真.
  • SameBoy -精确的仿真器,具有各种强大的调试功能.
  • Mooneye GB -Rust中的研究项目和模拟器.
  • mGBA -现代化的跨平台GBA模拟器,也可以运行GB / GBC游戏.
  • Binjgb -通过大多数测试的5Kloc模拟器. 快退功能. 使用WebAssembly在浏览器中运行.
  • Gambatte -跨平台和准确的模拟器.

Complete list of open source emulators

Tools

  • ZGB -一个为原始Game Boy创建游戏的小引擎(扩展了gbdk,更多信息 here).
  • DevSound -声音驱动程序可嵌入到自制软件中,支持脉冲宽度控制,琶音和多种波形.
  • Carillon Player -音乐引擎.
  • Game Boy Tile Data Generator -HTML5 / JS Web应用程序,它将位图图像转换为适合在基于图块的图形应用程序(特别是GB)中使用的十六进制数据.
  • Harry Mulder's GB Development -Game Boy Tile Designer和Game Boy Map Builder工具的一些来源和主页.
  • GBTiles -将由Harry Mulder的Tile Designer(GBTD)创建的.GBR文件和由Harry Mulder的Map Builder(GBMB)创建的.GBM文件转换为与Game Boy和GBDK一起使用的不同格式.
  • GBT PLAYER -音乐播放器库和转换器套件可与RGBDS一起使用.
  • ROM Header Utility -用于检查和修改ROM​​标头数据(包括徽标)的在线工具.
  • gbcamextract -从“游戏男孩相机”保存中提取照片.
  • GBExtended -扩展gbdk的C库.
  • bmp2cgb -用于Game Boy Color开发的图形转换器,提供实时调色板调整.
  • png2gb -CLI工具可将图像文件转换为游戏男孩.c数组.
  • gbdk-lib-extension -迈克尔·霍普(Michael Hope)提供的有关Game Boy Development Kit的一小部分资源和工具.
  • GB-convert -Game Boy磁贴转换和地图编辑器工具(转换为装配体).
  • cart-dumper -游戏男孩墨盒翻斗ROM.
  • Game Boy LCD sniffing -使用逻辑分析仪嗅探游戏男孩的LCD.
  • Dot Matrix Game Editor -用于Game Boy编程的IDE,使用一种类似于C的语言称为GBL,具有许多其他功能,如图块和地图提取,WLA-DX组装等.
  • brewtool -原始编辑器/转换器工具的集合,用于使资产与自制ROM开发一起使用.
  • Game Boy Text Tools -用于NodeJS编写的Game Boy ROM的文本处理和翻译的工具集
  • mmlgb -Nintendo Game Boy的MML解析器和GBDK声音驱动程序.
  • XPMCK -基于MML的音乐编译器,支持Game Boy和Game Boy Color.
  • mgbdis -具有RGBDS兼容输出的Game Boy ROM反汇编程序.
  • Retr0 GB -用于创建游戏的引擎(扩展了GBDK).
  • awake -Game Boy反编译器.
  • swapdump -Game Boy Flashcarts的诊断实用程序.
  • Gameboy-LinkUp -Game Boy LinkUp串行电缆网络项目.
  • vtGBte -简约的ncurses磁贴编辑器.
  • tpp1 -自定义GB / GBC内存/硬件映射器的定义和规范,作为MBC的功能超集.
  • libstdgb -有用的Game Boy操作(SDCC)的AC库.
  • Tilemap GB -GIMP图像编辑器插件,用于导入和导出GBMB和GBTD tilemap和tileset(作为位图图像或.GBM / .GBR文件).
  • Tilemap Helper -GIMP图像编辑器插件,用于优化图块地图和图块集.

Programming

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

ASM

Sources

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

Timings

Boilerplates

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

About

Contribute

看一眼 Contribution Guidelines.

License

根据 GPLv3 许可. See LICENSE 欲获得更多信息.

Acknowledgements

谢谢 every 这个项目的贡献者,杰夫·弗罗韦因,帕斯卡尔·费尔伯,KOOPa,Pan of Anthrox,GABY,Marat Fayzullin,Paul Robson,BOWSER,neviksti,马丁“ nocash” Korth,Nitro2k01,Duo,Chris Antonellis,Michael Hope,当心,乔纳森·洛德梦” Gevaryahu,Carsten Sorense,SindreAamås,Otaku No Zoku,GeeBee.

Sponsors

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