Commit Graph
100 Commits
Author SHA1 Message Date
Antonio Niño Díaz 3c15b141e0 Add checkpatch.pl config file and Makefile targets
This is used to verify the coding style of patches.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2018-01-02 17:09:36 +01:00
Antonio Niño Díaz 72f801283d Cleanup code of rgbasm
Follow Linux kernel coding style.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2018-01-02 17:09:36 +01:00
Antonio Niño Díaz 2ffaf72e39 Cleanup code of rgbfix, rgbgfx and external libs
Follow Linux kernel coding style.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2018-01-02 13:16:53 +01:00
Antonio Niño Díaz f41c532400 Cleanup code of rbglink
Follow Linux kernel coding style.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2018-01-02 13:16:53 +01:00
Antonio Niño Díaz ec76431c51 Replace C types by stdint.h types
Not all occurrences have been replaced, in some cases they have been
left as they were before (like in rgbgfx and when they are in the
interface of a C standard library function).

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-12-31 15:46:22 +01:00
Antonio Niño Díaz 71961a88a0 Use M_PI instead of PI
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-12-31 15:16:08 +01:00
Antonio Niño Díaz ba944527ec Replace ULONG by uint32_t
All affected `printf` have been fixed.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-12-31 15:16:08 +01:00
Antonio Niño Díaz 87c9d819a1 Replace SLONG by int32_t
All affected `printf` have been fixed.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-12-31 15:16:08 +01:00
Antonio Niño Díaz 13c0684497 Replace 8 and 16 bit custom types by stdint.h types
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-12-31 15:16:08 +01:00
Antonio Niño Díaz c24cab6d1d Use NOT operator to complement bits instead of XOR
The previous way of doing it relied on the variable being 32-bit wide.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-12-31 15:16:08 +01:00
Antonio Niño Díaz 0cbe6abbd5 Increase package version number to 0.3.3
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-12-31 15:16:08 +01:00
Antonio Niño Díaz fe6e5e445b Remove warning on DB/DW/DL emtpy lists
This warning was added in 781c90b940 as a
way of catching the following cases, which are most likely programmer
mistakes:

    DB 1,, 2
    DB 1, 2,

However, the warning was also triggered in the following case:

    DB

It can be used as a replacement of:

    DS 1

In this case, it shouldn't output a warning.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-12-29 12:05:57 +01:00
Antonio Niño Díaz 781c90b940 Add warnings for empty elements in lists of consts
Even though this behaviour is documented (empty elements are treated as
0), it can be misleading. By having a warning, compatibility is
maintained and potential problems in the code can be detected.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-12-07 22:37:43 +00:00
Antonio Niño Díaz e7a8bb1140 Fix and document DL keyword
This keyword acts like DB or DW but for 32-bit values.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-12-07 22:36:50 +00:00
Antonio Niño Díaz f1c13af703 Fix warning about unused variable
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-10-27 20:21:03 +01:00
Antonio Niño Díaz 90bc8d9110 Reintroduce EQU __LINE__
It was removed in commit 6198cc185c, but
the documentation wasn't updated back then.

