Files
libretro/emulators/freeintv.yml
Abdessamad Derraz 58f3006d20 docs: add core_version, display_name to all 260 emulator profiles
Every profile now has:
- profiled_date: date of source code analysis
- core_version: version from libretro-core-info .info files
- display_name: human-readable name from .info files

260/260 profiles complete. 294/294 libretro cores covered.
Standalone emulators (cemu, rpcs3, xemu, vita3k) versioned manually.
2026-03-18 05:20:05 +01:00

75 lines
2.6 KiB
YAML

emulator: FreeIntv
type: libretro
source: "https://github.com/libretro/FreeIntv"
profiled_date: "2026-03-18"
core_version: "2018.1.5"
display_name: "Mattel - Intellivision (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.