Giter Site home page Giter Site logo

frodesolheim / fs-uae Goto Github PK

View Code? Open in Web Editor NEW
449.0 38.0 92.0 71.42 MB

Cross-platform Amiga emulator with a slight focus on gaming, but also with solid support for productivity apps including just-in-time (JIT) compilation.

Home Page: https://fs-uae.net/

License: GNU General Public License v2.0

Shell 0.25% Python 0.26% C 39.82% C++ 57.46% Assembly 0.81% GLSL 0.85% Makefile 0.25% M4 0.25% Batchfile 0.02% HLSL 0.01% Meson 0.02%
emulator amiga

fs-uae's Introduction

# FS-UAE README

**Note:** Please note that the information in this file is probably slightly
outdated. It should be update before the release of FS-UAE 4.0.

FS-UAE is an Amiga emulator for Windows, Linux and Mac OS X based on
UAE/WinUAE, with a focus on emulating games.

Features include emulation of Amiga 500, 1200, 4000, CD32 and CDTV,
perfectly smooth scrolling on 50Hz displays, support for floppy images in
ADF and IPF formats, CD-ROM images in ISO or BIN/CUE format, mounting folders
on your computer as Amiga hard drives, support for Picasso 96 drivers for
high-color and high-resolution Workbench displays, and more...

A unique feature is support for cross-platform online play. You can now play
Amiga games against (or with) friends over the Internet.

The emulator uses the latest Amiga emulation code from the WinUAE project
and requires a moderately fast computer with accelerated graphics (OpenGL)
to work. A game pad or joystick is recommended, but not required (FS-UAE
can emulate a joystick using the cursor keys and right ctrl/alt keys).

The official home page of FS-UAE is https://fs-uae.net/

Thank you for your interest in FS-UAE :)

## Important information

FS-UAE itself does not include a configuration UI, so you must either:

- Run FS-UAE via the configuration program FS-UAE Launcher.
- Create a configuration file before the emulator will be usable. This is
  fairly easy, please read on for more information.
- Run FS-UAE from a third-party configuration interface / frontend.

Please report any errors found in the documentation to [email protected].

## Configuration file

You will also need to create a configuration file for FS-UAE. The important
things you need to configure is what floppy disks to use, and where the
Kickstart ROMs are stored. Documentation (and examples) is available here:
https://fs-uae.net/documentation

You have several options for where to store the configuration file:

1. In the same directory as the FS-UAE executable, as Config.fs-uae. FS-UAE
   will always try to load this file first.
2. As a per-user configuration file:
   (My) Documents/FS-UAE/Configurations/Default.fs-uae
3. You can also store the file anywhere you want, and invoke FS-UAE with
   the config file as a parameter (fs-uae /path/to/config-file.fs-uae)
4. In graphical shells (Windows Explorer, Mac OS Finder), you can also
   select a configuration file, and then choose to open it in FS-UAE (you
   may need to browse to find the program), or you may also drag and drop
   a configuration file in top of the FS-UAE application/executable.

(you can see in the log file exactly what path FS-UAE tries to load the
default configuration from on your system)

## Kickstart

You will need Kickstart ROMs for the Amigas you want to emulate for best
compatibility. One source for this is your real Amiga, but you can also
purchase the Kickstart ROMs in file format from Cloanto - they are bundled
with their Amiga Forever product. See [docs/kickstarts.md] for more
information about kickstarts and the kickstart replacement included in FS-UAE.

## Joysticks

If you have a recognized joystick connected, FS-UAE will automatically try
to use this as the primary Amiga joystick. Otherwise, keyboard joystick
emulation will be enabled, where the cursor keys and the right control (right
alt on Mac) on your keyboard controls the joystick.

FS-UAE does not (currently) support two keyboard-emulated joysticks. If you
want to use two Amiga joysticks, you need to have at least one real joystick
or gamepad.

You can specify which joystick to use for each Amiga joystick port in the
configuration file, and you can also change this during runtime from the
FS-UAE menu.

If your joystick is not correctly configurated automatically by FS-UAE,
you can create a configuration file for it, or use FS-UAE Launcher to do this
for you with an easy-to-use GUI.

## Emulator menu

