Commit graph

64 commits

Author SHA1 Message Date
G Derber
f7761fd635
Add ability to differentiate group ownership from user ownership. 2024-08-06 09:38:25 -04:00
Jools Wills
f330a8987b amiberry - Update to v5.1 and rework amiberry/uae4all modules
Update amiberry version to v5.1 tag

Remove no longer needed libxml2-dev dependency

Add patch for amiberry Makefile so it doesn't override our CFLAGS/CPPFLAGS/LDFLAGS

Remove -O3 from Makefile so it uses our default optimisation level. Previously this was -Ofast but from my own testing -O2 with our compiler flags works best.

Modify build_amiberry with updated paths for caps bootstrap/configure. Override CPUFLAGS for amiberry, so our flags are used, rather than the ones hard-coded into the Makefile.

Include abr and kickstarts folder in install_amiberry. The kickstarts folder includes a freely distributable AROS rom, so let's include it.

Symlink cd32.nvr from "$md_inst/data" to "$md_conf_root/amiga/amiberry" so it's writable by amiberry.

Split uae4arm's shared configure function out so uae4arm and amiberry now only share the launcher code. There is a small amount of duplication with some folder creation in configure_amiberry but it makes sense to split them due to the new amiberry changes.

Rework uae4arm/amiberry configure functions to simplify logic and remove nesting by changing order of calls.

Change the addEmulator calls in uae4arm and amiberry due to parameter ordering changes in the shared launcher script.

Move rom location for amiberry/uae4arm/uae4all to $biosdir/amiga

Create update hook to move / symlink kickstart ROMs from $biosdir to $biosdir/amiga

Add .lha to module description extensions

Added .chd extension to platforms.cfg

Rework the logic in the shared launcher script:

 * Instead of setting EMULATOR variable via sed in uae4arm/amiberry we just change "use_amiberry=0" to "use_amiberry=1" in configure_amiberry.
 * Argument ordering is changed to simplify the logic. Previously the launch script expected [CONFIG] [ROM/GAME], and setting [CONFIG] to auto or "" would handle it automatically. Now it uses [ROM/GAME] [ARGS]. As passing in a configuration was optional, it made it simpler just to have the ROM first, and then allow additional arguments to be sent to the emulator.
 * We now build up an parameters array which avoids duplication and simplifies the code - There is only a single call to launch uae4arm/amiberry with the processed parameters.
 * Switched to using the amiberry --model parameter over our previous rp-a500.uae/rp-a1200.uae configs. Users who have set a particular rom to use amiberry-a500/amiberry-a1200 will still get the same functionality but it will instead use --model A500/A1200. A per rom .uae config can still be saved with customised settings for an adf etc.
 * added support for .chd files for amiberry

How uae4arm.sh handles launching:

 * If the first argument (ROM/GAME) is a .cue or .lha file, and we are launching amiberry, use amiberry's --autoload function.
 * Otherwise if a rom argument is present, see if it's an archive (only zip supported currently). If it is, unpack all known disk image extensions from the archive attach each one as floppy drive arguments (-0 / -1 / -2 etc)
 * If it's not an archive, treat it as a disk image itself, and try and find additional files starting with the same name (eg Game_Disk1/Game_Disk2) and attach them as floppy drive arguments.
 * We then check if there is a .uae config file with the same name as the ROM argument in the ROM's folder or in amiberry's conf folder.
 * If there isn't we will try and use a config based on the filename. For uae4arm it will use the pre-installed rp-a500.uae config by default and rp-a1200.uae for any files containing AGA or CD32. For amiberry we use the --model parameter which chooses a default config based on argument. By default we use A500, but switch to A500P if a file contains ECS and A1200 if a file contains AGA, and CD32/CDTV if those strings are included also (Although cd images are handled separately so this may not be too useful).
 * We always set -G to not show the GUI when the first argument is present - to override this the first argument can be blank and manual parameters can be used (or the amiberry executable can just be used directly)
