mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-21 03:09:08 -05:00
Profiles that read two repositories, a libretro port and its upstream, now prefix each citation with source or upstream, decided by which tree carries the cited value at its pin. The emulator pages use the word to tell libretro glue, emulator code as the port carries it, and the upstream emulator apart.
92 lines
3.9 KiB
YAML
92 lines
3.9 KiB
YAML
emulator: galaksija
|
|
type: libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/libretro/galaxy-libretro"
|
|
upstream: "https://github.com/nikp123/Galaksija-Emulator"
|
|
profiled_date: "2026-03-23"
|
|
source_commit: "185758296c17f59cba832511139381a197986474"
|
|
core_version: "v0.1"
|
|
display_name: "Elektronika Inženjering - Galaksija (Galaksija)"
|
|
cores:
|
|
- galaksija
|
|
systems:
|
|
- galaksija
|
|
|
|
# Galaksija is a Yugoslav home computer (1983, designed by Voja Antonic) emulator.
|
|
# Z80-based at 3.072 MHz, PAL 50fps, character-mode display (32x16 chars, 256x208 px).
|
|
#
|
|
# The core embeds all three firmware files compressed in rom.c (LoadCHRGENBIN,
|
|
# LoadROM1BIN, LoadROM2BIN). External files are optional overrides -- if ANY of
|
|
# CHRGEN.BIN or ROM1.BIN is missing from <system_dir>/galaksija/, the core sets
|
|
# firmware_ignore=true and loads all ROMs from the embedded copies instead.
|
|
#
|
|
# Firmware loading (src/libretro.c:93-135):
|
|
# 1. retro_init() checks for galaksija/CHRGEN.BIN and galaksija/ROM1.BIN
|
|
# 2. If either is missing: firmware_ignore=true, load embedded compressed ROMs
|
|
# 3. If both present: galaxy_init() reads files from disk (init.c:46-105)
|
|
# 4. ROM2.BIN missing is a warning only, not fatal (init.c:84-85)
|
|
#
|
|
# Memory map:
|
|
# 0x0000-0x0FFF: ROM1 (4096 bytes) - BASIC interpreter
|
|
# 0x1000-0x1FFF: ROM2 (4096 bytes) - math extension (optional)
|
|
# 0x2000-0x27FF: keyboard memory-mapped I/O
|
|
# 0x2800-0x29FF: screen RAM (32x16 characters)
|
|
# 0x2A00-0x3FFF: free RAM
|
|
# chargen: 2048-byte character generator ROM (separate, not memory-mapped)
|
|
#
|
|
# The included firmware is public domain per README.
|
|
|
|
files:
|
|
- name: "CHRGEN.BIN"
|
|
path: "galaksija/CHRGEN.BIN"
|
|
size: 2048
|
|
required: false
|
|
hle_fallback: true
|
|
validation: [size]
|
|
note: >
|
|
Character generator ROM. Defines the 128-character bitmap font (8x13 pixels
|
|
each). The core has this embedded compressed in rom.c and only loads the
|
|
external file if all firmware files are present in the system directory.
|
|
source_ref: "source src/rom.h:5, source src/libretro.c:95-99, source src/external/galaksija-emulator/src/init.c:55-67"
|
|
|
|
- name: "ROM1.BIN"
|
|
path: "galaksija/ROM1.BIN"
|
|
size: 4096
|
|
required: false
|
|
hle_fallback: true
|
|
validation: [size]
|
|
note: >
|
|
System ROM / BASIC interpreter. Mapped at 0x0000-0x0FFF. Contains the
|
|
Galaksija BASIC language and boot routines. Embedded in rom.c as fallback.
|
|
source_ref: "source src/rom.h:8, source src/libretro.c:101-105, source src/external/galaksija-emulator/src/init.c:69-81"
|
|
|
|
- name: "ROM2.BIN"
|
|
path: "galaksija/ROM2.BIN"
|
|
size: 4096
|
|
required: false
|
|
hle_fallback: true
|
|
validation: [size]
|
|
note: >
|
|
Math extension ROM. Mapped at 0x1000-0x1FFF. Adds floating-point math
|
|
functions (SIN, COS, TG, SQR, LN, EXP, POW, etc). Optional even when
|
|
loading from disk -- missing ROM2 only triggers a warning. Embedded in
|
|
rom.c as fallback.
|
|
source_ref: "source src/rom.h:11, source src/libretro.c:107-110, source src/external/galaksija-emulator/src/init.c:83-92"
|
|
|
|
notes:
|
|
embedded_firmware: >
|
|
All three ROMs (CHRGEN.BIN, ROM1.BIN, ROM2.BIN) are embedded as compressed
|
|
blobs in src/rom.c using RLE compression. The core works out of the box
|
|
without any external firmware files. External files only serve as overrides
|
|
for users who want alternative ROM versions (e.g. different BASIC revisions
|
|
or character sets).
|
|
firmware_override_logic: >
|
|
The override is all-or-nothing for CHRGEN.BIN and ROM1.BIN. If either file
|
|
is missing from galaksija/, the core ignores all external firmware and uses
|
|
embedded copies. ROM2.BIN is handled separately and can be absent even when
|
|
loading from disk.
|
|
license: >
|
|
The emulator code and included firmware are public domain. External
|
|
dependencies (libz80, libretro-common, tinyfiledialogs) have separate
|
|
licenses (GPL2, MIT).
|