5.2 KiB
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
Python (2 or 3)
e-uae-wrapper supports several types of archives:
lzx - decompress only
rar - if only unrar is available, than only decompression is supported
tar, also compressed with:
bzip2
gzip
xz
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.