diff --git a/LICENSE.md b/LICENSE.rst similarity index 60% rename from LICENSE.md rename to LICENSE.rst index 3681dbe6..74eb1d2a 100644 --- a/LICENSE.md +++ b/LICENSE.rst @@ -1,6 +1,10 @@ -# Original code +LICENSE +======= -Copyright (C) 1997 Carsten Sorensen +Original code +------------- + +Copyright (C) 1997 Carsten Sorensen The ASMotor package (xAsm, xLink, RGBFix, examples and documentation) is freeware and distributed as is. The author retains his copyright and right to @@ -19,40 +23,43 @@ In other words this means I encourage you to... This also means you can't... - blame me for loss of profit, data, sleep, food or other nasty things through - the use or distribution of ASMotor. If you choose to use ASMotor you do so at + the use or distribution of ASMotor. If you choose to use ASMotor you do so at your own risk. - expect me to be able to help you should you have a problem related or not to ASMotor. -# Otaku no Zoku's modifications +Otaku no Zoku's modifications +----------------------------- -Copyright (C) 1999 Justin Lloyd (?) +Copyright (C) 1999 Justin Lloyd (?) -``` - DO WHATEVER PUBLIC LICENSE* - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +:: - 0. You can do whatever you want to with the work. - 1. You cannot stop anybody from doing whatever they want to with the work. - 2. You cannot revoke anybody elses DO WHATEVER PUBLIC LICENSE in the work. + DO WHATEVER PUBLIC LICENSE* + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - This program is free software. It comes without any warranty, to - the extent permitted by applicable law. You can redistribute it - and/or modify it under the terms of the DO WHATEVER PUBLIC LICENSE + 0. You can do whatever you want to with the work. + 1. You cannot stop anybody from doing whatever they want to with the work. + 2. You cannot revoke anybody elses DO WHATEVER PUBLIC LICENSE in the work. - Software originally created by Justin Lloyd @ http://otakunozoku.com/ -``` + This program is free software. It comes without any warranty, to + the extent permitted by applicable law. You can redistribute it + and/or modify it under the terms of the DO WHATEVER PUBLIC LICENSE -# rgbds-linux + Software originally created by Justin Lloyd @ http://otakunozoku.com/ -Copyright (C) 2009 Vegard Nossum +rgbds-linux +----------- -# Current +Copyright (C) 2009 Vegard Nossum + +Current +------- rgbasm and rgblink are derived from Justin Lloyd's RGBDS. -rgbfix was rewritten from scratch by Anthony J. Bentley, and is released -under the ISC license; see the source file for the text of the license. +rgbfix was rewritten from scratch by Anthony J. Bentley, and is released under +the ISC license; see the source file for the text of the license. rgbgfx was written by stag019, and is released under the ISC license. @@ -64,11 +71,11 @@ The UTF-8 decoder in src/asm/charmap.c was written by Björn Höhrmann and is released under the MIT license. The remainder of charmap.c was written by stag019, and is released under the ISC license. -extern/err.c is derived from the Musl C library, http://www.musl-libc.org, -and is released under the MIT license. +extern/err.c is derived from the Musl C library, http://www.musl-libc.org, and +is released under the MIT license. extern/reallocarray.c is derived from the OpenBSD Project, http://www.openbsd.org, and is released under the ISC license. -extern/strl.c is derived from the OpenBSD Project, http://www.openbsd.org, -and is released under the BSD license. +extern/strl.c is derived from the OpenBSD Project, http://www.openbsd.org, and +is released under the BSD license. diff --git a/README.md b/README.md deleted file mode 100644 index d95e55eb..00000000 --- a/README.md +++ /dev/null @@ -1,162 +0,0 @@ -# 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](https://github.com/rednex/rgbds), as -well as its [documentation](https://github.com/rednex/rednex.github.io). - -The documentation of this toolchain can be viewed online -[here](https://rednex.github.io/), it is generated from the man pages found in -this repository. - -## 1. Installing RGBDS - -### 1.1 Windows - -Windows builds are available in the releases page on GitHub: - - https://github.com/rednex/rgbds/releases - -Copy the `.exe` files to `C:\Windows\` or similar. - -If you require the latest version in development, it should be possible to -compile RGBDS with MinGW or Cygwin by following the instructions to build it -on UNIX systems. - -### 1.2 macOS - -You can build RGBDS by following the instructions below. However, if you would -prefer not to build RGBDS yourself, you may also install it using -[Homebrew](http://brew.sh/). - -To install the latest release, use: - -```sh -brew install rgbds -``` - -To install RGBDS with all of the current changes in development (as seen on the -`master` branch on GitHub), use: - -```sh -brew install rgbds --HEAD -``` - -### 1.3 Other UNIX-like systems - -No official binaries of RGBDS are distributed for these systems, you must follow -the simple instructions below to compile and install it. - - -## 2. Building RGBDS from source - -RGBDS can be built in UNIX-like systems by following the instructions below. - -### 2.1 Dependencies - -RGBDS requires yacc, flex, libpng and pkg-config to be installed. - -On macOS, install the latter two with [Homebrew](http://brew.sh/): - -```sh -brew install libpng pkg-config -``` - -On other Unixes, use the built-in package manager. For example, on Debian or -Ubuntu: - -```sh -sudo apt-get install byacc flex pkg-config libpng-dev -``` - -You can test if libpng and pkg-config are installed by running -`pkg-config --cflags libpng`: if the output is a path, then you're good, and if -it outputs an error then you need to install them via a package manager. - -### 2.2 Build process - -To build the programs, run in your terminal: - -```sh -make -``` - -Then, to install the compiled programs and manual pages, run (with appropriate -privileges, e.g, with `sudo`): - - -```sh -make install -``` - -After installation, you can read the manuals with the `man` command. E.g., - -```sh -man 7 rgbds -``` - -There are some variables in the Makefile that can be redefined by the user. The -variables described below can affect installation behavior when given on the -make command line. For example, to install RGBDS in your home directory instead -of systemwide, run the following: - -```sh -make install PREFIX=$HOME -``` - -To do a verbose build, run: - -```sh -make Q= -``` - -This is the complete list of user-defined variables: - -- `PREFIX`: Location where RGBDS will be installed. Defaults to `/usr/local`. - -- `bindir`: Location where the binaries will be installed. Defaults to - `${PREFIX}/bin`. - -- `mandir`: Location where the manpages will be installed. Defaults to - `${PREFIX}/man`. - -- `DESTDIR`: This is prepended to all paths during the installation. It is - mainly used for packaging. - -- `Q`: Whether to quiet the build or not. To make the build more verbose, clear - this variable. Defaults to `@`. - -- `STRIP`: Whether to strip the installed binaries of debug symbols or not. - Defaults to `-s`. - -- `BINMODE`: Permissions of the installed binaries. Defaults to `555`. - -- `MANMODE`: Permissions of the installed manpages. Defaults to `444`. - -- `CHECKPATCH`: Path of the script `checkpatch.pl` of the Linux kernel. Defaults - to `../linux/scripts/checkpatch.pl`. - -## 3 History - -- Around 1997, Carsten Sorensen (AKA SurfSmurf) writes ASMotor as a - general-purpose assembler/linker system for DOS/Win32 - -- Around 1999, Justin Lloyd (AKA Otaku no Zoku) adapts ASMotor to read and - produce GBZ80 assembly/machine code, and releases this version as RGBDS. - -- 2009, Vegard Nossum adapts the code to be more UNIX-like and releases this - version as rgbds-linux on [GitHub](https://github.com/vegard/rgbds-linux). - -- 2010, Anthony J. Bentley forks that repository. The fork becomes the reference - implementation of rgbds. - -- 2017, Bentley's repository is moved to a neutral name. diff --git a/README.rst b/README.rst new file mode 100644 index 00000000..a23cd566 --- /dev/null +++ b/README.rst @@ -0,0 +1,173 @@ +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 `__, as +well as its `documentation `__. + +The documentation of this toolchain can be viewed online +`here `__, it is generated from the man pages found +in this repository. + +1. Installing RGBDS +------------------- + +1.1 Windows +~~~~~~~~~~~ + +Windows builds are available in the releases page on GitHub: + +:: + + https://github.com/rednex/rgbds/releases + +Copy the ``.exe`` files to ``C:\Windows\`` or similar. + +If you require the latest version in development, it should be possible to +compile RGBDS with MinGW or Cygwin by following the instructions to build it on +UNIX systems. + +1.2 macOS +~~~~~~~~~ + +You can build RGBDS by following the instructions below. However, if you would +prefer not to build RGBDS yourself, you may also install it using +`Homebrew `__. + +To install the latest release, use: + +.. code:: sh + + brew install rgbds + +To install RGBDS with all of the current changes in development (as seen on the +``master`` branch on GitHub), use: + +.. code:: sh + + brew install rgbds --HEAD + +1.3 Other UNIX-like systems +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +No official binaries of RGBDS are distributed for these systems, you must follow +the simple instructions below to compile and install it. + +2. Building RGBDS from source +----------------------------- + +RGBDS can be built in UNIX-like systems by following the instructions below. + +2.1 Dependencies +~~~~~~~~~~~~~~~~ + +RGBDS requires yacc, flex, libpng and pkg-config to be installed. + +On macOS, install the latter two with `Homebrew `__: + +.. code:: sh + + brew install libpng pkg-config + +On other Unixes, use the built-in package manager. For example, on Debian or +Ubuntu: + +.. code:: sh + + sudo apt-get install byacc flex pkg-config libpng-dev + +You can test if libpng and pkg-config are installed by running ``pkg-config +--cflags libpng``: if the output is a path, then you're good, and if it outputs +an error then you need to install them via a package manager. + +2.2 Build process +~~~~~~~~~~~~~~~~~ + +To build the programs, run in your terminal: + +.. code:: sh + + make + +Then, to install the compiled programs and manual pages, run (with appropriate +privileges, e.g, with ``sudo``): + +.. code:: sh + + make install + +After installation, you can read the manuals with the ``man`` command. E.g., + +.. code:: sh + + man 7 rgbds + +There are some variables in the Makefile that can be redefined by the user. The +variables described below can affect installation behavior when given on the +make command line. For example, to install RGBDS in your home directory instead +of systemwide, run the following: + +.. code:: sh + + make install PREFIX=$HOME + +To do a verbose build, run: + +.. code:: sh + + make Q= + +This is the complete list of user-defined variables: + +- ``PREFIX``: Location where RGBDS will be installed. Defaults to + ``/usr/local``. + +- ``bindir``: Location where the binaries will be installed. Defaults to + ``${PREFIX}/bin``. + +- ``mandir``: Location where the manpages will be installed. Defaults to + ``${PREFIX}/man``. + +- ``DESTDIR``: This is prepended to all paths during the installation. It is + mainly used for packaging. + +- ``Q``: Whether to quiet the build or not. To make the build more verbose, + clear this variable. Defaults to ``@``. + +- ``STRIP``: Whether to strip the installed binaries of debug symbols or not. + Defaults to ``-s``. + +- ``BINMODE``: Permissions of the installed binaries. Defaults to ``555``. + +- ``MANMODE``: Permissions of the installed manpages. Defaults to ``444``. + +- ``CHECKPATCH``: Path of the script ``checkpatch.pl`` of the Linux kernel. + Defaults to ``../linux/scripts/checkpatch.pl``. + +3 History +--------- + +- Around 1997, Carsten Sorensen (AKA SurfSmurf) writes ASMotor as a + general-purpose assembler/linker system for DOS/Win32 + +- Around 1999, Justin Lloyd (AKA Otaku no Zoku) adapts ASMotor to read and + produce GBZ80 assembly/machine code, and releases this version as RGBDS. + +- 2009, Vegard Nossum adapts the code to be more UNIX-like and releases + this version as rgbds-linux on + `GitHub `__. + +- 2010, Anthony J. Bentley forks that repository. The fork becomes the reference + implementation of rgbds. + +- 2017, Bentley's repository is moved to a neutral name.