mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-18 06:42:33 -05:00
Compare commits
15 Commits
1c0c502258
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e90095abd9 | ||
|
|
c8b27cac5e | ||
|
|
1d191ff190 | ||
|
|
5a6b54c195 | ||
|
|
e5ef253892 | ||
|
|
4ba8648ec2 | ||
|
|
617f5cc364 | ||
|
|
d4ce6df911 | ||
|
|
d0846ed78f | ||
|
|
07b4e55053 | ||
|
|
690e897ca7 | ||
|
|
7471c176c3 | ||
|
|
e72773e46d | ||
|
|
3c0c1cec02 | ||
|
|
faf4236463 |
BIN
.github/assets/banner-light.png
vendored
Normal file
BIN
.github/assets/banner-light.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 246 KiB |
BIN
.github/assets/banner.png
vendored
Normal file
BIN
.github/assets/banner.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 135 KiB |
BIN
.github/assets/favicon.png
vendored
Normal file
BIN
.github/assets/favicon.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
BIN
.github/assets/logo.png
vendored
Normal file
BIN
.github/assets/logo.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 72 KiB |
BIN
.github/assets/social-preview.png
vendored
Normal file
BIN
.github/assets/social-preview.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 75 KiB |
14
README.md
14
README.md
@@ -1,4 +1,6 @@
|
|||||||
# RetroBIOS
|
<p align="center">
|
||||||
|
<img src=".github/assets/banner.png" alt="RetroBIOS" width="400">
|
||||||
|
</p>
|
||||||
|
|
||||||
Complete BIOS and firmware packs for Batocera, BizHawk, EmuDeck, Lakka, Recalbox, RetroArch, RetroBat, RetroDECK, RetroPie, and RomM.
|
Complete BIOS and firmware packs for Batocera, BizHawk, EmuDeck, Lakka, Recalbox, RetroArch, RetroBat, RetroDECK, RetroPie, and RomM.
|
||||||
|
|
||||||
@@ -116,16 +118,16 @@ To keep packs accurate, each file is checked against the emulator's source code.
|
|||||||
3. **Build packs** - include baseline files plus what each platform's cores need
|
3. **Build packs** - include baseline files plus what each platform's cores need
|
||||||
4. **Verify** - run platform-native checks and emulator-level validation
|
4. **Verify** - run platform-native checks and emulator-level validation
|
||||||
|
|
||||||
## Community tools
|
|
||||||
|
|
||||||
- [BIOS Preservation Tool](https://github.com/monster-penguin/BIOS-Preservation-Tool) by [monster-penguin](https://github.com/monster-penguin) - scan, verify, and stage your own BIOS collection using RetroBIOS hash metadata
|
|
||||||
|
|
||||||
## Contributors
|
## Contributors
|
||||||
|
|
||||||
<a href="https://github.com/PixNyb"><img src="https://avatars.githubusercontent.com/u/40770831?v=4" width="50" title="PixNyb"></a>
|
<a href="https://github.com/PixNyb"><img src="https://avatars.githubusercontent.com/u/40770831?v=4" width="50" title="PixNyb"></a>
|
||||||
<a href="https://github.com/monster-penguin"><img src="https://avatars.githubusercontent.com/u/266009589?v=4" width="50" title="monster-penguin"></a>
|
<a href="https://github.com/monster-penguin"><img src="https://avatars.githubusercontent.com/u/266009589?v=4" width="50" title="monster-penguin"></a>
|
||||||
|
|
||||||
|
|
||||||
|
## Community tools
|
||||||
|
|
||||||
|
- [BIOS Preservation Tool](https://github.com/monster-penguin/BIOS-Preservation-Tool) by [monster-penguin](https://github.com/monster-penguin) - scan, verify, and stage your own BIOS collection using RetroBIOS hash metadata
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
||||||
@@ -134,4 +136,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|||||||
|
|
||||||
This repository provides BIOS files for personal backup and archival purposes.
|
This repository provides BIOS files for personal backup and archival purposes.
|
||||||
|
|
||||||
*Auto-generated on 2026-04-02T13:38:26Z*
|
*Auto-generated on 2026-04-03T12:59:52Z*
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"generated_at": "2026-04-02T12:45:07Z",
|
"generated_at": "2026-04-18T07:32:14Z",
|
||||||
"total_files": 7302,
|
"total_files": 7302,
|
||||||
"total_size": 9190488848,
|
"total_size": 9190488848,
|
||||||
"files": {
|
"files": {
|
||||||
@@ -30814,8 +30814,8 @@
|
|||||||
"adler32": "87461161"
|
"adler32": "87461161"
|
||||||
},
|
},
|
||||||
"65d07426b520ddd3115d40f255511e0fd2e20ae7": {
|
"65d07426b520ddd3115d40f255511e0fd2e20ae7": {
|
||||||
"path": "bios/GCE/Vectrex/VEC_MineStorm.vec",
|
"path": "bios/GCE/Vectrex/VEC_Minestorm.vec",
|
||||||
"name": "VEC_MineStorm.vec",
|
"name": "VEC_Minestorm.vec",
|
||||||
"size": 8192,
|
"size": 8192,
|
||||||
"sha1": "65d07426b520ddd3115d40f255511e0fd2e20ae7",
|
"sha1": "65d07426b520ddd3115d40f255511e0fd2e20ae7",
|
||||||
"md5": "ab082fa8c8e632dd68589a8c7741388f",
|
"md5": "ab082fa8c8e632dd68589a8c7741388f",
|
||||||
@@ -89077,7 +89077,7 @@
|
|||||||
"VEC_Bios.bin": [
|
"VEC_Bios.bin": [
|
||||||
"b9bbf5bb0eac52d039a4a993a2d8064b862c9e28"
|
"b9bbf5bb0eac52d039a4a993a2d8064b862c9e28"
|
||||||
],
|
],
|
||||||
"VEC_MineStorm.vec": [
|
"VEC_Minestorm.vec": [
|
||||||
"65d07426b520ddd3115d40f255511e0fd2e20ae7"
|
"65d07426b520ddd3115d40f255511e0fd2e20ae7"
|
||||||
],
|
],
|
||||||
"CHRGEN.BIN": [
|
"CHRGEN.BIN": [
|
||||||
@@ -89087,8 +89087,7 @@
|
|||||||
"aea7a4c0c7ffe1f212f7b9faecfd728862ac6904"
|
"aea7a4c0c7ffe1f212f7b9faecfd728862ac6904"
|
||||||
],
|
],
|
||||||
"doom2.wad": [
|
"doom2.wad": [
|
||||||
"6d559b7ceece4f5ad457415049711992370d520a",
|
"6d559b7ceece4f5ad457415049711992370d520a"
|
||||||
"7ec7652fcfce8ddc6e801839291f0e28ef1d5ae7"
|
|
||||||
],
|
],
|
||||||
"freedoom1.wad": [
|
"freedoom1.wad": [
|
||||||
"97bb88094a51457a8dcad98c58be22a2d0fa9a37"
|
"97bb88094a51457a8dcad98c58be22a2d0fa9a37"
|
||||||
@@ -101523,27 +101522,6 @@
|
|||||||
"samesame.zip": [
|
"samesame.zip": [
|
||||||
"cdb09d3ffaa867ff9e7387cf1934e9011565d546"
|
"cdb09d3ffaa867ff9e7387cf1934e9011565d546"
|
||||||
],
|
],
|
||||||
"kvb1.wav": [
|
|
||||||
"6a582aebcefd6e2a97bdd8968202aab9851a889c"
|
|
||||||
],
|
|
||||||
"kvb2.wav": [
|
|
||||||
"60a425c6bde3226ab731995562716321be20fc49"
|
|
||||||
],
|
|
||||||
"kvb3.wav": [
|
|
||||||
"5e34125c4d6c209b21d1c892f3df0ec1644fd0d8"
|
|
||||||
],
|
|
||||||
"kvs1.wav": [
|
|
||||||
"b094c2c1fca81a0e531e0541f302346150ec4604"
|
|
||||||
],
|
|
||||||
"kvs2.wav": [
|
|
||||||
"8b83b2eea01b3e08ceb885aeb153d4084bddb63c"
|
|
||||||
],
|
|
||||||
"kvs3.wav": [
|
|
||||||
"86896a1e272d8715489de9b407f0b8a42f82d4a0"
|
|
||||||
],
|
|
||||||
"kvshared.wav": [
|
|
||||||
"9adf10cdf1de833b194c7d8797ad1f041ad98dd3"
|
|
||||||
],
|
|
||||||
"atari_osb.rom": [
|
"atari_osb.rom": [
|
||||||
"db1031585968cfc6ec2ecda5c9a5a52f61444a3b"
|
"db1031585968cfc6ec2ecda5c9a5a52f61444a3b"
|
||||||
],
|
],
|
||||||
@@ -101754,18 +101732,18 @@
|
|||||||
"kernal.318004-05.bin": [
|
"kernal.318004-05.bin": [
|
||||||
"7c7e07f016391174a557e790c4ef1cbe33512cdb"
|
"7c7e07f016391174a557e790c4ef1cbe33512cdb"
|
||||||
],
|
],
|
||||||
"characters-japanese.bin": [
|
|
||||||
"dae61ac03065aa2904af5c123ce821855898c555"
|
|
||||||
],
|
|
||||||
"kernel-japanese.bin": [
|
|
||||||
"c9ead45e6674d1042ca6199160e8583c23aeac22"
|
|
||||||
],
|
|
||||||
"basic.bin": [
|
"basic.bin": [
|
||||||
"587d1e90950675ab6b12d91248a3f0d640d02e8d"
|
"587d1e90950675ab6b12d91248a3f0d640d02e8d"
|
||||||
],
|
],
|
||||||
"characters-english.bin": [
|
"characters-english.bin": [
|
||||||
"4fd85ab6647ee2ac7ba40f729323f2472d35b9b4"
|
"4fd85ab6647ee2ac7ba40f729323f2472d35b9b4"
|
||||||
],
|
],
|
||||||
|
"characters-japanese.bin": [
|
||||||
|
"dae61ac03065aa2904af5c123ce821855898c555"
|
||||||
|
],
|
||||||
|
"kernel-japanese.bin": [
|
||||||
|
"c9ead45e6674d1042ca6199160e8583c23aeac22"
|
||||||
|
],
|
||||||
"kernel-ntsc.bin": [
|
"kernel-ntsc.bin": [
|
||||||
"06de7ec017a5e78bd6746d89c2ecebb646efeb19"
|
"06de7ec017a5e78bd6746d89c2ecebb646efeb19"
|
||||||
],
|
],
|
||||||
@@ -101818,9 +101796,6 @@
|
|||||||
"sl90025.bin": [
|
"sl90025.bin": [
|
||||||
"759e2ed31fbde4a2d8daf8b9f3e0dffebc90dae2"
|
"759e2ed31fbde4a2d8daf8b9f3e0dffebc90dae2"
|
||||||
],
|
],
|
||||||
"VEC_Minestorm.vec": [
|
|
||||||
"65d07426b520ddd3115d40f255511e0fd2e20ae7"
|
|
||||||
],
|
|
||||||
"Vectrex_Bios.bin": [
|
"Vectrex_Bios.bin": [
|
||||||
"b9bbf5bb0eac52d039a4a993a2d8064b862c9e28"
|
"b9bbf5bb0eac52d039a4a993a2d8064b862c9e28"
|
||||||
],
|
],
|
||||||
@@ -101849,15 +101824,6 @@
|
|||||||
"px-7_basic-bios1.rom": [
|
"px-7_basic-bios1.rom": [
|
||||||
"302afb5d8be26c758309ca3df611ae69cced2821"
|
"302afb5d8be26c758309ca3df611ae69cced2821"
|
||||||
],
|
],
|
||||||
"msx.rom": [
|
|
||||||
"409e82adac40f6bdd18eb6c84e8b2fbdc7fb5498"
|
|
||||||
],
|
|
||||||
"Machines/Shared Roms/MSX.rom": [
|
|
||||||
"409e82adac40f6bdd18eb6c84e8b2fbdc7fb5498"
|
|
||||||
],
|
|
||||||
"msx2.rom": [
|
|
||||||
"6103b39f1e38d1aa2d84b1c3219c44f1abb5436e"
|
|
||||||
],
|
|
||||||
"nms8250_basic-bios2.rom": [
|
"nms8250_basic-bios2.rom": [
|
||||||
"6103b39f1e38d1aa2d84b1c3219c44f1abb5436e"
|
"6103b39f1e38d1aa2d84b1c3219c44f1abb5436e"
|
||||||
],
|
],
|
||||||
@@ -101867,9 +101833,6 @@
|
|||||||
"nms8245_basic-bios2.rom": [
|
"nms8245_basic-bios2.rom": [
|
||||||
"6103b39f1e38d1aa2d84b1c3219c44f1abb5436e"
|
"6103b39f1e38d1aa2d84b1c3219c44f1abb5436e"
|
||||||
],
|
],
|
||||||
"msx2ext.rom": [
|
|
||||||
"5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02"
|
|
||||||
],
|
|
||||||
"nms8250_msx2sub.rom": [
|
"nms8250_msx2sub.rom": [
|
||||||
"5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02"
|
"5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02"
|
||||||
],
|
],
|
||||||
@@ -103332,6 +103295,9 @@
|
|||||||
"EXOS21.ROM": [
|
"EXOS21.ROM": [
|
||||||
"55315b20fecb4441a07ee4bc5dc7153f396e0a2e"
|
"55315b20fecb4441a07ee4bc5dc7153f396e0a2e"
|
||||||
],
|
],
|
||||||
|
"Machines/Shared Roms/MSX.rom": [
|
||||||
|
"409e82adac40f6bdd18eb6c84e8b2fbdc7fb5498"
|
||||||
|
],
|
||||||
"sony-playstation:239665b1a3dade1b5a52c06338011044": [
|
"sony-playstation:239665b1a3dade1b5a52c06338011044": [
|
||||||
"343883a7b555646da8cee54aadd2795b6e7dd070"
|
"343883a7b555646da8cee54aadd2795b6e7dd070"
|
||||||
],
|
],
|
||||||
@@ -132695,14 +132661,12 @@
|
|||||||
"81193965a374d77b99b4743d317824b53c3e3c78",
|
"81193965a374d77b99b4743d317824b53c3e3c78",
|
||||||
"8f70d1b74483ba3a37e86cf16c849d601a8c3d2c",
|
"8f70d1b74483ba3a37e86cf16c849d601a8c3d2c",
|
||||||
"759e2ed31fbde4a2d8daf8b9f3e0dffebc90dae2",
|
"759e2ed31fbde4a2d8daf8b9f3e0dffebc90dae2",
|
||||||
"65d07426b520ddd3115d40f255511e0fd2e20ae7",
|
|
||||||
"5a65b922b562cb1f57dab51b73151283f0e20c7a",
|
"5a65b922b562cb1f57dab51b73151283f0e20c7a",
|
||||||
"f9608bb4ad1cfe3640d02844c7ad8e0bcd974917",
|
"f9608bb4ad1cfe3640d02844c7ad8e0bcd974917",
|
||||||
"000ac11b702a4c42e40f135df12fa5f2f13e20a1",
|
"000ac11b702a4c42e40f135df12fa5f2f13e20a1",
|
||||||
"3656bb3bbc17d280d2016fe4f6ff3cded3082a41",
|
"3656bb3bbc17d280d2016fe4f6ff3cded3082a41",
|
||||||
"e998f0c441f4f1800ef44e42cd1659150206cf79",
|
"e998f0c441f4f1800ef44e42cd1659150206cf79",
|
||||||
"302afb5d8be26c758309ca3df611ae69cced2821",
|
"302afb5d8be26c758309ca3df611ae69cced2821",
|
||||||
"409e82adac40f6bdd18eb6c84e8b2fbdc7fb5498",
|
|
||||||
"6103b39f1e38d1aa2d84b1c3219c44f1abb5436e",
|
"6103b39f1e38d1aa2d84b1c3219c44f1abb5436e",
|
||||||
"5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02",
|
"5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02",
|
||||||
"5aff2d9b6efc723bc395b0f96f0adfa83cc54a49",
|
"5aff2d9b6efc723bc395b0f96f0adfa83cc54a49",
|
||||||
@@ -132865,6 +132829,7 @@
|
|||||||
"9451a1a09d8f75944dbd6f91193fc360f1de80ac",
|
"9451a1a09d8f75944dbd6f91193fc360f1de80ac",
|
||||||
"03bbb386cf530e804363acdfc1d13e64cf28af2e",
|
"03bbb386cf530e804363acdfc1d13e64cf28af2e",
|
||||||
"55315b20fecb4441a07ee4bc5dc7153f396e0a2e",
|
"55315b20fecb4441a07ee4bc5dc7153f396e0a2e",
|
||||||
|
"409e82adac40f6bdd18eb6c84e8b2fbdc7fb5498",
|
||||||
"343883a7b555646da8cee54aadd2795b6e7dd070",
|
"343883a7b555646da8cee54aadd2795b6e7dd070",
|
||||||
"15c94da3cc5a38a582429575af4198c487fe893c",
|
"15c94da3cc5a38a582429575af4198c487fe893c",
|
||||||
"73107d468fc7cb1d2c5b18b269715dd889ecef06",
|
"73107d468fc7cb1d2c5b18b269715dd889ecef06",
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ files:
|
|||||||
path: sysdata/otp.bin
|
path: sysdata/otp.bin
|
||||||
system: nintendo-3ds
|
system: nintendo-3ds
|
||||||
required: false
|
required: false
|
||||||
|
size: 256
|
||||||
validation: [size, crypto]
|
validation: [size, crypto]
|
||||||
note: "OTP data for console key derivation"
|
note: "OTP data for console key derivation"
|
||||||
source_ref: "src/core/hw/unique_data.cpp:126-167, src/core/hw/unique_data.cpp:213"
|
source_ref: "src/core/hw/unique_data.cpp:126-167, src/core/hw/unique_data.cpp:213"
|
||||||
@@ -67,6 +68,7 @@ files:
|
|||||||
path: nand/private/movable.sed
|
path: nand/private/movable.sed
|
||||||
system: nintendo-3ds
|
system: nintendo-3ds
|
||||||
required: false
|
required: false
|
||||||
|
size: 320
|
||||||
validation: [size, signature]
|
validation: [size, signature]
|
||||||
note: "console-unique key seed"
|
note: "console-unique key seed"
|
||||||
source_ref: "src/core/hw/unique_data.cpp:170-200, src/core/hw/unique_data.cpp:217"
|
source_ref: "src/core/hw/unique_data.cpp:170-200, src/core/hw/unique_data.cpp:217"
|
||||||
@@ -75,6 +77,7 @@ files:
|
|||||||
path: nand/rw/sys/SecureInfo_A
|
path: nand/rw/sys/SecureInfo_A
|
||||||
system: nintendo-3ds
|
system: nintendo-3ds
|
||||||
required: false
|
required: false
|
||||||
|
size: 273
|
||||||
validation: [size, signature]
|
validation: [size, signature]
|
||||||
note: "console serial and region data"
|
note: "console serial and region data"
|
||||||
source_ref: "src/core/hw/unique_data.cpp:43-92, src/core/hw/unique_data.cpp:205"
|
source_ref: "src/core/hw/unique_data.cpp:43-92, src/core/hw/unique_data.cpp:205"
|
||||||
@@ -83,6 +86,7 @@ files:
|
|||||||
path: nand/rw/sys/LocalFriendCodeSeed_B
|
path: nand/rw/sys/LocalFriendCodeSeed_B
|
||||||
system: nintendo-3ds
|
system: nintendo-3ds
|
||||||
required: false
|
required: false
|
||||||
|
size: 284
|
||||||
validation: [size, signature]
|
validation: [size, signature]
|
||||||
note: "friend code generation seed"
|
note: "friend code generation seed"
|
||||||
source_ref: "src/core/hw/unique_data.cpp:94-123, src/core/hw/unique_data.cpp:209"
|
source_ref: "src/core/hw/unique_data.cpp:94-123, src/core/hw/unique_data.cpp:209"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ core_classification: official_port
|
|||||||
source: "https://github.com/libretro/bsnes-libretro"
|
source: "https://github.com/libretro/bsnes-libretro"
|
||||||
upstream: "https://github.com/bsnes-emu/bsnes"
|
upstream: "https://github.com/bsnes-emu/bsnes"
|
||||||
logo: "https://raw.githubusercontent.com/bsnes-emu/bsnes/master/bsnes/target-bsnes/resource/bsnes.svg"
|
logo: "https://raw.githubusercontent.com/bsnes-emu/bsnes/master/bsnes/target-bsnes/resource/bsnes.svg"
|
||||||
profiled_date: "2026-03-23"
|
profiled_date: "2026-04-05"
|
||||||
core_version: "115"
|
core_version: "115"
|
||||||
display_name: "Nintendo - SNES / SFC (bsnes)"
|
display_name: "Nintendo - SNES / SFC (bsnes)"
|
||||||
cores: [bsnes]
|
cores: [bsnes]
|
||||||
@@ -29,71 +29,91 @@ files:
|
|||||||
# program ROM: 2048 x 24-bit words, data ROM: 1024 x 16-bit words
|
# program ROM: 2048 x 24-bit words, data ROM: 1024 x 16-bit words
|
||||||
|
|
||||||
- name: "dsp1.program.rom"
|
- name: "dsp1.program.rom"
|
||||||
size: 6144 # 0x1800
|
system: nintendo-snes
|
||||||
|
size: 6144
|
||||||
|
validation: [size]
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
note: "NEC uPD7725 program ROM for DSP1. HLE fallback available"
|
note: "NEC uPD7725 program ROM for DSP1"
|
||||||
source_ref: "sfc/cartridge/load.cpp:490-494, heuristics/super-famicom.cpp:601"
|
source_ref: "sfc/cartridge/load.cpp:490-494, heuristics/super-famicom.cpp:601"
|
||||||
|
|
||||||
- name: "dsp1.data.rom"
|
- name: "dsp1.data.rom"
|
||||||
size: 2048 # 0x800
|
system: nintendo-snes
|
||||||
|
size: 2048
|
||||||
|
validation: [size]
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
note: "NEC uPD7725 data ROM for DSP1. HLE fallback available"
|
note: "NEC uPD7725 data ROM for DSP1"
|
||||||
source_ref: "sfc/cartridge/load.cpp:498-503"
|
source_ref: "sfc/cartridge/load.cpp:498-503"
|
||||||
|
|
||||||
- name: "dsp1b.program.rom"
|
- name: "dsp1b.program.rom"
|
||||||
size: 6144 # 0x1800
|
system: nintendo-snes
|
||||||
|
size: 6144
|
||||||
|
validation: [size]
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
note: "NEC uPD7725 program ROM for DSP1B (default NEC identifier). HLE fallback available"
|
note: "NEC uPD7725 program ROM for DSP1B (default NEC identifier)"
|
||||||
source_ref: "heuristics/super-famicom.cpp:606"
|
source_ref: "heuristics/super-famicom.cpp:606"
|
||||||
|
|
||||||
- name: "dsp1b.data.rom"
|
- name: "dsp1b.data.rom"
|
||||||
size: 2048 # 0x800
|
system: nintendo-snes
|
||||||
|
size: 2048
|
||||||
|
validation: [size]
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
note: "NEC uPD7725 data ROM for DSP1B. HLE fallback available"
|
note: "NEC uPD7725 data ROM for DSP1B"
|
||||||
source_ref: "heuristics/super-famicom.cpp:606"
|
source_ref: "heuristics/super-famicom.cpp:606"
|
||||||
|
|
||||||
- name: "dsp2.program.rom"
|
- name: "dsp2.program.rom"
|
||||||
size: 6144 # 0x1800
|
system: nintendo-snes
|
||||||
|
size: 6144
|
||||||
|
validation: [size]
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
note: "NEC uPD7725 program ROM for DSP2 (Dungeon Master). HLE fallback available"
|
note: "NEC uPD7725 program ROM for DSP2 (Dungeon Master)"
|
||||||
source_ref: "sfc/cartridge/load.cpp:515-520, heuristics/super-famicom.cpp:602"
|
source_ref: "sfc/cartridge/load.cpp:515-520, heuristics/super-famicom.cpp:602"
|
||||||
|
|
||||||
- name: "dsp2.data.rom"
|
- name: "dsp2.data.rom"
|
||||||
size: 2048 # 0x800
|
system: nintendo-snes
|
||||||
|
size: 2048
|
||||||
|
validation: [size]
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
note: "NEC uPD7725 data ROM for DSP2. HLE fallback available"
|
note: "NEC uPD7725 data ROM for DSP2"
|
||||||
source_ref: "sfc/cartridge/load.cpp:498-503"
|
source_ref: "sfc/cartridge/load.cpp:498-503"
|
||||||
|
|
||||||
- name: "dsp3.program.rom"
|
- name: "dsp3.program.rom"
|
||||||
size: 6144 # 0x1800
|
system: nintendo-snes
|
||||||
|
size: 6144
|
||||||
|
validation: [size]
|
||||||
required: true
|
required: true
|
||||||
note: "NEC uPD7725 program ROM for DSP3 (SD Gundam GX). No HLE fallback"
|
note: "NEC uPD7725 program ROM for DSP3 (SD Gundam GX). No HLE fallback"
|
||||||
source_ref: "sfc/cartridge/load.cpp:531-534"
|
source_ref: "sfc/cartridge/load.cpp:531-534"
|
||||||
|
|
||||||
- name: "dsp3.data.rom"
|
- name: "dsp3.data.rom"
|
||||||
size: 2048 # 0x800
|
system: nintendo-snes
|
||||||
|
size: 2048
|
||||||
|
validation: [size]
|
||||||
required: true
|
required: true
|
||||||
note: "NEC uPD7725 data ROM for DSP3. No HLE fallback"
|
note: "NEC uPD7725 data ROM for DSP3. No HLE fallback"
|
||||||
source_ref: "sfc/cartridge/load.cpp:531-534"
|
source_ref: "sfc/cartridge/load.cpp:531-534"
|
||||||
|
|
||||||
- name: "dsp4.program.rom"
|
- name: "dsp4.program.rom"
|
||||||
size: 6144 # 0x1800
|
system: nintendo-snes
|
||||||
|
size: 6144
|
||||||
|
validation: [size]
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
note: "NEC uPD7725 program ROM for DSP4 (Top Gear 3000). HLE fallback available"
|
note: "NEC uPD7725 program ROM for DSP4 (Top Gear 3000)"
|
||||||
source_ref: "sfc/cartridge/load.cpp:522-528, heuristics/super-famicom.cpp:604-605"
|
source_ref: "sfc/cartridge/load.cpp:522-528, heuristics/super-famicom.cpp:604-605"
|
||||||
|
|
||||||
- name: "dsp4.data.rom"
|
- name: "dsp4.data.rom"
|
||||||
size: 2048 # 0x800
|
system: nintendo-snes
|
||||||
|
size: 2048
|
||||||
|
validation: [size]
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
note: "NEC uPD7725 data ROM for DSP4. HLE fallback available"
|
note: "NEC uPD7725 data ROM for DSP4"
|
||||||
source_ref: "sfc/cartridge/load.cpp:498-503"
|
source_ref: "sfc/cartridge/load.cpp:498-503"
|
||||||
|
|
||||||
# -- NEC uPD96050 coprocessor (ST010, ST011) --
|
# -- NEC uPD96050 coprocessor (ST010, ST011) --
|
||||||
@@ -101,27 +121,35 @@ files:
|
|||||||
# program ROM: 16384 x 24-bit words, data ROM: 2048 x 16-bit words
|
# program ROM: 16384 x 24-bit words, data ROM: 2048 x 16-bit words
|
||||||
|
|
||||||
- name: "st010.program.rom"
|
- name: "st010.program.rom"
|
||||||
size: 49152 # 0xC000
|
system: nintendo-snes
|
||||||
|
size: 49152
|
||||||
|
validation: [size]
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
note: "NEC uPD96050 program ROM for ST010. HLE fallback available"
|
note: "NEC uPD96050 program ROM for ST010"
|
||||||
source_ref: "sfc/cartridge/load.cpp:570-574, heuristics/super-famicom.cpp:583-587"
|
source_ref: "sfc/cartridge/load.cpp:570-574, heuristics/super-famicom.cpp:583-587"
|
||||||
|
|
||||||
- name: "st010.data.rom"
|
- name: "st010.data.rom"
|
||||||
size: 4096 # 0x1000
|
system: nintendo-snes
|
||||||
|
size: 4096
|
||||||
|
validation: [size]
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
note: "NEC uPD96050 data ROM for ST010. HLE fallback available"
|
note: "NEC uPD96050 data ROM for ST010"
|
||||||
source_ref: "sfc/cartridge/load.cpp:578-583"
|
source_ref: "sfc/cartridge/load.cpp:578-583"
|
||||||
|
|
||||||
- name: "st011.program.rom"
|
- name: "st011.program.rom"
|
||||||
size: 49152 # 0xC000
|
system: nintendo-snes
|
||||||
|
size: 49152
|
||||||
|
validation: [size]
|
||||||
required: true
|
required: true
|
||||||
note: "NEC uPD96050 program ROM for ST011 (2dan Morita Shougi). No HLE fallback"
|
note: "NEC uPD96050 program ROM for ST011 (2dan Morita Shougi). No HLE fallback"
|
||||||
source_ref: "sfc/cartridge/load.cpp:599-601, heuristics/super-famicom.cpp:586"
|
source_ref: "sfc/cartridge/load.cpp:599-601, heuristics/super-famicom.cpp:586"
|
||||||
|
|
||||||
- name: "st011.data.rom"
|
- name: "st011.data.rom"
|
||||||
size: 4096 # 0x1000
|
system: nintendo-snes
|
||||||
|
size: 4096
|
||||||
|
validation: [size]
|
||||||
required: true
|
required: true
|
||||||
note: "NEC uPD96050 data ROM for ST011. No HLE fallback"
|
note: "NEC uPD96050 data ROM for ST011. No HLE fallback"
|
||||||
source_ref: "sfc/cartridge/load.cpp:599-601"
|
source_ref: "sfc/cartridge/load.cpp:599-601"
|
||||||
@@ -131,13 +159,17 @@ files:
|
|||||||
# No HLE fallback exists
|
# No HLE fallback exists
|
||||||
|
|
||||||
- name: "st018.program.rom"
|
- name: "st018.program.rom"
|
||||||
size: 131072 # 0x20000 (128 KB)
|
system: nintendo-snes
|
||||||
|
size: 131072
|
||||||
|
validation: [size]
|
||||||
required: true
|
required: true
|
||||||
note: "ARM6 program ROM for ST018 (Hayazashi Nidan Morita Shougi). No HLE fallback"
|
note: "ARM6 program ROM for ST018 (Hayazashi Nidan Morita Shougi). No HLE fallback"
|
||||||
source_ref: "sfc/cartridge/load.cpp:379-385, armdsp/armdsp.hpp:31, heuristics/super-famicom.cpp:580"
|
source_ref: "sfc/cartridge/load.cpp:379-385, armdsp/armdsp.hpp:31, heuristics/super-famicom.cpp:580"
|
||||||
|
|
||||||
- name: "st018.data.rom"
|
- name: "st018.data.rom"
|
||||||
size: 32768 # 0x8000 (32 KB)
|
system: nintendo-snes
|
||||||
|
size: 32768
|
||||||
|
validation: [size]
|
||||||
required: true
|
required: true
|
||||||
note: "ARM6 data ROM for ST018. No HLE fallback"
|
note: "ARM6 data ROM for ST018. No HLE fallback"
|
||||||
source_ref: "sfc/cartridge/load.cpp:387-393, armdsp/armdsp.hpp:32"
|
source_ref: "sfc/cartridge/load.cpp:387-393, armdsp/armdsp.hpp:32"
|
||||||
@@ -148,11 +180,16 @@ files:
|
|||||||
# Built-in staticDataROM fallback also present for LLE when file missing
|
# Built-in staticDataROM fallback also present for LLE when file missing
|
||||||
|
|
||||||
- name: "cx4.data.rom"
|
- name: "cx4.data.rom"
|
||||||
size: 3072 # 0xC00
|
system: nintendo-snes
|
||||||
|
size: 3072
|
||||||
|
sha1: a002f4efba42775a31185d443f3ed1790b0e949a
|
||||||
|
md5: 037ac4296b6b6a5c47c440188d3c72e3
|
||||||
|
crc32: b6e76a6a
|
||||||
|
validation: [size]
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
note: "Hitachi HG51BS169 data ROM for Cx4 (Mega Man X2/X3). HLE fallback and built-in static ROM available"
|
note: "Hitachi HG51BS169 data ROM for Cx4 (Mega Man X2/X3). HLE fallback and built-in static ROM available"
|
||||||
source_ref: "sfc/cartridge/load.cpp:444-456, hitachidsp/hitachidsp.hpp:49, heuristics/super-famicom.cpp:597"
|
source_ref: "sfc/cartridge/load.cpp:444-456, hitachidsp/hitachidsp.hpp:49, heuristics/super-famicom.cpp:597, hitachidsp/data-rom.cpp:3 (staticDataROM[3072])"
|
||||||
|
|
||||||
# -- Super Game Boy cartridge ROM --
|
# -- Super Game Boy cartridge ROM --
|
||||||
# The SGB boot ROMs (256 bytes each) are embedded in icd/boot-roms.cpp.
|
# The SGB boot ROMs (256 bytes each) are embedded in icd/boot-roms.cpp.
|
||||||
@@ -160,23 +197,26 @@ files:
|
|||||||
# Core option bsnes_sgb_bios selects between SGB1.sfc and SGB2.sfc.
|
# Core option bsnes_sgb_bios selects between SGB1.sfc and SGB2.sfc.
|
||||||
|
|
||||||
- name: "SGB1.sfc"
|
- name: "SGB1.sfc"
|
||||||
|
system: nintendo-super-game-boy
|
||||||
required: false
|
required: false
|
||||||
note: "Super Game Boy 1 cartridge ROM. Needed to play Game Boy games via SGB mode"
|
note: "Super Game Boy 1 cartridge ROM, loaded when playing .gb/.gbc via SGB mode"
|
||||||
source_ref: "target-libretro/libretro.cpp:689,933, target-libretro/libretro_core_options.h:689"
|
source_ref: "target-libretro/libretro.cpp:926-935 (system_dir + sgb_bios), libretro.cpp:509 (core option bsnes_sgb_bios)"
|
||||||
|
|
||||||
- name: "SGB2.sfc"
|
- name: "SGB2.sfc"
|
||||||
|
system: nintendo-super-game-boy
|
||||||
required: false
|
required: false
|
||||||
note: "Super Game Boy 2 cartridge ROM. Uses dedicated oscillator for accurate GB speed"
|
note: "Super Game Boy 2 cartridge ROM, uses dedicated oscillator for accurate GB speed"
|
||||||
source_ref: "target-libretro/libretro.cpp:690,933, target-libretro/libretro_core_options.h:690"
|
source_ref: "target-libretro/libretro.cpp:926-935 (system_dir + sgb_bios), libretro.cpp:509 (core option bsnes_sgb_bios)"
|
||||||
|
|
||||||
# -- BS-X Satellaview BIOS --
|
# -- BS-X Satellaview BIOS --
|
||||||
# Required for loading .bs (BS Memory) format games.
|
# Required for loading .bs (BS Memory) format games.
|
||||||
# Hardcoded filename in libretro.cpp.
|
# Hardcoded filename in libretro.cpp.
|
||||||
|
|
||||||
- name: "BS-X.bin"
|
- name: "BS-X.bin"
|
||||||
|
system: nintendo-satellaview
|
||||||
required: true
|
required: true
|
||||||
note: "BS-X Satellaview BIOS ROM. Required for .bs games"
|
note: "BS-X Satellaview BIOS ROM, loaded from system_dir when running .bs games"
|
||||||
source_ref: "target-libretro/libretro.cpp:948"
|
source_ref: "target-libretro/libretro.cpp:944-951 (system_dir + BS-X.bin hardcoded, .bs extension branch)"
|
||||||
|
|
||||||
notes:
|
notes:
|
||||||
hle_available: true
|
hle_available: true
|
||||||
|
|||||||
@@ -35,9 +35,10 @@ files:
|
|||||||
system: nintendo-3ds
|
system: nintendo-3ds
|
||||||
description: "ARM9 bootrom"
|
description: "ARM9 bootrom"
|
||||||
required: false
|
required: false
|
||||||
|
size: 65536
|
||||||
validation: [size]
|
validation: [size]
|
||||||
source_ref: "src/core/hw/aes/key.cpp:162-172 LoadBootromKeys(), src/core/hw/rsa/rsa.cpp:55-65 InitSlots()"
|
source_ref: "src/core/hw/aes/key.cpp:162-172 LoadBootromKeys(), src/core/hw/rsa/rsa.cpp:55-65 InitSlots()"
|
||||||
note: "expected size 65536 bytes, provides AES and RSA keys"
|
note: "provides AES and RSA keys"
|
||||||
|
|
||||||
- name: shared_font.bin
|
- name: shared_font.bin
|
||||||
path: "Citra/sysdata/shared_font.bin"
|
path: "Citra/sysdata/shared_font.bin"
|
||||||
|
|||||||
@@ -720,7 +720,8 @@ files:
|
|||||||
# MSX (machine_name: "MSX")
|
# MSX (machine_name: "MSX")
|
||||||
# -------------------------------------------------------
|
# -------------------------------------------------------
|
||||||
- name: msx.rom
|
- name: msx.rom
|
||||||
path: MSX/msx.rom
|
aliases: [MSX.ROM]
|
||||||
|
path: MSX/MSX.ROM
|
||||||
description: "Generic MSX BIOS"
|
description: "Generic MSX BIOS"
|
||||||
size: 32768
|
size: 32768
|
||||||
crc32: "94ee12f3"
|
crc32: "94ee12f3"
|
||||||
@@ -768,7 +769,8 @@ files:
|
|||||||
source_ref: "Machines/Utility/ROMCatalogue.cpp:763-769"
|
source_ref: "Machines/Utility/ROMCatalogue.cpp:763-769"
|
||||||
|
|
||||||
- name: msx2.rom
|
- name: msx2.rom
|
||||||
path: MSX/msx2.rom
|
aliases: [MSX2.ROM]
|
||||||
|
path: MSX/MSX2.ROM
|
||||||
description: "Generic MSX2 BIOS"
|
description: "Generic MSX2 BIOS"
|
||||||
size: 32768
|
size: 32768
|
||||||
crc32: "6cdaf3a5"
|
crc32: "6cdaf3a5"
|
||||||
@@ -778,7 +780,8 @@ files:
|
|||||||
source_ref: "Machines/Utility/ROMCatalogue.cpp:771-778"
|
source_ref: "Machines/Utility/ROMCatalogue.cpp:771-778"
|
||||||
|
|
||||||
- name: msx2ext.rom
|
- name: msx2ext.rom
|
||||||
path: MSX/msx2ext.rom
|
aliases: [MSX2EXT.ROM]
|
||||||
|
path: MSX/MSX2EXT.ROM
|
||||||
description: "MSX2 extension ROM"
|
description: "MSX2 extension ROM"
|
||||||
size: 16384
|
size: 16384
|
||||||
crc32: "66237ecf"
|
crc32: "66237ecf"
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ files:
|
|||||||
|
|
||||||
- name: "cromwell_1024.bin"
|
- name: "cromwell_1024.bin"
|
||||||
path: "cromwell_1024.bin"
|
path: "cromwell_1024.bin"
|
||||||
|
size: 1048576
|
||||||
validation: [size]
|
validation: [size]
|
||||||
required: true
|
required: true
|
||||||
note: >
|
note: >
|
||||||
|
|||||||
@@ -244,7 +244,7 @@ files:
|
|||||||
- name: "fuse/128p-0.rom"
|
- name: "fuse/128p-0.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: true
|
required: true
|
||||||
md5: ""
|
|
||||||
size: 16384
|
size: 16384
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Pentagon 128K/512K/1024 ROM 0. Required for Pentagon machines."
|
note: "Pentagon 128K/512K/1024 ROM 0. Required for Pentagon machines."
|
||||||
@@ -253,7 +253,7 @@ files:
|
|||||||
- name: "fuse/128p-1.rom"
|
- name: "fuse/128p-1.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: true
|
required: true
|
||||||
md5: ""
|
|
||||||
size: 16384
|
size: 16384
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Pentagon 128K/512K/1024 ROM 1. Required for Pentagon machines."
|
note: "Pentagon 128K/512K/1024 ROM 1. Required for Pentagon machines."
|
||||||
@@ -262,7 +262,7 @@ files:
|
|||||||
- name: "fuse/trdos.rom"
|
- name: "fuse/trdos.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: true
|
required: true
|
||||||
md5: ""
|
|
||||||
size: 16384
|
size: 16384
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "TR-DOS ROM (Beta 128 disk interface). Used by Pentagon and Scorpion."
|
note: "TR-DOS ROM (Beta 128 disk interface). Used by Pentagon and Scorpion."
|
||||||
@@ -271,7 +271,7 @@ files:
|
|||||||
- name: "fuse/gluck.rom"
|
- name: "fuse/gluck.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: true
|
required: true
|
||||||
md5: ""
|
|
||||||
size: 16384
|
size: 16384
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Gluck ROM. Required for Pentagon 512K and 1024."
|
note: "Gluck ROM. Required for Pentagon 512K and 1024."
|
||||||
@@ -281,7 +281,7 @@ files:
|
|||||||
- name: "fuse/256s-0.rom"
|
- name: "fuse/256s-0.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: true
|
required: true
|
||||||
md5: ""
|
|
||||||
size: 16384
|
size: 16384
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Scorpion 256K ROM 0. Required for Scorpion machine."
|
note: "Scorpion 256K ROM 0. Required for Scorpion machine."
|
||||||
@@ -290,7 +290,7 @@ files:
|
|||||||
- name: "fuse/256s-1.rom"
|
- name: "fuse/256s-1.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: true
|
required: true
|
||||||
md5: ""
|
|
||||||
size: 16384
|
size: 16384
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Scorpion 256K ROM 1. Required for Scorpion machine."
|
note: "Scorpion 256K ROM 1. Required for Scorpion machine."
|
||||||
@@ -299,7 +299,7 @@ files:
|
|||||||
- name: "fuse/256s-2.rom"
|
- name: "fuse/256s-2.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: true
|
required: true
|
||||||
md5: ""
|
|
||||||
size: 16384
|
size: 16384
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Scorpion 256K ROM 2. Required for Scorpion machine."
|
note: "Scorpion 256K ROM 2. Required for Scorpion machine."
|
||||||
@@ -308,7 +308,7 @@ files:
|
|||||||
- name: "fuse/256s-3.rom"
|
- name: "fuse/256s-3.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: true
|
required: true
|
||||||
md5: ""
|
|
||||||
size: 16384
|
size: 16384
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Scorpion 256K ROM 3 (TR-DOS). Required for Scorpion machine."
|
note: "Scorpion 256K ROM 3 (TR-DOS). Required for Scorpion machine."
|
||||||
@@ -318,7 +318,7 @@ files:
|
|||||||
- name: "fuse/if1-2.rom"
|
- name: "fuse/if1-2.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: false
|
required: false
|
||||||
md5: ""
|
|
||||||
size: 8192
|
size: 8192
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Interface 1 ROM (edition 2). Loaded by peripherals/if1.c:403."
|
note: "Interface 1 ROM (edition 2). Loaded by peripherals/if1.c:403."
|
||||||
@@ -347,7 +347,7 @@ files:
|
|||||||
- name: "fuse/didaktik80.rom"
|
- name: "fuse/didaktik80.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: false
|
required: false
|
||||||
md5: ""
|
|
||||||
size: 14336
|
size: 14336
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Didaktik 80 disk interface ROM. Not embedded."
|
note: "Didaktik 80 disk interface ROM. Not embedded."
|
||||||
@@ -356,7 +356,7 @@ files:
|
|||||||
- name: "fuse/opus.rom"
|
- name: "fuse/opus.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: false
|
required: false
|
||||||
md5: ""
|
|
||||||
size: 8192
|
size: 8192
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Opus Discovery disk interface ROM. Not embedded."
|
note: "Opus Discovery disk interface ROM. Not embedded."
|
||||||
@@ -365,7 +365,7 @@ files:
|
|||||||
- name: "fuse/mf1.rom"
|
- name: "fuse/mf1.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: false
|
required: false
|
||||||
md5: ""
|
|
||||||
size: 8192
|
size: 8192
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Multiface 1 ROM. Not embedded."
|
note: "Multiface 1 ROM. Not embedded."
|
||||||
@@ -374,7 +374,7 @@ files:
|
|||||||
- name: "fuse/mf128.rom"
|
- name: "fuse/mf128.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: false
|
required: false
|
||||||
md5: ""
|
|
||||||
size: 8192
|
size: 8192
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Multiface 128 ROM. Not embedded."
|
note: "Multiface 128 ROM. Not embedded."
|
||||||
@@ -383,7 +383,7 @@ files:
|
|||||||
- name: "fuse/mf3.rom"
|
- name: "fuse/mf3.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: false
|
required: false
|
||||||
md5: ""
|
|
||||||
size: 8192
|
size: 8192
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Multiface 3 ROM. Not embedded."
|
note: "Multiface 3 ROM. Not embedded."
|
||||||
@@ -402,7 +402,7 @@ files:
|
|||||||
- name: "fuse/ttx2000s.rom"
|
- name: "fuse/ttx2000s.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: false
|
required: false
|
||||||
md5: ""
|
|
||||||
size: 8192
|
size: 8192
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "TTX2000S teletext adapter ROM. Not embedded."
|
note: "TTX2000S teletext adapter ROM. Not embedded."
|
||||||
@@ -411,7 +411,7 @@ files:
|
|||||||
- name: "fuse/usource.rom"
|
- name: "fuse/usource.rom"
|
||||||
system: sinclair-zxspectrum
|
system: sinclair-zxspectrum
|
||||||
required: false
|
required: false
|
||||||
md5: ""
|
|
||||||
size: 8192
|
size: 8192
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Currah uSource ROM. Not embedded."
|
note: "Currah uSource ROM. Not embedded."
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
size: 4096
|
size: 4096
|
||||||
validation: {core: [size], upstream: [size, crc32]}
|
validation: {core: [size], upstream: [size, crc32]}
|
||||||
crc32: "0x2ab23573"
|
crc32: 2ab23573
|
||||||
source_ref: "src/NDS.h:196, src/NDS.cpp:467-477, src/frontend/Util_ROM.cpp:99-111"
|
source_ref: "src/NDS.h:196, src/NDS.cpp:467-477, src/frontend/Util_ROM.cpp:99-111"
|
||||||
note: "FreeBIOS fallback (src/FreeBIOS.h); native needed for Key1 cartridge crypto"
|
note: "FreeBIOS fallback (src/FreeBIOS.h); native needed for Key1 cartridge crypto"
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
size: 16384
|
size: 16384
|
||||||
validation: {core: [size], upstream: [size, crc32]}
|
validation: {core: [size], upstream: [size, crc32]}
|
||||||
crc32: "0x1280f0d5"
|
crc32: 1280f0d5
|
||||||
source_ref: "src/NDS.h:197, src/NDS.cpp:482-492, src/frontend/Util_ROM.cpp:117-131"
|
source_ref: "src/NDS.h:197, src/NDS.cpp:482-492, src/frontend/Util_ROM.cpp:117-131"
|
||||||
note: "FreeBIOS fallback (src/FreeBIOS.h); native needed for Key1 init at offset 0x0030"
|
note: "FreeBIOS fallback (src/FreeBIOS.h); native needed for Key1 init at offset 0x0030"
|
||||||
|
|
||||||
@@ -44,6 +44,8 @@ files:
|
|||||||
description: "NDS firmware image"
|
description: "NDS firmware image"
|
||||||
required: false
|
required: false
|
||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
|
min_size: 262144
|
||||||
|
max_size: 524288
|
||||||
validation: [size]
|
validation: [size]
|
||||||
source_ref: "src/SPI.cpp:192-211, src/frontend/Util_ROM.cpp:174-195"
|
source_ref: "src/SPI.cpp:192-211, src/frontend/Util_ROM.cpp:174-195"
|
||||||
note: "Generated 128KB firmware as fallback; native must be 256KB or 512KB for boot"
|
note: "Generated 128KB firmware as fallback; native must be 256KB or 512KB for boot"
|
||||||
@@ -55,7 +57,7 @@ files:
|
|||||||
required: true
|
required: true
|
||||||
size: 65536
|
size: 65536
|
||||||
validation: {core: [size], upstream: [size, crc32]}
|
validation: {core: [size], upstream: [size, crc32]}
|
||||||
crc32: "0xBAE84F6C"
|
crc32: bae84f6c
|
||||||
source_ref: "src/DSi.h:33, src/DSi.cpp:587-599, src/frontend/Util_ROM.cpp:145-156"
|
source_ref: "src/DSi.h:33, src/DSi.cpp:587-599, src/frontend/Util_ROM.cpp:145-156"
|
||||||
|
|
||||||
- name: dsi_bios7.bin
|
- name: dsi_bios7.bin
|
||||||
@@ -64,7 +66,7 @@ files:
|
|||||||
required: true
|
required: true
|
||||||
size: 65536
|
size: 65536
|
||||||
validation: {core: [size], upstream: [size, crc32]}
|
validation: {core: [size], upstream: [size, crc32]}
|
||||||
crc32: "0x4316CC42"
|
crc32: 4316cc42
|
||||||
source_ref: "src/DSi.h:34, src/DSi.cpp:604-620, src/frontend/Util_ROM.cpp:158-170"
|
source_ref: "src/DSi.h:34, src/DSi.cpp:604-620, src/frontend/Util_ROM.cpp:158-170"
|
||||||
note: "Contains eMMC key-Y at offset 0x8308 for NAND init"
|
note: "Contains eMMC key-Y at offset 0x8308 for NAND init"
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
size: 16384
|
size: 16384
|
||||||
validation: [size]
|
validation: [size]
|
||||||
crc32: "0x1280f0d5"
|
crc32: 1280f0d5
|
||||||
source_ref: "src/libretro/config/console.cpp:219, melonDS:src/MemConstants.h:31,36"
|
source_ref: "src/libretro/config/console.cpp:219, melonDS:src/MemConstants.h:31,36"
|
||||||
|
|
||||||
- name: bios9.bin
|
- name: bios9.bin
|
||||||
@@ -37,7 +37,7 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
size: 4096
|
size: 4096
|
||||||
validation: [size]
|
validation: [size]
|
||||||
crc32: "0x2ab23573"
|
crc32: 2ab23573
|
||||||
source_ref: "src/libretro/config/console.cpp:220, melonDS:src/MemConstants.h:30,37"
|
source_ref: "src/libretro/config/console.cpp:220, melonDS:src/MemConstants.h:30,37"
|
||||||
|
|
||||||
- name: firmware.bin
|
- name: firmware.bin
|
||||||
@@ -55,7 +55,7 @@ files:
|
|||||||
required: true
|
required: true
|
||||||
size: 65536
|
size: 65536
|
||||||
validation: [size]
|
validation: [size]
|
||||||
crc32: "0x4316CC42"
|
crc32: 4316cc42
|
||||||
source_ref: "src/libretro/config/console.cpp:333, melonDS:src/MemConstants.h:32,44"
|
source_ref: "src/libretro/config/console.cpp:333, melonDS:src/MemConstants.h:32,44"
|
||||||
note: "Contains eMMC key-Y at offset 0x8308 for NAND init"
|
note: "Contains eMMC key-Y at offset 0x8308 for NAND init"
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ files:
|
|||||||
required: true
|
required: true
|
||||||
size: 65536
|
size: 65536
|
||||||
validation: [size]
|
validation: [size]
|
||||||
crc32: "0xBAE84F6C"
|
crc32: bae84f6c
|
||||||
source_ref: "src/libretro/config/console.cpp:338, melonDS:src/MemConstants.h:32,45"
|
source_ref: "src/libretro/config/console.cpp:338, melonDS:src/MemConstants.h:32,45"
|
||||||
|
|
||||||
- name: dsi_firmware.bin
|
- name: dsi_firmware.bin
|
||||||
|
|||||||
@@ -65,5 +65,7 @@ files:
|
|||||||
description: "External NES color palette"
|
description: "External NES color palette"
|
||||||
required: false
|
required: false
|
||||||
source_ref: "Libretro/libretro.cpp:301-323 (load_custom_palette), Libretro/libretro.cpp:405-406 (called when mesen_palette == Custom)"
|
source_ref: "Libretro/libretro.cpp:301-323 (load_custom_palette), Libretro/libretro.cpp:405-406 (called when mesen_palette == Custom)"
|
||||||
|
min_size: 192
|
||||||
|
max_size: 1536
|
||||||
validation: [size]
|
validation: [size]
|
||||||
note: "Loaded when mesen_palette core option is Custom. Accepts exactly 192 bytes (64 RGB triplets) or 1536 bytes (512 entries for emphasis combos). Falls back to built-in default palette if size doesn't match."
|
note: "Accepts 192 bytes (64 RGB triplets) or 1536 bytes (512 emphasis combos). Falls back to built-in default if size doesn't match."
|
||||||
|
|||||||
@@ -533,7 +533,7 @@ files:
|
|||||||
|
|
||||||
- name: "U-Boot LEON3"
|
- name: "U-Boot LEON3"
|
||||||
path: "qemu/u-boot.bin"
|
path: "qemu/u-boot.bin"
|
||||||
sha1: ""
|
|
||||||
required: false
|
required: false
|
||||||
note: "U-Boot for LEON3 SPARC board. Not shipped with QEMU, user-supplied."
|
note: "U-Boot for LEON3 SPARC board. Not shipped with QEMU, user-supplied."
|
||||||
source_ref: "hw/sparc/leon3.c:53"
|
source_ref: "hw/sparc/leon3.c:53"
|
||||||
@@ -611,28 +611,28 @@ files:
|
|||||||
# ========================================================
|
# ========================================================
|
||||||
- name: "MIPS BIOS (big-endian)"
|
- name: "MIPS BIOS (big-endian)"
|
||||||
path: "qemu/mips_bios.bin"
|
path: "qemu/mips_bios.bin"
|
||||||
sha1: ""
|
|
||||||
required: false
|
required: false
|
||||||
note: "Default BIOS for big-endian MIPS machines (Malta, MIPSsim, Jazz). Not shipped with QEMU."
|
note: "Default BIOS for big-endian MIPS machines (Malta, MIPSsim, Jazz). Not shipped with QEMU."
|
||||||
source_ref: "hw/mips/malta.c:97"
|
source_ref: "hw/mips/malta.c:97"
|
||||||
|
|
||||||
- name: "MIPS BIOS (little-endian)"
|
- name: "MIPS BIOS (little-endian)"
|
||||||
path: "qemu/mipsel_bios.bin"
|
path: "qemu/mipsel_bios.bin"
|
||||||
sha1: ""
|
|
||||||
required: false
|
required: false
|
||||||
note: "Default BIOS for little-endian MIPS machines (Malta, MIPSsim, Jazz). Not shipped with QEMU."
|
note: "Default BIOS for little-endian MIPS machines (Malta, MIPSsim, Jazz). Not shipped with QEMU."
|
||||||
source_ref: "hw/mips/malta.c:99"
|
source_ref: "hw/mips/malta.c:99"
|
||||||
|
|
||||||
- name: "Loongson3 BIOS"
|
- name: "Loongson3 BIOS"
|
||||||
path: "qemu/bios_loongson3.bin"
|
path: "qemu/bios_loongson3.bin"
|
||||||
sha1: ""
|
|
||||||
required: false
|
required: false
|
||||||
note: "Default BIOS for Loongson3 virtual MIPS machine. Not shipped with QEMU."
|
note: "Default BIOS for Loongson3 virtual MIPS machine. Not shipped with QEMU."
|
||||||
source_ref: "hw/mips/loongson3_virt.c:63"
|
source_ref: "hw/mips/loongson3_virt.c:63"
|
||||||
|
|
||||||
- name: "PMON Fuloong2e"
|
- name: "PMON Fuloong2e"
|
||||||
path: "qemu/pmon_2e.bin"
|
path: "qemu/pmon_2e.bin"
|
||||||
sha1: ""
|
|
||||||
required: false
|
required: false
|
||||||
note: "PMON monitor for Fuloong2e MIPS board. Not shipped with QEMU."
|
note: "PMON monitor for Fuloong2e MIPS board. Not shipped with QEMU."
|
||||||
source_ref: "hw/mips/fuloong2e.c:58"
|
source_ref: "hw/mips/fuloong2e.c:58"
|
||||||
@@ -642,7 +642,7 @@ files:
|
|||||||
# ========================================================
|
# ========================================================
|
||||||
- name: "Macintosh ROM"
|
- name: "Macintosh ROM"
|
||||||
path: "qemu/MacROM.bin"
|
path: "qemu/MacROM.bin"
|
||||||
sha1: ""
|
|
||||||
required: false
|
required: false
|
||||||
note: "Apple Macintosh ROM for Quadra 800 emulation. Not shipped with QEMU."
|
note: "Apple Macintosh ROM for Quadra 800 emulation. Not shipped with QEMU."
|
||||||
source_ref: "hw/m68k/q800.c:62"
|
source_ref: "hw/m68k/q800.c:62"
|
||||||
@@ -652,7 +652,7 @@ files:
|
|||||||
# ========================================================
|
# ========================================================
|
||||||
- name: "Canon A1100 ROM"
|
- name: "Canon A1100 ROM"
|
||||||
path: "qemu/canon-a1100-rom1.bin"
|
path: "qemu/canon-a1100-rom1.bin"
|
||||||
sha1: ""
|
|
||||||
required: false
|
required: false
|
||||||
note: "Canon PowerShot A1100 IS DIGIC camera ROM. Not shipped with QEMU."
|
note: "Canon PowerShot A1100 IS DIGIC camera ROM. Not shipped with QEMU."
|
||||||
source_ref: "hw/arm/digic_boards.c:131"
|
source_ref: "hw/arm/digic_boards.c:131"
|
||||||
@@ -702,7 +702,7 @@ files:
|
|||||||
|
|
||||||
- name: "Virtex ML507 DTB (PPC)"
|
- name: "Virtex ML507 DTB (PPC)"
|
||||||
path: "qemu/virtex-ml507.dtb"
|
path: "qemu/virtex-ml507.dtb"
|
||||||
sha1: ""
|
|
||||||
required: false
|
required: false
|
||||||
note: "Device tree blob for Xilinx Virtex ML507 PowerPC board. Not shipped with QEMU."
|
note: "Device tree blob for Xilinx Virtex ML507 PowerPC board. Not shipped with QEMU."
|
||||||
source_ref: "hw/ppc/virtex_ml507.c:148"
|
source_ref: "hw/ppc/virtex_ml507.c:148"
|
||||||
|
|||||||
@@ -24,36 +24,43 @@ notes: |
|
|||||||
|
|
||||||
files:
|
files:
|
||||||
- name: kvs1.wav
|
- name: kvs1.wav
|
||||||
|
aliases: [KVS1.WAV]
|
||||||
description: "KidVid Voice Module audio tape 1 (Smurfs Save the Day)"
|
description: "KidVid Voice Module audio tape 1 (Smurfs Save the Day)"
|
||||||
required: false
|
required: false
|
||||||
category: game_data
|
category: game_data
|
||||||
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
|
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
|
||||||
- name: kvs2.wav
|
- name: kvs2.wav
|
||||||
|
aliases: [KVS2.WAV]
|
||||||
description: "KidVid Voice Module audio tape 2 (Smurfs Save the Day)"
|
description: "KidVid Voice Module audio tape 2 (Smurfs Save the Day)"
|
||||||
required: false
|
required: false
|
||||||
category: game_data
|
category: game_data
|
||||||
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
|
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
|
||||||
- name: kvs3.wav
|
- name: kvs3.wav
|
||||||
|
aliases: [KVS3.WAV]
|
||||||
description: "KidVid Voice Module audio tape 3 (Smurfs Save the Day)"
|
description: "KidVid Voice Module audio tape 3 (Smurfs Save the Day)"
|
||||||
required: false
|
required: false
|
||||||
category: game_data
|
category: game_data
|
||||||
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
|
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
|
||||||
- name: kvb1.wav
|
- name: kvb1.wav
|
||||||
|
aliases: [KVB1.WAV]
|
||||||
description: "KidVid Voice Module audio tape 1 (Berenstain Bears)"
|
description: "KidVid Voice Module audio tape 1 (Berenstain Bears)"
|
||||||
required: false
|
required: false
|
||||||
category: game_data
|
category: game_data
|
||||||
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
|
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
|
||||||
- name: kvb2.wav
|
- name: kvb2.wav
|
||||||
|
aliases: [KVB2.WAV]
|
||||||
description: "KidVid Voice Module audio tape 2 (Berenstain Bears)"
|
description: "KidVid Voice Module audio tape 2 (Berenstain Bears)"
|
||||||
required: false
|
required: false
|
||||||
category: game_data
|
category: game_data
|
||||||
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
|
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
|
||||||
- name: kvb3.wav
|
- name: kvb3.wav
|
||||||
|
aliases: [KVB3.WAV]
|
||||||
description: "KidVid Voice Module audio tape 3 (Berenstain Bears)"
|
description: "KidVid Voice Module audio tape 3 (Berenstain Bears)"
|
||||||
required: false
|
required: false
|
||||||
category: game_data
|
category: game_data
|
||||||
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
|
source_ref: "stella/src/emucore/KidVid.cxx:167,182"
|
||||||
- name: kvshared.wav
|
- name: kvshared.wav
|
||||||
|
aliases: [KVSHARED.WAV]
|
||||||
description: "KidVid Voice Module shared audio samples"
|
description: "KidVid Voice Module shared audio samples"
|
||||||
required: false
|
required: false
|
||||||
category: game_data
|
category: game_data
|
||||||
|
|||||||
@@ -86,6 +86,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 79015323128650c742a3694c9429aa91f355905e
|
||||||
|
md5: 57af4ae21d4b705c2991d98ed5c1f7b8
|
||||||
|
crc32: f833d117
|
||||||
note: "C64 BASIC V2 ROM. Embedded in core."
|
note: "C64 BASIC V2 ROM. Embedded in core."
|
||||||
source_ref: "vice/src/c64/c64rom.h:31"
|
source_ref: "vice/src/c64/c64rom.h:31"
|
||||||
|
|
||||||
@@ -95,6 +98,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 1d503e56df85a62fee696e7618dc5b4e781df1bb
|
||||||
|
md5: 39065497630802346bce17963f13c092
|
||||||
|
crc32: dbe3e7c7
|
||||||
note: "C64 Kernal Rev 3 (default). Embedded in core."
|
note: "C64 Kernal Rev 3 (default). Embedded in core."
|
||||||
source_ref: "vice/src/c64/c64rom.h:52"
|
source_ref: "vice/src/c64/c64rom.h:52"
|
||||||
|
|
||||||
@@ -104,6 +110,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 87cc04d61fc748b82df09856847bb5c2754a2033
|
||||||
|
md5: 1ae0ea224f2b291dafa2c20b990bb7d4
|
||||||
|
crc32: dce782fa
|
||||||
note: "C64 Kernal Rev 1. Embedded in core."
|
note: "C64 Kernal Rev 1. Embedded in core."
|
||||||
source_ref: "vice/src/c64/c64rom.h:50"
|
source_ref: "vice/src/c64/c64rom.h:50"
|
||||||
|
|
||||||
@@ -113,6 +122,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 0e2e4ee3f2d41f00bed72f9ab588b83e306fdb13
|
||||||
|
md5: 7360b296d64e18b88f6cf52289fd99a1
|
||||||
|
crc32: a5c687b3
|
||||||
note: "C64 Kernal Rev 2. Embedded in core."
|
note: "C64 Kernal Rev 2. Embedded in core."
|
||||||
source_ref: "vice/src/c64/c64rom.h:51"
|
source_ref: "vice/src/c64/c64rom.h:51"
|
||||||
|
|
||||||
@@ -122,6 +134,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 3ad6cc1837c679a11f551ad1cf1a32dd84ace719
|
||||||
|
md5: ddee89b0fed19572da5245ea68ff11b5
|
||||||
|
crc32: 505365d4
|
||||||
note: "C64 GS (Games System) Kernal. Embedded in core."
|
note: "C64 GS (Games System) Kernal. Embedded in core."
|
||||||
source_ref: "vice/src/c64/c64rom.h:53"
|
source_ref: "vice/src/c64/c64rom.h:53"
|
||||||
|
|
||||||
@@ -131,6 +146,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: aa136e91ecf3c5ac64f696b3dbcbfc5ba0871c98
|
||||||
|
md5: 187b8c713b51931e070872bd390b472a
|
||||||
|
crc32: 2c5965d4
|
||||||
note: "SX-64 Kernal. Embedded in core."
|
note: "SX-64 Kernal. Embedded in core."
|
||||||
source_ref: "vice/src/c64/c64rom.h:54"
|
source_ref: "vice/src/c64/c64rom.h:54"
|
||||||
|
|
||||||
@@ -140,6 +158,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 6c4fa9465f6091b174df27dfe679499df447503c
|
||||||
|
md5: da92801e3a03b005b746a4dd0b639c7c
|
||||||
|
crc32: 789c8cc5
|
||||||
note: "PET64/Educator64 (4064) Kernal. Embedded in core."
|
note: "PET64/Educator64 (4064) Kernal. Embedded in core."
|
||||||
source_ref: "vice/src/c64/c64rom.h:55"
|
source_ref: "vice/src/c64/c64rom.h:55"
|
||||||
|
|
||||||
@@ -149,6 +170,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 4ff0f11e80f4b57430d8f0c3799ed0f0e0f4565d
|
||||||
|
md5: 479553fd53346ec84054f0b1c6237397
|
||||||
|
crc32: 3a9ef6f1
|
||||||
note: "C64 Japanese Kernal. Embedded in core."
|
note: "C64 Japanese Kernal. Embedded in core."
|
||||||
source_ref: "vice/src/c64/c64rom.h:49"
|
source_ref: "vice/src/c64/c64rom.h:49"
|
||||||
|
|
||||||
@@ -158,6 +182,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: adc7c31e18c7c7413d54802ef2f4193da14711aa
|
||||||
|
md5: 12a4202f5331d45af846af6c58fba946
|
||||||
|
crc32: ec4272ee
|
||||||
note: "C64 Character Generator ROM (default). Embedded in core."
|
note: "C64 Character Generator ROM (default). Embedded in core."
|
||||||
source_ref: "vice/src/c64/c64rom.h:60"
|
source_ref: "vice/src/c64/c64rom.h:60"
|
||||||
|
|
||||||
@@ -167,6 +194,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: 0fad19dbcdb12461c99657b2979dbb5c2e47b527
|
||||||
|
md5: cf32a93c0a693ed359a4f483ef6db53d
|
||||||
|
crc32: 1604f6c1
|
||||||
note: "C64 Japanese Character Generator ROM. Embedded in core."
|
note: "C64 Japanese Character Generator ROM. Embedded in core."
|
||||||
source_ref: "vice/src/c64/c64rom.h:61"
|
source_ref: "vice/src/c64/c64rom.h:61"
|
||||||
|
|
||||||
@@ -180,6 +210,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: ceb6e1a1bf7e08eb9cbc651afa29e26adccf38ab
|
||||||
|
md5: 01f6903033b90cd506cde7802ec743c3
|
||||||
|
crc32: ba456b8e
|
||||||
note: "C128 Kernal (default international). Embedded in core."
|
note: "C128 Kernal (default international). Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:103"
|
source_ref: "vice/src/c128/c128rom.h:103"
|
||||||
|
|
||||||
@@ -189,6 +222,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 3629b3fa28b6a30bcc027b647f26654929ed1b0f
|
||||||
|
md5: 9837409b6bdb7ce055409fa3eb3e9cf0
|
||||||
|
crc32: bff7550b
|
||||||
note: "C128 Kernal German. Embedded in core."
|
note: "C128 Kernal German. Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:105"
|
source_ref: "vice/src/c128/c128rom.h:105"
|
||||||
|
|
||||||
@@ -198,6 +234,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 98c34e0dec9f52d7862b56bb287d2573eb3f6364
|
||||||
|
md5: 90907477d39db1b8fe1732692278a0e9
|
||||||
|
crc32: d311dab1
|
||||||
note: "C128 Kernal Swiss. Embedded in core."
|
note: "C128 Kernal Swiss. Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:104"
|
source_ref: "vice/src/c128/c128rom.h:104"
|
||||||
|
|
||||||
@@ -207,6 +246,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 925177c99ee7e02870c32ad62a054db1327cf0c2
|
||||||
|
md5: 7852922295c103f067ba3c0f56378a95
|
||||||
|
crc32: 1cf7f729
|
||||||
note: "C128 Kernal Swedish. Embedded in core."
|
note: "C128 Kernal Swedish. Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:110"
|
source_ref: "vice/src/c128/c128rom.h:110"
|
||||||
|
|
||||||
@@ -216,6 +258,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: d08e7991a6df14a843e92daafaf6756337959ba4
|
||||||
|
md5: 0a0eb549ec08624de11cf1f249f6f3dc
|
||||||
|
crc32: d3ecea84
|
||||||
note: "C128 Kernal Finnish (unidentified part number). Embedded in core."
|
note: "C128 Kernal Finnish (unidentified part number). Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:106"
|
source_ref: "vice/src/c128/c128rom.h:106"
|
||||||
|
|
||||||
@@ -225,6 +270,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: a0680d04db3232fa9f58598e5c9f09c4fe94f601
|
||||||
|
md5: 7a7747aa70fd63402c6a95fba0bd6806
|
||||||
|
crc32: 2df282b8
|
||||||
note: "C128 Kernal French (unidentified part number). Embedded in core."
|
note: "C128 Kernal French (unidentified part number). Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:107"
|
source_ref: "vice/src/c128/c128rom.h:107"
|
||||||
|
|
||||||
@@ -234,6 +282,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 592a626eb2b5372596ac374d3505c3ce78dd040f
|
||||||
|
md5: 142c8bd5934e9d97addb6776a2f2e8b8
|
||||||
|
crc32: 74d6b084
|
||||||
note: "C128 Kernal Italian (unidentified part number). Embedded in core."
|
note: "C128 Kernal Italian (unidentified part number). Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:108"
|
source_ref: "vice/src/c128/c128rom.h:108"
|
||||||
|
|
||||||
@@ -243,6 +294,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 00fe2fd610a812121befab1e7238fa882c0f8257
|
||||||
|
md5: 498fdedaeab458931b6103d52d5a3ea1
|
||||||
|
crc32: a5406848
|
||||||
note: "C128 Kernal Norwegian (unidentified part number). Embedded in core."
|
note: "C128 Kernal Norwegian (unidentified part number). Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:109"
|
source_ref: "vice/src/c128/c128rom.h:109"
|
||||||
|
|
||||||
@@ -252,6 +306,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: d53a7884404f7d18ebd60dd3080c8f8d71067441
|
||||||
|
md5: b86ce827c9108fbc7b9e02c690e81a23
|
||||||
|
crc32: 9f9c355b
|
||||||
note: "C128 BASIC low (BASIC part). Embedded in core."
|
note: "C128 BASIC low (BASIC part). Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:115"
|
source_ref: "vice/src/c128/c128rom.h:115"
|
||||||
|
|
||||||
@@ -261,6 +318,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: c4fb4a714e48a7bf6c28659de0302183a0e0d6c0
|
||||||
|
md5: 87bb251707d0a2c915d6e0c69fdb0fed
|
||||||
|
crc32: 6e2c91a7
|
||||||
note: "C128 BASIC high (Editor part). Embedded in core."
|
note: "C128 BASIC high (Editor part). Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:116"
|
source_ref: "vice/src/c128/c128rom.h:116"
|
||||||
|
|
||||||
@@ -288,6 +348,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: b4862cac7b9319d8e912887c97fc270d4c239349
|
||||||
|
md5: 8fa940c39225d40f37ddf7082fba8b21
|
||||||
|
crc32: dd2976d2
|
||||||
note: "C128 C64-mode Kernal Norwegian. Embedded in core."
|
note: "C128 C64-mode Kernal Norwegian. Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:136"
|
source_ref: "vice/src/c128/c128rom.h:136"
|
||||||
|
|
||||||
@@ -297,6 +360,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: e4f52d9b36c030eb94524eb49f6f0774c1d02e5e
|
||||||
|
md5: 27e26dbb267c8ebf1cd47105a6ca71e7
|
||||||
|
crc32: f10c2c25
|
||||||
note: "C128 C64-mode Kernal Swedish. Embedded in core."
|
note: "C128 C64-mode Kernal Swedish. Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:137"
|
source_ref: "vice/src/c128/c128rom.h:137"
|
||||||
|
|
||||||
@@ -306,6 +372,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 29ed066d513f2d5c09ff26d9166ba23c2afb2b3f
|
||||||
|
md5: 46b3cb2140f244c0ed1150c819e7bdc4
|
||||||
|
crc32: 6aaaafe6
|
||||||
note: "C128 Character Generator (default international). Embedded in core."
|
note: "C128 Character Generator (default international). Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:92"
|
source_ref: "vice/src/c128/c128rom.h:92"
|
||||||
|
|
||||||
@@ -315,6 +384,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 638f8aff51c2ac4f99a55b12c4f8c985ef4bebd3
|
||||||
|
md5: ec9e71614010c4efb851b83bcd685e9c
|
||||||
|
crc32: fe5a2db1
|
||||||
note: "C128 Character Generator German. Embedded in core."
|
note: "C128 Character Generator German. Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:95"
|
source_ref: "vice/src/c128/c128rom.h:95"
|
||||||
|
|
||||||
@@ -324,6 +396,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 9119b27a1bf885fa4c76fff5d858c74c194dd2b8
|
||||||
|
md5: de3e110a48de76457dbc9ad320e2caa5
|
||||||
|
crc32: bad36b88
|
||||||
note: "C128 Character Generator Italian/French/Belgian. Embedded in core."
|
note: "C128 Character Generator Italian/French/Belgian. Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:93"
|
source_ref: "vice/src/c128/c128rom.h:93"
|
||||||
|
|
||||||
@@ -333,6 +408,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 70eccd8b944146f6b60f1519b830a4ee8928d4fa
|
||||||
|
md5: 5cc3635e434fdc7023d0035e965ce76f
|
||||||
|
crc32: c8def186
|
||||||
note: "C128 Character Generator Swiss. Embedded in core."
|
note: "C128 Character Generator Swiss. Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:94"
|
source_ref: "vice/src/c128/c128rom.h:94"
|
||||||
|
|
||||||
@@ -342,6 +420,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 5a87faa457979e7b6f434251a9e32f4483b337b3
|
||||||
|
md5: 7eead22a114154c809b33320c9250e26
|
||||||
|
crc32: ba95c625
|
||||||
note: "C128 Character Generator Norwegian. Embedded in core."
|
note: "C128 Character Generator Norwegian. Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:99"
|
source_ref: "vice/src/c128/c128rom.h:99"
|
||||||
|
|
||||||
@@ -351,6 +432,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: aca3f7321ee7e6152f1f0afad646ae41964de4fb
|
||||||
|
md5: 06e46af13d13aa869218275e64d48b00
|
||||||
|
crc32: 7a70d9b8
|
||||||
note: "C128 Character Generator Finnish/Swedish. Embedded in core."
|
note: "C128 Character Generator Finnish/Swedish. Embedded in core."
|
||||||
source_ref: "vice/src/c128/c128rom.h:96"
|
source_ref: "vice/src/c128/c128rom.h:96"
|
||||||
|
|
||||||
@@ -364,6 +448,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 2097152
|
size: 2097152
|
||||||
|
sha1: 72b4c8da075646cc9940e4377004c81192c7b0b1
|
||||||
|
md5: d6efbc538195f53cfc209543640cde71
|
||||||
|
crc32: 242daa5a
|
||||||
note: "C64 DTV flash ROM (2 MB). Contains kernal, basic, chargen. Embedded in core."
|
note: "C64 DTV flash ROM (2 MB). Contains kernal, basic, chargen. Embedded in core."
|
||||||
source_ref: "vice/src/c64dtv/c64dtvflash.c:59-64"
|
source_ref: "vice/src/c64dtv/c64dtvflash.c:59-64"
|
||||||
|
|
||||||
@@ -373,6 +460,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 79015323128650c742a3694c9429aa91f355905e
|
||||||
|
md5: 57af4ae21d4b705c2991d98ed5c1f7b8
|
||||||
|
crc32: f833d117
|
||||||
note: "C64 BASIC V2 ROM (DTV copy). Embedded in core."
|
note: "C64 BASIC V2 ROM (DTV copy). Embedded in core."
|
||||||
source_ref: "vice/data/C64DTV/"
|
source_ref: "vice/data/C64DTV/"
|
||||||
|
|
||||||
@@ -382,6 +472,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: adc7c31e18c7c7413d54802ef2f4193da14711aa
|
||||||
|
md5: 12a4202f5331d45af846af6c58fba946
|
||||||
|
crc32: ec4272ee
|
||||||
note: "C64 Character Generator (DTV copy). Embedded in core."
|
note: "C64 Character Generator (DTV copy). Embedded in core."
|
||||||
source_ref: "vice/data/C64DTV/"
|
source_ref: "vice/data/C64DTV/"
|
||||||
|
|
||||||
@@ -391,6 +484,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 1d503e56df85a62fee696e7618dc5b4e781df1bb
|
||||||
|
md5: 39065497630802346bce17963f13c092
|
||||||
|
crc32: dbe3e7c7
|
||||||
note: "C64 Kernal Rev 3 (DTV copy). Embedded in core."
|
note: "C64 Kernal Rev 3 (DTV copy). Embedded in core."
|
||||||
source_ref: "vice/data/C64DTV/"
|
source_ref: "vice/data/C64DTV/"
|
||||||
|
|
||||||
@@ -404,6 +500,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 587d1e90950675ab6b12d91248a3f0d640d02e8d
|
||||||
|
md5: 8b9237706f47a9b3498d8f881ef0244d
|
||||||
|
crc32: db4c43c1
|
||||||
note: "VIC-20 BASIC ROM. Embedded in core."
|
note: "VIC-20 BASIC ROM. Embedded in core."
|
||||||
source_ref: "vice/src/vic20/vic20rom.h:43"
|
source_ref: "vice/src/vic20/vic20rom.h:43"
|
||||||
|
|
||||||
@@ -413,6 +512,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: ce0137ed69f003a299f43538fa9eee27898e621e
|
||||||
|
md5: f0587624dcd7685710a8fdb35939617f
|
||||||
|
crc32: 4be07cb4
|
||||||
note: "VIC-20 Kernal PAL (default). Embedded in core."
|
note: "VIC-20 Kernal PAL (default). Embedded in core."
|
||||||
source_ref: "vice/src/vic20/vic20rom.h:53"
|
source_ref: "vice/src/vic20/vic20rom.h:53"
|
||||||
|
|
||||||
@@ -422,6 +524,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 06de7ec017a5e78bd6746d89c2ecebb646efeb19
|
||||||
|
md5: 0313e31e5f31e1f739c2377792460d67
|
||||||
|
crc32: e5e7c174
|
||||||
note: "VIC-20 Kernal NTSC. Embedded in core."
|
note: "VIC-20 Kernal NTSC. Embedded in core."
|
||||||
source_ref: "vice/src/vic20/vic20rom.h:52"
|
source_ref: "vice/src/vic20/vic20rom.h:52"
|
||||||
|
|
||||||
@@ -431,6 +536,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: c9ead45e6674d1042ca6199160e8583c23aeac22
|
||||||
|
md5: 317f93bcbc5ee15da085a51a306f2c61
|
||||||
|
crc32: 336900d7
|
||||||
note: "VIC-20 Kernal Japanese NTSC Rev 2. Embedded in core."
|
note: "VIC-20 Kernal Japanese NTSC Rev 2. Embedded in core."
|
||||||
source_ref: "vice/src/vic20/vic20rom.h:51"
|
source_ref: "vice/src/vic20/vic20rom.h:51"
|
||||||
|
|
||||||
@@ -440,6 +548,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: 4fd85ab6647ee2ac7ba40f729323f2472d35b9b4
|
||||||
|
md5: d390e340e94e1bef0f2fdfe9fa850993
|
||||||
|
crc32: 83e032a6
|
||||||
note: "VIC-20 Character Generator (default). Embedded in core."
|
note: "VIC-20 Character Generator (default). Embedded in core."
|
||||||
source_ref: "vice/src/vic20/vic20rom.h:56"
|
source_ref: "vice/src/vic20/vic20rom.h:56"
|
||||||
|
|
||||||
@@ -449,6 +560,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: dae61ac03065aa2904af5c123ce821855898c555
|
||||||
|
md5: 7e6e41b5b60fec798743afd7063b42ed
|
||||||
|
crc32: fcfd8a4b
|
||||||
note: "VIC-20 Japanese Character Generator. Embedded in core."
|
note: "VIC-20 Japanese Character Generator. Embedded in core."
|
||||||
source_ref: "vice/src/vic20/vic20rom.h:57"
|
source_ref: "vice/src/vic20/vic20rom.h:57"
|
||||||
|
|
||||||
@@ -462,6 +576,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 161c96b4ad20f3a4f2321808e37a5ded26a135dd
|
||||||
|
md5: 44a4ae400e3b4f7533a47ae0df1be78c
|
||||||
|
crc32: 74eaae87
|
||||||
note: "Plus/4 BASIC ROM. Embedded in core."
|
note: "Plus/4 BASIC ROM. Embedded in core."
|
||||||
source_ref: "vice/src/plus4/plus4rom.h:33"
|
source_ref: "vice/src/plus4/plus4rom.h:33"
|
||||||
|
|
||||||
@@ -471,6 +588,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 7c7e07f016391174a557e790c4ef1cbe33512cdb
|
||||||
|
md5: 89f5263665a8dc10c8f8abc38f5f7eb9
|
||||||
|
crc32: 71c07bd4
|
||||||
note: "Plus/4 Kernal PAL Rev 5 (default PAL). Embedded in core."
|
note: "Plus/4 Kernal PAL Rev 5 (default PAL). Embedded in core."
|
||||||
source_ref: "vice/src/plus4/plus4rom.h:36"
|
source_ref: "vice/src/plus4/plus4rom.h:36"
|
||||||
|
|
||||||
@@ -480,6 +600,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: a3d9e5be091b98de39a046ab167fb7632d053682
|
||||||
|
md5: b3c450c36a88b491281d18fdf3e94ab0
|
||||||
|
crc32: 70295038
|
||||||
note: "Plus/4 Kernal NTSC Rev 5 (default NTSC). Embedded in core."
|
note: "Plus/4 Kernal NTSC Rev 5 (default NTSC). Embedded in core."
|
||||||
source_ref: "vice/src/plus4/plus4rom.h:37"
|
source_ref: "vice/src/plus4/plus4rom.h:37"
|
||||||
|
|
||||||
@@ -489,6 +612,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 3c77caf72914c1c0a0875b3a7f6935cd30c54201
|
||||||
|
md5: a213823557421b66f9813ff19af48c01
|
||||||
|
crc32: dbdc3319
|
||||||
note: "Plus/4 Kernal NTSC Rev 1 (V232 prototype). Embedded in core."
|
note: "Plus/4 Kernal NTSC Rev 1 (V232 prototype). Embedded in core."
|
||||||
source_ref: "vice/src/plus4/plus4rom.h:35"
|
source_ref: "vice/src/plus4/plus4rom.h:35"
|
||||||
|
|
||||||
@@ -498,6 +624,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: b9a5b5dacd57ca117ef0b3af29e91998bf4d7e5f
|
||||||
|
md5: 7abb51257595b233a1a63ae58c330a65
|
||||||
|
crc32: 84fd4f7a
|
||||||
note: "Commodore 364 prototype Kernal. Embedded in core."
|
note: "Commodore 364 prototype Kernal. Embedded in core."
|
||||||
source_ref: "vice/src/plus4/plus4rom.h:38"
|
source_ref: "vice/src/plus4/plus4rom.h:38"
|
||||||
|
|
||||||
@@ -507,6 +636,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 3b69f6e7cb4c18bb08e203fb18b7dabfa853390f
|
||||||
|
md5: 2994d5463ef8524deb4231a9c764767c
|
||||||
|
crc32: 4fd1d8cb
|
||||||
note: "3-Plus-1 software ROM low. Embedded in core."
|
note: "3-Plus-1 software ROM low. Embedded in core."
|
||||||
source_ref: "vice/src/plus4/plus4rom.h:40"
|
source_ref: "vice/src/plus4/plus4rom.h:40"
|
||||||
|
|
||||||
@@ -516,6 +648,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 0ad7ac2db7da692d972e586ca0dfd747d82c7693
|
||||||
|
md5: ac34591c820fe607d527e04e95bce465
|
||||||
|
crc32: 109de2fc
|
||||||
note: "3-Plus-1 software ROM high. Embedded in core."
|
note: "3-Plus-1 software ROM high. Embedded in core."
|
||||||
source_ref: "vice/src/plus4/plus4rom.h:41"
|
source_ref: "vice/src/plus4/plus4rom.h:41"
|
||||||
|
|
||||||
@@ -525,6 +660,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 59af401cbb2194f689898271c6e8aafa28a7af11
|
||||||
|
md5: 0073ace3874a2c5ca5de9cf64cdfbbd4
|
||||||
|
crc32: 5227c2ee
|
||||||
note: "Commodore 364 prototype function ROM low. Embedded in core."
|
note: "Commodore 364 prototype function ROM low. Embedded in core."
|
||||||
source_ref: "vice/src/plus4/plus4rom.h:43"
|
source_ref: "vice/src/plus4/plus4rom.h:43"
|
||||||
|
|
||||||
@@ -538,6 +676,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 3be9cd41b646fefa00d80f1c3433a06146e97c59
|
||||||
|
md5: f328e785835907006604423222db7bbf
|
||||||
|
crc32: aff78300
|
||||||
note: "PET BASIC 1.0 ROM (PET 2001). Embedded in core."
|
note: "PET BASIC 1.0 ROM (PET 2001). Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:55"
|
source_ref: "vice/src/pet/petrom.h:55"
|
||||||
|
|
||||||
@@ -547,6 +688,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 9322a9f0354b9049847d98d3a045fbec860a6264
|
||||||
|
md5: b69739387bebe999227ae0cf25aa1e91
|
||||||
|
crc32: cf35e68b
|
||||||
note: "PET BASIC 2.0 ROM. Embedded in core."
|
note: "PET BASIC 2.0 ROM. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:56"
|
source_ref: "vice/src/pet/petrom.h:56"
|
||||||
|
|
||||||
@@ -556,6 +700,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 12288
|
size: 12288
|
||||||
|
sha1: d70bec479e1e3a0d0908a4897066e9959bbc11c8
|
||||||
|
md5: d22d2a1912a0cdbd9e7c8b103541b2c6
|
||||||
|
crc32: 2a940f0a
|
||||||
note: "PET BASIC 4.0 ROM. Embedded in core."
|
note: "PET BASIC 4.0 ROM. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:57"
|
source_ref: "vice/src/pet/petrom.h:57"
|
||||||
|
|
||||||
@@ -565,6 +712,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: 32dc08828e88c74d6433156e64d402b564556308
|
||||||
|
md5: 61b7e2fd04d63b0702951ba40899cd72
|
||||||
|
crc32: f0186492
|
||||||
note: "PET Kernal 1.0 (PET 2001). Embedded in core."
|
note: "PET Kernal 1.0 (PET 2001). Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:51"
|
source_ref: "vice/src/pet/petrom.h:51"
|
||||||
|
|
||||||
@@ -574,6 +724,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: 38742bdf449f629bcba6276ef24d3daeb7da6e84
|
||||||
|
md5: 51a38bfef8f9e72cb64bf7d874b4c8c6
|
||||||
|
crc32: f02238e2
|
||||||
note: "PET Kernal 2.0. Embedded in core."
|
note: "PET Kernal 2.0. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:52"
|
source_ref: "vice/src/pet/petrom.h:52"
|
||||||
|
|
||||||
@@ -583,6 +736,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: 96a0fa56e0c937da92971d9c99d504e44e898806
|
||||||
|
md5: 16ec21443ea5431ab63d511061054e6f
|
||||||
|
crc32: cc5298a1
|
||||||
note: "PET Kernal 4.0. Embedded in core."
|
note: "PET Kernal 4.0. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:53"
|
source_ref: "vice/src/pet/petrom.h:53"
|
||||||
|
|
||||||
@@ -592,6 +748,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 2048
|
size: 2048
|
||||||
|
sha1: f02f5fb492ba93dbbd390f24c10f7a832dec432a
|
||||||
|
md5: ef9bd0e62dfc47eb463fef20d0344826
|
||||||
|
crc32: 9e1c5cea
|
||||||
note: "PET Editor 1.0 Normal (graphics keyboard). Embedded in core."
|
note: "PET Editor 1.0 Normal (graphics keyboard). Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:59"
|
source_ref: "vice/src/pet/petrom.h:59"
|
||||||
|
|
||||||
@@ -601,6 +760,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 2048
|
size: 2048
|
||||||
|
sha1: 5e5502ce32f5a7e387d65efe058916282041e54b
|
||||||
|
md5: cb8e8404c0b28eda10469792dfd1dbc2
|
||||||
|
crc32: e459ab32
|
||||||
note: "PET Editor 2.0 Normal (graphics keyboard). Embedded in core."
|
note: "PET Editor 2.0 Normal (graphics keyboard). Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:60"
|
source_ref: "vice/src/pet/petrom.h:60"
|
||||||
|
|
||||||
@@ -610,6 +772,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 2048
|
size: 2048
|
||||||
|
sha1: 174ace3a8c0348cd21d39cc864e2adc58b0101a9
|
||||||
|
md5: 7f87889ca7ee2537f0c1993d35d0fb18
|
||||||
|
crc32: 05db957e
|
||||||
note: "PET Editor 2.0 Business keyboard. Embedded in core."
|
note: "PET Editor 2.0 Business keyboard. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:61"
|
source_ref: "vice/src/pet/petrom.h:61"
|
||||||
|
|
||||||
@@ -619,6 +784,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 2048
|
size: 2048
|
||||||
|
sha1: 05af284c914d53a52987b5f602466de75765f650
|
||||||
|
md5: b76d756e7ac8752ae0035f3ce5f1383c
|
||||||
|
crc32: 3370e359
|
||||||
note: "PET Editor 4.0, 40 col, Normal keyboard, 50Hz. Embedded in core."
|
note: "PET Editor 4.0, 40 col, Normal keyboard, 50Hz. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:62"
|
source_ref: "vice/src/pet/petrom.h:62"
|
||||||
|
|
||||||
@@ -628,6 +796,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 2048
|
size: 2048
|
||||||
|
sha1: 9f91fbabfdd532d003d2508f399574ba8ec6ee5f
|
||||||
|
md5: 8e69e040489098522846b1b1c63682c2
|
||||||
|
crc32: 16fb070c
|
||||||
note: "PET Editor 4.0, 40 col, Business keyboard, 50Hz. Embedded in core."
|
note: "PET Editor 4.0, 40 col, Business keyboard, 50Hz. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:65"
|
source_ref: "vice/src/pet/petrom.h:65"
|
||||||
|
|
||||||
@@ -637,6 +808,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 2048
|
size: 2048
|
||||||
|
sha1: 81975eab31a8f4f51ae2a20d099a567c7b3f2dd1
|
||||||
|
md5: 3a0e2ef328040aa30b30a8134426879a
|
||||||
|
crc32: 845a44e6
|
||||||
note: "PET Editor 4.0, 80 col, Business keyboard, 50Hz. Embedded in core."
|
note: "PET Editor 4.0, 80 col, Business keyboard, 50Hz. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:63"
|
source_ref: "vice/src/pet/petrom.h:63"
|
||||||
|
|
||||||
@@ -646,6 +820,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 2048
|
size: 2048
|
||||||
|
sha1: 3e067cc621e4beafca2b90cb8f6dba975df2855b
|
||||||
|
md5: 29a82eb54e73ebc5673c718c489b174b
|
||||||
|
crc32: 54f32f45
|
||||||
note: "PET Character Generator 1 (original PET 2001). Embedded in core."
|
note: "PET Character Generator 1 (original PET 2001). Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:46"
|
source_ref: "vice/src/pet/petrom.h:46"
|
||||||
|
|
||||||
@@ -655,6 +832,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 2048
|
size: 2048
|
||||||
|
sha1: 0157a2d55b7ac4eaeb38475889ebeea52e2593db
|
||||||
|
md5: 9880432e633b15998d58884ff34c4e70
|
||||||
|
crc32: d8408674
|
||||||
note: "PET Character Generator 2. Embedded in core."
|
note: "PET Character Generator 2. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:47"
|
source_ref: "vice/src/pet/petrom.h:47"
|
||||||
|
|
||||||
@@ -664,6 +844,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: bf346f11595a3e65e55d6aeeaa2c0cec807b66c7
|
||||||
|
md5: dd30641d9e6a221edd725d1e529dcbdb
|
||||||
|
crc32: ee8229c4
|
||||||
note: "SuperPET Character Generator. Embedded in core."
|
note: "SuperPET Character Generator. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:48"
|
source_ref: "vice/src/pet/petrom.h:48"
|
||||||
|
|
||||||
@@ -673,6 +856,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: 0414b3ab847c8977eb05c2fcc72efcf2f9d92871
|
||||||
|
md5: 6eb1c1bfa6ce1444737794432966dfcc
|
||||||
|
crc32: 728a998b
|
||||||
note: "SuperPET Waterloo microEngine 6809 ROM at $A000. Embedded in core."
|
note: "SuperPET Waterloo microEngine 6809 ROM at $A000. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:75"
|
source_ref: "vice/src/pet/petrom.h:75"
|
||||||
|
|
||||||
@@ -682,6 +868,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: df154939b934d0aeeb376813ec1ba0d43c2a3378
|
||||||
|
md5: 537498d75ecf761d4991f9ebd85129ca
|
||||||
|
crc32: 6beb7c62
|
||||||
note: "SuperPET Waterloo microEngine 6809 ROM at $B000. Embedded in core."
|
note: "SuperPET Waterloo microEngine 6809 ROM at $B000. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:76"
|
source_ref: "vice/src/pet/petrom.h:76"
|
||||||
|
|
||||||
@@ -691,6 +880,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: 6c5b0cce97068f8841112ba6d5cd8e568b562fa3
|
||||||
|
md5: 3e8dd04902dc9fee172084698f84695f
|
||||||
|
crc32: 5db4983d
|
||||||
note: "SuperPET Waterloo microEngine 6809 ROM at $C000. Embedded in core."
|
note: "SuperPET Waterloo microEngine 6809 ROM at $C000. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:77"
|
source_ref: "vice/src/pet/petrom.h:77"
|
||||||
|
|
||||||
@@ -700,6 +892,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: b42a2050a319a1ffca7868a8d8d635fadd37ec37
|
||||||
|
md5: 80f4d2351ee19673820989919c7c1e9b
|
||||||
|
crc32: f55fc559
|
||||||
note: "SuperPET Waterloo microEngine 6809 ROM at $D000. Embedded in core."
|
note: "SuperPET Waterloo microEngine 6809 ROM at $D000. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:78"
|
source_ref: "vice/src/pet/petrom.h:78"
|
||||||
|
|
||||||
@@ -709,6 +904,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 2048
|
size: 2048
|
||||||
|
sha1: e8ce8347451a001214a5e71a13081b38b4be23bc
|
||||||
|
md5: a740ff5d0d1132ab18cfc1974fca908d
|
||||||
|
crc32: b2cee903
|
||||||
note: "SuperPET Waterloo microEngine 6809 ROM at $E000. Embedded in core."
|
note: "SuperPET Waterloo microEngine 6809 ROM at $E000. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:79"
|
source_ref: "vice/src/pet/petrom.h:79"
|
||||||
|
|
||||||
@@ -718,6 +916,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: 9b4a5134d20345171e7303445f87c4e0b9addc96
|
||||||
|
md5: 049e2d26fde71a741f6075ecbf0a432d
|
||||||
|
crc32: f42df0cb
|
||||||
note: "SuperPET Waterloo microEngine 6809 ROM at $F000. Embedded in core."
|
note: "SuperPET Waterloo microEngine 6809 ROM at $F000. Embedded in core."
|
||||||
source_ref: "vice/src/pet/petrom.h:80"
|
source_ref: "vice/src/pet/petrom.h:80"
|
||||||
|
|
||||||
@@ -731,6 +932,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 9409f92e167984096fe4d5913714bff6214c3b2d
|
||||||
|
md5: 3ad5c7182006bcad1597583dbc8505c9
|
||||||
|
crc32: a8ff9372
|
||||||
note: "CBM-II BASIC 128 (CBM 610/620/710/720). Embedded in core."
|
note: "CBM-II BASIC 128 (CBM 610/620/710/720). Embedded in core."
|
||||||
source_ref: "vice/src/cbm2/cbm2rom.h:41"
|
source_ref: "vice/src/cbm2/cbm2rom.h:41"
|
||||||
|
|
||||||
@@ -740,6 +944,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 53314b4d565cc405a67a0936b935e6e08955580d
|
||||||
|
md5: 6a505014e543c62e99668080a3b80b40
|
||||||
|
crc32: 5db15870
|
||||||
note: "CBM-II BASIC 256 (CBM 710/720 with 256K). Embedded in core."
|
note: "CBM-II BASIC 256 (CBM 710/720 with 256K). Embedded in core."
|
||||||
source_ref: "vice/src/cbm2/cbm2rom.h:42"
|
source_ref: "vice/src/cbm2/cbm2rom.h:42"
|
||||||
|
|
||||||
@@ -749,6 +956,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: e69531d45f5993f8e53c6bd9ab2a7bc10fe2d02f
|
||||||
|
md5: 5a9559ceaf1a0bef0e721242c67a030d
|
||||||
|
crc32: 9a468e5d
|
||||||
note: "CBM-II BASIC 500 (CBM 510/P500). Embedded in core."
|
note: "CBM-II BASIC 500 (CBM 510/P500). Embedded in core."
|
||||||
source_ref: "vice/src/cbm2/cbm2rom.h:43"
|
source_ref: "vice/src/cbm2/cbm2rom.h:43"
|
||||||
|
|
||||||
@@ -758,6 +968,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: abb26418b9e1614a8f52bdeee0822d4a96071439
|
||||||
|
md5: e0346953e77bd1353ebf53aaa5b6f0b0
|
||||||
|
crc32: 09a5667e
|
||||||
note: "CBM-II Kernal (CBM 610/620/710/720). Embedded in core."
|
note: "CBM-II Kernal (CBM 610/620/710/720). Embedded in core."
|
||||||
source_ref: "vice/src/cbm2/cbm2rom.h:45"
|
source_ref: "vice/src/cbm2/cbm2rom.h:45"
|
||||||
|
|
||||||
@@ -767,6 +980,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: 097197d4d08e0b82e0466a5f1fbd49a24f3d2523
|
||||||
|
md5: 1a19593625acdc5af96a5e78b1a23f37
|
||||||
|
crc32: f46bbd2b
|
||||||
note: "CBM-II Kernal 500 (CBM 510/P500). Embedded in core."
|
note: "CBM-II Kernal 500 (CBM 510/P500). Embedded in core."
|
||||||
source_ref: "vice/src/cbm2/cbm2rom.h:46"
|
source_ref: "vice/src/cbm2/cbm2rom.h:46"
|
||||||
|
|
||||||
@@ -776,6 +992,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: adc7c31e18c7c7413d54802ef2f4193da14711aa
|
||||||
|
md5: 12a4202f5331d45af846af6c58fba946
|
||||||
|
crc32: ec4272ee
|
||||||
note: "CBM-II Character Generator 500 (VIC-II based, CBM 510/P500). Embedded in core."
|
note: "CBM-II Character Generator 500 (VIC-II based, CBM 510/P500). Embedded in core."
|
||||||
source_ref: "vice/src/cbm2/cbm2rom.h:37"
|
source_ref: "vice/src/cbm2/cbm2rom.h:37"
|
||||||
|
|
||||||
@@ -785,6 +1004,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: e63bf18da48e5a53c99ef127c1ae721333d1d102
|
||||||
|
md5: 2818722af27ceae6952c08cf83a076f9
|
||||||
|
crc32: 1acf5098
|
||||||
note: "CBM-II Character Generator 600 (CBM 610/620). Embedded in core."
|
note: "CBM-II Character Generator 600 (CBM 610/620). Embedded in core."
|
||||||
source_ref: "vice/src/cbm2/cbm2rom.h:38"
|
source_ref: "vice/src/cbm2/cbm2rom.h:38"
|
||||||
|
|
||||||
@@ -794,6 +1016,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: e7f3cbc8e282f79a00c3e95d75c8d725ee3c6287
|
||||||
|
md5: 03f32477905d77e2135857076ec31efa
|
||||||
|
crc32: 3a350bc3
|
||||||
note: "CBM-II Character Generator 700 (CBM 710/720). Embedded in core."
|
note: "CBM-II Character Generator 700 (CBM 710/720). Embedded in core."
|
||||||
source_ref: "vice/src/cbm2/cbm2rom.h:39"
|
source_ref: "vice/src/cbm2/cbm2rom.h:39"
|
||||||
|
|
||||||
@@ -807,6 +1032,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 65536
|
size: 65536
|
||||||
|
sha1: f5b6da17ee8206ff0d2258e1d6e8b798147c2650
|
||||||
|
md5: 006862e9a52d987970435988e3803c71
|
||||||
|
crc32: 89c1a062
|
||||||
note: "SuperCPU64 internal ROM (default). Embedded in core."
|
note: "SuperCPU64 internal ROM (default). Embedded in core."
|
||||||
source_ref: "retrodep/ui.c:269"
|
source_ref: "retrodep/ui.c:269"
|
||||||
|
|
||||||
@@ -816,6 +1044,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: adc7c31e18c7c7413d54802ef2f4193da14711aa
|
||||||
|
md5: 12a4202f5331d45af846af6c58fba946
|
||||||
|
crc32: ec4272ee
|
||||||
note: "C64 Character Generator (used by SCPU64). Embedded in core."
|
note: "C64 Character Generator (used by SCPU64). Embedded in core."
|
||||||
source_ref: "vice/src/scpu64/scpu64rom.h:36"
|
source_ref: "vice/src/scpu64/scpu64rom.h:36"
|
||||||
|
|
||||||
@@ -825,6 +1056,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 4096
|
size: 4096
|
||||||
|
sha1: 0fad19dbcdb12461c99657b2979dbb5c2e47b527
|
||||||
|
md5: cf32a93c0a693ed359a4f483ef6db53d
|
||||||
|
crc32: 1604f6c1
|
||||||
note: "C64 Japanese Character Generator (used by SCPU64). Embedded in core."
|
note: "C64 Japanese Character Generator (used by SCPU64). Embedded in core."
|
||||||
source_ref: "vice/src/scpu64/scpu64rom.h:37"
|
source_ref: "vice/src/scpu64/scpu64rom.h:37"
|
||||||
|
|
||||||
@@ -854,6 +1088,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: 3477c14e0c79faa445224dad16534f04ed143e44
|
||||||
|
md5: 87e849da3c87549848550fe4dd4d1aae
|
||||||
|
crc32: 718d42b1
|
||||||
note: "1540 drive DOS ROM. Embedded in core."
|
note: "1540 drive DOS ROM. Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:88"
|
source_ref: "vice/src/drive/driverom.h:88"
|
||||||
|
|
||||||
@@ -863,6 +1100,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: ab16f56989b27d89babe5f89c5a8cb3da71a82f0
|
||||||
|
md5: a0ce8439d1b8dcf2e1430461f7233a72
|
||||||
|
crc32: 57224cde
|
||||||
note: "1541 drive DOS ROM. Embedded in core."
|
note: "1541 drive DOS ROM. Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:89"
|
source_ref: "vice/src/drive/driverom.h:89"
|
||||||
|
|
||||||
@@ -872,6 +1112,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: d3b78c3dbac55f5199f33f3fe0036439811f7fb3
|
||||||
|
md5: ada295382a1f2df772a7e5c5c6f34215
|
||||||
|
crc32: 899fa3c5
|
||||||
note: "1541-II drive DOS ROM. Embedded in core."
|
note: "1541-II drive DOS ROM. Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:90"
|
source_ref: "vice/src/drive/driverom.h:90"
|
||||||
|
|
||||||
@@ -881,6 +1124,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: fae3c788ad9a6cc2dbdfbcf6c0264b2ca921d55e
|
||||||
|
md5: 0c767bf0a84d7751af056e53a074c9e2
|
||||||
|
crc32: 6d16d024
|
||||||
note: "1551 drive DOS ROM (Plus/4 specific). Embedded in core."
|
note: "1551 drive DOS ROM (Plus/4 specific). Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:92"
|
source_ref: "vice/src/drive/driverom.h:92"
|
||||||
|
|
||||||
@@ -890,6 +1136,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 32768
|
size: 32768
|
||||||
|
sha1: 5fc06dc82ff6840f183bd43a4d9b8a16956b2f56
|
||||||
|
md5: f0799353f0e22cf7d783e447adcafde2
|
||||||
|
crc32: 5a0c7937
|
||||||
note: "1570 drive DOS ROM. Embedded in core."
|
note: "1570 drive DOS ROM. Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:93"
|
source_ref: "vice/src/drive/driverom.h:93"
|
||||||
|
|
||||||
@@ -899,6 +1148,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 32768
|
size: 32768
|
||||||
|
sha1: f1be619c106641a685f6609e4d43d6fc9eac1e70
|
||||||
|
md5: dae964d64b7843ff86c008d396dda208
|
||||||
|
crc32: 5755bae3
|
||||||
note: "1571 drive DOS ROM. Embedded in core."
|
note: "1571 drive DOS ROM. Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:94"
|
source_ref: "vice/src/drive/driverom.h:94"
|
||||||
|
|
||||||
@@ -908,6 +1160,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 32768
|
size: 32768
|
||||||
|
sha1: 14ee7a0fb7e1c59c51fbf781f944387037daa3ee
|
||||||
|
md5: f9158328494b3e269f86ef419792c2e5
|
||||||
|
crc32: f24efcc4
|
||||||
note: "1571CR drive DOS ROM (cost-reduced, C128D internal). Embedded in core."
|
note: "1571CR drive DOS ROM (cost-reduced, C128D internal). Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:95"
|
source_ref: "vice/src/drive/driverom.h:95"
|
||||||
|
|
||||||
@@ -917,6 +1172,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 32768
|
size: 32768
|
||||||
|
sha1: 01228eae6f066bd9b7b2b6a7fa3f667e41dad393
|
||||||
|
md5: 6a82f92aea2a3afa190fe32d565f39e7
|
||||||
|
crc32: a9011b84
|
||||||
note: "1581 drive DOS ROM. Embedded in core."
|
note: "1581 drive DOS ROM. Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:96"
|
source_ref: "vice/src/drive/driverom.h:96"
|
||||||
|
|
||||||
@@ -926,6 +1184,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: d50b093828888146596f17ae0df9ef3dfde71b05
|
||||||
|
md5: 2d967790361aa77de87a24fb93e342f9
|
||||||
|
crc32: 87e6a94e
|
||||||
note: "CBM 1001 (SFD-1001) drive DOS ROM. Embedded in core."
|
note: "CBM 1001 (SFD-1001) drive DOS ROM. Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:70"
|
source_ref: "vice/src/drive/driverom.h:70"
|
||||||
|
|
||||||
@@ -935,6 +1196,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: c53e180a96649ceb3f421739e8dc66faba7cba44
|
||||||
|
md5: 3454c06fd2275f5bcbfe936dcdf8059b
|
||||||
|
crc32: 21b80fdf
|
||||||
note: "CBM 2031 drive DOS ROM. Embedded in core."
|
note: "CBM 2031 drive DOS ROM. Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:73"
|
source_ref: "vice/src/drive/driverom.h:73"
|
||||||
|
|
||||||
@@ -944,6 +1208,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 8192
|
size: 8192
|
||||||
|
sha1: e37b3bfd801eb19dea50cf8b4a6af8613c3520d3
|
||||||
|
md5: 3efff682000fd841b4dd6560bf53e37c
|
||||||
|
crc32: d04c1fbb
|
||||||
note: "CBM 2040 dual drive DOS ROM. Embedded in core."
|
note: "CBM 2040 dual drive DOS ROM. Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:76"
|
source_ref: "vice/src/drive/driverom.h:76"
|
||||||
|
|
||||||
@@ -953,6 +1220,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 12288
|
size: 12288
|
||||||
|
sha1: 02bd4b0c8508b3874b95799a9a63caf369c837de
|
||||||
|
md5: 139e72a58b7ddb2f92ceb18c8735c53c
|
||||||
|
crc32: f4967a7f
|
||||||
note: "CBM 3040 dual drive DOS ROM. Embedded in core."
|
note: "CBM 3040 dual drive DOS ROM. Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:79"
|
source_ref: "vice/src/drive/driverom.h:79"
|
||||||
|
|
||||||
@@ -962,6 +1232,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 12288
|
size: 12288
|
||||||
|
sha1: 245abbe76581558d270cdbb6fe55f56748403d8e
|
||||||
|
md5: 2fce6a76c738d1a10c189bf0660d868e
|
||||||
|
crc32: 40e0ebaa
|
||||||
note: "CBM 4040 dual drive DOS ROM. Embedded in core."
|
note: "CBM 4040 dual drive DOS ROM. Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:82"
|
source_ref: "vice/src/drive/driverom.h:82"
|
||||||
|
|
||||||
@@ -971,6 +1244,9 @@ files:
|
|||||||
hle_fallback: true
|
hle_fallback: true
|
||||||
embedded: true
|
embedded: true
|
||||||
size: 16384
|
size: 16384
|
||||||
|
sha1: c48df2cbb0eea656c3243df7ea8bfefcd171b8e8
|
||||||
|
md5: d6d4df6f2811767de6f5bf46ad7fba69
|
||||||
|
crc32: 632a328e
|
||||||
note: "CBM D9090/D9060 hard drive DOS ROM. Embedded in core."
|
note: "CBM D9090/D9060 hard drive DOS ROM. Embedded in core."
|
||||||
source_ref: "vice/src/drive/driverom.h:85"
|
source_ref: "vice/src/drive/driverom.h:85"
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"platform": "batocera",
|
"platform": "batocera",
|
||||||
"display_name": "Batocera",
|
"display_name": "Batocera",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"generated": "2026-04-03T09:43:11Z",
|
"generated": "2026-04-18T07:55:01Z",
|
||||||
"base_destination": "bios",
|
"base_destination": "bios",
|
||||||
"detect": [
|
"detect": [
|
||||||
{
|
{
|
||||||
@@ -230,8 +230,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"total_files": 1547,
|
"total_files": 1540,
|
||||||
"total_size": 4371484317,
|
"total_size": 4337691265,
|
||||||
"files": [
|
"files": [
|
||||||
{
|
{
|
||||||
"dest": "panafz1.bin",
|
"dest": "panafz1.bin",
|
||||||
@@ -4722,7 +4722,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "MSX/msx.rom",
|
"dest": "MSX/MSX.ROM",
|
||||||
"sha1": "409e82adac40f6bdd18eb6c84e8b2fbdc7fb5498",
|
"sha1": "409e82adac40f6bdd18eb6c84e8b2fbdc7fb5498",
|
||||||
"size": 32768,
|
"size": 32768,
|
||||||
"repo_path": "bios/Microsoft/MSX/MSX.ROM",
|
"repo_path": "bios/Microsoft/MSX/MSX.ROM",
|
||||||
@@ -4767,7 +4767,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "MSX/msx2.rom",
|
"dest": "MSX/MSX2.ROM",
|
||||||
"sha1": "6103b39f1e38d1aa2d84b1c3219c44f1abb5436e",
|
"sha1": "6103b39f1e38d1aa2d84b1c3219c44f1abb5436e",
|
||||||
"size": 32768,
|
"size": 32768,
|
||||||
"repo_path": "bios/Microsoft/MSX/MSX2.ROM",
|
"repo_path": "bios/Microsoft/MSX/MSX2.ROM",
|
||||||
@@ -4776,7 +4776,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "MSX/msx2ext.rom",
|
"dest": "MSX/MSX2EXT.ROM",
|
||||||
"sha1": "5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02",
|
"sha1": "5c1f9c7fb655e43d38e5dd1fcc6b942b2ff68b02",
|
||||||
"size": 16384,
|
"size": 16384,
|
||||||
"repo_path": "bios/Microsoft/MSX/MSX2EXT.ROM",
|
"repo_path": "bios/Microsoft/MSX/MSX2EXT.ROM",
|
||||||
@@ -9375,69 +9375,6 @@
|
|||||||
"SquirrelJME"
|
"SquirrelJME"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"dest": "kvs1.wav",
|
|
||||||
"sha1": "b094c2c1fca81a0e531e0541f302346150ec4604",
|
|
||||||
"size": 3436329,
|
|
||||||
"repo_path": "bios/Atari/2600/KVS1.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvs2.wav",
|
|
||||||
"sha1": "8b83b2eea01b3e08ceb885aeb153d4084bddb63c",
|
|
||||||
"size": 2086275,
|
|
||||||
"repo_path": "bios/Atari/2600/KVS2.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvs3.wav",
|
|
||||||
"sha1": "86896a1e272d8715489de9b407f0b8a42f82d4a0",
|
|
||||||
"size": 3720920,
|
|
||||||
"repo_path": "bios/Atari/2600/KVS3.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvb1.wav",
|
|
||||||
"sha1": "6a582aebcefd6e2a97bdd8968202aab9851a889c",
|
|
||||||
"size": 4219542,
|
|
||||||
"repo_path": "bios/Atari/2600/KVB1.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvb2.wav",
|
|
||||||
"sha1": "60a425c6bde3226ab731995562716321be20fc49",
|
|
||||||
"size": 9593878,
|
|
||||||
"repo_path": "bios/Atari/2600/KVB2.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvb3.wav",
|
|
||||||
"sha1": "5e34125c4d6c209b21d1c892f3df0ec1644fd0d8",
|
|
||||||
"size": 7676992,
|
|
||||||
"repo_path": "bios/Atari/2600/KVB3.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvshared.wav",
|
|
||||||
"sha1": "9adf10cdf1de833b194c7d8797ad1f041ad98dd3",
|
|
||||||
"size": 3059116,
|
|
||||||
"repo_path": "bios/Atari/2600/KVSHARED.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"dest": "KVS1.WAV",
|
"dest": "KVS1.WAV",
|
||||||
"sha1": "b094c2c1fca81a0e531e0541f302346150ec4604",
|
"sha1": "b094c2c1fca81a0e531e0541f302346150ec4604",
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"platform": "bizhawk",
|
"platform": "bizhawk",
|
||||||
"display_name": "BizHawk",
|
"display_name": "BizHawk",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"generated": "2026-04-02T13:52:21Z",
|
"generated": "2026-04-18T07:55:07Z",
|
||||||
"base_destination": "Firmware",
|
"base_destination": "Firmware",
|
||||||
"detect": [
|
"detect": [
|
||||||
{
|
{
|
||||||
@@ -285,7 +285,7 @@
|
|||||||
"dest": "VEC_Minestorm.vec",
|
"dest": "VEC_Minestorm.vec",
|
||||||
"sha1": "65d07426b520ddd3115d40f255511e0fd2e20ae7",
|
"sha1": "65d07426b520ddd3115d40f255511e0fd2e20ae7",
|
||||||
"size": 8192,
|
"size": 8192,
|
||||||
"repo_path": "bios/GCE/Vectrex/VEC_MineStorm.vec",
|
"repo_path": "bios/GCE/Vectrex/VEC_Minestorm.vec",
|
||||||
"cores": null
|
"cores": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"platform": "lakka",
|
"platform": "lakka",
|
||||||
"display_name": "Lakka",
|
"display_name": "Lakka",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"generated": "2026-04-02T13:52:45Z",
|
"generated": "2026-04-18T07:55:35Z",
|
||||||
"base_destination": "system",
|
"base_destination": "system",
|
||||||
"detect": [
|
"detect": [
|
||||||
{
|
{
|
||||||
@@ -9837,66 +9837,66 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvs1.wav",
|
"dest": "KVS1.WAV",
|
||||||
"sha1": "b094c2c1fca81a0e531e0541f302346150ec4604",
|
"sha1": "b094c2c1fca81a0e531e0541f302346150ec4604",
|
||||||
"size": 3436329,
|
"size": 3436329,
|
||||||
"repo_path": "bios/Atari/2600/KVS1.WAV",
|
"repo_path": "bios/Atari/2600/KVS1.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvs2.wav",
|
"dest": "KVS2.WAV",
|
||||||
"sha1": "8b83b2eea01b3e08ceb885aeb153d4084bddb63c",
|
"sha1": "8b83b2eea01b3e08ceb885aeb153d4084bddb63c",
|
||||||
"size": 2086275,
|
"size": 2086275,
|
||||||
"repo_path": "bios/Atari/2600/KVS2.WAV",
|
"repo_path": "bios/Atari/2600/KVS2.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvs3.wav",
|
"dest": "KVS3.WAV",
|
||||||
"sha1": "86896a1e272d8715489de9b407f0b8a42f82d4a0",
|
"sha1": "86896a1e272d8715489de9b407f0b8a42f82d4a0",
|
||||||
"size": 3720920,
|
"size": 3720920,
|
||||||
"repo_path": "bios/Atari/2600/KVS3.WAV",
|
"repo_path": "bios/Atari/2600/KVS3.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvb1.wav",
|
"dest": "KVB1.WAV",
|
||||||
"sha1": "6a582aebcefd6e2a97bdd8968202aab9851a889c",
|
"sha1": "6a582aebcefd6e2a97bdd8968202aab9851a889c",
|
||||||
"size": 4219542,
|
"size": 4219542,
|
||||||
"repo_path": "bios/Atari/2600/KVB1.WAV",
|
"repo_path": "bios/Atari/2600/KVB1.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvb2.wav",
|
"dest": "KVB2.WAV",
|
||||||
"sha1": "60a425c6bde3226ab731995562716321be20fc49",
|
"sha1": "60a425c6bde3226ab731995562716321be20fc49",
|
||||||
"size": 9593878,
|
"size": 9593878,
|
||||||
"repo_path": "bios/Atari/2600/KVB2.WAV",
|
"repo_path": "bios/Atari/2600/KVB2.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvb3.wav",
|
"dest": "KVB3.WAV",
|
||||||
"sha1": "5e34125c4d6c209b21d1c892f3df0ec1644fd0d8",
|
"sha1": "5e34125c4d6c209b21d1c892f3df0ec1644fd0d8",
|
||||||
"size": 7676992,
|
"size": 7676992,
|
||||||
"repo_path": "bios/Atari/2600/KVB3.WAV",
|
"repo_path": "bios/Atari/2600/KVB3.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvshared.wav",
|
"dest": "KVSHARED.WAV",
|
||||||
"sha1": "9adf10cdf1de833b194c7d8797ad1f041ad98dd3",
|
"sha1": "9adf10cdf1de833b194c7d8797ad1f041ad98dd3",
|
||||||
"size": 3059116,
|
"size": 3059116,
|
||||||
"repo_path": "bios/Atari/2600/KVSHARED.WAV",
|
"repo_path": "bios/Atari/2600/KVSHARED.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"platform": "recalbox",
|
"platform": "recalbox",
|
||||||
"display_name": "Recalbox",
|
"display_name": "Recalbox",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"generated": "2026-04-03T09:44:06Z",
|
"generated": "2026-04-18T07:56:06Z",
|
||||||
"base_destination": "bios",
|
"base_destination": "bios",
|
||||||
"detect": [
|
"detect": [
|
||||||
{
|
{
|
||||||
@@ -230,8 +230,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"total_files": 1107,
|
"total_files": 1100,
|
||||||
"total_size": 3980096655,
|
"total_size": 3946303603,
|
||||||
"files": [
|
"files": [
|
||||||
{
|
{
|
||||||
"dest": "3do/panafz1.bin",
|
"dest": "3do/panafz1.bin",
|
||||||
@@ -6968,69 +6968,6 @@
|
|||||||
"SAME CDi"
|
"SAME CDi"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"dest": "kvs1.wav",
|
|
||||||
"sha1": "b094c2c1fca81a0e531e0541f302346150ec4604",
|
|
||||||
"size": 3436329,
|
|
||||||
"repo_path": "bios/Atari/2600/KVS1.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvs2.wav",
|
|
||||||
"sha1": "8b83b2eea01b3e08ceb885aeb153d4084bddb63c",
|
|
||||||
"size": 2086275,
|
|
||||||
"repo_path": "bios/Atari/2600/KVS2.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvs3.wav",
|
|
||||||
"sha1": "86896a1e272d8715489de9b407f0b8a42f82d4a0",
|
|
||||||
"size": 3720920,
|
|
||||||
"repo_path": "bios/Atari/2600/KVS3.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvb1.wav",
|
|
||||||
"sha1": "6a582aebcefd6e2a97bdd8968202aab9851a889c",
|
|
||||||
"size": 4219542,
|
|
||||||
"repo_path": "bios/Atari/2600/KVB1.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvb2.wav",
|
|
||||||
"sha1": "60a425c6bde3226ab731995562716321be20fc49",
|
|
||||||
"size": 9593878,
|
|
||||||
"repo_path": "bios/Atari/2600/KVB2.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvb3.wav",
|
|
||||||
"sha1": "5e34125c4d6c209b21d1c892f3df0ec1644fd0d8",
|
|
||||||
"size": 7676992,
|
|
||||||
"repo_path": "bios/Atari/2600/KVB3.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvshared.wav",
|
|
||||||
"sha1": "9adf10cdf1de833b194c7d8797ad1f041ad98dd3",
|
|
||||||
"size": 3059116,
|
|
||||||
"repo_path": "bios/Atari/2600/KVSHARED.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"dest": "KVS1.WAV",
|
"dest": "KVS1.WAV",
|
||||||
"sha1": "b094c2c1fca81a0e531e0541f302346150ec4604",
|
"sha1": "b094c2c1fca81a0e531e0541f302346150ec4604",
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"platform": "retroarch",
|
"platform": "retroarch",
|
||||||
"display_name": "RetroArch",
|
"display_name": "RetroArch",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"generated": "2026-04-03T09:43:38Z",
|
"generated": "2026-04-18T07:55:35Z",
|
||||||
"base_destination": "system",
|
"base_destination": "system",
|
||||||
"detect": [
|
"detect": [
|
||||||
{
|
{
|
||||||
@@ -10070,66 +10070,66 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvs1.wav",
|
"dest": "KVS1.WAV",
|
||||||
"sha1": "b094c2c1fca81a0e531e0541f302346150ec4604",
|
"sha1": "b094c2c1fca81a0e531e0541f302346150ec4604",
|
||||||
"size": 3436329,
|
"size": 3436329,
|
||||||
"repo_path": "bios/Atari/2600/KVS1.WAV",
|
"repo_path": "bios/Atari/2600/KVS1.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvs2.wav",
|
"dest": "KVS2.WAV",
|
||||||
"sha1": "8b83b2eea01b3e08ceb885aeb153d4084bddb63c",
|
"sha1": "8b83b2eea01b3e08ceb885aeb153d4084bddb63c",
|
||||||
"size": 2086275,
|
"size": 2086275,
|
||||||
"repo_path": "bios/Atari/2600/KVS2.WAV",
|
"repo_path": "bios/Atari/2600/KVS2.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvs3.wav",
|
"dest": "KVS3.WAV",
|
||||||
"sha1": "86896a1e272d8715489de9b407f0b8a42f82d4a0",
|
"sha1": "86896a1e272d8715489de9b407f0b8a42f82d4a0",
|
||||||
"size": 3720920,
|
"size": 3720920,
|
||||||
"repo_path": "bios/Atari/2600/KVS3.WAV",
|
"repo_path": "bios/Atari/2600/KVS3.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvb1.wav",
|
"dest": "KVB1.WAV",
|
||||||
"sha1": "6a582aebcefd6e2a97bdd8968202aab9851a889c",
|
"sha1": "6a582aebcefd6e2a97bdd8968202aab9851a889c",
|
||||||
"size": 4219542,
|
"size": 4219542,
|
||||||
"repo_path": "bios/Atari/2600/KVB1.WAV",
|
"repo_path": "bios/Atari/2600/KVB1.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvb2.wav",
|
"dest": "KVB2.WAV",
|
||||||
"sha1": "60a425c6bde3226ab731995562716321be20fc49",
|
"sha1": "60a425c6bde3226ab731995562716321be20fc49",
|
||||||
"size": 9593878,
|
"size": 9593878,
|
||||||
"repo_path": "bios/Atari/2600/KVB2.WAV",
|
"repo_path": "bios/Atari/2600/KVB2.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvb3.wav",
|
"dest": "KVB3.WAV",
|
||||||
"sha1": "5e34125c4d6c209b21d1c892f3df0ec1644fd0d8",
|
"sha1": "5e34125c4d6c209b21d1c892f3df0ec1644fd0d8",
|
||||||
"size": 7676992,
|
"size": 7676992,
|
||||||
"repo_path": "bios/Atari/2600/KVB3.WAV",
|
"repo_path": "bios/Atari/2600/KVB3.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "kvshared.wav",
|
"dest": "KVSHARED.WAV",
|
||||||
"sha1": "9adf10cdf1de833b194c7d8797ad1f041ad98dd3",
|
"sha1": "9adf10cdf1de833b194c7d8797ad1f041ad98dd3",
|
||||||
"size": 3059116,
|
"size": 3059116,
|
||||||
"repo_path": "bios/Atari/2600/KVSHARED.WAV",
|
"repo_path": "bios/Atari/2600/KVSHARED.WAV",
|
||||||
"cores": [
|
"cores": [
|
||||||
"Stella 2014"
|
"Stella 2023"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"platform": "retrodeck",
|
"platform": "retrodeck",
|
||||||
"display_name": "RetroDECK",
|
"display_name": "RetroDECK",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"generated": "2026-04-03T09:44:33Z",
|
"generated": "2026-04-18T07:56:37Z",
|
||||||
"base_destination": "",
|
"base_destination": "",
|
||||||
"detect": [
|
"detect": [
|
||||||
{
|
{
|
||||||
@@ -230,8 +230,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"total_files": 3153,
|
"total_files": 3146,
|
||||||
"total_size": 6351500734,
|
"total_size": 6317707682,
|
||||||
"files": [
|
"files": [
|
||||||
{
|
{
|
||||||
"dest": "bios/panafz1.bin",
|
"dest": "bios/panafz1.bin",
|
||||||
@@ -13879,10 +13879,10 @@
|
|||||||
"cores": null
|
"cores": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"dest": "bios/VEC_MineStorm.vec",
|
"dest": "bios/VEC_Minestorm.vec",
|
||||||
"sha1": "65d07426b520ddd3115d40f255511e0fd2e20ae7",
|
"sha1": "65d07426b520ddd3115d40f255511e0fd2e20ae7",
|
||||||
"size": 8192,
|
"size": 8192,
|
||||||
"repo_path": "bios/GCE/Vectrex/VEC_MineStorm.vec",
|
"repo_path": "bios/GCE/Vectrex/VEC_Minestorm.vec",
|
||||||
"cores": null
|
"cores": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -20436,69 +20436,6 @@
|
|||||||
"SquirrelJME"
|
"SquirrelJME"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"dest": "kvs1.wav",
|
|
||||||
"sha1": "b094c2c1fca81a0e531e0541f302346150ec4604",
|
|
||||||
"size": 3436329,
|
|
||||||
"repo_path": "bios/Atari/2600/KVS1.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvs2.wav",
|
|
||||||
"sha1": "8b83b2eea01b3e08ceb885aeb153d4084bddb63c",
|
|
||||||
"size": 2086275,
|
|
||||||
"repo_path": "bios/Atari/2600/KVS2.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvs3.wav",
|
|
||||||
"sha1": "86896a1e272d8715489de9b407f0b8a42f82d4a0",
|
|
||||||
"size": 3720920,
|
|
||||||
"repo_path": "bios/Atari/2600/KVS3.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvb1.wav",
|
|
||||||
"sha1": "6a582aebcefd6e2a97bdd8968202aab9851a889c",
|
|
||||||
"size": 4219542,
|
|
||||||
"repo_path": "bios/Atari/2600/KVB1.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvb2.wav",
|
|
||||||
"sha1": "60a425c6bde3226ab731995562716321be20fc49",
|
|
||||||
"size": 9593878,
|
|
||||||
"repo_path": "bios/Atari/2600/KVB2.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvb3.wav",
|
|
||||||
"sha1": "5e34125c4d6c209b21d1c892f3df0ec1644fd0d8",
|
|
||||||
"size": 7676992,
|
|
||||||
"repo_path": "bios/Atari/2600/KVB3.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"dest": "kvshared.wav",
|
|
||||||
"sha1": "9adf10cdf1de833b194c7d8797ad1f041ad98dd3",
|
|
||||||
"size": 3059116,
|
|
||||||
"repo_path": "bios/Atari/2600/KVSHARED.WAV",
|
|
||||||
"cores": [
|
|
||||||
"Stella 2014"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"dest": "KVS1.WAV",
|
"dest": "KVS1.WAV",
|
||||||
"sha1": "b094c2c1fca81a0e531e0541f302346150ec4604",
|
"sha1": "b094c2c1fca81a0e531e0541f302346150ec4604",
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ theme:
|
|||||||
icon: material/brightness-4
|
icon: material/brightness-4
|
||||||
name: Switch to auto
|
name: Switch to auto
|
||||||
font: false
|
font: false
|
||||||
|
logo: assets/images/logo.png
|
||||||
|
favicon: assets/images/favicon.png
|
||||||
icon:
|
icon:
|
||||||
logo: material/chip
|
logo: material/chip
|
||||||
features:
|
features:
|
||||||
@@ -52,7 +54,7 @@ plugins:
|
|||||||
- search
|
- search
|
||||||
nav:
|
nav:
|
||||||
- Home: index.md
|
- Home: index.md
|
||||||
- Which pack?: which-pack.md
|
- Download: which-pack.md
|
||||||
- Platforms:
|
- Platforms:
|
||||||
- Overview: platforms/index.md
|
- Overview: platforms/index.md
|
||||||
- Batocera: platforms/batocera.md
|
- Batocera: platforms/batocera.md
|
||||||
|
|||||||
@@ -7978,8 +7978,8 @@ systems:
|
|||||||
- name: Vectrex_Bios.bin
|
- name: Vectrex_Bios.bin
|
||||||
destination: bios/Vectrex_Bios.bin
|
destination: bios/Vectrex_Bios.bin
|
||||||
required: false
|
required: false
|
||||||
- name: VEC_MineStorm.vec
|
- name: VEC_Minestorm.vec
|
||||||
destination: bios/VEC_MineStorm.vec
|
destination: bios/VEC_Minestorm.vec
|
||||||
required: false
|
required: false
|
||||||
vsmile:
|
vsmile:
|
||||||
files:
|
files:
|
||||||
|
|||||||
@@ -143,7 +143,9 @@ def generate_readme(db: dict, platforms_dir: str) -> str:
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
lines = [
|
lines = [
|
||||||
"# RetroBIOS",
|
'<p align="center">',
|
||||||
|
' <img src=".github/assets/banner.png" alt="RetroBIOS" width="400">',
|
||||||
|
"</p>",
|
||||||
"",
|
"",
|
||||||
f"Complete BIOS and firmware packs for "
|
f"Complete BIOS and firmware packs for "
|
||||||
f"{', '.join(c['platform'] for c in sorted(coverages.values(), key=lambda x: x[
|
f"{', '.join(c['platform'] for c in sorted(coverages.values(), key=lambda x: x[
|
||||||
@@ -349,6 +351,13 @@ def generate_readme(db: dict, platforms_dir: str) -> str:
|
|||||||
|
|
||||||
lines.extend(
|
lines.extend(
|
||||||
[
|
[
|
||||||
|
"",
|
||||||
|
"## Community tools",
|
||||||
|
"",
|
||||||
|
"- [BIOS Preservation Tool](https://github.com/monster-penguin/BIOS-Preservation-Tool)"
|
||||||
|
" by [monster-penguin](https://github.com/monster-penguin)"
|
||||||
|
" - scan, verify, and stage your own BIOS collection"
|
||||||
|
" using RetroBIOS hash metadata",
|
||||||
"",
|
"",
|
||||||
"## Contributing",
|
"## Contributing",
|
||||||
"",
|
"",
|
||||||
|
|||||||
@@ -2136,6 +2136,131 @@ def _build_emulator_file_index(profiles: dict) -> dict[str, dict]:
|
|||||||
# mkdocs.yml nav generator
|
# mkdocs.yml nav generator
|
||||||
|
|
||||||
|
|
||||||
|
def generate_which_pack() -> str:
|
||||||
|
"""Generate the 'Which pack?' decision page."""
|
||||||
|
rel = "https://github.com/Abdess/retrobios/releases"
|
||||||
|
return f"""\
|
||||||
|
# Getting started
|
||||||
|
|
||||||
|
Some retro consoles need firmware files (commonly called BIOS) to run games.
|
||||||
|
Without them, the emulator either refuses to start the game or runs it with
|
||||||
|
reduced accuracy. This project collects and verifies those files so they are
|
||||||
|
ready to use.
|
||||||
|
|
||||||
|
## Quick install
|
||||||
|
|
||||||
|
The installer detects the platform, finds the BIOS folder, downloads what
|
||||||
|
is missing, and copies keys to standalone emulators (Yuzu, Eden, Ryujinx,
|
||||||
|
DuckStation, PCSX2, Dolphin, etc.) when they are present on the system.
|
||||||
|
|
||||||
|
**Linux / Mac / Steam Deck:**
|
||||||
|
|
||||||
|
```sh
|
||||||
|
curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**Windows (PowerShell):**
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
iwr -useb https://raw.githubusercontent.com/Abdess/retrobios/main/install.ps1 | iex
|
||||||
|
```
|
||||||
|
|
||||||
|
Nothing else needed. The installer handles everything.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Manual download
|
||||||
|
|
||||||
|
Pick the pack that matches the setup from the [releases page]({rel}),
|
||||||
|
download it, and extract the files into the BIOS folder listed below.
|
||||||
|
After extraction, launch a game. If it needed BIOS, it will find it.
|
||||||
|
|
||||||
|
### Steam Deck
|
||||||
|
|
||||||
|
| Setup | What it is | Pack | Extract to |
|
||||||
|
|-------|-----------|------|-----------|
|
||||||
|
| [EmuDeck](https://www.emudeck.com/) | Installs and configures multiple emulators, adds each game to the Steam library | [EmuDeck]({rel}) | `~/Emulation/bios/` |
|
||||||
|
| [RetroDECK](https://retrodeck.net/) | Single Flatpak app, all emulators bundled, one-click install from Discover | [RetroDECK]({rel}) | `~/retrodeck/` |
|
||||||
|
| RetroArch standalone | Installed from Discover, Steam, or Flatpak | [RetroArch]({rel}) | Open RetroArch > Settings > Directory > System, that is the folder |
|
||||||
|
|
||||||
|
### Windows
|
||||||
|
|
||||||
|
| Setup | What it is | Pack | Extract to |
|
||||||
|
|-------|-----------|------|-----------|
|
||||||
|
| [RetroArch](https://www.retroarch.com/) | Multi-system emulator, loads different cores for each console | [RetroArch]({rel}) | The `system` folder next to `retroarch.exe` |
|
||||||
|
| [RetroBat](https://www.retrobat.org/) | Windows frontend with EmulationStation, includes RetroArch and standalone emulators | [RetroBat]({rel}) | The `bios` folder inside the RetroBat installation |
|
||||||
|
| [BizHawk](https://tasvideos.org/BizHawk) | Accuracy-focused multi-system emulator, popular for speedruns and TAS | [BizHawk]({rel}) | The `Firmware` folder inside the BizHawk installation |
|
||||||
|
| [LaunchBox](https://www.launchbox-app.com/) | Game library manager and launcher, uses RetroArch or standalone emulators behind the scenes | [RetroArch]({rel}) | Open RetroArch (via LaunchBox) > Settings > Directory > System |
|
||||||
|
|
||||||
|
### Linux
|
||||||
|
|
||||||
|
| Setup | What it is | Pack | Extract to |
|
||||||
|
|-------|-----------|------|-----------|
|
||||||
|
| RetroArch (native) | Installed via package manager or AppImage | [RetroArch]({rel}) | `~/.config/retroarch/system/` |
|
||||||
|
| RetroArch (Flatpak) | Installed from Flathub | [RetroArch]({rel}) | `~/.var/app/org.libretro.RetroArch/config/retroarch/system/` |
|
||||||
|
| [Batocera](https://batocera.org/) | Bootable OS dedicated to gaming, runs from USB or full install, supports PC and SBC | [Batocera]({rel}) | `/userdata/bios/` |
|
||||||
|
| [Recalbox](https://www.recalbox.com/) | Bootable OS for retro gaming, streamlined interface, auto-configured | [Recalbox]({rel}) | `/recalbox/share/bios/` |
|
||||||
|
|
||||||
|
### macOS
|
||||||
|
|
||||||
|
| Setup | What it is | Pack | Extract to |
|
||||||
|
|-------|-----------|------|-----------|
|
||||||
|
| [RetroArch](https://www.retroarch.com/) | Multi-system emulator | [RetroArch]({rel}) | `~/Library/Application Support/RetroArch/system/` |
|
||||||
|
|
||||||
|
### Raspberry Pi and single-board computers
|
||||||
|
|
||||||
|
| Setup | What it is | Pack | Extract to |
|
||||||
|
|-------|-----------|------|-----------|
|
||||||
|
| [RetroPie](https://retropie.org.uk/) | The classic Pi emulation setup, largest community, most online guides | [RetroArch]({rel}) | `~/RetroPie/BIOS/` |
|
||||||
|
| [Lakka](https://www.lakka.tv/) | Lightweight RetroArch OS, minimal config, boots straight into the UI | [RetroArch]({rel}) | `/storage/system/` |
|
||||||
|
| [Batocera](https://batocera.org/) | Easy setup, works on Pi 3/4/5 and many other boards (Odroid, etc.) | [Batocera]({rel}) | `/userdata/bios/` |
|
||||||
|
| [Recalbox](https://www.recalbox.com/) | Plug-and-play experience, good for a first build | [Recalbox]({rel}) | `/recalbox/share/bios/` |
|
||||||
|
|
||||||
|
### Android handheld (Retroid Pocket, R36S, Miyoo, etc.)
|
||||||
|
|
||||||
|
Most Android handhelds run RetroArch. Download the [RetroArch pack]({rel})
|
||||||
|
and extract into `RetroArch/system/` on internal storage or SD card.
|
||||||
|
|
||||||
|
### Self-hosted ROM manager
|
||||||
|
|
||||||
|
| Setup | What it is | Pack | Extract to |
|
||||||
|
|-------|-----------|------|-----------|
|
||||||
|
| [RomM](https://github.com/rommapp/romm) | Web-based ROM manager, plays games in the browser via EmulatorJS | [RomM]({rel}) | The `bios` folder in the RomM library, one subfolder per system |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Full pack or Platform pack?
|
||||||
|
|
||||||
|
Each platform has two pack types on the [releases page]({rel}).
|
||||||
|
|
||||||
|
**Full pack** (recommended)
|
||||||
|
|
||||||
|
Contains the platform's own BIOS list plus all files needed by each
|
||||||
|
emulator core available on that platform. This covers alternate cores,
|
||||||
|
optional firmware that improves accuracy, and edge cases. Larger download,
|
||||||
|
but everything works out of the box with any core.
|
||||||
|
|
||||||
|
**Platform pack**
|
||||||
|
|
||||||
|
Contains only the files the platform officially checks for. Much smaller
|
||||||
|
download. Good for limited storage (SD cards, handhelds) or setups that
|
||||||
|
only use default cores.
|
||||||
|
|
||||||
|
When in doubt, take the full pack.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## After extraction
|
||||||
|
|
||||||
|
Launch a game. If it needed a BIOS file, the emulator will find it
|
||||||
|
automatically. No configuration needed.
|
||||||
|
|
||||||
|
If a game still asks for a missing file, check the
|
||||||
|
[platforms section](platforms/index.md) for the full file list, or the
|
||||||
|
[emulators section](emulators/index.md) for what each core expects.
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
def generate_mkdocs_nav(
|
def generate_mkdocs_nav(
|
||||||
coverages: dict,
|
coverages: dict,
|
||||||
manufacturers: dict,
|
manufacturers: dict,
|
||||||
@@ -2216,7 +2341,7 @@ def generate_mkdocs_nav(
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
{"Home": "index.md"},
|
{"Home": "index.md"},
|
||||||
{"Which pack?": "which-pack.md"},
|
{"Download": "which-pack.md"},
|
||||||
{"Platforms": platform_nav},
|
{"Platforms": platform_nav},
|
||||||
{"Systems": system_nav},
|
{"Systems": system_nav},
|
||||||
{"Emulators": emu_nav},
|
{"Emulators": emu_nav},
|
||||||
@@ -2260,6 +2385,15 @@ def main():
|
|||||||
css_dest.parent.mkdir(parents=True, exist_ok=True)
|
css_dest.parent.mkdir(parents=True, exist_ok=True)
|
||||||
shutil.copy2(css_src, css_dest)
|
shutil.copy2(css_src, css_dest)
|
||||||
|
|
||||||
|
# Copy branding assets
|
||||||
|
images_dest = docs / "assets" / "images"
|
||||||
|
images_dest.mkdir(parents=True, exist_ok=True)
|
||||||
|
assets_src = Path(".github") / "assets"
|
||||||
|
for name, dest_name in [("logo.png", "logo.png"), ("favicon.png", "favicon.png")]:
|
||||||
|
src = assets_src / name
|
||||||
|
if src.exists():
|
||||||
|
shutil.copy2(src, images_dest / dest_name)
|
||||||
|
|
||||||
registry_path = Path(args.platforms_dir) / "_registry.yml"
|
registry_path = Path(args.platforms_dir) / "_registry.yml"
|
||||||
registry = {}
|
registry = {}
|
||||||
if registry_path.exists():
|
if registry_path.exists():
|
||||||
@@ -2370,6 +2504,10 @@ def main():
|
|||||||
str(wiki_dest / "data-model.md"), generate_wiki_data_model(db, profiles)
|
str(wiki_dest / "data-model.md"), generate_wiki_data_model(db, profiles)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Generate which-pack page
|
||||||
|
print("Generating which-pack page...")
|
||||||
|
write_if_changed(str(docs / "which-pack.md"), generate_which_pack())
|
||||||
|
|
||||||
# Generate contributing
|
# Generate contributing
|
||||||
print("Generating contributing page...")
|
print("Generating contributing page...")
|
||||||
write_if_changed(str(docs / "contributing.md"), generate_contributing())
|
write_if_changed(str(docs / "contributing.md"), generate_contributing())
|
||||||
@@ -2405,6 +2543,8 @@ theme:
|
|||||||
icon: material/brightness-4
|
icon: material/brightness-4
|
||||||
name: Switch to auto
|
name: Switch to auto
|
||||||
font: false
|
font: false
|
||||||
|
logo: assets/images/logo.png
|
||||||
|
favicon: assets/images/favicon.png
|
||||||
icon:
|
icon:
|
||||||
logo: material/chip
|
logo: material/chip
|
||||||
features:
|
features:
|
||||||
|
|||||||
163
scripts/truth.py
163
scripts/truth.py
@@ -12,6 +12,16 @@ from common import _norm_system_id, resolve_platform_cores
|
|||||||
from validation import filter_files_by_mode
|
from validation import filter_files_by_mode
|
||||||
|
|
||||||
|
|
||||||
|
def _serialize_source_ref(sr: object) -> str:
|
||||||
|
"""Convert a source_ref value to a clean string for serialization."""
|
||||||
|
if isinstance(sr, str):
|
||||||
|
return sr
|
||||||
|
if isinstance(sr, dict):
|
||||||
|
parts = [f"{k}: {v}" for k, v in sr.items()]
|
||||||
|
return "; ".join(parts)
|
||||||
|
return str(sr)
|
||||||
|
|
||||||
|
|
||||||
def _determine_core_mode(
|
def _determine_core_mode(
|
||||||
emu_name: str,
|
emu_name: str,
|
||||||
profile: dict,
|
profile: dict,
|
||||||
@@ -35,31 +45,78 @@ def _determine_core_mode(
|
|||||||
|
|
||||||
|
|
||||||
def _enrich_hashes(entry: dict, db: dict) -> None:
|
def _enrich_hashes(entry: dict, db: dict) -> None:
|
||||||
"""Fill missing hash fields from the database."""
|
"""Fill missing sibling hashes from the database, ground-truth preserving.
|
||||||
sha1 = entry.get("sha1", "")
|
|
||||||
md5 = entry.get("md5", "")
|
|
||||||
|
|
||||||
# Hashes can be lists (multi-hash) — use first string value
|
The profile's hashes come from the emulator source code (ground truth).
|
||||||
if isinstance(sha1, list):
|
Any hash of a given file set of bytes is a projection of that same
|
||||||
sha1 = sha1[0] if sha1 else ""
|
ground truth — sha1, md5, crc32 all identify the same bytes. If the
|
||||||
if isinstance(md5, list):
|
profile has ONE ground-truth hash, the DB can supply its siblings.
|
||||||
md5 = md5[0] if md5 else ""
|
|
||||||
|
Lookup order (all are hash-anchored, never name-based):
|
||||||
|
1. SHA1 direct
|
||||||
|
2. MD5 -> SHA1 via indexes.by_md5
|
||||||
|
3. CRC32 -> SHA1 via indexes.by_crc32 (weaker 32-bit anchor,
|
||||||
|
requires size match when profile has size)
|
||||||
|
|
||||||
|
Name-based enrichment is NEVER used: a name alone has no ground-truth
|
||||||
|
anchor, the file in bios/ may not match what the source code expects.
|
||||||
|
|
||||||
|
Multi-hash entries (lists of accepted variants) are left untouched to
|
||||||
|
preserve variant information.
|
||||||
|
"""
|
||||||
|
# Skip multi-hash entries — they express ground truth as "any of these N
|
||||||
|
# variants", enriching with a single sibling would lose that information.
|
||||||
|
for h in ("sha1", "md5", "crc32"):
|
||||||
|
if isinstance(entry.get(h), list):
|
||||||
|
return
|
||||||
|
|
||||||
|
files_db = db.get("files", {})
|
||||||
|
indexes = db.get("indexes", {})
|
||||||
|
|
||||||
record = None
|
record = None
|
||||||
if sha1 and isinstance(sha1, str) and db.get("files"):
|
|
||||||
record = db["files"].get(sha1)
|
# Anchor 1: SHA1 (strongest)
|
||||||
if record is None and md5:
|
sha1 = entry.get("sha1")
|
||||||
by_md5 = db.get("by_md5", {})
|
if sha1 and isinstance(sha1, str):
|
||||||
md5_str = md5 if isinstance(md5, str) else md5[0] if md5 else ""
|
record = files_db.get(sha1)
|
||||||
ref_sha1 = by_md5.get(md5_str.lower()) if md5_str else None
|
|
||||||
if ref_sha1 and db.get("files"):
|
# Anchor 2: MD5 (strong)
|
||||||
record = db["files"].get(ref_sha1)
|
if record is None:
|
||||||
|
md5 = entry.get("md5")
|
||||||
|
if md5 and isinstance(md5, str):
|
||||||
|
by_md5 = indexes.get("by_md5", {})
|
||||||
|
ref = by_md5.get(md5.lower())
|
||||||
|
if ref:
|
||||||
|
ref_sha1 = ref if isinstance(ref, str) else (ref[0] if ref else None)
|
||||||
|
if ref_sha1:
|
||||||
|
record = files_db.get(ref_sha1)
|
||||||
|
|
||||||
|
# Anchor 3: CRC32 (32-bit, collisions theoretically possible).
|
||||||
|
# Require size match when profile has a size to guard against collisions.
|
||||||
|
if record is None:
|
||||||
|
crc = entry.get("crc32")
|
||||||
|
if crc and isinstance(crc, str):
|
||||||
|
by_crc32 = indexes.get("by_crc32", {})
|
||||||
|
ref = by_crc32.get(crc.lower())
|
||||||
|
if ref:
|
||||||
|
ref_sha1 = ref if isinstance(ref, str) else (ref[0] if ref else None)
|
||||||
|
if ref_sha1:
|
||||||
|
candidate = files_db.get(ref_sha1)
|
||||||
|
if candidate is not None:
|
||||||
|
profile_size = entry.get("size")
|
||||||
|
if not profile_size or candidate.get("size") == profile_size:
|
||||||
|
record = candidate
|
||||||
|
|
||||||
if record is None:
|
if record is None:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# Copy sibling hashes and size from the anchored record.
|
||||||
|
# These are projections of the same ground-truth bytes.
|
||||||
for field in ("sha1", "md5", "sha256", "crc32"):
|
for field in ("sha1", "md5", "sha256", "crc32"):
|
||||||
if not entry.get(field) and record.get(field):
|
if not entry.get(field) and record.get(field):
|
||||||
entry[field] = record[field]
|
entry[field] = record[field]
|
||||||
|
if not entry.get("size") and record.get("size"):
|
||||||
|
entry["size"] = record["size"]
|
||||||
|
|
||||||
|
|
||||||
def _merge_file_into_system(
|
def _merge_file_into_system(
|
||||||
@@ -82,7 +139,7 @@ def _merge_file_into_system(
|
|||||||
existing["_cores"] = existing.get("_cores", set()) | {emu_name}
|
existing["_cores"] = existing.get("_cores", set()) | {emu_name}
|
||||||
sr = file_entry.get("source_ref")
|
sr = file_entry.get("source_ref")
|
||||||
if sr is not None:
|
if sr is not None:
|
||||||
sr_key = str(sr) if not isinstance(sr, str) else sr
|
sr_key = _serialize_source_ref(sr)
|
||||||
existing["_source_refs"] = existing.get("_source_refs", set()) | {sr_key}
|
existing["_source_refs"] = existing.get("_source_refs", set()) | {sr_key}
|
||||||
else:
|
else:
|
||||||
existing.setdefault("_source_refs", set())
|
existing.setdefault("_source_refs", set())
|
||||||
@@ -91,14 +148,41 @@ def _merge_file_into_system(
|
|||||||
for h in ("sha1", "md5", "sha256", "crc32"):
|
for h in ("sha1", "md5", "sha256", "crc32"):
|
||||||
theirs = file_entry.get(h, "")
|
theirs = file_entry.get(h, "")
|
||||||
ours = existing.get(h, "")
|
ours = existing.get(h, "")
|
||||||
if theirs and ours and theirs.lower() != ours.lower():
|
# Skip empty strings
|
||||||
|
if not theirs or theirs == "":
|
||||||
|
continue
|
||||||
|
if not ours or ours == "":
|
||||||
|
existing[h] = theirs
|
||||||
|
continue
|
||||||
|
# Normalize to sets for multi-hash comparison
|
||||||
|
t_list = theirs if isinstance(theirs, list) else [theirs]
|
||||||
|
o_list = ours if isinstance(ours, list) else [ours]
|
||||||
|
t_set = {str(v).lower() for v in t_list}
|
||||||
|
o_set = {str(v).lower() for v in o_list}
|
||||||
|
if not t_set & o_set:
|
||||||
print(
|
print(
|
||||||
f"WARNING: hash conflict for {file_entry['name']} "
|
f"WARNING: hash conflict for {file_entry['name']} "
|
||||||
f"({h}: {ours} vs {theirs}, core {emu_name})",
|
f"({h}: {ours} vs {theirs}, core {emu_name})",
|
||||||
file=sys.stderr,
|
file=sys.stderr,
|
||||||
)
|
)
|
||||||
elif theirs and not ours:
|
# Merge non-hash data fields if existing lacks them.
|
||||||
existing[h] = theirs
|
# A core that creates an entry without size/path/validation may be
|
||||||
|
# enriched by a sibling core that has those fields.
|
||||||
|
for field in (
|
||||||
|
"size",
|
||||||
|
"min_size",
|
||||||
|
"max_size",
|
||||||
|
"path",
|
||||||
|
"validation",
|
||||||
|
"description",
|
||||||
|
"category",
|
||||||
|
"hle_fallback",
|
||||||
|
"note",
|
||||||
|
"aliases",
|
||||||
|
"contents",
|
||||||
|
):
|
||||||
|
if file_entry.get(field) is not None and existing.get(field) is None:
|
||||||
|
existing[field] = file_entry[field]
|
||||||
return
|
return
|
||||||
|
|
||||||
entry: dict = {"name": file_entry["name"]}
|
entry: dict = {"name": file_entry["name"]}
|
||||||
@@ -119,14 +203,25 @@ def _merge_file_into_system(
|
|||||||
"min_size",
|
"min_size",
|
||||||
"max_size",
|
"max_size",
|
||||||
"aliases",
|
"aliases",
|
||||||
|
"contents",
|
||||||
):
|
):
|
||||||
val = file_entry.get(field)
|
val = file_entry.get(field)
|
||||||
if val is not None:
|
if val is not None:
|
||||||
entry[field] = val
|
entry[field] = val
|
||||||
|
# Strip empty string hashes (profile says "" when hash is unknown)
|
||||||
|
for h in ("sha1", "md5", "sha256", "crc32"):
|
||||||
|
if entry.get(h) == "":
|
||||||
|
del entry[h]
|
||||||
|
# Normalize CRC32: strip 0x prefix, lowercase
|
||||||
|
crc = entry.get("crc32")
|
||||||
|
if isinstance(crc, str) and crc.startswith("0x"):
|
||||||
|
entry["crc32"] = crc[2:].lower()
|
||||||
|
elif isinstance(crc, str) and crc != crc.lower():
|
||||||
|
entry["crc32"] = crc.lower()
|
||||||
entry["_cores"] = {emu_name}
|
entry["_cores"] = {emu_name}
|
||||||
sr = file_entry.get("source_ref")
|
sr = file_entry.get("source_ref")
|
||||||
if sr is not None:
|
if sr is not None:
|
||||||
sr_key = str(sr) if not isinstance(sr, str) else sr
|
sr_key = _serialize_source_ref(sr)
|
||||||
entry["_source_refs"] = {sr_key}
|
entry["_source_refs"] = {sr_key}
|
||||||
else:
|
else:
|
||||||
entry["_source_refs"] = set()
|
entry["_source_refs"] = set()
|
||||||
@@ -137,6 +232,23 @@ def _merge_file_into_system(
|
|||||||
files.append(entry)
|
files.append(entry)
|
||||||
|
|
||||||
|
|
||||||
|
def _has_exploitable_data(entry: dict) -> bool:
|
||||||
|
"""Check if an entry has any data beyond its name that can drive verification.
|
||||||
|
|
||||||
|
Applied AFTER merging all cores so entries benefit from enrichment by
|
||||||
|
sibling cores before being judged empty.
|
||||||
|
"""
|
||||||
|
return bool(
|
||||||
|
any(entry.get(h) for h in ("sha1", "md5", "sha256", "crc32"))
|
||||||
|
or entry.get("path")
|
||||||
|
or entry.get("size")
|
||||||
|
or entry.get("min_size")
|
||||||
|
or entry.get("max_size")
|
||||||
|
or entry.get("validation")
|
||||||
|
or entry.get("contents")
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def generate_platform_truth(
|
def generate_platform_truth(
|
||||||
platform_name: str,
|
platform_name: str,
|
||||||
config: dict,
|
config: dict,
|
||||||
@@ -274,6 +386,15 @@ def generate_platform_truth(
|
|||||||
)
|
)
|
||||||
sys_cov["unprofiled"].add(emu_name)
|
sys_cov["unprofiled"].add(emu_name)
|
||||||
|
|
||||||
|
# Drop files with no exploitable data AFTER all cores have contributed.
|
||||||
|
# A file declared by one core without hash/size/path may be enriched by
|
||||||
|
# another core that has the same entry with data — the filter must run
|
||||||
|
# once at the end, not per-core at creation time.
|
||||||
|
for sys_data in systems.values():
|
||||||
|
files_list = sys_data.get("files", [])
|
||||||
|
if files_list:
|
||||||
|
sys_data["files"] = [fe for fe in files_list if _has_exploitable_data(fe)]
|
||||||
|
|
||||||
# Convert sets to sorted lists for serialization
|
# Convert sets to sorted lists for serialization
|
||||||
for sys_id, sys_data in systems.items():
|
for sys_id, sys_data in systems.items():
|
||||||
for fe in sys_data.get("files", []):
|
for fe in sys_data.get("files", []):
|
||||||
|
|||||||
@@ -3095,20 +3095,23 @@ class TestE2E(unittest.TestCase):
|
|||||||
"system": "test-system",
|
"system": "test-system",
|
||||||
"required": True,
|
"required": True,
|
||||||
"mode": "both",
|
"mode": "both",
|
||||||
|
"sha1": "aaaa",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "lr_only.bin",
|
"name": "lr_only.bin",
|
||||||
"system": "test-system",
|
"system": "test-system",
|
||||||
"required": True,
|
"required": True,
|
||||||
"mode": "libretro",
|
"mode": "libretro",
|
||||||
|
"sha1": "bbbb",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sa_only.bin",
|
"name": "sa_only.bin",
|
||||||
"system": "test-system",
|
"system": "test-system",
|
||||||
"required": True,
|
"required": True,
|
||||||
"mode": "standalone",
|
"mode": "standalone",
|
||||||
|
"sha1": "cccc",
|
||||||
},
|
},
|
||||||
{"name": "nomode.bin", "system": "test-system", "required": True},
|
{"name": "nomode.bin", "system": "test-system", "required": True, "sha1": "dddd"},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
with open(os.path.join(self.emulators_dir, "dualmode.yml"), "w") as f:
|
with open(os.path.join(self.emulators_dir, "dualmode.yml"), "w") as f:
|
||||||
@@ -3142,12 +3145,14 @@ class TestE2E(unittest.TestCase):
|
|||||||
"system": "test-system",
|
"system": "test-system",
|
||||||
"required": True,
|
"required": True,
|
||||||
"mode": "libretro",
|
"mode": "libretro",
|
||||||
|
"sha1": "aaaa",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sa_file.bin",
|
"name": "sa_file.bin",
|
||||||
"system": "test-system",
|
"system": "test-system",
|
||||||
"required": True,
|
"required": True,
|
||||||
"mode": "standalone",
|
"mode": "standalone",
|
||||||
|
"sha1": "bbbb",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
@@ -3183,6 +3188,7 @@ class TestE2E(unittest.TestCase):
|
|||||||
"system": "test-system",
|
"system": "test-system",
|
||||||
"required": False,
|
"required": False,
|
||||||
"source_ref": "a.cpp:10",
|
"source_ref": "a.cpp:10",
|
||||||
|
"sha1": "aaaa",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
@@ -3197,6 +3203,7 @@ class TestE2E(unittest.TestCase):
|
|||||||
"system": "test-system",
|
"system": "test-system",
|
||||||
"required": True,
|
"required": True,
|
||||||
"source_ref": "b.cpp:20",
|
"source_ref": "b.cpp:20",
|
||||||
|
"sha1": "aaaa",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|||||||
58
tests/test_no_case_collisions.py
Normal file
58
tests/test_no_case_collisions.py
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import os
|
||||||
|
import unittest
|
||||||
|
from collections import defaultdict
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
|
REPO_ROOT = Path(__file__).resolve().parent.parent
|
||||||
|
BIOS_ROOT = REPO_ROOT / "bios"
|
||||||
|
|
||||||
|
|
||||||
|
class TestNoCaseCollisions(unittest.TestCase):
|
||||||
|
"""Guard against case-colliding paths in bios/.
|
||||||
|
|
||||||
|
On case-insensitive filesystems (Windows, macOS default), git can only
|
||||||
|
check out one path per casefold-equivalence class, silently corrupting
|
||||||
|
clones. Issue #33 and #49 both stemmed from this.
|
||||||
|
|
||||||
|
.variants/ subdirs are exempt: they intentionally hold genuine content
|
||||||
|
variants disambiguated by hash suffix (e.g., BIOS.ROM.910fae67).
|
||||||
|
"""
|
||||||
|
|
||||||
|
def test_bios_has_no_case_colliding_paths(self) -> None:
|
||||||
|
if not BIOS_ROOT.is_dir():
|
||||||
|
self.skipTest("bios/ directory not present")
|
||||||
|
|
||||||
|
collisions: list[str] = []
|
||||||
|
for root, dirs, files in os.walk(BIOS_ROOT):
|
||||||
|
if ".variants" in Path(root).parts:
|
||||||
|
continue
|
||||||
|
|
||||||
|
dir_groups: dict[str, list[str]] = defaultdict(list)
|
||||||
|
for d in dirs:
|
||||||
|
dir_groups[d.casefold()].append(d)
|
||||||
|
for variants in dir_groups.values():
|
||||||
|
if len(variants) > 1:
|
||||||
|
rel = Path(root).relative_to(REPO_ROOT)
|
||||||
|
collisions.append(f"DIR {rel}: {sorted(variants)}")
|
||||||
|
|
||||||
|
file_groups: dict[str, list[str]] = defaultdict(list)
|
||||||
|
for f in files:
|
||||||
|
file_groups[f.casefold()].append(f)
|
||||||
|
for variants in file_groups.values():
|
||||||
|
if len(variants) > 1:
|
||||||
|
rel = Path(root).relative_to(REPO_ROOT)
|
||||||
|
collisions.append(f"FILE {rel}: {sorted(variants)}")
|
||||||
|
|
||||||
|
self.assertEqual(
|
||||||
|
collisions,
|
||||||
|
[],
|
||||||
|
"Case-colliding paths in bios/ would break Windows/macOS clones:\n"
|
||||||
|
+ "\n".join(collisions),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
unittest.main()
|
||||||
Reference in New Issue
Block a user