./devel/rgbds, Assembler/linker package for the Game Boy and Game Boy Color

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.4.1, Package name: rgbds-0.4.1, Maintainer: pkgsrc-users

RGBDS (Rednex Game Boy Development System) is a free assembler/linker
package for the Game Boy and Game Boy Color. It consists of:

* rgbasm (an assembler)
* rgblink (a linker)
* rgbfix (a checksum/header fixer)
* rgbgfx (a 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.


Required to run:
[graphics/png]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: 2d5a844a0c2426b925f47177013bb4afb07f68b0
RMD160: d6980e57a890ebda71f0d1149242c6b10dcec85e
Filesize: 226.847 KB

Version history: (Expand)


CVS history: (Expand)


   2020-08-08 21:17:45 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
rgbds: Update to 0.4.1

Changes:

   The version that brought GBDK support! I mean, brought them our
   support?

   New:
     * RGBLINK tries to report more errors at once
     * Two-argument ALIGN[] to additionally specify an offset
     * Mid-section align directive
     * A RGBLINK option to prevent padding its output
     * A warning for empty db/dw/dl in ROM sections
     * (Overdue) documentation of -MG, -MP, -MT and -MQ
     * RGBDS can now be compiled using CMake, if you prefer; note that the
       Makefile is still the main build method
     * RGBDS should be able to be compiled using MSVC now

   Deprecations:
     * -Wobsolete is now enabled by default! This is not a deprecation,
       but it should make it easier for you to notice deprecated changes
     * *-comments are now deprecated, please use ;-comments instead

   Changes:
     * Consistently with RGBLINK, RGBASM now allows constants to be
       referenced prior to their definition (see [71]#496 for details)
     * RGBASM [72]ISO 8601 symbols now correctly separate time with colons
     * Macro can now have an arbitrary number of arguments; a sanity limit
       has been arbitrarily set to 99,999, which should be enough for
       everyone

   Fixes:
     * Fixed RGBLINK incorrectly computing PC inside LOAD blocks
     * Fixed BANK(@) outside of sections crashing RGBASM
     * Fixed BANK() of a constant crashing RGBLINK
     * Fixed period not being accepted as second character of a label name
     * Fixed possible RGBASM crash from an empty input file
     * Fixed modulo by 0 crashing RGBLINK
     * Fixed user-after-free from errors in INCLUDEd linker scripts
     * Fixed 0-byte sections being incorrectly printed in .map files
     * Fixed a rare RGBASM hang when deleting symbols
     * Fixed uninitialized memory reads with -MT and -MQ
     * Fixed incorrect explanation of pop af instruction
     * Fixed incorrect reporting of overlapping sections
     * Fixed incorrect documentation of unary !
     * Fixed documentation not updated regarding behavior of RGBLINK's -t
       and -w
     * Fixed implicitly relying on -fcommon: RGBDS now builds with GCC
       10's default configuration
     * RGBDS no longer relies on 32-bit int, making it more portable to
       e.g. DOS
   2020-04-12 13:32:30 by Nia Alarie | Files touched by this commit (3) | Package updated
Log message:
rgbds: Update to 0.4.0

Very big release! This includes a lot of bug fixes, large portions of the
code rewritten, and some features deprecated or removed. We hope not to
break anyone's code, but we won't keep bugs for compatibility's sake. If
your code broke and the change isn't in the list below, please open an
issue in our tracker.

New:

 * Added warning flags to RGBASM: by default, most warnings are disabled
   now. Please see man rgbasm for more info
 * "LOAD blocks" simplify writing code that should run in RAM; users of
   unofficial program rgbbin may want to look into this
 * Shiny new assertions, whose checking can be deferred to RGBLINK
 * "Unionized" sections offer a sort of cross-file UNION
 * More flags in the RGBASM -M family for better automatic dependency
   management
 * Bracketed symbols can be nested (example)
 * SHIFT can now shift multiple times at once
 * Long options (such as --version for -V) have been added to all
   programs
 * RGBASM now accepts escape \r in strings
 * INCBIN now works with unseekable files as well

Deprecations and removals:

 * As part of a cleanup effort, features previously marked as deprecated
   have been removed, such as the CODE section type
 * Labels not starting with a dot nor followed by a colon have been
   deprecated; in a future version, they will be treated as macro
   invocations
 * Deprecated OPT z in favor of new and more consistent OPT p
 * Deprecated GLOBAL symbol (and its synonym XDEF), as it has the same
   effect as EXPORT
 * Removed "section-local" charmap (deprecated in 0.3.9)

Changes:

 * .sym and .map files are now output sorted
 * The argument to rst does not need to be known to RGBASM anymore (so
   labels can be used at all times)
 * Only labels may have dots in their name now
 * Labels beginning with a dot may have whitespace before their
   declaration
 * DEF() now accepts labels as arguments
 * ROMX and WRAMX sections can be used in RGBLINK's -t and -w modes,
   respectively
 * RGBLINK will report more detailed "error stacks", like RGBASM
 * RGBASM tries harder to treat expressions as "constant"
 * Second byte of stop can be specified without resorting to using db

For further information on new or changed features, please refer to our
documentation.

Fixes:

 * gbz80(7) had incorrect flag descriptions for sub
 * Arguments to RGBASM -i have a / implicitly appended if they don't end
   with one
 * = was treated as identical to set, so = 7, [hl] was valid; this has
   been fixed
 * Corrected wrong line reporting with REPT blocks
 * Changing sections now resets the label scope
 * Built-ins and symbols referenced in link-time expressions can no
   longer be PURGEd
 * __ISO_8601_UTC__ and __ISO_8601_LOCAL__ symbols fixed on Windows (with
   a caveat for the latter)

Notes:

 * RGBDS is now compiled with optimizations by default. To disable
   optimizations, use make CFLAGS=-O0. To compile in "debug mode", build
   using make develop instead of make; this requires a fairly specific
   configuration, though, and might not work for you.
 * Performance of RGBASM and RGBLINK should have been improved (beyond
   the above), but we would need help from someone experienced with YACC
   / Bison to make more significant changes
 * Reliability across systems and platforms has been improved:
      * RGBASM parser grammar has been cleaned up
      * Undefined behavior has been removed from various programs
 * Nightly builds are available for each commit now ("Actions" tab ⇒
   "Regression testing" ⇒ click on the commit name)
 * Docs have received an overhaul, including a more responsive and
   mobile-friendly styling
 * General system stability improvements to enhance the user's experience
   2019-11-01 18:39:34 by Nia Alarie | Files touched by this commit (3) | Package updated
Log message:
rgbds: Update to 0.3.9

rgbasm:

    Enforced non-overwritability of some symbols
    - now allows assembling a file from stdin
    Allowed PUSHS to be used before a section declaration
    Prevented generating symbols with invalid names using macros
    Fixed the precedence of the == operator
    Added different output formats to bracketed symbols
    Fixed a parsing bug with some nested if constructs
    Improved error reporting now reports actual file line numbers as well as \ 
string expansions
    Added multiple charmaps (be careful as some feature has been deprecated, a \ 
warning has been added about it)
    Fixed bug with line numbers in some IF/ELIF/ELSE blocks
    Added configurable recursion limit to prevent infinite loops
    Fixed unary NOT being a no-op on constant expressions
    Made behavior consistent whether outputting a .o file or not
    Allowed tabs to be used before line continuations
    Allowed sections without content to be placed anywhere
    Made error message more explicit with macro argument 0

rgblink:

    Improved many error messages

rgbgfx:

    Added an option to use the GBC's color profile

other:

    Added more tests
    Did some internal cleanup
    Improved cross-platform compatibility of test suite
   2019-03-04 14:18:05 by Nia Alarie | Files touched by this commit (1) | Package updated
Log message:
rgbds: Update HOMEPAGE to the github.io page.
   2019-03-04 14:10:00 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
devel/rgbds: Update to 0.3.8

Changes:

rgbasm and rgblink
    Report correct filename and line number of symbols in error messages.
    Fix long-standing issue of ambiguity in constant parsing.
    Fix behaviour of parser regarding newlines and \.

rgbfix
    Fix regression on calculation of ROM checksum.

Other
    Documentation updates and cleanups.
    Some new tests.
    Re-enabled OS X build CI job.
   2018-10-03 15:17:06 by Nia Alarie | Files touched by this commit (1)
Log message:
devel/rgbds: Honour PKGMANDIR.
   2018-08-17 20:17:59 by Nia Alarie | Files touched by this commit (1)
Log message:
rgbds: add lex and yacc to USE_TOOLS.
   2018-08-15 17:25:10 by Nia Alarie | Files touched by this commit (5)
Log message:
devel/rgbds: add version 0.3.7

RGBDS (Rednex Game Boy Development System) is a free assembler/linker
package for the Game Boy and Game Boy Color. It consists of:

* rgbasm (an assembler)
* rgblink (a linker)
* rgbfix (a checksum/header fixer)
* rgbgfx (a 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.