Showing posts with label Android. Show all posts
Showing posts with label Android. Show all posts

Mar 6, 2014

N64 Emulator - Nitendo 64 Emulator for Android

N64 Android Edition (AE) is an N64 emulator for Android. It is currently in Beta testing, which means it is a work in progress. There are still many graphical, lag, and audio problems, even on modern devices.

FAQs.
In order to avoid potential copyright issues related to game screenshots, I've decided to use only public domain games and demos for screenshots. However, if the app gets pulled from the Market again, you will still be able to acquire future updates for free on paulscode.com.
This app is licensed by the GNU GPL v3, and the full source code is available through the public repository at https://paulscode.com

XPERIA PLAY OPTIMIZED
- Analog input from the touchpad!

PERMISSIONS
Internet - The internet is used to send crash reports. It does not download viruses, spyware, or ads of any kind, and it does not collect any private information. Normal data rates apply.
Write External Storage - The device storage is used for writing savegames and custom input profiles.
Vibrate - If your device supports it, vibrate is used for Rumble Pak emulation and haptic button feedback

GETTING STARTED
- Transfer ROMs anywhere to your internal storage/SD card
- Browse to them from within the app
- Default SD card directory on most devices is /mnt/sdcard
- ROMs must be in .n64, .v64, or .z64 format, optionally in .zip files

HELP, FAQS, BUG-FIXES, GAME BACKUP INSTRUCTIONS:
- http://game-emus.blogspot.com/

DOWNLOAD ON GOOGLE PLAY

Oct 25, 2013

N64 Issues

In the process of using the app may be more or error please notify us.
Comment N64 issues in here. Before post your question please check this FAQ article
Thanks!



New update available for android. Download now

N64 Frequently Asked Questions (FAQ)

Where do I download the app?
I'm maintaining links to all the latest market release builds in this link.  The source code is available from the github repository.  I also have source code archived from before the repository was created, and can provide it upon request for anyone who wants it for comparison or anything.

Why aren't there any games?
N64, AE is an emulator.  I am not in any way affiliated or associated with Nintendo.  Like all emulators, N64 Emulator, AE does not come with games (which are called ROMs).  A ROM is a digital backup of a game cartridge.  You must own that game before you can legally use the ROM.  Therefore, for legal reasons, you must provide the ROMs yourself.   While it is easy to google up N64 ROM download sites, it is important to note that it is ILLEGAL to download a game that you do not own.  Your best bet to avoid any legal concerns is to simply backup your own N64 cartridges to ROM files and use those.  The process is fairly simple and doesn't cost much.  I've posted instructions in this thread.

I have some ROMs, why aren't they showing up?
When run for the first time, N64 Emulator checks for the folder n64/roms on your SD card.  If that doesn't exist it defaults to the SD card root folder.  If your ROMs are located somewhere else, you must navigate to whatever folder they are located in.  If you are using a 3rd-party app and don't know where the ROMs were saved, please contact the author of that app to find out where they were placed (or search for them).  Sometimes it is just easier to just transfer the ROMs to the phone from your PC.  That way you know where they are located.

Why is audio so glitchy?
This is actually not a problem with the audio.  Instead, it is caused by emulation not running fast enough (so the audio playback has to repeatedly "wait" for emulation to catch up).  It has been suggested that I should add some buffering, but this would not solve the problem either (it would just increase the time between the skips, which would be longer in duration as the audio had to re-buffer).  One possible fix would be to dynamically change the speed of playback to match the emulation, but this would only be good for minor cases (normal to extreme cases would result in noticeable pitch changes, which would be just as annoying as the skipping).  The only real solution is to improve the emulation speed.  This is something that will improve gradually over time as more and more optimizations are added to the code.  For a list of optimizations you can use now to improve speed a little, see this thread.