It makes more sense to reintroduce it now than to remove it from the
docs.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-10-26 23:23:22 +01:00
Antonio Niño Díaz 193cc06561 Improve error messages
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-08-21 23:48:24 +01:00
Antonio Niño Díaz f3b475453f Replace fprintf by errx for consistency
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-08-21 23:35:56 +01:00
Antonio Niño Díaz 0c71f5a4e9 Check return values of fread in rgblink
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-08-21 23:35:52 +01:00
Antonio Niño Díaz 4b0dfd4f4a Initialize variables in rgbfix
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-08-21 23:35:45 +01:00
Antonio Niño Díaz 2d117f68c9 Fix compiler warnings about unused return values
In some implementations of libc the function fread has the attribute
`warn_unused_result`, that is treated as an error by the compiler as
specified in the flags passed to it.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-08-17 23:03:42 +01:00
Antonio Niño Díaz 8954858bf7 Fix warning about using uninitialized variable
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-08-06 22:20:39 +01:00
Antonio Niño Díaz 4877e6dbba Merge pull request #196 from error-msgs
Print more useful error messages when redefining symbols

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-08-01 19:46:58 +01:00
Antonio Niño Díaz ec171c5f00 Make object file magic string a common define
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-29 13:11:26 +01:00
Antonio Niño Díaz 840ddcecd2 Update dates in manpages
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-22 15:34:24 +01:00
Antonio Niño Díaz c00f7409ee Improve linker symbol redefinition error messages
Now, the object file in which each definition is (as well as the source
file and line) are printed with the error message.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-22 15:27:30 +01:00
Antonio Niño Díaz 92449a4fe4 Save object file name of each symbol in linker
This is useful to generate error messages when there is a symbol that
appears in more than one object file.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-22 15:27:25 +01:00
Antonio Niño Díaz 4e2a035838 Print location of definition of redefined symbols
When trying to define a symbol with a name that is used by another one,
print the location of the first definition in the error message.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-22 15:27:22 +01:00
Antonio Niño Díaz df25fa73af Update documentation of object files
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-22 15:27:17 +01:00
Antonio Niño Díaz 03bb2d04c3 Increment version number of object files
The previous change has broken compatibility of object files, so it is
needed to increment the version number to make the linker reject files
generated with the old code.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-22 15:27:14 +01:00
Antonio Niño Díaz 4dc376b0ee Save location information of symbol definitions
Now, object files save the file name and line number where each global
symbol is defined.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-22 15:27:06 +01:00
Antonio Niño Díaz 3dec5698db Merge pull request #188 from version-string
Add command to print version string

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-22 14:10:10 +01:00
Antonio Niño Díaz 4d01b2d5ac Document ELIF
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-22 10:45:17 +01:00
Antonio Niño Díaz 086f02c1d9 Add EQUs with the version numbers of RGBDS
Document new EQUs.

Add missing EQUs to list of keywords in documentation.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-22 10:27:49 +01:00
Antonio Niño Díaz 8ed6c32ae7 Reorder getopt switch options alphabetically
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-22 10:14:02 +01:00
Antonio Niño Díaz d0e0525302 Add -V to all programs to show the version
This option has been added to all programs of the toolchain, and it
prints the version string of the toolchain.

Manpages and help command line output updated.

Add missing 'w' flag to the command line output of rgbasm. It was
correctly documented in the manpages.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-22 10:14:02 +01:00
Antonio Niño Díaz 318c981c00 Add code to determine a version string
If the folder where the code is compiled is a valid git repository, the
version string is generated with `git describe`. If it isn't a valid
repository, a string included in the source code is used instead. This
one must be updated regularly as the toolchain is developed.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-22 10:14:02 +01:00
Antonio Niño Díaz 1b155d9d4c Fix typo in documentation of RSRESET
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-18 21:48:19 +01:00
Antonio Niño Díaz f9a1aba0d8 Allow CFLAGS to be modified from make command line
Previously, if the user wanted to modify CFLAGS, it was necessary to add
the options used in the Makefile as well, which doesn't make sense.

This patch splits CFLAGS into CFLAGS and the previously removed
REALCFLAGS so that the user can modify the arguments passed to the
compiler without having to worry about things like passing the list of
include directories.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-15 20:10:28 +01:00
Antonio Niño Díaz fe65e07cb6 Fail when using negative constants if not allowed
Some commands, such as `DS`, `BANK[n]`, etc, don't allow the use of
negative constants, but there wasn't any check to prohibit the code from
trying to do so.

This patch adds the `uconst` type to the parser to use when a constant
is expected, but it mustn't be negative.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-01 14:31:58 +01:00
Antonio Niño Díaz bb12806da1 Fix indentation
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-01 14:31:58 +01:00
Antonio Niño Díaz fa36042131 Add missing documentation of RL command
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-07-01 14:31:39 +01:00
Antonio Niño Díaz efaad99f25 Update manpage documentation about labels
- Local labels can now be exported.
- Local labels can be declared as Scope.Label in addition of .Label.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-06-13 20:16:42 +01:00
Antonio Niño Díaz 62d820c261 Merge pull request #181 from Ben10do/reference-local-symbols
Allow local labels to be referenced (and exported)

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-06-12 21:46:32 +01:00
Antonio Niño Díaz ff2321a8ce Make fatalerror and yyerror consistent
There are two ways in which the assembly process can fail:

