⬡⬢[100_HEXes]

Running UNX/Varvara roms on IPad/IOS using RetroArch


Since the unx implementation for ios is not yet finished as of 2026.06, but I wanted to find a way to run uxn on my tablet. I came up with the idea to use the implementation for Nintendo consoles (which are completely finished at the moment) and run it through an emulator such as RetroArch.

As the emulated console, I chose the Nintendo DS specifically because, unlike the Nintendo 64, uxn program roms are not embedded into game files, but are instead taken from the file system. This allows storing multiple roms and switching between them in real time.

> Warning: When using uxn roms this way, only console controls and the on-screen keyboard on the second screen will be available for control. I couldn't manage to configure the touchscreen to emulate the DS stylus.

Instruction

So, here is a short guide on how to run uxn on your ipad.

  1. First, download RetroArch. You need to find and run the Nintendo DS core (Load Core -> Nintendo DS melonDS) so that all the necessary folders and files appear in the file system.
  2. After launching the core, go to the settings and select Core Options -> System. In this menu, we need to enable the Sync SD Card to Host and Virtual SD Card options. Save the settings and restart RetroArch.
  3. Next, you need to download the roms and the uxnds image itself, which we will be running in the emulator. You can just grab the ready-made files from the releases or build it yourself from the source code.
  4. Move the contents of the folder to the RetroArch/saves/melonDS DS/dldi_sd_card folder. If the dldi_sd_card folder is missing, try running the core again and exiting the application. As a result, it should look like this:
    
    melonDS DS/
    │
    │
    ├──── dldi_sd_card/
    │ │
    │ └─ uxn/
    │ │
    │ ├─ launcher.rom
    │ │
    │ └─ ...
    │
    └───────── uxnds.nds
                        
    It's best to delete boot.rom from the uxn/ folder before launching so that uxnds can pick up the launcher instead of the starting synthesizer upon startup.
  5. Go to RetroArch -> Load Content -> Open... Select the required nds file. Voila!