Skip to content

delwink/libstdgb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libstdgb
========

A C library of useful Game Boy operations.

This library is designed to provide you a simple C interface to the hardware of
the Game Boy hand-held gaming console. It's for the original Game Boy only:
while the code will still run on the Color and Advance models, this library
does not aim to provide interfaces to the features of those devices, such as
color displays.

It also includes complementary post-processing tools designed to make it easy
to organize your Game Boy binary file and formats efficiently on the ROM so you
can spend more time making progress and less time fighting binary formats.

Dependencies
------------

| Program/Library         | Purpose                                         |
|-------------------------|-------------------------------------------------|
| Small Device C Compiler | C compiler used to generate binary instructions |
| CPython 3               | Used for post-processing tools                  |
| Wand for Python 3       | Used for converting images to Game Boy format   |

On Debian-based systems, these can be installed as follows:

    # apt-get install sdcc python3 python3-wand

Notice
------

libstdgb is made using the Small Device C Compiler (SDCC). SDCC has many
versions which output code of varying quality. You should not expect a complete
project to have the same binary size when compiled on different systems.

The version on which this software was tested is not a perfectly optimized
compiler either. For this reason, some of the code will instead be written in
Game Boy assembly language for simple routines that can be easily perfected in
assembly language. This is necessary for a few reasons:

- By writing in assembly language, the output code is predictable (exactly)
- Binary size is a big concern in Game Boy programming; the smaller the better
- For some functions, a program might not be able to tolerate a slow procedure
  - For instance, copying tile maps to VRAM cannot take longer than VBlank

Hacking
-------

Match the style you see in the code. Do not use spaces for indentation.

If you would like to contribute, [send your diff to Delwink][1], or use
GitHub's pull request system.

License
-------

libstdgb is libre software: you are free to use, modify, and redistribute it
under the terms of version 0.6 of the Copyfree Open Innovation License. See
[COPYING](COPYING) for details.

[1]: mailto:contribute@delwink.com

About

C library of useful Game Boy operations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published