1
0
mirror of https://github.com/gryf/fs-uae-wrapper.git synced 2026-02-02 22:25:47 +01:00

3 Commits
0.8 ... 0.8.1

Author SHA1 Message Date
193e487bb9 Fix download link and typo in readme 2017-06-19 19:55:02 +02:00
eb9012f3fa Readme update 2017-01-12 21:09:12 +01:00
efbb5f6f05 Readme update 2017-01-09 06:41:16 +01:00
2 changed files with 40 additions and 27 deletions

View File

@@ -12,7 +12,7 @@ This little utility is a wrapper on great FS-UAE_ emulator, to perform some
actions, like uncompressing archived files (CD ROMs images, filesystems), actions, like uncompressing archived files (CD ROMs images, filesystems),
launch the emulator and archive emulator save state. launch the emulator and archive emulator save state.
As an example, if there is a collection of CD³² game files and one want to As an example, if there is a collection of CD³² game files and you want to
provide configuration for each game, but want to keep ISO images with provide configuration for each game, but want to keep ISO images with
corresponding files in archive (due to size of those images) than FS-UAE corresponding files in archive (due to size of those images) than FS-UAE
Wrapper is a way to achieve this. Wrapper is a way to achieve this.
@@ -28,8 +28,7 @@ Requirements
- Python (2 or 3) - Python (2 or 3)
- `fs-uae`_ (obviously :) - `fs-uae`_ (obviously :)
Also, there should be archivers programs available for compress/decompress Fs-uae-wrapper supports several types of archives:
archives. Fs-uae-wrapper supports several types of archives:
- `7z`_ - `7z`_
- `lha`_ - `lha`_
@@ -43,25 +42,35 @@ archives. Fs-uae-wrapper supports several types of archives:
- `zip`_ - `zip`_
There are several archive types which are supported, ranging from tar All of those formats should have corresponding software available in the
(compressed with gzip, bzip2 and xz), 7z, rar, zip. lha and lzx. All of those system, otherwise archive extraction/compression will fail.
formats should have corresponding decompressors available in the system,
otherwise archive extraction will fail.
Installation Installation
============ ============
Just perform (preferably in ``virtualenv``) a command: FS-UAE Wrapper is available on `CheeseShop`_ (or python package index if you
will). To install it, you can simply invoke (preferably in ``virtualenv``) a
command:
.. code:: shell-session .. code:: shell-session
$ pip install fs-uae-wrapper $ pip install fs-uae-wrapper
Note, that if ``virtualenv`` was used, there is no need for activating it every
time, since if invoke wrapper like this:
.. code:: shell-session
$ /path/to/virtualenv/bin/fs-uae-wrapper
you should be able run the wrapper properly. *Tested only on Linux :)*.
Usage Usage
===== =====
After installation you should be able to access new command After installation you should be able to access new command ``fs-uae-wrapper``
``fs-uae-wrapper``, and its invocation is identical like ``fs-uae`` binary: (or use the full path to the ``virtualenv`` like on the section above), and it's
invocation is identical like ``fs-uae`` binary:
.. code:: shell-session .. code:: shell-session
@@ -73,9 +82,9 @@ directly in fs-uae configuration or passed as an option:
.. code:: ini .. code:: ini
[config] [config]
... # ...
wrapper = cd32 wrapper = cd32
... # ...
or or
@@ -89,15 +98,19 @@ specific module will be loaded and depending on the module, there would be
performed specific tasks before ``fs-uae`` is launched and after it. performed specific tasks before ``fs-uae`` is launched and after it.
Assumption is, that configuration file are written in portable way, so the are Assumption is, that configuration file are written in portable way, so the are
saved as `relative configuration file`_ (hence the name ``Config.fs-uae``, even saved as `relative configuration file`_ (hence the name ``Config.fs-uae``),
if the are named differently. If certain wrapper is specified, it will create even if the are named differently. If certain wrapper is specified, it will
temporary directory and place the configuration file there as create temporary directory and place the configuration file there as
``Config.fs-uae``. ``Config.fs-uae``.
If no ``wrapper`` option would be passed either as an config option or If no ``wrapper`` option would be passed either as an config option or
command line argument, all command line options will be passed to the fs-uae command line argument, all command line options will be passed to the fs-uae
executable as-is. executable as-is.
Note, that you can also pass all *wrapper* options via commandline in the very
same way as you can pass config options to `fs-uae`, so you don't have to
modify original configuration if you don't want to.
There is also new config variable introduced: ``$WRAPPER`` which have the same There is also new config variable introduced: ``$WRAPPER`` which have the same
role as ``$CONFIG``, but apply for copied config. For instance - in module role as ``$CONFIG``, but apply for copied config. For instance - in module
archive there are filesystem extracted to new location - to access this archive there are filesystem extracted to new location - to access this
@@ -108,7 +121,7 @@ a config option:
[config] [config]
wrapper = archive wrapper = archive
... # ...
hard_drive_0 = $WRAPPER/my_hardrive hard_drive_0 = $WRAPPER/my_hardrive
@@ -118,7 +131,7 @@ directory, where configuration will be copied.
Modules Modules
======= =======
Currently, three wrapper modules are available: Currently, couple of wrapper modules are available:
- plain - plain
- cd32 - cd32
@@ -149,7 +162,7 @@ Options used:
* ``wrapper_gui_msg`` (optional) if set to "1", will display a graphical * ``wrapper_gui_msg`` (optional) if set to "1", will display a graphical
message during extracting files message during extracting files
* ``wrapper_save_state`` (optional) if set to "1", will load/archive save state * ``wrapper_save_state`` (optional) if set to "1", will load/archive save state
directory, defined as ``$CONFIG/[save-state-dir-name]`` using provided directory, defined as ``$WRAPPER/[save-state-dir-name]`` using provided
``wrapper_archiver`` archiver. If this option is enabled, ``wrapper_archiver`` archiver. If this option is enabled,
``wrapper_archiver`` will be required. ``wrapper_archiver`` will be required.
@@ -170,11 +183,11 @@ fragment of configuration file is saved as ``ChaosEngine.fs-uae``:
cdrom_drive_0 = Chaos Engine, The (1994)(Renegade)(M4)[!][CDD3445].cue cdrom_drive_0 = Chaos Engine, The (1994)(Renegade)(M4)[!][CDD3445].cue
save_states_dir = $CONFIG/fs-uae-save/ save_states_dir = $WRAPPER/fs-uae-save/
joystick_port_1_mode = cd32 gamepad joystick_port_1_mode = cd32 gamepad
platform = cd32 platform = cd32
... # ...
Command line invocation of the wrapper would be as follows: Command line invocation of the wrapper would be as follows:
@@ -186,7 +199,7 @@ Now, there several thing will happen:
- Config file will be read, and wrapper module will be found - Config file will be read, and wrapper module will be found
- New temporary directory will be created - New temporary directory will be created
- Archive with game assists will be extracted in that directory - Archive with game assets will be extracted in that directory
- Configuration file will be copied into that directory, and renamed to - Configuration file will be copied into that directory, and renamed to
``Config.fs-uae`` ``Config.fs-uae``
- If ``wrapper_save_state`` is set, and there is saved state archive, it also - If ``wrapper_save_state`` is set, and there is saved state archive, it also
@@ -215,7 +228,7 @@ Options used:
* ``wrapper_persist_data`` (optional) if set to "1", will compress (possibly * ``wrapper_persist_data`` (optional) if set to "1", will compress (possibly
changed) data, replacing original archive changed) data, replacing original archive
* ``wrapper_save_state`` (optional) if set to "1", will archive save state * ``wrapper_save_state`` (optional) if set to "1", will archive save state
directory, defined as ``$CONFIG/[save-state-dir-name]`` using provided directory, defined as ``$WRAPPER/[save-state-dir-name]`` using provided
``wrapper_archiver`` archiver. If this option is enabled, ``wrapper_archiver`` archiver. If this option is enabled,
``wrapper_archiver`` will be required. ``wrapper_archiver`` will be required.
@@ -237,7 +250,7 @@ Example configuration:
wrapper_gui_msg = 1 wrapper_gui_msg = 1
wrapper_persist_data = 1 wrapper_persist_data = 1
wrapper_save_state = 1 wrapper_save_state = 1
... # ...
And execution is as usual: And execution is as usual:
@@ -276,12 +289,11 @@ set to value ``1`` in this module.
Example configuration: Example configuration:
.. code:: ini .. code:: ini
:number-lines:
[config] [config]
wrapper = savestate wrapper = savestate
wrapper_archiver = 7z wrapper_archiver = 7z
... # ...
And execution is as usual: And execution is as usual:
@@ -312,3 +324,4 @@ This work is licensed on 3-clause BSD license. See LICENSE file for details.
.. _lzx: http://aminet.net/package/misc/unix/unlzx.c.readme .. _lzx: http://aminet.net/package/misc/unix/unlzx.c.readme
.. _tar: https://www.gnu.org/software/tar/ .. _tar: https://www.gnu.org/software/tar/
.. _zip: http://www.info-zip.org .. _zip: http://www.info-zip.org
.. _CheeseShop: https://pypi.python.org/pypi/fs-/fs-uae-wrapperuae-wrapper

View File

@@ -7,12 +7,12 @@ from setuptools import setup
setup(name='fs-uae-wrapper', setup(name='fs-uae-wrapper',
packages=['fs_uae_wrapper'], packages=['fs_uae_wrapper'],
version='0.8', version='0.8.1',
description='Automate archives and state for fs-uae', description='Automate archives and state for fs-uae',
author='Roman Dobosz', author='Roman Dobosz',
author_email='gryf73@gmail.com', author_email='gryf73@gmail.com',
url='https://github.com/gryf/fs-uea-wrapper', url='https://github.com/gryf/fs-uea-wrapper',
download_url='https://github.com/gryf/pygtktalog.git', download_url='https://github.com/gryf/fs-uae-wrapper/archive/master.zip',
keywords=['uae', 'fs-uae', 'amiga', 'emulator', 'wrapper'], keywords=['uae', 'fs-uae', 'amiga', 'emulator', 'wrapper'],
scripts=['script/fs-uae-wrapper'], scripts=['script/fs-uae-wrapper'],
classifiers=['Programming Language :: Python :: 2', classifiers=['Programming Language :: Python :: 2',