https://github.com/gbdev/rgbds-deb
Alright, let's get RGBDS into Debian repositories
https://github.com/gbdev/rgbds-deb
Last synced: 11 months ago
JSON representation
Alright, let's get RGBDS into Debian repositories
- Host: GitHub
- URL: https://github.com/gbdev/rgbds-deb
- Owner: gbdev
- License: mit
- Created: 2024-01-31T11:02:12.000Z (about 2 years ago)
- Default Branch: debian
- Last Pushed: 2024-02-18T13:35:00.000Z (almost 2 years ago)
- Last Synced: 2024-10-29T14:51:24.843Z (over 1 year ago)
- Language: C++
- Size: 9.66 MB
- Stars: 2
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.rst
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
RGBDS
=====
RGBDS (Rednex Game Boy Development System) is a free assembler/linker package
for 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 like
other UNIX tools.
This toolchain is maintained `on GitHub `__.
The documentation of this toolchain can be viewed online `here `__.
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 repo
`rgbds-www `__.
If you want to contribute or maintain RGBDS, and have questions regarding the code, its
organisation, etc. you can find the maintainers `on the gbdev community channels `__
or via mail at ``rgbds at gbdev dot io``.
1. Installing RGBDS
-------------------
The `installation procedure `__ is available
online for various platforms. `Building from source `__
is possible using ``make`` or ``cmake``; follow the link for more detailed instructions.
.. code:: sh
make
sudo make install
.. code:: sh
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
cmake --install build
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.rst
.. |clang-format| replace:: ``clang-format``
.. _clang-format: https://clang.llvm.org/docs/ClangFormat.html
- ``.github/`` - files and scripts related to the integration of the RGBDS codebase with
GitHub.
* ``scripts/`` - scripts used by workflow files.
* ``workflows/`` - CI workflow description files.
- ``contrib/`` - scripts and other resources which may be useful to users and developers of
RGBDS.
* ``zsh_compl`` contains tab completion scripts for use with zsh. Put them somewhere in
your ``fpath``, and they should auto-load.
* ``bash_compl`` contains tab completion scripts for use with bash. Run them with ``source``
somewhere in your ``.bashrc``, and they should load every time you open a shell.
- ``include/`` - header files for the respective source files in `src`.
- ``man/`` - manual pages.
- ``src/`` - source code of RGBDS.
* Note that the code unique to each RGBDS tool is stored in its respective subdirectory
(rgbasm -> ``src/asm/``, for example). ``src/extern/`` contains code imported from
external sources.
- ``test/`` - testing framework used to verify that changes to the code don't break or
modify the behavior of RGBDS.
- ``.clang-format`` - code style for automated C++ formatting with |clang-format|_.
- ``Dockerfile`` - defines how to build RGBDS with Docker.
3. History
----------
- 1996-10-01: Carsten Sørensen (a.k.a. SurfSmurf) releases
`xAsm `__,
`xLink `__, and
`RGBFix `__,
a Game Boy SM83 (GBZ80) assembler/linker system for DOS/Win32.
- 1997-07-03: Sørensen releases `ASMotor `__,
packaging the three programs together and moving towards making them a
general-purpose target-independent system.
- 1999-08-01: Justin Lloyd (a.k.a. Otaku no Zoku) adapts ASMotor to re-focus
on SM83 assembly/machine code, and releases this version as
`RGBDS `__.
- 2009-06-11: Vegard Nossum adapts the code to be more UNIX-like and releases
this version as `rgbds-linux `__.
- 2010-01-12: Anthony J. Bentley `forks `__ Nossum's
repository. The fork becomes the reference implementation of RGBDS.
- 2015-01-18: stag019 begins implementing `rgbgfx `__,
a PNG‐to‐Game Boy graphics converter, for eventual integration into RGBDS.
- 2016-09-05: rgbgfx is `integrated `__
into Bentley's repository.
- 2017-02-23: Bentley's repository is moved to the `rednex `__
organization.
- 2018-01-26: The codebase is `relicensed `__
under the MIT license.
- 2020-09-15: The repository is `moved `__
to the `gbdev `__ organization.
- 2022-05-17: The `rgbds.gbdev.io `__ website for RGBDS
documentation 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 from `SameBoy `__, with permission and help by `LIJI `__.