While running the emulator, you press F12 to enter and exit the emulator menu.
From here, you can load and save states, and swap floppy disks. On macOS,
you can use Cmd+F12 instead (Or Fn+Cmd+F12).

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). Use the same key/button to close 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).

## Screenshots

Press the "Print Scrn" key on the keyboard to save a screenshot of the
running game to the desktop. Alternatively, you can use F12+s if you don't
have this key.

## Keyboard shortcuts

See [docs/keyboard.md] for a complete list of shortcuts as well as
instructions on how to configure shortcuts for additional actions. Here
are some of the most important ones:

- F12 (or Cmd+F12) -Enter/exit GUI.
- Alt+Q / Cmd+Q or F12+g – quit FS-UAE.
- Alt+G / Cmd+G, F12+g or Middle mouse click – release input grab.
- Alt+Tab / Cmd+Tab – switch to another window and release input grab.
- Alt+Enter / Cmd+Enter or F12+g – toggle fullscreen mode.

Remember that on some computers, you also need to press the Fn key to use
the F12 key.

## Program arguments

`<path>`: Use a custom configuration file instead of Default.fs-uae

Some options commonly used as program arguments:

`--fullscreen`: Start in fullscreen mode instead of windowed mode
`--stdout`: Also log to stdout (not on Windows)

You can also specify any configuration option with `--option=value`.
Underscores in the option name can be replaced with hyphens (e.g
`--floppy-drive-0=/path/to/adf`).

## Log file and bug reports

A log file is stored as `Documents/FS-UAE/Cache/Logs/FS-UAE.log`.

When reporting a problem, you should include this log file with you error
report.

## Floppy disks

New data is always saved to overlay ADF files (.sdf). As an example, if you
have floppy.adf insert into df0 and the Amiga writes to df0, the data is
written to floppy.sdf instead of modifying floppy.adf itself. You need both
floppy.adf and floppy.sdf to represent the entire modified disk. The save
files are created on demand (when data is written to a drive).

The floppy file overlays are by default save in the directory
(My) Documents/FS-UAE/Floppy Overlays

The GUI does not allow you to browse for files on the file system. Disks
can be inserted at startup time (specified in the configuration file), and
FS-UAE maintains a list of available floppy images to insert (also specified
in the configuration file). See example.conf for more information.

## Supported Amiga models

The following Amiga models are supported:

- A1000 - Amiga 1000
- A500 - Amiga 500 (Default)
- A500+ - Amiga 500+
- A600 - Amiga 600
- A1200 - Amiga 1200
- A1200/020 Amiga 1200 with full 68020 CPU
- A4000/040 Amiga 4000 with 68040 CPU
- CD32 - Amiga CD32
- CDTV - Commodore CDTV

The default configurations corresponds to the quickstarts in WinUAE for
these systems, on the most compatible setting (cycle-exact mode).

## Display refresh rate and resolution

For really smooth scrolling in games, your display MUST run at the same
refresh rate as the Amiga: 50Hz (PAL). Many monitors and TVs with 1920x1080
resolution supports this refresh rate. If FS-UAE detects that you display is
running at 50Hz, vsync will automatically be enabled for perfect scrolling.

FS-UAE will (not yet) on its own change your refresh rate to 50Hz -you
must do this yourself before starting FS-UAE.

If you run your display with another refresh rate, the emulator will still
work just fine, but scrolling will be somewhat jerky -it varies with games
whether this is very noticable or not.

Note: On Mac OS X, FS-UAE does not currently detect the refresh rate,
which means that full vsync will not be enabled. If you are running at
50Hz, you can force vsync with --video-sync=full

FS-UAE will use whatever full-screen resolution you desktop is using, and
will assume that you have square pixels. The Amiga image will be scaled
to fit the display, and you can choose whether to stretch to fill the entire
screen, or scale up while maintaining the original aspect ratio.

## Supported host operating systems

FS-UAE can be compiled for the following operating systems:

- Linux
- Windows XP or newer
- Mac OS X 10.6 or newer
- FreeBSD (Other Unices will probably also work just fine)

See docs/compiling.md for building instructions.

The official FS-UAE binaries may require newer versions of these operating
systems.

## Debugging support

FS-UAE does not include a graphical debugger for debugging Amiga programs. It
is possible to use the internal UAE debugger from the console.

