Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Rednex Game Boy Development System - An assembly toolchain for the Nintendo Game Boy and Game Boy Color

License

NotificationsYou must be signed in to change notification settings

gbdev/rgbds

Repository files navigation

RGBDS (Rednex Game Boy Development System) is a free assembler/linker packagefor the Game Boy and Game Boy Color. It consists of:

  • RGBASM (assembler)
  • RGBLINK (linker)
  • RGBFIX (checksum/header fixer)
  • RGBGFX (PNG‐to‐Game Boy graphics converter)

This is a fork of the original RGBDS which aims to make the programs more likeother UNIX tools.

This toolchain is maintainedon GitHub.

The documentation of this toolchain can beviewed online.It is generated from the man pages found in this repository.The source code of the website itself is on GitHub as well under the repositoryrgbds-www.

If you want to contribute or maintain RGBDS, or you have questions regarding the code, itsorganization, etc. you can find the maintainerson the gbdev community channelsor via mail atrgbds at gbdev dot io.

1. Installing RGBDS

Theinstallation procedure is availableonline for various platforms.Building from sourceis possible usingmake orcmake; follow the link for more detailed instructions.

makesudo make install
cmake -S. -B build -DCMAKE_BUILD_TYPE=Releasecmake --build buildcmake --install build

Two parameters available when building are a prefix (e.g. to put the executables in a directory)and a suffix (e.g. to append the version number or commit ID).

makesudo make install PREFIX=install_dir/ SUFFIX=-$(git rev-parse --short HEAD)
cmake -S. -B build -DCMAKE_BUILD_TYPE=Release -DSUFFIX=-$(git rev-parse --short HEAD)cmake --build buildcmake --install build --prefix install_dir

(If you set aSUFFIX, it should include the.exe extension on Windows.)

2. RGBDS Folder Organization

The RGBDS source code file structure is as follows:

.├── .github/│   ├── scripts/│   │   └── ...│   └── workflows/│       └── ...├── contrib/│   ├── zsh_compl/│   │   └── ...│   └── ...├── include/│   └── ...├── man/│   └── ...├── src/│   ├── asm/│   │   └── ...│   ├── extern/│   │   └── ...│   ├── fix/│   │   └── ...│   ├── gfx/│   │   └── ...│   ├── link/│   │   └── ...│   ├── CMakeLists.txt│   └── ...├── test/│   ├── ...│   └── run-tests.sh├── .clang-format├── CMakeLists.txt├── Dockerfile├── Makefile└── README.md
  • .github/ - files and scripts related to the integration of the RGBDS codebase withGitHub.
    • scripts/ - scripts used by workflow files.
    • workflows/ - CI workflow description files.
  • contrib/ - scripts and other resources which may be useful to users and developers ofRGBDS.
    • zsh_compl contains tab completion scripts for use with zsh. Put them somewhere inyourfpath, and they should auto-load.
    • bash_compl contains tab completion scripts for use with bash. Run them withsourcesomewhere in your.bashrc, and they should load every time you open a shell.
  • include/ - header files for the respective source files insrc.
  • man/ - manual pages.
  • src/ - source code of RGBDS.
    • Note that the code unique to each RGBDS tool is stored in its respective subdirectory(RGBASM's code is insrc/asm/, for example).src/extern/ contains code imported fromexternal sources.
  • test/ - testing framework used to verify that changes to the code don't break ormodify the behavior of RGBDS.
  • .clang-format - code style for automated C++ formatting withclang-format.
  • Dockerfile - defines how to build RGBDS with Docker.

3. History

  • 1996-10-01: Carsten Sørensen (a.k.a. SurfSmurf) releasesxAsm,xLink, andRGBFix,a Game Boy SM83 (GBZ80) assembler/linker system for DOS/Win32.
  • 1997-07-03: Sørensen releasesASMotor,packaging the three programs together and moving towards making them ageneral-purpose target-independent system.
  • 1999-08-01: Justin Lloyd (a.k.a. Otaku no Zoku) adapts ASMotor to re-focuson SM83 assembly/machine code, and releases this version asRGBDS.
  • 2009-06-11: Vegard Nossum adapts the code to be more UNIX-like and releasesthis version asrgbds-linux.
  • 2010-01-12: Anthony J. Bentleyforks Nossum'srepository. The fork becomes the reference implementation of RGBDS.
  • 2010-09-25: Sørensen continues development ofASMotor to this day.
  • 2015-01-18: stag019 begins implementingRGBGFX,a PNG‐to‐Game Boy graphics converter, for eventual integration into RGBDS.
  • 2016-09-05: RGBGFX isintegratedinto Bentley's repository.
  • 2017-02-23: Bentley's repository is moved to therednexorganization.
  • 2018-01-26: The codebase isrelicensedunder the MIT license.
  • 2020-09-15: The repository ismovedto thegbdev organization.
  • 2022-05-17: Thergbds.gbdev.io website for RGBDSdocumentation and downloads is published.

4. Acknowledgements

RGBGFX generates palettes using algorithms found in the paper"Algorithms for the Pagination Problem, a Bin Packing with Overlapping Items"(GitHub, MIT license),by Aristide Grange, Imed Kacem, and Sébastien Martin.

RGBGFX's color palette was taken fromSameBoy, with permission and helpbyLIJI.


[8]ページ先頭

©2009-2025 Movatter.jp