1
0
mirror of https://github.com/gryf/e-uae-wrapper.git synced 2026-02-07 01:15:46 +01:00
2018-02-15 17:50:04 +01:00
2018-02-15 17:50:27 +01:00
2018-02-15 17:50:04 +01:00
2018-02-18 11:57:01 +01:00

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.

Requirements

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:

[config]
wrapper_kickstart_path = /home/user/Amiga/kickstart

and with corresponding e-uae configuration (i.e. .uaerc), it can be used like:

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:

wrapper_foo_path=/some/filepath
filesystem=rw,HD:{{wrapper_foo_path}}../otherpath/hd

will become:

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:

$ 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:

$ 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:

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:

$ 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

This work is licensed on 3-clause BSD license. See LICENSE file for details.

Description
Handle archives and paths for e-uae
Readme Multiple Licenses 131 KiB
Languages
Python 100%