Files
libretro/emulators/dice.yml
Abdessamad Derraz d929424988 feat: add profiled_date to all YAMLs, create 56 alias profiles
- Added profiled_date field to all 204 existing profiles for update tracking
- Created 56 alias profiles for cores that share BIOS with a parent
  (e.g., mednafen_psx -> beetle_psx, fbalpha2012 -> fbneo)

260 total profiles covering all 294 libretro cores (204 unique + 56 alias).
2026-03-18 05:20:05 +01:00

69 lines
2.7 KiB
YAML

emulator: DICE
type: libretro
source: "https://github.com/mittonk/dice-libretro"
profiled_date: "2026-03-18"
cores:
- dice
systems:
- discrete-arcade
notes: |
DICE (Discrete Integrated Circuit Emulator) emulates early arcade hardware
built entirely from discrete logic components, with no CPU. dice-libretro is
a libretro port by Ken Mitton, based on upstream DICE by Adam B.
No BIOS or firmware files required. The .info file declares firmware_count = 0.
Games fall into two categories:
- ROM-based: shipped as MAME-style ZIP archives (filename matters).
The core loads the ZIP passed by the frontend and matches individual ROM
chips by CRC32 (chips/rom.cpp:41-218, RomDesc::get_data). If a chip's
CRC does not match, the core walks all entries in the archive looking for
a CRC match or alt_crc match.
- ROM-less: games like Pong, Breakout, Rebound whose original PCBs had no
ROM at all. These use .dmy dummy launcher files (empty placeholders) to
tell RetroArch which game to start.
retro_get_system_info (libretro.cpp:122-137) sets need_fullpath = true,
block_extract = true, valid_extensions = "zip|dmy|k1|a1|6c|c6|d2|s1|f4|a4|
1da|da1|C4|4c|4d|d7|d4". The unusual extensions are raw ROM chip dumps for
individual games (e.g. .k1 for antiaircraft, .a1 for attack).
dice.cpp:42-66 strips any "#inner.rom" suffix from the path (for ROM
managers that expose zip contents) and passes the zip path to
RomDesc::set_zip_filename.
retro_init (libretro.cpp:50-63) retrieves RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY
but uses it only for the retro_base_directory variable, not for loading any
system files.
Games with ROMs (10 titles):
antiaircraft.zip - 1 ROM chip (k1)
attack.zip - 6 ROM chips (a1, b1, c1, d1, j6, k6), each with alt_crc
cleansweep.zip - 3 ROM chips (6c, d7, k3)
crashnscore.zip - 6 ROM chips (d2, e2, f6, f7, p6, p7)
indy4.zip - 4 ROM chips (s1, s2, c1, c2)
jetfighter.zip - 6 ROM chips (a4, j1, j5, k5, m1, r5)
sharkjaws.zip - 2 ROM chips (1da/da1, 1db/db1)
steeplechase.zip - 2 ROM chips (C4, D4); bugle ROM c8 dump missing
stuntcycle.zip - 2 ROM chips (4d, 1fh)
wipeout.zip - 2 ROM chips (d4, g7)
ROM-less games (11 titles, use .dmy dummy files):
breakout, crossfire, gotcha, hiway, pinpong, pong, pongdoubles,
quadrapong, rebound, spacerace, tvbasketball
files: []
analysis:
rom_loading:
method: "MAME-style ZIP, matched by CRC32 per RomDesc"
source_ref: "chips/rom.cpp:41-218"
zip_handling: "unzip library (unzip/), opened via libretro_zip_filename"
game_count: 21
rom_games: 10
romless_games: 11
filesystem_access: false
system_directory_used: false
bios_required: false