From 5a7ffd19b02f4954185d2dc76a02c63eaca003f6 Mon Sep 17 00:00:00 2001 From: Rangi42 Date: Sat, 2 Aug 2025 22:07:18 -0400 Subject: [PATCH] Move or remove some redundant information from the README * Move the folder structure to ARCHITECTURE.md (which can be expanded as per #707) * Move the acknowledgements to CONTRIBUTORS.md * Remove the history (it's a copy of man/rgbds.7) --- ARCHITECTURE.md | 69 +++++++++++++++++++++++++++ CONTRIBUTORS.md | 10 ++++ README.md | 122 +++--------------------------------------------- 3 files changed, 85 insertions(+), 116 deletions(-) create mode 100644 ARCHITECTURE.md diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 00000000..229118c8 --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,69 @@ +# RGBDS Architecture + +## 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 +├── compile_flags.txt +├── Dockerfile +└── Makefile +``` + +- `.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's code is in `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`](https://clang.llvm.org/docs/ClangFormat.html). +- `CMakeLists.txt` - defines how to build RGBDS with CMake. +- `compile_flags.txt` - compiler flags for C++ static analysis with + [`clang-tidy`](https://clang.llvm.org/extra/clang-tidy/). +- `Dockerfile` - defines how to build RGBDS with Docker. +- `Makefile` - defines how to build RGBDS with `make`. diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 8eee0136..0dab68f6 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -36,3 +36,13 @@ [](https://github.com/gbdev/rgbds/graphs/contributors) Contributor image made with [contrib.rocks](https://contrib.rocks). + +## Acknowledgements + +RGBGFX generates palettes using algorithms found in the paper +["Algorithms for the Pagination Problem, a Bin Packing with Overlapping Items"](https://arxiv.org/abs/1605.00558) +([GitHub](https://github.com/pagination-problem/pagination), MIT license), +by Aristide Grange, Imed Kacem, and Sébastien Martin. + +RGBGFX's color palette was taken from [SameBoy](https://sameboy.github.io), with permission and help +by [LIJI](https://github.com/LIJI32). diff --git a/README.md b/README.md index 2c7af8fc..605f67ae 100644 --- a/README.md +++ b/README.md @@ -11,19 +11,19 @@ for the Game Boy and Game Boy Color. It consists of: 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](https://github.com/gbdev/rgbds). -The documentation of this toolchain can be [viewed online](https://rgbds.gbdev.io/docs/). +The documentation of this toolchain can be [viewed online](https://rgbds.gbdev.io/docs/), +including its [basic usage and development history](https://rgbds.gbdev.io/docs/rgbds.7). 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 repository [rgbds-www](https://github.com/gbdev/rgbds-www). -If you want to contribute or maintain RGBDS, or you have questions regarding the code, its -organization, etc. you can find the maintainers [on the gbdev community channels](https://gbdev.io/chat) -or via mail at `rgbds at gbdev dot io`. +If you want to contribute or maintain RGBDS, read [CONTRIBUTING.md](CONTRIBUTING.md). +If you have questions regarding the code, its organization, etc. you can find the maintainers +[on the GBDev community channels](https://gbdev.io/chat) or via mail at `rgbds at gbdev dot io`. -## 1. Installing RGBDS +## Installing RGBDS The [installation procedure](https://rgbds.gbdev.io/install) is available online for various platforms. [Building from source](https://rgbds.gbdev.io/install/source) @@ -55,113 +55,3 @@ cmake --install build --prefix install_dir ``` (If you set a `SUFFIX`, 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 -├── compile_flags.txt -├── Dockerfile -├── Makefile -└── README.md -``` - -- `.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's code is in `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`](https://clang.llvm.org/docs/ClangFormat.html). -- `compile_flags.txt` - compiler flags for C++ static analysis with - [`clang-tidy`](https://clang.llvm.org/extra/clang-tidy/). -- `Dockerfile` - defines how to build RGBDS with Docker. - -## 3. History - -- 1996-10-01: Carsten Sørensen (a.k.a. SurfSmurf) releases - [xAsm](http://otakunozoku.com/RGBDSdocs/asm.htm), - [xLink](http://otakunozoku.com/RGBDSdocs/link.htm), and - [RGBFix](http://otakunozoku.com/RGBDSdocs/fix.htm), - a Game Boy SM83 (GBZ80) assembler/linker system for DOS/Win32. -- 1997-07-03: Sørensen releases [ASMotor](http://otakunozoku.com/RGBDSdocs/geninfo.htm), - 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](http://otakunozoku.com/rednex-gameboy-development-system/). -- 2009-06-11: Vegard Nossum adapts the code to be more UNIX-like and releases - this version as [rgbds-linux](https://github.com/vegard/rgbds-linux). -- 2010-01-12: Anthony J. Bentley [forks](https://github.com/bentley) Nossum's - repository. The fork becomes the reference implementation of RGBDS. -- 2010-09-25: Sørensen continues development of - [ASMotor](https://github.com/asmotor/asmotor) to this day. -- 2015-01-18: stag019 begins implementing [RGBGFX](https://github.com/stag019/rgbgfx), - a PNG-to-Game Boy graphics converter, for eventual integration into RGBDS. -- 2016-09-05: RGBGFX is - [integrated](https://github.com/gbdev/rgbds/commit/c3c31138ddbd8680d4e67957e387f2816798a71b) - into Bentley's repository. -- 2017-02-23: Bentley's repository is moved to the [rednex](https://github.com/rednex) - organization. -- 2018-01-26: The codebase is [relicensed](https://github.com/gbdev/rgbds/issues/128) - under the MIT license. -- 2020-09-15: The repository is [moved](https://github.com/gbdev/rgbds/issues/567) - to the [gbdev](https://github.com/gbdev) organization. -- 2022-05-17: The [rgbds.gbdev.io](https://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"](https://arxiv.org/abs/1605.00558) -([GitHub](https://github.com/pagination-problem/pagination), MIT license), -by Aristide Grange, Imed Kacem, and Sébastien Martin. - -RGBGFX's color palette was taken from [SameBoy](https://sameboy.github.io), with permission and help -by [LIJI](https://github.com/LIJI32).