2022-05-03 19:11:45 +01:00
Jools Wills
4816c9a289 update emulators to use setBackend and new sdl1/sdl2 flags 2021-04-19 03:30:09 +01:00
Jools Wills
b965f21e46 emulators - added rp_module_repo to emulators using git
Also fixed hatari licence link
2021-02-15 23:54:13 +00:00
Jools Wills
6af5c2047b updated module flags for all emulators 2020-02-22 08:23:26 +00:00
Jools Wills
f22f92d13e helpers / downloadAndExtract - allow additional parameters for both tar and unzip
* change existing calls which used --strip-components
 * use multiple parameters for arguments which should allow additional arguments with spaces
 * implements #2630
2019-02-27 06:36:28 +00:00
Hugo Hromic
e9e110ec92 uae4all - move/rebase in-line patch into file 2018-08-22 17:52:50 +01:00
Jools Wills
518b888eab disable some modules (rpi1 / sdl1 etc) from the kms platform 2017-11-02 19:49:59 +00:00
Jools Wills
42fd198875 helpers - added downloadAndExtract function for use in modules
* replace many of the existing wget | tar commands with the new function
 * include error logging in the function via runCmd, to trap download/unpacking issues
2017-08-10 20:45:49 +01:00
Conn
9405715960 Amiga: remove emulator ROM scripts correctly on uninstall
Applies to uae4all, uae4arm & amiberry scripts.
2017-07-15 08:35:42 +01:00
Jools Wills
5926524aff added licences to modules 2017-03-01 13:51:12 +00:00
Jools Wills
87c8b439f6 roms -> games in module help for machines that generally don't run games from rom (the term rom is horribly misused online). 2017-01-28 00:06:08 +00:00
Jools Wills
e64e27d79e exts/name are addSystem parameters - move to platforms.cfg also / fix some typos 2017-01-06 00:57:37 +00:00
Jools Wills
eda4f61136 updated all modules to use addEmulator / addSystem 2016-12-31 02:49:04 +00:00
Jools Wills
bee63546cf don't rely on executable permissions for launching .sh scripts - use bash directly 2016-10-20 03:25:46 +01:00
Jools Wills
1998481d37 uae4all - move guichan to our own server as original location moved 2016-10-01 13:36:57 +01:00
Jools Wills
f6c5b9dd93 uae4all - fix kickstarts being updated on upgrade 2016-09-21 19:00:55 +01:00
Jools Wills
7b66cfe3b9 uae4arm - put the libmpeg123 dependency in the correct module! 2016-08-22 22:30:37 +01:00
Jools Wills
0016678797 uae4all - missing libmpg123-dev dependency 2016-08-22 21:05:52 +01:00
Jools Wills
e385457a7b cosmetic - remove trailing spaces in copyright 2016-08-11 03:23:30 +01:00
Jools Wills
dceff63856 helpers - applyPatch
* make applyPatch support patches via stdin
 * update modules to use applyPatch
2016-08-07 10:38:59 +01:00
Jools Wills
f6afbc8b29 uae4all - fix wrong path for removing old kickstart symlinks 2016-07-20 21:42:53 +01:00
Jools Wills
f30c196f81 uae4all - rework install / move config folders to $md_conf_root/uae4all 2016-07-20 21:40:26 +01:00
HerbFargus
2305567978 cosmetic 2016-06-11 00:20:29 -06:00
HerbFargus
86da2c00bc finish docs for the rest of the emulators 2016-06-11 00:14:31 -06:00
HerbFargus
ae97909192 Add help docs to emulator and libretro modules 2016-06-10 14:54:23 -06:00
Jools Wills
889f8ecdfa Initial rewrite of the setup menu, including per package/module management
* rp_module_menus is no more - instead use rp_module_section with one of
   - core (core packages)
   - main (main packages - which will be installed by default in the image)
   - opt (optional packages)
   - exp (experimental packages)
   - driver (driver packages)
   - config (configuration packages / tools)

 * The setup menu organises the data based on the above sections. more could be added in the future if needed. Packages (internally modules), can be added / configured / removed individually, or as entire sections.

 * The setup menu will automatically detect if a binary is available to be installed. the nobin flag is no longer needed. modules that install directly from binary via aptInstall or via a prebuilt binary need to use an install_bin_ function instead of install_

 * rp_module_section of type "config" will have the "gui_" function called first if it's available, otherwise a standard depends/sources/build/install/configure will be called

 * configure is no longer used for "gui" configuration function - use gui_ instead. Had already started to move to this before, but now it is required.
