RetroArch is a free and open-source, cross-platform frontend for emulators, game engines, video games, media players and other applications. It is the reference implementation of the libretro API, designed to be fast, lightweight, portable and without dependencies. It is licensed under the GNU GPLv3.
Themaister, Squarepusher/Twin AphexAfter over half a year of development (well, slightly more) and lots ofpreparation work, we can finally present you with RetroArch for Xbox 360.HOW TO INSTALL THIS-------------------Copy the entire folder to your harddrive.ROMs go into the 'roms' directory, or some subdirectory in the RetroArch-360directory.HOW TO USE THIS---------------On first startup, RetroArch will select one of the dozen or soemulator/game cores. The name of the core currently loaded will beshown at the bottom side of the screen.You can now select a ROM that this core supports and load it in the Filebrowser.To select a different core - go to 'Change Libretro core' in the Main Menu.Press A to go to a filebrowser where you can select a different core. Press Ato switch to the emulator/game core.INGAME CONTROLS---------------During ingame operation you can do some extra actions:Right Thumb Stick - Down - Fast-forwards the gameRight Thumb Stick - Up - Rewinds the game in real-time ('Rewind' has to be enabled in the 'Settings' screen - warning - comes at a slight performance decrease but will be worth it if you love this feature)RStick Left + RT - Decrease save state slotRtick Right + RT - Increase save state slotRStick Up + RT - Load selected save state slotRStick Down + RT - Save selected save state slotRight Thumb + Left Thumb - Go back to 'Menu'/'Quick Menu'WHAT IS RETROARCH?------------------RetroArch is a modular multi-system emulator system that is designed tobe fast, lightweight and portable. It has features few other emulatorfrontends have, such as real-time rewinding and game-aware shading.WHAT IS LIBRETRO?-----------------Libretro is the API that RetroArch uses. It makes it easy to port gamesand emulators to a single core backend, such as RetroArch.For the user, this means - more ports to play with, more crossplatformportability, less worrying about developers having to reinvent the wheelwriting boilerplate UI/port code - so that they can get busy with writingthe emulator/porting the emulator/game.WHAT'S THE BIG DEAL?--------------------Right now it's unique in that it runs the same emulator cores onmultiple systems (such as Xbox 360, PS3, PC, Wii, etc).For each emulator 'core', RetroArch makes use of a library API that welike to call 'libretro'.Think of libretro as an interface for emulator and game ports. You canmake a libretro port once and expect the same code to run on all theplatforms that RetroArch supports. It's designed with simplicity andease of use in mind so that the porter can worry about the port at handinstead of having to wrestle with an obfuscatory API.The purpose of libretro is to help ease the work of the emulator/gameporter by giving him an API that allows him to target multiple platformsat once without having to redo any code. He doesn't have to worry aboutwriting input/video/audio drivers - all of that is supplied to him byRetroArch. All he has to do is to have the emulator port hook into thelibretro API and that's it - we take care of the rest.PLAYSTATION3 PORT-----------------The 360 port of RetroArch has the following features:- Real-time rewinding- Switching between emulator cores seamlessly, and ability to installnew libretro coresIncluded with RetroArch 360 are a bunch of shaders - including the latestversion of the popular xBR shader. It is possible to use two shaderssimultaneously to get the best possible graphical look.EMULATOR/GAME CORES GBUNDLED WITH 360 PORT------------------------------------------The following emulators have been ported to RetroArch and are included inthe first 360 release of RetroArch:- Final Burn Alpha (Arcade - various) [version 0.2.97.26]- FCEUmm (Nintendo Entertainment System) [recent SVN version] (*)- Gambatte (Game Boy | Super Game Boy | Game Boy Color) [version 0.5.0 WIP]- SNES9x Next (Super Nintendo/Super Famicom)- VBA Next (Game Boy Advance)- Prboom (for playing Doom 1/Doom 2/Ultimate Doom/Final Doom)All of the emulators listed above are the latest versions currentlyavailable. Most of them have been specifically optimized so thatthey will run better on 360 (some games would not reach fullspeedwithout these optimizations).* This port was previously called FCEU Next.WHAT EXTENSIONS ARE SUPPORTED BY EACH CORE------------------------------------------- Prboom: WAD|wad- SNES9x Next: smc|fig|sfc|gd3|gd7|dx2|bsx|swc|zip|SMC|FIG|SFC|BSX|GD3| GD7|DX2|SWC- VBA Next: GBA|gba- FCEUmm: nes|NES|unif|UNIF- Gambatte: gb|gbc|dmg|zip|GB|GBC|DMG|ZIP- Final Burn Alpha: zip|ZIPZIP SUPPORT-----------FOR EACH CORE (except for Final Burn Alpha): When you press 'A' on a ZIPfile in the File Browser, its contents will be extracted to the cache:partition.From there, you can load the ROM and play.FOR Final Burn Alpha: Selecting a ZIP file from the Filebrowser will loadthat game directly.What can you expect in the future?----------------------------------- A public release of RetroArch Wii that is on the level of RetroArch PS3/RetroArch 360- An official Android port of RetroArch (no, no App Store 'fee' - 'free' asin beer AND as in libre)- Port of NxEngine to libretro - runs Cave Story (PC version is alreadydone, now for the consoles...)- Port of MAME 0.72 to libretro- Port of VICE to libretro- Port of ScummVM to libretro- More emulators, more games that will run on RetroArch- Lots of other crazy ideas that might or might not pan outCredits-------- Mudlord for his Waterpaint/Noise shaders.- Hyllian for the xBR shader.- Opium2k for the nice manual shaders (bundled with PS3 release).- Deank for assistance with RetroArch Salamander on CFW PS3s and Multiman interoperability.- FBA devs for adopting the libretro port.- Ekeeke for help with the Genesis Plus GX port.Websites--------Twitter: Source: Homepage: IRC: #retroarch (freenode)
Because mouse input is ubiquitous on modern computers, spinners and trackballs translate nicely to emulators that can accept input from a mouse. For trackballs, the input is practically identical to a mouse. Spinners can also be setup like a mouse with separate X and Y tracking (like an Etch-a-Sketch).
Not all emulators support mouse input. Fortunately, software evolves as developers add more functionality. The two MAME emulators that offer the best mouse support for arcade games in RetroPie are lr-mame2003 and AdvanceMAME.
If you were successful with the Linux tests above, you might be able to skip this step, as the configuration below is flexible enough for most situations. However, if you plan to configure multiple input devices, it can be helpful to know how AdvanceMAME will see them. Like the Linux test above, AdvanceMAME has its own mouse testing command that allows you to see which mouse is controlling which axis. At a command prompt, type this: /opt/retropie/emulators/advmame-1.4/bin/advm and press ENTER. You will see output like this:Driver event, mouses 2mouse 0, axes 3, buttons 3 axe 0 [x] axe 1 [y] axe 2 [z] button 0 [left] button 1 [right] button 2 [middle]mouse 1, axes 3, buttons 3 axe 0 [x] axe 1 [y] axe 2 [wheel] button 0 [left] button 1 [right] button 2 [middle]Press Break to exitmouse 0, [---], [ 0, 0, 0]In this example AdvanceMAME is detecting two mice, (mouse 0 and mouse 1) each with three axes (x,y,z) and three buttons. As you move your mouse controls you will see rows appear:mouse 0, [---], [ 0, 0, 0]mouse 1, [---], [ 0, 1, 0] ( 1 ms)mouse 0, [---], [ 0, 0, 0]mouse 1, [---], [ 0, 2, 0] ( 1 ms)mouse 0, [---], [ 0, 0, 0]mouse 1, [---], [ 0, 0, 0] ( 1 ms)You can press CONTROL-C to exit the test. In this example, moving the second spinner is being picked up as mouse 1, y-axis. No movement is registered as 0 input, while movement in one direction or another will show up as positive and negative numbers. This type of feedback can be very handy, as it tells you the index number and the axis of a specific controller from MAME's perspective. Just keep in mind, if you attach another external mouse later, it might change which mouse is detected as mouse 0, etc., and your configurations below may need to be adjusted. 2b1af7f3a8