From 8db1ee7743a9fbb721a3b042c3f42bc7faf47c61 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 11:47:40 +0100 Subject: [PATCH] feat: collect ep128emu ide12.rom Extracted from the ep128emu ROM package (http://ep128.hu/Emu/ep128emu_roms-2.0.11.bin, sha256 775f65b4...0441) that installer/makecfg.cpp downloads, unpacked with Ep128Emu::decompressData from src/decompm2.cpp and split per the makecfg.cpp table. The ROM identifies as EPIDE version 1.2. --- README.md | 26 +++++++++++++------------- bios/Enterprise/64-128/ide12.rom | Bin 0 -> 16384 bytes database.json | 28 +++++++++++++++++++++++++--- emulators/ep128emu_core.yml | 1 + 4 files changed, 39 insertions(+), 16 deletions(-) create mode 100644 bios/Enterprise/64-128/ide12.rom diff --git a/README.md b/README.md index 0df5cf0f0..c750ffd8b 100644 --- a/README.md +++ b/README.md @@ -81,12 +81,12 @@ These are the files an emulator loads from disk instead of carrying inside itsel Each file is checked the way your platform checks it. Most compare a checksum, the fingerprint of a file's contents, which catches a corrupt or unexpected copy. RetroArch, Lakka and RetroPie check that the file is present under its name without reading its contents (`path_is_valid` in RetroArch's `core_info.c`), and MinUI, NextUI and MyMinUI hand each core its folder without opening a file in it: the Coverage table says which applies to you. Independently of that, the collection records five fingerprints per file, and wherever an emulator's code states an expected size or hash, that value is read from its source and rechecked here. -- **1,087 files** the platforms' emulators load are still to be found, and 138 more cannot be sourced at all (per-user keys, user-filled slots, dumps nobody has made). Both are named in the [gap analysis](https://abdess.github.io/retrobios/gaps/) +- **1,086 files** the platforms' emulators load are still to be found, and 138 more cannot be sourced at all (per-user keys, user-filled slots, dumps nobody has made). Both are named in the [gap analysis](https://abdess.github.io/retrobios/gaps/) - **18 platforms** supported with platform-specific verification - **623 emulators** profiled from source (RetroArch cores + standalone) - **533 systems** handled by those emulators (NES, SNES, PlayStation, Saturn, Dreamcast, ...) -- **19,916 files in the collection**, each with its SHA1, MD5, SHA256, CRC32 and Adler-32 fingerprints: 5,713 system files, 2,975 arcade ROM sets, 11,228 game and engine data files. That is every platform and emulator together, so no pack holds them all: each carries what its own emulators load, counted in the download table -- **565 of 5,713 system files** matched to dump-preservation catalogs (No-Intro, Redump, TOSEC). Arcade sets and engine data fall outside what those catalogs index +- **19,917 files in the collection**, each with its SHA1, MD5, SHA256, CRC32 and Adler-32 fingerprints: 5,714 system files, 2,975 arcade ROM sets, 11,228 game and engine data files. That is every platform and emulator together, so no pack holds them all: each carries what its own emulators load, counted in the download table +- **565 of 5,714 system files** matched to dump-preservation catalogs (No-Intro, Redump, TOSEC). Arcade sets and engine data fall outside what those catalogs index - **15.7 GB** for the whole collection ## Supported systems @@ -99,23 +99,23 @@ Full list with per-file details: **[https://abdess.github.io/retrobios/](https:/ | Platform | On its BIOS list | Files its emulators load | Checked by | |----------|-----------------:|-------------------------:|------------| -| AmberELEC | 414/434 | 4,751/4,935 | MD5 hash | -| Batocera | 353/353 | 14,171/15,291 | MD5 hash | +| AmberELEC | 414/434 | 4,752/4,935 | MD5 hash | +| Batocera | 353/353 | 14,172/15,291 | MD5 hash | | BizHawk | 118/118 | - | SHA1 hash | -| EmuDeck | 168/168 | 8,422/8,525 | MD5 hash | +| EmuDeck | 168/168 | 8,423/8,525 | MD5 hash | | EmuELEC | 544/572 | 4,786/10,215 | MD5 hash | | KNULLI | 290/290 | 9,126/15,349 | MD5 hash | -| Lakka | 532/532 | 7,910/7,996 | file presence | +| Lakka | 532/532 | 7,911/7,996 | file presence | | MiSTer FPGA | 81/81 | - | MD5 hash | | MinUI | 0/0 | 78/79 | file presence | | MyMinUI | 0/0 | 356/367 | file presence | | NextUI | 0/0 | 343/350 | file presence | -| ROCKNIX | 38/38 | 7,421/9,134 | MD5 hash | +| ROCKNIX | 38/38 | 7,422/9,134 | MD5 hash | | Recalbox | 351/351 | 3,125/3,344 | MD5 hash | -| RetroArch | 526/526 | 7,919/7,987 | file presence | -| RetroBat | 348/348 | 5,133/9,658 | MD5 hash | -| RetroDECK | 2,007/2,008 | 6,703/6,991 | MD5 hash | -| RetroPie * | 532/532 | 8,120/12,775 | file presence | +| RetroArch | 526/526 | 7,920/7,987 | file presence | +| RetroBat | 348/348 | 5,134/9,658 | MD5 hash | +| RetroDECK | 2,007/2,008 | 6,704/6,991 | MD5 hash | +| RetroPie * | 532/532 | 8,121/12,775 | file presence | | RomM | 383/383 | 83/873 | MD5 hash | Each fraction is what the pack has over what is needed, counting required and optional files alike since both ship. The first column is the BIOS list the platform publishes. The second counts files its emulators load that this list never mentions, found by reading their source code, and it is routinely several times larger. A short fraction means files are still missing, and they are named in the [gap analysis](https://abdess.github.io/retrobios/gaps/). @@ -203,4 +203,4 @@ The scripts and tooling are released under the [MIT License](LICENSE). The BIOS and firmware files are not covered by that license: they are third-party system software, preserved and provided for personal backup, archival, and interoperability with emulation software. [NOTICE](NOTICE) sets out their status and how to ask for a file to be removed. The reasoning, and where it is weakest, is in [the project's legal position](https://abdess.github.io/retrobios/wiki/legal/). -*Auto-generated on 2026-11-03T17:50:12Z* +*Auto-generated on 2026-11-05T10:52:57Z* diff --git a/bios/Enterprise/64-128/ide12.rom b/bios/Enterprise/64-128/ide12.rom new file mode 100644 index 0000000000000000000000000000000000000000..31ee4898ed6a563f9589f35e7dd839667742dbfe GIT binary patch literal 16384 zcmeHLe{d7mo!_;jwIoaO$~H!_33?CvG7+X$!fNV>0 zZ6!pd(;50#OLEugA8qHZmv(MCnN9^|a%%79Qp-e~mt_sIai$v2>x_nqmJ(51VoXBb za^JU-jR|z-?w|g(YkS{&-{0@^-ur&vy7^`AzMc;69)<}kh3IiR!!MPMD;w$x>kYhO zauwQ_IF?~W`<-W4ra+uO9h(X(#`DcnN`Y`d(M^oUgbMk{#6)%V!RoFz&j{vWPQ$C%=g z7@BVolW}p89Fx9@jPs{w&ycE?%L|D)@Pn?lSGOcY5_vo(%#(;MCd?6k1sSL$2Q8$_ z+B%2RIAT^AGWqT0-wOkg>-} zgoz2?v3DnyDoF4#5?D`$*Ac&k3|KQbObtsSLa|Y*vZd@sY)`5Gs(Hq(ozzvAc4vxJ|>L``uQ`Cg85&y;t{6Gbrz4ZI8-oy z29N2YUQs?Uk&FX;HpcVI7+_JM6r)>JCdPSPPEVq1fQfPTG_GYzr~(T(t(e1O1tgQi zK^+e0xqB6*`WX5g4;x6N2#;}q7al7FRd7L#K8F5f#pw6J=pwb6k>8m_&&nT6raiwz z7Cd6kq~zbqY57>vxG;N~E-F=BKl$T$l{ps>bRSUG<&`hqS3Ysc5vOWvsG9YWYT)hy zy5#twyz%UWY&$za{3bGB2I#}&!=gI9CmIu3o{3Fi(=Nwns?goZiEyelC9ADB-*)HQ zo>X2&r2NMGK>CfefO~<02czR6brUXx$4Gm|Z+W9)MX6HnGAgd$ee8mf6#e*Xzf<_S zPh*r(BXVq1RCINBkQ)G1?sz_!AQ_y2jf00sgvGDpS~F{B82M)^UL;NY92qb^L0XDH zPmk7gEqDjlesvSB{mOAFucPv>C2WT5sVaZMrlV4(9*E7)kO3Az z$L&S9MGx(W0}ofQ1q>dsc<$h_HDs&^kMLGJVq-g*B_0P_abP36U+q4R0|MKncH3}Z z6WgtJU%-LQ)ThEaYxh^zzE9dY(o%>=O7U>n_*NF+EtCw8OHRik9<{b6l2r`D>6|?5 z>Sv^9dX8PyA^qDifnA4#<&cOLl+T2cx4zxb^zM$f&Sv){!xT}Wrsnp}ww6~0VVpNb!i;JMeZvSt(9z++Bffsr8$y(_)djzGTix#ZZFN@jDBJ1_A?j<;4~CESh9H0- z3Jsy)u&-}$U=S3K`i>3-!syWGz<@7cHSY`iL%rkmREf?Q1%oxc@L0{kU_A=@UO(#d zhme2t=pl$&c*8fosRmJgJ?ic65BP$?9MNjt9S-?|XlMY1-tZyS(xD?mhY#0V%`TT} zebt+Of&`$9v3AQ}h^9aR_M`KG4- zEB17UEn{EPU*pd|HGO^m@0D2Atw-D4=+Iy&AJ>-`tgmnNyq05Em)L5q9IEWo%~!Uu zm2J8?yD*hl^suasSu!p_NuRSnG3CgrrFsoio@NKDw0$jIf> zRg6PMm*h_`U|RJp^+kMxyNI{*40fjDQm>5{F58%D$3?us!UHpQ{@>2G;>{+WY_{+T zmSG^vgNdly&U-54PtL1~aXwRTQ$?dx3{W!4$7h>5+Paz%BR?~>uz0RTo}2+190W$* zIt4wNh~U{5f*q7!n|f84`1NGKApdHH_zTE@4mu$H{3^Zn+%bfWoL{bGJtG+~sd`X* z3iEp4f+6itP>sZ2DD9NiNsq05+ZcI{+DCg1t@5Bow*2Z05Bu^S==};=KpZmYmThjv z;epz=GOlGDTNMtK0)KZ~D`ZxhXt!(w@>-<`h~0z!{-LoT+WE4|*zQ)5n4Y;`Md5}; zoC^)v7p?rSCtnehbFgyk5|=#%1vLZZ;imICtb~({nn=hDKts<$Le}V#4)%sFF4FZW z8b6KhLU-=9L4Y8gffrmU6LU}@G8r;vhFV)(Z|7km#_YZlKKoo5kKZO^3_eESLKQ3^ z0Ua69lVL-O1UV8YBqK&LY@#abXA~T{r@TMulW;^)_S4ph zBWsj9lRuUmde6()Nh>Fm!CJ;?|Lh~qNbkSZrTiU2>y(9ooud@HIO1$@+xRpTUbqvB zcA3RakKWDmII^hNg<<8p!V%?t;SD7&^eai>H6<<-+sIdZ9@< zAv~+RBQz-gB-ANC6rNK4LvSe{2{p<&K~ScJuPB!Vq}Y&JF$krKUf2cBb}B`}4!B`&JBu&igP-B9&vE-*-0}s5 zvjF0(bK}hR?dk2?ae8wJ@9aFVxs1=g(6qCDql&jHBJWIfL>f|mw3b@k;u96K27f&sF)OL%uF?=IurYxo5UR~r1oN~`A*)OG=F z^4}#`F%?$=XBYMx`LF;9kebMcI)vbW!tQJz3au1|ty{O|P6N#(V(uJPXrd zQ9XPe;L#!y5fr_Pjp8v2i5$dZR(f$dSX9m&`bW6M;87b66@zgi^|cFjEa`58o0oPs zqN79oKE%Kkj+nSIh#~>G0fK^eoK%x){u6n6h9-$47e%<2(Inu!p34fbzq2o7;`CZB zg28W~O@|IAQfYk9hP#U8FJ|$G0S|L294V5kFXM>rD*tWxuBgGICJ_fsIAFjd-1ybv zR?6CY3Roi71ts5GZ+fx$mEGRPj;4C}j=*plB<2MCorI4JEV1YChz>^zTz1u z9v1P^&rzurnWP@XQQ6-|uNrR{LD*xYHo~6AR&0Vg?T>?wV4$)K)T+7`_=JAf?Vscn z)~qPNV&zEo6_V%O9A)haMZPsHKX*~J^00;IL;B|)p)Y!DIqLmb8xY|bkNL~w=q^O~ zKZ&=%-NVl0n>37v>7Gv>;ZrWZ2oBK7G^oht^C;7a#ZhaoOgwK|6E&;mw6CuyL&PJ6(DmsT*Sc?>1`yo^H;E zXI(q<x!+Fw0u9Uq6-A9X@tvm4bzlyo#ErEXLswF(WM4J%mFK;Wby zhct%D0EjXGg_pdD_neN2p8s}y?)i=5wkPKJtLMKQH$4C8_;XY|CjV^a?M3-tXXRha zEXaeiC8a=$E-`Qc?R)n@ws<4PCvU*ypoZ>H+$uj zP>?;9z9L@fJOD#=3dSp9wAGtEJ^o~C_(`vL4PPVIis2Ef7$yaOV4LGpQk~><8Jwx? zt0}2kDoIJDQVD-8MTHV6_3PP~Dt<`dlayG_fCy(ScCk*X$ln%IoITpzlkG@lJ6who zH7VKGO7&7@N~(}5`Kzg1AP0`L%I?eEzQc|3QxBvhE literal 0 HcmV?d00001 diff --git a/database.json b/database.json index bbb4fa9c6..712fcb5dd 100644 --- a/database.json +++ b/database.json @@ -1,8 +1,8 @@ { "schema_version": 1, - "generated_at": "2026-11-03T13:36:34Z", - "total_files": 19916, - "total_size": 16892318346, + "generated_at": "2026-11-05T10:46:26Z", + "total_files": 19917, + "total_size": 16892334730, "bios_dir": "bios", "files": { "738c7f5fd0c8b57ee2e87ae7a97bf8e21a821d07": { @@ -41705,6 +41705,16 @@ "crc32": "596ab6d6", "adler32": "1c992583" }, + "ecb999ac1cc2fcca29bae71195741c451e747824": { + "path": "bios/Enterprise/64-128/ide12.rom", + "name": "ide12.rom", + "size": 16384, + "sha1": "ecb999ac1cc2fcca29bae71195741c451e747824", + "md5": "ba8854e55fa32e932645d57003e4632b", + "sha256": "31fce2d3927f40e4b33a729138f721ad45fe6051a366c19314bc6142a583f566", + "crc32": "157ab74c", + "adler32": "984dafb8" + }, "abf119cf947ea32defd08b29a8a25d75f6bd4987": { "path": "bios/Enterprise/64-128/tvc22_ext.rom", "name": "tvc22_ext.rom", @@ -208465,6 +208475,7 @@ "80115adf36136f30b23c10ea2dd83bef": "c6241e1c248193108ce38b9a8e9dd33972cf47ba", "55af78f877a21ca45eb2df68a74fcc60": "cf12e971623a54bf8c4f891ca3a36d969f205c49", "22167938f142c222f40992839aa21a06": "325a5e28c2a0d896711f8829e7ff14fed5dd4103", + "ba8854e55fa32e932645d57003e4632b": "ecb999ac1cc2fcca29bae71195741c451e747824", "5ce95a26ceed5bec73995d83568da9cf": "abf119cf947ea32defd08b29a8a25d75f6bd4987", "8c54285f541930cde766069942bad0f2": "f2572ee83d09fc08f4de4a62f101c8bb301a9505", "88dc7876d584f90e4106f91444ab23b7": "072c6160d4e7d406f5d8f5b1b66066c797d35561", @@ -236257,6 +236268,9 @@ "hun.rom": [ "325a5e28c2a0d896711f8829e7ff14fed5dd4103" ], + "ide12.rom": [ + "ecb999ac1cc2fcca29bae71195741c451e747824" + ], "tvc22_ext.rom": [ "abf119cf947ea32defd08b29a8a25d75f6bd4987" ], @@ -286274,6 +286288,7 @@ "24838410": "c6241e1c248193108ce38b9a8e9dd33972cf47ba", "c099a5e3": "cf12e971623a54bf8c4f891ca3a36d969f205c49", "596ab6d6": "325a5e28c2a0d896711f8829e7ff14fed5dd4103", + "157ab74c": "ecb999ac1cc2fcca29bae71195741c451e747824", "05e1c3a8": "abf119cf947ea32defd08b29a8a25d75f6bd4987", "79fa818c": "f2572ee83d09fc08f4de4a62f101c8bb301a9505", "1466aed4": "072c6160d4e7d406f5d8f5b1b66066c797d35561", @@ -306191,6 +306206,7 @@ "7d4be98066acc92ad87afac84b5c3165a1e336b77ce6e002cc031296769de18f": "c6241e1c248193108ce38b9a8e9dd33972cf47ba", "eb81a76dc76f7d026bc4a8c216ee9c5ee717d8b8bd210d3a0a5d48e4c90009a3": "cf12e971623a54bf8c4f891ca3a36d969f205c49", "0226f77f7ed03d01a5c606dc42249e740d7768909d0f1a32cf78f6c9e71f7452": "325a5e28c2a0d896711f8829e7ff14fed5dd4103", + "31fce2d3927f40e4b33a729138f721ad45fe6051a366c19314bc6142a583f566": "ecb999ac1cc2fcca29bae71195741c451e747824", "d35394333f2da0d5d597483d4c4af06b2492a74d0451b58ce3dad48bb5fdcfab": "abf119cf947ea32defd08b29a8a25d75f6bd4987", "72d17d1af7845a12e88985bb8f491a81b8657a659ecf1dc4d8028449f7318da6": "f2572ee83d09fc08f4de4a62f101c8bb301a9505", "eb61023d15285c9bf35f7aefe87affa9e04c11bc13be6a7ec88813a93d79a63a": "072c6160d4e7d406f5d8f5b1b66066c797d35561", @@ -354564,6 +354580,12 @@ "64-128/hun.rom": [ "325a5e28c2a0d896711f8829e7ff14fed5dd4103" ], + "Enterprise/64-128/ide12.rom": [ + "ecb999ac1cc2fcca29bae71195741c451e747824" + ], + "64-128/ide12.rom": [ + "ecb999ac1cc2fcca29bae71195741c451e747824" + ], "Enterprise/64-128/tvc22_ext.rom": [ "abf119cf947ea32defd08b29a8a25d75f6bd4987" ], diff --git a/emulators/ep128emu_core.yml b/emulators/ep128emu_core.yml index 23e738ad4..12cfc20f5 100644 --- a/emulators/ep128emu_core.yml +++ b/emulators/ep128emu_core.yml @@ -197,6 +197,7 @@ files: description: Enterprise IDE controller ROM v1.2 path: ep128emu/roms/ide12.rom system: enterprise-128 + size: 16384 required: false note: "Loaded into segment 0x42 for hard disk content (.vhd, or a disk image whose header marks a hard disk). roms.hpp holds no built-in copy, so without the file the core throws \"ROM file not found!\" and that content does not start." source_ref: "source core/core.cpp:309-322, source core/core.cpp:537-546, source core/main.cpp:1055-1062, source core/main.cpp:1081-1084"