1# FinalBurn Neo for Raspberry Pi
2
3## Compiling
4To compile the emulator, run `make pi`. You will need SDL 1.2 libraries for
5sound and input:
6
7```
8sudo apt-get install libsdl1.2-dev
9```
10
11To build on Pi4, you may need additional libraries, including:
12
13```
14sudo apt-get install libgles2-mesa-dev libgbm-dev libdrm-dev
15```
16
17If you receive "failed to fetch" errors during `apt-get install`, update
18the definitions (`sudo apt-get update`) and try again.
19
20## Compatibility
21The emulator runs very smoothly on Pi 1, 2 and 3. It runs on 4, but the
22performance isn't nearly as good.
23
24## Input
25To customize joystick input, place a text file in a directory named `joyconfig`.
26The file should have extension `.jc`, and named as follows:
27
28```
29<name of romset>.jc
30<name of parent romset>.jc
31capcom6.jc
32default.jc
33```
34
35To determine mapping for a particular set, emulator will look for the first
36applicable file, in that order. `capcom6.jc` will only be checked if the set
37is determined to be a 6-button Capcom ROMset, such as SFII, III, etc.
38`default` is a fallback file.
39
40For instance, for set `sfau`, emulator will look for `sfau`, `sfa`, `capcom6`,
41then `default`, in that order. For `mkr4` (Mortal Kombat rev 4.0), `mkr4`,
42`mk`, `default` are applicable.
43
44### Joyconfig file format
45The format of the file is as follows:
46
47```
48<INPUT NAME>=<hardware joystick button number>
49...
50```
51
52Input name can be one of: `TEST` (usually `F2` on keyboard), `SERVICE` (`9` on
53keyboard) , `RESET` (`F3`), `QUIT`, `START`, `COIN`, or `BUTTONx` (where `x` is
54a numeric digit between 1 and 9).
55
56### Example
57A generic `default` file could look as follows:
58
59```
60BUTTON1=1
61BUTTON2=2
62BUTTON3=3
63BUTTON4=4
64BUTTON5=6
65BUTTON6=7
66BUTTON7=8
67COIN=9
68START=10
69```
70
71In this case, buttons 1-8 on the hardware joystick map to emulated buttons 1-8,
72while joystick buttons 9 and 10 map to "Coin" and "Start", respectively.
73
74## Command-line switches
75`-f`: Enables free play in games that include a Free Play dipswitch. This
76switch isn't guaranteed to always work, since not every game has a free play
77dipswitch, and because different sets may have the switch labeled differently.
78`-F`: Enables free play hack mode. In hack mode, pressing Start also generates
79a Coin button press.
80
81## About
82Pi build is maintained by [0xe1f](https://github.com/0xe1f).
83