Commit Graph

324 Commits

Author SHA1 Message Date
yenatch
b2d523acde rgbasm: Evaluate BANK() arguments to verify they exist.
Symbols are created when using a label in the wild, even if they aren't defined. Solely using a symbol as an argument to BANK() skips this, so the symbol is never created.

This evaluates the argument instead of trying to find a symbol. This way, symbols that don't exist are created when passed into BANK().
2014-02-01 21:14:56 -05:00
Anthony J. Bentley
0f488b6759 Remove unused alloca() implementation. 2014-01-31 00:01:42 -07:00
stag019
240d2a7f14 Merge https://github.com/bentley/rgbds 2014-01-29 00:18:10 -05:00
yenatch
2ff286223b add instruction "ld hl, sp+nn"
The previous "ld hl, [sp+nn]" is incorrect, but remains for compatibility.
2014-01-14 11:51:18 -05:00
yenatch
0ffa4ce9ef rgbasm: let rgblink try to import undefined symbols
Manual imports are inconvenient and don't provide any functionality.
2014-01-07 18:14:58 -05:00
stag019
34656f9e5d Fix a bug where the first charmap entry wasn't added correctly. 2013-12-28 00:35:05 -05:00
stag019
c61c112218 Remove GNU-specific <getopt.h>. getopt() is defined in <unistd.h> in POSIX, which adding #define _XOPEN_SOURCE 500 causes GCC to include. 2013-12-23 14:57:06 -05:00
stag019
94005513a4 Comment out unused variable dest. 2013-12-23 14:50:37 -05:00
stag019
7d176245d8 Remove all implicit definitions of compiler provided functions.
<strings.h> cause strncasecmp to be define.
2013-12-23 14:40:53 -05:00
stag019
c65d58c589 Move local includes below system includes. 2013-12-23 14:37:56 -05:00
stag019
1f9fd0f060 This fixes an error with using long label names in macros. If the label name you're using is longer than the string length of the literal macro text, a syntax error would occur. This fix makes sure it at least allocates enough bytes for the largest allowed label name. 2013-12-22 20:56:31 -05:00
stag019
1218da79a9 Character maps. 2013-12-22 20:55:14 -05:00
yenatch
fd4b5c8925 rgbasm: update manpage to include -v 2013-12-03 21:58:39 -05:00
yenatch
bc99ee2210 rgbasm: -v option (verbose) 2013-12-03 00:25:12 -05:00
Anthony J. Bentley
de269987f7 Add "jp hl" as a valid instruction.
"jp [hl]" has been around for decades even though it makes no sense.
This is better.
2013-09-05 20:51:58 -06:00
Anthony J. Bentley
7770827cce Redefine consistent names for section types, and document the changes. 2013-07-31 22:14:31 -06:00
Anthony J. Bentley
7ab9742299 Implement SRAM sections. 2013-07-31 20:15:40 -06:00
Anthony J. Bentley
6aecf65552 Fix incorrect manpage macro. 2013-07-23 19:04:02 -06:00
Anthony J. Bentley
da19380cc4 Add a new WRAMX section type, for banked (CGB) WRAM sections. 2013-06-19 21:19:51 -06:00
Anthony J. Bentley
ab47428c0e Improve error message. 2013-05-28 02:23:48 -06:00
Anthony J. Bentley
23b29a9ae1 Fix bug recently introduced to fatalerror(). 2013-05-28 02:22:49 -06:00
Anthony J. Bentley
35448887af Implement VRAM banks. 2013-05-23 13:44:12 -06:00
Anthony J. Bentley
6ccd386587 Make it possible to disable emitting nop after halt. 2013-05-19 17:56:41 -06:00
Anthony J. Bentley
34d40a67c9 Remove unused variable. 2013-05-19 17:08:44 -06:00
Anthony J. Bentley
c21c0f458f Improve error messages. 2013-05-19 17:07:34 -06:00
Anthony J. Bentley
51c01e3aad Remove some dead code. 2013-05-19 16:14:31 -06:00
Anthony J. Bentley
d0d85abb97 Fix accidental case fallthrough. 2013-05-19 15:51:40 -06:00
Anthony J. Bentley
8811784b71 rgbfix: exit on invalid usage. 2013-04-11 09:28:38 -06:00
Anthony J. Bentley
6579743410 Add support for 8 MiB ROMs, the largest size possible with MBC5. 2012-12-26 21:41:47 -07:00
Anthony J. Bentley
b90406861d Readability (whitespace). 2012-12-26 21:12:52 -07:00
Anthony J. Bentley
2f35d10373 Merge pull request #5 from vegard/lexer-fix-for-bentley
Prevent lexer from reading beyond the end of the buffer
2012-12-01 22:46:21 -08:00
Vegard Nossum
2dfd937d7f Prevent lexer from reading beyond the end of the buffer
On Linux, valgrind complains about the overflow like this:

  Pass 1...
  ==20054== Invalid read of size 1
  ==20054==    at 0x406CDA: yylex (lexer.c:396)
  ==20054==    by 0x40207C: yyparse (asmy.c:2921)
  ==20054==    by 0x4086AF: main (main.c:351)
  ==20054==  Address 0x503a102 is 0 bytes after a block of size 23,538 alloc'd
  ==20054==    at 0x402994D: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==20054==    by 0x406411: yy_create_buffer (lexer.c:147)
  ==20054==    by 0x404FE3: fstk_RunInclude (fstack.c:243)
  ==20054==    by 0x4025F5: yyparse (asmy.y:744)
  ==20054==    by 0x4086AF: main (main.c:351)
  ==20054==

