Ben10do 420ea638a7 Refactor section assignment in linker
Deduplicates and generalises a lot of code in assign.c:

- Replace area_AllocAbs*AnyBank() with area_AllocAbsAnyBank() function
that accepts a section type parameter
- Replace area_Alloc*AnyBank() with area_AllocAnyBank()
- Replace FindLargest*() with FindLargestSection()
- Replace Assign*Sections() with AssignBankedSections()
- Add VerifyAndSetBank(), which enables bank checks (and addition with
BANK_*) to be centralised
- Refactor the initialisation of AssignSections(), removing some magic
numbers and only setting MaxAvail[i] once
- Overhaul the duplicated cases throughout AssignSections()
2017-01-27 08:56:36 +00:00
2014-09-24 03:03:42 -06:00
2017-01-27 08:56:36 +00:00
2017-01-24 01:19:16 -07:00
2017-01-23 23:46:44 +00:00
2016-09-05 01:29:45 -06:00
2016-10-22 14:13:19 -06:00

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
----------------
  RGBDS README
----------------

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  (PNGtoGame Boy graphics converter)

rgbds-linux is a fork of the original RGBDS which aims to make the programs
more like other UNIX tools.


  Installing RGBDS (UNIX)
=========================

RGBDS requires libpng and pkg-config to be installed.

On Mac OS X, install them with [Homebrew](http://brew.sh/). On other Unixes,
use the built-in package manager.

You can test if they're 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.

To build the programs on a UNIX or UNIX-like system, just run in your terminal:

  make

Then to install the compiled programs and manual pages, run (with appropriate
privileges):

  make install

After installation, you can read the manuals with the man(1) command. E.g.,

  man 1 rgbasm


Note: 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:

  mkdir -p $HOME/{bin,man/man1,man/man7}
  make install PREFIX=$HOME


PREFIX: Location where RGBDS will be installed. Defaults to /usr/local.

BINPREFIX: Location where the RGBDS programs will be installed. Defaults
to ${PREFIX}/bin.

MANPREFIX: Location where the RGBDS man pages will be installed. Defaults
to ${PREFIX}/man.

Q: Whether to quiet the build or not. To make the build more verbose, clear
this variable. Defaults to @.


  Installing RGBDS (Windows)
============================

Windows builds are available here: https://github.com/bentley/rgbds/releases

Copy the .exe files to C:\Windows\ or similar.
Description
Rednex Game Boy Development System - An assembly toolchain for the Nintendo Game Boy and Game Boy Color
Readme MIT 18 MiB
Languages
C++ 68%
Assembly 18%
Shell 6.8%
Yacc 5%
CMake 1%
Other 1%