2016-06-06 22:08:36 +01:00
Jools Wills
83e41785aa tweak some platform flags to play nicely with the new rpi3 platform 2016-02-29 17:39:37 +00:00
Jools Wills
184dda8c8e use !mali instead of !odroid 2016-01-17 00:36:03 +00:00
Jools Wills
c6423c753d use isPlatform for platform flag checking so we can do !rpi or !odroid
disable rpi emulators on odroid
2016-01-04 03:49:11 +00:00
gizmo98
d3205a7251 disable modules with rpi optimizations for now 2015-12-24 14:45:32 +01:00
Jools Wills
803446b055 no need for runcommand in uae4all/uae4arm launch scripts (launched via runcommand from ES) 2015-10-15 01:42:29 +01:00
Jools Wills
d7f843d473 copyright sp / minor wording tweak 2015-10-12 00:09:22 +01:00
Florian
db0dd30692 CHG: Updated copyright information. 2015-10-11 21:03:16 +02:00
Jools Wills
ce8ede4def updated licence url (to RetroPie org). Remove . at end of licence url to avoid any confusion 2015-06-16 16:41:34 +01:00
Jools Wills
33ef0520f2 moved repositories from joolswills to RetroPie organisation. 2015-06-16 16:29:44 +01:00
Florian
4df425c338 CHG: Updated header information 2015-03-28 06:19:16 +01:00
Florian
aab7fbd52d CHG: Added license information to all files 2015-03-27 17:28:38 +01:00
Jools Wills
3f8c1395d9 use addSystem for uae4all. Move start script to roms folder to allow easy access to users. change naming to match other emulators with "+Start" 2015-03-24 17:26:49 +00:00
Jools Wills
d9217ac885 missing data from uae4all 2015-02-13 08:02:05 +00:00
Jools Wills
9f843cb156 added missing runcommand to uae4all start script 2015-02-13 04:42:58 +00:00
Jools Wills
a2962b9f54 uae4all (2) - finally a decent Amiga emulator for the Pi. Runs very nicely on a pi2. Doesn't have the ability (yet) to launch with parameters, so we have a simple "Start.txt"
to launch it, but the gui is easy to use and a massive improvement over the older emulator. Ships with a free AROS kickstart which is fine for playing many games etc.
kick13.rom / kick20.rom / kick31.rom can be optionally placed in ~/RetroPie/BIOS folder
2015-02-13 03:19:58 +00:00
Jools Wills
f6fe031030 enable dispmanx by default for uae4all #247 2015-01-13 19:37:24 +00:00
Jools Wills
afa61f58a0 styleguide changes:
* some errors fixed from previous styleguide fixes
 * some missed [ ]
2015-01-11 17:28:57 +00:00
Jools Wills
f937baa863 rename checkNeededPackages to getDepends 2015-01-08 22:03:12 +00:00
Jools Wills
be9a24e534 %ROM% sends the whole path, so we don't need to prefix it in the startAmigaDisk.sh script 2015-01-05 22:41:42 +00:00
Jools Wills
6274904038 the startAmigaDisk.sh was incorrectly quoted, so $1 became "" etc. Now quoted, and made a bit safer so if nothing passed in no symlink is generated.
moved runcommand to the script, as it simplified things, and makes the script a useful standalone
2015-01-05 22:37:28 +00:00
Jools Wills
0582fd3f00 add dispmanx flag to more sdl framebuffer based emulator modules 2015-01-02 20:26:43 +00:00
Jools Wills
1d9f781ebd add an additional parameter for runcommand which will be used for saving of the video output mode and display in the menu.
we pass the module id in, which is short and should be clear to the user if manually fiddling with the config. if the parameter is
empty, it the name of the binary will be used
2014-12-29 16:16:08 +00:00
Jools Wills
49d8866ff9 added "runcommand.sh" to emulators that missed it so that they can benefit from user configured video output switching 2014-12-29 14:58:23 +00:00