1[![Build Status](https://travis-ci.org/libretro/fbalpha.svg?branch=master)](https://travis-ci.org/libretro/fbalpha)
2
3# FBAlpha-libretro
4https://www.fbalpha.com
5
6This is a fork of the official repository of the FB Alpha Emulator.
7
8Use of this program and it's source code is subject to the license conditions provided in the [license.txt](src/license.txt) file in the src folder.
9
10## Roms
11
12Use clrmamepro (which runs fine on linux with wine and on mac with crossover) to build valid romsets with dats from the [dats](dats/) directory.
13Don't report issues if you didn't build a valid romset.
14Also, i don't provide a "parent-only" dat file, this is usually a bad idea to only use parent roms (some don't work, and some clones are interesting)
15
16## Emulating consoles
17
18You can emulate consoles (with specific romsets, dats are also in the [dats](dats/) directory) by prefixing the name of the roms with `XXX_` and removing the `zip|7z` extension, or using the `--subsystem XXX` argument in the command line, here is the list of available prefixes :
19* CBS ColecoVision : `cv`
20* MSX 1 : `msx`
21* Nec PC-Engine : `pce`
22* Nec SuperGrafX : `sgx`
23* Nec TurboGrafx-16 : `tg`
24* Sega GameGear : `gg`
25* Sega Master System : `sms`
26* Sega Megadrive : `md`
27* Sega SG-1000 : `sg1k`
28* ZX Spectrum : `spec`
29
30## Samples
31
32Samples should be put under SYSTEM_DIRECTORY/fba/samples
33
34## hiscore.dat
35
36Copy [hiscore.dat](metadata/hiscore.dat) to SYSTEM_DIRECTORY/fba/
37
38## Mapping
39
40We don't have a convenient tool like the MAME OSD, instead we use the retroarch api to customize mappings, you can do that by going into `Quick menu > Controls`.
41For those who don't want to fully customize their mapping, there are 2 convenient presets you can apply by changing the "device type" for a player in this menu :
42* **Classic** : it will apply the original neogeo cd "square" mapping in neogeo games, and use L/R as 5th and 6th button for 6 buttons games like Street Fighter II.
43* **Modern** : it will apply the King of fighters mapping from Playstation 1 and above in neogeo fighting games, and it will use R1/R2 as 5th and 6th button for 6 buttons games like Street Fighter II (for the same reason as the neogeo games), this is really convenient for most arcade sticks.
44
45## Frequently asked questions
46
47### Where can i find the XXX roms ?
48We don't provide links for roms. Google is your friend.
49
50### Game XXX is not launching, why ?
51It is either not supported or you have a bad rom. Build a valid romset with clrmamepro as said above.
52There is also a few games marked as not working, try one of their clones.
53
54### Game XXX has graphical glitches, why ?
55Most likely the same as above, make sure you have the right romset.
56If the problem persist, write a report with a screenshot and the name of the platform you are using.
57
58### Game XXX runs slowly, why ?
59Your hardware is probably too slow to run the game with normal settings. Try the following :
60* Check if there is a speedhack dipswitch in the core options, set it to "yes".
61* Try setting a value for frameskip in core options.
62* Try disabling rewind, runahead, and anything related to the savestates system in retroarch.
63* Try lowering audio settings in the core options.
64* If it is not enough, upgrade or overclock your hardware.
65
66### Game XXX has choppy sound, why ?
67Most likely for the same reason as above.
68
69### Game XXX runs faster in MAME2003/MAME2010, why ?
70This is not MAME, we are using different code.
71Overall, FB Alpha is slower than old MAME version but more accurate and less buggy.
72This libretro port also support various features which are usually buggy or absent in MAME cores (netplay, rewind, retroachievements, ...). It takes some resources.
73
74### Cheat code doesn't work, why ?
75There should be partial support through the new API relying on main ram exposition.
76
77### Neogeo CD doesn't work, why ?
78There are several things to know :
79* You need a copy of neocdz.zip and neogeo.zip in your libretro system directory
80* You need to add `--subsystem neocd` to the command line
81* Supported format are ccd/sub/img iso (trurip), and single file MODE1/2352 bin/cue (use utilities like "CDmage" to convert your iso if needed)
82
83You can convert your unsupported isos by following this tutorial :
84* Get [CDMage 1.02.1](https://www.videohelp.com/software/CDMage) (freeware & no ads)
85* File > Open > select your iso (NB : for multi-track, select the .cue file, not the .iso file)
86* File > Save As > write the name of your new file
87* Make sure you select MODE1/2352 in the second drop-down
88* Press OK, wait for the process to finish (a few seconds on my computer), and it’s done !
89
90### Killer instinct won't work, why ?
91There are several things to know :
92* It is only running at playable speed on x86_64 (other arch will basically need a cpu at 4Ghz because they lack a mips3 dynarec), and the core needs to be built like this to enable this dynarec : `make -j5 -f makefile.libretro USE_X64_DRC=1`
93* If your rom is at `[rom_dir]/kinst.zip`, you'll need the uncompressed disc image at `[rom_dir]/kinst/kinst.img`
94* To get the uncompressed disc image, you'll need to use the chdman tool from MAME on the chd from mame, the command looks like this : `chdman extracthd -i kinst.chd -o kinst.img`
95