mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
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.
88 lines
3.2 KiB
YAML
88 lines
3.2 KiB
YAML
emulator: Ardens
|
|
type: libretro
|
|
source: "https://github.com/tiberiusbrown/ardens"
|
|
profiled_date: "2026-03-18"
|
|
core_version: "Git"
|
|
display_name: "Arduboy (Ardens)"
|
|
cores:
|
|
- ardens
|
|
systems:
|
|
- arduboy
|
|
|
|
notes: |
|
|
Ardens is an Arduboy FX simulator designed for profiling and debugging,
|
|
ported to libretro. It emulates the ATmega32U4 MCU, SSD1306 OLED display,
|
|
and W25Q128 external flash used by the Arduboy hardware.
|
|
|
|
No BIOS or bootloader files are required. The core has all boot code
|
|
compiled directly into the binary:
|
|
|
|
- Caterina/Arduboy3K bootloaders for multiple hardware revisions (D1, D2,
|
|
E2) are embedded as C arrays generated from .hex files via bin2c.py.
|
|
Located in src/boot/boot_game_*.c and src/boot/boot_menu_*.c.
|
|
The appropriate variant is selected at reset based on the configured
|
|
device type (absim_arduboy.cpp:115-161).
|
|
|
|
- Flashcart header (1536 bytes) is embedded in src/boot/boot_flashcart.c
|
|
and written to the start of the W25Q128 flash image at init
|
|
(absim_w25q128.hpp:14).
|
|
|
|
- EEPROM (1024 bytes) and external flash (W25Q128, 16 MB) state are
|
|
handled as save RAM through the libretro RETRO_MEMORY_SAVE_RAM
|
|
interface, not as system files.
|
|
|
|
The libretro port does not call RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY
|
|
and never attempts to load any file from the system directory.
|
|
The .info file declares firmware_count = 0.
|
|
|
|
Supported ROM formats: Intel HEX (.hex) and Arduboy package (.arduboy).
|
|
block_extract is set to true (the core reads archives directly).
|
|
|
|
files: []
|
|
|
|
platform_details:
|
|
embedded_bootloaders:
|
|
source_ref: "src/boot/_make.bat, src/absim_arduboy.cpp:115-161"
|
|
variants:
|
|
- name: "arduboy3k-bootloader-game-sda"
|
|
array: "ARDENS_BOOT_GAME_D1"
|
|
size: 8422
|
|
device: "Arduboy FX (SDA)"
|
|
- name: "arduboy3k-bootloader-menu-sda"
|
|
array: "ARDENS_BOOT_MENU_D1"
|
|
size: 8422
|
|
device: "Arduboy FX (SDA)"
|
|
- name: "arduboy3k-bootloader-game-devkit"
|
|
array: "ARDENS_BOOT_GAME_D2"
|
|
size: 8446
|
|
device: "Arduboy FX DevKit"
|
|
- name: "arduboy3k-bootloader-menu-devkit"
|
|
array: "ARDENS_BOOT_MENU_D2"
|
|
size: 8446
|
|
device: "Arduboy FX DevKit"
|
|
- name: "arduboymini-bootloader-game"
|
|
array: "ARDENS_BOOT_GAME_E2"
|
|
size: 8548
|
|
device: "Arduboy Mini"
|
|
- name: "arduboymini-bootloader-menu"
|
|
array: "ARDENS_BOOT_MENU_E2"
|
|
size: 8548
|
|
device: "Arduboy Mini"
|
|
notes: |
|
|
All bootloaders are compiled from Intel HEX into C arrays at build
|
|
time. The core selects the game or menu variant at reset depending
|
|
on whether a flashcart image was loaded and the boot_to_menu config
|
|
flag (absim_arduboy.cpp:142-158). The bootloader is written to the
|
|
top of the ATmega32U4 program memory at the address defined by the
|
|
BOOTSZ fuse bits (absim.hpp:811).
|
|
|
|
embedded_flashcart_header:
|
|
source_ref: "src/boot/boot_flashcart.c, src/absim_w25q128.hpp:14"
|
|
array: "ARDENS_BOOT_FLASHCART"
|
|
size: 1536
|
|
notes: |
|
|
Empty flashcart header written to the first 1536 bytes of the
|
|
W25Q128 flash image during initialization. This is not a BIOS
|
|
file -- it is the default flash content the Arduboy FX expects
|
|
at the start of external storage.
|