English Amiga Board


Go Back   English Amiga Board > Support > support.FS-UAE

 
 
Thread Tools
Old 04 February 2012, 13:40   #1
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
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
FrodeSolheim is offline  
Old 04 February 2012, 14:20   #2
Leffmann
 
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.
Leffmann is offline  
Old 04 February 2012, 14:59   #3
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
Quote:
Originally Posted by Leffmann View Post
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.
Glad you think so! -Actually, I have a game center-project with integrates nicely with fs-uae (and a handful of other emulators. -I know... -there isn't actually any shortage on such frontends ).

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.
FrodeSolheim is offline  
Old 04 February 2012, 15:24   #4
nexusle
Banned
 
Join Date: Jul 2010
Location: Earth
Age: 46
Posts: 500
WOW!!! This is the Emu I've searched for my HTPC!! Thanks guy!!
nexusle is offline  
Old 04 February 2012, 16:11   #5
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
Quote:
Originally Posted by nexusle View Post
WOW!!! This is the Emu I've searched for my HTPC!! Thanks guy!!
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.
FrodeSolheim is offline  
Old 04 February 2012, 17:40   #6
General_Faliure
 
Posts: n/a
Great, I'll see if i can integrate it in my arcade cab.
 
Old 04 February 2012, 18:04   #7
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
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/.
FrodeSolheim is offline  
Old 04 February 2012, 18:45   #8
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
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
In the next version, you should also be able to specify aspect correction on/off in the configuration file.
FrodeSolheim is offline  
Old 04 February 2012, 19:11   #9
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
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
FrodeSolheim is offline  
Old 04 February 2012, 22:52   #10
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
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.
FrodeSolheim is offline  
Old 04 February 2012, 23:06   #11
nexusle
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
Seems that SDL is missing. What I must install, to get it working?
nexusle is offline  
Old 04 February 2012, 23:07   #12
nexusle
Banned
 
Join Date: Jul 2010
Location: Earth
Age: 46
Posts: 500
Quote:
Originally Posted by FrodeSolheim View Post
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.
Can you provide this ".app" bundle?
nexusle is offline  
Old 04 February 2012, 23:11   #13
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
Quote:
Originally Posted by nexusle View Post
Mac OS X building end with errors:
Seems that SDL is missing. What I must install, to get it working?
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.
FrodeSolheim is offline  
Old 04 February 2012, 23:15   #14
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
Quote:
Originally Posted by nexusle View Post
Can you provide this ".app" bundle?
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.
FrodeSolheim is offline  
Old 04 February 2012, 23:54   #15
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
Quote:
Originally Posted by nexusle View Post
Can you provide this ".app" bundle?
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
FrodeSolheim is offline  
Old 05 February 2012, 01:12   #16
Amiga1992
Registered User
 
Join Date: May 2001
Location: ?
Posts: 19,644
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
Amiga1992 is offline  
Old 05 February 2012, 01:51   #17
gary
Junior Member
 
gary's Avatar
 
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.
gary is offline  
Old 05 February 2012, 02:17   #18
Mequa
Registered User
 
Join Date: Nov 2009
Location: UK
Posts: 497
Nice. Is this based on PUAE source for cross-platform capabilities?
Mequa is offline  
Old 05 February 2012, 02:34   #19
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
Quote:
Originally Posted by gary View Post
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.
It is very late here in Norway, but I could not sleep, so why not post some replies instead

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...)
FrodeSolheim is offline  
Old 05 February 2012, 02:46   #20
FrodeSolheim
FS-UAE Developer
 
FrodeSolheim's Avatar
 
Join Date: Dec 2011
Location: Førde, Norway
Age: 43
Posts: 4,043
Quote:
Originally Posted by Mequa View Post
Nice. Is this based on PUAE source for cross-platform capabilities?
No. I wanted the most up-to-date emulator core possible, so I started with the WinUAE code. I then removed features and massaged the code until it compiled on Linux. The WinUAE code (even some of the core UAE emulation code) is quite Windows-specific (and Visual Studio-specific) nowadays.

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
FrodeSolheim is offline  
 


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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 12:10.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.26039 seconds with 16 queries