From 6355d0598b86987a607795e1e083aac2cbc28d10 Mon Sep 17 00:00:00 2001 From: ISSOtm Date: Tue, 21 Jul 2020 23:10:14 +0200 Subject: [PATCH] Regenerate docs for 0.4.1 --- docs/gbz80.7.html | 2 +- docs/rgbasm.1.html | 38 +++++++++++++++++-- docs/rgbasm.5.html | 92 +++++++++++++++++++++++++++++++++++++-------- docs/rgbds.5.html | 31 ++++++++++----- docs/rgblink.1.html | 17 +++++++-- 5 files changed, 147 insertions(+), 33 deletions(-) diff --git a/docs/gbz80.7.html b/docs/gbz80.7.html index c4812c97..27e1fa65 100644 --- a/docs/gbz80.7.html +++ b/docs/gbz80.7.html @@ -1064,10 +1064,10 @@ Pop register AF from the stack. This is roughly equivalent to the following imaginary instructions:
+ld f, [sp] ; See below for individual flags
 inc sp
 ld a, [sp]
 inc sp
-ld f, [sp] ; See below for individual flags
 

Cycles: 3

diff --git a/docs/rgbasm.1.html b/docs/rgbasm.1.html index b212ccec..961a5e94 100644 --- a/docs/rgbasm.1.html +++ b/docs/rgbasm.1.html @@ -39,6 +39,9 @@ [-g chars] [-i path] [-M depend_file] + [-MG] [-MP] + [-MT target_file] + [-MQ target_file] [-o out_file] [-p pad_value] [-r recursion_depth] @@ -107,6 +110,35 @@ The rgbasm program creates an RGB object file from an depend_file
Print make(1) dependencies to depend_file.
+
+
To be used in conjunction with -M. This makes + rgbasm assume that missing files are + auto-generated: when INCLUDE or + INCBIN is attempted on a non-existent file, it is + added as a dependency, then rgbasm exits normally + instead of erroring out. This feature is used in automatic updating of + makefiles.
+
+
When enabled, this causes a phony target to be added for each dependency + other than the main file. This prevents make(1) from + erroring out when dependency files are deleted.
+
+ target_file
+
Add a target to the rules emitted by -M. The exact + string provided will be written, including spaces and special characters. +
-MT + -fileA -MT + -fileB
+ is equivalent to +
-MT + -'fileA + -fileB'.
+ If neither this nor -MQ is specified, the output + file name is used.
+
+ target_file
+
Same as -MT, but additionally escapes any special + make(1) characters, essentially ‘$’.
out_file, --output @@ -200,10 +232,10 @@ Warnings are diagnostic messages that indicate possibly erroneous behavior that
Warn when a string too long to fit in internal buffers is encountered. This warning is enabled by -Wall.
-
+
Warn when obsolete constructs such as the jp [hl] - instruction or HOME section type are encountered. - This warning is enabled by -Wextra.
+ instruction or HOME section type are + encountered.
Warn when shifting right a negative value. Use a division by 2^N instead.
diff --git a/docs/rgbasm.5.html b/docs/rgbasm.5.html index 4248edf4..89f0a898 100644 --- a/docs/rgbasm.5.html +++ b/docs/rgbasm.5.html @@ -232,7 +232,7 @@ A great number of operators you can use in expressions are available (listed

Unlike in a lot of languages, and for technical reasons, rgbasm still evaluates both operands of ‘&&’ and ‘||’.

-

! returns 1 if the operand was 0, and 1 otherwise.

+

! returns 1 if the operand was 0, and 0 otherwise.

@@ -703,11 +700,17 @@ Before you can start writing code, you must define a section. This tells the
Specify which bank for the linker to place the section in. See above for possible values for bank, depending on type.
-
[align]
+
[align, + offset]
Place the section at an address whose align - least‐significant bits are zero. This option can be used with - addr, as long as they don't contradict - eachother.
+ least‐significant bits are equal to offset. + (Note that ALIGN[align] is a + shorthand for ALIGN[align, + 0]). This option can be used with + [addr], as long as they don't contradict eachother. + It's also possible to request alignment in the middle of a section, see + Requesting alignment + below.

If [addr] is not specified, the section is considered “floating”; the linker will automatically calculate @@ -724,7 +727,7 @@ Before you can start writing code, you must define a section. This tells the

  • -SECTION "CoolStuff",ROMX
    +SECTION "Cool Stuff",ROMX
         
    This switches to the section called “CoolStuff”, creating it @@ -733,14 +736,14 @@ SECTION "CoolStuff",ROMX
  • If it is needed, the the base address of the section can be specified:
    -SECTION "CoolStuff",ROMX[$4567]
    +SECTION "Cool Stuff",ROMX[$4567]
         
  • An example with a fixed bank:
    -SECTION "CoolStuff",ROMX[$4567],BANK[3]
    +SECTION "Cool Stuff",ROMX[$4567],BANK[3]
         
  • @@ -748,7 +751,7 @@ SECTION "CoolStuff",ROMX[$4567],BANK[3] within the bank, that's also possible:
    -SECTION "CoolStuff",ROMX,BANK[7]
    +SECTION "Cool Stuff",ROMX,BANK[7]
         
    @@ -848,7 +851,8 @@ When you're tight on RAM, you may want to define overlapping blocks of several times per rgbasm invocation, and across several invocations. Different declarations are treated and merged identically whether within the same invocation, or different ones. -
  • A section cannot be declared both as unionized or non-unionized.
  • +
  • If one section has been declared as unionized, all sections with the same + name must be declared unionized as well.
  • All declarations must have the same type. For example, even if rgblink(1)'s -w flag is used, WRAM0 and WRAMX types are @@ -865,6 +869,43 @@ When you're tight on RAM, you may want to define overlapping blocks of Unions. Similarly, the size of an unionized section is the largest of all its declarations.

  • +
    +

    +Section fragments are sections with a small twist: when several of the same name + are encountered, they are concatenated instead of producing an error. This + works within the same file (paralleling the behavior "plain" + sections has in previous versions), but also across object files. However, + similarly to Unionized Sections, + some rules must be followed: + +

    When RGBASM merges two fragments, the one encountered later is + appended to the one encountered earlier.

    +

    When RGBLINK merges two fragments, the one whose file was + specified last is appended to the one whose file was specified first. For + example, assuming ‘bar.o’, + ‘baz.o’, and + ‘foo.o’ all contain a fragment with + the same name, the command

    +
    rgblink -o rom.gb baz.o foo.o + bar.o
    +would produce the fragment from ‘baz.o’ + first, followed by the one from ‘foo.o’, + and the one from ‘bar.o’ last. +

    @@ -919,6 +960,8 @@ ThisWillBeExported.too:: ‘.local:’. If the former notation is used, then ‘scope’ must be the actual current scope.

    +

    Local labels may have whitespace before their declaration as + the only exception to the rule.

    A label's location (and thus value) is usually not determined until the linking stage, so labels usually cannot be used as constants. However, if the section in which the label is declared has a fixed base @@ -1665,6 +1708,23 @@ DW `00112233 number of entries is limited only by the amount of memory in your machine.

    +
    +

    +While ALIGN as presented in + SECTIONS is often useful as-is, sometimes + you instead want a particular piece of data (or code) in the middle of the + section to be aligned. This is made easier through the use of mid-section + align align, + offset. It will alter the section's attributes to ensure + that the location the align directive is at, has its + align lower bits equal to offset. +

    If the constraint cannot be met (for example because the section + is fixed at an incompatible address), and error is produced. Note that + align align is a shorthand for + align align, + 0.

    +

    - ! + diff --git a/docs/rgblink.1.html b/docs/rgblink.1.html index 42b4ca8b..d2e1b8d5 100644 --- a/docs/rgblink.1.html +++ b/docs/rgblink.1.html @@ -33,7 +33,7 @@ -
    rgblink[-dtVvw] [-l + [-dtVvwx] [-l linker_script] [-m map_file] [-n sym_file] [-O @@ -71,7 +71,7 @@ The rgblink program links RGB object files, typically
    , --dmg
    Enable DMG mode. Prohibit the use of sections that doesn't exist on a DMG, - such as WRAMX and VRAM bank 1. This option automatically enables + such as VRAM bank 1. This option automatically enables -w.
    linker_script, @@ -122,7 +122,8 @@ The rgblink program links RGB object files, typically
    , --tiny
    Expand the ROM0 section size from 16 KiB to the full 32 KiB assigned to - ROM and prohibit the use of ROMX sections. Useful for ROMs that fit in 32 + ROM. ROMX sections that are fixed to a bank other than 1 become errors, + other ROMX sections are treated as ROM0. Useful for ROMs that fit in 32 KiB.
    , --version
    @@ -133,7 +134,15 @@ The rgblink program links RGB object files, typically
    , --wramx
    Expand the WRAM0 section size from 4 KiB to the full 8 KiB assigned to - WRAM and prohibit the use of WRAMX sections.
    + WRAM. WRAMX sections that are fixed to a bank other than 1 become errors, + other WRAMX sections are treated as WRAM0. +
    , + --nopad
    +
    Disables padding the end of the final file. This option automatically + enables -t. You can use this when not not making a + ROM. When making a ROM, be careful that not using this is not a + replacement for rgbfix(1)'s -p + option!