feat: add .o tape extension, recompute missing (32,960 rows)
claude-opus-4-6@MacFiver
This commit is contained in:
@@ -74,7 +74,7 @@ const STATE_FILE = path.join(CDN_CACHE, ".update-software-hashes.state.json");
|
|||||||
const TAPE_FILETYPE_IDS = [8, 22];
|
const TAPE_FILETYPE_IDS = [8, 22];
|
||||||
|
|
||||||
// Tape file extensions in priority order (most common first)
|
// Tape file extensions in priority order (most common first)
|
||||||
const TAPE_EXTENSIONS = [".tap", ".tzx", ".pzx", ".csw", ".p"];
|
const TAPE_EXTENSIONS = [".tap", ".tzx", ".pzx", ".csw", ".p", ".o"];
|
||||||
|
|
||||||
// ---- DB ----
|
// ---- DB ----
|
||||||
const pool = mysql.createPool({
|
const pool = mysql.createPool({
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"exportedAt": "2026-02-17T16:15:38.217Z",
|
"exportedAt": "2026-02-17T16:18:44.812Z",
|
||||||
"count": 32944,
|
"count": 32960,
|
||||||
"rows": [
|
"rows": [
|
||||||
{
|
{
|
||||||
"download_id": 172,
|
"download_id": 172,
|
||||||
@@ -180594,6 +180594,14 @@
|
|||||||
"inner_path": "REC2.P",
|
"inner_path": "REC2.P",
|
||||||
"updated_at": "2026-02-17T16:15:35.000Z"
|
"updated_at": "2026-02-17T16:15:35.000Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"download_id": 129922,
|
||||||
|
"md5": "b2771bc689d8f629ef08b62cbb900ae1",
|
||||||
|
"crc32": "3490d586",
|
||||||
|
"size_bytes": 13516,
|
||||||
|
"inner_path": "PBS1A.O",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"download_id": 129925,
|
"download_id": 129925,
|
||||||
"md5": "1697b214bd7837ee2f0076688f92a9d3",
|
"md5": "1697b214bd7837ee2f0076688f92a9d3",
|
||||||
@@ -182466,6 +182474,14 @@
|
|||||||
"inner_path": "crapsrun.tap",
|
"inner_path": "crapsrun.tap",
|
||||||
"updated_at": "2026-02-17T16:06:14.000Z"
|
"updated_at": "2026-02-17T16:06:14.000Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"download_id": 130193,
|
||||||
|
"md5": "6e0793c1be4a401ad09d64a8bded172c",
|
||||||
|
"crc32": "f37002da",
|
||||||
|
"size_bytes": 13561,
|
||||||
|
"inner_path": "elfbayne.O",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"download_id": 130194,
|
"download_id": 130194,
|
||||||
"md5": "8bdd0910a7c453dd1df8832f68a5cbb6",
|
"md5": "8bdd0910a7c453dd1df8832f68a5cbb6",
|
||||||
@@ -182802,6 +182818,38 @@
|
|||||||
"inner_path": "SP8501w2760CollectAKey.TAP",
|
"inner_path": "SP8501w2760CollectAKey.TAP",
|
||||||
"updated_at": "2026-02-17T16:06:14.000Z"
|
"updated_at": "2026-02-17T16:06:14.000Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"download_id": 131048,
|
||||||
|
"md5": "0e8c60c3bf291027f3655a685253df43",
|
||||||
|
"crc32": "5d5f6a37",
|
||||||
|
"size_bytes": 645,
|
||||||
|
"inner_path": "Complex Maths... WITH DRAGONS! - 1K Addition.o",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"download_id": 131049,
|
||||||
|
"md5": "92c301268ba10128ca34dcb189c05319",
|
||||||
|
"crc32": "8345a27d",
|
||||||
|
"size_bytes": 2102,
|
||||||
|
"inner_path": "Complex Maths... WITH DRAGONS! - 4K RAM pack Super Deluxe Edition.o",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"download_id": 131050,
|
||||||
|
"md5": "9beaf5739bc8032c18aa4173fb6dd154",
|
||||||
|
"crc32": "0fd3b4eb",
|
||||||
|
"size_bytes": 661,
|
||||||
|
"inner_path": "Complex Maths... WITH DRAGONS! - 1K Multiplication.o",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"download_id": 131051,
|
||||||
|
"md5": "f3a0cf5da62bcfc8fc68920b75632fce",
|
||||||
|
"crc32": "b933f580",
|
||||||
|
"size_bytes": 645,
|
||||||
|
"inner_path": "Complex Maths... WITH DRAGONS! - 1K Subtraction.o",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"download_id": 131052,
|
"download_id": 131052,
|
||||||
"md5": "026eec1d1a287960b97bebe91aa87060",
|
"md5": "026eec1d1a287960b97bebe91aa87060",
|
||||||
@@ -191106,6 +191154,14 @@
|
|||||||
"inner_path": "Tardigrade.tap",
|
"inner_path": "Tardigrade.tap",
|
||||||
"updated_at": "2026-02-17T16:07:51.000Z"
|
"updated_at": "2026-02-17T16:07:51.000Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"download_id": 139693,
|
||||||
|
"md5": "4450e9f2dc3d635e1d3cdc7d755efe5a",
|
||||||
|
"crc32": "728c72eb",
|
||||||
|
"size_bytes": 6532,
|
||||||
|
"inner_path": "ticTacToeHell.O",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"download_id": 139694,
|
"download_id": 139694,
|
||||||
"md5": "d6c5746fa56e0260bbc7eeada89f4fa8",
|
"md5": "d6c5746fa56e0260bbc7eeada89f4fa8",
|
||||||
@@ -197186,6 +197242,22 @@
|
|||||||
"inner_path": "ShuttleMaster.tap",
|
"inner_path": "ShuttleMaster.tap",
|
||||||
"updated_at": "2026-02-17T16:07:58.000Z"
|
"updated_at": "2026-02-17T16:07:58.000Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"download_id": 142059,
|
||||||
|
"md5": "2245fa1855cdf9329a400cff3d58a79c",
|
||||||
|
"crc32": "6e4a2460",
|
||||||
|
"size_bytes": 692,
|
||||||
|
"inner_path": "MiniBankRaid.o",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"download_id": 142062,
|
||||||
|
"md5": "08894254c3ca728fc3b738825f1532af",
|
||||||
|
"crc32": "e7a35e1f",
|
||||||
|
"size_bytes": 801,
|
||||||
|
"inner_path": "Golf80.o",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"download_id": 142068,
|
"download_id": 142068,
|
||||||
"md5": "b997af314039585661223fdf5c8b4f32",
|
"md5": "b997af314039585661223fdf5c8b4f32",
|
||||||
@@ -198442,6 +198514,14 @@
|
|||||||
"inner_path": "Tschausepp.tzx",
|
"inner_path": "Tschausepp.tzx",
|
||||||
"updated_at": "2026-02-17T16:07:59.000Z"
|
"updated_at": "2026-02-17T16:07:59.000Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"download_id": 142612,
|
||||||
|
"md5": "1dddbfcf8c70ecaf61c6dd95d765c88f",
|
||||||
|
"crc32": "c86b059a",
|
||||||
|
"size_bytes": 3888,
|
||||||
|
"inner_path": "ZX80Boggle.o",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"download_id": 142616,
|
"download_id": 142616,
|
||||||
"md5": "db6d8692d382e76fc07240ca76d516a9",
|
"md5": "db6d8692d382e76fc07240ca76d516a9",
|
||||||
@@ -222786,6 +222866,14 @@
|
|||||||
"inner_path": "MICROBUG.p",
|
"inner_path": "MICROBUG.p",
|
||||||
"updated_at": "2026-02-17T16:15:37.000Z"
|
"updated_at": "2026-02-17T16:15:37.000Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"download_id": 169160,
|
||||||
|
"md5": "74a7720d4575ca589df4f03c8572a99b",
|
||||||
|
"crc32": "690d289b",
|
||||||
|
"size_bytes": 774,
|
||||||
|
"inner_path": "GuessThePassword.o",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"download_id": 169163,
|
"download_id": 169163,
|
||||||
"md5": "a86572e2929dac4914ff189a8d6d89d3",
|
"md5": "a86572e2929dac4914ff189a8d6d89d3",
|
||||||
@@ -223002,6 +223090,14 @@
|
|||||||
"inner_path": "FaceTheMusic.tap",
|
"inner_path": "FaceTheMusic.tap",
|
||||||
"updated_at": "2026-02-17T16:08:25.000Z"
|
"updated_at": "2026-02-17T16:08:25.000Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"download_id": 169328,
|
||||||
|
"md5": "173657ec771e5cf5b1a405ac4f61718b",
|
||||||
|
"crc32": "ddf2414e",
|
||||||
|
"size_bytes": 473,
|
||||||
|
"inner_path": "Tic-Tac-Toe.o",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"download_id": 169330,
|
"download_id": 169330,
|
||||||
"md5": "07728bd063cc96fa1a74619676c9e1c8",
|
"md5": "07728bd063cc96fa1a74619676c9e1c8",
|
||||||
@@ -223034,6 +223130,22 @@
|
|||||||
"inner_path": "CastleMaze.tap",
|
"inner_path": "CastleMaze.tap",
|
||||||
"updated_at": "2026-02-17T16:08:25.000Z"
|
"updated_at": "2026-02-17T16:08:25.000Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"download_id": 169341,
|
||||||
|
"md5": "e51d7a085d9759c8b3cbdc828a0c2ddf",
|
||||||
|
"crc32": "958247cc",
|
||||||
|
"size_bytes": 639,
|
||||||
|
"inner_path": "ShootOutZX80.o",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"download_id": 169343,
|
||||||
|
"md5": "136b017af1c878099217dfa5fd6f265d",
|
||||||
|
"crc32": "7583e470",
|
||||||
|
"size_bytes": 583,
|
||||||
|
"inner_path": "RockPaperScissorsZX801KEdition.o",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"download_id": 169345,
|
"download_id": 169345,
|
||||||
"md5": "d617c79a03400fe0a4eaa129021b4682",
|
"md5": "d617c79a03400fe0a4eaa129021b4682",
|
||||||
@@ -223098,6 +223210,22 @@
|
|||||||
"inner_path": "AnchovyCoastThe.tap",
|
"inner_path": "AnchovyCoastThe.tap",
|
||||||
"updated_at": "2026-02-17T16:08:25.000Z"
|
"updated_at": "2026-02-17T16:08:25.000Z"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"download_id": 169365,
|
||||||
|
"md5": "e273011e2f5fa4ce9ce921d3a3c63e1c",
|
||||||
|
"crc32": "ca6c0fcc",
|
||||||
|
"size_bytes": 157,
|
||||||
|
"inner_path": "OddsAndEvensClassic.o",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"download_id": 169366,
|
||||||
|
"md5": "e2168b4e110b99bc5d23f75f43299336",
|
||||||
|
"crc32": "3df750b6",
|
||||||
|
"size_bytes": 998,
|
||||||
|
"inner_path": "OddsAndEvensClassic(Deluxe).o",
|
||||||
|
"updated_at": "2026-02-17T16:18:44.000Z"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"download_id": 169370,
|
"download_id": 169370,
|
||||||
"md5": "de1dd17fa4e7d84133f19ad2f9bbc020",
|
"md5": "de1dd17fa4e7d84133f19ad2f9bbc020",
|
||||||
|
|||||||
Reference in New Issue
Block a user