AntonioND
469e3e7c86
Merge branch 'contiguous-wram' of git://github.com/TwitchPlaysPokemon/rgbds into TwitchPlaysPokemon-contiguous-wram
2017-03-15 21:00:06 +00:00
AntonioND
9193710ff9
Merge pull request #131 from Sanqui/overlay
...
Add overlay to rgblink
2017-03-15 20:42:32 +00:00
Sanqui
263c9222ab
Require all sections to be fixed when using overlay
2017-03-13 17:08:27 +01:00
AntonioND
947d767c64
Merge pull request #135 from Ben10do/improve-assign-error-messages
...
Improve assignment error messages
2017-03-12 17:06:54 +00:00
Ben10do
a75c15ec46
Improve assignment error messages
...
Make the error messages in assign.c more descriptive, including the name of the section that caused the error, and its alignment.
2017-03-10 23:21:59 +00:00
Ben10do
3dcfe2b9f6
Add support for OAM Sections
...
Allows sections (and labels within) to be defined that correspond to the Game Boy’s Object Attributes Memory.
2017-03-10 22:18:14 +00:00
Ben10do
523b7538f0
Replace magic numbers with BANK_COUNT_* constants
...
Previously, some instances of the number of banks for each section remained hardcoded. These have been replaced with BANK_COUNT_* constants.
As a side-effect, this could fix a theoretical bug when using BANK(label) when the label is in a high SRAM bank (≥ 4).
2017-03-10 19:24:54 +00:00
Sanqui
bc2f885d29
Also require ROM0 sections to be fixed when using overlay
2017-03-02 23:02:56 +01:00
Sanqui
bd00b9ab59
Merge branch 'master' of github.com:rednex/rgbds into overlay
2017-03-02 22:46:19 +01:00
AntonioND
4f86a12539
Merge pull request #125 from Ben10do/section-alignment
...
Implement byte alignment for data
2017-03-02 09:17:46 +00:00
Sanqui
c9daf80f11
Merge github.com:rednex/rgbds into overlay
2017-02-28 18:58:58 +01:00
Sanqui
5a7faa7dff
Add overlay to rgblink manpage
2017-02-28 18:48:09 +01:00
Ben10do
1b05c43b97
Implement byte alignment in section assingment
...
Yay, more refactoring of the section assignment… This version of the linker will allocate sections by their alignment, and then by their size (largest first, in both cases).
In future, this may be improved by using dense packing (as suggested by #83 ).
2017-02-19 22:43:45 +00:00
Ben10do
e4cbf773f6
Add alignment of sections to objects
...
Aligned sections can now be created with out_NewAlignedSection(). This information is stored in created object files, and read by the linker.
The names of each section are also included in the object file, enabling potential improvements to error messages in the future.
2017-02-19 22:35:32 +00:00
Ben10do
b07c04cd74
Implement a malloc-based readasciiz()
...
Instead of reading into a pre-sized buffer, this function now uses malloc to create a buffer, and resizes it if necessary.
This reduces the risk of memory issues if a long string (< 255 chars) was encountered.
2017-02-19 22:20:21 +00:00
scnorton
6d1c60b0a6
Contiguous WRAM
2017-02-06 16:31:57 -05:00
PikalaxALT
c485ad94f2
Fix WRAM0 symbols returning bank 512 to BANK() expression in linker
2017-02-06 08:38:07 -05:00
Ben10do
420ea638a7
Refactor section assignment in linker
...
Deduplicates and generalises a lot of code in assign.c:
- Replace area_AllocAbs*AnyBank() with area_AllocAbsAnyBank() function
that accepts a section type parameter
- Replace area_Alloc*AnyBank() with area_AllocAnyBank()
- Replace FindLargest*() with FindLargestSection()
- Replace Assign*Sections() with AssignBankedSections()
- Add VerifyAndSetBank(), which enables bank checks (and addition with
BANK_*) to be centralised
- Refactor the initialisation of AssignSections(), removing some magic
numbers and only setting MaxAvail[i] once
- Overhaul the duplicated cases throughout AssignSections()
2017-01-27 08:56:36 +00:00
Sanqui
280ca83acd
Fix opening nonexistent overlay files
2016-03-28 20:47:47 +02:00
Sanqui
2e9c68f8c3
Add overlay file option to rgblink (-O)
...
This option takes a file and places fixed sections on top of it.
Should prove useful for patches and partial disassemblies.
2016-03-28 01:02:05 +02:00
Anthony J. Bentley
2ea2e47231
Avoid a pointless strcpy().
2015-10-05 23:58:00 -06:00
Anthony J. Bentley
6c10ca62ad
Don't silently truncate banks greater than 255 to 8 bits.
2015-07-26 02:08:39 -06:00
stag019
6438ae2591
Remove __progname; add progname set to argv[0] in each main().
2015-03-09 13:57:04 -04:00
stag019
ebc9a4b786
Merge include/link/types.h and include/asm/types.h into include/types.h
2015-03-07 16:04:07 -05:00
Anthony J. Bentley
b5e7855afd
Remove reference to currently nonexistent gbz80(7) manual.
2015-02-26 00:37:45 -07:00
Anthony J. Bentley
ce7d1d5d49
Use real dates in the manpages.
2015-02-26 00:37:13 -07:00
Anthony J. Bentley
7055301616
Don’t unnecessarily escape hyphens in manpages.
2015-02-25 02:17:54 -07:00
Anthony J. Bentley
bbf24916e6
Sync usage lines.
2015-02-25 02:16:41 -07:00
Anthony J. Bentley
d02294505c
Avoid use of magic numbers.
...
From Antonio Niño Díaz.
2015-02-22 03:55:51 -07:00
Anthony J. Bentley
eb4bbb3e0b
Update mapfile code to support new section types.
...
From Antonio Niño Díaz.
2015-02-22 03:52:28 -07:00
Anthony J. Bentley
2ab10a95e4
Fix a bug in handling WRAMX sections with/without hardcoded addresses.
...
From Antonio Niño Díaz.
2015-02-22 03:48:00 -07:00
Anthony J. Bentley
bc60b85785
Support BANK() correctly when given WRAMX/SRAM/VRAM labels.
...
(Mostly) from Antonio Niño Díaz.
2015-02-22 03:33:18 -07:00
Anthony J. Bentley
8534f3a148
Unify usage strings/functions across programs.
...
The funny spacing is to make it easier to keep to 80 characters/line.
2015-01-07 23:13:18 -07:00
stag019
116569f54d
Fix for mapfiles and symfiles. Before, you couldn't define a mapfile unless you also defined a symfile. If you did, it would segfault.
2015-01-01 01:20:29 -05:00
Anthony J. Bentley
1e1339467e
Use POSIX 2001 as the base standard.
2014-11-06 21:39:36 -07:00
stag019
80e2129f22
Merge https://github.com/bentley/rgbds
...
Conflicts:
include/lib/types.h
src/asm/symbol.c
2014-11-02 01:00:20 -05:00
Anthony J. Bentley
3e4350afa4
Don't cast calls to malloc().
2014-09-26 00:39:29 -06:00
Anthony J. Bentley
0d07caba60
Remove inconsistent version numbering.
2014-09-25 20:56:15 -06:00
Anthony J. Bentley
d7319ecd00
Remove rgblib.
...
I have never used it and it's probably been broken for years.
2014-09-24 03:03:42 -06:00
Anthony J. Bentley
d661b3a532
Now that we replace missing libc functions, switch back to err().
2014-09-24 02:50:39 -06:00
Anthony J. Bentley
284600ef1f
rgblink: Don't allocate unnecessary buffer. Delete unused flag.
2014-09-23 22:17:43 -06: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
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
da19380cc4
Add a new WRAMX section type, for banked (CGB) WRAM sections.
2013-06-19 21:19:51 -06:00
Anthony J. Bentley
35448887af
Implement VRAM banks.
2013-05-23 13:44:12 -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
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
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