6fa129282b
Merge pull request #25 from RomTholos/fix/mode2-form-detection-read
...
fix Mode 2 form detection in errored-suffix read path
2026-04-01 16:03:02 +01:00
3cc1830a5f
Merge pull request #20 from RomTholos/spec/document-lzma-properties-prefix
...
spec: clarify LZMA properties prefix in cmpLength and cmpCrc64 scope
2026-04-01 16:02:34 +01:00
Kevin Bortis
b88e71a865
fix Mode 2 form detection in errored-suffix read path
2026-03-31 19:40:47 +02:00
Kevin Bortis
2cbd88a15b
spec: clarify LZMA properties prefix in cmpLength and cmpCrc64 scope
2026-03-31 08:59:52 +02:00
3af5f1ec41
Merge pull request #24 from RomTholos/fix/lzma-threading-cleanup
...
Replace hardcoded LZMA thread count with LZMA_THREADS(ctx)
2026-03-29 22:26:11 +01:00
0e79486a9e
[spec] Add annex about Nintendo Wii U Disc Encryption
2026-03-29 19:47:03 +01:00
1172630c84
[spec] Add annex about Nintendo Wii Disc Encryption
2026-03-29 19:37:16 +01:00
88e4b7cf57
[spec] Add annex about GameCube / Wii junk.
2026-03-29 19:30:36 +01:00
ea669e4040
[spec] Add annex about PlayStation 3 encryption.
2026-03-29 19:19:37 +01:00
01e46f9e16
[spec] Add emojis to all headings.
2026-03-29 19:05:06 +01:00
1dcf9fb619
[spec] Add emojis to Annex A.
2026-03-29 19:00:19 +01:00
ee93001607
[spec] Register emoji font.
2026-03-29 18:56:17 +01:00
8adb38096f
[spec] Fixed heading in compression.
2026-03-29 18:50:39 +01:00
e168226e9a
[spec] Write media types annex.
2026-03-29 18:47:15 +01:00
bf9328f755
[spec] Added historical mistake block identifier.
2026-03-29 18:35:23 +01:00
530dac88a9
[spec] Fixed metadata block description.
2026-03-29 18:33:55 +01:00
9f02e9ab62
[spec] Add Generable sector status.
2026-03-29 18:32:51 +01:00
bf55a0140c
Update dependencies to latest version.
2026-03-29 18:31:27 +01:00
43385ad920
[spec] Add missing data types.
2026-03-29 18:31:14 +01:00
85098b0b9e
[spec] Fix data type typo.
2026-03-29 18:30:59 +01:00
258d9e33d8
[spec] Fix incorrect data types in specification.
2026-03-29 18:28:54 +01:00
Kevin Bortis
3c00aed352
Replace hardcoded LZMA thread count with LZMA_THREADS(ctx)
...
The LZMA encoder was called with numThreads=8 at all 19 call sites,
but LZMA only supports 1 or 2 (and _7ZIP_ST forces it to 1 anyway).
Replace with LZMA_THREADS(ctx) macro that clamps ctx->num_threads
to [1, 2], making the code say what it means and honoring the
consumer's threading preference from the threads=N option.
2026-03-29 19:14:38 +02:00
c58bfc167f
Merge remote-tracking branch 'origin/devel' into devel
2026-03-29 18:08:31 +01:00
a81a0fe09a
Merge pull request #23 from RomTholos/fix/flac-error-handling
...
fix: FLAC error handling — decode corruption, encode crash, unchecked…
2026-03-29 18:01:20 +01:00
742851934a
Merge pull request #22 from RomTholos/spec/clarify-string-encoding
...
spec: clarify string encoding per block type
2026-03-29 17:59:59 +01:00
d1f7665b3a
Merge pull request #21 from RomTholos/spec/document-v1-crc64-byteswap
...
spec: document CRC64 byte-swap for V1 images
2026-03-29 17:58:24 +01:00
627a1d7edd
Merge pull request #19 from RomTholos/spec/document-cst-algorithm
...
spec: full byte-level algorithm for Claunia Subchannel Transform
2026-03-29 17:56:33 +01:00
24bc41068c
Merge pull request #18 from RomTholos/spec/document-blake3-checksum
...
spec: document BLAKE3 checksum algorithm (ID 5)
2026-03-29 17:54:42 +01:00
69cb91bcad
Merge pull request #17 from RomTholos/spec/document-zstd-compression
...
spec: document Zstandard compression types (IDs 4, 5)
2026-03-29 17:54:06 +01:00
c2e71490df
Merge pull request #16 from RomTholos/fix/spec-ddt2-alignment-formula
...
Fix/spec ddt2 alignment formula
2026-03-29 17:53:23 +01:00
94d2c6e67e
Merge pull request #15 from RomTholos/feat/zstd-multithread
...
Add multi-threaded zstd compression support
2026-03-29 17:52:40 +01:00
Kevin Bortis
26e8d92810
fix: FLAC error handling — decode corruption, encode crash, unchecked returns
2026-03-29 15:47:27 +02:00
Kevin Bortis
4a3ddab743
spec: clarify string encoding per block type
2026-03-29 15:35:04 +02:00
Kevin Bortis
69186ae173
spec: document CRC64 byte-swap for V1 images
2026-03-29 15:32:28 +02:00
Kevin Bortis
94cfa27089
spec: full byte-level algorithm for Claunia Subchannel Transform
2026-03-29 15:24:14 +02:00
Kevin Bortis
4b14de20d8
spec: document BLAKE3 checksum algorithm (ID 5)
2026-03-29 15:16:49 +02:00
Kevin Bortis
b4262d1cf8
spec: document Zstandard compression types (IDs 4, 5)
2026-03-29 15:16:34 +02:00
Kevin Bortis
d9c1c9d607
spec: fix shift formulas in header block spec
2026-03-29 15:06:24 +02:00
Kevin Bortis
120174e4cd
Add multi-threaded zstd compression support
...
Switch zstd encoder from simple API (ZSTD_compress) to advanced API
(ZSTD_CCtx + ZSTD_compress2) with configurable worker threads via
ZSTD_c_nbWorkers. Consumer controls threading through threads=N
option string parameter. Default is 1 (single-threaded, bit-identical
output to previous behavior).
- Enable ZSTD_MULTITHREAD compile definition and link pthreads
- Add num_threads field to options struct and context
- Parse threads=N in option string (clamped >= 1)
- Rewrite aaruf_zstd_encode_buffer() with num_threads parameter
- Update all call sites (write.c, close.c)
2026-03-29 12:56:19 +02:00
Kevin Bortis
b1240dd079
spec: fix block alignment shift formulas in DDT2 spec
...
The spec used `2 << x` where `1 << x` (= 2^x) was intended.
`2 << x` equals 2^(x+1), which is off by factor 2. The code
unanimously uses `1 << x` across 40+ sites. Corrects the
example result from 0x6A0000 to 0x350000 accordingly.
2026-03-26 18:05:30 +01:00
176a363996
Bump version to 1.0.0-alpha.35 in libaaruformat.nuspec
2026-03-25 16:49:46 +00:00
42c4febd98
Increase maximum number of plaintext regions from 32 to 64 in ps3_encryption_map.h
2026-03-25 16:49:24 +00:00
d3aea257ed
Bump version to 1.0.0-alpha.34 in libaaruformat.nuspec
v1.0.0-alpha.34
2026-03-22 21:48:54 +00:00
0b6f10e526
Merge pull request #14 from FakeShemp/fakeshemp/wii-long
...
Add long sector for Wii/GC
2026-03-19 20:07:18 +00:00
45a494e1a2
Merge pull request #13 from RomTholos/perf/lru-integer-keys
...
lru: use native uint64 keys instead of string conversion
2026-03-19 20:02:24 +00:00
Kevin Bortis
8a8a89450d
lru: use native uint64 keys instead of string conversion
...
Replace string-keyed uthash lookups with HASH_FIND/HASH_ADD on native
uint64_t keys. This eliminates per-lookup malloc/snprintf/strlen/free
overhead from the block cache hot path (2 lookups per sector read).
Before: malloc(17) + snprintf hex + HASH_FIND_STR + free per lookup
After: HASH_FIND with 8-byte integer key, zero allocations
Also removes the unused string-key API (find_in_cache/add_to_cache)
and the uint64_to_string helper — all callers use uint64 keys.
Fix off-by-one in eviction: >= caused cache to hold max_items-1
entries instead of max_items. Changed to > so the configured
capacity is honored exactly.
2026-03-19 20:35:42 +01:00
6dbd5f1bb2
Merge pull request #12 from RomTholos/fix/cross-compilation-arm-riscv
...
Fix cross-compilation for ARM FPU variants and add RISC-V support
2026-03-19 11:58:49 +00:00
c9cf1a42c0
Merge pull request #11 from RomTholos/fix/mode2-errored-suffix-read
...
Fix Mode 2 errored sector suffix not restored on read
2026-03-19 11:57:44 +00:00
Kevin Bortis
bd01e7d8a5
Fix cross-compilation for ARM FPU variants and add RISC-V support
2026-03-19 12:34:00 +01:00
65b00baf1a
Merge pull request #10 from RomTholos/fix/calling-convention-pointer-order
...
Fix calling convention placement for pointer-returning functions
2026-03-19 09:50:02 +00:00