For debugging FS-UAE itself, a native debugger can be used if you compile
FS-UAE yourself. Other debug information can be retrieved from the log file.

There is debug overlay to debug video, audio and vsync issues. You can toggle
the display of this with CTRL+F10.

FS-UAE automatically crops the Amiga video output. Sometimes this does not
work perfectly. You can override this behaviour in the configuration file.
Also, you can press CTRL+F11 when running to visually see the entire amiga
output with the crop rectangle.

## Known issues

Amiga mouse must currently be emulated with a native mouse device. A nice
feature would be to be able to emulate the mouse with gamepads - analogue
controls for instance.

An on-screen keyboard, controllable with a game pad / joystick would also
be nice, and is planned for a future version.

Floppy list UI does not support scrolling, so if you have many floppy images
in the floppy list, some may be obscured.

## Copyright and credits

FS-UAE is Copyright (c) 2011-2021, Frode Solheim
Large portions are copyrighted by other individuals.

FS-UAE is based on the fantastic work of the original UAE authors, the authors
of WinUAE, contributions from external contributors as well as some code
from E-UAE (and maybe P-UAE). See https://fs-uae.net/contributions for an
updated list of people having contributed patches, translations and donations.

UAE was created by Bernd Schmidt, with the help of a host of volunteer
contributors (see the UAE distribution for full credits).

WinUAE has been developed and maintained by Mathias Ortmann and Toni Wilen.
Toni Wilen has developed WinUAE for the last years and is the current
maintainer. E-UAE was developed by Richard Drummond (no longer maintained),
and P-UAE was developed by Mustafa "GnoStiC" TUFAN (no longer maintained).

The libfsemu library is Copyright (c) 2011-2019, Frode Solheim

The IPF decoder library is Copyright (c) 2001-2011 by István Fábián with
additional work by Christian Sauer.

Some relevant links:

- http://www.winuae.net/
- http://www.rcdrummond.net/uae/
- http://www.softpres.org/

fs-uae's People

Contributors

bmwiedemann avatar borb avatar chewi avatar cnvogelg avatar enverex avatar erique avatar ezrec avatar frodesolheim avatar glaubitz avatar jens-maus avatar keirf avatar markcox avatar rsn8887 avatar sgtatham avatar sonnenscheinchen avatar temisu avatar vanfanel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fs-uae's Issues

Add MIDI support in FS-UAE?

