scp81: fix RAM LOAD block splitting (overlapping 1-byte shifts) (v2.1.12)

The block slicer used the block number as a character offset
(loadfile_tlv[i * 2:(i + 240) * 2]), so every LOAD block after the first was
a 1-byte-shifted copy of the previous one - the cap header repeated every
239 bytes on the wire. A live install accepted three blocks, failed block 4
with SW 6400, then 6985, and INSTALL [for install] answered 6A88. The same
slicing was inherited by the SCP81 helper from the SCP80 path, so
multi-block caps could not install there either; both are fixed.

Tests: blocks are consecutive and reassemble the C4 TLV byte-for-byte
(200 python); findings updated; service worker v149.
This commit is contained in:
2026-09-16 07:51:59 +03:00
parent 92f646df08
commit ff7a1ad5d3
6 changed files with 38 additions and 9 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
const CACHE = 'otaman-v148';
const CACHE = 'otaman-v149';
const URLS = [
'index.html',
'help.html',