Skip to content

Ardens - RetroBIOS

Type libretro
Source https://github.com/tiberiusbrown/ardens
Version Git
Profiled 2026-03-18
Cores ardens
Systems arduboy

No BIOS or firmware files required. This core is self-contained.

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).

Generated on 2026-03-20T19:12:20Z