Why are games so slow?
Slower phones (especially ARM6 600MHz phones, which are common), have a lot of trouble running this emulator currently.  Even on the most modern devices, many higher-end games (like Conker's Bad Fur Day)  will still run slow.   The emulation speed will improve gradually over time as more and more optimizations are added to the code, but it won't happen over night.  The main settings to check for improving speed are the video plugin (in the Plugins section), frameskip (in the Video settings.. each video plugin has their own frameskip settings), and screen resolution (in the Video settings).

How do I set up my external controller(s)?
See this thread.

How does multiplayer work?
See this post.

Directions don't work on Pokemon Stadium (and some other games)
Some games require the D-Pad.  The default button layout does not have the D-Pad visible.

How do I enable the D-Pad?
Settings->Input->Touchscreen->Button Layout, then choose Digital or Both.

Directions still don't work on Pokemon Snap
Pokemon Snap has a problem in the core.  There are cheats you can use to make the game semi-playable ("Enable All Levels", "Camera Movement Bugfix", and "Picture Selection Bugfix"), but the game is still not 100% at this time.

The buttons are too tiny! (or too large)
Settings->Input->Touchscreen->Button Scale.

Donkey Kong 64, DK walks through the walls and won't enter barrels
There is a bug in Dynarec with this game.  It is playable on fast phones with R4300 emulator set to Cached/ Pure Interpreter (see the plugins section).  Use gles2rice for the video plugin (plugins section) w/ Auto Frameskip enabled (video settings), and turn down volume if skippy.  In-game saves are broken, however, so be sure to save-state often and rotate through the save slots periodically so you don't lose all progress.

How do I use Hi-Res textures?
First you will need to download a Hi-Res texture pack for your game.  If it isn't already, compress it into a .zip format, then put it on your device's SD card.  Select gles2rice as the video plug-in (Settings->Plug-ins->Video->gles2rice), then import the texture pack (Settings->Video->Import texture pack).  Make sure "High resolution textures" is checked.

Is there a list of known bugs posted somewhere?
Bugs are currently scattered around several places.  I would like to have all bugs formally reported as an issue on the github repository here.  If you have a bug to report, please do a little research to see if it has already been reported, and if not then open an issue on github.  Please include as much information about your device and settings as you can, which ROM and version you experience the bug with, and a link to a save-state file demonstrating the bug (if possible)

Why does picking a ROM crash the app back to the menu or home?
There are many causes for this behavior, so there isn't a single answer.  In a nutshell, it means the emulator had some sort of serious problem trying to either open or emulate the ROM, and had to shut down.  Your best bet is to enable crash reporting in Settings->Advanced, enter your paulscode.com username, perform whatever action causes the crash, and then POST A THREAD HERE ON THE FORUM so I can follow-up.  Random crash reports without context are not very useful, and just clutter the reporting system.  When you are finished testing, please disable crash reporting.

How do I map controller buttons?
Navigate to Settings->Input->Controller, press a button on the screen, then press the control you want to map it to.  The same procedure works for Player's 2 - 4 as well.

How do I add buttons or move them around on the touchscreen (or Xperia Play touchpad)?
A tutorial on customizing the touch layouts can be found in this thread.  I will eventually write a Skin Maker app for creating custom layouts, but for now they must be created manually.  If you are not technically minded or artistic enough to create your own, other folks have posted links to custom layouts they've created, and they can be shared and used by anyone!  A list of custom layouts will be maintained in this thread.  To use a custom layout, first unzip the file onto your device somewhere.  There is an option to use a new layout under Input->Touchscreen->Custom layout folder.  Click that and navigate to the folder containing the custom layout.  If the option is grey, choose "Custom" under "Touchscreen layout" to enable it.  Note: the custom layout ZIP file must be unzipped onto your device before you can use it.




N64 Credits

Developers:

 - Paul Lamb (paulscode) (original port to Android, front-end and core maintenance, debugging)
 - Ari64 (created core ARM dynarec, provided porting/ debugging assistance.. an assembly savant!)
 - Kris (Metricity) (ported Glide64 and Rice Video plug-ins to GLES2, assisted with debugging)
 - littleguy (new front-end, native input support, new input plug-in, Rumble support, project maintenance, Rice synchronization with upstream, SDL2.0 update)
 - Lioncash (multi-language support, code maintenance, audio options)
 - ecsv (Sven) (maintained synchronization with upstream, fixed multiple core bugs)
 - twinaphex (Squarepusher), multiple video-plugin bug-fixes/ improvements
 - Gillou68310 (Gilles) (multiple new options and settings, video plug-in fixes)
 - Pelya (ported components of SDL to Android)
 - Slouken (Sam Lantinga) Official SDL Android library
 - Epic_bubble (assisted with Xperia Play optimized content, researched useful open-source resources)
 - xperia64 (assisted with EEPROM clock emulation, also researched useful open-source resources)
 - cpasjuste (assisted with dynarec porting from 1.5 to 1.99.4)
 - GTan64 (provided alternate Mupen64Plus core port for comparison, assisted with SDL1.3 porting)
 - Yongzh (improved components of gles2n64, provided alternate Mupen64Plus core port for comparison)
 - ZodTTD (provided alternate gles2n64 port for comparison, helped track down a critical bug)
 - CZero (helped develop accurate octagon analog control algorithm)
 - BuckM (discovered the best analog control radius settings)
 - Orkin, Adventus (GLN64/gles2n64 video plug-in development, port to GLES2)
 - Rice (developed the famous Rice Video plug-in)
 - Hactarux, JttL, Ebenblues, Richard Goedeken (richard42) (Mupen64/Mupen64Plus devs.. the real geniuses!)
 - (many more)


"Extreme" Testers:

 - Epic_bubble
  - xperia64
  - scorpio16v
  - (way too many more to mention!)


Artwork:

 - roymustang16 (touchscreen layouts)
 - shuy3n (icons, promotional graphics)
 - Alex Gleason (Gleasonator) (alternate ICS icon, OUYA graphics)


Miscellaneous:

 - Epic_bubble (promotional video)
 - Potticus (compatibility wiki)
 - Vincentmrl (FAQ/ device compatibility moderator)


Translators:

Catalan
 - ruben.miguel
Dutch
 - Johrie
 - AlexPicard
 - Kopjethee
 - (Wouter Snijders) Mysticmaus
 - (Vince) ashes
 - servenn
Japanese
 - Lioncash
Polish
 - Robert202
Portuguese
 - (Gabriel Alencar) omundodogabriel
 - (Luciano Braga) LucianoBraga
 - gdark100
French
 - (Pierre T) BHTGO
 - (Rafał Falkowski) Poomex
 - (Spanti Nicola) RyDroid
German
 - (Paul Lange) matheguru
 - (Kevin Bräutigam) CR4CYJ3RKF4C3
 - (Philipp Zacharias) JUMPhil
 - Pahnda
 - (Danny Krug) Wandschrank
 - (Sven Eckelmann) ecsv
Italian
 - (Vincenzo Martino) Vincentmrl
Turkish
 - (Ahmet Sezgin Duran) marjinal1st
 - (AYBERK HALAC) DevilSquarD
 - rozkerim
Spanish
 - (Pablo Curiel) DarkMatterCore
 - (VIcente Andrés Marcel González) baizen
 - (198626dejunio) dfalconx
 - (Diego Fernando) dfersd01
 - f3w1n
 - gutss
 - (Jose Mendoza) tactic
Croatian
 - Tom.K
Hungarian
 - hbali
Russian
 - AlexanderR
 - (Алексей) Alexy516
 - (2128506a) dezzzdro
Galician
 - (Toño Calo) enfeitizador
Swedish
 - (Oskar Sundell) Scandinavian
 - (Albin Berg) Amnesti
Norwegian Bokmål
 - (Neethan Puvanendran) xtremesmw
Sri Lanka
 - (Ashintha Rukmal Perera) ashintha89