@rom-weaver/cli 0.10.2 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -10
- package/docs/completions/_rom-weaver +1288 -0
- package/docs/completions/rom-weaver.bash +1817 -0
- package/docs/completions/rom-weaver.elv +763 -0
- package/docs/completions/rom-weaver.fish +723 -0
- package/docs/completions/rom-weaver.ps1 +824 -0
- package/docs/man/rom-weaver-bundle-create.1 +213 -0
- package/docs/man/rom-weaver-bundle-parse.1 +98 -0
- package/docs/man/rom-weaver-bundle-schema.1 +67 -0
- package/docs/man/rom-weaver-bundle.1 +69 -0
- package/docs/man/rom-weaver-checksum.1 +110 -0
- package/docs/man/rom-weaver-completions.1 +84 -0
- package/docs/man/rom-weaver-compress.1 +125 -0
- package/docs/man/rom-weaver-extract.1 +111 -0
- package/docs/man/rom-weaver-ingest.1 +98 -0
- package/docs/man/rom-weaver-patch-apply.1 +356 -0
- package/docs/man/rom-weaver-patch-create.1 +166 -0
- package/docs/man/rom-weaver-patch-validate.1 +161 -0
- package/docs/man/rom-weaver-patch.1 +69 -0
- package/docs/man/rom-weaver-probe.1 +93 -0
- package/docs/man/rom-weaver-tools-ppf-undo.1 +71 -0
- package/docs/man/rom-weaver-tools.1 +63 -0
- package/docs/man/rom-weaver-trim.1 +111 -0
- package/docs/man/rom-weaver-weave.1 +356 -0
- package/docs/man/rom-weaver.1 +124 -0
- package/package.json +11 -10
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
.ie \n(.g .ds Aq \(aq
|
|
2
|
+
.el .ds Aq '
|
|
3
|
+
.TH rom-weaver-patch-create 1 "rom-weaver-patch-create "
|
|
4
|
+
.SH NAME
|
|
5
|
+
rom\-weaver\-patch\-create \- Build a patch from an original ROM and a changed one
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
\fBrom\-weaver patch create\fR [\fB\-\-json\fR] <\fB\-\-original\fR> [\fB\-\-modified\fR] [\fB\-\-progress\fR] [\fB\-f\fR|\fB\-\-format\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-o\fR|\fB\-\-output\fR] [\fB\-\-plan\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-ignore\-checksum\-validation\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-checksum\-name\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-assume\-in\fR] [\fB\-\-color\fR] [\fB\-\-code\fR] [\fB\-\-no\-color\fR] [\fB\-\-code\-system\fR] [\fB\-\-code\-kind\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-\-solid\-system\fR] [\fB\-\-solid\-game\fR] [\fB\-\-solid\-hack\fR] [\fB\-\-solid\-version\fR] [\fB\-\-solid\-author\fR] [\fB\-\-solid\-contact\fR] [\fB\-\-solid\-comment\fR] [\fB\-\-solid\-extended\fR] [\fB\-\-xdelta\-secondary\fR] [\fB\-h\fR|\fB\-\-help\fR]
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
Build a patch from an original ROM and a changed one, so you can share the
|
|
10
|
+
change without sharing the ROM.
|
|
11
|
+
.PP
|
|
12
|
+
The format comes from the \-\-output extension, so `\-\-output hack.bps` writes a
|
|
13
|
+
BPS patch. Use \-\-plan to see which formats suit these two files before
|
|
14
|
+
committing to one.
|
|
15
|
+
.PP
|
|
16
|
+
Instead of a second ROM, \-\-code builds the patch from Game Genie or
|
|
17
|
+
GameShark/Pro Action Replay codes.
|
|
18
|
+
.SH OPTIONS
|
|
19
|
+
.TP
|
|
20
|
+
\fB\-\-original\fR \fI<PATH>\fR
|
|
21
|
+
The unmodified ROM
|
|
22
|
+
.TP
|
|
23
|
+
\fB\-\-modified\fR \fI<MODIFIED>\fR
|
|
24
|
+
The changed ROM. Leave out when using \-\-code, which produces the changed ROM for you
|
|
25
|
+
.TP
|
|
26
|
+
\fB\-f\fR, \fB\-\-format\fR \fI<FORMAT>\fR
|
|
27
|
+
Patch format, such as bps, ips, or xdelta.
|
|
28
|
+
|
|
29
|
+
Normally you do not need this: the format comes from the \-\-output extension, so
|
|
30
|
+
`\-\-output hack.bps` writes a BPS patch. Pass it when the output name has no
|
|
31
|
+
recognizable patch extension.
|
|
32
|
+
|
|
33
|
+
Common alternate spellings are accepted, so `xdelta3` works as well as `xdelta`
|
|
34
|
+
and `bsdiff` as well as `bdf`. The CLI guide lists every alias.
|
|
35
|
+
.TP
|
|
36
|
+
\fB\-o\fR, \fB\-\-output\fR \fI<PATH>\fR
|
|
37
|
+
Where to write the patch. Required unless \-\-plan is used
|
|
38
|
+
.TP
|
|
39
|
+
\fB\-\-plan\fR
|
|
40
|
+
Only report which formats suit these two ROMs; write nothing
|
|
41
|
+
.TP
|
|
42
|
+
\fB\-\-ignore\-checksum\-validation\fR
|
|
43
|
+
Write the patch even when the format\*(Aqs own consistency checks fail, and leave its checksums out
|
|
44
|
+
.TP
|
|
45
|
+
\fB\-\-checksum\-name\fR
|
|
46
|
+
Put the original ROM\*(Aqs crc32 in the patch file name, as [crc32:HEX].
|
|
47
|
+
|
|
48
|
+
Formats like IPS carry no checksum of their own, so there is nothing to catch
|
|
49
|
+
the patch being applied to the wrong ROM. rom\-weaver reads this token back on
|
|
50
|
+
apply and verifies the input, as long as the file name survives.
|
|
51
|
+
.TP
|
|
52
|
+
\fB\-\-assume\-in\fR \fI<ALGO=HEX>\fR
|
|
53
|
+
Take the original ROM\*(Aqs checksum on trust rather than reading the file, as in crc32=1234abcd (repeatable, comma\-separable)
|
|
54
|
+
.TP
|
|
55
|
+
\fB\-\-code\fR \fI<CODES>\fR
|
|
56
|
+
Build the patch from a Game Genie or GameShark/Pro Action Replay code instead of a second ROM. Repeat for each code; cannot be used with \-\-modified
|
|
57
|
+
.TP
|
|
58
|
+
\fB\-\-code\-system\fR \fI<CODE_SYSTEM>\fR
|
|
59
|
+
Console the \-\-code values are for (nes, snes, genesis, gameboy), when the ROM header does not say
|
|
60
|
+
.TP
|
|
61
|
+
\fB\-\-code\-kind\fR \fI<CODE_KIND>\fR [default: auto]
|
|
62
|
+
Which cheat scheme the \-\-code values use: auto, game\-genie, or gameshark/par
|
|
63
|
+
.TP
|
|
64
|
+
\fB\-j\fR, \fB\-\-threads\fR \fI<auto|N>\fR [default: auto]
|
|
65
|
+
How many threads to use at most. auto uses every core; a format may still use fewer
|
|
66
|
+
.TP
|
|
67
|
+
\fB\-\-solid\-system\fR \fI<SOLID_SYSTEM>\fR
|
|
68
|
+
SOLID patches only: console the ROM is for
|
|
69
|
+
.TP
|
|
70
|
+
\fB\-\-solid\-game\fR \fI<SOLID_GAME>\fR
|
|
71
|
+
SOLID patches only: name of the game
|
|
72
|
+
.TP
|
|
73
|
+
\fB\-\-solid\-hack\fR \fI<SOLID_HACK>\fR
|
|
74
|
+
SOLID patches only: name of the hack
|
|
75
|
+
.TP
|
|
76
|
+
\fB\-\-solid\-version\fR \fI<SOLID_VERSION>\fR
|
|
77
|
+
SOLID patches only: version of the hack. Switches the patch to its extended header
|
|
78
|
+
.TP
|
|
79
|
+
\fB\-\-solid\-author\fR \fI<SOLID_AUTHOR>\fR
|
|
80
|
+
SOLID patches only: who made the hack. Switches the patch to its extended header
|
|
81
|
+
.TP
|
|
82
|
+
\fB\-\-solid\-contact\fR \fI<SOLID_CONTACT>\fR
|
|
83
|
+
SOLID patches only: how to reach the author. Switches the patch to its extended header
|
|
84
|
+
.TP
|
|
85
|
+
\fB\-\-solid\-comment\fR \fI<SOLID_COMMENT>\fR
|
|
86
|
+
SOLID patches only: free\-form note. Switches the patch to its extended header
|
|
87
|
+
.TP
|
|
88
|
+
\fB\-\-solid\-extended\fR
|
|
89
|
+
SOLID patches only: use the extended header even with none of the extended fields filled in
|
|
90
|
+
.TP
|
|
91
|
+
\fB\-\-xdelta\-secondary\fR \fI<XDELTA_SECONDARY>\fR [default: none]
|
|
92
|
+
xdelta patches only: compress the patch\*(Aqs own contents.
|
|
93
|
+
|
|
94
|
+
none Leave it uncompressed. The default, and what xdelta3 does without \-S.
|
|
95
|
+
lzma Add LZMA, like xdelta3 \-S lzma.
|
|
96
|
+
djw xdelta3\*(Aqs Huffman coder.
|
|
97
|
+
fgk xdelta3\*(Aqs adaptive Huffman coder.
|
|
98
|
+
auto Try djw, lzma, and fgk, and keep whichever comes out smallest.
|
|
99
|
+
|
|
100
|
+
Leaving it at none is usually right: patch payloads are often already\-compressed
|
|
101
|
+
game assets, and the patch tends to get compressed again downstream anyway.
|
|
102
|
+
.br
|
|
103
|
+
|
|
104
|
+
.br
|
|
105
|
+
\fIPossible values:\fR
|
|
106
|
+
.RS 14
|
|
107
|
+
.IP \(bu 2
|
|
108
|
+
auto
|
|
109
|
+
.IP \(bu 2
|
|
110
|
+
lzma
|
|
111
|
+
.IP \(bu 2
|
|
112
|
+
djw
|
|
113
|
+
.IP \(bu 2
|
|
114
|
+
fgk
|
|
115
|
+
.IP \(bu 2
|
|
116
|
+
none
|
|
117
|
+
.RE
|
|
118
|
+
.TP
|
|
119
|
+
\fB\-h\fR, \fB\-\-help\fR
|
|
120
|
+
Print help (see a summary with \*(Aq\-h\*(Aq)
|
|
121
|
+
.SH "GLOBAL OPTIONS"
|
|
122
|
+
.TP
|
|
123
|
+
\fB\-\-json\fR
|
|
124
|
+
Print one JSON object per line instead of human\-readable output
|
|
125
|
+
.TP
|
|
126
|
+
\fB\-\-progress\fR
|
|
127
|
+
Show progress even when output is piped to a file or another program
|
|
128
|
+
.TP
|
|
129
|
+
\fB\-\-no\-progress\fR
|
|
130
|
+
Hide progress
|
|
131
|
+
.TP
|
|
132
|
+
\fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
|
|
133
|
+
How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
|
|
134
|
+
.br
|
|
135
|
+
|
|
136
|
+
.br
|
|
137
|
+
\fIPossible values:\fR
|
|
138
|
+
.RS 14
|
|
139
|
+
.IP \(bu 2
|
|
140
|
+
off
|
|
141
|
+
.IP \(bu 2
|
|
142
|
+
error
|
|
143
|
+
.IP \(bu 2
|
|
144
|
+
warn
|
|
145
|
+
.IP \(bu 2
|
|
146
|
+
info
|
|
147
|
+
.IP \(bu 2
|
|
148
|
+
debug
|
|
149
|
+
.IP \(bu 2
|
|
150
|
+
trace
|
|
151
|
+
.RE
|
|
152
|
+
.TP
|
|
153
|
+
\fB\-v\fR, \fB\-\-verbose\fR
|
|
154
|
+
Log more: \-v for info, \-vv for debug, \-vvv for trace
|
|
155
|
+
.TP
|
|
156
|
+
\fB\-q\fR, \fB\-\-quiet\fR
|
|
157
|
+
Log errors only
|
|
158
|
+
.TP
|
|
159
|
+
\fB\-\-dep\-trace\fR
|
|
160
|
+
Also log trace output from bundled libraries (for bug reports)
|
|
161
|
+
.TP
|
|
162
|
+
\fB\-\-color\fR
|
|
163
|
+
Keep colors even when output is piped
|
|
164
|
+
.TP
|
|
165
|
+
\fB\-\-no\-color\fR
|
|
166
|
+
Turn colors off
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
.ie \n(.g .ds Aq \(aq
|
|
2
|
+
.el .ds Aq '
|
|
3
|
+
.TH rom-weaver-patch-validate 1 "rom-weaver-patch-validate "
|
|
4
|
+
.SH NAME
|
|
5
|
+
rom\-weaver\-patch\-validate \- Check that patches would apply cleanly, without writing anything
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
\fBrom\-weaver patch validate\fR <\fB\-i\fR|\fB\-\-input\fR> [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-\-filter\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-\-no\-extract\fR] [\fB\-\-no\-ignore\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... <\fB\-\-patch\fR> [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-assume\-in\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-expect\-in\fR] [\fB\-\-no\-color\fR] [\fB\-\-strip\-header\fR] [\fB\-\-n64\-byte\-order\fR] [\fB\-\-ignore\-checksum\-validation\fR] [\fB\-\-independent\fR] [\fB\-\-plan\fR] [\fB\-\-patch\-basis\fR] [\fB\-\-patch\-input\-check\fR] [\fB\-\-patch\-output\-check\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-h\fR|\fB\-\-help\fR]
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
Check that patches would apply cleanly to a ROM, without writing anything.
|
|
10
|
+
.PP
|
|
11
|
+
This runs the same checks apply does: it parses each patch and verifies every
|
|
12
|
+
checksum the format carries. Use \-\-expect\-in to also confirm the ROM itself is
|
|
13
|
+
the one you think it is, by checksum or by size.
|
|
14
|
+
.PP
|
|
15
|
+
Patches are checked as a chain by default, each against the output of the one
|
|
16
|
+
before it. Pass \-\-independent to check each one against the original ROM
|
|
17
|
+
instead and get a verdict per patch.
|
|
18
|
+
.SH OPTIONS
|
|
19
|
+
.TP
|
|
20
|
+
\fB\-i\fR, \fB\-\-input\fR \fI<PATH>\fR
|
|
21
|
+
ROM to check the patches against. May be an archive
|
|
22
|
+
.TP
|
|
23
|
+
\fB\-s\fR, \fB\-\-select\fR \fI<SELECT>\fR
|
|
24
|
+
Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)
|
|
25
|
+
.TP
|
|
26
|
+
\fB\-\-filter\fR \fI<FILTER>\fR
|
|
27
|
+
Consider only files that look like a rom or a patch, judged by extension (repeatable, comma\-separable)
|
|
28
|
+
.br
|
|
29
|
+
|
|
30
|
+
.br
|
|
31
|
+
\fIPossible values:\fR
|
|
32
|
+
.RS 14
|
|
33
|
+
.IP \(bu 2
|
|
34
|
+
rom
|
|
35
|
+
.IP \(bu 2
|
|
36
|
+
patch
|
|
37
|
+
.RE
|
|
38
|
+
.TP
|
|
39
|
+
\fB\-\-no\-extract\fR
|
|
40
|
+
Do not look inside archives; treat the input and every patch as raw files
|
|
41
|
+
.TP
|
|
42
|
+
\fB\-\-no\-ignore\fR
|
|
43
|
+
Also consider files normally skipped inside archives: readmes, images, checksum sidecars, and OS clutter such as .DS_Store
|
|
44
|
+
.TP
|
|
45
|
+
\fB\-\-patch\fR \fI<PATCHES>\fR
|
|
46
|
+
Patch to check. Repeat once per patch; they are checked in the order given
|
|
47
|
+
.TP
|
|
48
|
+
\fB\-\-assume\-in\fR \fI<ALGO=HEX>\fR
|
|
49
|
+
Take this checksum on trust instead of reading the ROM to compute it, as in
|
|
50
|
+
crc32=1234abcd. Repeatable and comma\-separable.
|
|
51
|
+
|
|
52
|
+
This is a speed option for scripts that already know the checksum: it skips a
|
|
53
|
+
full read of a large ROM. It does not verify anything. To check a ROM against a
|
|
54
|
+
checksum, use \-\-expect\-in.
|
|
55
|
+
.TP
|
|
56
|
+
\fB\-\-expect\-in\fR \fI<ALGO=HEX>\fR
|
|
57
|
+
Fail unless the ROM matches: a checksum (crc32=1234abcd), an exact size (size=N), or a floor (min\-size=N). Repeatable, comma\-separable
|
|
58
|
+
.TP
|
|
59
|
+
\fB\-\-strip\-header\fR
|
|
60
|
+
Remove the ROM\*(Aqs copier header before checking (A78, LNX, NES, FDS, SMC signatures, plus the SNES and PCE size rules)
|
|
61
|
+
.TP
|
|
62
|
+
\fB\-\-n64\-byte\-order\fR \fI<N64_BYTE_ORDER>\fR
|
|
63
|
+
Byte order to put an N64 ROM in before checking: auto, keep, big\-endian, little\-endian, or byte\-swapped [default: auto]
|
|
64
|
+
.br
|
|
65
|
+
|
|
66
|
+
.br
|
|
67
|
+
\fIPossible values:\fR
|
|
68
|
+
.RS 14
|
|
69
|
+
.IP \(bu 2
|
|
70
|
+
auto
|
|
71
|
+
.IP \(bu 2
|
|
72
|
+
keep
|
|
73
|
+
.IP \(bu 2
|
|
74
|
+
big\-endian
|
|
75
|
+
.IP \(bu 2
|
|
76
|
+
little\-endian
|
|
77
|
+
.IP \(bu 2
|
|
78
|
+
byte\-swapped
|
|
79
|
+
.RE
|
|
80
|
+
.TP
|
|
81
|
+
\fB\-\-ignore\-checksum\-validation\fR
|
|
82
|
+
Report a patch as usable even when its own checksums do not match
|
|
83
|
+
.TP
|
|
84
|
+
\fB\-\-independent\fR
|
|
85
|
+
Check every patch against the original ROM rather than as a chain, and report a verdict for each instead of stopping at the first failure
|
|
86
|
+
.TP
|
|
87
|
+
\fB\-\-plan\fR
|
|
88
|
+
Report the order the patches would run in and what each would be checked against, without reading the ROM more than needed
|
|
89
|
+
.TP
|
|
90
|
+
\fB\-\-patch\-basis\fR \fI<PATCH_BASIS>\fR
|
|
91
|
+
Which ROM the preceding \-\-patch was built against: auto, base, or previous [default: auto]
|
|
92
|
+
.br
|
|
93
|
+
|
|
94
|
+
.br
|
|
95
|
+
\fIPossible values:\fR
|
|
96
|
+
.RS 14
|
|
97
|
+
.IP \(bu 2
|
|
98
|
+
auto
|
|
99
|
+
.IP \(bu 2
|
|
100
|
+
base
|
|
101
|
+
.IP \(bu 2
|
|
102
|
+
previous
|
|
103
|
+
.RE
|
|
104
|
+
.TP
|
|
105
|
+
\fB\-\-patch\-input\-check\fR \fI<ALGO=HEX>\fR
|
|
106
|
+
Checksum the preceding \-\-patch expects to see going in, when the patch does not carry one (comma\-separable; empty means none)
|
|
107
|
+
.TP
|
|
108
|
+
\fB\-\-patch\-output\-check\fR \fI<ALGO=HEX>\fR
|
|
109
|
+
Checksum the preceding \-\-patch should produce, when the patch does not carry one (comma\-separable; empty means none)
|
|
110
|
+
.TP
|
|
111
|
+
\fB\-j\fR, \fB\-\-threads\fR \fI<auto|N>\fR [default: auto]
|
|
112
|
+
How many threads to use at most. auto uses every core; a format may still use fewer
|
|
113
|
+
.TP
|
|
114
|
+
\fB\-h\fR, \fB\-\-help\fR
|
|
115
|
+
Print help (see a summary with \*(Aq\-h\*(Aq)
|
|
116
|
+
.SH "GLOBAL OPTIONS"
|
|
117
|
+
.TP
|
|
118
|
+
\fB\-\-json\fR
|
|
119
|
+
Print one JSON object per line instead of human\-readable output
|
|
120
|
+
.TP
|
|
121
|
+
\fB\-\-progress\fR
|
|
122
|
+
Show progress even when output is piped to a file or another program
|
|
123
|
+
.TP
|
|
124
|
+
\fB\-\-no\-progress\fR
|
|
125
|
+
Hide progress
|
|
126
|
+
.TP
|
|
127
|
+
\fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
|
|
128
|
+
How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
|
|
129
|
+
.br
|
|
130
|
+
|
|
131
|
+
.br
|
|
132
|
+
\fIPossible values:\fR
|
|
133
|
+
.RS 14
|
|
134
|
+
.IP \(bu 2
|
|
135
|
+
off
|
|
136
|
+
.IP \(bu 2
|
|
137
|
+
error
|
|
138
|
+
.IP \(bu 2
|
|
139
|
+
warn
|
|
140
|
+
.IP \(bu 2
|
|
141
|
+
info
|
|
142
|
+
.IP \(bu 2
|
|
143
|
+
debug
|
|
144
|
+
.IP \(bu 2
|
|
145
|
+
trace
|
|
146
|
+
.RE
|
|
147
|
+
.TP
|
|
148
|
+
\fB\-v\fR, \fB\-\-verbose\fR
|
|
149
|
+
Log more: \-v for info, \-vv for debug, \-vvv for trace
|
|
150
|
+
.TP
|
|
151
|
+
\fB\-q\fR, \fB\-\-quiet\fR
|
|
152
|
+
Log errors only
|
|
153
|
+
.TP
|
|
154
|
+
\fB\-\-dep\-trace\fR
|
|
155
|
+
Also log trace output from bundled libraries (for bug reports)
|
|
156
|
+
.TP
|
|
157
|
+
\fB\-\-color\fR
|
|
158
|
+
Keep colors even when output is piped
|
|
159
|
+
.TP
|
|
160
|
+
\fB\-\-no\-color\fR
|
|
161
|
+
Turn colors off
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
.ie \n(.g .ds Aq \(aq
|
|
2
|
+
.el .ds Aq '
|
|
3
|
+
.TH rom-weaver-patch 1 "rom-weaver-patch "
|
|
4
|
+
.SH NAME
|
|
5
|
+
rom\-weaver\-patch \- Apply, create, or check ROM patches
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
\fBrom\-weaver patch\fR [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
Apply, create, or check ROM patches
|
|
10
|
+
.SH OPTIONS
|
|
11
|
+
.TP
|
|
12
|
+
\fB\-h\fR, \fB\-\-help\fR
|
|
13
|
+
Print help
|
|
14
|
+
.SH "GLOBAL OPTIONS"
|
|
15
|
+
.TP
|
|
16
|
+
\fB\-\-json\fR
|
|
17
|
+
Print one JSON object per line instead of human\-readable output
|
|
18
|
+
.TP
|
|
19
|
+
\fB\-\-progress\fR
|
|
20
|
+
Show progress even when output is piped to a file or another program
|
|
21
|
+
.TP
|
|
22
|
+
\fB\-\-no\-progress\fR
|
|
23
|
+
Hide progress
|
|
24
|
+
.TP
|
|
25
|
+
\fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
|
|
26
|
+
How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
|
|
27
|
+
.br
|
|
28
|
+
|
|
29
|
+
.br
|
|
30
|
+
\fIPossible values:\fR
|
|
31
|
+
.RS 14
|
|
32
|
+
.IP \(bu 2
|
|
33
|
+
off
|
|
34
|
+
.IP \(bu 2
|
|
35
|
+
error
|
|
36
|
+
.IP \(bu 2
|
|
37
|
+
warn
|
|
38
|
+
.IP \(bu 2
|
|
39
|
+
info
|
|
40
|
+
.IP \(bu 2
|
|
41
|
+
debug
|
|
42
|
+
.IP \(bu 2
|
|
43
|
+
trace
|
|
44
|
+
.RE
|
|
45
|
+
.TP
|
|
46
|
+
\fB\-v\fR, \fB\-\-verbose\fR
|
|
47
|
+
Log more: \-v for info, \-vv for debug, \-vvv for trace
|
|
48
|
+
.TP
|
|
49
|
+
\fB\-q\fR, \fB\-\-quiet\fR
|
|
50
|
+
Log errors only
|
|
51
|
+
.TP
|
|
52
|
+
\fB\-\-dep\-trace\fR
|
|
53
|
+
Also log trace output from bundled libraries (for bug reports)
|
|
54
|
+
.TP
|
|
55
|
+
\fB\-\-color\fR
|
|
56
|
+
Keep colors even when output is piped
|
|
57
|
+
.TP
|
|
58
|
+
\fB\-\-no\-color\fR
|
|
59
|
+
Turn colors off
|
|
60
|
+
.SH SUBCOMMANDS
|
|
61
|
+
.TP
|
|
62
|
+
rom\-weaver\-patch\-apply(1)
|
|
63
|
+
Apply one or more patches to a ROM, in order
|
|
64
|
+
.TP
|
|
65
|
+
rom\-weaver\-patch\-validate(1)
|
|
66
|
+
Check that patches would apply cleanly, without writing anything
|
|
67
|
+
.TP
|
|
68
|
+
rom\-weaver\-patch\-create(1)
|
|
69
|
+
Build a patch from an original ROM and a changed one
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
.ie \n(.g .ds Aq \(aq
|
|
2
|
+
.el .ds Aq '
|
|
3
|
+
.TH rom-weaver-probe 1 "rom-weaver-probe "
|
|
4
|
+
.SH NAME
|
|
5
|
+
rom\-weaver\-probe \- Identify a file: its format, its platform, and any header it carries
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
\fBrom\-weaver probe\fR <\fB\-i\fR|\fB\-\-input\fR> [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-\-filter\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-\-no\-extract\fR] [\fB\-\-no\-ignore\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-h\fR|\fB\-\-help\fR]
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
Identify a file. Reports what format it is, which console it is for, whether it
|
|
10
|
+
carries a copier header, and what is inside it if it is an archive.
|
|
11
|
+
.PP
|
|
12
|
+
`rom\-weaver inspect` runs this same command under another name.
|
|
13
|
+
.PP
|
|
14
|
+
Archives are opened automatically, so pointing this at a .zip describes the ROM
|
|
15
|
+
inside rather than the zip itself. Pass \-\-no\-extract to describe the file as it
|
|
16
|
+
sits on disk.
|
|
17
|
+
.PP
|
|
18
|
+
Nothing is written; this only reads.
|
|
19
|
+
.SH OPTIONS
|
|
20
|
+
.TP
|
|
21
|
+
\fB\-i\fR, \fB\-\-input\fR \fI<INPUT>\fR
|
|
22
|
+
File to identify. Use \- to read from stdin
|
|
23
|
+
.TP
|
|
24
|
+
\fB\-s\fR, \fB\-\-select\fR \fI<SELECT>\fR
|
|
25
|
+
Pick which file inside the archive to use, by exact name, prefix, or glob (repeatable)
|
|
26
|
+
.TP
|
|
27
|
+
\fB\-\-filter\fR \fI<FILTER>\fR
|
|
28
|
+
Consider only files that look like a rom or a patch, judged by extension (repeatable, comma\-separable)
|
|
29
|
+
.br
|
|
30
|
+
|
|
31
|
+
.br
|
|
32
|
+
\fIPossible values:\fR
|
|
33
|
+
.RS 14
|
|
34
|
+
.IP \(bu 2
|
|
35
|
+
rom
|
|
36
|
+
.IP \(bu 2
|
|
37
|
+
patch
|
|
38
|
+
.RE
|
|
39
|
+
.TP
|
|
40
|
+
\fB\-\-no\-extract\fR
|
|
41
|
+
Do not look inside archives; identify the file itself
|
|
42
|
+
.TP
|
|
43
|
+
\fB\-\-no\-ignore\fR
|
|
44
|
+
Also consider files normally skipped inside archives: readmes, images, checksum sidecars, and OS clutter such as .DS_Store
|
|
45
|
+
.TP
|
|
46
|
+
\fB\-h\fR, \fB\-\-help\fR
|
|
47
|
+
Print help (see a summary with \*(Aq\-h\*(Aq)
|
|
48
|
+
.SH "GLOBAL OPTIONS"
|
|
49
|
+
.TP
|
|
50
|
+
\fB\-\-json\fR
|
|
51
|
+
Print one JSON object per line instead of human\-readable output
|
|
52
|
+
.TP
|
|
53
|
+
\fB\-\-progress\fR
|
|
54
|
+
Show progress even when output is piped to a file or another program
|
|
55
|
+
.TP
|
|
56
|
+
\fB\-\-no\-progress\fR
|
|
57
|
+
Hide progress
|
|
58
|
+
.TP
|
|
59
|
+
\fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
|
|
60
|
+
How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
|
|
61
|
+
.br
|
|
62
|
+
|
|
63
|
+
.br
|
|
64
|
+
\fIPossible values:\fR
|
|
65
|
+
.RS 14
|
|
66
|
+
.IP \(bu 2
|
|
67
|
+
off
|
|
68
|
+
.IP \(bu 2
|
|
69
|
+
error
|
|
70
|
+
.IP \(bu 2
|
|
71
|
+
warn
|
|
72
|
+
.IP \(bu 2
|
|
73
|
+
info
|
|
74
|
+
.IP \(bu 2
|
|
75
|
+
debug
|
|
76
|
+
.IP \(bu 2
|
|
77
|
+
trace
|
|
78
|
+
.RE
|
|
79
|
+
.TP
|
|
80
|
+
\fB\-v\fR, \fB\-\-verbose\fR
|
|
81
|
+
Log more: \-v for info, \-vv for debug, \-vvv for trace
|
|
82
|
+
.TP
|
|
83
|
+
\fB\-q\fR, \fB\-\-quiet\fR
|
|
84
|
+
Log errors only
|
|
85
|
+
.TP
|
|
86
|
+
\fB\-\-dep\-trace\fR
|
|
87
|
+
Also log trace output from bundled libraries (for bug reports)
|
|
88
|
+
.TP
|
|
89
|
+
\fB\-\-color\fR
|
|
90
|
+
Keep colors even when output is piped
|
|
91
|
+
.TP
|
|
92
|
+
\fB\-\-no\-color\fR
|
|
93
|
+
Turn colors off
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
.ie \n(.g .ds Aq \(aq
|
|
2
|
+
.el .ds Aq '
|
|
3
|
+
.TH rom-weaver-tools-ppf-undo 1 "rom-weaver-tools-ppf-undo "
|
|
4
|
+
.SH NAME
|
|
5
|
+
rom\-weaver\-tools\-ppf\-undo \- Undo a PPF3 patch, using the undo data stored inside it
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
\fBrom\-weaver tools ppf\-undo\fR <\fB\-i\fR|\fB\-\-input\fR> [\fB\-\-json\fR] <\fB\-\-patch\fR> [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] <\fB\-o\fR|\fB\-\-output\fR> [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-h\fR|\fB\-\-help\fR]
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
Undo a PPF3 patch, turning a patched ROM back into the original.
|
|
10
|
+
.PP
|
|
11
|
+
Only works when the patch was written with undo data, which is optional in the
|
|
12
|
+
PPF3 format. Without it there is nothing to reverse from.
|
|
13
|
+
.SH OPTIONS
|
|
14
|
+
.TP
|
|
15
|
+
\fB\-i\fR, \fB\-\-input\fR \fI<ROM>\fR
|
|
16
|
+
The already\-patched ROM to undo
|
|
17
|
+
.TP
|
|
18
|
+
\fB\-\-patch\fR \fI<PPF>\fR
|
|
19
|
+
The PPF3 patch that was applied. It must carry undo data
|
|
20
|
+
.TP
|
|
21
|
+
\fB\-o\fR, \fB\-\-output\fR \fI<PATH>\fR
|
|
22
|
+
Where to write the restored ROM
|
|
23
|
+
.TP
|
|
24
|
+
\fB\-h\fR, \fB\-\-help\fR
|
|
25
|
+
Print help (see a summary with \*(Aq\-h\*(Aq)
|
|
26
|
+
.SH "GLOBAL OPTIONS"
|
|
27
|
+
.TP
|
|
28
|
+
\fB\-\-json\fR
|
|
29
|
+
Print one JSON object per line instead of human\-readable output
|
|
30
|
+
.TP
|
|
31
|
+
\fB\-\-progress\fR
|
|
32
|
+
Show progress even when output is piped to a file or another program
|
|
33
|
+
.TP
|
|
34
|
+
\fB\-\-no\-progress\fR
|
|
35
|
+
Hide progress
|
|
36
|
+
.TP
|
|
37
|
+
\fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
|
|
38
|
+
How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
|
|
39
|
+
.br
|
|
40
|
+
|
|
41
|
+
.br
|
|
42
|
+
\fIPossible values:\fR
|
|
43
|
+
.RS 14
|
|
44
|
+
.IP \(bu 2
|
|
45
|
+
off
|
|
46
|
+
.IP \(bu 2
|
|
47
|
+
error
|
|
48
|
+
.IP \(bu 2
|
|
49
|
+
warn
|
|
50
|
+
.IP \(bu 2
|
|
51
|
+
info
|
|
52
|
+
.IP \(bu 2
|
|
53
|
+
debug
|
|
54
|
+
.IP \(bu 2
|
|
55
|
+
trace
|
|
56
|
+
.RE
|
|
57
|
+
.TP
|
|
58
|
+
\fB\-v\fR, \fB\-\-verbose\fR
|
|
59
|
+
Log more: \-v for info, \-vv for debug, \-vvv for trace
|
|
60
|
+
.TP
|
|
61
|
+
\fB\-q\fR, \fB\-\-quiet\fR
|
|
62
|
+
Log errors only
|
|
63
|
+
.TP
|
|
64
|
+
\fB\-\-dep\-trace\fR
|
|
65
|
+
Also log trace output from bundled libraries (for bug reports)
|
|
66
|
+
.TP
|
|
67
|
+
\fB\-\-color\fR
|
|
68
|
+
Keep colors even when output is piped
|
|
69
|
+
.TP
|
|
70
|
+
\fB\-\-no\-color\fR
|
|
71
|
+
Turn colors off
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
.ie \n(.g .ds Aq \(aq
|
|
2
|
+
.el .ds Aq '
|
|
3
|
+
.TH rom-weaver-tools 1 "rom-weaver-tools "
|
|
4
|
+
.SH NAME
|
|
5
|
+
rom\-weaver\-tools \- One\-off recovery tools
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
\fBrom\-weaver tools\fR [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
One\-off recovery tools
|
|
10
|
+
.SH OPTIONS
|
|
11
|
+
.TP
|
|
12
|
+
\fB\-h\fR, \fB\-\-help\fR
|
|
13
|
+
Print help
|
|
14
|
+
.SH "GLOBAL OPTIONS"
|
|
15
|
+
.TP
|
|
16
|
+
\fB\-\-json\fR
|
|
17
|
+
Print one JSON object per line instead of human\-readable output
|
|
18
|
+
.TP
|
|
19
|
+
\fB\-\-progress\fR
|
|
20
|
+
Show progress even when output is piped to a file or another program
|
|
21
|
+
.TP
|
|
22
|
+
\fB\-\-no\-progress\fR
|
|
23
|
+
Hide progress
|
|
24
|
+
.TP
|
|
25
|
+
\fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
|
|
26
|
+
How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
|
|
27
|
+
.br
|
|
28
|
+
|
|
29
|
+
.br
|
|
30
|
+
\fIPossible values:\fR
|
|
31
|
+
.RS 14
|
|
32
|
+
.IP \(bu 2
|
|
33
|
+
off
|
|
34
|
+
.IP \(bu 2
|
|
35
|
+
error
|
|
36
|
+
.IP \(bu 2
|
|
37
|
+
warn
|
|
38
|
+
.IP \(bu 2
|
|
39
|
+
info
|
|
40
|
+
.IP \(bu 2
|
|
41
|
+
debug
|
|
42
|
+
.IP \(bu 2
|
|
43
|
+
trace
|
|
44
|
+
.RE
|
|
45
|
+
.TP
|
|
46
|
+
\fB\-v\fR, \fB\-\-verbose\fR
|
|
47
|
+
Log more: \-v for info, \-vv for debug, \-vvv for trace
|
|
48
|
+
.TP
|
|
49
|
+
\fB\-q\fR, \fB\-\-quiet\fR
|
|
50
|
+
Log errors only
|
|
51
|
+
.TP
|
|
52
|
+
\fB\-\-dep\-trace\fR
|
|
53
|
+
Also log trace output from bundled libraries (for bug reports)
|
|
54
|
+
.TP
|
|
55
|
+
\fB\-\-color\fR
|
|
56
|
+
Keep colors even when output is piped
|
|
57
|
+
.TP
|
|
58
|
+
\fB\-\-no\-color\fR
|
|
59
|
+
Turn colors off
|
|
60
|
+
.SH SUBCOMMANDS
|
|
61
|
+
.TP
|
|
62
|
+
rom\-weaver\-tools\-ppf\-undo(1)
|
|
63
|
+
Undo a PPF3 patch, using the undo data stored inside it
|