1. If there is a really big problem that compromises the whole process,
   the assembler has to stop right there and generate an error message.
   This happens with unterminated REPT loops, macros, etc.

2. If the problem isn't that big and the process can still continue,
   even though the final result is invalid, the assembler can try to
   continue and warn the user about all errors it finds in the code.

This patch clarifies the use of each function and replaces the function
used in two places by the correct one.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-29 15:02:57 +01:00
Antonio Niño Díaz 4228e3e890 Document dependency problem for EQUS and MACRO
This is hard to detect in MACROs, as there are legitimate uses for
MACROs that call themselves recursively.

For an EQUS, the problem is that its value may be modified at different
points in the source code, so the only way to detect a possible problem
is by doing an analysis at each usage of the EQUS.

Also, since an EQUS may expand to the name of a MACRO and a MACRO can
use an EQUS, it becomes even harder to check all possible problems that
come out of it. It's better to let this task to the programmer.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-26 22:02:47 +01:00
Antonio Niño Díaz 023b574fc5 New warning for rgbasm and fixes in error messages
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-26 00:57:29 +02:00
Antonio Niño Díaz a77df57f1c Merge pull request #177 from AntonioND/an/section-checks
Improve section size checks and buffer handling

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-25 13:31:06 +02:00
Antonio Niño Díaz 8f553e89ce Merge pull request #176 from makefile-cleanup
Cleanup Makefile

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-25 13:29:52 +02:00
Antonio Niño Díaz b7810ffdb3 Check for section overflows in rgbasm
When allocating a section, allocate only the max possible size for that
type (only applies to ROM0 and ROMX).

