diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 96ace103d..72fca903f 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -10,9 +10,9 @@ If you haven't already, come find us in one of these platforms:
Bug reporting is an important part of making Amiberry better. If you believe you have found a bug, then please follow these steps:
-* **Ensure the bug has not already been reported.** Check the existing Github [Issues](https://github.com/midwan/amiberry/issues).
+* **Ensure the bug has not already been reported.** Check the existing Github [Issues](https://github.com/BlitterStudio/amiberry/issues).
-* If you're unable to find an open issue that addresses the problem, [open a new one](https://github.com/midwan/amiberry/issues/new).
+* If you're unable to find an open issue that addresses the problem, [open a new one](https://github.com/BlitterStudio/amiberry/issues/new).
Be sure to include a **title and clear description**, as much relevant information as possible and **steps to recreate** the problem.
* Please use the relevant **bug report template** to create the issue. It was designed to help you fill in what we need, in order to locate
diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml
index 729ca48be..f6858c210 100644
--- a/.github/workflows/c-cpp.yml
+++ b/.github/workflows/c-cpp.yml
@@ -96,7 +96,7 @@ jobs:
name: amiberry-macOS-64bit-apple-silicon
path: amiberry-${{ github.ref_name }}-macOS-apple-silicon.zip
- build-debian-bullseye-x86_64:
+ build-debian-bullseye-amd64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -113,10 +113,10 @@ jobs:
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
- name: amiberry-debian-bullseye-x86_64
+ name: amiberry-debian-bullseye-amd64
path: amiberry_*.deb
- build-debian-bookworm-x86_64:
+ build-debian-bookworm-amd64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -133,10 +133,10 @@ jobs:
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
- name: amiberry-debian-bookworm-x86_64
+ name: amiberry-debian-bookworm-amd64
path: amiberry_*.deb
- build-debian-bookworm-aarch64:
+ build-debian-bookworm-arm64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -153,7 +153,7 @@ jobs:
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
- name: amiberry-debian-bookworm-aarch64
+ name: amiberry-debian-bookworm-arm64
path: amiberry_*.deb
build-debian-bookworm-armhf:
@@ -176,7 +176,7 @@ jobs:
name: amiberry-debian-bookworm-armhf
path: amiberry_*.deb
- build-debian-bullseye-aarch64:
+ build-debian-bullseye-arm64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -193,7 +193,7 @@ jobs:
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
- name: amiberry-debian-bullseye-aarch64
+ name: amiberry-debian-bullseye-arm64
path: amiberry_*.deb
build-debian-bullseye-armhf:
@@ -217,7 +217,7 @@ jobs:
path: amiberry_*.deb
create-release:
- needs: [build-macOS-x86_64, build-macOS-Apple-Silicon, build-debian-bookworm-x86_64, build-debian-bookworm-aarch64, build-debian-bookworm-armhf, build-debian-bullseye-x86_64, build-debian-bullseye-aarch64, build-debian-bullseye-armhf]
+ needs: [build-macOS-x86_64, build-macOS-Apple-Silicon, build-debian-bookworm-amd64, build-debian-bookworm-arm64, build-debian-bookworm-armhf, build-debian-bullseye-amd64, build-debian-bullseye-arm64, build-debian-bullseye-armhf]
runs-on: ubuntu-latest
if: github.ref_type == 'tag' && startsWith(github.ref_name, 'v')
steps:
@@ -244,15 +244,15 @@ jobs:
artifacts: |
amiberry-macOS-64bit-intel/amiberry-${{ github.ref_name }}-macOS-x86_64.zip
amiberry-macOS-64bit-apple-silicon/amiberry-${{ github.ref_name }}-macOS-apple-silicon.zip
- amiberry-debian-bookworm-x86_64/amiberry_*.deb
- amiberry-debian-bookworm-aarch64/amiberry_*.deb
+ amiberry-debian-bookworm-amd64/amiberry_*.deb
+ amiberry-debian-bookworm-arm64/amiberry_*.deb
amiberry-debian-bookworm-armhf/amiberry_*.deb
- amiberry-debian-bullseye-x86_64/amiberry_*.deb
- amiberry-debian-bullseye-aarch64/amiberry_*.deb
+ amiberry-debian-bullseye-amd64/amiberry_*.deb
+ amiberry-debian-bullseye-arm64/amiberry_*.deb
amiberry-debian-bullseye-armhf/amiberry_*.deb
create-prerelease:
- needs: [build-macOS-x86_64, build-macOS-Apple-Silicon, build-debian-bookworm-x86_64, build-debian-bookworm-aarch64, build-debian-bookworm-armhf, build-debian-bullseye-x86_64, build-debian-bullseye-aarch64, build-debian-bullseye-armhf]
+ needs: [build-macOS-x86_64, build-macOS-Apple-Silicon, build-debian-bookworm-amd64, build-debian-bookworm-arm64, build-debian-bookworm-armhf, build-debian-bullseye-amd64, build-debian-bullseye-arm64, build-debian-bullseye-armhf]
runs-on: ubuntu-latest
if: github.ref_type == 'tag' && startsWith(github.ref_name, 'preview-v')
steps:
@@ -280,9 +280,9 @@ jobs:
artifacts: |
amiberry-macOS-64bit-intel/amiberry-${{ github.ref_name }}-macOS-x86_64.zip
amiberry-macOS-64bit-apple-silicon/amiberry-${{ github.ref_name }}-macOS-apple-silicon.zip
- amiberry-debian-bookworm-x86_64/amiberry_*.deb
- amiberry-debian-bookworm-aarch64/amiberry_*.deb
+ amiberry-debian-bookworm-amd64/amiberry_*.deb
+ amiberry-debian-bookworm-arm64/amiberry_*.deb
amiberry-debian-bookworm-armhf/amiberry_*.deb
- amiberry-debian-bullseye-x86_64/amiberry_*.deb
- amiberry-debian-bullseye-aarch64/amiberry_*.deb
+ amiberry-debian-bullseye-amd64/amiberry_*.deb
+ amiberry-debian-bullseye-arm64/amiberry_*.deb
amiberry-debian-bullseye-armhf/amiberry_*.deb
diff --git a/.gitignore b/.gitignore
index 9ad7744ea..4b908019a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,8 +3,8 @@
### Amiberry files ###
conf/*.uae
conf/*.conf
-kickstarts/*.rom
-kickstarts/*.key
+roms/*.rom
+roms/*.key
/amiberry*
### VisualGDB ###
@@ -227,3 +227,4 @@ cmake-build-release-remote-host
cmake-build-debug-opengl
cmake-build-*
_CPack_Packages
+.idea
diff --git a/.idea/.gitignore b/.idea/.gitignore
deleted file mode 100644
index 13566b81b..000000000
--- a/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/.idea/editor.xml b/.idea/editor.xml
deleted file mode 100644
index b0d69ef62..000000000
--- a/.idea/editor.xml
+++ /dev/null
@@ -1,483 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0ad4b83dd..bcfc7f13e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -480,72 +480,53 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
install(TARGETS ${PROJECT_NAME} BUNDLE DESTINATION .)
else ()
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
+
# Install additional directories
- install(DIRECTORY ${CMAKE_SOURCE_DIR}/cdroms
- DESTINATION share/${PROJECT_NAME}
- )
- install(DIRECTORY ${CMAKE_SOURCE_DIR}/conf
- DESTINATION share/${PROJECT_NAME}
- )
+ # This one contains the gamecontrollersdb.txt file
install(DIRECTORY ${CMAKE_SOURCE_DIR}/controllers
DESTINATION share/${PROJECT_NAME}
)
+ # This one contains the data files
install(DIRECTORY ${CMAKE_SOURCE_DIR}/data
DESTINATION share/${PROJECT_NAME}
)
- install(DIRECTORY ${CMAKE_SOURCE_DIR}/floppies
- DESTINATION share/${PROJECT_NAME}
- )
- install(DIRECTORY ${CMAKE_SOURCE_DIR}/harddrives
+ # This one contains the AROS kickstart files
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/roms
DESTINATION share/${PROJECT_NAME}
)
- install(DIRECTORY ${CMAKE_SOURCE_DIR}/inputrecordings
- DESTINATION share/${PROJECT_NAME}
- )
- install(DIRECTORY ${CMAKE_SOURCE_DIR}/kickstarts
- DESTINATION share/${PROJECT_NAME}
- )
- install(DIRECTORY ${CMAKE_SOURCE_DIR}/lha
- DESTINATION share/${PROJECT_NAME}
- )
- install(DIRECTORY ${CMAKE_SOURCE_DIR}/nvram
- DESTINATION share/${PROJECT_NAME}
- )
- install(DIRECTORY ${CMAKE_SOURCE_DIR}/plugins
- DESTINATION share/${PROJECT_NAME}
- )
- install(DIRECTORY ${CMAKE_SOURCE_DIR}/savestates
- DESTINATION share/${PROJECT_NAME}
- )
- install(DIRECTORY ${CMAKE_SOURCE_DIR}/screenshots
- DESTINATION share/${PROJECT_NAME}
+ # This one contains the plugins
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/plugins/abr
+ DESTINATION lib/${PROJECT_NAME}
)
+ # This one contains the whdboot files
install(DIRECTORY ${CMAKE_SOURCE_DIR}/whdboot
DESTINATION share/${PROJECT_NAME}
)
- # Install shared libraries
- install(FILES ${CMAKE_BINARY_DIR}/external/floppybridge/libfloppybridge.so
- DESTINATION share/${PROJECT_NAME}/plugins
- )
- install(FILES ${CMAKE_BINARY_DIR}/external/capsimage/libcapsimage.so
- DESTINATION share/${PROJECT_NAME}/plugins
- )
-
# Install desktop file
install(FILES ${CMAKE_SOURCE_DIR}/data/Amiberry.desktop
DESTINATION share/applications
)
+ # Install icon
+ install(FILES ${CMAKE_SOURCE_DIR}/data/amiberry.png
+ DESTINATION share/icons/hicolor/256x256/apps
+ )
+ # Install Debian files
+ install(FILES ${CMAKE_SOURCE_DIR}/debian/changelog.gz
+ DESTINATION share/doc/${PROJECT_NAME}
+ )
+ install(FILES ${CMAKE_SOURCE_DIR}/debian/copyright
+ DESTINATION share/doc/${PROJECT_NAME}
+ )
endif ()
-include(InstallRequiredSystemLibraries)
-
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(CPACK_GENERATOR "Bundle")
set(CPACK_BUNDLE_NAME "Amiberry")
set(CPACK_BUNDLE_PLIST ${CMAKE_SOURCE_DIR}/Info.plist)
set(CPACK_BUNDLE_APPLE_ENTITLEMENTS ${CMAKE_SOURCE_DIR}/Entitlements.plist)
set(CPACK_BUNDLE_ICON ${CMAKE_SOURCE_DIR}/data/amiberry.png)
+ set(CPACK_STRIP_FILES "YES")
else()
set(CPACK_GENERATOR "DEB")
set(CPACK_SOURCE_IGNORE_FILES .git/ .github/ .vscode/ _CPack_Packages/)
@@ -557,12 +538,26 @@ else()
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
SET(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/docs/README.md")
SET(CPACK_DEBIAN_PACKAGE_NAME ${CMAKE_PROJECT_NAME})
+ if (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
+ SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "arm64")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
+ SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "armhf")
+ else()
+ SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
+ endif()
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://amiberry.com")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Dimitris Panokostas ") # Required
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.27), libstdc++6 (>= 8.3.0), libsdl2-2.0-0, libsdl2-image-2.0-0, libsdl2-ttf-2.0-0, flac, libmpg123-0, libpng16-16, zlib1g, libserialport0, libportmidi0, libmpeg2-4") # Adjust dependencies as needed
- set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "Amiberry is an optimized Amiga emulator various platforms.")
- set(CPACK_DEBIAN_PACKAGE_SECTION "games")
+ set(CPACK_DEBIAN_PACKAGE_DESCRIPTION
+"Optimized Amiga emulator for various ARM, ARM64, AMD64 and RISC-V platforms.
+Amiberry is an optimized Amiga emulator for various platforms. It is based on
+the latest WinUAE and supports various Amiga models, including the A4000T,
+A4000D, A1200, A3000 and A600. Additionally, it includes several unique
+features, such as support for WHDLoad titles, RetroArch integration, custom
+Controller Mappings and more.")
+ set(CPACK_DEBIAN_PACKAGE_SECTION "otherosfs")
set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT")
+ set(CPACK_STRIP_FILES "YES")
endif()
include(CPack)
diff --git a/conf/amiberry-osx.conf b/conf/amiberry-osx.conf
index 29c40ff34..c6d552dab 100644
--- a/conf/amiberry-osx.conf
+++ b/conf/amiberry-osx.conf
@@ -4,7 +4,7 @@ controllers_path=USERDIR/Documents/Amiberry/Controllers/
retroarch_config=USERDIR/Documents/Amiberry/Configurations/retroarch.cfg
whdboot_path=USERDIR/Documents/Amiberry/Whdboot/
logfile_path=USERDIR/Documents/Amiberry/amiberry.log
-rom_path=USERDIR/Documents/Amiberry/Kickstarts/
+rom_path=USERDIR/Documents/Amiberry/Roms/
floppy_sounds_dir=USERDIR/Documents/Amiberry/Data/Floppy_Sounds/
data_dir=USERDIR/Documents/Amiberry/Data/
saveimage_dir=USERDIR/Documents/Amiberry/Savestates/
diff --git a/conf/gamecontrollerdb.txt b/controllers/gamecontrollerdb.txt
similarity index 100%
rename from conf/gamecontrollerdb.txt
rename to controllers/gamecontrollerdb.txt
diff --git a/data/Amiberry.desktop b/data/Amiberry.desktop
index 5bfab694a..5a0349eda 100644
--- a/data/Amiberry.desktop
+++ b/data/Amiberry.desktop
@@ -9,14 +9,17 @@ Version = 1.0
# The name of the application
Name = Amiberry
+GenericName = Amiga Emulator
+
# A comment which can/will be used as a tooltip
-Comment = Amiga Emulator
+Comment = Optimized Amiga Emulator
# The executable of the application, possibly with arguments
-Exec = /usr/bin/amiberry
+Exec = /usr/bin/amiberry %f
+TryExec = /usr/bin/amiberry
# The name of the icon that will be used to display this entry
-Icon = /usr/share/amiberry/data/amiberry.png
+Icon = amiberry
# Describes whether this application needs to be run in a terminal or not
Terminal = false
@@ -24,5 +27,7 @@ Terminal = false
# Describes the categories in which this entry should be shown
Categories = Game;Emulator;
+MimeType=application/x-amiga-disk-image;application/x-cue;application/x-lha;application/octet-stream;
+
# Describes the encoding for the desktop entry
Encoding=UTF-8
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 000000000..872c094ab
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+amiberry (0.0.0-0) unstable; urgency=low
+
+ * Dummy changelog entry.
+
+ -- Dimitris Panokostas Wed, 11 Sep 2024 18:53:49 +0200
\ No newline at end of file
diff --git a/debian/changelog.gz b/debian/changelog.gz
new file mode 100644
index 000000000..1e44225a6
Binary files /dev/null and b/debian/changelog.gz differ
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 000000000..25c2e319f
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,8 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Amiberry
+Upstream-Contact: Dimitris Panokostas
+Source: https://github.com/BlitterStudio/amiberry
+
+Files: *
+Copyright: 2016-2024 Dimitris Panokostas
+License: GPL-3
\ No newline at end of file
diff --git a/docs/README.md b/docs/README.md
index 9b5738ea6..5c195988d 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -4,7 +4,7 @@
Follow me Mastodon!
-[](https://github.com/midwan/amiberry/actions/workflows/c-cpp.yml)
+[](https://github.com/BlitterStudio/amiberry/actions/workflows/c-cpp.yml)
[](https://discord.gg/wWndKTGpGV)
@@ -85,7 +85,7 @@ A flatpak version is available on [Flathub](https://flathub.org/apps/com.blitter
### Standalone binaries
-The latest `stable` releases come with binaries for several different platforms, that you can download from the [Releases](https://github.com/midwan/amiberry/releases) area. If your platform is not included, or if you want to test a newer version than the stable release, then you will have to compile it yourself. Read on to see how to do that.
+The latest `stable` releases come with binaries for several different platforms, that you can download from the [Releases](https://github.com/BlitterStudio/amiberry/releases) area. If your platform is not included, or if you want to test a newer version than the stable release, then you will have to compile it yourself. Read on to see how to do that.
### Compile from source
diff --git a/docs/resources/rp-install-source.yml b/docs/resources/rp-install-source.yml
index df176801f..5e0865674 100644
--- a/docs/resources/rp-install-source.yml
+++ b/docs/resources/rp-install-source.yml
@@ -172,6 +172,6 @@ records:
- delay: 135
content: "\r\n= = = = = = = = = = = = = = = = = = = = =\r\nInstalling dependencies for 'amiberry' : Amiga emulator with JIT support (forked from uae4arm)\r\n= = = = = = = = = = = = = = = = = = = = =\r\n\r\n"
- delay: 860
- content: "/home/pi/RetroPie-Setup/tmp/build/amiberry /home/pi\r\n\r\n= = = = = = = = = = = = = = = = = = = = =\r\nGetting sources for 'amiberry' : Amiga emulator with JIT support (forked from uae4arm)\r\n= = = = = = = = = = = = = = = = = = = = =\r\n\r\ngit clone --recursive --depth 1 \"https://github.com/midwan/amiberry/\" \"/home/pi/RetroPie-Setup/tmp/build/amiberry\"\r\n"
+ content: "/home/pi/RetroPie-Setup/tmp/build/amiberry /home/pi\r\n\r\n= = = = = = = = = = = = = = = = = = = = =\r\nGetting sources for 'amiberry' : Amiga emulator with JIT support (forked from uae4arm)\r\n= = = = = = = = = = = = = = = = = = = = =\r\n\r\ngit clone --recursive --depth 1 \"https://github.com/BlitterStudio/amiberry/\" \"/home/pi/RetroPie-Setup/tmp/build/amiberry\"\r\n"
- delay: 7
content: "Cloning into '/home/pi/RetroPie-Setup/tmp/build/amiberry'...\r\n"
diff --git a/external/capsimage/CMakeLists.txt b/external/capsimage/CMakeLists.txt
index c66316659..a9fe9eb1e 100644
--- a/external/capsimage/CMakeLists.txt
+++ b/external/capsimage/CMakeLists.txt
@@ -66,7 +66,7 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE HAVE_CONFIG_H=1)
install(TARGETS ${PROJECT_NAME}
ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib
+ LIBRARY DESTINATION lib/amiberry
RUNTIME DESTINATION bin
FRAMEWORK DESTINATION "/Library/Frameworks"
PUBLIC_HEADER DESTINATION include/caps${INCLUDE_SUFFIX})
diff --git a/external/floppybridge/CMakeLists.txt b/external/floppybridge/CMakeLists.txt
index 93e7aba41..a0655d6a6 100644
--- a/external/floppybridge/CMakeLists.txt
+++ b/external/floppybridge/CMakeLists.txt
@@ -27,6 +27,6 @@ endif ()
install(TARGETS ${PROJECT_NAME}
ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib
+ LIBRARY DESTINATION lib/amiberry
RUNTIME DESTINATION bin
)
\ No newline at end of file
diff --git a/macos_init_amiberry.zsh b/macos_init_amiberry.zsh
index 99b39b8a1..8f8ff7294 100644
--- a/macos_init_amiberry.zsh
+++ b/macos_init_amiberry.zsh
@@ -35,11 +35,11 @@ for file in $CWD_VAR/../Resources/Controllers/**/*(.); do
fi
done
-for file in $CWD_VAR/../Resources/Kickstarts/**/*(.); do
- if [[ ! -f "$USERDIR/Documents/Amiberry/Kickstarts${file##*/Kickstarts}" ]]; then
- echo "Copying $file to $USERDIR/Documents/Amiberry/Kickstarts${file##*/Kickstarts}"
- mkdir -p $(dirname "$USERDIR/Documents/Amiberry/Kickstarts${file##*/Kickstarts}")
- cp $file "$USERDIR/Documents/Amiberry/Kickstarts${file##*/Kickstarts}"
+for file in $CWD_VAR/../Resources/Roms/**/*(.); do
+ if [[ ! -f "$USERDIR/Documents/Amiberry/Roms${file##*/Roms}" ]]; then
+ echo "Copying $file to $USERDIR/Documents/Amiberry/Roms${file##*/Roms}"
+ mkdir -p $(dirname "$USERDIR/Documents/Amiberry/Roms${file##*/Roms}")
+ cp $file "$USERDIR/Documents/Amiberry/Roms${file##*/Roms}"
fi
done
diff --git a/make-bundle.sh b/make-bundle.sh
index cdc63664c..e511254da 100644
--- a/make-bundle.sh
+++ b/make-bundle.sh
@@ -34,7 +34,7 @@ cp -R data Amiberry.app/Contents/Resources/Data
cp -R floppies Amiberry.app/Contents/Resources/Floppies
cp -R harddrives Amiberry.app/Contents/Resources/Harddrives
cp -R inputrecordings Amiberry.app/Contents/Resources/Inputrecordings
-cp -R kickstarts Amiberry.app/Contents/Resources/Kickstarts
+cp -R roms Amiberry.app/Contents/Resources/Roms
cp -R lha Amiberry.app/Contents/Resources/Lha
cp -R nvram Amiberry.app/Contents/Resources/Nvram
cp -R plugins Amiberry.app/Contents/Resources/Plugins
diff --git a/kickstarts/aros-ext.bin b/roms/aros-ext.bin
similarity index 100%
rename from kickstarts/aros-ext.bin
rename to roms/aros-ext.bin
diff --git a/kickstarts/aros-rom.bin b/roms/aros-rom.bin
similarity index 100%
rename from kickstarts/aros-rom.bin
rename to roms/aros-rom.bin
diff --git a/kickstarts/dir.txt b/roms/dir.txt
similarity index 100%
rename from kickstarts/dir.txt
rename to roms/dir.txt
diff --git a/kickstarts/mt32-roms/dir.txt b/roms/mt32-roms/dir.txt
similarity index 100%
rename from kickstarts/mt32-roms/dir.txt
rename to roms/mt32-roms/dir.txt
diff --git a/src/cfgfile.cpp b/src/cfgfile.cpp
index 43ae219f5..48f681a29 100644
--- a/src/cfgfile.cpp
+++ b/src/cfgfile.cpp
@@ -9321,62 +9321,61 @@ static int bip_a1200 (struct uae_prefs *p, int config, int compa, int romcheck)
p->cs_rtc = 0;
p->cs_compatible = CP_A1200;
built_in_chipset_prefs (p);
- switch (config)
- {
- case 1:
- p->fastmem[0].size = 0x400000;
- p->cs_rtc = 1;
- break;
+ switch (config)
+ {
+ case 1:
+ p->fastmem[0].size = 0x400000;
+ p->cs_rtc = 1;
+ break;
#ifdef WITH_CPUBOARD
- case 2:
- cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_1230IV);
- p->cpuboardmem1.size = 32 * 1024 * 1024;
- p->cpu_model = 68030;
- p->cs_rtc = 1;
- roms_bliz[0] = 89;
- configure_rom(p, roms_bliz, romcheck);
- break;
- case 3:
- cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_1260);
- p->cpuboardmem1.size = 32 * 1024 * 1024;
- p->cpu_model = 68040;
- p->fpu_model = 68040;
- p->cs_rtc = 1;
- roms_bliz[0] = 90;
- configure_rom(p, roms_bliz, romcheck);
- break;
- case 4:
- cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_1260);
- p->cpuboardmem1.size = 32 * 1024 * 1024;
- p->cpu_model = 68060;
- p->fpu_model = 68060;
- p->cs_rtc = 1;
- roms_bliz[0] = 90;
- configure_rom(p, roms_bliz, romcheck);
- break;
+ case 2:
+ cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_1230IV);
+ p->cpuboardmem1.size = 32 * 1024 * 1024;
+ p->cpu_model = 68030;
+ p->cs_rtc = 1;
+ roms_bliz[0] = 89;
+ configure_rom(p, roms_bliz, romcheck);
+ break;
+ case 3:
+ cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_1260);
+ p->cpuboardmem1.size = 32 * 1024 * 1024;
+ p->cpu_model = 68040;
+ p->fpu_model = 68040;
+ p->cs_rtc = 1;
+ roms_bliz[0] = 90;
+ configure_rom(p, roms_bliz, romcheck);
+ break;
+ case 4:
+ cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_1260);
+ p->cpuboardmem1.size = 32 * 1024 * 1024;
+ p->cpu_model = 68060;
+ p->fpu_model = 68060;
+ p->cs_rtc = 1;
+ roms_bliz[0] = 90;
+ configure_rom(p, roms_bliz, romcheck);
+ break;
#ifdef WITH_PPC
- case 5:
- cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_PPC);
- p->cpuboardmem1.size = 256 * 1024 * 1024;
- p->cpu_model = 68060;
- p->fpu_model = 68060;
- p->ppc_mode = 1;
- p->cs_rtc = 1;
- roms[0] = 15;
- roms[1] = 11;
- roms[2] = -1;
- roms_bliz[0] = 100;
- configure_rom(p, roms_bliz, romcheck);
- break;
+ case 5:
+ cpuboard_setboard(p, BOARD_BLIZZARD, BOARD_BLIZZARD_SUB_PPC);
+ p->cpuboardmem1.size = 256 * 1024 * 1024;
+ p->cpu_model = 68060;
+ p->fpu_model = 68060;
+ p->ppc_mode = 1;
+ p->cs_rtc = 1;
+ roms[0] = 15;
+ roms[1] = 11;
+ roms[2] = -1;
+ roms_bliz[0] = 100;
+ configure_rom(p, roms_bliz, romcheck);
+ break;
#endif
#else
- case 2:
- p->fastmem[0].size = 0x800000;
- p->cs_rtc = 1;
- break;
+ case 2:
+ p->fastmem[0].size = 0x800000;
+ p->cs_rtc = 1;
+ break;
#endif
-
- }
+ }
set_68020_compa (p, compa, 0);
return configure_rom (p, roms, romcheck);
}
diff --git a/src/main.cpp b/src/main.cpp
index a35106b9f..ef4862ff8 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -859,7 +859,7 @@ void usage()
std::cout << " -O Set graphics specs." << '\n';
std::cout << " -H Color mode." << '\n';
std::cout << " -o = Set Amiberry configuration parameter with value." << '\n';
- std::cout << " See: https://github.com/midwan/amiberry/wiki/Amiberry.conf-options" <<
+ std::cout << " See: https://github.com/BlitterStudio/amiberry/wiki/Amiberry.conf-options" <<
'\n';
std::cout << "\nExample 1:" << '\n';
std::cout << "amiberry --model A1200 -G" << '\n';
@@ -1392,7 +1392,7 @@ void download_rtb(const std::string& filename)
if (!file_exists(destination))
{
write_log("Downloading %s ...\n", destination.c_str());
- const std::string url = "https://github.com/midwan/amiberry/blob/master/whdboot/save-data/Kickstarts/" + filename + "?raw=true";
+ const std::string url = "https://github.com/BlitterStudio/amiberry/blob/master/whdboot/save-data/Kickstarts/" + filename + "?raw=true";
download_file(url, destination, false);
}
}
diff --git a/src/memory.cpp b/src/memory.cpp
index 731630774..550e38f94 100644
--- a/src/memory.cpp
+++ b/src/memory.cpp
@@ -1774,7 +1774,7 @@ static bool load_kickstart_replacement(void)
auto* arosrom = zfile_load_file(path, &arosrom_len);
if (arosrom == nullptr)
{
- gui_message("Could not find the 'aros-ext.bin' file in the Kickstarts directory!");
+ gui_message("Could not find the 'aros-ext.bin' file in the ROMs directory!");
return false;
}
struct zfile* f = zfile_fopen_data(path, arosrom_len, arosrom);
@@ -1807,7 +1807,7 @@ static bool load_kickstart_replacement(void)
arosrom = zfile_load_file(path, &arosrom_len);
if (arosrom == nullptr)
{
- gui_message("Could not find the 'aros-rom.bin' file in the Kickstarts directory!");
+ gui_message("Could not find the 'aros-rom.bin' file in the ROMs directory!");
return false;
}
f = zfile_fopen_data(path, arosrom_len, arosrom);
diff --git a/src/osdep/amiberry.cpp b/src/osdep/amiberry.cpp
index c50cd71e3..b2c822375 100644
--- a/src/osdep/amiberry.cpp
+++ b/src/osdep/amiberry.cpp
@@ -3930,7 +3930,7 @@ void init_macos_amiberry_folders(const std::string& macos_amiberry_directory)
if (!my_existsdir(directory.c_str()))
my_mkdir(directory.c_str());
- directory = macos_amiberry_directory + "/Kickstarts";
+ directory = macos_amiberry_directory + "/Roms";
if (!my_existsdir(directory.c_str()))
my_mkdir(directory.c_str());
@@ -4015,7 +4015,7 @@ void macos_copy_amiberry_files_to_userdir(std::string macos_amiberry_directory)
}
#endif
-static void init_amiberry_paths(const std::string& data_directory, const std::string& home_directory, const std::string& config_directory)
+static void init_amiberry_paths(const std::string& data_directory, const std::string& home_directory, const std::string& config_directory, const std::string& plugins_directory)
{
current_dir = home_dir = home_directory;
#ifdef __MACH__
@@ -4050,7 +4050,7 @@ static void init_amiberry_paths(const std::string& data_directory, const std::st
harddrive_path.append("/Harddrives/");
cdrom_path.append("/CDROMs/");
logfile_path.append("/Amiberry.log");
- rom_path.append("/Kickstarts/");
+ rom_path.append("/Roms/");
rp9_path.append("/RP9/");
saveimage_dir.append("/Savestates/");
savestate_dir.append("/Savestates/");
@@ -4065,32 +4065,118 @@ static void init_amiberry_paths(const std::string& data_directory, const std::st
amiberry_conf_file.append("amiberry.conf");
#else
data_dir = data_directory;
+ data_dir.append("/data/");
+
config_path = config_directory;
+ plugins_dir = plugins_directory;
+ // Just in case this is missing, and we need to create it (e.g. not installed system-wide)
+ if (!my_existsdir(plugins_dir.c_str()))
+ my_mkdir(plugins_dir.c_str());
+
controllers_path = whdboot_path = whdload_arch_path = floppy_path = harddrive_path = cdrom_path =
logfile_path = rom_path = rp9_path = saveimage_dir = savestate_dir = ripper_path =
- input_dir = screenshot_dir = nvram_dir = plugins_dir = video_dir =
+ input_dir = screenshot_dir = nvram_dir = video_dir =
home_directory;
controllers_path.append("/controllers/");
- data_dir.append("/data/");
+ if (!my_existsdir(controllers_path.c_str()))
+ {
+ my_mkdir(controllers_path.c_str());
+ // copy default controller files, if they exist in /usr/share/amiberry/controllers
+ const std::string default_controller_path = "/usr/share/amiberry/controllers/";
+ if (my_existsdir(default_controller_path.c_str()))
+ {
+ const std::string command = "cp -r " + default_controller_path + "* " + controllers_path;
+ system(command.c_str());
+ }
+ // change permissions to user writable
+ std::string command = "chmod -R 755 " + controllers_path;
+ }
+
whdboot_path.append("/whdboot/");
+ if (!my_existsdir(whdboot_path.c_str()))
+ {
+ my_mkdir(whdboot_path.c_str());
+ // copy default whdboot files, if they exist in /usr/share/amiberry/whdboot
+ const std::string default_whdboot_path = "/usr/share/amiberry/whdboot/";
+ if (my_existsdir(default_whdboot_path.c_str()))
+ {
+ const std::string command = "cp -r " + default_whdboot_path + "* " + whdboot_path;
+ system(command.c_str());
+ }
+ // change permissions to user writable
+ std::string command = "chmod -R 755 " + whdboot_path;
+ }
+
whdload_arch_path.append("/lha/");
+ if (!my_existsdir(whdload_arch_path.c_str()))
+ my_mkdir(whdload_arch_path.c_str());
+
floppy_path.append("/floppies/");
+ if (!my_existsdir(floppy_path.c_str()))
+ my_mkdir(floppy_path.c_str());
+
harddrive_path.append("/harddrives/");
+ if (!my_existsdir(harddrive_path.c_str()))
+ my_mkdir(harddrive_path.c_str());
+
cdrom_path.append("/cdroms/");
+ if (!my_existsdir(cdrom_path.c_str()))
+ my_mkdir(cdrom_path.c_str());
+
logfile_path.append("/amiberry.log");
- rom_path.append("/kickstarts/");
+
+ rom_path.append("/roms/");
+ if (!my_existsdir(rom_path.c_str()))
+ {
+ my_mkdir(rom_path.c_str());
+ // copy default kickstart files, if they exist in /usr/share/amiberry/roms
+ const std::string default_kickstart_path = "/usr/share/amiberry/roms/";
+ if (my_existsdir(default_kickstart_path.c_str()))
+ {
+ const std::string command = "cp -r " + default_kickstart_path + "* " + rom_path;
+ system(command.c_str());
+ }
+ // change permissions to user writable
+ std::string command = "chmod -R 755 " + rom_path;
+ }
+
rp9_path.append("/rp9/");
+ if (!my_existsdir(rp9_path.c_str()))
+ my_mkdir(rp9_path.c_str());
+
saveimage_dir.append("/savestates/");
+ if (!my_existsdir(saveimage_dir.c_str()))
+ my_mkdir(saveimage_dir.c_str());
+
savestate_dir.append("/savestates/");
+ if (!my_existsdir(savestate_dir.c_str()))
+ my_mkdir(savestate_dir.c_str());
+
ripper_path.append("/ripper/");
+ if (!my_existsdir(ripper_path.c_str()))
+ my_mkdir(ripper_path.c_str());
+
input_dir.append("/inputrecordings/");
+ if (!my_existsdir(input_dir.c_str()))
+ my_mkdir(input_dir.c_str());
+
screenshot_dir.append("/screenshots/");
+ if (!my_existsdir(screenshot_dir.c_str()))
+ my_mkdir(screenshot_dir.c_str());
+
nvram_dir.append("/nvram/");
- plugins_dir.append("/plugins/");
+ if (!my_existsdir(nvram_dir.c_str()))
+ my_mkdir(nvram_dir.c_str());
+
+
video_dir.append("/videos/");
+ if (!my_existsdir(video_dir.c_str()))
+ my_mkdir(video_dir.c_str());
amiberry_conf_file = config_path;
+ if (!my_existsdir(config_path.c_str()))
+ my_mkdir(config_path.c_str());
amiberry_conf_file.append("/amiberry.conf");
#endif
@@ -4147,7 +4233,7 @@ uae_u32 emulib_target_getcpurate(uae_u32 v, uae_u32* low)
*low = 0;
if (v == 1)
{
- *low = 1e+9; /* We have nano seconds */
+ *low = 1e+9; /* We have nanoseconds */
return 0;
}
if (v == 2)
@@ -4221,13 +4307,14 @@ std::string get_data_directory()
if (env_data_dir != nullptr && directory_exists(env_data_dir, "/data"))
{
- // If the ENV variable is set, use it
+ // If the ENV variable is set, and it actually contains our data dir, use it
write_log("Using data directory from AMIBERRY_DATA_DIR: %s\n", env_data_dir);
return { env_data_dir };
}
if (directory_exists("/usr/share/amiberry", "/data"))
{
- // If the data directory exists, use it
+ // If the data directory exists in /usr/share/amiberry, use it
+ // This would be the default location after an installation with the .deb package
write_log("Using data directory from /usr/share/amiberry\n");
return "/usr/share/amiberry";
}
@@ -4263,12 +4350,17 @@ std::string get_home_directory()
write_log("Using home directory from XDG_DATA_HOME: %s\n", xdg_data_home);
return { xdg_data_home };
}
- if (user_home_dir != nullptr && directory_exists(user_home_dir, "/.amiberry"))
+ if (user_home_dir != nullptr)
{
- // $HOME/.amiberry exists, use it
- write_log("Using home directory from $HOME/.amiberry\n");
+ if (!directory_exists(user_home_dir, "/Amiberry"))
+ {
+ // If $HOME exists, but not the Amiberry subdirectory, create it
+ my_mkdir((std::string(user_home_dir) + "/Amiberry").c_str());
+ }
+ // $HOME/Amiberry exists, use it
+ write_log("Using home directory from $HOME/Amiberry\n");
std::string result = std::string(user_home_dir);
- return result.append("/.amiberry");
+ return result.append("/Amiberry");
}
// Fallback Portable mode, all in startup path
@@ -4290,34 +4382,74 @@ std::string get_config_directory()
write_log("Using config directory from XDG_CONFIG_HOME: %s\n", env_conf_dir);
return { env_conf_dir };
}
- if (xdg_config_home != nullptr && directory_exists(xdg_config_home, "/amiberry"))
+ if (xdg_config_home != nullptr)
{
// If the XDG_CONFIG_HOME is set, use it
+ if (!directory_exists(xdg_config_home, "/amiberry"))
+ {
+ // If the XDG_CONFIG_HOME exists, but not the amiberry subdirectory, create it
+ my_mkdir((std::string(xdg_config_home) + "/amiberry").c_str());
+ }
write_log("Using config directory from XDG_CONFIG_HOME: %s\n", xdg_config_home);
return { std::string(xdg_config_home) + "/amiberry" };
}
- if (user_home_dir != nullptr && directory_exists(user_home_dir, "/.config/amiberry"))
+ if (user_home_dir != nullptr)
{
- // $HOME/.config/amiberry exists, use it
- write_log("Using config directory from $HOME/.config/amiberry\n");
- auto result = std::string(user_home_dir);
- return result.append("/.config/amiberry");
- }
- if (user_home_dir != nullptr && directory_exists(user_home_dir, "/.amiberry/conf"))
- {
- // $HOME/.amiberry/conf exists, use it
- write_log("Using config directory from $HOME/.amiberry/conf\n");
+ if (!directory_exists(user_home_dir, "/Amiberry"))
+ {
+ my_mkdir((std::string(user_home_dir) + "/Amiberry").c_str());
+ }
+ // $HOME/Amiberry exists, use it
+ if (!directory_exists(user_home_dir, "/Amiberry/conf"))
+ {
+ my_mkdir((std::string(user_home_dir) + "/Amiberry/conf").c_str());
+ }
+ // This should be the most used scenario
+ write_log("Using config directory from $HOME/Amiberry/conf\n");
auto result = std::string(user_home_dir);
- return result.append("/.amiberry/conf");
+ return result.append("/Amiberry/conf");
}
// Fallback Portable mode, all in startup path
+ // Should never really end up here, unless $HOME is not defined
write_log("Using config directory from startup path\n");
char tmp[MAX_DPATH];
getcwd(tmp, MAX_DPATH);
return { std::string(tmp) + "/conf" };
}
+std::string get_plugins_directory()
+{
+ // Check if we have the plugins installed system-wide (with a .deb package)
+ if (directory_exists("/usr/lib", "/amiberry"))
+ {
+ write_log("Using plugins directory from /usr/lib/amiberry\n");
+ return "/usr/lib/amiberry";
+ }
+
+ const auto user_home_dir = getenv("HOME");
+ if (user_home_dir != nullptr)
+ {
+ if (!directory_exists(user_home_dir, "/Amiberry"))
+ {
+ my_mkdir((std::string(user_home_dir) + "/Amiberry").c_str());
+ }
+ // $HOME/Amiberry exists, use it
+ if (!directory_exists(user_home_dir, "/Amiberry/plugins"))
+ {
+ my_mkdir((std::string(user_home_dir) + "/Amiberry/plugins").c_str());
+ }
+ write_log("Using plugins directory from $HOME/Amiberry/plugins\n");
+ return { std::string(user_home_dir) + "/Amiberry/plugins" };
+ }
+
+ // Fallback Portable mode, all in the startup path
+ write_log("Using plugins directory from startup path\n");
+ char tmp[MAX_DPATH];
+ getcwd(tmp, MAX_DPATH);
+ return { std::string(tmp) + "/plugins" };
+}
+
int main(int argc, char* argv[])
{
for (auto i = 1; i < argc; i++) {
@@ -4347,8 +4479,9 @@ int main(int argc, char* argv[])
const std::string data_directory = get_data_directory();
const std::string home_directory = get_home_directory();
const std::string config_directory = get_config_directory();
+ const std::string plugins_directory = get_plugins_directory();
- init_amiberry_paths(data_directory, home_directory, config_directory);
+ init_amiberry_paths(data_directory, home_directory, config_directory, plugins_directory);
// Parse command line to possibly set amiberry_config.
// Do not remove used args yet.
diff --git a/src/osdep/amiberry_input.cpp b/src/osdep/amiberry_input.cpp
index 9a0817075..a9a174a31 100644
--- a/src/osdep/amiberry_input.cpp
+++ b/src/osdep/amiberry_input.cpp
@@ -1033,10 +1033,9 @@ static int init_joystick()
num_joystick = MAX_INPUT_DEVICES;
// set up variables / paths etc.
- char cfg[MAX_DPATH];
- get_configuration_path(cfg, MAX_DPATH);
- strcat(cfg, "gamecontrollerdb.txt");
- SDL_GameControllerAddMappingsFromFile(cfg);
+ std::string cfg = get_controllers_path();
+ cfg += "gamecontrollerdb.txt";
+ SDL_GameControllerAddMappingsFromFile(cfg.c_str());
std::string controllers = get_controllers_path();
controllers.append("gamecontrollerdb_user.txt");
diff --git a/src/osdep/amiberry_whdbooter.cpp b/src/osdep/amiberry_whdbooter.cpp
index 9336e60e9..e203afcd8 100644
--- a/src/osdep/amiberry_whdbooter.cpp
+++ b/src/osdep/amiberry_whdbooter.cpp
@@ -33,7 +33,7 @@ extern char last_loaded_config[MAX_DPATH];
enum
{
A600_CONFIG = 3, // 8MB fast ram
- A1200_CONFIG = 2 // 8MB fast ram
+ A1200_CONFIG = 1 // 8MB fast ram
};
struct game_hardware_options
@@ -1368,6 +1368,8 @@ void whdload_auto_prefs(uae_prefs* prefs, const char* filepath)
// SET THE BASE AMIGA (Expanded A1200)
write_log("WHDBooter - Host: A1200 ROM selected\n");
built_in_prefs(prefs, 4, A1200_CONFIG, 0, 0);
+ // set 8MB Fast RAM
+ prefs->fastmem[0].size = 0x800000;
_tcscpy(prefs->description, _T("AutoBoot Configuration [WHDLoad] [AGA]"));
}
else
diff --git a/src/osdep/gui/PanelPaths.cpp b/src/osdep/gui/PanelPaths.cpp
index e7ad0f72e..3b98d6b94 100644
--- a/src/osdep/gui/PanelPaths.cpp
+++ b/src/osdep/gui/PanelPaths.cpp
@@ -314,12 +314,12 @@ class DownloadXMLButtonActionListener : public gcn::ActionListener
// download WHDLoad executable
destination = prefix_with_whdboot_path("WHDLoad");
write_log("Downloading %s ...\n", destination.c_str());
- download_file("https://github.com/midwan/amiberry/blob/master/whdboot/WHDLoad?raw=true", destination, false);
+ download_file("https://github.com/BlitterStudio/amiberry/blob/master/whdboot/WHDLoad?raw=true", destination, false);
// download boot-data.zip
destination = prefix_with_whdboot_path("boot-data.zip");
write_log("Downloading %s ...\n", destination.c_str());
- download_file("https://github.com/midwan/amiberry/blob/master/whdboot/boot-data.zip?raw=true", destination, false);
+ download_file("https://github.com/BlitterStudio/amiberry/blob/master/whdboot/boot-data.zip?raw=true", destination, false);
// download kickstart RTB files for maximum compatibility
download_rtb("kick33180.A500.RTB");
@@ -352,9 +352,7 @@ class DownloadControllerDbActionListener : public gcn::ActionListener
public:
void action(const gcn::ActionEvent& actionEvent) override
{
- char config_path[MAX_DPATH];
- get_configuration_path(config_path, MAX_DPATH);
- auto destination = std::string(config_path);
+ std::string destination = get_controllers_path();
destination += "gamecontrollerdb.txt";
write_log("Downloading % ...\n", destination.c_str());
const auto* const url = "https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt";
@@ -876,7 +874,7 @@ bool HelpPanelPaths(std::vector& helptext)
helptext.emplace_back("custom edits that may have been made.");
helptext.emplace_back(" ");
helptext.emplace_back("The \"Update Controllers DB\" button will attempt to download the latest version of");
- helptext.emplace_back("the bundled gamecontrollerdb.txt file, to be stored in the Configuration files path.");
+ helptext.emplace_back("the bundled gamecontrollerdb.txt file, to be stored in the Controllers files path.");
helptext.emplace_back("The file contains the \"official\" mappings for recognized controllers by SDL2 itself.");
helptext.emplace_back("Please note that this is separate from the user-configurable gamecontrollerdb_user.txt");
helptext.emplace_back("file, which is contained in the Controllers path. That file is never overwritten, and");
@@ -887,7 +885,7 @@ bool HelpPanelPaths(std::vector& helptext)
helptext.emplace_back(" ");
helptext.emplace_back("The paths for Amiberry resources include;");
helptext.emplace_back(" ");
- helptext.emplace_back("- System ROMs: The Amiga Kickstart files are by default located under 'kickstarts'.");
+ helptext.emplace_back("- System ROMs: The Amiga Kickstart files are by default located under 'roms'.");
helptext.emplace_back(" After changing the location of the Kickstart ROMs, or adding any additional ROMs, ");
helptext.emplace_back(" click on the \"Rescan\" button to refresh the list of the available ROMs. Please");
helptext.emplace_back(" note that MT-32 ROM files may also reside here, or in a \"mt32-roms\" directory");