diff options
Diffstat (limited to 'README.html')
-rw-r--r-- | README.html | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/README.html b/README.html index 9a2e405..70ea256 100644 --- a/README.html +++ b/README.html @@ -2,11 +2,35 @@ <html> <h1>AGBx</h1> <p>Framework for development on the Game Boy Advance.</p> - <br /> - <p>Controls for the demo:</p> + <h2>Features</h2> + <p>The goal of this project is to provide a modern, standard-compliant C library for developing games and other types of software for the Game Boy Advance series.</p> + <p>This project is still – relatively – early in development; Don't expect too much of it.</p> + <p>Current features include:</p> + <ul> + <li> + <p>Application wrapping (of the 'main' function);</p> + </li> + <li> + <p>Memory manipulation functions (writting to and reading from arbitrary memory addresses without undefined behaviour);</p> + </li> + <li> + <p>Minimal memory manipulation routines (currently only slow copying);</p> + </li> + <li> + <p>Basic input detection from the main keys — A, B, +Control Pad, L, R, Start, Select;</p> + </li> + <li> + <p>Simple facilities for the bitmap graphics modes (three, four, and five), such as vertical synchronisation, video bank flipping, plotters/readers;</p> + </li> + </ul> + <p>Whilst this project may not be as feature complete as others (such as <a href="https://www.coranac.com/tonc/text/toc.htm">TONC</a>), I still hope for it to be up there in the future.</p> + <p>I understand that the market for Game Boy games is nowhere near what it was during it's height twenty years ago, but I still hope for this hobbyist piece of software to someday prove useful for developers wanting to appeal to the retro market (or just for hobbyist projects of their own).</p> + <h2>Demo</h2> + <p>Provided is a simple demo program that functions as a graphics editor – akin to that of Paintbrush.</p> + <h3>Controls</h3> <ul> <li> - <p>A: Colour the current pixel;</p> + <p>A: Colour the selected pixel;</p> </li> <li> <p>+CONTROL PAD (UP): Move one pixel up on the canvas;</p> @@ -30,15 +54,19 @@ <p>START: Exit the demo;</p> </li> <li> - <p>SELECT: Exit the demo (whilst indicating error);</p> + <p>SELECT: Exit the demo (by indicating error);</p> </li> </ul> <h2>Building</h2> - <p>As the Game Boy Advance uses an ARM (ARM7TDMI) processor, AGBx requires an ARM cross-compiler.</p> + <p>The project (including the demo) is written in Standard C (ISO/IEC 9899:2023, N3047). As the Game Boy Advance uses an ARM (ARM7TDMI) processor, AGBx requires an ARM cross-compiler.</p> <p>For GCC, the appropriate package is <i>arm-none-eabi-gcc</i> on Arch Linux and <i>gcc-arm-none-eabi</i> on Debian. Clang supports supports cross-compilation by default, and this platform can be set via the <i>--target=arm-none-eabi</i> option.</p> - <p>The used cross-compiler can be configured in the makefiles, however, it must be GCC-compatible..</p> + <p>The used cross-compiler can be configured in the makefiles, however, it must be GCC-compatible unless you're willing to make major adjustments.</p> <br /> <p>The provided makefiles are for GNU Make (hence the filename of <i>GNUmakefile</i>) and depend on it's extensions.</p> <h3>Demo</h3> - <p>The demo uses <a href="https://mandelbrot.dk/agbsum">agbsum</a> (<a href="https://mandelbrot.dk/pkgbuild_agbsum">pkgbuild</a>) for patching the demo image header checksum so that it isn't rejected by the bootloader. This patch isn't always required, however, and the makefile (at <i>demo/GNUmakefile</i>) can be modified to skip it.</p> + <p>The demo uses <a href="https://mandelbrot.dk/agbsum">agbsum</a> (<a href="https://mandelbrot.dk/pkgbuild_agbsum">pkgbuild</a>) for patching the demo image header checksum so that it isn't rejected by the bootloader. This patch isn't always required, however, and the makefile (at <i>demo/GNUmakefile</i>) may be modified to skip it.</p> + <h2>Copyright and License</h2> + <p>Copyright 2022 Gabriel Jensen.</p> + <p>All source files (with exceptions, see the individual files) – including the makefiles – are licensed under the <a href="https://mozilla.org/MPL/2.0">Mozilla Public License 2.0</a>.</p> + <p>The contents of this readme document are licensed under a <a href="http://creativecommons.org/licenses/by/4.0">Creative Commons Attribution 4.0 International License</a>.</p> </html> |