Several people have voiced interest in MIDI support in FS-UAE (http://eab.abime.net/showthread.php?t=68356). There's currently no plans for this, but you can subscribe to this issue if you want to help with it, should it be implemented in the future - or just to get notifications if anything exciting happens in this regard.

Makefile not BSD-make compatible any more

It seems that there is a small thing in the Makefiles that isn't BSD-make-compatible any more. This is what I get if I make with bmake (with gmake it builds fine).

mkdir -p share/locale/cs/LC_MESSAGES
/usr/bin/msgfmt --verbose -o share/locale/cs/LC_MESSAGES/fs-uae.mo
/usr/bin/msgfmt: no input file given
Try `/usr/bin/msgfmt --help' for more information.
*** Error code 1

Stop.
make: stopped in /home/tmp/wip/fs-uae-dev/work.x86_64/fs-uae-2.5.8dev

Define a system-wide location for FS-UAE plugins

Define a system-wide location for FS-UAE plugins and look for plugins there in addition to the user-specific plugins folder.

Considerations must be made how this will work together with future FS-UAE Launcher plugin-downloading-on-demand (perhaps the launcher will simply disallow updating plugins which are installed system-wide, since this should probably rather be updated via the host package system).

Pressing X using joystick leaves the arcarde gui

When pressing the X button in the top right corner of the F12 menu while playing a game, fs-uae-arcarde does not return to the overview page but closes the program.

Doing the same using keyboard only, acts as expected.

Compatibility setting

The WinUAE GUI has this slider that allows you to adjust "Compatibility vs Required CPU Power":
http://guide.abime.net/gguides/winuaea.htm
Is there a similar option in fs-uae?

I've found some games that are compatible with vanilla WinUAE freeze after the flashtro in fs-uae, so maybe this setting is the cause...

Github-generated releases don't contain git submodules

(aside: qemu-uae has no issue tracker? I would have put it there if I had found one)
I realise that the following is most likely a limitation of github (maybe they need a feature request?).

I was starting to package qemu-uae, using the released file https://github.com/FrodeSolheim/qemu-uae/archive/v2.0.2.tar.gz . However, it turns out that such files as generated by github don't contain the git submodules. In particular I miss the dtc submodule. For pixman I already have a package, so that would be no problem I expect.

New option fullscreen_spaces = 0

Allow the user to set fullscreen_spaces = 0
(SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES="0")

Users may not want to use the fullscreen spaces feature, nor see the annoying OS X stretch animation on startup.

Don't load default config, and/or don't complain about missing config when lauching with options

When launching FS-UAE with options (other than just path to config file):

  • don't load Default.fs-uae (etc) if it exists, or
  • don't complain about missing config file if not.

Since in this case, you have done configuration via the command line. Currently, you can use --end-config to enforce this (but note: that also prevents Host.fs-uae from being loaded), but it should be default behavior when command line arguments are used.

(There are some options, such as --fullscreen, where it still could make sense to load the default configuration, this should be considered in more detail before an implementation is done).

Segfault on Debian testing with Nvidia driver 340.32

When running fs-uae on current Debian testing x86_64 (KDE), it always segfaults. Here is the backtrace from gdb:

Program received signal SIGSEGV, Segmentation fault.
__memmove_ssse3_back () at ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:1698
1698    ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S: No such file or directory.
(gdb) bt
#0  __memmove_ssse3_back () at ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:1698
#1  0x00007ffff27b8137 in ?? () from /usr/lib/libnvidia-glcore.so.340.32
#2  0x00007ffff27b8218 in ?? () from /usr/lib/libnvidia-glcore.so.340.32
#3  0x00007ffff69e06ad in ?? () from /usr/lib/libGL.so.1
#4  0x00007ffff7dea9bd in call_init (l=0x7ffff7fcf9f0, argc=argc@entry=1, argv=argv@entry=0x7fffffffe168, env=env@entry=0x7fffffffe178) at dl-init.c:64
#5  0x00007ffff7deaae3 in call_init (env=0x7fffffffe178, argv=0x7fffffffe168, argc=1, l=) at dl-init.c:36
#6  _dl_init (main_map=0x7ffff7ffe1a8, argc=1, argv=0x7fffffffe168, env=0x7fffffffe178) at dl-init.c:126
#7  0x00007ffff7ddd1ca in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#8  0x0000000000000001 in ?? ()
#9  0x00007fffffffe474 in ?? ()
#10 0x0000000000000000 in ?? ()

Support portable mode directly by FS-UAE

Portable mode is implemented in FS-UAE Launcher and not in FS-UAE. FS-UAE Launcher configures the emulator so that when running from the launcher, it uses the "portable directories".

However, when manually starting FS-UAE, it will use Documents/FS-UAE as normal, which is quite confusing. It would be better if FS-UAE too picks up the portable directory on its own.

FS-UAE on OS X does not receive mouse motion events when window is not focused

FS-UAE on OS X does not get mouse move events when window is inactive. This is normally not a problem, but with mouse integration enabled, this is a bit annoying. It would be best if the window receives mouse motion events even while inactive, so you can "interact" with it as it were a native application (i.e. move cursor over windows inside Workbench and click on them to activate the window (and FS-UAE)).

Compilation fails on OSX 10.10

It fails to compile on os x 10.10 (and, probably 10.9), due OS X own htonl() implementation.
There's a patch making it compile.
Patch was only checked at 10.10, so be careful.

diff --git a/prowizard/include/extern.h b/prowizard/include/extern.h
index 7ac6cbb..d1a6d52 100644
--- a/prowizard/include/extern.h
+++ b/prowizard/include/extern.h
@@ -331,7 +331,10 @@ extern short test_smps ( long, long, long, Uchar, Uchar );
extern long PWGetFileSize ( char * );
extern FILE * PW_fopen ( char *, char * );
extern void fillPTKtable ( Uchar[37][2] );
+
+#if __MAC_OS_X_VERSION_MAX_ALLOWED < 1090
extern int htonl(int);
+#endif

/* globals /
/
Some say it's badly coding when using Globals ... sure it is, now what's the solution ? */
diff --git a/prowizard/misc/misc.c b/prowizard/misc/misc.c
index f93e527..d510cac 100644
--- a/prowizard/misc/misc.c
+++ b/prowizard/misc/misc.c
@@ -509,8 +509,10 @@ void fillPTKtable (Uchar poss[37][2])
}

#ifndef _WIN64
+#if __MAC_OS_X_VERSION_MAX_ALLOWED < 1090
int htonl(int v)
{
return ((v >> 24) & 0x000000ff) | ((v >> 8) & 0x0000ff00) | ((v << 8) & 0x00ff0000) | ((v << 24) & 0xff000000);
}
#endif
+#endif

Support joystick hotplugging

When joysticks are connected while running the emulator, the joysticks should become available in the on-screen menu.

FS-UAE crashes on exit in some circumstances

from jbl007:
"crashes with a chance of 95% on exit if "window_width" and/or "window_height" is in the config.

It seems to crash at random positions. Here is one example (gdb):"

amiga_quit
UAE emulation core is quitting
[Thread 0xbfafab40 (LWP 8216) exited]
[Thread 0xc26fbb40 (LWP 8215) exited]
[Thread 0xf34e4b40 (LWP 8214) exited]

Program received signal SIGSEGV, Segmentation fault.
luaH_getstr (t=0xc3329b0, key=0xc333290) at libfsemu/src/lua/ltable.c:470
470     if (ttisshrstring(gkey(n)) && eqshrstr(rawtsvalue(gkey(n)), key))
(gdb) bt
#0  luaH_getstr (t=0xc3329b0, key=0xc333290) at libfsemu/src/lua/ltable.c:470
#1  0x08525993 in luaH_get (t=0xc3329b0, key=0xc333180) at libfsemu/src/lua/ltable.c:484
#2  0x085275a1 in luaV_gettable (L=0xc333608, t=0xc332b80, key=0xc333180, val=0xc333180) at libfsemu/src/lua/lvm.c:117
#3  0x08510332 in lua_getglobal (L=0xc333608, var=0x870ab87 "on_fs_emu_render_frame") at libfsemu/src/lua/lapi.c:605
#4  0x084d0031 in fs_emu_lua_run_handler (name=0x870ab87 "on_fs_emu_render_frame") at libfsemu/src/emu/emu_lua.c:20
#5  0x084d7050 in render_frame (alpha=1, perspective=313534184) at libfsemu/src/emu/render.c:915
#6  0x084d8c88 in fs_emu_video_render_function () at libfsemu/src/emu/render.c:1980
#7  0x0852baab in render_frame () at libfsemu/src/ml/render.c:222
#8  fs_ml_render_iteration () at libfsemu/src/ml/render.c:648
#9  0x0852cfb3 in fs_ml_main_loop () at libfsemu/src/ml/sdl.c:992
#10 0x084cfcb1 in fs_emu_run (function=0x8601ef0 <main_function>) at libfsemu/src/emu/emu.c:455
#11 0x08050360 in main (argc=3, argv=0xffffd564) at src/fs-uae/main.c:1155
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
luaH_getstr (t=0xc3329b0, key=0xc333290) at libfsemu/src/lua/ltable.c:470
470     if (ttisshrstring(gkey(n)) && eqshrstr(rawtsvalue(gkey(n)), key))
(gdb) c
Continuing.
[Thread 0xbebf9b40 (LWP 8237) exited]
[Thread 0xf68aeb40 (LWP 8212) exited]

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb) q

OS X: Mouse pointer behaves strange if moving from and back to fullscreen space

If you are using FS-UAE in fullscreen on OS X, and switch "virtual desktop" with e.g. Ctrl+Left, then the Amiga mouse pointer may start to behave strangely when returning to FS-UAE. In particular, you may not be able to move it all the way to the top (and it'll look like the pointer is hitting an invisible border).

One workaround to fix the issue when it occurs is to use F12 + g twice (to ungrab and grab the mouse pointer).

This is probably not a bug in FS-UAE, but rather an issue with SDL2 + OS X. But it is possible it could be worked around automatically in FS-UAE by automatically ungrabbing/regrabbing focus if it can be detected that application has lost + regained focus.

Activating the second joypad (port 0) disables the keyboard

Reported by TCD (moved from Trac):

"When the second joypad is activated in FS-UAE (after the game was started), the keyboard stops to work (no keypresses are recognised within emulation anymore). After switching the second joypad back to mouse, the keyboard works again.

Good test subject is Gauntlet III. For example the 't +3 MLS' trainer choice can't be made once the second joypad is active."

"Another reproducable with the +17 ATX trainer menu of Joe & Mac: With both joypads activated the keyboard doesn't respond, changing the second joypad back to mouse re-activates the keyboard."

"After some more testing I found the real problem: Pressing start + select on my first joypad disables the keyboard. Sorry for the confusion, just hard to notice in most games :)"

Inserting additional floppies when running

Currently you can only add floppies to a list before actually starting fs-uae itself, and while it is running you can only swap between floppies from that list.
Choosing an unforeseen floppy requires stopping and starting the emulation, which is kind of inconvenient when you're not just working with a short list of floppies which van be foreseen beforehand.
A nice enhancement would be the ability to temporarily pause the emulator and choose a new floppy image.

libmpeg2 should not be installed

I am trying to get the makefiles not to install libmpeg2, since pkgsrc already has a package for it and therefore people would already have it. fs-uae trying to install a private copy on top of that is not a nice thing to do.

round() call in src/emu/video.c and src/fs-uae/video.c

In src/emu/video.c and src/fs-uae/video.c there are calls to long double roundl(long double). I noticed this because NetBSD doesn't seem to have it. Fortunately it isn't needed: roundl() is called with a plain double argument, and the result is assigned to an int. So using plain double round(double x) is good enough.

Floppy swapper shortcuts

Currently, you cannot assign keyboard shortcuts to insert next/previous floppy. This enhancement proposal is to implement some kind of feature where disks from the floppy list can be inserted by using keyboard shortcuts and/or buttons mapped to gamepads.

HRTmon Support

"Please add the option to use the HRTmon freezer cartridge that is built into winUAE :) This is very useful for WHDload programming. Thanks!" (Issue imported from trac).

Autodetect RDB mode with VHD format hard drive images

FS-UAE automatically reads the first four bytes in the file and automatically enables RDB mode if the bytes are "RDSK", but presumably, the .vhd file starts with some VHD headers instead.

VHD functions from the UAE core can probably be used to find the first 4 data bytes in the .vhd file to compare with

Save state feature compatible with directory hard drives

Currently, save states are disabled by FS-UAE Launcher when you run WHDLoad games / use directory hard drives. This is currently done because without further work, the save states can corrupt the directory hard drives (lose saved games).

Support for write-protecting disk images

Currently, there is no way to write-protect disk images. Disk image overlay files are used, so whether the original file is write-protected or not does not affect the write-protected status in emulation.

Support for loading .uae files?

For several reasons, FS-UAE uses its own .fs-uae config file format. An important reason for this was that FS-UAE started out without a configuration interface, and it was deemed important to have simpler and more readable/memorable options.

But it is also useful to be able to read legacy .uae config files, at least for users which have lots of existing setups with .uae files.

FS-UAE could be extended to read .uae files too, it would then do two things:

  • Options which are UAE hardware options would be sent to the UAE core directly.
  • Options which are host settings (such as video options, etc) would be parsed and changed to FS-UAE options. This includes options such as fullscreen, window sizes, audio options and input options (selected device). This would be a best-effort, since not necessarily all options have a modern equivalent in FS-UAE.

An alternative, which also would work well is to create a wrapper script (e.g. a python) script, say "fuae" which loads uae config files and support uae-style command line options, which then processes options like above, creates a new temporary .fs-uae files and execs fs-uae.

Problem with FS-UAE Launcher and non-ascii characters in dir names on OS X?

"I'd found a little bug in the latest FS-UAE build (maybe only in Mac OS X 10.10)

It a folder have a special character (ö, ä, ü) the path doesn't work in FS-UAE Launcher. I tried this for a floppy path for my special config, which points to a folder named "Amiga Classic hochgerüstet". The selected images aren't displayed in FS-UAE. Only as I renamed the folder to "...hochgeruestet", the images appears..."

http://eab.abime.net/showpost.php?p=982119&postcount=753

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.