04 February 2012, 13:40 | #1 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
fs-uae - a new multi-platform amiga emulator for games!
I am pleased to announce the first public release of fs-uae
fs-uae is a multi-platform Amiga emulator based on UAE/WinUAE, with a focus on emulating floppy-disk and CD-ROM based games. The current version is based on the emulation core from WinUAE 2.4.0 beta. An important feature of the emulator is that it is fully controllable with a gamepad, with an on-screen GUI, which means that you can easily swap floppies and load save states with your gamepad. Because of this, fs-uae is well suited to be started from an emulator frontend running on a HTPC, but will work equally great on your personal computer. The emulator uses the cycle-exact emulation code from WinUAE and requires a moderately fast computer with accelerated graphics (OpenGL) to work. The emulator has been tested on Linux (32-bit), Windows and Mac OS X (64-bit). I hope you find this project useful. Please bear in mind that this is the first public release, and there may be errors in the README or associated documentation. Please let me know if you encounter any issues with running the emulator. I will be glad to answer your questions if you have any, or help you get the emulator running. More detailed information: http://fengestad.no/fs-uae/README.html A screenshot (of the menu mode): http://fengestad.no/fs-uae/screenshot Download Windows, Mac OS X and Debian binaries, or source code for Linux/Mac/Windows here: http://fengestad.no/fs-uae/ Last edited by FrodeSolheim; 14 February 2014 at 00:58. Reason: better description |
04 February 2012, 14:20 | #2 |
Join Date: Jul 2008
Location: Sweden
Posts: 2,269
|
Looks neat, I think it could be really popular on HTPC setups. Would be cool to see a finished integration with game selector with screenshots etc.
|
04 February 2012, 14:59 | #3 | |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Quote:
Here is a screenshot: http://fengestad.no/fs-game-center/screenshot.png (this project is not quite production-ready yet, but works very well, and is also multi-platform) Last edited by FrodeSolheim; 04 February 2012 at 16:33. |
|
04 February 2012, 15:24 | #4 |
Banned
Join Date: Jul 2010
Location: Earth
Age: 46
Posts: 500
|
WOW!!! This is the Emu I've searched for my HTPC!! Thanks guy!!
|
04 February 2012, 16:11 | #5 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
It's nice to get such a response -I hope it works for you when you test it. While this is my own pet project, and I developed it to satisfy my own needs, it is nice when others find it useful.
I have probably made a mistake or two when documentation and packaging the project for release, so do not hesitate to post here if something does not work as expected. |
04 February 2012, 17:40 | #6 |
Posts: n/a
|
Great, I'll see if i can integrate it in my arcade cab.
|
04 February 2012, 18:04 | #7 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
I added a precompiled debian package for Ubuntu/Debian. It is now available on http://fengestad.no/fs-uae/.
|
04 February 2012, 18:45 | #8 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Here are a few more options which was not documented in example.conf in version 0.9.0:
Code:
[video] ## Open the emulator in fullscreen or windowed mode (1 = fullscreen, ## 0 = window). The default is windowed mode. # fullscreen = 1 ## Enable full-scene anti-aliasing (reduces jagged edges in menu-mode). ## Specify 2 for 2x, 4 for 4x, etc. # fsaa = 4 [application] ## You can override the title displayed in menu mode # title = Custom Title ## You can also override the sub-title displayed in menu mode # sub_title = Custom Sub-Title |
04 February 2012, 19:11 | #9 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Another omission from the README is this bit of information:
"With gamepads, you enter the menu either by using the dedicated "menu" button, if the gamepad has one, or you press and hold "start" and "selected" at the same time (or equivalent buttons). You use the same key/button to dismiss the menu. In the menu, you use the following keys for navigation: Cursor keys Enter (choose item, enter sub-menu) Back-space (leave sub-menu) On the game pad, you can use either the hat or the primary analog stick for navigation. You choose items and enter sub-menus with the "primary" button on the game pad. This is generally the "south" button on the right side of the controller. The back button is the "east" button (Just like you would navigate on the Xbox)." Controllers supported out of the box in version 0.9.0: Logitech Cordless Rumblepad 2 Logitech Dual Action Gamepad Logitech Extreme 3D Pro Logitech G27 Racing Wheel Logitech Gamepad F310 (DInput mode) Logitech Gamepad F310 (XInput mode) Logitech Wireless Gamepad F710 (DInput mode) Logitech Wireless Gamepad F710 (XInput mode) Sony PlayStation 3 Controller (Wired) Sony PlayStation 3 Controller (Wireless) Speed-Link Competition Pro Xbox 360 Controller (with Wireless Receiver) Addition controllers supported in the next release: Logitech PS3/USB Cordless Gamepad Logitech Rumblepad 2 Logitech Rumble Gamepad F510 (DInput mode) Logitech Rumble Gamepad F510 (XInput mode) Saitek P380 Gamepad Saitek P880 Gamepad Thrustmaster 2 in 1 DT If you have another controller you would like supported, please post a message here or PM me. Last edited by FrodeSolheim; 04 February 2012 at 20:09. Reason: added info about menu navigation |
04 February 2012, 22:52 | #10 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
I have released version 0.9.1 which fixes a compilation issue (and a couple of other issues) for Mac OS X.
For Mac OS X users: With this version, you should run make in the "macosx" subdirectory. This will create an fs-uae.app bundle! Support for additional game pad devices have been included in this version. |
04 February 2012, 23:06 | #11 |
Banned
Join Date: Jul 2010
Location: Earth
Age: 46
Posts: 500
|
Mac OS X building end with errors:
Code:
make -C .. make -C libfsemu gcc -DMACOSX -DWITH_SDL_VIDEO -DWITH_SDL_INPUT -DWITH_SDL_AUDIO -std=c99 -Wall -Werror=implicit-function-declaration -Iinclude `sdl-config --cflags` `pkg-config --cflags glib-2.0` -g -O2 -c src/libfsemu.c -o obj/libfsemu.o /bin/sh: sdl-config: command not found /bin/sh: pkg-config: command not found src/libfsemu.c:4:17: error: SDL.h: No such file or directory In file included from src/libfsemu.c:6: include/fs/ml.h:4:18: error: glib.h: No such file or directory In file included from src/libfsemu.c:6: include/fs/ml.h:106: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fs_ml_event’ include/fs/ml.h:108: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token include/fs/ml.h:109: error: expected ‘)’ before ‘*’ token include/fs/ml.h:112: error: expected ‘)’ before ‘*’ token include/fs/ml.h:113: error: expected ‘)’ before ‘*’ token include/fs/ml.h:122: error: expected specifier-qualifier-list before ‘gchar’ In file included from src/libfsemu.c:7: include/fs/emu.h:32: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token include/fs/emu.h:34: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token include/fs/emu.h:37: error: expected ‘)’ before ‘*’ token include/fs/emu.h:109: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fs_emu_event’ include/fs/emu.h:111: error: expected ‘)’ before ‘*’ token include/fs/emu.h:113: error: expected ‘)’ before ‘*’ token include/fs/emu.h:137: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token include/fs/emu.h:256: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘fs_emu_is_pointer_visible’ include/fs/emu.h:282: error: expected specifier-qualifier-list before ‘gchar’ include/fs/emu.h:321: warning: type defaults to ‘int’ in declaration of ‘gchar’ include/fs/emu.h:321: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token include/fs/emu.h:335: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token In file included from src/libfsemu.c:9: src/video.h:9: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_fs_emu_video_debug’ src/video.h:10: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_fs_emu_video_fullscreen’ src/video.h:11: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_fs_emu_video_fullscreen_window’ src/video.h:12: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/video.h:13: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_fs_emu_video_vsync’ src/video.h:14: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g_fs_emu_video_crop_mode’ src/libfsemu.c:20: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/libfsemu.c:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/libfsemu.c:23: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/libfsemu.c:111: error: expected ‘)’ before ‘*’ token src/libfsemu.c: In function ‘fs_emu_set_title’: src/libfsemu.c:148: warning: implicit declaration of function ‘g_free’ src/libfsemu.c:150: warning: implicit declaration of function ‘g_strdup’ src/libfsemu.c:150: warning: assignment makes pointer from integer without a cast src/libfsemu.c: In function ‘fs_emu_set_sub_title’: src/libfsemu.c:163: warning: assignment makes pointer from integer without a cast src/libfsemu.c: In function ‘fs_emu_set_window_title’: src/libfsemu.c:172: warning: assignment makes pointer from integer without a cast src/libfsemu.c: At top level: src/libfsemu.c:237: error: expected ‘)’ before ‘*’ token src/libfsemu.c:284: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/libfsemu.c:368: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘entries’ src/libfsemu.c:385: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token src/libfsemu.c:420: error: expected ‘)’ before ‘*’ token src/libfsemu.c: In function ‘fs_emu_init’: src/libfsemu.c:425: warning: implicit declaration of function ‘g_thread_init’ src/libfsemu.c:426: error: ‘g_fs_emu_config’ undeclared (first use in this function) src/libfsemu.c:426: error: (Each undeclared identifier is reported only once src/libfsemu.c:426: error: for each function it appears in.) src/libfsemu.c:427: warning: implicit declaration of function ‘g_key_file_new’ src/libfsemu.c:430: warning: implicit declaration of function ‘SDL_Init’ src/libfsemu.c:430: error: ‘SDL_INIT_EVERYTHING’ undeclared (first use in this function) src/libfsemu.c:440: error: ‘g_event_queue’ undeclared (first use in this function) src/libfsemu.c:440: warning: implicit declaration of function ‘g_queue_new’ src/libfsemu.c:441: error: ‘g_event_queue_mutex’ undeclared (first use in this function) src/libfsemu.c:441: warning: implicit declaration of function ‘SDL_CreateMutex’ src/libfsemu.c:445: warning: implicit declaration of function ‘read_config’ src/libfsemu.c: At top level: src/libfsemu.c:475: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘emulation_thread_entry’ src/libfsemu.c: In function ‘fs_emu_run’: src/libfsemu.c:507: error: ‘GError’ undeclared (first use in this function) src/libfsemu.c:507: error: ‘error’ undeclared (first use in this function) src/libfsemu.c:509: warning: implicit declaration of function ‘g_thread_create’ src/libfsemu.c:509: error: ‘emulation_thread_entry’ undeclared (first use in this function) src/libfsemu.c:509: error: ‘FALSE’ undeclared (first use in this function) src/libfsemu.c:536: warning: implicit declaration of function ‘SDL_CloseAudio’ make[2]: *** [obj/libfsemu.o] Error 1 make[1]: *** [libfsemu/out/libfsemu.a] Error 2 make: *** [bundle] Error 2 |
04 February 2012, 23:07 | #12 | |
Banned
Join Date: Jul 2010
Location: Earth
Age: 46
Posts: 500
|
Quote:
|
|
04 February 2012, 23:11 | #13 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Yes, you need SDL among other libraries (this is listed in the INSTALL file). The easiest way to install the dependencies on Mac OS X i.m.o. is to install Macports and install the libraries with the port command.
|
04 February 2012, 23:15 | #14 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Currently, the app bundle is not self-contained (it does not contain the libraries), so it will only work on the computer where it is compiled.
But I can try to make a self-contained app bundle and post here. -Must first create a script to find all dependencies and rewrite the dynamic link section of the program. EDIT: Mac OS X app bundle is now available from the project home page. Last edited by FrodeSolheim; 05 February 2012 at 14:22. |
04 February 2012, 23:54 | #15 |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
By popular demand -I have created a self-contained app bundle (well, I hope it is anyway -I haven't got a separate computer to test it on). You can download it here:
http://fengestad.no/fs-uae/files/fs-...-macosx.tar.gz Even though fs-uae is now an app-bundle, you can still run it with command-line arguments from the terminal, for instance (after unpacking): $ fs-uae.app/Contents/MacOS/fs-uae -c /path/to/config It will almost certainly require at least Mac OS X 10.6 (because that's what I compiled it on), but hopefully it will work on 10.7 as well. UPDATE: I have been informed that example.conf was missing from the source distribution (thanks finrock). I have posted it here: http://fengestad.no/fs-uae/example.conf (it was not included in the Mac and Linux binary packages either) Last edited by FrodeSolheim; 05 February 2012 at 00:06. Reason: a note about example.conf |
05 February 2012, 01:12 | #16 |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,654
|
THis is interesting for same reasons mentioned (htpc), thanks!! I will tryu it as soon as I get a controller for my PC that is not a wiimote
|
05 February 2012, 01:51 | #17 |
Junior Member
Join Date: Mar 2002
Location: Perth, Western Australia
Age: 50
Posts: 283
|
On-Screen virtual keyboard?
I had a quick look through the README but I didn't see a mention of a virtual keyboard. This is a feature I miss on C64 and Amiga emulators. Sure, we can change the keyboard layout but that is very time consuming for individual games and can be too limited with the typical USB joypad (not enough buttons).
Can this be looked at in the future? 1. Virtual keyboard to send keystrokes (include left/right mouse buttons) 2. Option to turn on/off joypad->mouse emulation on the fly. fs-uae looks great, but until this is done you will still require a keyboard to play many games. I'm not talking about flight simulators, I'm talking about games that play with a joystick but require keys to change settings on the title screen / enter high scores / pause / cheat / quit to title / etc. |
05 February 2012, 02:17 | #18 |
Registered User
Join Date: Nov 2009
Location: UK
Posts: 497
|
Nice. Is this based on PUAE source for cross-platform capabilities?
|
05 February 2012, 02:34 | #19 | |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Quote:
The virtual keyboard is actually a great idea!! I can promise this feature! I see in my head a semi-transparent keyboard overlay toggled on/off by a gamepad button. Regarding your second point, I am planning to allow switching input devices in the joystick ports from the GUI (and perhaps even hot-plugging joysticks). And from the README, mouse emulation with gamepad is on the todo list (Regarding C64, I am _thinking_ about porting Vice to my emulator framework - I too am missing an easy-to-control C64 emulator. However, this is not on the short term todo list...) |
|
05 February 2012, 02:46 | #20 | |
FS-UAE Developer
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
|
Quote:
Anyway, to be able to incorporate updates from WinUAE regularly and with ease, I have coded fs-uae with as little changes to the WinUAE code as possible, among other things with a lot of defines to "translate" windows-specific code to POSIX. If could solve something with a define, I probably did it (so I had to make minimal changes to the code from WinUAE). Earlier, about a year ago, I used additional code from E-UAE and PUAE to get the Linux version up and running (video, audio, threading code, etc). But when the emulator evolved, I wanted to have fs-uae instead of WinUAE on my Windows box as well, and for several reasons, I started writing libfsemu (which handles video, audio, and input for fs-uae). Some of the code borrowed from E-UAE/PUAE is therefore now removed again, but there is some code from E-UAE and PUAE left still, and they are credited the README and startup notice. The cross-platform capabilities codes from the fact the UAE was originally cross-platform, and libfsemu which handles platform-specific details (with good help of SDL and glib). When the ball was rolling, I threw in Mac OS X support for good show The UAE/WinUAE code is somewhat messy (GCC gives a lot of warnings), and I would like to clean it up a bit, but it is also good to be able to copy changes from WinUAE easily. (I will probably ask Toni if he would accept some cleanup patches at some time). Last edited by FrodeSolheim; 09 February 2012 at 16:10. Reason: Clarification about PUAE/E-UAE updated -was more PUAE code present than I rembered at first |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Possible platform for Amiga Emulator? | smiffy92 | Amiga scene | 1 | 18 February 2011 12:43 |
SPS Multi Platform Effort Is Go! | CodyJarrett | News | 4 | 04 July 2010 21:13 |
Floppy Drive Emulation (Multi-Platform) | Claw22000 | Amiga scene | 23 | 12 March 2009 07:01 |
poll for the multi platform tournament | turrican3 | EAB's competition | 16 | 21 January 2009 21:24 |
Multi-platform Distributive Operating System (MPDOS) for Amiga | JackTheKnife | support.Hardware | 2 | 10 December 2008 16:39 |
|
|