When finding an overflow, in any kind of section, output an error with
the location of the line of code that caused the overflow.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-24 14:29:27 +02:00
Antonio Niño Díaz 0d3401058d Check max section sizes in rgblink
The max size of some section types depends on the flags passed to
rgblink. Instead of doing in rgbasm some checks (for the sections with
fixed size) and others in rgblink, all checks are now done in rgblink.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-24 02:05:30 +02:00
Antonio Niño Díaz 6e123ccc36 Optimize allocation of buffers for sections
Instead of allocating 0x4000 bytes for all sections and resize them as
needed, allocate 0x8000 bytes and don't let them to be resized. This is
the max possible size (ROM0 when ROMX sections aren't present).

Buffers are not needed for RAM sections, this patch changes the code so
that it only allocates buffers for ROM sections.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-24 02:05:30 +02:00
Antonio Niño Díaz f2724df566 Fix rgblink error messages about prohibited sections
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-23 20:45:39 +02:00
Antonio Niño Díaz 646d71d927 Remove unused code
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-23 20:25:19 +02:00
Antonio Niño Díaz 9b9b41e605 Fix install instructions
It isn't needed to create the folders manually, the Makefile does it
automatically.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-23 14:34:33 +02:00
Antonio Niño Díaz 907ccfb280 Cleanup Makefile 2017-04-23 13:32:32 +02:00
Antonio Niño Díaz fcd7c117e7 Fix man page documentation for dependcy files
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-22 11:43:28 +02:00
Antonio Niño Díaz 323922d854 Merge pull request #174 from makedepend
Generate make-style dependency files

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-22 11:40:16 +02:00
Antonio Niño Díaz f97e3bad33 Merge pull request #171 from NieDzejkob/master
Implement separate time constants

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-22 11:36:59 +02:00
Antonio Niño Díaz 64415555f1 Merge pull request #175 from NieDzejkob/man
Fix some man installation locations

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-19 19:46:58 +01:00
Antonio Niño Díaz cde607c09c Deps file can only be created if object file specified
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-17 22:02:18 +01:00
Antonio Niño Díaz 739b113f57 Print dependencies of all included files
Files that weren't found with the absolute path weren't added as
dependencies even if they were found after considering the list of
include directories.

This patch makes rgbasm print the complete path (including the include
directory path) in these cases.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-17 20:27:58 +01:00
Antonio Niño Díaz 64585eebf6 Merge branch 'makedepend'
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-17 19:29:25 +01:00
Antonio Niño Díaz 1050acc290 Remove useless link in documentation
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-17 18:21:08 +01:00
Antonio Niño Díaz 466bb9ed0b Fix links in man pages
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-17 18:14:49 +01:00
Antonio Niño Díaz 83348100f3 Improve MinGW target of Makefile
It works now with an install of MinGW for both Win32 and Win64. It needs
libpng and zlib.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-17 17:28:07 +01:00
Antonio Niño Díaz 57bf32f35a Point at the documentation from README
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-17 14:49:57 +01:00
Antonio Niño Díaz 0030e0371a Rename object file format description man page
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-17 14:15:46 +01:00
Antonio Niño Díaz 42400ec6a0 Fix links in HTML documentation
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-16 23:08:33 +01:00
Antonio Niño Díaz 2e793fb7dc Clean wwwman target of Makefile
The substitution of OpenBSD by General is not portable.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-16 22:52:10 +01:00
Antonio Niño Díaz ac69e9863e Fix documentation in HTML format
For some reason, `No` looks weird in the HTML version of the docs.

Some other random fixes.

Tables in src/asm/rgbasm.5 are still broken in the HTML docs.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-16 22:50:54 +01:00
Antonio Niño Díaz 59c065cf31 Merge pull request #165 from AntonioND/an/rgbasm-manual
Add documentation of rgbds to man pages and cleanup code

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-16 20:13:49 +01:00
Antonio Niño Díaz 729683fb1f Remove RPN_RANGECHECK
Leftover code from ASMotor.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-16 19:55:00 +01:00
Antonio Niño Díaz ed6e4c4769 Clean object file format code and documentation
Remove unused code.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-16 19:54:58 +01:00
Antonio Niño Díaz d92c284b85 Add documentation about the object file format
Copied from the HTML documentation and updated.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-16 19:54:55 +01:00
Antonio Niño Díaz 26af7fcffe Add complete documentation of rgbds to man pages
Copied from the old html documentation and fixed where it was needed.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-16 19:54:50 +01:00
Antonio Niño Díaz f7f697c267 Fix parsing of first line of included linkerscripts
When including a linkerscript from a parent one, the lexer didn't
include a newline character because the INCLUDE command was handled
before reaching the newline. This behaviour is needed to parse the last
line of a linkerscript correctly (it doesn't have a newline character).

However, this meant that when the included file was being parsed, the
first line was considered a continuation of the last line of the parent
script (the INCLUDE command), which means that the first line of an
included linkerscript could only contain a comment (or nothing at all).

This patch adds a newline character to the buffer used by the lexer so
that the parser will receive a newline and it will handle the first line
of the included file as expected.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-14 17:07:01 +01:00
Antonio Niño Díaz 554b5292de Rename ISO 8601 timestamp defines
The previous names were ridiculously long.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-12 22:19:53 +01:00
Antonio Niño Díaz a7393d7e45 Merge pull request #163 from AntonioND/an/iso-8601
Add equates with ISO 8601 date and time

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-10 23:34:12 +01:00
Antonio Niño Díaz fe9e4f0583 Merge pull request #169 from AntonioND/an/travis-test
Add Travis CI configuration file

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-10 22:59:10 +01:00
Antonio Niño Díaz 362aea22bd Fix conflict in yacc
`LD HL,n16` and `LD SP,n16` are handled in a different rule as
`LD r16,n16`, but they are also part of that rule.

This patch converts the `LD r16,n16` rule into two rules, one for doing
`LD BC,n16` and other one for `LD DE,n16`.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-10 22:57:05 +01:00
Antonio Niño Díaz 9bc6083e49 Add Travis CI configuration file
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-10 22:10:26 +01:00
Antonio Niño Díaz 2b5ad9dc38 Make test scripts return error code
Make them executable.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-10 22:10:10 +01:00
Antonio Niño Díaz 5679c7066b Restore behaviour of option -w and add option -d
rgblink option -w has been restored to its previous behaviour: make WRAM
a continous section instead of spliting it into WRAM0 and WRAMX.

To enable DMG mode, option -d has to be used instead. This option
automatically enables -w.

Update tests.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-10 20:03:52 +01:00
Antonio Niño Díaz 4395ed893a Merge pull request #168 from Ben10do/fix-implicit-yyparse
Fix implicit declaration of yyparse()

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-10 19:51:28 +01:00
Antonio Niño Díaz 7097b9885e Fix clean target of the Makefile
Two html documentation files weren't cleaned as expected.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-09 22:06:49 +01:00
Antonio Niño Díaz f2c207cb44 Remove EX instruction
This is leftover code from ASMotor.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-09 21:51:30 +01:00
Antonio Niño Díaz be50f2d302 Remove unused patch enum element
If the next release is going to break compatibility with older object
file formats it doesn't make sense to keep this.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-09 21:25:20 +01:00
Antonio Niño Díaz fa767f3228 Merge pull request #161 from AntonioND/an/linkerscript-include
Add support for including files in linkerscript

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-09 17:19:13 +01:00
Antonio Niño Díaz 5cfa15f963 Add equates with ISO 8601 date and time
Added `__TIMESTAMP_ISO_8601_LOCAL__` and `__TIMESTAMP_ISO_8601_UTC__`,
with the correct ISO 8601 representation of time and date from years to
seconds (including local timezone in the local time string).

Also, if the current time cannot be obtained from the OS, it will output
a warning and the time strings will be filled with '?' instead of
numbers and characters.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-09 16:49:34 +01:00
Antonio Niño Díaz 23584a584f Fix __FILE__, __TIME__ and __DATE__
If they don't have quotes when passed to sym_AddString() they can't be
used at all by the assembler. I suppose nobody actually used them, they
seem to have been broken forever.

Added a comment to the function to say how to use it correctly for
strings.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-09 15:40:06 +01:00
Antonio Niño Díaz 53fa608161 Deprecate IMPORT keyword
IMPORT is simply useless, any symbol that isn't found in the current
file is automatically flagged as imported symbol.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-08 18:47:10 +01:00
Antonio Niño Díaz 1154a173cc Merge pull request #153 from AntonioND/an/opcode-ref
Add GBZ80 opcode reference man page

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-08 18:43:21 +01:00
Antonio Niño Díaz ca3e55cc45 Update remaining dates in man pages
Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-08 18:18:59 +01:00
Antonio Niño Díaz 206275df57 Add support for including files in linkerscript
Files can now be included with the following syntax:

    INCLUDE "path.link"

The maximum include depth is 5.

Fixed linkerscript parser and lexer error messages so that they are more
informative (show file and line of the error).

Man page updated.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-08 18:10:24 +01:00
Antonio Niño Díaz 3d8396b86f Remove progname variable
The error message shouldn't specify the name of the binary, that's
supposed to be known by the caller.

Update test reference outputs.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-08 18:10:14 +01:00
Antonio Niño Díaz 77546e9c58 Make WARN output a warning instead of an error
This is the expected behaviour.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-08 18:09:02 +01:00
Antonio Niño Díaz 540f8597d4 Update history in man pages
Fix format in LICENSE file.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-08 18:08:57 +01:00
Antonio Niño Díaz e3109af2f8 Rename OPT_CONTWRAM to OPT_DMG_MODE
Now, it will also make sure that VRAM bank 1 isn't used.

Man page updated.

Tests added.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-08 18:08:51 +01:00
Antonio Niño Díaz cf99f33dd6 Fix reference list of hex codes
Fix tabulations.

Add missing byte to STOP.

Add comments about where HL+ and HL- are used.

Signed-off-by: Antonio Niño Díaz <[email protected]>
2017-04-08 17:43:06 +01:00