NewRetroArcade: Neon

NewRetroArcade uses Libretro to provide emulation support.

To use the emulator functionality, you'll have to grab cores for whatever systems you want to emulate from the list of libretro-supporting emulators and place them under the folder NewRetroArcade\Content\Emulators.

If in doubt, check out the New Retro Arcade Subreddit for advice!

Have fun building your own perfect arcade experience!

Finding ROMS

Obviously a sticky point if you don't already have your own collection, but there are a few options.

Steam has a number of game packs from large publishers that use emulation to run older games; more often than not, these game packs have the ROMs loose in the content folder of the game. There's no guarantee that this will work, but most of these packs are pocket change, so it's worth a shot... plus, then, you'd legally own a license to the games included.

A second option is to look into "abandonware" - the term is applied to various software packages and games, for which the original developers and publishers no longer exist, and it's no longer clear who, if anybody, owns the rights to the product.

There are a few abandonware directories specifically for games around.

Emulator Cores

With a ROM in hand, you'll now need the emulator core to run it. There is usually a few potential cores for a given console system - having a quick search to see which one would be best for your game is advisable, but not all of the cores will successfully work with NewRetroArcade. There's a big list of precompiled ones here. Find the ones you want, get them downloaded, and extract them into the "NewRetroArcade\Content\Emulators" folder. If the folder doesn't exist, create it.

Now you need to configure the game to use your ROM and your Emulator core. This is done with the ArcadeMachines.xml and ArcadeCartridges.xml files.

Both files work in roughly the same way; point the Game node at the name of the file for the ROM and the Core node is the name of the libretro core dll you downloaded.

Each arcade cabinet in the environment has its own entry in the ArcadeMachines.xml file. Let's look at one of the entires;

1. <ArcadeMachine0>
2.     <Game>game_rom_file.extension</Game>
3.     <GameVolume>0.6</GameVolume>
4.     <GameImage>game_screen_image.png</GameImage>
5.     <ScreenType>Pixel</ScreenType>
6.     <ButtonLayout>CabinetButtonLayoutName</ButtonLayout>
7.     <Core>libretro_core_name</Core>
8.     <ButtonColour AB="#000000" SS="#ffffff" />
9.     <ArtFrontPanel Texture="Arcade_Cabinet_Art.dds" />
10.    <ArtSidePanel Colour="#000000" />
11. </ArcadeMachine0>
  1. Put the name of the rom file you want inside the <Game></Game> tags.
  2. Put the name of the libretro core dll file inside the <Core></Core> tags.
  3. Put the name of the screenshot to be displayed on the screen of the cabinet in the <GameImage></GameImage> tags.
  4. Swap out the cabinet art asset settings inside <ArtFrontPanel></ArtFrontPanel> and <ArtSidePanel></ArtSidePanel> tags. You can set these to both be images, flat colours, or a combination of the two.
  5. You can swap the button layout template to better match the controls the game uses. These are all in the ArcadeButtonLayouts.xml file.
You don't have to modify the screenshot, cabinet art or button layouts, but it helps. The screenshot especially, as that'll let you easily see what game is going to be running on each cabinet at a glance- and it's pretty easy to just find a screenshot of the title screen of the game using Google that will be a good fit!

The console cartridges work in a somewhat similar way. Let's have a look at the top section to configure games for the TV console;
1. <CartridgeDefault Game="game_rom_file.extension" Core="libretro_core_name" GameName="Fragger" Texture="T_Cartridge_Fragger.dds" Colour="#FFFFFF" />
  1. Put the name of the rom file you want to use for this cartridge inside the Game="" attribute.
  2. Put the name of the libretro core dll file inside of the Core="" attribute.
  3. Swap the cartridge art inside the Texture="" attribute.
The handheld console is similar, but much simpler.
1. <Gamebro1 Game="game_rom_file.extension" Core="libretro_core_name" />
  1. Put the name of the rom file you want in the Game="" attribute.
  2. Put the name of the libretro core dll file inside of the Core="" attribute.

The default files are available here.

Cabinet Art

Grab the texture templates from here and use that as the basis for cabinet art. Once you've edited it to your satisfaction, place it into the NewRetroArcade\Content\Arcades folder.

With the texture ready, you'll need to edit the ArcadeMachines.xml file to point at the new texture(s). Each machine can have an ArtFrontPanel and an ArtSidePanel node, each of which can be pointed at a texture or given a static colour.

Radio Tapes

The radio system uses publicly listed Shoutcast streaming services to play music. If you want to change the stations or point tapes at specific music files, you'll need to edit the ArcadeMusic.xml file.