This is a bit of a crude fix which simply exits the hashing loop when
we reach the end of the string. We should probably do some kind of
length calculation on the buffer instead.

Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
2012-10-21 06:06:54 +02:00
Vegard Nossum
eb4f790a82 Include getopt.h (fix compilation on GNU/Linux)
Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
2012-10-21 06:05:30 +02:00
Anthony J. Bentley
fd724d10e4 Add support for the four‐character game ID. 2011-12-29 20:22:06 -07:00
Anthony J. Bentley
309e2c0b93 Update the SGB flag in the rgbfix examples. 2011-12-07 21:19:56 -07:00
Anthony J. Bentley
5d6559f15f Remove nonstandard <err.h>.
This provides some really nice functions, but does not exist in some
environments (particularly MinGW).
2011-12-02 01:23:23 -07:00
Anthony J. Bentley
b1a2c664a9 Revert use of system exit codes.
While well‐intentioned, in practice this hurts portability and
really, nobody checks the return codes anyway.
2011-06-04 21:33:03 -06:00
Anthony J. Bentley
d784b14615 Remove unneeded include. 2011-04-11 20:00:52 -06:00
Anthony J. Bentley
214d13c8d3 New sentence, new line. 2011-04-10 00:39:18 -06:00
Anthony J. Bentley
ba30863b73 In manuals, use wrapping macros instead of literal parens, etc. 2011-04-10 00:37:58 -06:00
Anthony J. Bentley
abf8f8255a Fix some manual macro scoping problems. 2011-04-10 00:32:31 -06:00
Anthony J. Bentley
23624e1c1d Fix case in manpage section name 2011-04-10 00:15:59 -06:00
Anthony J. Bentley
009ac34f32 Remove unnecessary comments from manpage sources 2011-04-10 00:15:35 -06:00
Anthony J. Bentley
9a9d071024 Oops: remove escape that was keeping manpage date from being parsed 2011-04-10 00:12:19 -06:00
Anthony J. Bentley
9f9e76e85f Use the semantic .Ad in manpages. 2011-04-10 00:08:44 -06:00
Anthony J. Bentley
085ee6d4c0 Fix typo in rgbds(7). 2010-12-22 15:59:19 -07:00
Anthony J. Bentley
0f606e5d83 Add a rgbds(7) manpage. 2010-12-22 15:35:32 -07:00
Anthony J. Bentley
376c8d2f5b Update man page: .gb will no longer be added to a filename without it 2010-12-22 15:15:43 -07:00
Anthony J. Bentley
114871d46d Move manuals to the main source directories. 2010-12-22 14:23:35 -07:00
Anthony J. Bentley
d2f52fdd0c Rewrite rgbfix from scratch, under a free ISC license.
Slight changes in usage; the man page has been updated accordingly.
2010-12-22 13:48:44 -07:00