mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom), ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in), kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs), mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase), px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines), o2em (Odyssey2/Videopac, 4 BIOS by CRC32) 41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
72 lines
2.5 KiB
YAML
72 lines
2.5 KiB
YAML
emulator: FreeIntv
|
|
type: libretro
|
|
source: "https://github.com/libretro/FreeIntv"
|
|
cores:
|
|
- freeintv
|
|
systems:
|
|
- intellivision
|
|
|
|
notes: |
|
|
FreeIntv is a Mattel Intellivision emulator for libretro.
|
|
|
|
BIOS loading happens in retro_init() (src/libretro.c:1166-1174). The core
|
|
calls retro_get_system_directory() then joins exec.bin and grom.bin paths
|
|
directly. No subdirectory, no core option to disable BIOS loading.
|
|
|
|
loadExec() in src/intv.c:47-71 reads exec.bin as big-endian 16-bit words
|
|
into memory range 0x1000-0x1FFF (Executive ROM, 8 KB file).
|
|
|
|
loadGrom() in src/intv.c:73-98 reads grom.bin as raw bytes into memory
|
|
range 0x3000-0x37FF (Graphics ROM, 2 KB file).
|
|
|
|
Both files are required. Without them the core prints an error and shows
|
|
"PUT GROM/EXEC IN SYSTEM DIRECTORY" on the OSD, but does not abort.
|
|
Games will not run correctly without both BIOS files.
|
|
|
|
The .info file declares firmware_count = 2 with both marked opt = false.
|
|
|
|
No ECS (Entertainment Computer System) BIOS support exists in this core.
|
|
There is no ecs.bin loading code anywhere in the source.
|
|
|
|
files:
|
|
- name: "exec.bin"
|
|
system: intellivision
|
|
required: true
|
|
size: 8192 # 8 KB (4096 x 16-bit words, 0x1000-0x1FFF)
|
|
md5: 62e761035cb657903761800f4437b8af
|
|
note: "Executive ROM. Big-endian 16-bit words loaded at 0x1000-0x1FFF."
|
|
source_ref: "src/intv.c:47-71, src/libretro.c:1169"
|
|
|
|
- name: "grom.bin"
|
|
system: intellivision
|
|
required: true
|
|
size: 2048 # 2 KB (bytes, 0x3000-0x37FF)
|
|
md5: 0cd5946c6473e42e8e4c2137785e427f
|
|
note: "Graphics ROM. Raw bytes loaded at 0x3000-0x37FF."
|
|
source_ref: "src/intv.c:73-98, src/libretro.c:1173"
|
|
|
|
platform_details:
|
|
bios_mapping:
|
|
exec:
|
|
target: "0x1000-0x1FFF (Executive ROM)"
|
|
format: "big-endian 16-bit words"
|
|
source_ref: "src/intv.c:55-58"
|
|
grom:
|
|
target: "0x3000-0x37FF (Graphics ROM)"
|
|
format: "raw 8-bit bytes"
|
|
source_ref: "src/intv.c:81-84"
|
|
notes: |
|
|
Memory[] is a 64K array of unsigned int (src/memory.c:26).
|
|
EXEC region (0x1000-0x1FFF) is write-protected in writeMem()
|
|
(src/memory.c:60-61). GROM region (0x3000-0x37FF) is also
|
|
write-protected (src/memory.c:62).
|
|
|
|
cartridge_loading:
|
|
formats: "int, bin, rom"
|
|
methods: "Intellicart (magic byte 0xA8), raw ROM with fingerprint DB"
|
|
source_ref: "src/cart.c"
|
|
notes: |
|
|
Raw ROMs use a fingerprint database (sum of first 256 bytes)
|
|
to select one of 10 memory map configurations (load0-load9).
|
|
Intellicart format is auto-detected by 0xA8 magic byte.
|