1
0
mirror of https://github.com/gryf/e-uae-wrapper.git synced 2026-02-07 09:35:45 +01:00

Readme update

This commit is contained in:
2018-02-18 11:52:47 +01:00
parent 3a21a800fb
commit 0bfea99d00

View File

@@ -2,14 +2,181 @@
E-UAE Wrapper
=============
This little utility is a wrapper on old E-UAE_ emulator, to help divide
configuration to common and specific per ``.uaerc`` configuration, and combine
them together during runtime.
This utility is a wrapper on old E-UAE_ emulator, to help divide configuration
to common and specific per ``.uaerc`` configuration, and combine them together
during runtime.
Global (a common) config file will reside on ``XDG_CONFIG_HOME/e-uaerc``, and
supports following options:
(TODO)
Requirements
============
- Python (2 or 3)
- `e-uae`_
e-uae-wrapper supports several types of archives:
- `7z`_
- `lha`_
- `lzx`_ - decompress only
- `rar`_ - if only ``unrar`` is available, than only decompression is supported
- `tar`_, also compressed with:
- bzip2
- gzip
- xz
- `zip`_
All of those formats should have corresponding software available in the
system, otherwise archive extraction/compression will fail.
Configuration
=============
Optional, global (a common) config file will be searched on
``XDG_CONFIG_HOME/e-uae.ini``, (usually at ``~/.config/e-uae.ini`` and supports
anthing, which could be used for templating, ie paths to roms, floppies,
harddrives etc. Anything which might be treated as a common variables for all
avalialbel ``.uaerc`` configs. For example:
.. code:: ini
[config]
wrapper_kickstart_path = /home/user/Amiga/kickstart
and with corresponding e-uae configuration (i.e. ``.uaerc``), it can be used
like:
.. code::
config_description=UAE default configuration
config_hardware=false
config_host=false
config_version=0.8.29
...
kickstart_rom_file={{wrapper_kickstart_path}}/kick.rom
Note, that such options should always start with ``wrapper`` word, and in
``.uaerc`` has to be enclosed with curly braces, like in the example above.
There are two additional build-in options which can be used in templates:
* ``wrapper_tmp_path`` - which points to the path, where ``.uaerc`` is
generated, and potentially archives are extracted
* ``wrapper_config_path`` - which point to the absolute path, where passed by
the commandline configuration (``.uaerc``) is placed.
All wrapper options which name contain *path* word will be treatead as paths,
and as a consequence will be replaced with full path to the item, for example:
.. code::
wrapper_foo_path=/some/filepath
filesystem=rw,HD:{{wrapper_foo_path}}../otherpath/hd
will become:
.. code::
filesystem=rw,HD:/some/otherpath/hd
Note, that using templates like ``{{wrapper_foo_path}}/otherpath/hd`` will
create path ``/otherpath/hd`` instead of ``/some/filepath/otherpath/hd``
because of how ``os.path.join`` work. Be careful on using ``/`` in paths.
Installation
============
It's alfa stage of the development, so that it is not easy way to do the
installation yet. However, to use it, it's enough to clone this repository,
copy ``scripts/e-uae-wrapper`` to sowhere in the ``PATH`` and point
``PYTHONPATH`` to ``e_uae_wrapper``, like:
.. code:: shell-session
$ git clone https://github.com/gryf/e-uae-wrapper
$ mkdir ~/bin
$ export PATH=$PATH:$HOME/bin
$ export PYTHONPATH=$PYTHONPATH:$(pwd)/e-uae-wrapper
Usage
=====
The usage is simple. Prepare some ``.uaerc`` file as described above, use
command ``e-uae-wrapper`` with configuration passed as an argument:
.. code:: shell-session
$ e-uae-wrapper uaerc-config-file
Modules
=======
There are following modules currently implemented:
- plain
- archive
Plain
-----
This module is simply for running emulator with template usage. It makes easy
to put relative paths in ``.uaerc`` configuration.
Options used:
* None
archive
-------
This module is quite useful in two use cases. First is a usual work with
Workbench, where there is a need to keep changes of filesystem. Second is the
opposite - if there is a need to test some software, but not necessary keep it
in a Workbench, than it will act as a temporary copy of the system, so that
next time e-uae will be run, there will be no files of tested software
cluttering around.
Options used:
* ``wrapper`` (required) with ``archive`` as an value
* ``wrapper_archive`` (required) path to the archive with assets (usually means
whole system directories, floppies or hard disk images)
* ``wrapper_gui_msg`` (optional) if set to "1", will display a graphical
message during extracting files
* ``wrapper_persist_data`` (optional) if set to "1", will compress (possibly
changed) data, replacing original archive
Example configuration:
.. code::
config_description=UAE default configuration
wrapper=archive
wrapper_archive=Workbench_3.1.tar.bz2
wrapper_archiver=lha
wrapper_gui_msg=1
wrapper_persist_data=1
# ...
And execution is as usual:
.. code:: shell-session
$ e-uae-wrapper Workbench.fs-uae
This module will do several steps:
- create temporary directory
- extract provided in configuration archive
- copy configuration under name ``.uaerc``
- run the e-uae emulator
- optionally create new archive under the same name as the original one and
replace it with original one.
License
=======
@@ -17,3 +184,11 @@ License
This work is licensed on 3-clause BSD license. See LICENSE file for details.
.. _e-uae: http://www.rcdrummond.net/uae/
.. _relative configuration file: https://fs-uae.net/configuration-files
.. _rar: http://www.rarlab.com/rar_add.htm
.. _7z: http://p7zip.sourceforge.net/
.. _lha: http://lha.sourceforge.jp
.. _lzx: http://aminet.net/package/misc/unix/unlzx.c.readme
.. _tar: https://www.gnu.org/software/tar/
.. _zip: http://www.info-zip.org
.. _CheeseShop: https://pypi.python.org/pypi/fs-/fs-uae-wrapperuae-wrapper