diff --git a/README.md b/README.md
index cf70a956c6..d300e28dff 100644
--- a/README.md
+++ b/README.md
@@ -1,35 +1,55 @@
# RetroArch
-RetroArch (formerly known as SSNES) is a simple frontend for the libretro API. An API that attempts to generalize
-a retro gaming system, such as SNES, NES, GameBoy, Arcade machines, etc.
-Emulator/game cores are instantiated as loadable plugins.
+RetroArch is the reference frontend for the libretro API, an API which attempts to generalize
+a retro gaming system, such as emulators and game engines.
+Popular examples include SNES, NES, GameBoy, Arcade machines, Quake, DOOM, etc.
+Emulator and game cores are instantiated as dynamic libraries.
-# libretro
+## libretro
-libretro is an API that exposes the core of a retro gaming system.
-A frontend for libretro handles video output, audio output and input.
-A libretro core written in portable C or C++ can run seamlessly on many platforms.
+[libretro](http://libretro.com) is an API that exposes the core of a retro gaming system.
+A frontend for libretro (such as RetroArch) handles video output, audio output, input and application lifecycle.
+A libretro core written in portable C or C++ can run seamlessly on many platforms with very little/no porting effort.
+
+While RetroArch is the reference frontend for libretro, several other projects have used the libretro
+interface to include support for emulators and/or game engines. libretro is completely open and free for anyone to use.
[libretro API header](https://github.com/Themaister/RetroArch/blob/master/libretro.h)
-# Binaries
+## Binaries
-Latest Windows binaries are currently hosted on my [homepage](http://themaister.net/retroarch.html).
+Latest Windows binaries are currently hosted on Themaister's [homepage](http://themaister.net/retroarch.html).
+Builds can also be found on the [forum](http://forum.themaister.net/).
-# Related projects
+## Support
+
+To reach developers, either make an issue here on Github, make a thread on the [forum](http://forum.themaister.net/),
+or visit our IRC channel: #retroarch @ irc.freenode.org.
+
+## Documentation
+
+See our [wiki](https://github.com/libretro/RetroArch/wiki). On Unix, man-pages are provided.
+More developer-centric stuff is found [here](https://github.com/libretro/libretro.github.com/wiki/Documentation-devs).
+
+## Related projects
- - GUI frontend for PC: [RetroArch-Phoenix](https://github.com/Themaister/RetroArch-Phoenix)
- Cg/HLSL shaders: [common-shaders](https://github.com/twinaphex/common-shaders)
- More Cg shaders: [Emulator-Shader-Pack](https://github.com/Themaister/Emulator-Shader-Pack)
- Helper scripts to build libretro implementations: [libretro-super](https://github.com/libretro/libretro-super)
-# Philosophy
+## Philosophy
-RetroArch attempts to be very small and lean,
+RetroArch attempts to be small and lean,
while still having all the useful core features expected from an emulator.
-It is used through command-line. It is also designed to be portable.
+It is designed to be very portable and features a gamepad-centric UI called RGUI.
+It also has a full-featured command-line interface.
-# Platforms
+In some areas, RetroArch goes beyond and emphasizes on not-so-common technical features such as multi-pass shader support,
+real-time rewind (Braid-style), FFmpeg video recording, etc.
+
+RetroArch also emphasizes on being easy to integrate into various launcher frontends.
+
+## Platforms
RetroArch has been ported to the following platforms outside PC:
@@ -42,14 +62,14 @@ RetroArch has been ported to the following platforms outside PC:
- iOS
- Blackberry
-# Dependencies (PC)
+## Dependencies (PC)
On Windows, RetroArch can run with only Win32 as dependency. On Linux, you need:
- GL headers
- X11 headers and libs, or EGL/KMS/GBM
-OSX port of RetroArch still requires SDL 1.2 libraries.
+OSX port of RetroArch requires latest versions of XCode to build.
RetroArch can utilize these libraries if enabled:
@@ -74,24 +94,24 @@ RetroArch needs at least one of these audio driver libraries:
To run properly, RetroArch requires a libretro implementation present, however, as it's typically loaded
dynamically, it's not required at build time.
-# Dependencies (Console ports, mobile)
+## Dependencies (Console ports, mobile)
Console ports have their own dependencies, but generally do not require
anything other than what the respective SDKs provide.
-# Configuring
+## Configuring
-The default configuration is defined in config.def.h.
-These can later be tweaked by using a config file.
-A sample configuration file is installed to /etc/retroarch.cfg.
-This is the system-wide config file.
-Each user should create a config file in $XDG\_CONFIG\_HOME/retroarch/retroarch.cfg.
-The users only need to configure a certain option if the desired value deviates from the value defined in config.def.h.
+The default configuration is defined in config.def.h.
+It is not recommended to change this unless you know what you're doing.
+These can later be tweaked by using a config file.
+A sample configuration file is installed to /etc/retroarch.cfg. This is the system-wide config file.
-To configure joypads, use the retroarch-joyconfig tool.
-It is also possible to configure joypads using the RetroArch-Phoenix GUI frontend.
+RetroArch will on startup create a config file in $XDG\_CONFIG\_HOME/retroarch/retroarch.cfg if doesn't exist.
+Users only need to configure a certain option if the desired value deviates from the value defined in config.def.h.
-# Compiling and installing
+To configure joypads, use RGUI or the retroarch-joyconfig command-line tool.
+
+## Compiling and installing
PC
Instructions for compiling on PC can be found in the [wiki](https://github.com/Themaister/RetroArch/wiki).
@@ -118,7 +138,7 @@ RetroArch PS3 needs to be compiled in the following order:
PlayStation3 - Creating a PKG installable file
-You can add 'pkg' as a parameter in order to make a PKG file - for example:
+You can add `pkg` as a parameter in order to make a PKG file - for example:
make -f Makefile.ps3 pkg
@@ -132,7 +152,7 @@ If you're using Kmeaw 3.55 firmware, the package needs to be signed:
make -f Makefile.ps3 pkg-signed-cfw
-NOTE: A pre-existing libretro library needs to be present in the root directory in order to link RetroArch PS3. This file needs to be called 'libretro_ps3.a'.
+NOTE: A pre-existing libretro library needs to be present in the root directory in order to link RetroArch PS3. This file needs to be called `libretro_ps3.a`.
Xbox 360 (XeXDK)
@@ -142,8 +162,8 @@ The solution file can be found at the following location:
msvc-360/RetroArch-360.sln
-NOTE: A pre-existing libretro library needs to be present in the 'msvc-360/RetroArch-360/Release' directory in order to link RetroArch 360. This file needs to be
-called 'libretro_xdk360.lib'.
+NOTE: A pre-existing libretro library needs to be present in the `msvc-360/RetroArch-360/Release` directory in order to link RetroArch 360. This file needs to be
+called `libretro_xdk360.lib`.
Xbox 360 (Libxenon)
@@ -151,7 +171,7 @@ You will need to have the libxenon libraries and a working Devkit Xenon toolchai
make -f Makefile.xenon
-NOTE: A pre-existing libretro library needs to be present in the root directory in order to link RetroArch 360 Libxenon. This file needs to be called 'libretro_xenon360.a'.
+NOTE: A pre-existing libretro library needs to be present in the root directory in order to link RetroArch 360 Libxenon. This file needs to be called `libretro_xenon360.a`.
Wii
@@ -159,5 +179,5 @@ You will need to have the libogc libraries and a working Devkit PPC toolchain in
make -f Makefile.wii
-NOTE: A pre-existing libretro library needs to be present in the root directory in order to link RetroArch Wii. This file needs to be called 'libretro_wii.a'.
+NOTE: A pre-existing libretro library needs to be present in the root directory in order to link RetroArch Wii. This file needs to be called `libretro_wii.a`.