diff --git a/exports/recalbox.json b/exports/recalbox.json index 236e2eba..676e4e4e 100644 --- a/exports/recalbox.json +++ b/exports/recalbox.json @@ -7,23 +7,14 @@ "files": [ "es_bios.xml" ], - "summary": "357 kept, 87 added, 4 hashes corrected, 129 requirements corrected, 527 additions left out, 103 entries found by content not listed", + "summary": "357 kept, 87 added, 2 hashes corrected, 128 requirements corrected, 528 additions left out, 102 entries found by content not listed", "counts": { "kept": 357, "added": 87, - "not_added": 527, + "not_added": 528, "not_kept": 0 }, "changes": [ - { - "kind": "requirement_corrected", - "system": "amiga600", - "name": "kick33180.A500", - "destination": "amiga/bios/kick33180.A500", - "field": "required", - "old": true, - "new": false - }, { "kind": "requirement_corrected", "system": "amiga600", @@ -102,18 +93,6 @@ "required": false } }, - { - "kind": "added", - "system": "amiga600", - "name": "boot-data.zip", - "destination": "whdboot/boot-data.zip", - "field": null, - "old": null, - "new": { - "md5": "9e638f3d531eb7cd82594f49a4cf03b7", - "required": false - } - }, { "kind": "added", "system": "amiga600", @@ -198,6 +177,18 @@ "required": false } }, + { + "kind": "added", + "system": "amiga600", + "name": "amiga-os-310.rom", + "destination": "amiga-os-310.rom", + "field": null, + "old": null, + "new": { + "md5": "730888fb1bd9a3606d51f772ed136528", + "required": false + } + }, { "kind": "added", "system": "amiga600", @@ -318,15 +309,6 @@ "required": false } }, - { - "kind": "requirement_corrected", - "system": "amiga1200", - "name": "kick39106.A1200", - "destination": "amiga/bios/kick39106.A1200", - "field": "required", - "old": true, - "new": false - }, { "kind": "requirement_corrected", "system": "amiga1200", @@ -729,6 +711,15 @@ "old": true, "new": false }, + { + "kind": "requirement_corrected", + "system": "pc98", + "name": "bios.rom", + "destination": "np2kai/bios.rom", + "field": "required", + "old": true, + "new": false + }, { "kind": "requirement_corrected", "system": "pc98", @@ -795,6 +786,15 @@ "old": true, "new": false }, + { + "kind": "requirement_corrected", + "system": "msx1,msx2", + "name": "FMPAC.ROM", + "destination": "msx/FMPAC.ROM", + "field": "required", + "old": true, + "new": false + }, { "kind": "requirement_corrected", "system": "msx1,msx2", @@ -1941,15 +1941,6 @@ "old": true, "new": false }, - { - "kind": "hash_corrected", - "system": "neogeocd", - "name": "neocdz.zip", - "destination": "neocdz.zip", - "field": "md5", - "old": "f39572af7584cb5b3f70ae8cc848aba2,389dbeb0cb857c130414747462cf9d71,c85b8132799f1b2ad3754a97947809d2,b9ab07a79997fc044ca164fc72cd5680", - "new": "b31a246b69493c35194fe0bac120dc37" - }, { "kind": "requirement_corrected", "system": "neogeocd", @@ -1959,15 +1950,6 @@ "old": true, "new": false }, - { - "kind": "hash_corrected", - "system": "neogeocd", - "name": "neocd.zip", - "destination": "geolith/neocd.zip", - "field": "md5", - "old": "3711783a59ef875c31076512e3f9f0e5", - "new": "006a881532f2caffc3fe9fb5593f2ed5" - }, { "kind": "requirement_corrected", "system": "neogeocd", @@ -2223,15 +2205,6 @@ "required": false } }, - { - "kind": "requirement_corrected", - "system": "cdi", - "name": "cdibios.zip", - "destination": "cdi/cdibios.zip", - "field": "required", - "old": false, - "new": true - }, { "kind": "added", "system": "scummvm", @@ -2258,8 +2231,6 @@ } ], "hashes_corrected": [ - "neogeocd/neocdz.zip md5", - "neogeocd/neocd.zip md5", "ti994a/TI-994A.ctg md5", "ti994a/ti-disk.ctg md5" ], @@ -2267,9 +2238,9 @@ "sizes_corrected": [], "sizes_removed": [], "hashes_cleared": [], - "requirements_corrected": 129, + "requirements_corrected": 128, "withheld": [], - "found_by_content": 103, + "found_by_content": 102, "removal_candidates": [ { "system": "pc98", diff --git a/exports/recalbox/es_bios.xml b/exports/recalbox/es_bios.xml index d4e031aa..2598deff 100644 --- a/exports/recalbox/es_bios.xml +++ b/exports/recalbox/es_bios.xml @@ -1,7 +1,7 @@ - + @@ -12,7 +12,6 @@ - @@ -32,7 +31,7 @@ - + @@ -146,7 +145,7 @@ + cd237e16e7e77c06bb58540e9e9fca68,e246140dec5124c5e404869a84caefce" hashMatchMandatory="false" core="libretro/np2kai" mandatory="false" /> - + @@ -615,7 +614,7 @@ b4519df27a352c2a6e42e06d31330d91,bf00272e7150b31156a8995d60bf185d, ca66fd463ef7dcab492a6de8ce5f45eb,f4a125538dfd7a8044e025fc5188fb88, a3b2c9a69c28ad0bd4ea07877b744bbe,00dad01abdbf8ea9e79ad2fe11bdb182" hashMatchMandatory="false" core="libretro/fbneo,libretro/fba2x,libretro/mame2000,libretro/mame2003,libretro/mame2003-plus,libretro/mame2010,libretro/mame2015" /> - + @@ -628,7 +627,7 @@ - + @@ -688,7 +687,7 @@ - + diff --git a/exports/retropie.json b/exports/retropie.json index 51256b0a..4b18c259 100644 --- a/exports/retropie.json +++ b/exports/retropie.json @@ -6,2034 +6,9 @@ "files": [ "scriptmodules/emulators/quasi88.sh" ], - "summary": "1 packages updated. Left as is: dgen, gpsp, lr-freechaf, uae4arm, which no profiled core matches. Left as is: lr-fbneo, lr-fmsx, openmsx, pcsx2 and 1 more, whose help text lists no files to add to. Left as is: xm7, whose help text names a file no profile documents yet (dicrom.rom, extsub.rom, fbasic30.rom, fddseek.wav, initiate.rom, relay_on.wav, relayoff.wav, subsys_a.rom, subsys_b.rom, subsys_c.rom, subsyscg.rom). Left as is: sdltrs, whose help text names a file no profile documents yet (level3.rom, level4.rom, level4p.rom). Left as is: lr-opera, whose help text names a file no profile documents yet (panazf10.bin), 109 entries found by content not listed", + "summary": "1 packages updated. Left as is: dgen, gpsp, lr-freechaf, uae4arm, which no profiled core matches. Left as is: lr-fbneo, lr-fmsx, openmsx, pcsx2 and 1 more, whose help text lists no files to add to. Left as is: xm7, whose help text names a file no profile documents yet (dicrom.rom, extsub.rom, fbasic30.rom, fddseek.wav, initiate.rom, relay_on.wav, relayoff.wav, subsys_a.rom, subsys_b.rom, subsys_c.rom, subsyscg.rom). Left as is: sdltrs, whose help text names a file no profile documents yet (level3.rom, level4.rom, level4p.rom). Left as is: lr-opera, whose help text names a file no profile documents yet (panazf10.bin), 108 entries found by content not listed", "counts": null, "changes": [ - { - "kind": "added", - "system": "3DO Company, The - 3DO", - "name": "3dobios.zip", - "destination": "3dobios.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "3DO Company, The - 3DO", - "name": "opera-boot.bin", - "destination": "opera-boot.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Amstrad - CPC", - "name": "parados.rom", - "destination": "rom/parados.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "hiscore.dat", - "destination": "fbalpha2012/hiscore.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "cheat.dat", - "destination": "mame2000/cheat/cheat.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "hiscore.dat", - "destination": "hiscore.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "history.dat", - "destination": "mame2003/history.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "mameinfo.dat", - "destination": "mame2003/mameinfo.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "dkong.zip", - "destination": "fba2012/samples/dkong.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "dkongjr.zip", - "destination": "fba2012/samples/dkongjr.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "galaga.zip", - "destination": "fba2012/samples/galaga.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "rallyx.zip", - "destination": "fba2012/samples/rallyx.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "ghox.zip", - "destination": "fba2012/samples/ghox.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "fireshrk.zip", - "destination": "fba2012/samples/fireshrk.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "tekipaki.zip", - "destination": "fba2012/samples/tekipaki.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "vimana.zip", - "destination": "fba2012/samples/vimana.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "donpachi.zip", - "destination": "fbneo/samples/donpachi.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "sfz3mix.zip", - "destination": "fbneo/samples/sfz3mix.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "qsound.zip", - "destination": "qsound.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "hiscore.dat", - "destination": "hiscore.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "hiscore.dat", - "destination": "mame2003/hiscore.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "blueshrk.zip", - "destination": "mame2003-plus/artwork/blueshrk.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "frogs.zip", - "destination": "mame2003-plus/artwork/frogs.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "invaders.zip", - "destination": "mame2003-plus/artwork/invaders.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "omegrace.zip", - "destination": "mame2003-plus/artwork/omegrace.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "skydiver.zip", - "destination": "mame2003-plus/artwork/skydiver.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "solarq.zip", - "destination": "mame2003-plus/artwork/solarq.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "warrior.zip", - "destination": "mame2003-plus/artwork/warrior.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "hiscore.dat", - "destination": "mame2010/hiscore.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "cheat.zip", - "destination": "mame2010/cheat.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Arcade", - "name": "hiscore.dat", - "destination": "ume2015/hiscore.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Atari - ST", - "name": "tos.sym", - "destination": "tos.sym", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Atari - ST", - "name": "cartridge ROM", - "destination": "cartridge ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Atari - ST", - "name": "BOOT.ST", - "destination": "hatari/BOOT.ST", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Atari - ST", - "name": "hatari.cfg", - "destination": "hatari/hatari.cfg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Atari - ST", - "name": "hatari.nvram", - "destination": "hatari.nvram", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Atari - ST", - "name": "floppy.raw", - "destination": "floppy.raw", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Atari - ST", - "name": "etos1024k.img", - "destination": "etos1024k.img", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Atari - ST", - "name": "etos192uk.img", - "destination": "etos192uk.img", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Atari - ST", - "name": "etos192us.img", - "destination": "etos192us.img", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Atari - ST", - "name": "hatarib.nvram", - "destination": "hatarib.nvram", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "kick13.rom", - "destination": "amiga/kick13.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "kick12.rom", - "destination": "amiga/kick12.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "kick20.rom", - "destination": "amiga/kick20.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "kick205.rom", - "destination": "kick205.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "kick31.rom", - "destination": "amiga/kick31.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "rom.key", - "destination": "amiga/rom.key", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "6570-036.rom", - "destination": "6570-036.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "68HC05.rom", - "destination": "68HC05.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "D8039HLC.rom", - "destination": "D8039HLC.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "kick31034.A1000", - "destination": "kick31034.A1000", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "kick32034.A1000", - "destination": "kick32034.A1000", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "drive_click_A500.wav", - "destination": "uae_data/drive_click_A500.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "drive_spin_A500.wav", - "destination": "uae_data/drive_spin_A500.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "drive_spinnd_A500.wav", - "destination": "uae_data/drive_spinnd_A500.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "drive_startup_A500.wav", - "destination": "uae_data/drive_startup_A500.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "drive_snatch_A500.wav", - "destination": "uae_data/drive_snatch_A500.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "drive_click_LOUD.wav", - "destination": "uae_data/drive_click_LOUD.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "drive_spin_LOUD.wav", - "destination": "uae_data/drive_spin_LOUD.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "drive_spinnd_LOUD.wav", - "destination": "uae_data/drive_spinnd_LOUD.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "drive_startup_LOUD.wav", - "destination": "uae_data/drive_startup_LOUD.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "drive_snatch_LOUD.wav", - "destination": "uae_data/drive_snatch_LOUD.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/kernal-318020-05.bin", - "destination": "vice/C128/kernal-318020-05.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/kernal-315078-03.bin", - "destination": "vice/C128/kernal-315078-03.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/kernal-325172-01.bin", - "destination": "vice/C128/kernal-325172-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/kernal-318034-01.bin", - "destination": "vice/C128/kernal-318034-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/kernalfi", - "destination": "vice/C128/kernalfi", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/kernalfr", - "destination": "vice/C128/kernalfr", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/kernalit", - "destination": "vice/C128/kernalit", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/kernalno", - "destination": "vice/C128/kernalno", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/basiclo-318018-04.bin", - "destination": "vice/C128/basiclo-318018-04.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/basichi-318019-04.bin", - "destination": "vice/C128/basichi-318019-04.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/basic-901226-01.bin", - "destination": "vice/C128/basic-901226-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/kernal-901227-03.bin", - "destination": "vice/C128/kernal-901227-03.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/kernal64-325179-01.bin", - "destination": "vice/C128/kernal64-325179-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/kernal64-325182-01.bin", - "destination": "vice/C128/kernal64-325182-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/chargen-390059-01.bin", - "destination": "vice/C128/chargen-390059-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/chargen-315079-01.bin", - "destination": "vice/C128/chargen-315079-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/chargen-325167-02.bin", - "destination": "vice/C128/chargen-325167-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/chargen-325173-01D.bin", - "destination": "vice/C128/chargen-325173-01D.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/chargen-325078-02.bin", - "destination": "vice/C128/chargen-325078-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/C128/chargen-325181-01.bin", - "destination": "vice/C128/chargen-325181-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Commodore - C128", - "name": "vice/DRIVES/dos1571cr-318047-01.bin", - "destination": "vice/DRIVES/dos1571cr-318047-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ROM1.BIN", - "destination": "SC-55/ROM1.BIN", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ROM2.BIN", - "destination": "SC-55/ROM2.BIN", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ROM_SM.BIN", - "destination": "SC-55/ROM_SM.BIN", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "WAVEROM1.BIN", - "destination": "SC-55/WAVEROM1.BIN", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "WAVEROM2.BIN", - "destination": "SC-55/WAVEROM2.BIN", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "WAVEROM3.BIN", - "destination": "SC-55/WAVEROM3.BIN", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "CM32LN_CONTROL.ROM", - "destination": "CM32LN_CONTROL.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_1_04.rom", - "destination": "mt32-roms/ctrl_mt32_1_04.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_1_05.rom", - "destination": "mt32-roms/ctrl_mt32_1_05.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_1_06.rom", - "destination": "mt32-roms/ctrl_mt32_1_06.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_1_07.rom", - "destination": "mt32-roms/ctrl_mt32_1_07.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_bluer.rom", - "destination": "mt32-roms/ctrl_mt32_bluer.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_2_03.rom", - "destination": "mt32-roms/ctrl_mt32_2_03.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_2_04.rom", - "destination": "mt32-roms/ctrl_mt32_2_04.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_2_06.rom", - "destination": "mt32-roms/ctrl_mt32_2_06.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_2_07.rom", - "destination": "mt32-roms/ctrl_mt32_2_07.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_cm32l_1_00.rom", - "destination": "mt32-roms/ctrl_cm32l_1_00.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_cm32l_1_02.rom", - "destination": "mt32-roms/ctrl_cm32l_1_02.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_cm32ln_1_00.rom", - "destination": "mt32-roms/ctrl_cm32ln_1_00.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_1_04_a.rom", - "destination": "mt32-roms/ctrl_mt32_1_04_a.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_1_04_b.rom", - "destination": "mt32-roms/ctrl_mt32_1_04_b.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_1_05_a.rom", - "destination": "mt32-roms/ctrl_mt32_1_05_a.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_1_05_b.rom", - "destination": "mt32-roms/ctrl_mt32_1_05_b.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_1_06_a.rom", - "destination": "mt32-roms/ctrl_mt32_1_06_a.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_1_06_b.rom", - "destination": "mt32-roms/ctrl_mt32_1_06_b.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_1_07_a.rom", - "destination": "mt32-roms/ctrl_mt32_1_07_a.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_1_07_b.rom", - "destination": "mt32-roms/ctrl_mt32_1_07_b.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_bluer_a.rom", - "destination": "mt32-roms/ctrl_mt32_bluer_a.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ctrl_mt32_bluer_b.rom", - "destination": "mt32-roms/ctrl_mt32_bluer_b.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "pcm_mt32.rom", - "destination": "mt32-roms/pcm_mt32.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "pcm_mt32_l.rom", - "destination": "mt32-roms/pcm_mt32_l.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "pcm_mt32_h.rom", - "destination": "mt32-roms/pcm_mt32_h.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "pcm_cm32l.rom", - "destination": "mt32-roms/pcm_cm32l.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "pcm_cm32l_h.rom", - "destination": "mt32-roms/pcm_cm32l_h.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55_waverom1.bin", - "destination": "soundcanvas-roms/SC-55-v1.21/sc55_waverom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55_waverom2.bin", - "destination": "soundcanvas-roms/SC-55-v1.21/sc55_waverom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55_waverom3.bin", - "destination": "soundcanvas-roms/SC-55-v1.21/sc55_waverom3.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55_rom1.bin", - "destination": "soundcanvas-roms/SC-55-v1.00/sc55_rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55_rom2.bin", - "destination": "soundcanvas-roms/SC-55-v1.00/sc55_rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55_rom1.bin", - "destination": "soundcanvas-roms/SC-55-v1.10/sc55_rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55_rom2.bin", - "destination": "soundcanvas-roms/SC-55-v1.10/sc55_rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55_rom1.bin", - "destination": "soundcanvas-roms/SC-55-v1.20/sc55_rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55_rom2.bin", - "destination": "soundcanvas-roms/SC-55-v1.20/sc55_rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55_rom2.bin", - "destination": "soundcanvas-roms/SC-55-v1.21/sc55_rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55_rom1.bin", - "destination": "soundcanvas-roms/SC-55-v2.00/sc55_rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55_rom2.bin", - "destination": "soundcanvas-roms/SC-55-v2.00/sc55_rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "default.sf2", - "destination": "soundfonts/default.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "GeneralUser-GS.sf2", - "destination": "soundfonts/GeneralUser-GS.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "FluidR3_GM.sf2", - "destination": "soundfonts/FluidR3_GM.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "system.rom", - "destination": "system.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "IBM PC Cassette BASIC ROM", - "destination": "IBM PC Cassette BASIC ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "ibm-vga.bin", - "destination": "ibm-vga.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "awe32.raw", - "destination": "awe32.raw", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk1-v1.21/rom1.bin", - "destination": "sc55-roms/mk1-v1.21/rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk1-v1.21/rom2.bin", - "destination": "sc55-roms/mk1-v1.21/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk1-v1.21/wave1.bin", - "destination": "sc55-roms/mk1-v1.21/wave1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk1-v1.21/wave2.bin", - "destination": "sc55-roms/mk1-v1.21/wave2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk1-v1.21/wave3.bin", - "destination": "sc55-roms/mk1-v1.21/wave3.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk1-v1.00/rom1.bin", - "destination": "sc55-roms/mk1-v1.00/rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk1-v1.00/rom2.bin", - "destination": "sc55-roms/mk1-v1.00/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk1-v1.10/rom1.bin", - "destination": "sc55-roms/mk1-v1.10/rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk1-v1.10/rom2.bin", - "destination": "sc55-roms/mk1-v1.10/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk1-v1.20/rom1.bin", - "destination": "sc55-roms/mk1-v1.20/rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk1-v1.20/rom2.bin", - "destination": "sc55-roms/mk1-v1.20/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk1-v2.00/rom1.bin", - "destination": "sc55-roms/mk1-v2.00/rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk1-v2.00/rom2.bin", - "destination": "sc55-roms/mk1-v2.00/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk2-v1.01/rom1.bin", - "destination": "sc55-roms/mk2-v1.01/rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk2-v1.01/rom2.bin", - "destination": "sc55-roms/mk2-v1.01/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk2-v1.01/smrom.bin", - "destination": "sc55-roms/mk2-v1.01/smrom.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk2-v1.01/wave1.bin", - "destination": "sc55-roms/mk2-v1.01/wave1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/mk2-v1.01/wave2.bin", - "destination": "sc55-roms/mk2-v1.01/wave2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/sc155-rev1/rom2.bin", - "destination": "sc55-roms/sc155-rev1/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/cm300-v1.30/rom1.bin", - "destination": "sc55-roms/cm300-v1.30/rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/cm300-v1.30/rom2.bin", - "destination": "sc55-roms/cm300-v1.30/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/cm300-v1.30/wave1.bin", - "destination": "sc55-roms/cm300-v1.30/wave1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/cm300-v1.30/wave2.bin", - "destination": "sc55-roms/cm300-v1.30/wave2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/st-v1.01/rom2.bin", - "destination": "sc55-roms/st-v1.01/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/cm300-v1.10/rom1.bin", - "destination": "sc55-roms/cm300-v1.10/rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/cm300-v1.10/rom2.bin", - "destination": "sc55-roms/cm300-v1.10/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/cm300-v1.20/rom2.bin", - "destination": "sc55-roms/cm300-v1.20/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/scb55-v2.00/rom1.bin", - "destination": "sc55-roms/scb55-v2.00/rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/scb55-v2.00/rom2.bin", - "destination": "sc55-roms/scb55-v2.00/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/rlp3237-v2.01/rom2.bin", - "destination": "sc55-roms/rlp3237-v2.01/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "DOS", - "name": "sc55-roms/rlp3237-v2.01/wave1.bin", - "destination": "sc55-roms/rlp3237-v2.01/wave1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Elektronika - BK-0010/BK-0011(M)", - "name": "TERAK.ROM", - "destination": "bk/TERAK.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Elektronika - BK-0010/BK-0011(M)", - "name": "bk0010.zip", - "destination": "bk0010.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Enterprise - 64/128", - "name": "ep64_exdos.zip", - "destination": "ep64_exdos.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "EPOCH/YENO Super Cassette Vision", - "name": "scv.zip", - "destination": "scv.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Galaksija", - "name": "rom1.bin", - "destination": "soundcanvas-roms/SC-55mk2-v1.01/rom1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Galaksija", - "name": "rom2.bin", - "destination": "soundcanvas-roms/SC-55mk2-v1.01/rom2.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Id Software - Doom", - "name": "gzdoom.pk3", - "destination": "gzdoom.pk3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Id Software - Doom", - "name": "GENMIDI.GS.wopl", - "destination": "fm_banks/GENMIDI.GS.wopl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Id Software - Doom", - "name": "gs-by-papiezak-and-sneakernets.wopn", - "destination": "fm_banks/gs-by-papiezak-and-sneakernets.wopn", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Id Software - Doom", - "name": "game_widescreen_gfx.pk3", - "destination": "game_widescreen_gfx.pk3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "J2ME", - "name": "freej2me_plus-lr.jar", - "destination": "freej2me_plus-lr.jar", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "ROM", - "destination": "ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "mac128k.zip", - "destination": "mac128k.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "mac512k.zip", - "destination": "mac512k.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "macplus.zip", - "destination": "macplus.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "macse.zip", - "destination": "macse.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "macclasc.zip", - "destination": "macclasc.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "mac2fdhd.zip", - "destination": "mac2fdhd.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "maciix.zip", - "destination": "maciix.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "maclc3.zip", - "destination": "maclc3.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "adbmodem.zip", - "destination": "adbmodem.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "egret.zip", - "destination": "egret.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "mackbd_m0110.zip", - "destination": "mackbd_m0110.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "mackbd_m0110a.zip", - "destination": "mackbd_m0110a.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "mackbd_m0120.zip", - "destination": "mackbd_m0120.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "nb_mdc824.zip", - "destination": "nb_mdc824.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "nb_image.zip", - "destination": "nb_image.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "MacIIx.ROM", - "destination": "MacIIx.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "MacII", - "name": "MinivMacBootv2.dsk", - "destination": "macintosh/MinivMacBootv2.dsk", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Mattel - Intellivision", - "name": "ecs.bin", - "destination": "ecs.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Microsoft - MSX", - "name": "DEFAULT.FNT", - "destination": "DEFAULT.FNT", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Microsoft - MSX", - "name": "INTERNAT.FNT", - "destination": "INTERNAT.FNT", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Microsoft - MSX", - "name": "KOREAN.FNT", - "destination": "KOREAN.FNT", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Microsoft - MSX", - "name": "JAPANESE.FNT", - "destination": "JAPANESE.FNT", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "bios.rom", - "destination": "np2/bios.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "bios9821.rom", - "destination": "np2/bios9821.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "font.bmp", - "destination": "np2/font.bmp", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "sound.rom", - "destination": "np2/sound.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "2608_bd.wav", - "destination": "np2/2608_bd.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "2608_sd.wav", - "destination": "np2/2608_sd.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "2608_top.wav", - "destination": "np2/2608_top.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "2608_hh.wav", - "destination": "np2/2608_hh.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "2608_tom.wav", - "destination": "np2/2608_tom.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "2608_rim.wav", - "destination": "np2/2608_rim.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "scsi.rom", - "destination": "np2/scsi.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "sasi.rom", - "destination": "np2/sasi.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "ide.rom", - "destination": "np2kai/ide.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "pci.rom", - "destination": "np2kai/pci.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "gpib.rom", - "destination": "np2kai/gpib.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "key.txt", - "destination": "np2kai/key.txt", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "FONT.ROM", - "destination": "pc98/FONT.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "KANJI1.ROM", - "destination": "pc98/KANJI1.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "KANJI2.ROM", - "destination": "pc98/KANJI2.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-98", - "name": "PC88.FNT", - "destination": "pc98/PC88.FNT", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-8801", - "name": "n88sub.rom", - "destination": "quasi88/n88sub.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-8801", - "name": "font.rom", - "destination": "quasi88/font.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-8801", - "name": "font2.rom", - "destination": "quasi88/font2.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-8801", - "name": "font3.rom", - "destination": "quasi88/font3.rom", - "field": null, - "old": null, - "new": {} - }, { "kind": "added", "system": "NEC - PC-8801", @@ -2042,10203 +17,6 @@ "field": null, "old": null, "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-8801", - "name": "N88EXT1.ROM", - "destination": "rom/N88EXT1.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-8801", - "name": "N88EXT2.ROM", - "destination": "rom/N88EXT2.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "NEC - PC-8801", - "name": "N88EXT3.ROM", - "destination": "rom/N88EXT3.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Gameboy", - "name": "default.pal", - "destination": "palettes/default.pal", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Game Boy Advance", - "name": "gba.zip", - "destination": "gba.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Gameboy Color", - "name": "agb_boot.bin", - "destination": "agb_boot.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "dsp_rom.bin", - "destination": "dolphin-emu/Sys/GC/dsp_rom.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "dsp_coef.bin", - "destination": "dolphin-emu/Sys/GC/dsp_coef.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "font_western.bin", - "destination": "dolphin-emu/Sys/GC/font_western.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "font_japanese.bin", - "destination": "dolphin-emu/Sys/GC/font_japanese.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "keys.bin", - "destination": "keys.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8723a_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8723a_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8723b_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8723b_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8723d_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8723d_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8761a_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8761a_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8761bu_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8761bu_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8821a_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8821a_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8821c_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8821c_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8822b_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8822b_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8822cu_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8822cu_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8851bu_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8851bu_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8852au_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8852au_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8852bu_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8852bu_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8852cu_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8852cu_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8852btu_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8852btu_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - GameCube", - "name": "rtl8922au_fw.bin", - "destination": "Load/Firmware/rtl_bt/rtl8922au_fw.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo 64DD", - "name": "font.ttf", - "destination": "Mupen64plus/font.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo DS", - "name": "nds_firmware_modified.bin", - "destination": "system/nds_firmware_modified.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo DS", - "name": "game_database_user.xml", - "destination": "game_database_user.xml", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo DS", - "name": "microphone.wav", - "destination": "microphone/microphone.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo DS", - "name": "default.lua", - "destination": "scripts/default.lua", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo DS", - "name": "drastic_dldi.img", - "destination": "drastic_dldi.img", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo DS", - "name": "dsi_firmware.bin", - "destination": "dsi_firmware.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo DS", - "name": "dsi_nand.bin", - "destination": "dsi_nand.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo Entertainment System", - "name": "StudyBox.bin", - "destination": "StudyBox.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo Entertainment System", - "name": "MesenPalette.pal", - "destination": "MesenPalette.pal", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo Entertainment System", - "name": "ymf288_adpcm_rom.bin", - "destination": "ymf288_adpcm_rom.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo Entertainment System", - "name": "lh5323m1.bin", - "destination": "lh5323m1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo Entertainment System", - "name": "MesenNesDB.txt", - "destination": "MesenNesDB.txt", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Nintendo Entertainment System", - "name": "custom.pal", - "destination": "custom.pal", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Satellaview", - "name": "BSX0120-0.bin", - "destination": "Satellaview/BSX0120-0.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Satellaview", - "name": "BSX0121-0.bin", - "destination": "Satellaview/BSX0121-0.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Satellaview", - "name": "BSX0122-0.bin", - "destination": "Satellaview/BSX0122-0.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Satellaview", - "name": "BSX0123-0.bin", - "destination": "Satellaview/BSX0123-0.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Satellaview", - "name": "BSX0124-0.bin", - "destination": "Satellaview/BSX0124-0.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Game Boy", - "name": "lr35902.boot.rom", - "destination": "SGB1.sfc/lr35902.boot.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "st010.zip", - "destination": "st010.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "st011.zip", - "destination": "st011.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "dsp1.zip", - "destination": "dsp1.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "dsp1b.zip", - "destination": "dsp1b.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "dsp2.zip", - "destination": "dsp2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "dsp3.zip", - "destination": "dsp3.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "dsp4.zip", - "destination": "dsp4.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "st018.zip", - "destination": "st018.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "dsp1.rom", - "destination": "dsp1.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "dsp1b.rom", - "destination": "dsp1b.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "dsp2.rom", - "destination": "dsp2.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "dsp3.rom", - "destination": "dsp3.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "dsp4.rom", - "destination": "dsp4.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "st010.rom", - "destination": "st010.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "st011.rom", - "destination": "st011.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Nintendo - Super Nintendo Entertainment System", - "name": "st018.rom", - "destination": "st018.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Philips - CD-i", - "name": "hash/", - "destination": "mame/hash/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Philips - CD-i", - "name": "plugins/", - "destination": "mame/plugins/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Philips - CD-i", - "name": "cdi910.zip", - "destination": "same_cdi/bios/cdi910.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Philips - CD-i", - "name": "cdi490a.zip", - "destination": "same_cdi/bios/cdi490a.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Dreamcast", - "name": "dc_nvmem.bin", - "destination": "dc/dc_nvmem.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Dreamcast", - "name": "font.bin", - "destination": "dc/font.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Dreamcast-based Arcade", - "name": "segasp.zip", - "destination": "segasp.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Mega CD - Sega CD", - "name": "us_scd2_9306.bin", - "destination": "us_scd2_9306.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Mega CD - Sega CD", - "name": "eu_mcd2_9306.bin", - "destination": "eu_mcd2_9306.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Mega CD - Sega CD", - "name": "jp_mcd2_921222.bin", - "destination": "jp_mcd2_921222.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Mega CD - Sega CD", - "name": "SegaCDBIOS9303.bin", - "destination": "SegaCDBIOS9303.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Mega CD - Sega CD", - "name": "eu_mcd2_9303.bin", - "destination": "eu_mcd2_9303.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Mega CD - Sega CD", - "name": "jp_mcd1_9112.bin", - "destination": "jp_mcd1_9112.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Mega CD - Sega CD", - "name": "us_scd1_9210.bin", - "destination": "us_scd1_9210.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Mega CD - Sega CD", - "name": "eu_mcd1_9210.bin", - "destination": "eu_mcd1_9210.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Mega CD - Sega CD", - "name": "jp_mcd1_9111.bin", - "destination": "jp_mcd1_9111.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Saturn", - "name": "mpeg_card.bin", - "destination": "mpeg_card.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Saturn", - "name": "satar4mp.bin", - "destination": "satar4mp.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sega - Saturn", - "name": "cdb/cdb_rom.bin", - "destination": "cdb/cdb_rom.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sharp - X1", - "name": "FNT0808.X1", - "destination": "xmil/FNT0808.X1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sharp - X1", - "name": "FNT0816.X1", - "destination": "xmil/FNT0816.X1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sharp - X1", - "name": "FNT1616.X1", - "destination": "xmil/FNT1616.X1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sharp - X68000", - "name": "cgrom30.dat", - "destination": "cgrom30.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sharp - X68000", - "name": "cgrom30.tmp", - "destination": "cgrom30.tmp", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sharp - X68000", - "name": "cgrom.tmp", - "destination": "keropi/cgrom.tmp", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sharp - X68000", - "name": "scsiinrom.dat", - "destination": "scsiinrom.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sharp - X68000", - "name": "scsiexrom.dat", - "destination": "scsiexrom.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/48.rom", - "destination": "fuse/48.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/128-0.rom", - "destination": "fuse/128-0.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/128-1.rom", - "destination": "fuse/128-1.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/plus2-0.rom", - "destination": "fuse/plus2-0.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/plus2-1.rom", - "destination": "fuse/plus2-1.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/plus3-0.rom", - "destination": "fuse/plus3-0.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/plus3-1.rom", - "destination": "fuse/plus3-1.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/plus3-2.rom", - "destination": "fuse/plus3-2.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/plus3e-3.rom", - "destination": "fuse/plus3e-3.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/tc2048.rom", - "destination": "fuse/tc2048.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/if1-2.rom", - "destination": "fuse/if1-2.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/didaktik80.rom", - "destination": "fuse/didaktik80.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/opus.rom", - "destination": "fuse/opus.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/mf1.rom", - "destination": "fuse/mf1.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/mf128.rom", - "destination": "fuse/mf128.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/mf3.rom", - "destination": "fuse/mf3.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/ttx2000s.rom", - "destination": "fuse/ttx2000s.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sinclair - ZX Spectrum", - "name": "fuse/usource.rom", - "destination": "fuse/usource.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "SNK - NeoGeo CD", - "name": "neocd.zip", - "destination": "neocd.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation", - "name": "scph5903.bin", - "destination": "scph5903.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation", - "name": "openbios.bin", - "destination": "openbios.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "r27v1602f.8g", - "destination": "pcsx2/bios/r27v1602f.8g", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "r27v1602f.7d", - "destination": "pcsx2/bios/r27v1602f.7d", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "ps2-0230a-20080220.rom1", - "destination": "pcsx2/bios/ps2-0230a-20080220.rom1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "ps2-0230a-20080220.rom2", - "destination": "pcsx2/bios/ps2-0230a-20080220.rom2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "ps2-0230a-20080220.nvm", - "destination": "pcsx2/bios/ps2-0230a-20080220.nvm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "ps2-0230a-20080220.mec", - "destination": "pcsx2/bios/ps2-0230a-20080220.mec", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "eeprom.dat", - "destination": "eeprom.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "flash.dat", - "destination": "flash.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "armsx2_overrides.yaml", - "destination": "pcsx2/resources/armsx2_overrides.yaml", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "RedumpDatabase.yaml", - "destination": "pcsx2/resources/RedumpDatabase.yaml", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "patches.zip", - "destination": "pcsx2/resources/patches.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "Roboto-Regular.ttf", - "destination": "pcsx2/resources/fonts/Roboto-Regular.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "RobotoMono-Medium.ttf", - "destination": "pcsx2/resources/fonts/RobotoMono-Medium.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "fa-solid-900.ttf", - "destination": "pcsx2/resources/fonts/fa-solid-900.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "promptfont.otf", - "destination": "pcsx2/resources/fonts/promptfont.otf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "NotoSansJP-Regular.ttf", - "destination": "pcsx2/resources/fonts/NotoSansJP-Regular.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "NotoSansKR-Regular.ttf", - "destination": "pcsx2/resources/fonts/NotoSansKR-Regular.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "NotoSansSC-Regular.ttf", - "destination": "pcsx2/resources/fonts/NotoSansSC-Regular.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "NotoSansTC-Regular.ttf", - "destination": "pcsx2/resources/fonts/NotoSansTC-Regular.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "NotoSansArabic-Regular.ttf", - "destination": "pcsx2/resources/fonts/NotoSansArabic-Regular.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "NotoSansHebrew-Regular.ttf", - "destination": "pcsx2/resources/fonts/NotoSansHebrew-Regular.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "NotoSansDevanagari-Regular.ttf", - "destination": "pcsx2/resources/fonts/NotoSansDevanagari-Regular.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "tfx.glsl", - "destination": "pcsx2/resources/shaders/vulkan/tfx.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "convert.glsl", - "destination": "pcsx2/resources/shaders/vulkan/convert.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "present.glsl", - "destination": "pcsx2/resources/shaders/vulkan/present.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "merge.glsl", - "destination": "pcsx2/resources/shaders/vulkan/merge.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "interlace.glsl", - "destination": "pcsx2/resources/shaders/vulkan/interlace.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "shadeboost.glsl", - "destination": "pcsx2/resources/shaders/vulkan/shadeboost.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "cas.glsl", - "destination": "pcsx2/resources/shaders/vulkan/cas.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "fsr1.glsl", - "destination": "pcsx2/resources/shaders/vulkan/fsr1.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "sgsr.glsl", - "destination": "pcsx2/resources/shaders/vulkan/sgsr.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "imgui.glsl", - "destination": "pcsx2/resources/shaders/vulkan/imgui.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "fxaa.fx", - "destination": "pcsx2/resources/shaders/common/fxaa.fx", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "ffx_a.h", - "destination": "pcsx2/resources/shaders/common/ffx_a.h", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "ffx_cas.h", - "destination": "pcsx2/resources/shaders/common/ffx_cas.h", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "ffx_a_fsr1.h", - "destination": "pcsx2/resources/shaders/common/ffx_a_fsr1.h", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "ffx_fsr1.h", - "destination": "pcsx2/resources/shaders/common/ffx_fsr1.h", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "tfx_vgs.glsl", - "destination": "pcsx2/resources/shaders/opengl/tfx_vgs.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "tfx_fs.glsl", - "destination": "pcsx2/resources/shaders/opengl/tfx_fs.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "convert.glsl", - "destination": "pcsx2/resources/shaders/opengl/convert.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "present.glsl", - "destination": "pcsx2/resources/shaders/opengl/present.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "merge.glsl", - "destination": "pcsx2/resources/shaders/opengl/merge.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "interlace.glsl", - "destination": "pcsx2/resources/shaders/opengl/interlace.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "shadeboost.glsl", - "destination": "pcsx2/resources/shaders/opengl/shadeboost.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "cas.glsl", - "destination": "pcsx2/resources/shaders/opengl/cas.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "imgui.glsl", - "destination": "pcsx2/resources/shaders/opengl/imgui.glsl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "message.wav", - "destination": "pcsx2/resources/sounds/achievements/message.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "unlock.wav", - "destination": "pcsx2/resources/sounds/achievements/unlock.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "lbsubmit.wav", - "destination": "pcsx2/resources/sounds/achievements/lbsubmit.wav", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "placeholder.png", - "destination": "pcsx2/resources/fullscreenui/placeholder.png", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "no-save.png", - "destination": "pcsx2/resources/fullscreenui/no-save.png", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "media-cdrom.svg", - "destination": "pcsx2/resources/fullscreenui/media-cdrom.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "start-game.svg", - "destination": "pcsx2/resources/fullscreenui/start-game.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "applications-system.svg", - "destination": "pcsx2/resources/fullscreenui/applications-system.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "exit.svg", - "destination": "pcsx2/resources/fullscreenui/exit.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "start-file.svg", - "destination": "pcsx2/resources/fullscreenui/start-file.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "drive-cdrom.svg", - "destination": "pcsx2/resources/fullscreenui/drive-cdrom.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "start-bios.svg", - "destination": "pcsx2/resources/fullscreenui/start-bios.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "back-icon.svg", - "destination": "pcsx2/resources/fullscreenui/back-icon.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "desktop-mode.svg", - "destination": "pcsx2/resources/fullscreenui/desktop-mode.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "AppBanner.svg", - "destination": "pcsx2/resources/icons/AppBanner.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "AppIconLarge.png", - "destination": "pcsx2/resources/icons/AppIconLarge.png", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "ra-icon.svg", - "destination": "pcsx2/resources/icons/ra-icon.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "cheats_ws.zip", - "destination": "pcsx2/resources/cheats_ws.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "cheats_ni.zip", - "destination": "pcsx2/resources/cheats_ni.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "star-0.svg", - "destination": "pcsx2/resources/icons/star-0.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "star-1.svg", - "destination": "pcsx2/resources/icons/star-1.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "star-2.svg", - "destination": "pcsx2/resources/icons/star-2.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "star-3.svg", - "destination": "pcsx2/resources/icons/star-3.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "star-4.svg", - "destination": "pcsx2/resources/icons/star-4.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "star-5.svg", - "destination": "pcsx2/resources/icons/star-5.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "at.svg", - "destination": "pcsx2/resources/icons/flags/at.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "au.svg", - "destination": "pcsx2/resources/icons/flags/au.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "be.svg", - "destination": "pcsx2/resources/icons/flags/be.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "br.svg", - "destination": "pcsx2/resources/icons/flags/br.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "ch.svg", - "destination": "pcsx2/resources/icons/flags/ch.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "cn.svg", - "destination": "pcsx2/resources/icons/flags/cn.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "de.svg", - "destination": "pcsx2/resources/icons/flags/de.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "es.svg", - "destination": "pcsx2/resources/icons/flags/es.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "eu.svg", - "destination": "pcsx2/resources/icons/flags/eu.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "fi.svg", - "destination": "pcsx2/resources/icons/flags/fi.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "fr.svg", - "destination": "pcsx2/resources/icons/flags/fr.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "gb.svg", - "destination": "pcsx2/resources/icons/flags/gb.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "gr.svg", - "destination": "pcsx2/resources/icons/flags/gr.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "hk.svg", - "destination": "pcsx2/resources/icons/flags/hk.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "in.svg", - "destination": "pcsx2/resources/icons/flags/in.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "it.svg", - "destination": "pcsx2/resources/icons/flags/it.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "jp.svg", - "destination": "pcsx2/resources/icons/flags/jp.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "kr.svg", - "destination": "pcsx2/resources/icons/flags/kr.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "nl.svg", - "destination": "pcsx2/resources/icons/flags/nl.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "no.svg", - "destination": "pcsx2/resources/icons/flags/no.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "Other.svg", - "destination": "pcsx2/resources/icons/flags/Other.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "pl.svg", - "destination": "pcsx2/resources/icons/flags/pl.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "pt.svg", - "destination": "pcsx2/resources/icons/flags/pt.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "ru.svg", - "destination": "pcsx2/resources/icons/flags/ru.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "scn.svg", - "destination": "pcsx2/resources/icons/flags/scn.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "se.svg", - "destination": "pcsx2/resources/icons/flags/se.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "tw.svg", - "destination": "pcsx2/resources/icons/flags/tw.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "us.svg", - "destination": "pcsx2/resources/icons/flags/us.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation 2", - "name": "za.svg", - "destination": "pcsx2/resources/icons/flags/za.svg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Sony - PlayStation Portable", - "name": "zh_gb.pgf", - "destination": "ppsspp-1.5.4/assets/flash0/font/zh_gb.pgf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "vswap.wl1", - "destination": "vswap.wl1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "vgadict.wl1", - "destination": "vgadict.wl1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "vgahead.wl1", - "destination": "vgahead.wl1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "vgagraph.wl1", - "destination": "vgagraph.wl1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "maphead.wl1", - "destination": "maphead.wl1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "gamemaps.wl1", - "destination": "gamemaps.wl1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "audiohed.wl1", - "destination": "audiohed.wl1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "audiot.wl1", - "destination": "audiot.wl1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "vswap.sdm", - "destination": "vswap.sdm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "vgadict.sdm", - "destination": "vgadict.sdm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "vgahead.sdm", - "destination": "vgahead.sdm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "vgagraph.sdm", - "destination": "vgagraph.sdm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "maphead.sdm", - "destination": "maphead.sdm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "gamemaps.sdm", - "destination": "gamemaps.sdm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "audiohed.sdm", - "destination": "audiohed.sdm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "Wolfenstein 3D", - "name": "audiot.sdm", - "destination": "audiot.sdm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "acclaim-zn1", - "name": "acpsx.zip", - "destination": "acpsx.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "acclaim-zn1", - "name": "coh1000a.zip", - "destination": "coh1000a.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "acorn-archimedes", - "name": "aa310.zip", - "destination": "aa310.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "acorn-archimedes", - "name": "archimedes_keyboard.zip", - "destination": "archimedes_keyboard.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "acorn-bbc-micro", - "name": "bbcm.zip", - "destination": "bbcm.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "acorn-bbc-micro", - "name": "bbcmc.zip", - "destination": "bbcmc.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "acorn-bbc-micro", - "name": "saa5050.zip", - "destination": "saa5050.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "acorn-bbc-micro", - "name": "bbc_tube_80186.zip", - "destination": "bbc_tube_80186.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "acorn-bbc-micro", - "name": "bbc_bitstik1.zip", - "destination": "bbc_bitstik1.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "acorn-bbc-micro", - "name": "bbc_bitstik2.zip", - "destination": "bbc_bitstik2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "acorn-bbc-micro", - "name": "bbc.zip", - "destination": "mame/samples/bbc.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "andamiro-pumpitup", - "name": "pumpitup.zip", - "destination": "pumpitup.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apf-m1000", - "name": "apfm1000.zip", - "destination": "apfm1000.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple-ii", - "name": "icon.bmp", - "destination": "icon.bmp", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple-ii", - "name": "Base64A.rom", - "destination": "Base64A.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple-ii", - "name": "PRAVETS82.ROM", - "destination": "PRAVETS82.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple-ii", - "name": "PRAVETS8M.ROM", - "destination": "PRAVETS8M.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple-ii", - "name": "PRAVETS8C.ROM", - "destination": "PRAVETS8C.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple-ii", - "name": "TK3000e.rom", - "destination": "TK3000e.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple-macintosh", - "name": "vMac.ROM", - "destination": "vMac.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple2", - "name": "apple2.zip", - "destination": "apple2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple2", - "name": "apple2p.zip", - "destination": "apple2p.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple2", - "name": "apple2e.zip", - "destination": "apple2e.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple2", - "name": "apple2ee.zip", - "destination": "apple2ee.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple2", - "name": "a2diskiing.zip", - "destination": "a2diskiing.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple2", - "name": "d2fdc.zip", - "destination": "d2fdc.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple2", - "name": "a2cffa02.zip", - "destination": "a2cffa02.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple2", - "name": "votrsc01.zip", - "destination": "votrsc01.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple2", - "name": "votrsc01a.zip", - "destination": "votrsc01a.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "apple2gs", - "name": "apple2gs.zip", - "destination": "apple2gs.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "ace.zip", - "destination": "ace.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "ace91.zip", - "destination": "ace91.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "ace91_euro.zip", - "destination": "ace91_euro.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "ace_a.zip", - "destination": "ace_a.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "ace_a2.zip", - "destination": "ace_a2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "aceeuro.zip", - "destination": "aceeuro.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "astron.zip", - "destination": "astron.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "astronp.zip", - "destination": "astronp.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "badlandp.zip", - "destination": "badlandp.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "badlands.zip", - "destination": "badlands.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "bega.zip", - "destination": "bega.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "begar1.zip", - "destination": "begar1.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "blazer.zip", - "destination": "blazer.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "cliff.zip", - "destination": "cliff.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "cliff_ox.zip", - "destination": "cliff_ox.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "cliffalt.zip", - "destination": "cliffalt.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "cliffalt2.zip", - "destination": "cliffalt2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "cobra.zip", - "destination": "cobra.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "cobraab.zip", - "destination": "cobraab.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "cobraconv.zip", - "destination": "cobraconv.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "cobram3.zip", - "destination": "cobram3.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "cputest.zip", - "destination": "cputest.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "dle11.zip", - "destination": "dle11.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "dle20.zip", - "destination": "dle20.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "dle21.zip", - "destination": "dle21.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "esh.zip", - "destination": "esh.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "eshalt.zip", - "destination": "eshalt.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "eshalt2.zip", - "destination": "eshalt2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "eshfix7.zip", - "destination": "eshfix7.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "eshfix7alt.zip", - "destination": "eshfix7alt.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "eshfix7alt2.zip", - "destination": "eshfix7alt2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "firefox.zip", - "destination": "firefox.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "firefoxa.zip", - "destination": "firefoxa.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "galaxy.zip", - "destination": "galaxy.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "galaxyp.zip", - "destination": "galaxyp.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "gpworld.zip", - "destination": "gpworld.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "gtg.zip", - "destination": "gtg.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "interstellar.zip", - "destination": "interstellar.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair.zip", - "destination": "lair.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair2.zip", - "destination": "lair2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair2_211.zip", - "destination": "lair2_211.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair2_300.zip", - "destination": "lair2_300.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair2_314.zip", - "destination": "lair2_314.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair2_315.zip", - "destination": "lair2_315.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair2_316_euro.zip", - "destination": "lair2_316_euro.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair2_318.zip", - "destination": "lair2_318.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair2_319_euro.zip", - "destination": "lair2_319_euro.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair2_319_span.zip", - "destination": "lair2_319_span.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair_a.zip", - "destination": "lair_a.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair_b.zip", - "destination": "lair_b.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair_c.zip", - "destination": "lair_c.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair_d.zip", - "destination": "lair_d.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair_d2.zip", - "destination": "lair_d2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair_e.zip", - "destination": "lair_e.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair_f.zip", - "destination": "lair_f.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair_ita.zip", - "destination": "lair_ita.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair_n1.zip", - "destination": "lair_n1.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lair_x.zip", - "destination": "lair_x.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "laireuro.zip", - "destination": "laireuro.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "lgp.zip", - "destination": "lgp.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "mach3.zip", - "destination": "mach3.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "roadblaster.zip", - "destination": "roadblaster.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "sae.zip", - "destination": "sae.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "sdq.zip", - "destination": "sdq.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "sdqshort.zip", - "destination": "sdqshort.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "sdqshortalt.zip", - "destination": "sdqshortalt.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "timetrav.zip", - "destination": "timetrav.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "tq.zip", - "destination": "tq.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "tq_alt.zip", - "destination": "tq_alt.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "tq_swear.zip", - "destination": "tq_swear.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcade-laserdisc", - "name": "uvt.zip", - "destination": "uvt.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "arcadia-systems", - "name": "ar_bios.zip", - "destination": "ar_bios.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "astrocde", - "name": "astrocde.zip", - "destination": "astrocde.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "astrocde", - "name": "astrocdl.zip", - "destination": "astrocdl.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "astrocde", - "name": "astrocdw.zip", - "destination": "astrocdw.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atari-jaguar", - "name": "[BIOS] Atari Jaguar CD (World).j64", - "destination": "[BIOS] Atari Jaguar CD (World).j64", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atari-jaguar", - "name": "[BIOS] Atari Jaguar Developer CD (World).j64", - "destination": "[BIOS] Atari Jaguar Developer CD (World).j64", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atari-jaguar", - "name": "jagboot.rom", - "destination": "jagboot.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atari-jaguar", - "name": "jagboot_m.rom", - "destination": "jagboot_m.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atari-system1", - "name": "atarisy1.zip", - "destination": "atarisy1.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atari-zn1", - "name": "atpsx.zip", - "destination": "atpsx.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atari-zn1", - "name": "coh1000w.zip", - "destination": "coh1000w.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atlus-zn1", - "name": "atluspsx.zip", - "destination": "atluspsx.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atlus-zn1", - "name": "coh1001l.zip", - "destination": "coh1001l.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atom", - "name": "atom.zip", - "destination": "atom.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atom", - "name": "atombbc.zip", - "destination": "atombbc.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atom", - "name": "prophet2.zip", - "destination": "prophet2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atom", - "name": "atom_discpack.zip", - "destination": "atom_discpack.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atom", - "name": "atom_gdos.zip", - "destination": "atom_gdos.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atom", - "name": "atom_gdos2015.zip", - "destination": "atom_gdos2015.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atom", - "name": "atom_speech.zip", - "destination": "atom_speech.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "atom", - "name": "atom_vdu80.zip", - "destination": "atom_vdu80.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "bally-astrocade", - "name": "astrocde.zip", - "destination": "astrocde.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "bandai-rx78", - "name": "rx78.zip", - "destination": "rx78.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "barcrest-mpu4", - "name": "bctvidbs.zip", - "destination": "bctvidbs.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "bbk-longman-4980", - "name": "8.BIN", - "destination": "BBKEmu/A4980/8.BIN", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "bbk-longman-4980", - "name": "E.BIN", - "destination": "BBKEmu/A4980/E.BIN", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "bbk-longman-4980", - "name": "gam4980/8.BIN", - "destination": "gam4980/8.BIN", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "bbk-longman-4980", - "name": "gam4980/E.BIN", - "destination": "gam4980/E.BIN", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "brezzasoft-crystal", - "name": "crysbios.zip", - "destination": "crysbios.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "camplynx", - "name": "lynx48k.zip", - "destination": "lynx48k.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "camplynx", - "name": "lynx96k.zip", - "destination": "lynx96k.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "camplynx", - "name": "lynx128k.zip", - "destination": "lynx128k.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiii.zip", - "destination": "sfiii.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiiiu.zip", - "destination": "sfiiiu.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiiia.zip", - "destination": "sfiiia.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiiij.zip", - "destination": "sfiiij.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiiih.zip", - "destination": "sfiiih.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiiin.zip", - "destination": "sfiiin.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiii2.zip", - "destination": "sfiii2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiii2j.zip", - "destination": "sfiii2j.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiii2h.zip", - "destination": "sfiii2h.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiii2n.zip", - "destination": "sfiii2n.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiii3.zip", - "destination": "sfiii3.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiii3u.zip", - "destination": "sfiii3u.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiii3j.zip", - "destination": "sfiii3j.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiii3n.zip", - "destination": "sfiii3n.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "sfiii3na.zip", - "destination": "sfiii3na.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "jojo.zip", - "destination": "jojo.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "jojou.zip", - "destination": "jojou.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "jojoa.zip", - "destination": "jojoa.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "jojoj.zip", - "destination": "jojoj.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "jojon.zip", - "destination": "jojon.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "jojobar1.zip", - "destination": "jojobar1.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "jojobajr1.zip", - "destination": "jojobajr1.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "jojoba.zip", - "destination": "jojoba.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "jojoban.zip", - "destination": "jojoban.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "redearth.zip", - "destination": "redearth.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "warzard.zip", - "destination": "warzard.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-cps3", - "name": "redearthn.zip", - "destination": "redearthn.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-zn1", - "name": "cpzn1.zip", - "destination": "cpzn1.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-zn1", - "name": "coh1000c.zip", - "destination": "coh1000c.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-zn2", - "name": "cpzn2.zip", - "destination": "cpzn2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "capcom-zn2", - "name": "coh3002c.zip", - "destination": "coh3002c.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "casio-loopy", - "name": "casloopy.zip", - "destination": "casloopy.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "casio-pv2000", - "name": "pv2000.zip", - "destination": "pv2000.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "cave-story", - "name": "Doukutsu.exe", - "destination": "nxengine/Doukutsu.exe", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "cave-story", - "name": "data/", - "destination": "nxengine/data/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "cave-story", - "name": "data/npc.tbl", - "destination": "nxengine/data/npc.tbl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "cave-story", - "name": "data/sprites.sif", - "destination": "nxengine/data/sprites.sif", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "cave-story", - "name": "tilekey.dat", - "destination": "nxengine/tilekey.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "century-cvs", - "name": "cvs.zip", - "destination": "cvs.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "cgenie", - "name": "cgenie.zip", - "destination": "cgenie.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "cgenie", - "name": "cgenienz.zip", - "destination": "cgenienz.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "cgenie", - "name": "cgenie_fdc.zip", - "destination": "cgenie_fdc.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "coco.zip", - "destination": "coco.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "coco2b.zip", - "destination": "coco2b.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "coco3.zip", - "destination": "coco3.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "coco3p.zip", - "destination": "coco3p.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "coco_fdc.zip", - "destination": "coco_fdc.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "bas13.rom", - "destination": "bas13.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "bas12.rom", - "destination": "bas12.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "bas11.rom", - "destination": "bas11.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "bas10.rom", - "destination": "bas10.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "extbas11.rom", - "destination": "extbas11.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "extbas10.rom", - "destination": "extbas10.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "deluxe.rom", - "destination": "deluxe.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "mx1600bas.rom", - "destination": "mx1600bas.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "mx1600extbas.rom", - "destination": "mx1600extbas.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "cp400bas.rom", - "destination": "cp400bas.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "cp400ext.rom", - "destination": "cp400ext.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "disk11.rom", - "destination": "disk11.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "disk10.rom", - "destination": "disk10.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco", - "name": "orch90.rom", - "destination": "orch90.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco3", - "name": "coco3.rom", - "destination": "coco3.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coco3", - "name": "coco3p.rom", - "destination": "coco3p.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coleco-adam", - "name": "eos.rom", - "destination": "eos.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coleco-adam", - "name": "writer.rom", - "destination": "writer.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coleco-adam", - "name": "adam.zip", - "destination": "adam.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coleco-adam", - "name": "adam_kb.zip", - "destination": "adam_kb.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coleco-adam", - "name": "adam_prn.zip", - "destination": "adam_prn.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coleco-adam", - "name": "adam_ddp.zip", - "destination": "adam_ddp.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coleco-adam", - "name": "adam_fdc.zip", - "destination": "adam_fdc.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coleco-adam", - "name": "adam_fdc_320kb.zip", - "destination": "adam_fdc_320kb.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coleco-adam", - "name": "adam_fdc_a720dipi.zip", - "destination": "adam_fdc_a720dipi.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coleco-adam", - "name": "adam_fdc_fp720at.zip", - "destination": "adam_fdc_fp720at.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coleco-adam", - "name": "adam_fdc_mihddd.zip", - "destination": "adam_fdc_mihddd.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "coleco-adam", - "name": "adam_spi.zip", - "destination": "adam_spi.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "keen1.exe", - "destination": "games/keen1/keen1.exe", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "egahead.ck1", - "destination": "games/keen1/egahead.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "egalatch.ck1", - "destination": "games/keen1/egalatch.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "egasprit.ck1", - "destination": "games/keen1/egasprit.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level01.ck1", - "destination": "games/keen1/level01.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level02.ck1", - "destination": "games/keen1/level02.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level03.ck1", - "destination": "games/keen1/level03.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level04.ck1", - "destination": "games/keen1/level04.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level05.ck1", - "destination": "games/keen1/level05.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level06.ck1", - "destination": "games/keen1/level06.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level07.ck1", - "destination": "games/keen1/level07.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level08.ck1", - "destination": "games/keen1/level08.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level09.ck1", - "destination": "games/keen1/level09.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level10.ck1", - "destination": "games/keen1/level10.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level11.ck1", - "destination": "games/keen1/level11.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level12.ck1", - "destination": "games/keen1/level12.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level13.ck1", - "destination": "games/keen1/level13.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level14.ck1", - "destination": "games/keen1/level14.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level15.ck1", - "destination": "games/keen1/level15.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level16.ck1", - "destination": "games/keen1/level16.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level80.ck1", - "destination": "games/keen1/level80.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level81.ck1", - "destination": "games/keen1/level81.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level90.ck1", - "destination": "games/keen1/level90.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "finale.ck1", - "destination": "games/keen1/finale.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "sounds.ck1", - "destination": "games/keen1/sounds.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "storytxt.ck1", - "destination": "games/keen1/storytxt.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "helptext.ck1", - "destination": "games/keen1/helptext.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "endtext.ck1", - "destination": "games/keen1/endtext.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "previews.ck1", - "destination": "games/keen1/previews.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "preview2.ck1", - "destination": "games/keen1/preview2.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "preview3.ck1", - "destination": "games/keen1/preview3.ck1", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "keen2.exe", - "destination": "games/keen2/keen2.exe", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "egahead.ck2", - "destination": "games/keen2/egahead.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "egalatch.ck2", - "destination": "games/keen2/egalatch.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "egasprit.ck2", - "destination": "games/keen2/egasprit.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level01.ck2", - "destination": "games/keen2/level01.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level02.ck2", - "destination": "games/keen2/level02.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level03.ck2", - "destination": "games/keen2/level03.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level04.ck2", - "destination": "games/keen2/level04.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level05.ck2", - "destination": "games/keen2/level05.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level06.ck2", - "destination": "games/keen2/level06.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level07.ck2", - "destination": "games/keen2/level07.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level08.ck2", - "destination": "games/keen2/level08.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level09.ck2", - "destination": "games/keen2/level09.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level10.ck2", - "destination": "games/keen2/level10.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level11.ck2", - "destination": "games/keen2/level11.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level12.ck2", - "destination": "games/keen2/level12.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level13.ck2", - "destination": "games/keen2/level13.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level14.ck2", - "destination": "games/keen2/level14.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level15.ck2", - "destination": "games/keen2/level15.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level16.ck2", - "destination": "games/keen2/level16.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level80.ck2", - "destination": "games/keen2/level80.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level81.ck2", - "destination": "games/keen2/level81.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level90.ck2", - "destination": "games/keen2/level90.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "finale.ck2", - "destination": "games/keen2/finale.ck2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "keen3.exe", - "destination": "games/keen3/keen3.exe", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "egahead.ck3", - "destination": "games/keen3/egahead.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "egalatch.ck3", - "destination": "games/keen3/egalatch.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "egasprit.ck3", - "destination": "games/keen3/egasprit.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level01.ck3", - "destination": "games/keen3/level01.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level02.ck3", - "destination": "games/keen3/level02.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level03.ck3", - "destination": "games/keen3/level03.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level04.ck3", - "destination": "games/keen3/level04.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level05.ck3", - "destination": "games/keen3/level05.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level06.ck3", - "destination": "games/keen3/level06.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level07.ck3", - "destination": "games/keen3/level07.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level08.ck3", - "destination": "games/keen3/level08.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level09.ck3", - "destination": "games/keen3/level09.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level10.ck3", - "destination": "games/keen3/level10.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level11.ck3", - "destination": "games/keen3/level11.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level12.ck3", - "destination": "games/keen3/level12.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level13.ck3", - "destination": "games/keen3/level13.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level14.ck3", - "destination": "games/keen3/level14.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level15.ck3", - "destination": "games/keen3/level15.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level16.ck3", - "destination": "games/keen3/level16.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level80.ck3", - "destination": "games/keen3/level80.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level81.ck3", - "destination": "games/keen3/level81.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "level90.ck3", - "destination": "games/keen3/level90.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "finale.ck3", - "destination": "games/keen3/finale.ck3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "keen4e.exe", - "destination": "games/keen4/keen4e.exe", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "egagraph.ck4", - "destination": "games/keen4/egagraph.ck4", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "gamemaps.ck4", - "destination": "games/keen4/gamemaps.ck4", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "audio.ck4", - "destination": "games/keen4/audio.ck4", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "keen5e.exe", - "destination": "games/keen5/keen5e.exe", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "egagraph.ck5", - "destination": "games/keen5/egagraph.ck5", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "gamemaps.ck5", - "destination": "games/keen5/gamemaps.ck5", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "audio.ck5", - "destination": "games/keen5/audio.ck5", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "keen6e.exe", - "destination": "games/keen6/keen6e.exe", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "egagraph.ck6", - "destination": "games/keen6/egagraph.ck6", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "gamemaps.ck6", - "destination": "games/keen6/gamemaps.ck6", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "audio.ck6", - "destination": "games/keen6/audio.ck6", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "k6demo.exe", - "destination": "games/K6DEMO/k6demo.exe", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "egagraph.ck6", - "destination": "games/K6DEMO/egagraph.ck6", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "gamemaps.ck6", - "destination": "games/K6DEMO/gamemaps.ck6", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "audio.ck6", - "destination": "games/K6DEMO/audio.ck6", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "KDREAMS.EXE", - "destination": "games/KeenDreams/KDREAMS.EXE", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "KDREAMS.EGA", - "destination": "games/KeenDreams/KDREAMS.EGA", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "KDREAMS.MAP", - "destination": "games/KeenDreams/KDREAMS.MAP", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "KDREAMS.AUD", - "destination": "games/KeenDreams/KDREAMS.AUD", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commander-keen", - "name": "KDREAMS.CMP", - "destination": "games/KeenDreams/KDREAMS.CMP", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "Basic ROM", - "destination": "Basic ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "Kernal ROM", - "destination": "Kernal ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "Char ROM", - "destination": "Char ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "1541 ROM", - "destination": "1541 ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/C64/basic-901226-01.bin", - "destination": "vice/C64/basic-901226-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/C64/kernal-901227-03.bin", - "destination": "vice/C64/kernal-901227-03.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/C64/kernal-901227-01.bin", - "destination": "vice/C64/kernal-901227-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/C64/kernal-901227-02.bin", - "destination": "vice/C64/kernal-901227-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/C64/kernal-390852-01.bin", - "destination": "vice/C64/kernal-390852-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/C64/kernal-251104-04.bin", - "destination": "vice/C64/kernal-251104-04.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/C64/kernal-901246-01.bin", - "destination": "vice/C64/kernal-901246-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/C64/kernal-906145-02.bin", - "destination": "vice/C64/kernal-906145-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/C64/chargen-901225-01.bin", - "destination": "vice/C64/chargen-901225-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/C64/chargen-906143-02.bin", - "destination": "vice/C64/chargen-906143-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/SCPU64/scpu64", - "destination": "vice/SCPU64/scpu64", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/SCPU64/chargen-901225-01.bin", - "destination": "vice/SCPU64/chargen-901225-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/SCPU64/chargen-906143-02.bin", - "destination": "vice/SCPU64/chargen-906143-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/DRIVES/dos1540-325302+3-01.bin", - "destination": "vice/DRIVES/dos1540-325302+3-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/DRIVES/dos1541-325302-01+901229-05.bin", - "destination": "vice/DRIVES/dos1541-325302-01+901229-05.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/DRIVES/dos1541ii-251968-03.bin", - "destination": "vice/DRIVES/dos1541ii-251968-03.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/DRIVES/dos1570-315090-01.bin", - "destination": "vice/DRIVES/dos1570-315090-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/DRIVES/dos1571-310654-05.bin", - "destination": "vice/DRIVES/dos1571-310654-05.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "vice/DRIVES/dos1581-318045-02.bin", - "destination": "vice/DRIVES/dos1581-318045-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "kernal-901227-01.bin", - "destination": "kernal-901227-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "kernal-901227-02.bin", - "destination": "kernal-901227-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "kernal", - "destination": "data/C64/kernal", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "basic", - "destination": "data/C64/basic", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "chargen", - "destination": "data/C64/chargen", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "sxkernal", - "destination": "data/C64/sxkernal", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "jpkernal", - "destination": "data/C64/jpkernal", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "jpchrgen", - "destination": "data/C64/jpchrgen", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "gskernal", - "destination": "data/C64/gskernal", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "edkernal", - "destination": "data/C64/edkernal", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "dos1540", - "destination": "data/DRIVES/dos1540", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "dos1541", - "destination": "data/DRIVES/dos1541", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "d1541II", - "destination": "data/DRIVES/d1541II", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "dos1570", - "destination": "data/DRIVES/dos1570", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "dos1571", - "destination": "data/DRIVES/dos1571", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "dos1581", - "destination": "data/DRIVES/dos1581", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "dos2000", - "destination": "data/DRIVES/dos2000", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "dos4000", - "destination": "data/DRIVES/dos4000", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "dos2031", - "destination": "data/DRIVES/dos2031", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "dos2040", - "destination": "data/DRIVES/dos2040", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "dos3040", - "destination": "data/DRIVES/dos3040", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "dos4040", - "destination": "data/DRIVES/dos4040", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "dos1001", - "destination": "data/DRIVES/dos1001", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "mps803", - "destination": "data/PRINTER/mps803", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64", - "name": "nl10-cbm", - "destination": "data/PRINTER/nl10-cbm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64dtv", - "name": "vice/C64DTV/dtvrom.bin", - "destination": "vice/C64DTV/dtvrom.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64dtv", - "name": "vice/C64DTV/basic-901226-01.bin", - "destination": "vice/C64DTV/basic-901226-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64dtv", - "name": "vice/C64DTV/chargen-901225-01.bin", - "destination": "vice/C64DTV/chargen-901225-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64dtv", - "name": "vice/C64DTV/kernal-901227-03.bin", - "destination": "vice/C64DTV/kernal-901227-03.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-c64dtv", - "name": "dtvrom.bin", - "destination": "dtvrom.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-cbm-ii", - "name": "vice/CBM-II/basic-901242+3-04a.bin", - "destination": "vice/CBM-II/basic-901242+3-04a.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-cbm-ii", - "name": "vice/CBM-II/basic-901240+1-03.bin", - "destination": "vice/CBM-II/basic-901240+1-03.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-cbm-ii", - "name": "vice/CBM-II/basic-901235+6-02.bin", - "destination": "vice/CBM-II/basic-901235+6-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-cbm-ii", - "name": "vice/CBM-II/kernal-901244-04a.bin", - "destination": "vice/CBM-II/kernal-901244-04a.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-cbm-ii", - "name": "vice/CBM-II/kernal-901234-02.bin", - "destination": "vice/CBM-II/kernal-901234-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-cbm-ii", - "name": "vice/CBM-II/chargen-901225-01.bin", - "destination": "vice/CBM-II/chargen-901225-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-cbm-ii", - "name": "vice/CBM-II/chargen-901237-01.bin", - "destination": "vice/CBM-II/chargen-901237-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-cbm-ii", - "name": "vice/CBM-II/chargen-901232-01.bin", - "destination": "vice/CBM-II/chargen-901232-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-cd32", - "name": "cd32.rom", - "destination": "cd32.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-cd32", - "name": "cd32ext.rom", - "destination": "cd32ext.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-cubo", - "name": "cubo.zip", - "destination": "cubo.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/basic-1.901439-09-05-02-06.bin", - "destination": "vice/PET/basic-1.901439-09-05-02-06.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/basic-2.901465-01-02.bin", - "destination": "vice/PET/basic-2.901465-01-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/basic-4.901465-23-20-21.bin", - "destination": "vice/PET/basic-4.901465-23-20-21.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/kernal-1.901439-04-07.bin", - "destination": "vice/PET/kernal-1.901439-04-07.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/kernal-2.901465-03.bin", - "destination": "vice/PET/kernal-2.901465-03.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/kernal-4.901465-22.bin", - "destination": "vice/PET/kernal-4.901465-22.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/edit-1-n.901439-03.bin", - "destination": "vice/PET/edit-1-n.901439-03.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/edit-2-n.901447-24.bin", - "destination": "vice/PET/edit-2-n.901447-24.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/edit-2-b.901474-01.bin", - "destination": "vice/PET/edit-2-b.901474-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/edit-4-40-n-50Hz.901498-01.bin", - "destination": "vice/PET/edit-4-40-n-50Hz.901498-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/edit-4-40-b-50Hz.ts.bin", - "destination": "vice/PET/edit-4-40-b-50Hz.ts.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/edit-4-80-b-50Hz.901474-04_.bin", - "destination": "vice/PET/edit-4-80-b-50Hz.901474-04_.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/characters-1.901447-08.bin", - "destination": "vice/PET/characters-1.901447-08.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/characters-2.901447-10.bin", - "destination": "vice/PET/characters-2.901447-10.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/characters.901640-01.bin", - "destination": "vice/PET/characters.901640-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/waterloo-a000.901898-01.bin", - "destination": "vice/PET/waterloo-a000.901898-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/waterloo-b000.901898-02.bin", - "destination": "vice/PET/waterloo-b000.901898-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/waterloo-c000.901898-03.bin", - "destination": "vice/PET/waterloo-c000.901898-03.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/waterloo-d000.901898-04.bin", - "destination": "vice/PET/waterloo-d000.901898-04.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/waterloo-e000.901897-01.bin", - "destination": "vice/PET/waterloo-e000.901897-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/PET/waterloo-f000.901898-05.bin", - "destination": "vice/PET/waterloo-f000.901898-05.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/DRIVES/dos1001-901887+8-01.bin", - "destination": "vice/DRIVES/dos1001-901887+8-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/DRIVES/dos2031-901484-03+05.bin", - "destination": "vice/DRIVES/dos2031-901484-03+05.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/DRIVES/dos2040-901468-06+07.bin", - "destination": "vice/DRIVES/dos2040-901468-06+07.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/DRIVES/dos3040-901468-11-13.bin", - "destination": "vice/DRIVES/dos3040-901468-11-13.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/DRIVES/dos4040-901468-14-16.bin", - "destination": "vice/DRIVES/dos4040-901468-14-16.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-pet", - "name": "vice/DRIVES/dos9000-300516+7-revC.bin", - "destination": "vice/DRIVES/dos9000-300516+7-revC.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-plus4", - "name": "vice/PLUS4/basic-318006-01.bin", - "destination": "vice/PLUS4/basic-318006-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-plus4", - "name": "vice/PLUS4/kernal-318004-05.bin", - "destination": "vice/PLUS4/kernal-318004-05.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-plus4", - "name": "vice/PLUS4/kernal-318005-05.bin", - "destination": "vice/PLUS4/kernal-318005-05.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-plus4", - "name": "vice/PLUS4/kernal-318004-01.bin", - "destination": "vice/PLUS4/kernal-318004-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-plus4", - "name": "vice/PLUS4/kernal-364.bin", - "destination": "vice/PLUS4/kernal-364.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-plus4", - "name": "vice/PLUS4/3plus1-317053-01.bin", - "destination": "vice/PLUS4/3plus1-317053-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-plus4", - "name": "vice/PLUS4/3plus1-317054-01.bin", - "destination": "vice/PLUS4/3plus1-317054-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-plus4", - "name": "vice/PLUS4/c2lo-364.bin", - "destination": "vice/PLUS4/c2lo-364.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-plus4", - "name": "vice/DRIVES/dos1551-318008-01.bin", - "destination": "vice/DRIVES/dos1551-318008-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-vic20", - "name": "vice/VIC20/basic-901486-01.bin", - "destination": "vice/VIC20/basic-901486-01.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-vic20", - "name": "vice/VIC20/kernal.901486-07.bin", - "destination": "vice/VIC20/kernal.901486-07.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-vic20", - "name": "vice/VIC20/kernal.901486-06.bin", - "destination": "vice/VIC20/kernal.901486-06.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-vic20", - "name": "vice/VIC20/kernal.901486-02.bin", - "destination": "vice/VIC20/kernal.901486-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-vic20", - "name": "vice/VIC20/chargen-901460-03.bin", - "destination": "vice/VIC20/chargen-901460-03.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-vic20", - "name": "vice/VIC20/chargen-901460-02.bin", - "destination": "vice/VIC20/chargen-901460-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-vic20", - "name": "kernal.901486-02.bin", - "destination": "kernal.901486-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "commodore-vic20", - "name": "chargen-901460-02.bin", - "destination": "chargen-901460-02.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "crvision", - "name": "crvision.zip", - "destination": "crvision.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "crvision", - "name": "fnvision.zip", - "destination": "fnvision.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "crvision", - "name": "lasr2001.zip", - "destination": "lasr2001.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "crvision", - "name": "manager.zip", - "destination": "manager.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ctf", - "name": "pak0.pak", - "destination": "ctf/pak0.pak", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent", - "name": "descent.hog", - "destination": "descent.hog", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent", - "name": "descent.pig", - "destination": "descent.pig", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent", - "name": "d1xr-briefings-ger.dxa", - "destination": "d1x-rebirth/d1xr-briefings-ger.dxa", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent", - "name": "d1xr-mac-demo-sounds.dxa", - "destination": "d1x-rebirth/d1xr-mac-demo-sounds.dxa", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent", - "name": "d1xr-opl3-music.dxa", - "destination": "d1x-rebirth/d1xr-opl3-music.dxa", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent", - "name": "editor.dxa", - "destination": "d1x-rebirth/editor.dxa", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "descent2.hog", - "destination": "descent2.hog", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "descent2.ham", - "destination": "descent2.ham", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "groupa.pig", - "destination": "groupa.pig", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "alien1.pig", - "destination": "alien1.pig", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "alien2.pig", - "destination": "alien2.pig", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "fire.pig", - "destination": "fire.pig", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "ice.pig", - "destination": "ice.pig", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "water.pig", - "destination": "water.pig", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "descent2.s22", - "destination": "descent2.s22", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "descent2.s11", - "destination": "descent2.s11", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "d2x.hog", - "destination": "missions/d2x.hog", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "intro-h.mvl", - "destination": "intro-h.mvl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "robots-h.mvl", - "destination": "robots-h.mvl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "other-h.mvl", - "destination": "other-h.mvl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "d2xr-briefings-ger.dxa", - "destination": "d2x-rebirth/d2xr-briefings-ger.dxa", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "d2xr-opl3-music.dxa", - "destination": "d2x-rebirth/d2xr-opl3-music.dxa", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "descent2", - "name": "editor.dxa", - "destination": "d2x-rebirth/editor.dxa", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon32", - "name": "d32.rom", - "destination": "d32.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "dragon64.zip", - "destination": "dragon64.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "d64_1.rom", - "destination": "d64_1.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "d64_2.rom", - "destination": "d64_2.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "d200e_1.rom", - "destination": "d200e_1.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "d200e_2.rom", - "destination": "d200e_2.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "d200e_26.rom", - "destination": "d200e_26.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "alpha-boot-v1.0.rom", - "destination": "alpha-boot-v1.0.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "alpha-boot-v0.4.rom", - "destination": "alpha-boot-v0.4.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "alpha-basic.rom", - "destination": "alpha-basic.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "ddos40.rom", - "destination": "ddos40.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "ddos10.rom", - "destination": "ddos10.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "dplus49b.rom", - "destination": "dplus49b.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "dplus48.rom", - "destination": "dplus48.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "sdose6.rom", - "destination": "sdose6.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "dragon64", - "name": "delta2.rom", - "destination": "delta2.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "duke3d", - "name": "NWINTER.GRP", - "destination": "NWINTER.GRP", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "duke3d", - "name": "penthous.zip", - "destination": "penthous.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "duke3d", - "name": "PENTP.GRP", - "destination": "PENTP.GRP", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "efo-cedar-magnet", - "name": "cedmag.zip", - "destination": "cedmag.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "eighting-zn1", - "name": "psarc95.zip", - "destination": "psarc95.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "eighting-zn1", - "name": "coh1002e.zip", - "destination": "coh1002e.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "electron", - "name": "electron.zip", - "destination": "electron.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "electron", - "name": "electron64.zip", - "destination": "electron64.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "electron", - "name": "electron_plus1.zip", - "destination": "electron_plus1.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "electron", - "name": "electron_plus3.zip", - "destination": "electron_plus3.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "enterprise-128", - "name": "exdos14isdos10uk.rom", - "destination": "ep128emu/roms/exdos14isdos10uk.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "enterprise-128", - "name": "epdos16f.rom", - "destination": "ep128emu/roms/epdos16f.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "entex-advision", - "name": "advision.zip", - "destination": "advision.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "exidy-maxaflex", - "name": "maxaflex.zip", - "destination": "maxaflex.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "fm7", - "name": "fm7.zip", - "destination": "fm7.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "fm7", - "name": "fm77av.zip", - "destination": "fm77av.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "fm7", - "name": "fmnew7.zip", - "destination": "fmnew7.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "fmtowns", - "name": "fmtowns.zip", - "destination": "geartowns/fmtowns.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "fmtowns", - "name": "fmtownsux.zip", - "destination": "geartowns/fmtownsux.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "fmtowns", - "name": "fmtmarty.zip", - "destination": "geartowns/fmtmarty.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "fmtowns", - "name": "fmtownshr.zip", - "destination": "geartowns/fmtownshr.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "fmtowns", - "name": "fmtownsftv.zip", - "destination": "geartowns/fmtownsftv.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "gamate", - "name": "gamate.zip", - "destination": "gamate.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "gamepark-gp32", - "name": "gp32.zip", - "destination": "gp32.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "gamepock", - "name": "gamepock.zip", - "destination": "gamepock.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "hartung-game-master", - "name": "gmaster.zip", - "destination": "gmaster.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "hyper-neogeo64", - "name": "hng64.zip", - "destination": "hng64.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "imax-macs", - "name": "macsbios.zip", - "destination": "macsbios.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "itech-eagle", - "name": "iteagle.zip", - "destination": "iteagle.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "Animations/", - "destination": "jazz2/Content/Animations/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "Metadata/", - "destination": "jazz2/Content/Metadata/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "Translations/", - "destination": "jazz2/Content/Translations/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "Anims.j2a", - "destination": "jazz2/Source/Anims.j2a", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "AnimsSw.j2a", - "destination": "jazz2/Source/AnimsSw.j2a", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "Data.j2d", - "destination": "jazz2/Source/Data.j2d", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "prince.j2e", - "destination": "jazz2/Source/prince.j2e", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "rescue.j2e", - "destination": "jazz2/Source/rescue.j2e", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "flash.j2e", - "destination": "jazz2/Source/flash.j2e", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "monk.j2e", - "destination": "jazz2/Source/monk.j2e", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "share.j2e", - "destination": "jazz2/Source/share.j2e", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "xmas98.j2e", - "destination": "jazz2/Source/xmas98.j2e", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "xmas99.j2e", - "destination": "jazz2/Source/xmas99.j2e", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "secretf.j2e", - "destination": "jazz2/Source/secretf.j2e", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "home.j2e", - "destination": "jazz2/Source/home.j2e", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "share1.j2l", - "destination": "jazz2/Source/share1.j2l", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "share2.j2l", - "destination": "jazz2/Source/share2.j2l", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "share3.j2l", - "destination": "jazz2/Source/share3.j2l", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "sharectf.j2l", - "destination": "jazz2/Source/sharectf.j2l", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "sharect2.j2l", - "destination": "jazz2/Source/sharect2.j2l", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "sharetrs.j2l", - "destination": "jazz2/Source/sharetrs.j2l", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "labrat1n.j2t", - "destination": "jazz2/Source/labrat1n.j2t", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "psych2.j2t", - "destination": "jazz2/Source/psych2.j2t", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "diam2.j2t", - "destination": "jazz2/Source/diam2.j2t", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "menu.j2b", - "destination": "jazz2/Source/menu.j2b", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "bonus2.j2b", - "destination": "jazz2/Source/bonus2.j2b", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "bonus3.j2b", - "destination": "jazz2/Source/bonus3.j2b", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "intro.j2b", - "destination": "jazz2/Source/intro.j2b", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "ending.j2b", - "destination": "jazz2/Source/ending.j2b", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "labrat.j2b", - "destination": "jazz2/Source/labrat.j2b", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "funkyg.j2b", - "destination": "jazz2/Source/funkyg.j2b", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "diamond.j2b", - "destination": "jazz2/Source/diamond.j2b", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "boss2.j2b", - "destination": "jazz2/Source/boss2.j2b", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "intro.j2v", - "destination": "jazz2/Source/intro.j2v", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "jazz-jackrabbit-2", - "name": "ending.j2v", - "destination": "jazz2/Source/ending.j2v", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "konami-gv", - "name": "konamigv.zip", - "destination": "konamigv.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "konami-gx", - "name": "konamigx.zip", - "destination": "konamigx.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "konami-twinkle", - "name": "gq863.zip", - "destination": "gq863.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "konami-viper", - "name": "kviper.zip", - "destination": "kviper.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "laser310", - "name": "laser310.zip", - "destination": "laser310.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "laseractive", - "name": "pac-n1.bin", - "destination": "pac-n1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "laseractive", - "name": "pce-lp1.bin", - "destination": "pce-lp1.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "laseractive", - "name": "pac-n10.bin", - "destination": "pac-n10.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "mattel-aquarius", - "name": "aquarius.zip", - "destination": "aquarius.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "mattel-aquarius", - "name": "aquarius2.zip", - "destination": "aquarius2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "mattel-aquarius", - "name": "aquarius_ar.zip", - "destination": "aquarius_ar.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "mc10", - "name": "mc10.zip", - "destination": "mc10.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "mc10", - "name": "alice.zip", - "destination": "alice.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "mc10", - "name": "mc10.rom", - "destination": "mc10.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "mc10", - "name": "alice.rom", - "destination": "alice.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "microsoft-xbox", - "name": "mcpx_1.0.bin", - "destination": "mcpx_1.0.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "microsoft-xbox", - "name": "Complex_4627.bin", - "destination": "Complex_4627.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "microsoft-xbox", - "name": "xbox_eeprom.bin", - "destination": "xbox_eeprom.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "microsoft-xbox", - "name": "xbox_hdd.qcow2", - "destination": "xbox_hdd.qcow2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "midway-mcr", - "name": "ssio.zip", - "destination": "ssio.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "midway-mcr", - "name": "twotiger.zip", - "destination": "fbneo/samples/twotiger.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "mz2000", - "name": "mz2000.zip", - "destination": "mz2000.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "mz2500", - "name": "mz2500.zip", - "destination": "mz2500.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "mz700", - "name": "mz700.zip", - "destination": "mz700.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "mz800", - "name": "mz800.zip", - "destination": "mz800.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "mz80k", - "name": "mz80kj.zip", - "destination": "mz80kj.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "mz80k", - "name": "mz80k.zip", - "destination": "mz80k.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nam", - "name": "NAM.GRP", - "destination": "NAM.GRP", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "namco-system246", - "name": "sys246.zip", - "destination": "sys246.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "namco-system256", - "name": "sys256.zip", - "destination": "sys256.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "namco-system573", - "name": "sys573.zip", - "destination": "sys573.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "napalm", - "name": "NAPALM.GRP", - "destination": "NAPALM.GRP", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nec-pc-engine-cd", - "name": "[BIOS] Super CD-ROM System (Japan) (v3.0).pce", - "destination": "[BIOS] Super CD-ROM System (Japan) (v3.0).pce", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nec-pc-engine-cd", - "name": "[BIOS] Games Express CD Card (Japan).pce", - "destination": "[BIOS] Games Express CD Card (Japan).pce", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ngage", - "name": "SYM.ROM", - "destination": "eka2l1/firmware/SYM.ROM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-3ds", - "name": "keys.txt", - "destination": "sysdata/keys.txt", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-3ds", - "name": "shared_font.bin", - "destination": "sysdata/shared_font.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-3ds", - "name": "seeddb.bin", - "destination": "sysdata/seeddb.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-3ds", - "name": "otp.bin", - "destination": "sysdata/otp.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-3ds", - "name": "movable.sed", - "destination": "nand/private/movable.sed", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-3ds", - "name": "SecureInfo_A", - "destination": "nand/rw/sys/SecureInfo_A", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-3ds", - "name": "LocalFriendCodeSeed_B", - "destination": "nand/rw/sys/LocalFriendCodeSeed_B", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-3ds", - "name": "aes_keys.txt", - "destination": "Citra/sysdata/aes_keys.txt", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-3ds", - "name": "boot9.bin", - "destination": "Citra/sysdata/boot9.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-aleck64", - "name": "aleck64.zip", - "destination": "aleck64.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-nss", - "name": "nss.zip", - "destination": "nss.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-playch10", - "name": "playch10.zip", - "destination": "playch10.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-sfcbox", - "name": "sfcbox.zip", - "destination": "sfcbox.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-sfcbox", - "name": "KROM1.BIN", - "destination": "KROM1.BIN", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-sfcbox", - "name": "MB90082.BIN", - "destination": "MB90082.BIN", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-wiiu", - "name": "keys.txt", - "destination": "Cemu/keys.txt", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-wiiu", - "name": "otp.bin", - "destination": "Cemu/otp.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-wiiu", - "name": "seeprom.bin", - "destination": "Cemu/seeprom.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-wiiu", - "name": "CafeCn.ttf", - "destination": "Cemu/resources/sharedFonts/CafeCn.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-wiiu", - "name": "CafeKr.ttf", - "destination": "Cemu/resources/sharedFonts/CafeKr.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-wiiu", - "name": "CafeStd.ttf", - "destination": "Cemu/resources/sharedFonts/CafeStd.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-wiiu", - "name": "CafeTw.ttf", - "destination": "Cemu/resources/sharedFonts/CafeTw.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-wiiu", - "name": "shareddata.bin", - "destination": "Cemu/shareddata.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-wiiu", - "name": "snd_user.rpl", - "destination": "Cemu/cafeLibs/snd_user.rpl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-wiiu", - "name": "snduser2.rpl", - "destination": "Cemu/cafeLibs/snduser2.rpl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-wiiu", - "name": "swkbd.rpl", - "destination": "Cemu/cafeLibs/swkbd.rpl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-wiiu", - "name": "erreula.rpl", - "destination": "Cemu/cafeLibs/erreula.rpl", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "nintendo-wiiu", - "name": "OfflineDB.zar", - "destination": "Cemu/resources/miiverse/OfflineDB.zar", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "omicron", - "name": "omicron.jar", - "destination": "omicron/omicron.jar", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "pc60", - "name": "pc6001.zip", - "destination": "pc6001.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "pc60", - "name": "pc6001a.zip", - "destination": "pc6001a.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "pc60", - "name": "pc6001mk2.zip", - "destination": "pc6001mk2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "pc60", - "name": "pc6601.zip", - "destination": "pc6601.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "pc60", - "name": "pc6001mk2sr.zip", - "destination": "pc6001mk2sr.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "pc60", - "name": "pc6601sr.zip", - "destination": "pc6601sr.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "pc80", - "name": "pc8001.zip", - "destination": "pc8001.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "pc80", - "name": "pc8001mk2sr.zip", - "destination": "pc8001mk2sr.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "pcw", - "name": "pcw8256.zip", - "destination": "pcw8256.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "pcw", - "name": "pcw9512.zip", - "destination": "pcw9512.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "pegasus", - "name": "pegasus.zip", - "destination": "pegasus.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "philips-vg5k", - "name": "vg5k.zip", - "destination": "vg5k.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "pioneer-laseractive", - "name": "laseractive_dyw_1322a.bin", - "destination": "laseractive_dyw_1322a.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "quake", - "name": "pak0.pak", - "destination": "id1/pak0.pak", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "quake", - "name": "pak1.pak", - "destination": "id1/pak1.pak", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "quake", - "name": "pak0.pak", - "destination": "hipnotic/pak0.pak", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "quake", - "name": "pak0.pak", - "destination": "rogue/pak0.pak", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "quake", - "name": "pak0.pak", - "destination": "dopa/pak0.pak", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "quake", - "name": "pak1.pak", - "destination": "quoth/pak1.pak", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "quake", - "name": "pak2.pak", - "destination": "quoth/pak2.pak", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "quake2", - "name": "pak0.pak", - "destination": "baseq2/pak0.pak", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "quake2", - "name": "pak1.pak", - "destination": "baseq2/pak1.pak", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "quake2", - "name": "pak2.pak", - "destination": "baseq2/pak2.pak", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "quake3", - "name": "pak0.pk3", - "destination": "baseq3/pak0.pk3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "quake3", - "name": "pak0.pk3", - "destination": "demoq3/pak0.pk3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "real3d-pro1000", - "name": "pro1000.zip", - "destination": "pro1000.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "real3d-pro1000", - "name": "3dlogo.cmem", - "destination": "Assets/3dlogo.cmem", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "real3d-pro1000", - "name": "3dlogo.pmem", - "destination": "Assets/3dlogo.pmem", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "riscv", - "name": "fw_payload.bin", - "destination": "rvvm/fw_payload.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "riscv", - "name": "Image", - "destination": "rvvm/Image", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "rogue", - "name": "pak0.pak", - "destination": "rogue/pak0.pak", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "rpgmaker", - "name": "easyrpg.soundfont", - "destination": "easyrpg.soundfont", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "rpgmaker", - "name": "wildmidi.cfg", - "destination": "wildmidi.cfg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "rpgmaker", - "name": "RPG Maker 2000 RTP", - "destination": "rtp/2000/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "rpgmaker", - "name": "RPG Maker 2003 RTP", - "destination": "rtp/2003/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "rpgmaker", - "name": "Standard", - "destination": "mkxp-z/RTP/Standard/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "rpgmaker", - "name": "RPGVX", - "destination": "mkxp-z/RTP/RPGVX/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "rpgmaker", - "name": "RPGVXAce", - "destination": "mkxp-z/RTP/RPGVXAce/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "rpgmaker", - "name": "Fonts", - "destination": "mkxp-z/Fonts/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "rpgmaker", - "name": "Preload", - "destination": "mkxp-z/Scripts/Preload/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "rpgmaker", - "name": "Postload", - "destination": "mkxp-z/Scripts/Postload/", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sammy-medal", - "name": "sammymdl.zip", - "destination": "sammymdl.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "abc.mkf", - "destination": "sdlpal/abc.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "ball.mkf", - "destination": "sdlpal/ball.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "data.mkf", - "destination": "sdlpal/data.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "f.mkf", - "destination": "sdlpal/f.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "fbp.mkf", - "destination": "sdlpal/fbp.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "fire.mkf", - "destination": "sdlpal/fire.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "gop.mkf", - "destination": "sdlpal/gop.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "map.mkf", - "destination": "sdlpal/map.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "mgo.mkf", - "destination": "sdlpal/mgo.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "pat.mkf", - "destination": "sdlpal/pat.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "rgm.mkf", - "destination": "sdlpal/rgm.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "rng.mkf", - "destination": "sdlpal/rng.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "sss.mkf", - "destination": "sdlpal/sss.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "m.msg", - "destination": "sdlpal/m.msg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "word.dat", - "destination": "sdlpal/word.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "desc.dat", - "destination": "sdlpal/desc.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "wor16.asc", - "destination": "sdlpal/wor16.asc", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "wor16.fon", - "destination": "sdlpal/wor16.fon", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "voc.mkf", - "destination": "sdlpal/voc.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "sounds.mkf", - "destination": "sdlpal/sounds.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "mus.mkf", - "destination": "sdlpal/mus.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "midi.mkf", - "destination": "sdlpal/midi.mkf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "1.avi", - "destination": "sdlpal/1.avi", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "2.avi", - "destination": "sdlpal/2.avi", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "3.avi", - "destination": "sdlpal/3.avi", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "4.avi", - "destination": "sdlpal/4.avi", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "5.avi", - "destination": "sdlpal/5.avi", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sdlpal", - "name": "6.avi", - "destination": "sdlpal/6.avi", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-32x", - "name": "32X_G_BIOS.bin", - "destination": "32X_G_BIOS.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-32x", - "name": "32X_M_BIOS.bin", - "destination": "32X_M_BIOS.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-32x", - "name": "32X_S_BIOS.bin", - "destination": "32X_S_BIOS.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-ai", - "name": "segaai.zip", - "destination": "segaai.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-ai", - "name": "segaai_soundbox.zip", - "destination": "segaai_soundbox.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-beena", - "name": "beena.zip", - "destination": "beena.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-chihiro", - "name": "chihiro.zip", - "destination": "chihiro.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-hikaru", - "name": "hikaru.zip", - "destination": "hikaru.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-lindbergh", - "name": "lindbios.zip", - "destination": "lindbios.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-megaplay", - "name": "megaplay.zip", - "destination": "megaplay.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-megatech", - "name": "megatech.zip", - "destination": "megatech.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-model3", - "name": "Music.xml", - "destination": "supermodel/Music.xml", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-naomi", - "name": "naomi_boot.bin", - "destination": "dc/naomi_boot.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-naomigd", - "name": "naomigd.zip", - "destination": "naomigd.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10381b.132", - "destination": "cannonball/epr-10381b.132", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10383b.117", - "destination": "cannonball/epr-10383b.117", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10380b.133", - "destination": "cannonball/epr-10380b.133", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10382b.118", - "destination": "cannonball/epr-10382b.118", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10327a.76", - "destination": "cannonball/epr-10327a.76", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10329a.58", - "destination": "cannonball/epr-10329a.58", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10328a.75", - "destination": "cannonball/epr-10328a.75", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10330a.57", - "destination": "cannonball/epr-10330a.57", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10268.99", - "destination": "cannonball/opr-10268.99", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10232.102", - "destination": "cannonball/opr-10232.102", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10267.100", - "destination": "cannonball/opr-10267.100", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10231.103", - "destination": "cannonball/opr-10231.103", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10266.101", - "destination": "cannonball/opr-10266.101", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10230.104", - "destination": "cannonball/opr-10230.104", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10185.11", - "destination": "cannonball/opr-10185.11", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10186.47", - "destination": "cannonball/opr-10186.47", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "mpr-10371.9", - "destination": "cannonball/mpr-10371.9", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "mpr-10373.10", - "destination": "cannonball/mpr-10373.10", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "mpr-10375.11", - "destination": "cannonball/mpr-10375.11", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "mpr-10377.12", - "destination": "cannonball/mpr-10377.12", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "mpr-10372.13", - "destination": "cannonball/mpr-10372.13", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "mpr-10374.14", - "destination": "cannonball/mpr-10374.14", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "mpr-10376.15", - "destination": "cannonball/mpr-10376.15", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "mpr-10378.16", - "destination": "cannonball/mpr-10378.16", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10187.88", - "destination": "cannonball/epr-10187.88", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10193.66", - "destination": "cannonball/opr-10193.66", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10192.67", - "destination": "cannonball/opr-10192.67", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10191.68", - "destination": "cannonball/opr-10191.68", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10190.69", - "destination": "cannonball/opr-10190.69", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10189.70", - "destination": "cannonball/opr-10189.70", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10188.71", - "destination": "cannonball/opr-10188.71", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "opr-10188.71f", - "destination": "cannonball/opr-10188.71f", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10380.133", - "destination": "cannonball/epr-10380.133", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10382.118", - "destination": "cannonball/epr-10382.118", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10381.132", - "destination": "cannonball/epr-10381.132", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10383.117", - "destination": "cannonball/epr-10383.117", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10327.76", - "destination": "cannonball/epr-10327.76", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10329.58", - "destination": "cannonball/epr-10329.58", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10328.75", - "destination": "cannonball/epr-10328.75", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-outrun", - "name": "epr-10330.57", - "destination": "cannonball/epr-10330.57", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-stv", - "name": "epr-20091.ic8", - "destination": "epr-20091.ic8", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-stv", - "name": "epr-17952a.ic8", - "destination": "epr-17952a.ic8", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-stv", - "name": "epr-17954a.ic8", - "destination": "epr-17954a.ic8", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-stv", - "name": "epr-19854.ic8", - "destination": "epr-19854.ic8", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-triforce", - "name": "segaboot.gcm", - "destination": "dolphin-emu/Sys/Triforce/segaboot.gcm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sega-triforce", - "name": "triforce.zip", - "destination": "triforce.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "snk-neogeo-mvs", - "name": "irrmaze.zip", - "destination": "irrmaze.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sony-pocketstation", - "name": "pocketstation.bin", - "destination": "pocketstation.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "sunplus-spmp8000", - "name": "tonelib.bin", - "destination": "tonelib.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "supracan", - "name": "supracan.zip", - "destination": "supracan.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "supracan", - "name": "umc6650.zip", - "destination": "umc6650.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "taito-fx1", - "name": "taitofx1.zip", - "destination": "taitofx1.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "taito-fx1", - "name": "coh1000t.zip", - "destination": "coh1000t.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "taito-gnet", - "name": "coh3002t.zip", - "destination": "coh3002t.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "taito-gnet", - "name": "coh1002t.zip", - "destination": "coh1002t.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "tandy-vis", - "name": "vis.zip", - "destination": "vis.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "teamarena", - "name": "pak0.pk3", - "destination": "missionpack/pak0.pk3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "teamarena", - "name": "pak1.pk3", - "destination": "missionpack/pak1.pk3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "teamarena", - "name": "pak2.pk3", - "destination": "missionpack/pak2.pk3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "teamarena", - "name": "pak3.pk3", - "destination": "missionpack/pak3.pk3", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "tecmo-tps", - "name": "tps.zip", - "destination": "tps.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "tecmo-tps", - "name": "coh1002m.zip", - "destination": "coh1002m.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_4a.zip", - "destination": "ti99_4a.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_speech.zip", - "destination": "ti99_speech.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_4.zip", - "destination": "ti99_4.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_fdc.zip", - "destination": "ti99_fdc.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_bwg.zip", - "destination": "ti99_bwg.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_ccdcc.zip", - "destination": "ti99_ccdcc.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_ccfdc.zip", - "destination": "ti99_ccfdc.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_rs232.zip", - "destination": "ti99_rs232.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_evpc.zip", - "destination": "ti99_evpc.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_hfdc.zip", - "destination": "ti99_hfdc.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_pcode.zip", - "destination": "ti99_pcode.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_ddcc1.zip", - "destination": "ti99_ddcc1.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_myarcmem.zip", - "destination": "ti99_myarcmem.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_tipi.zip", - "destination": "ti99_tipi.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_whtscsi.zip", - "destination": "ti99_whtscsi.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_arcturus.zip", - "destination": "ti99_arcturus.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti99_gkracker.zip", - "destination": "ti99_gkracker.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "TI-994A.ctg", - "destination": "TI-994A.ctg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "spchrom.bin", - "destination": "spchrom.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti-disk.ctg", - "destination": "ti-disk.ctg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "Gram Kracker.ctg", - "destination": "Gram Kracker.ctg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "ti-pcard.ctg", - "destination": "ti-pcard.ctg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ti99", - "name": "cf7+.ctg", - "destination": "cf7+.ctg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "tiger-game-com", - "name": "gamecom.zip", - "destination": "gamecom.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "TRG1.GRF", - "destination": "openttd/baseset/TRG1.GRF", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "TRGI.GRF", - "destination": "openttd/baseset/TRGI.GRF", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "TRGC.GRF", - "destination": "openttd/baseset/TRGC.GRF", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "TRGH.GRF", - "destination": "openttd/baseset/TRGH.GRF", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "TRGT.GRF", - "destination": "openttd/baseset/TRGT.GRF", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "TRG1R.GRF", - "destination": "openttd/baseset/TRG1R.GRF", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "TRGIR.GRF", - "destination": "openttd/baseset/TRGIR.GRF", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "TRGCR.GRF", - "destination": "openttd/baseset/TRGCR.GRF", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "TRGHR.GRF", - "destination": "openttd/baseset/TRGHR.GRF", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "TRGTR.GRF", - "destination": "openttd/baseset/TRGTR.GRF", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "SAMPLE.CAT", - "destination": "openttd/baseset/SAMPLE.CAT", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM.CAT", - "destination": "openttd/baseset/GM.CAT", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM-TTO.CAT", - "destination": "openttd/baseset/GM-TTO.CAT", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT00.GM", - "destination": "openttd/baseset/GM_TT00.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT01.GM", - "destination": "openttd/baseset/GM_TT01.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT02.GM", - "destination": "openttd/baseset/GM_TT02.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT03.GM", - "destination": "openttd/baseset/GM_TT03.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT04.GM", - "destination": "openttd/baseset/GM_TT04.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT05.GM", - "destination": "openttd/baseset/GM_TT05.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT06.GM", - "destination": "openttd/baseset/GM_TT06.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT07.GM", - "destination": "openttd/baseset/GM_TT07.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT08.GM", - "destination": "openttd/baseset/GM_TT08.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT09.GM", - "destination": "openttd/baseset/GM_TT09.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT10.GM", - "destination": "openttd/baseset/GM_TT10.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT11.GM", - "destination": "openttd/baseset/GM_TT11.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT12.GM", - "destination": "openttd/baseset/GM_TT12.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT13.GM", - "destination": "openttd/baseset/GM_TT13.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT14.GM", - "destination": "openttd/baseset/GM_TT14.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT15.GM", - "destination": "openttd/baseset/GM_TT15.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT16.GM", - "destination": "openttd/baseset/GM_TT16.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT17.GM", - "destination": "openttd/baseset/GM_TT17.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT18.GM", - "destination": "openttd/baseset/GM_TT18.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT19.GM", - "destination": "openttd/baseset/GM_TT19.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT20.GM", - "destination": "openttd/baseset/GM_TT20.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "transport-tycoon-deluxe", - "name": "GM_TT21.GM", - "destination": "openttd/baseset/GM_TT21.GM", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "trs80.zip", - "destination": "trs80.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "trs80l2.zip", - "destination": "trs80l2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "eg3003.zip", - "destination": "eg3003.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "sys80.zip", - "destination": "sys80.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "ht1080z.zip", - "destination": "ht1080z.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "ht1080z2.zip", - "destination": "ht1080z2.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "ht108064.zip", - "destination": "ht108064.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "trs80m3.zip", - "destination": "trs80m3.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "trs80m4.zip", - "destination": "trs80m4.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "trs80m4p.zip", - "destination": "trs80m4p.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "cp500.zip", - "destination": "cp500.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "level2.rom", - "destination": "level2.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "model3.rom", - "destination": "model3.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "trs80", - "name": "model4p.rom", - "destination": "model4p.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "tutor", - "name": "tutor.zip", - "destination": "tutor.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "player.PNG", - "destination": "SyobonAction/res/player.PNG", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "brock.PNG", - "destination": "SyobonAction/res/brock.PNG", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "item.PNG", - "destination": "SyobonAction/res/item.PNG", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "teki.PNG", - "destination": "SyobonAction/res/teki.PNG", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "haikei.PNG", - "destination": "SyobonAction/res/haikei.PNG", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "brock2.PNG", - "destination": "SyobonAction/res/brock2.PNG", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "omake.PNG", - "destination": "SyobonAction/res/omake.PNG", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "omake2.PNG", - "destination": "SyobonAction/res/omake2.PNG", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "syobon3.PNG", - "destination": "SyobonAction/res/syobon3.PNG", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "sazanami-gothic.ttf", - "destination": "SyobonAction/res/sazanami-gothic.ttf", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "field.ogg", - "destination": "SyobonAction/BGM/field.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "dungeon.ogg", - "destination": "SyobonAction/BGM/dungeon.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "star4.ogg", - "destination": "SyobonAction/BGM/star4.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "castle.ogg", - "destination": "SyobonAction/BGM/castle.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "puyo.ogg", - "destination": "SyobonAction/BGM/puyo.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "jump.ogg", - "destination": "SyobonAction/SE/jump.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "brockbreak.ogg", - "destination": "SyobonAction/SE/brockbreak.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "coin.ogg", - "destination": "SyobonAction/SE/coin.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "humi.ogg", - "destination": "SyobonAction/SE/humi.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "koura.ogg", - "destination": "SyobonAction/SE/koura.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "dokan.ogg", - "destination": "SyobonAction/SE/dokan.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "brockkinoko.ogg", - "destination": "SyobonAction/SE/brockkinoko.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "powerup.ogg", - "destination": "SyobonAction/SE/powerup.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "kirra.ogg", - "destination": "SyobonAction/SE/kirra.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "goal.ogg", - "destination": "SyobonAction/SE/goal.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "death.ogg", - "destination": "SyobonAction/SE/death.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "Pswitch.ogg", - "destination": "SyobonAction/SE/Pswitch.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "jumpBlock.ogg", - "destination": "SyobonAction/SE/jumpBlock.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "hintBlock.ogg", - "destination": "SyobonAction/SE/hintBlock.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "4-clear.ogg", - "destination": "SyobonAction/SE/4-clear.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "allclear.ogg", - "destination": "SyobonAction/SE/allclear.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "unknown", - "name": "tekifire.ogg", - "destination": "SyobonAction/SE/tekifire.ogg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ur-quan-masters", - "name": "uqm-0.8.0-3domusic.uqm", - "destination": "uqm/content/addons/uqm-0.8.0-3domusic.uqm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ur-quan-masters", - "name": "uqm-0.8.0-voice.uqm", - "destination": "uqm/content/addons/uqm-0.8.0-voice.uqm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ur-quan-masters", - "name": "uqm-remix-disc1.uqm", - "destination": "uqm/content/addons/uqm-remix-disc1.uqm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ur-quan-masters", - "name": "uqm-remix-disc2.uqm", - "destination": "uqm/content/addons/uqm-remix-disc2.uqm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ur-quan-masters", - "name": "uqm-remix-disc3.uqm", - "destination": "uqm/content/addons/uqm-remix-disc3.uqm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ur-quan-masters", - "name": "uqm-remix-disc4-1.uqm", - "destination": "uqm/content/addons/uqm-remix-disc4-1.uqm", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "vectrex", - "name": "vectrex.zip", - "destination": "vectrex.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "videosystem-zn1", - "name": "coh1002v.zip", - "destination": "coh1002v.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "vm-labs-nuon", - "name": "bios.cof", - "destination": "nuance/bios.cof", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "vm-labs-nuon", - "name": "minibios.cof", - "destination": "nuance/minibios.cof", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "vm-labs-nuon", - "name": "minibiosX.cof", - "destination": "nuance/minibiosX.cof", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "vm-labs-nuon", - "name": "nuance.cfg", - "destination": "nuance/nuance.cfg", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "vm-labs-nuon", - "name": "video_generic.vs", - "destination": "nuance/video_generic.vs", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "vm-labs-nuon", - "name": "video_m32_o32.fs", - "destination": "nuance/video_m32_o32.fs", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "vm-labs-nuon", - "name": "video_m32_o32_crt.fs", - "destination": "nuance/video_m32_o32_crt.fs", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "vm-labs-nuon", - "name": "FlashEEPROM.bin", - "destination": "FlashEEPROM.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "vtech-socrates", - "name": "socrates.zip", - "destination": "socrates.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "vtech-vsmile", - "name": "vsmile.zip", - "destination": "vsmile.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "vvvvvv", - "name": "gamecontrollerdb.txt", - "destination": "gamecontrollerdb.txt", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "wenquxing-cc800", - "name": "obj.bin", - "destination": "WQXEmu/cc800/obj.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "wenquxing-cc800", - "name": "cc800.fls", - "destination": "WQXEmu/cc800/cc800.fls", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "wenquxing-nc1020", - "name": "obj_lu.bin", - "destination": "WQXEmu/nc1020/obj_lu.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "wenquxing-nc1020", - "name": "nc1020.fls", - "destination": "WQXEmu/nc1020/nc1020.fls", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "wenquxing-nc2000", - "name": "nc2000.nor", - "destination": "WQXEmu/nc2000/nc2000.nor", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "wenquxing-nc2000", - "name": "nc2000.nand", - "destination": "WQXEmu/nc2000/nc2000.nand", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "wenquxing-nc2000", - "name": "nc2000.nand0", - "destination": "WQXEmu/nc2000/nc2000.nand0", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "wenquxing-nc3000", - "name": "nc3000.nor", - "destination": "WQXEmu/nc3000/nc3000.nor", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "wenquxing-nc3000", - "name": "nc3000.nand", - "destination": "WQXEmu/nc3000/nc3000.nand", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "wenquxing-nc3000", - "name": "nc3000.nand0", - "destination": "WQXEmu/nc3000/nc3000.nand0", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "wenquxing-pc1000", - "name": "pc1000.rom", - "destination": "WQXEmu/pc1000/pc1000.rom", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "wenquxing-pc1000", - "name": "pc1000.nor", - "destination": "WQXEmu/pc1000/pc1000.nor", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ww2gi", - "name": "WW2GI.GRP", - "destination": "WW2GI.GRP", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "ww2gi", - "name": "PLATOONL.GRP", - "destination": "PLATOONL.GRP", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "xatrix", - "name": "pak0.pak", - "destination": "xatrix/pak0.pak", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "xbox", - "name": "mcpx_1.0.bin", - "destination": "mcpx_1.0.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "xbox", - "name": "cromwell_1024.bin", - "destination": "cromwell_1024.bin", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "xegs", - "name": "xegs.zip", - "destination": "xegs.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "xrick", - "name": "data.zip", - "destination": "data.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "xrick", - "name": "xrick/data.zip", - "destination": "xrick/data.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "zcdata.dat", - "destination": "zc210/zcdata.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "default.sf2", - "destination": "zc210/sf2/default.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "custom0.sf2", - "destination": "zc210/sf2/custom0.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "custom1.sf2", - "destination": "zc210/sf2/custom1.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "custom2.sf2", - "destination": "zc210/sf2/custom2.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "custom3.sf2", - "destination": "zc210/sf2/custom3.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "custom4.sf2", - "destination": "zc210/sf2/custom4.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "custom5.sf2", - "destination": "zc210/sf2/custom5.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "custom6.sf2", - "destination": "zc210/sf2/custom6.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "custom7.sf2", - "destination": "zc210/sf2/custom7.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "custom8.sf2", - "destination": "zc210/sf2/custom8.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "custom9.sf2", - "destination": "zc210/sf2/custom9.sf2", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "LinkTothePast.dat", - "destination": "zc210/sfx/LinkTothePast.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "LinksAwakening.dat", - "destination": "zc210/sfx/LinksAwakening.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "BSZelda.dat", - "destination": "zc210/sfx/BSZelda.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "Metroid.dat", - "destination": "zc210/sfx/Metroid.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "Tortuga.dat", - "destination": "zc210/sfx/Tortuga.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "Castle.dat", - "destination": "zc210/sfx/Castle.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "Elise.dat", - "destination": "zc210/sfx/Elise.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "SwangSong.dat", - "destination": "zc210/sfx/SwangSong.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zc210", - "name": "Custom.dat", - "destination": "zc210/sfx/Custom.dat", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zn1-acclaim", - "name": "acpsx.zip", - "destination": "acpsx.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zn1-capcom", - "name": "cpzn1.zip", - "destination": "cpzn1.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zn1-taito", - "name": "taitofx1.zip", - "destination": "taitofx1.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zn1-tecmo", - "name": "tps.zip", - "destination": "tps.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zn1-video-system", - "name": "sncwgltd.zip", - "destination": "sncwgltd.zip", - "field": null, - "old": null, - "new": {} - }, - { - "kind": "added", - "system": "zn2-capcom", - "name": "cpzn2.zip", - "destination": "cpzn2.zip", - "field": null, - "old": null, - "new": {} } ], "hashes_corrected": [], @@ -12248,7 +26,7 @@ "hashes_cleared": [], "requirements_corrected": 0, "withheld": [], - "found_by_content": 109, + "found_by_content": 108, "removal_candidates": [ { "system": "Dinothawr", diff --git a/scripts/export_native.py b/scripts/export_native.py index 629eb03f..1ccddb68 100644 --- a/scripts/export_native.py +++ b/scripts/export_native.py @@ -509,7 +509,7 @@ def _added_fields(exporter: object, entry: object) -> dict: if "size" in carried and entry.size() is not None: written["size"] = entry.size() if "required" in carried: - written["required"] = entry.required + written["required"] = exporter.required_value(entry) return written @@ -535,20 +535,25 @@ def landed_changes(exporter: object, systems: dict) -> LandedChanges: "added", entry, None, None, _added_fields(exporter, entry) )) continue + # Asked of the exporter: a format that names each entry's cores + # reads every entry of those cores, not only the paired one. + if ( + entry.platform.get("required") is not None + and exporter.states(entry, "required") + and exporter.required_value(entry) != bool(entry.platform["required"]) + ): + records.append(_change( + "requirement_corrected", entry, "required", + bool(entry.platform["required"]), exporter.required_value(entry), + )) for field_name in entry.corrections: - if not exporter.states(entry, field_name): + if field_name == "required" or not exporter.states(entry, field_name): continue - if field_name == "required": - records.append(_change( - "requirement_corrected", entry, "required", - bool(entry.platform.get("required")), entry.required, - )) - else: - records.append(_change( - "hash_corrected", entry, field_name, - _platform_value(entry, field_name), - exporter.written(entry, field_name), - )) + records.append(_change( + "hash_corrected", entry, field_name, + _platform_value(entry, field_name), + exporter.written(entry, field_name), + )) records.extend( _change("hash_filled", entry, field_name, None, exporter.written(entry, field_name)) diff --git a/scripts/exporter/base_exporter.py b/scripts/exporter/base_exporter.py index b91289a0..020f6a2e 100644 --- a/scripts/exporter/base_exporter.py +++ b/scripts/exporter/base_exporter.py @@ -200,6 +200,14 @@ class BaseExporter(ABC): return self.single_value(fe, field_name) return ",".join(fe.hashes(field_name)) + def required_value(self, fe: NativeFile) -> bool: + """The requirement the render writes for an entry. + + The model's flag is true when any core needs the file. A format + that names the cores of each entry narrows it to those cores. + """ + return fe.required + def states(self, fe: NativeFile, field_name: str) -> bool: """Whether the written file carries this entry's corrected field. diff --git a/scripts/exporter/baseline.py b/scripts/exporter/baseline.py index 2f79fab6..e6f28bef 100644 --- a/scripts/exporter/baseline.py +++ b/scripts/exporter/baseline.py @@ -61,6 +61,20 @@ def checked_hashes(entry: dict | None) -> dict | None: return {k: v for k, v in entry.items() if k not in HASH_FIELDS or k in kinds} +def comparable(entry: dict | None) -> dict: + """The entry with only the hashes the truth can be compared with. + + Recalbox hashes a .zip by its members (Bios.cpp:64-68 calls + Zip::Md5Composite, which feeds each member's bytes in name order into + one md5), never by the container's bytes. Its md5 on an archive is that + composite, a digest no profile declares: read as a container md5 it was + replaced by geolith's, which Recalbox never computes. + """ + if not entry or entry.get("zip_digest") != "composite": + return entry or {} + return {k: v for k, v in entry.items() if k != "md5"} + + def is_label(entry: dict) -> bool: """A name only content-scanning cores give: no core opens that file. @@ -104,6 +118,14 @@ class NativeFile: # For an addition, each core that wants it as (runs standalone, name the # platform gives it), empty when no core the platform runs is named. runners: list[tuple[bool, str]] = field(default_factory=list) + # The platform reads this file's md5 as a composite of its members + # (Recalbox on a .zip): the truth's md5 describes the container and + # can be neither compared with it nor written in its place. + composite_md5: bool = False + # Every truth entry of the system that answers to this platform entry's + # name, whichever one the pairing took: the element names its cores, and + # each core's own entry for the file says whether that core needs it. + namesakes: list[dict] = field(default_factory=list) @property def origin(self) -> str: @@ -129,7 +151,9 @@ class NativeFile: truth's crc32 beside Batocera's md5 for bios7.bin is one dump, and reading it as a contradiction emptied the md5 the frontend checks. """ - truth, plat = _field_sets(self._checked_truth), _field_sets(self.platform) + truth, plat = _field_sets(self._checked_truth), _field_sets(comparable(self.platform)) + if self.composite_md5: + truth["md5"] = set() if not any(truth.values()): return "platform" if not any(plat.values()): @@ -152,6 +176,8 @@ class NativeFile: the divergence is recorded, never silently merged: an emulator that rejects a file will reject it whatever the platform declares. """ + if field_name == "md5" and self.composite_md5: + return _hash_values(self.platform or {}, field_name) truth_values = _hash_values(self._checked_truth, field_name) platform_values = _hash_values(self.platform or {}, field_name) source = self._identity_source() @@ -186,6 +212,9 @@ class NativeFile: chosen among those the truth accepts. A field only the truth names is written when it names one value, which is then that dump's. """ + if field_name == "md5" and self.composite_md5: + values = _hash_values(self.platform or {}, field_name) + return values[0] if values else "" source = self._identity_source() truth_values = _hash_values(self._checked_truth, field_name) platform_values = _hash_values(self.platform or {}, field_name) @@ -365,11 +394,13 @@ def by_hash(truth_entry: dict, platform_entry: dict) -> bool: ours = {v for f in HASH_FIELDS for v in _hash_values(truth_entry, f)} if not ours: return False - return bool(ours & {v for f in HASH_FIELDS for v in _hash_values(platform_entry, f)}) + theirs = comparable(platform_entry) + return bool(ours & {v for f in HASH_FIELDS for v in _hash_values(theirs, f)}) def _contradicts(truth_entry: dict, platform_entry: dict) -> bool: """A hash both entries declare, without a value in common.""" + platform_entry = comparable(platform_entry) return any( (ours := set(_hash_values(truth_entry, f))) and (theirs := set(_hash_values(platform_entry, f))) @@ -445,6 +476,7 @@ def build_native_model( systems: dict[str, NativeSystem] = {} scraped_systems = (scraped or {}).get("systems", {}) + composite_zips = (scraped or {}).get("zip_digest") == "composite" # Pass 1: the platform's own file, grouped as the platform groups it. for sys_key, sys_data in scraped_systems.items(): @@ -467,6 +499,7 @@ def build_native_model( destination=destination, native_system=native_id, platform=file_entry, + composite_md5=file_entry.get("zip_digest") == "composite", ) ) report.files_kept += 1 @@ -534,6 +567,16 @@ def build_native_model( if candidate.truth is None ] pairs = pair_entries(truth_files, [c.platform or {} for c in candidates]) + for candidate in ( + c + for native_id in target_ids + for c in systems.get(native_id, NativeSystem(native_id)).files + if c.platform is not None + ): + own = str(candidate.name).casefold() + candidate.namesakes.extend( + entry for entry in truth_files if own in _names(entry) + ) for t_index, truth_entry in enumerate(truth_files): name = str(truth_entry["name"]) @@ -545,7 +588,9 @@ def build_native_model( checked = checked_hashes(truth_entry) or {} for field_name in HASH_FIELDS: ours = set(_hash_values(checked, field_name)) - theirs = set(_hash_values(matched.platform or {}, field_name)) + if field_name == "md5" and matched.composite_md5: + continue + theirs = set(_hash_values(comparable(matched.platform), field_name)) if ours and theirs and not ours & theirs: matched.corrections.append(field_name) report.hashes_corrected.append( @@ -602,6 +647,7 @@ def build_native_model( native_system=native_id, truth=truth_entry, foreign_system=native_id not in platform_ids, + composite_md5=composite_zips and name.lower().endswith(".zip"), ) ) report.files_added += 1 diff --git a/scripts/exporter/misterfpga_exporter.py b/scripts/exporter/misterfpga_exporter.py index 0d0df758..1567df50 100644 --- a/scripts/exporter/misterfpga_exporter.py +++ b/scripts/exporter/misterfpga_exporter.py @@ -113,6 +113,7 @@ class Exporter(BaseExporter): database = json.loads(original, object_pairs_hook=OrderedDict) indexed = self._by_path(systems) self._written = set() + self._unsized: list[str] = [] for path, entry in database.get("files", {}).items(): fe = indexed.get(path) @@ -124,9 +125,17 @@ class Exporter(BaseExporter): # entry without one, a new size beside the old hash describes # no file, and the entry is left as MiSTer wrote it. continue + size = fe.size() + if md5 != entry.get("hash") and entry.get("size") and not size: + # Downloader refuses an entry without an integer size + # (db_entity.py:187) and compares it after each fetch + # (fetch_file_worker.py:127). The old size beside the new + # hash describes the dump the truth rejects, so the entry + # stays as MiSTer wrote it. + self._unsized.append(path) + continue self._written.add(id(fe)) entry["hash"] = md5 - size = fe.size() if size: entry["size"] = size @@ -143,6 +152,14 @@ class Exporter(BaseExporter): produced[_ARCHIVE] = archive if unchanged else rebuild_archive(archive, _DB_NAME, text) return produced + def withheld(self) -> list[str]: + """Each hash correction left out for want of the new dump's size.""" + return [ + f"{path} keeps its hash: the truth states no size for the new " + "dump, and the Downloader checks every entry by size" + for path in getattr(self, "_unsized", []) + ] + def validate( self, systems: dict[str, NativeSystem], @@ -169,6 +186,9 @@ class Exporter(BaseExporter): for path, fe in indexed.items(): declared = files.get(path) md5 = fe.hash("md5") - if declared is not None and md5 and declared.get("hash") != md5: + if ( + declared is not None and md5 and declared.get("hash") != md5 + and path not in getattr(self, "_unsized", []) + ): issues.append(f"hash not applied: {path}") return issues diff --git a/scripts/exporter/recalbox_exporter.py b/scripts/exporter/recalbox_exporter.py index da43fc82..71704304 100644 --- a/scripts/exporter/recalbox_exporter.py +++ b/scripts/exporter/recalbox_exporter.py @@ -20,15 +20,17 @@ from xml.sax.saxutils import quoteattr sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) -from common import parse_untrusted_xml +from common import load_emulator_profiles, parse_untrusted_xml from .base_exporter import BaseExporter -from .baseline import NativeFile, NativeSystem, Report +from .baseline import NativeFile, NativeSystem, Report, by_destination, by_name SOURCE_URL = ( "https://gitlab.com/recalbox/recalbox/-/raw/master/board/recalbox/fsoverlay" "/recalbox/share_init/system/.emulationstation/es_bios.xml" ) +# Resolved from the file: the profiles say which names each core answers to. +EMULATORS_DIR = Path(__file__).resolve().parents[2] / "emulators" SCHEMA_URL = ( "https://gitlab.com/recalbox/recalbox/-/raw/master/board/recalbox/fsoverlay" "/recalbox/share_init/system/.emulationstation/es_bios.xsd" @@ -149,12 +151,82 @@ class Exporter(BaseExporter): return path return fe.destination or fe.name + def _profile_keys(self) -> dict[str, str]: + """Each name a core answers to, as Recalbox writes it, to its profile.""" + index = getattr(self, "_keys", None) + if index is None: + index = {} + for key, profile in load_emulator_profiles(str(EMULATORS_DIR)).items(): + for name in (key, *(str(c) for c in profile.get("cores") or [])): + index.setdefault(name.replace("-", "_").lower(), key) + self._keys = index + return index + + def required_value(self, fe: NativeFile) -> bool: + """Whether the cores the element names need the file. + + The element lists its cores, and each core's own entry for the file, + found by name, says whether that core needs it. The md5 pairing + takes one entry only: saturn/saturn_bios.bin names yabause, + yabasanshiro and kronos, which require it, and its md5 paired it + with the beetle_saturn entry. The merged flag is true when any core + needs the file: cdi/cdibios.zip names same_cdi, which declares no + such set, and became mandatory because MAME requires it. Where none + of the element's cores declares the file, the platform's value + stands. + """ + entries = [fe.truth] if fe.truth else [] + entries += [ + e for e in fe.namesakes + if e is not fe.truth and self._same_file(e, fe.platform or {}) + ] + if not entries: + return fe.required + index = self._profile_keys() + named = { + index.get(core.rsplit("/", 1)[-1].replace("-", "_").lower(), "") + for core in fe.cores() + } - {""} + readers: set[str] = set() + requirers: set[str] = set() + for entry in entries: + cores = set(entry.get("_cores") or ()) & named + readers |= cores + required_by = entry.get("_required_by") + if required_by is None: + if entry.get("required") is not False: + requirers |= cores + else: + requirers |= cores & set(required_by) + if not readers: + if fe.platform is not None and fe.platform.get("required") is not None: + return bool(fe.platform["required"]) + return fe.required + return bool(requirers) + + @staticmethod + def _same_file(entry: dict, declared: dict) -> bool: + """Whether a truth entry of that name describes this element's file. + + Its path or its name in the same directory does. A name under an + unrelated directory does too: kronos reads kronos/saturn_bios.bin, + and Recalbox files the same BIOS under saturn/. A name in another + directory of the same tree does not: bluemsx reads + Machines/Shared Roms/KANJI.rom, which is not Recalbox's + Machines/MSX2+ - European/KANJI.rom. + """ + if by_destination(entry, declared) or by_name(entry, declared): + return True + theirs = str(declared.get("destination") or declared.get("name", "")).split("/")[:-1] + ours = str(entry.get("path") or entry.get("name", "")).split("/")[:-1] + return not {d.casefold() for d in theirs} & {d.casefold() for d in ours} + def _bios_element(self, fe: NativeFile, native_id: str) -> str: attrs = [f"path={quoteattr(self._path(fe))}"] attrs.append(f'md5={quoteattr(",".join(fe.hashes("md5")))}') attrs.append(f'core={quoteattr(",".join(fe.cores()))}') - if not fe.required: + if not self.required_value(fe): attrs.append('mandatory="false"') elif fe.native("mandatory_declared", None) is True: attrs.append('mandatory="true"') @@ -184,6 +256,19 @@ class Exporter(BaseExporter): return False return super().states(fe, field_name) + def lands(self, fe: NativeFile) -> bool: + """An element of theirs the render cannot rewrite is still in the + file, written back as Recalbox wrote it.""" + return self.writable(fe) or id(fe) in getattr(self, "_held_whole", {}) + + def withheld(self) -> list[str]: + """Each element kept as written because the truth names no md5.""" + return [ + f"{label} keeps its md5: the truth accepts another dump and " + "names no md5 for it, which es_bios.xsd requires" + for label in sorted(getattr(self, "_held_whole", {}).values()) + ] + @classmethod def writable(cls, fe: NativeFile, require: str = "") -> bool: """es_bios.xsd makes md5 and core required: without them, no element. @@ -234,6 +319,21 @@ class Exporter(BaseExporter): for s in root.iter("system") ] + # Elements of theirs written back as they stand, by (platform, path). + held = { + (platform, " ".join(child.get("path", "").split())) + for platform, _, children in theirs + for child in children + if isinstance(child, dict) + } + self._held_whole = { + id(fe): f"{system.native_id}/{self._path(fe)}" + for system in systems.values() + for fe in system.files + if fe.platform is not None + and not self.writable(fe) + and (system.native_id, " ".join(self._path(fe).split())) in held + } ours: dict[str, tuple[NativeSystem, dict[str, tuple[NativeFile, str]]]] = {} for system in systems.values(): writable = [fe for fe in system.files if self.writable(fe)] diff --git a/scripts/exporter/retropie_exporter.py b/scripts/exporter/retropie_exporter.py index 1f2bc27a..802ad57f 100644 --- a/scripts/exporter/retropie_exporter.py +++ b/scripts/exporter/retropie_exporter.py @@ -316,6 +316,7 @@ class Exporter(BaseExporter): str(a).lower() for a in (fe.native("aliases", []) or []) ) self._skipped: dict[str, list[str]] = {} + self._named: set[int] = set() produced: dict[str, str] = {} def skip(reason: str, module: str) -> None: @@ -360,7 +361,8 @@ class Exporter(BaseExporter): | {str(a).lower() for a in (fe.native("aliases", []) or [])}) & listed and (slot := self._slot_of(fe)) is not None } - missing = self._in_search_order(self._one_per_slot(candidates, filled)) + proposed = self._one_per_slot(candidates, filled) + missing = self._in_search_order(proposed) if not missing: continue @@ -383,9 +385,21 @@ class Exporter(BaseExporter): f'rp_module_help="{new_help}"', 1, ) + self._named.update(id(fe) for fe in proposed) return produced + def lands(self, fe: NativeFile) -> bool: + """An addition lands only where a help sentence now names it. + + Every file a profiled core reads is writable in principle, yet the + render appends names to a handful of sentences: counting the rest + listed 1360 additions for one changed scriptmodule. + """ + if fe.platform is not None: + return self.writable(fe) + return id(fe) in getattr(self, "_named", set()) + def outcome( self, systems: dict[str, NativeSystem], diff --git a/scripts/exporter/romm_exporter.py b/scripts/exporter/romm_exporter.py index 2786ae3b..74f09ff0 100644 --- a/scripts/exporter/romm_exporter.py +++ b/scripts/exporter/romm_exporter.py @@ -26,6 +26,10 @@ SOURCE_URL = ( ) +# Fixture field, model field, in the order RomM writes them. +_FIELDS = (("size", "size"), ("crc", "crc32"), ("md5", "md5"), ("sha1", "sha1")) + + class Exporter(BaseExporter): """Write RomM's known_bios_files.json, corrected.""" @@ -35,6 +39,8 @@ class Exporter(BaseExporter): # addition that claims each other key first: both set by render. self._platform_keys: set[tuple[str, str]] = set() self._first_addition: dict[tuple[str, str], int] = {} + # Entries of theirs the truth takes over without a size: left whole. + self._unsized: dict[int, str] = {} @staticmethod def platform_name() -> str: @@ -112,6 +118,7 @@ class Exporter(BaseExporter): if fe.platform is not None } self._first_addition = {} + self._unsized = {} self.normalized: list[str] = [] self.normalized_values: list[tuple[NativeFile, str, str, str]] = [] for system in sorted(systems.values(), key=lambda s: s.native_id): @@ -133,11 +140,22 @@ class Exporter(BaseExporter): # Their entry keeps its fields and their order, ours fill in. entry: OrderedDict[str, str] = OrderedDict(output.get(key, {})) # The fixture states every value as a string, size included. - # Where the model settles no size, RomM's own value stands. # str(None) wrote "None", and RomM's int() on it raised. size = fe.size() - if size is None and fe.platform is not None: - size = fe.platform.get("size") + if size is None and fe.platform is not None and fe.platform.get("size"): + # The truth took the entry over without a size: RomM's + # size describes the dump the truth rejects, and RomM + # compares the size before any hash, so the new hashes + # beside it never verify. The entry stays as written. + self._unsized[id(fe)] = key + if key not in output: + output[key] = OrderedDict( + (field, value) + for field, name in _FIELDS + if (value := ",".join(_hash_values(fe.platform, name)) + if name != "size" else str(fe.platform["size"])) + ) + continue if size is not None: self._write(entry, "size", str(int(size)), fe, "size") for field, hash_name in (("crc", "crc32"), ("md5", "md5"), ("sha1", "sha1")): @@ -160,6 +178,20 @@ class Exporter(BaseExporter): does not keep.""" return bool(_hash_values(fe.platform or {}, name)) and not fe.hashes(name) + def states(self, fe: NativeFile, field_name: str) -> bool: + """An entry left whole carries none of the truth's values.""" + if id(fe) in self._unsized: + return False + return super().states(fe, field_name) + + def withheld(self) -> list[str]: + """Each entry kept whole for want of the new dump's size.""" + return [ + f"{key} keeps its values: the truth states no size for the new " + "dump, and RomM compares the size before any hash" + for key in sorted(self._unsized.values()) + ] + def written(self, fe: NativeFile, field_name: str) -> str: """A record holds one value per field, the one record_hash names.""" return fe.record_hash(field_name) diff --git a/tests/test_export_counts.py b/tests/test_export_counts.py index 740f9778..a1a2f490 100644 --- a/tests/test_export_counts.py +++ b/tests/test_export_counts.py @@ -913,7 +913,8 @@ class TheSummaryCountsWhatTheFileCarries(unittest.TestCase): return NativeFile( "scph5501.bin", "scph5501.bin", "psx", platform={"size": 524288, "crc32": "deadbeef", "md5": A, "sha1": "1" * 40}, - truth={"md5": B}, + # With a size of its own: without one, RomM keeps its entry whole. + truth={"md5": B, "size": 524288}, ) def test_romm_drops_the_hashes_it_counts_cleared(self): diff --git a/tests/test_export_report.py b/tests/test_export_report.py index 600e8982..135e80d5 100644 --- a/tests/test_export_report.py +++ b/tests/test_export_report.py @@ -7,7 +7,6 @@ file from and no list to check the diff against. from __future__ import annotations -import json import re import sys import tempfile @@ -289,6 +288,37 @@ class ReportedChangesAreTheDiff(unittest.TestCase): } self.assertEqual(reported_added, added) + def test_retropie(self): + """Each addition is a name a help sentence gains, and no other: the + report counted every file a profiled core reads as added.""" + from common import load_platform_config, native_layer + from exporter import discover_exporters + from exporter.baseline import build_native_model + + archive = UPSTREAM_CACHE / "retropie" / "RetroPie-Setup.tar.gz" + if not archive.is_file(): + self.skipTest("no cached original for retropie") + config = load_platform_config("retropie", str(ROOT / "platforms")) + truth = export_native.current_truth("retropie", config, str(ROOT / "platforms")) + scraped = native_layer(config) + systems, report = build_native_model(truth, scraped) + exporter = discover_exporters()["retropie"]() + originals = exporter.unpack(archive.read_bytes()) + produced = exporter.render(systems, report, originals, scraped) + self.assertTrue(produced, "nothing changed, the comparison proves nothing") + gained: set[str] = set() + for relative, text in produced.items(): + before = exporter.modules({relative: originals[relative]})[relative][1] + after = exporter.modules({relative: text})[relative][1] + gained |= exporter._listed(after) - exporter._listed(before) + changes = export_native.landed_changes(exporter, systems).records + reported = {c["name"].lower() for c in changes if c["kind"] == "added"} + self.assertEqual(reported, gained) + self.assertEqual( + sum(c["kind"] == "added" for c in changes), len(gained), + "one name counted under several entries", + ) + class ThePageShowsEachValueBeforeAndAfter(unittest.TestCase): """A list of names gave a maintainer nothing to check a correction diff --git a/tests/test_exporters.py b/tests/test_exporters.py index 402b2e66..24e17ef4 100644 --- a/tests/test_exporters.py +++ b/tests/test_exporters.py @@ -43,6 +43,7 @@ from export_native import ( # noqa: E402 SOURCES_INDEX, collect_originals, fetch, + landed_changes, pinned_base, source_key, ) @@ -1084,6 +1085,167 @@ class RecalboxExport(unittest.TestCase): } self.assertEqual(blocks, {pentagon: ["3" * 32], scorpion: [new]}) + COMPOSITE_SCRAPED = { + "zip_digest": "composite", + "systems": {"snk-neogeo-cd": {"native_id": "neogeocd", "files": [{ + "name": "neocdz.zip", "destination": "neocdz.zip", "md5": "a" * 32, + "native_system": "neogeocd", "core": "libretro/fbneo", + "required": True, "zip_digest": "composite", + }]}}, + } + + def test_a_composite_md5_is_not_replaced_by_a_container_md5(self): + """Recalbox hashes a .zip by its members (Bios.cpp:64-68, + Zip::Md5Composite): the truth's container md5 is another digest.""" + truth = {"systems": {"snk-neogeo-cd": {"files": [ + {"name": "neocdz.zip", "md5": "b" * 32, "required": True, "_cores": ["geolith"]}, + {"name": "boot-data.zip", "md5": "c" * 32, "required": False, "_cores": ["geolith"]}, + ]}}} + systems, report = build_native_model(truth, self.COMPOSITE_SCRAPED) + exporter = discover_exporters()["recalbox"]() + produced = exporter.render(systems, report, {}, None)["es_bios.xml"] + md5_of = {b.get("path"): b.get("md5") for b in ET.fromstring(produced).iter("bios")} + self.assertEqual(md5_of, {"neocdz.zip": "a" * 32}) + self.assertEqual(landed_changes(exporter, systems).records, []) + + def test_a_container_md5_never_pairs_with_a_composite(self): + """neocd.bin's md5 equals the composite of a neocdz.zip: by hash the + two would be read as one renamed file.""" + truth = {"systems": {"snk-neogeo-cd": {"files": [ + {"name": "neocd.bin", "md5": "a" * 32, "required": True, "_cores": ["neocd"]}, + ]}}} + systems, _ = build_native_model(truth, self.COMPOSITE_SCRAPED) + declared = next(fe for s in systems.values() for fe in s.files if fe.platform) + self.assertIsNone(declared.truth) + + def test_the_live_export_keeps_every_zip_md5(self): + """No element of es_bios.xml names a .zip under a new md5: none can + be stated as the composite Recalbox computes.""" + path = REPO_ROOT / "exports" / "recalbox" / "es_bios.xml" + original = UPSTREAM_CACHE / "recalbox" / "es_bios.xml" + if not original.is_file(): + self.skipTest("no cached original for recalbox") + + def zips(text: str) -> dict[tuple[str, str], str]: + return { + (s.get("platform"), b.get("path")): ",".join(sorted( + v.strip().lower() for v in b.get("md5", "").split(",") + )) + for s in ET.fromstring(text).iter("system") + for b in s.iter("bios") + if b.get("path", "").lower().endswith(".zip") + } + + before = zips(original.read_text(encoding="utf-8")) + after = zips(path.read_text(encoding="utf-8")) + self.assertEqual({k: v for k, v in after.items() if k in before}, before) + self.assertEqual(set(after) - set(before), set()) + + def test_mandatory_follows_the_cores_the_element_names(self): + """cdi/cdibios.zip names libretro/same_cdi, which does not read the + set: MAME requiring it says nothing about that element.""" + scraped = {"systems": {"philips-cdi": {"native_id": "cdi", "files": [ + {"name": "cdibios.zip", "destination": "cdi/cdibios.zip", "md5": "a" * 32, + "native_system": "cdi", "core": "libretro/same_cdi", "required": False}, + {"name": "cdimono1.zip", "destination": "cdi/cdimono1.zip", "md5": "b" * 32, + "native_system": "cdi", "core": "libretro/same_cdi", "required": False}, + ]}}} + truth = {"systems": {"philips-cdi": {"files": [ + {"name": "cdibios.zip", "required": True, "_cores": ["mame0278"], + "_required_by": ["mame0278"]}, + {"name": "cdimono1.zip", "required": True, "_cores": ["same_cdi", "mame0278"], + "_required_by": ["same_cdi"]}, + ]}}} + systems, report = build_native_model(truth, scraped) + exporter = discover_exporters()["recalbox"]() + produced = exporter.render(systems, report, {}, None)["es_bios.xml"] + mandatory = { + b.get("path"): b.get("mandatory") for b in ET.fromstring(produced).iter("bios") + } + self.assertEqual(mandatory, {"cdi/cdibios.zip": "false", "cdi/cdimono1.zip": None}) + changes = landed_changes(exporter, systems).records + self.assertEqual( + [(c["name"], c["old"], c["new"]) for c in changes], + [("cdimono1.zip", False, True)], + ) + + def test_mandatory_reads_the_named_cores_not_the_hash_pairing(self): + """saturn/saturn_bios.bin names yabause, yabasanshiro and kronos, + which require it. Its md5 paired it with the beetle_saturn entry, + which does not, and the element went out mandatory="false".""" + md5 = "af5828fdff51384f99b3c4926be27762" + scraped = {"systems": {"sega-saturn": {"native_id": "saturn", "files": [{ + "name": "saturn_bios.bin", "destination": "saturn/saturn_bios.bin", + "md5": md5, "native_system": "saturn", "required": True, + "core": "libretro/yabause,libretro/kronos", + }]}}} + truth = {"systems": {"sega-saturn": {"files": [ + {"name": "saturn_bios.bin", "path": "saturn_bios.bin", "md5": md5, + "required": True, "_cores": ["beetle_saturn", "kronos", "yabause"], + "_required_by": ["beetle_saturn"]}, + {"name": "saturn_bios.bin", "path": "kronos/saturn_bios.bin", + "required": True, "_cores": ["kronos", "yabause"], + "_required_by": ["kronos", "yabause"]}, + ]}}} + systems, report = build_native_model(truth, scraped) + exporter = discover_exporters()["recalbox"]() + declared = next(fe for s in systems.values() for fe in s.files if fe.platform) + self.assertEqual(declared.truth["_required_by"], ["beetle_saturn"]) + produced = exporter.render(systems, report, {}, None)["es_bios.xml"] + element = next( + b for b in ET.fromstring(produced).iter("bios") + if b.get("path") == "saturn/saturn_bios.bin" + ) + self.assertNotEqual(element.get("mandatory"), "false") + self.assertEqual( + [c for c in landed_changes(exporter, systems).records + if c["kind"] == "requirement_corrected"], + [], + ) + + def test_a_namesake_elsewhere_in_the_same_tree_is_another_file(self): + """bluemsx reads Machines/Shared Roms/KANJI.rom, not Recalbox's + Machines/MSX2+ - European/KANJI.rom.""" + scraped = {"systems": {"msx": {"native_id": "msx2", "files": [{ + "name": "KANJI.rom", "destination": "Machines/MSX2+ - European/KANJI.rom", + "md5": "a" * 32, "native_system": "msx2", "required": True, + "core": "libretro/bluemsx", + }]}}} + truth = {"systems": {"msx": {"files": [{ + "name": "KANJI.rom", "path": "Machines/Shared Roms/KANJI.rom", + "md5": "b" * 32, "required": False, "_cores": ["bluemsx"], "_required_by": [], + }]}}} + systems, _ = build_native_model(truth, scraped) + exporter = discover_exporters()["recalbox"]() + declared = next(fe for s in systems.values() for fe in s.files if fe.platform) + self.assertTrue(exporter.required_value(declared)) + + def test_an_element_kept_as_written_is_not_counted_lost(self): + """The truth takes the entry on sha1 and size and names no md5: the + element is written back whole, and the run counted it a platform + entry the format cannot keep.""" + scraped = {"systems": {"x": {"native_id": "x", "files": [{ + "name": "a.bin", "destination": "x/a.bin", "md5": "a" * 32, "size": 100, + "native_system": "x", "core": "libretro/foo", "required": True, + }]}}} + truth = {"systems": {"x": {"files": [{ + "name": "a.bin", "path": "x/a.bin", "sha1": "b" * 40, "size": 200, + "required": True, "_cores": ["foo"], + }]}}} + element = f' ' + original = ( + '\n\n' + f' \n{element}\n \n\n' + ) + systems, report = build_native_model(truth, scraped) + exporter = discover_exporters()["recalbox"]() + produced = exporter.render(systems, report, {"es_bios.xml": original}, None) + self.assertIn(element, produced["es_bios.xml"]) + fe = next(fe for s in systems.values() for fe in s.files) + self.assertTrue(exporter.lands(fe)) + self.assertEqual(landed_changes(exporter, systems).records, []) + self.assertEqual(len(exporter.withheld()), 1) + def test_a_truncated_export_is_reported(self): exporter, systems, _ = self._render() empty = { @@ -1424,9 +1586,17 @@ class RommSizeIsNeverNone(unittest.TestCase): produced = exporter.render(systems, report, {}, None) return exporter, systems, produced, json.loads(produced["known_bios_files.json"]) - def test_the_platform_size_stands_when_none_is_settled(self): - _, _, _, data = self._export(524288) - self.assertEqual(data["psx:scph5501.bin"]["size"], "524288") + def test_an_entry_the_truth_takes_without_a_size_stays_whole(self): + """RomM compares the size before any hash: the new md5 beside the + old size never verified, and the report said the size was removed.""" + from export_native import landed_changes # noqa: PLC0415 + + exporter, systems, _, data = self._export(524288) + self.assertEqual( + data["psx:scph5501.bin"], {"size": "524288", "md5": "a" * 32} + ) + self.assertEqual(landed_changes(exporter, systems).records, []) + self.assertEqual(len(exporter.withheld()), 1) def test_no_size_is_written_rather_than_none(self): exporter, systems, produced, data = self._export(None) @@ -1585,6 +1755,31 @@ class MisterDatabaseComesBackAsWritten(unittest.TestCase): export_native._write_produced(Path(tmp), {"a.zip": b"PK\x03\x04\xff"}, {}) self.assertEqual((Path(tmp) / "a.zip").read_bytes(), b"PK\x03\x04\xff") + def test_a_new_hash_without_a_size_leaves_the_entry_whole(self): + """The Downloader checks each entry by size (fetch_file_worker.py:127): + the old size beside the new hash described no file, and the report + announced a size removal the database did not carry.""" + from export_native import landed_changes # noqa: PLC0415 + + database = {"db_id": "bios_db", "files": { + "games/X/boot.rom": {"hash": "a" * 32, "size": 100, "url": "u"}, + }} + original = json.dumps(database) + scraped = {"systems": {"x": {"files": [{ + "name": "boot.rom", "destination": "X/boot.rom", + "md5": "a" * 32, "size": 100, + }]}}} + truth = {"systems": {"x": {"files": [{ + "name": "boot.rom", "path": "X/boot.rom", "md5": "b" * 32, "_cores": ["x"], + }]}}} + exporter = discover_exporters()["misterfpga"]() + systems, report = build_native_model(truth, scraped) + produced = exporter.render(systems, report, {"bios_db.json": original}, scraped) + self.assertEqual(produced["bios_db.json"], original) + self.assertEqual(landed_changes(exporter, systems).records, []) + self.assertEqual(len(exporter.withheld()), 1) + self.assertEqual(exporter.validate(systems, produced), []) + def test_an_empty_truth_hands_back_the_database(self): archive = UPSTREAM_CACHE / "misterfpga" / "bios_db.json.zip" if not archive.exists():