trngaje / pifba-sdl2 Goto Github PK
View Code? Open in Web Editor NEWThis project forked from vanfanel/pifba-sdl2
Pifba port to SDL2 so we don't need to depend on old, unmaintained SDL1. No need to use dispmanx directly anymre either.
This project forked from vanfanel/pifba-sdl2
Pifba port to SDL2 so we don't need to depend on old, unmaintained SDL1. No need to use dispmanx directly anymre either.
Final Burn Alpha 2x for Raspberry Pi by Squid ============================================= INTRODUCTION ------------ PiFBA is Final Burn Alpha 2x for the Raspberry Pi ported by Squid. This emulates old arcade games using MAME based roms for CPS1, CPS2, Neogeo, Toaplan and many other games. It should support most recent versions of the MAME versions of these ROMS but unfortnately there is no definitive version to use. A full list of supported games is in the frontend program. Some large ROMS may require converting to the '.fba' format before they will work. FBACache_windows.zip is included to do this, which runs on Windows not Linux. A clrmamepro/romcenter DAT file is included 'fba_029671_clrmame_dat.zip' which supports most of the ROMS that work and can generate compatible ROMS from recent versions of MAME. A number of games will not work properly, some are so large they appear to run out of memory. It uses a modified version of the Capex frontend for game selection but you can use your own frontend and simply call the "fba2x" to play the games. This port supports keyboard and USB joystick input and are configurable. It uses GLES2 graphics API and can run in the Console or under X-Windows. The audio uses the ALSA API and SDL is used for input. It uses a Cyclone 68000 core for performance and a MAME z80 core for compatibility. Web page for downloads, news, source, additional information: https://sourceforge.net/projects/pifba (No asking for ROMS or any issues with ROMS) CONTROLS -------- * 'up arrow' Up direction * 'down arrow' Down direction * 'left arrow' Left direction * 'right arrow' Right direction * 'control' Button 1 (starts a game in the frontend) * 'alt' Button 2 * 'space' Button 3 * 'shift' Button 4 * 'z' Button 5 * 'x' Button 6 * 'return' Start button (starts a game) * 'tab' Select button (opens config menu in the frontend) * 'escape' Quit * 'L+R+SELECT' Service Mode Additionally to quit with the joystick you can press SELECT+START. <<<<<<< HEAD The joystick layout defaults to the XBOX360 Controller button layout. ======= The joystick layout defaults to XBMX 360 button layout. >>>>>>> 2579271559280f2f1b62a54183038cdbe24ec5ea All controls are configurable by editing the "fba2x.cfg" file. If your joystick uses axis different than 0 and 1 you can change this in the fbax2.cfg file. The frontend displays the list of ROMS in the following colours: * RED = missing * ORANGE = clone rom detected * YELLOW = parent rom detected or clone rom detected & parent rom detected * GREEN = clone rom detected & parent rom detected INSTALLATION ------------ fba2x -> Game binary fbacapex -> Frontend binary fba2x.cfg -> Keyboard and joystick configuration rominfo.fba -> required by the frontend zipname.fba -> required by the frontend preview/ -> screenshots (BMP 384x224) roms/ -> ROMs directory (Put your game ROMs in here) skin/ -> Frontend skins directory FBACache_windows.zip -> for converting large ROMS to .fba cache format fba_029671_clrmame_dat.zip -> clrmamepro DAT file for ROM validation and conversion. To run piFBA simple run the "fbacapex" executable. At the command line "./fbacapex". This runs the GUI frontend. To simply run piFBA without the GUI enter "./fba2x roms/{gamerom}" where "{gamerom}" is the game rom filename to run. A number of options are available for "fba2x", enter "./fba2x" on the command line for a list. For the frontend screenshots you need to put the relevant screenshot files in the preview subdirectory. These files should be BMP and 384x224 (non-compressed BMP) dimensions. An output file called "output.log" is generated for each game which may show useful information for problem ROMS. Pi CONFIGURATION ---------------- I highly recommend overclocking your Raspberry Pi to gain maximum performance as PiFBA is very CPU intensive and overclocking will make most games run at full speed. The Pi 2 does not need overclocking. My overclocking settings which work well, (/boot/config.txt): arm_freq=900 sdram_freq=500 NOTE: Make sure overclocking is actually working by checking "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" should be "ondemand". Later kernels appear to set it to "powersave" by default. If your sound is too quiet then do the following to fix that: * First get the playback device, type "amixer controls" * This will show the numid for the playback device, probably 3. * Now set the volume, type "amixer cset numid=3 90%". * Then reboot to make it permanent. If you're having problems with HDMI audio then it is likely PulseAudio is causing the issues as it has problems with the ALSA drivers. To fix this simply remove PulseAudio: * sudo apt-get --purge remove pulseaudio * sudo apt-get autoremove If you're getting a black screen when running in Console mode with Composite output, try removing/commenting out the "overscan_" parameters from "/boot/config.txt" as follows (using disable_overscan doesn't appear to fix it): #overscan_left=16 #overscan_right=16 #overscan_top=16 #overscan_bottom=16 GRAPHICS EFFECTS ---------------- fba2x.cfg settings: DisplaySmoothStretch - Disable anti-aliasing smoothing. DisplayEffect - Postprocessing scanline filter. For the scanlines filter it is recommended you switch off "DisplaySmoothStretch". DisplayAutoRotate - For vertical games auto rotate the display. MaintainAspectRatio - Keep the original game display ratio or fill the screen. PORT CREDITS ------------ * Ported to and optimised for the Raspberry Pi by Squid (aka Pudding on the Pi forums) ORIGINAL CREDITS ---------------- * Final Burn copyright Team FB Alpha. * FBA2X version 7.3 by HeadOverHeels. * CAPEX frontend originally by JYCET and Juanvvc * FB Alpha is based on Final Burn (formally at http://www.finalburn.com/). * Musashi MC68000/MC68010/MC68EC020 core by Karl Stenerud (http://www.mamedev.org/). * A68K MC68000 core by Mike Coates & Darren Olafson (http://www.mamedev.org/). * YM3812 core by Jarek Burczynski & Tatsuyuki Satoh (http://www.mamedev.org/). * YM2151 core by Jarek Burczynski (http://www.mamedev.org/). * YMF278B core by R. Belmont & O.Galibert (http://www.mamedev.org/). * YM2608/YM2610 cores by Jarek Burczynski & Tatsuyuki Satoh (http://www.mamedev.org/). * AY8910/YM2149 core by various authors (http://www.mamedev.org/). * M6502 emulation core by Marat (http://fms.komkon.org/EMUL8/). * I8039 emulation core by Mirko Buffoni (http://www.mamedev.org/). * Z80 emulation core by Dave, modifications by Team FB Alpha (http://www.finalburn.com/). * PNG functionality provided by libpng (http://www.libpng.org/) and PNGlib (http://www.madwizard.org/). * Zip functionality provided by zlib (http://www.zlib.net/). CHANGE LOG ---------- March 2013: * DPAD/HAT support fixed. * Added 4 player joystick support. * Screen rotation option for vertical games. October 2013: * Added DPAD (HAT) controls support for joysticks. September 2013: * Joystick SELECT+START now quits the frontend. Joystick SELECT now opens the menu and START will start a game. * 2nd player controls now configurable for joystick and keyboard. August 11, 2013: * Fixed keyboard not working when no joysticks attached August 7, 2013: * Fixed sound in some games, e.g. pang3, forgottn * All sound now rendered in stereo (mono uses both channels) August 5, 2013: * Added two player joystick support * Fixed frontend neverending quit with joysticks July 30, 2013: * Higher resolution frontend July 24, 2013: * Fixed some games * Added more Taito games * Added "MaintainAspectRatio" option to allow filled screen July 21, 2013: * Initial release.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.