Merge remote-tracking branch 'upstream/cooker-0.7.0b' into cooker-0.7.0b-icenine451

This commit is contained in:
icenine451 2023-04-25 11:00:15 -04:00
commit d5546fc592
14 changed files with 816 additions and 188 deletions

View file

@ -0,0 +1,53 @@
<?xml version="1.0"?>
<!-- This file is autogenerated; comments and unknown tags will be stripped -->
<mameconfig version="10">
<system name="default">
<input>
<port type="P1_JOYSTICK_UP">
<newseq type="standard">
JOYCODE_1_HAT1UP
</newseq>
</port>
<port type="P1_SELECT">
<newseq type="standard">
JOYCODE_1_SELECT
</newseq>
</port>
<port type="UI_MENU">
<newseq type="standard">
KEYCODE_LCONTROL KEYCODE_M
</newseq>
</port>
<port type="UI_PAUSE">
<newseq type="standard">
KEYCODE_LCONTROL KEYCODE_P
</newseq>
</port>
<port type="UI_REWIND_SINGLE">
<newseq type="standard">
KEYCODE_LCONTROL KEYCODE_MINUSPAD
</newseq>
</port>
<port type="UI_SAVE_STATE">
<newseq type="standard">
KEYCODE_LCONTROL KEYCODE_S
</newseq>
</port>
<port type="UI_LOAD_STATE">
<newseq type="standard">
KEYCODE_LCONTROL KEYCODE_A
</newseq>
</port>
<port type="UI_FAST_FORWARD">
<newseq type="standard">
KEYCODE_LCONTROL KEYCODE_PLUSPAD
</newseq>
</port>
<port type="UI_SNAPSHOT">
<newseq type="standard">
KEYCODE_LCONTROL KEYCODE_X
</newseq>
</port>
</input>
</system>
</mameconfig>

411
emu-configs/mame/mame.ini Normal file
View file

@ -0,0 +1,411 @@
#
# CORE CONFIGURATION OPTIONS
#
readconfig 1
writeconfig 0
#
# CORE SEARCH PATH OPTIONS
#
homepath /var/config/mame
rompath /home/deck/retrodeck/roms/arcade
hashpath /app/share/mame/hash
samplepath /app/share/mame/samples
artpath $HOME/retrodeck/downloaded_media/arcade/screenshots/
ctrlrpath /app/share/mame/ctrlr
inipath /var/config/mame
fontpath /app/bin/
cheatpath /app/share/mame/cheat
crosshairpath /app/share/mame/crosshair
pluginspath /app/share/mame/plugins
languagepath /app/share/mame/language
swpath /app/share/mame/software
#
# CORE OUTPUT DIRECTORY OPTIONS
#
cfg_directory /var/config/mame/cfg
nvram_directory /var/config/mame/nvram
input_directory /var/config/mame/inp
state_directory /var/config/mame/sta
snapshot_directory $HOME/retrodeck/screenshots
diff_directory /var/config/mame/diff
comment_directory /var/config/mame/comments
share_directory /var/config/mame/share
#
# CORE STATE/PLAYBACK OPTIONS
#
state
autosave 0
rewind 0
rewind_capacity 100
playback
record
exit_after_playback 0
mngwrite
aviwrite
wavwrite
snapname %g/%i
snapsize auto
snapview auto
snapbilinear 1
statename %g
burnin 0
#
# CORE PERFORMANCE OPTIONS
#
autoframeskip 0
frameskip 0
seconds_to_run 0
throttle 1
sleep 1
speed 1.0
refreshspeed 0
lowlatency 0
#
# CORE RENDER OPTIONS
#
keepaspect 1
unevenstretch 1
unevenstretchx 0
unevenstretchy 0
autostretchxy 0
intoverscan 0
intscalex 0
intscaley 0
#
# CORE ROTATION OPTIONS
#
rotate 1
ror 0
rol 0
autoror 0
autorol 0
flipx 0
flipy 0
#
# CORE ARTWORK OPTIONS
#
artwork_crop 0
fallback_artwork
override_artwork
#
# CORE SCREEN OPTIONS
#
brightness 1.0
contrast 1.0
gamma 1.0
pause_brightness 0.65
effect none
#
# CORE VECTOR OPTIONS
#
beam_width_min 1.0
beam_width_max 1.0
beam_dot_size 1.0
beam_intensity_weight 0
flicker 0
#
# CORE SOUND OPTIONS
#
samplerate 48000
samples 1
volume 0
compressor 1
speaker_report 0
#
# CORE INPUT OPTIONS
#
coin_lockout 1
ctrlr
mouse 0
joystick 1
lightgun 0
multikeyboard 0
multimouse 0
steadykey 0
ui_active 0
offscreen_reload 0
joystick_map auto
joystick_deadzone 0.15
joystick_saturation 0.85
joystick_threshold 0.3
natural 0
joystick_contradictory 0
coin_impulse 0
#
# CORE INPUT AUTOMATIC ENABLE OPTIONS
#
paddle_device keyboard
adstick_device keyboard
pedal_device keyboard
dial_device keyboard
trackball_device keyboard
lightgun_device keyboard
positional_device keyboard
mouse_device mouse
#
# CORE DEBUGGING OPTIONS
#
verbose 0
log 0
oslog 0
debug 0
update_in_pause 0
debugscript
debuglog 0
#
# CORE COMM OPTIONS
#
comm_localhost 0.0.0.0
comm_localport 15112
comm_remotehost 127.0.0.1
comm_remoteport 15112
comm_framesync 0
#
# CORE MISC OPTIONS
#
drc 1
drc_use_c 0
drc_log_uml 0
drc_log_native 0
bios
cheat 0
skip_gameinfo 1
uifont default
ui cabinet
ramsize
confirm_quit 0
ui_mouse 1
language
nvram_save 1
#
# SCRIPTING OPTIONS
#
autoboot_command
autoboot_delay 0
autoboot_script
console 0
plugins 1
plugin
noplugin
#
# HTTP SERVER OPTIONS
#
http 0
http_port 8080
http_root web
#
# OSD INPUT MAPPING OPTIONS
#
uimodekey auto
controller_map none
background_input 0
#
# OSD FONT OPTIONS
#
uifontprovider auto
#
# OSD OUTPUT OPTIONS
#
output auto
#
# OSD INPUT OPTIONS
#
keyboardprovider auto
mouseprovider auto
lightgunprovider auto
joystickprovider auto
#
# OSD DEBUGGING OPTIONS
#
debugger auto
debugger_port 23946
debugger_font auto
debugger_font_size 0
watchdog 0
#
# OSD PERFORMANCE OPTIONS
#
numprocessors auto
bench 0
#
# OSD VIDEO OPTIONS
#
video opengl
numscreens 1
window 0
maximize 1
waitvsync 0
syncrefresh 0
monitorprovider auto
#
# OSD PER-WINDOW VIDEO OPTIONS
#
screen auto
aspect auto
resolution auto
view auto
screen0 auto
aspect0 auto
resolution0 auto
view0 auto
screen1 auto
aspect1 auto
resolution1 auto
view1 auto
screen2 auto
aspect2 auto
resolution2 auto
view2 auto
screen3 auto
aspect3 auto
resolution3 auto
view3 auto
#
# OSD FULL SCREEN OPTIONS
#
switchres 0
#
# OSD ACCELERATED VIDEO OPTIONS
#
filter 1
prescale 1
#
# OpenGL-SPECIFIC OPTIONS
#
gl_forcepow2texture 0
gl_notexturerect 0
gl_vbo 1
gl_pbo 1
gl_glsl 0
gl_glsl_filter 1
glsl_shader_mame0 none
glsl_shader_mame1 none
glsl_shader_mame2 none
glsl_shader_mame3 none
glsl_shader_mame4 none
glsl_shader_mame5 none
glsl_shader_mame6 none
glsl_shader_mame7 none
glsl_shader_mame8 none
glsl_shader_mame9 none
glsl_shader_screen0 none
glsl_shader_screen1 none
glsl_shader_screen2 none
glsl_shader_screen3 none
glsl_shader_screen4 none
glsl_shader_screen5 none
glsl_shader_screen6 none
glsl_shader_screen7 none
glsl_shader_screen8 none
glsl_shader_screen9 none
#
# OSD SOUND OPTIONS
#
sound auto
audio_latency 2
#
# PORTAUDIO OPTIONS
#
pa_api none
pa_device none
pa_latency 0
#
# OSD MIDI OPTIONS
#
midiprovider auto
#
# OSD EMULATED NETWORKING OPTIONS
#
networkprovider auto
#
# BGFX POST-PROCESSING OPTIONS
#
bgfx_path bgfx
bgfx_backend auto
bgfx_debug 0
bgfx_screen_chains
bgfx_shadow_mask slot-mask.png
bgfx_lut lut-default.png
bgfx_avi_name auto
#
# SDL PERFORMANCE OPTIONS
#
sdlvideofps 0
#
# SDL VIDEO OPTIONS
#
centerh 1
centerv 1
scalemode none
#
# SDL FULL SCREEN OPTIONS
#
useallheads 0
attach_window
#
# SDL KEYBOARD MAPPING
#
keymap 0
keymap_file keymap.dat
#
# SDL JOYSTICK MAPPING
#
sixaxis 0
#
# SDL LIGHTGUN MAPPING
#
lightgun_index1 auto
lightgun_index2 auto
lightgun_index3 auto
lightgun_index4 auto
lightgun_index5 auto
lightgun_index6 auto
lightgun_index7 auto
lightgun_index8 auto
#
# SDL LOW-LEVEL DRIVER OPTIONS
#
videodriver auto
renderdriver auto
audiodriver auto
gl_lib auto

70
emu-configs/mame/ui.ini Normal file
View file

@ -0,0 +1,70 @@
#
# UI SEARCH PATH OPTIONS
#
historypath history;dats;.
categorypath folders
cabinets_directory cabinets;cabdevs
cpanels_directory cpanel
pcbs_directory pcb
flyers_directory flyers
titles_directory titles
ends_directory ends
marquees_directory marquees;$HOME/retrodeck/downloaded_media/arcade/marquees
artwork_preview_directory "artwork preview;artpreview"
bosses_directory bosses
logos_directory logo
scores_directory scores
versus_directory versus
gameover_directory gameover
howto_directory howto
select_directory select
icons_directory icons
covers_directory covers;$HOME/retrodeck/downloaded_media/arcade/covers
ui_path ui
#
# UI MISC OPTIONS
#
system_names
skip_warnings 1
unthrottle_mute 0
#
# UI OPTIONS
#
infos_text_size 0.75
font_rows 30
ui_border_color ffffffff
ui_bg_color ef101030
ui_clone_color ff808080
ui_dipsw_color ffffff00
ui_gfxviewer_color ef101030
ui_mousedown_bg_color b0606000
ui_mousedown_color ffffff80
ui_mouseover_bg_color 70404000
ui_mouseover_color ffffff80
ui_selected_bg_color ef808000
ui_selected_color ffffff00
ui_slider_color ffffffff
ui_subitem_color ffffffff
ui_text_bg_color ef000000
ui_text_color ffffffff
ui_unavail_color ff404040
#
# SYSTEM/SOFTWARE SELECTION MENU OPTIONS
#
hide_main_panel 0
use_background 1
skip_biosmenu 0
skip_partsmenu 0
remember_last 0
last_used_filter Available
system_right_panel image
software_right_panel image
system_right_image cover
software_right_image snap
enlarge_snaps 1
forced4x3 1
info_audit_enabled 0
hide_romless 1

View file

@ -129,7 +129,7 @@ SaveFilePath=RETRODECKHOMEDIR/saves/nds/melonds
SavestatePath=RETRODECKHOMEDIR/states/nds/melonds
CheatFilePath=
EnableCheats=0
MouseHide=0
MouseHide=1
MouseHideSeconds=5
PauseLostFocus=1
DSBatteryLevelOkay=1

View file

@ -1300,10 +1300,10 @@
<fullname>Sony PlayStation</fullname>
<path>%ROMPATH%/psx</path>
<extension>.bin .BIN .cbn .CBN .ccd .CCD .chd .CHD .cue .CUE .ecm .ECM .exe .EXE .img .IMG .iso .ISO .m3u .M3U .mdf .MDF .mds .MDS .minipsf .MINIPSF .pbp .PBP .psexe .PSEXE .psf .PSF .toc .TOC .z .Z .znx .ZNX .7z .7Z .zip .ZIP</extension>
<command label="SwanStation">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/swanstation_libretro.so %ROM%</command>
<command label="Beetle PSX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_psx_libretro.so %ROM%</command>
<command label="Beetle PSX HW">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_psx_hw_libretro.so %ROM%</command>
<command label="PCSX ReARMed">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pcsx_rearmed_libretro.so %ROM%</command>
<command label="SwanStation">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/swanstation_libretro.so %ROM%</command>
<command label="PCSX ReARMed">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pcsx_rearmed_libretro.so %ROM%</command>
<command label="DuckStation (Standalone)">%EMULATOR_DUCKSTATION% -batch %ROM%</command>
<!-- <command label="Mednafen (Standalone)">%EMULATOR_MEDNAFEN% -force_module psx %ROM%</command> -->
<platform>psx</platform>

View file

@ -1,18 +1,17 @@
app-id: net.retrodeck.retrodeck
runtime: org.kde.Platform
runtime-version: 5.15-21.08
#runtime-version: 6.3 # bumped because of pcsx2-qt
runtime-version: 5.15-22.08
sdk: org.kde.Sdk
sdk-extensions:
- org.freedesktop.Sdk.Extension.llvm14 # Needed for rpcs3
#- org.freedesktop.Sdk.Extension.dotnet6 # Needed for Ryujinx - Removed, check if it's not breaking something else
base: io.qt.qtwebengine.BaseApp # Needed for Yuzu
base-version: 5.15-21.08 # Needed for Yuzu
base-version: 5.15-22.08 # Needed for Yuzu
command: retrodeck.sh
finish-args:
- --socket=x11
#- --socket=wayland
- --socket=fallback-x11
- --socket=wayland
- --socket=pulseaudio
- --share=ipc
- --share=network
@ -24,15 +23,11 @@ finish-args:
- --talk-name=org.freedesktop.ScreenSaver
- --talk-name=org.freedesktop.PowerManagement.Inhibit
- --talk-name=org.freedesktop.login1.Manager
- --talk-name=org.freedesktop.Flatpak
- --filesystem=xdg-run/app/com.discordapp.Discord:create
# Yuzu
# - --filesystem=home:ro # This may break Yuzu, let's see
# - --filesystem=/run/media:ro
# Dolphin
- --allow=bluetooth
#- --env=QT_QPA_PLATFORM=xcb #not sure if this will break something
# rpcs3
#- --socket=fallback-x11
modules:
- name: retrodeck

View file

@ -738,7 +738,7 @@ check_for_version_update() {
choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Ignore this version" \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
--title "RetroDECK Update Available" \
--text="There is a more recent build of the RetroDECK cooker branch. Would you like to update to it?\nIf you would like to skip reminders about this version, click \"Ignore this version\".\nYou will be reminded again at the next version update.\n\nIf you would like to disable these update notifications entirely, disable Online Update Checks in the Configurator.")
--text="There is a more recent build of the RetroDECK cooker branch.\n\nWould you like to update to it?\nIf you would like to skip reminders about this version, click \"Ignore this version\".\nYou will be reminded again at the next version update.\n\nIf you would like to disable these update notifications entirely, disable Online Update Checks in the Configurator.")
rc=$? # Capture return code, as "Yes" button has no text value
if [[ $rc == "1" ]]; then # If any button other than "Yes" was clicked
if [[ $choice == "Ignore this version" ]]; then

View file

@ -1,25 +1,17 @@
app-id: net.retrodeck.retrodeck
runtime: org.kde.Platform
runtime-version: 5.15-22.08
#runtime-version: 6.3 # bumped because of pcsx2-qt
sdk: org.kde.Sdk
sdk-extensions:
- org.freedesktop.Sdk.Extension.llvm14 # Needed for rpcs3
#- org.freedesktop.Sdk.Extension.dotnet6 # Needed for Ryujinx - Removed, check if it's not breaking something else
base: io.qt.qtwebengine.BaseApp # Needed for Yuzu
base-version: 5.15-22.08 # Needed for Yuzu
# add-extensions:
# org.freedesktop.Platform.ffmpeg-full:
# directory: lib/ffmpeg
# add-ld-path: .
# version: '22.08'
# autodownload: true
# autodelete: false
command: retrodeck.sh
finish-args:
- --socket=x11
#- --socket=wayland
- --socket=fallback-x11
- --socket=wayland
- --socket=pulseaudio
- --share=ipc
- --share=network
@ -33,14 +25,9 @@ finish-args:
- --talk-name=org.freedesktop.login1.Manager
- --talk-name=org.freedesktop.Flatpak
- --filesystem=xdg-run/app/com.discordapp.Discord:create
# Yuzu
# - --filesystem=home:ro # This may break Yuzu, let's see
# - --filesystem=/run/media:ro
# Dolphin
- --allow=bluetooth
#- --env=QT_QPA_PLATFORM=xcb #not sure if this will break something
# rpcs3
#- --socket=fallback-x11
cleanup:
# ES-DE
@ -80,8 +67,7 @@ modules:
# [ ] Update the appdata.xml with the version number and notes
# [ ] change branch into main in version-initialization (first one)
# [ ] change branch into main in retrodeck module (last one)
# [ ] if header (before modules) was edited, edit it even in flathub.yml
# [ ] Vita3K: update branch to main (and remember to download it the first time)
# [ ] >>>>> if header (before modules) was edited, edit it even in flathub.yml
#
- name: version-initialization
buildsystem: simple
@ -119,38 +105,6 @@ modules:
post-install:
- ln -s "xml" "${FLATPAK_DEST}/bin/xmlstarlet" ||:
# pcsx2-qt needs QT6, maybe others, here until every qt emulator will support qt6 (not yuzu atm)
# from: https://github.com/flathub/org.profex_xrd.Profex
# - name: qt6-core5compat
# buildsystem: cmake-ninja
# builddir: true
# sources:
# - type: archive
# url: https://download.qt.io/official_releases/qt/6.2/6.2.4/submodules/qt5compat-everywhere-src-6.2.4.tar.xz
# sha256: 5de2b9e25bf7de161fbb88ecdd468ed1788bc899392fc05ed80aa590ebb352fa
# x-checker-data:
# type: html
# url: https://download.qt.io/official_releases/qt/6.2/
# version-pattern: '>([\d\.-]*)/<'
# url-template: https://download.qt.io/official_releases/qt/6.2/$version/submodules/qt5compat-everywhere-src-$version.tar.xz
# post-install:
# - mkdir -p /app/lib/mkspecs
# - cp -R /app/mkspecs/* /app/lib/mkspecs/
# - ln -fsr ${FLATPAK_DEST}/lib/${FLATPAK_ARCH}-linux-gnu/libQt*.so* -t ${FLATPAK_DEST}/lib/
# - sed -i 's/\\([0-9]\\+\\.[0-9]\\+\\)\\.[0-9]\\+ ${_Qt6.*_FIND_VERSION_EXACT}/\\1/'
# ${FLATPAK_DEST}/lib/${FLATPAK_ARCH}-linux-gnu/cmake/Qt6*/Qt6*Config.cmake
# - sed -e 's@PATHS \"${CMAKE_CURRENT_LIST_DIR}/..\" NO_DEFAULT_PATH@PATHS \"${CMAKE_CURRENT_LIST_DIR}/..\"
# \"/usr/lib/${CMAKE_CXX_LIBRARY_ARCHITECTURE}/cmake/\" NO_DEFAULT_PATH@' -i
# ${FLATPAK_DEST}/lib/${FLATPAK_ARCH}-linux-gnu/cmake/Qt6*/Qt6*Config.cmake
# - sed -e 's@\\($$QT_MODULE_BIN_BASE\\)@\\1 '${FLATPAK_DEST}'/bin @' -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
# - sed -e 's@\\($$QT_MODULE_INCLUDE_BASE \\)@\\1'${FLATPAK_DEST}'/include @'
# -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
# - sed -e 's@$$QT_MODULE_INCLUDE_BASE/@'${FLATPAK_DEST}'/include/@g' -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
# - sed -e 's@$$QT_MODULE_LIB_BASE@'${FLATPAK_DEST}'/lib@g' -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
# cleanup:
# - /app/mkspecs
# mesa repo got a double certificate issue and gnutils cannot handle that so GLU download fails,
# this affects even the shared-modules's glu so I have to replace it temporarly
# more info there: https://gitlab.com/gnutls/gnutls/-/issues/1335
@ -289,7 +243,7 @@ modules:
- name: emulationstation-de
buildsystem: cmake-ninja
config-opts:
- DRETRODECK=on
- -DRETRODECK=on
cleanup:
- es-app
- es-core
@ -334,7 +288,7 @@ modules:
sources:
- type: git
url: https://github.com/libretro/RetroArch.git
commit: 938ab716bd290b0f469068500966a834b5782929
commit: 6616b807edea5b56683e9fbca8b003b436c22b13
- type: file
path: rd-submodules/retroarch/retroarch.cfg
post-install:
@ -372,7 +326,7 @@ modules:
sources:
- type: git
url: https://github.com/libretro/RetroArch.git
commit: 938ab716bd290b0f469068500966a834b5782929
commit: 6616b807edea5b56683e9fbca8b003b436c22b13
- name: retroarch-filers-audio
subdir: libretro-common/audio/dsp_filters
make-install-args:
@ -380,7 +334,7 @@ modules:
sources:
- type: git
url: https://github.com/libretro/RetroArch.git
commit: 938ab716bd290b0f469068500966a834b5782929
commit: 6616b807edea5b56683e9fbca8b003b436c22b13
- name: retroarch-assets
make-install-args:
- PREFIX=${FLATPAK_DEST}
@ -717,24 +671,6 @@ modules:
# XEMU - START
# https://github.com/flathub/app.xemu.xemu
# certificate issue, check libglu module for more info
# - name: libglu
# buildsystem: meson
# cleanup:
# - /include
# - /lib/debug
# - /lib/pkgconfig
# - /lib/*.a
# sources:
# - type: archive
# url: http://mesa.freedesktop.org/archive/glu/glu-9.0.2.tar.xz
# sha256: 6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4
# x-checker-data:
# type: anitya
# project-id: 13518
# stable-only: true
# url-template: http://mesa.freedesktop.org/archive/glu/glu-$version.tar.xz
- name: libpcap
buildsystem: cmake-ninja
cleanup:
@ -924,67 +860,6 @@ modules:
# # PRIMEHACK - END
# # PRIMEHACK APPIMAGE START
# Duckstation - START
# https://github.com/flathub/org.duckstation.DuckStation
# Disabled until we completely switch to QT6
# - name: duckstation
# buildsystem: cmake-ninja
# no-make-install: true
# builddir: true
# config-opts:
# - -DCMAKE_BUILD_TYPE=RelWithDebInfo
# - -DUSE_EGL=ON
# - -DUSE_SDL2=ON
# - -DUSE_WAYLAND=ON
# - -DUSE_X11=ON
# - -DUSE_DRMKMS=ON
# - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
# post-install:
# - install -m755 bin/duckstation-qt /app/bin
# - cp -r ../data/* bin/translations /app/bin
# sources:
# - type: git
# url: https://github.com/stenzek/duckstation.git
# commit: 6f709468601183083b8581d4952aaba7baf77084
# # Cloning dep/msvc/qt is only necessary for Windows
# disable-submodules: true
# Duckstation - END
# Duckstation-DontUpdate - START
# Old version moved to QT6 so it's either this or AppImage
# But AppImage is a single one that keep getting updated at the same link so the sha (that's mandatory) will break the build
# So yeah we're stuck with this for a while
# - name: duckstation-DontUpdate
# buildsystem: cmake-ninja
# no-make-install: true
# builddir: true
# config-opts:
# - -DCMAKE_BUILD_TYPE=Release
# - -DUSE_EGL=ON
# - -DUSE_SDL2=ON
# - -DUSE_WAYLAND=ON
# - -DUSE_X11=ON
# - -DUSE_DRMKMS=ON
# - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
# post-install:
# - install -m 755 -t /app/bin/ bin/duckstation-nogui bin/duckstation-qt
# - |-
# for px in 16 32 48 64 128 256; do
# install -Dm644 ../extras/icons/icon-${px}px.png /app/share/icons/hicolor/${px}x${px}/apps/org.duckstation.DuckStation.png
# done
# - cp -r ../data/* bin/translations /app/bin
# sources:
# - type: git
# url: https://github.com/stenzek/duckstation.git
# commit: 3fb61865e505ba639609fbf16cb8bdf5c66e020c
# Duckstation-DontUpdate - END
# Duckstation-AppImage - START
# https://github.com/stenzek/duckstation/releases/tag/preview
@ -1175,46 +1050,6 @@ modules:
# Cemu - END
# Ryujinx Appimage - START
# https://ryujinx.org/download
# - name: Ryujinx
# buildsystem: simple
# build-commands:
# - |
# tar -zxvf ryujinx-1.1.685-linux_x64.tar.gz
# mv -v publish ${FLATPAK_DEST}/ryujinx
# ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx
# sources:
# - type: file
# url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.685/ryujinx-1.1.685-linux_x64.tar.gz
# sha256: bc4d7076106d7aa59c3a3ea22b83c553e5fa1a897815831adcf18cc13d729e15
# Ryujinx Appimage - END
# Vita3K - START
# NOTE: this is a continuos release, it's provided but not supported
# to update this module:
# wget https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip -O rd-submodules/vita3k/vita3k-14-01-23.zip
# sha256sum rd-submodules/vita3k/vita3k*.zip
# change url and sha
# check the branch in the url
- name: Vita3K
buildsystem: simple
build-commands:
- |
mkdir -p ${FLATPAK_DEST}/vita3k
cp -r * ${FLATPAK_DEST}/vita3k
chmod +x ${FLATPAK_DEST}/vita3k/Vita3K
ln -s ${FLATPAK_DEST}/vita3k/Vita3K /app/bin/Vita3K
sources:
- type: archive
url: https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip
sha256: VITASHAPLACEHOLDER
# Vita3K - END
# External manifests end
- name: retrodeck
@ -1281,4 +1116,4 @@ modules:
sources:
- type: git
url: https://github.com/XargonWan/RetroDECK.git
branch: cooker-0.7.0b
branch: cooker-0.7.0b

View file

@ -0,0 +1,41 @@
diff --git a/src/devices/imagedev/floppy.cpp b/src/devices/imagedev/floppy.cpp
index 3c00336d..cda94d92 100644
--- a/src/devices/imagedev/floppy.cpp
+++ b/src/devices/imagedev/floppy.cpp
@@ -1707,9 +1707,10 @@ void floppy_sound_device::sound_stream_update(sound_stream &stream, std::vector<
{
idx = m_spin_playback_sample;
sampleend = m_sample[idx].data.size();
- out = m_sample[idx].data[m_spin_samplepos++];
-
- if (m_spin_samplepos >= sampleend)
+ m_spin_samplepos++;
+ if (m_spin_samplepos < sampleend)
+ out = m_sample[idx].data[m_spin_samplepos];
+ else
{
// Motor sample has completed
switch (m_spin_playback_sample)
@@ -1763,7 +1764,8 @@ void floppy_sound_device::sound_stream_update(sound_stream &stream, std::vector<
idx = m_step_base + m_seek_playback_sample;
sampleend = m_sample[idx].data.size();
// Mix it into the stream value
- out += m_sample[idx].data[(int)m_seek_samplepos];
+ if (m_seek_samplepos < sampleend)
+ out += m_sample[idx].data[(int)m_seek_samplepos];
// By adding different values than 1, we can change the playback speed
// This will be used to adjust the seek sound
m_seek_samplepos += m_seek_pitch;
@@ -1781,8 +1783,10 @@ void floppy_sound_device::sound_stream_update(sound_stream &stream, std::vector<
sampleend = m_sample[idx].data.size();
// Mix it into the stream value
- out += m_sample[idx].data[m_step_samplepos++];
- if (m_step_samplepos >= sampleend)
+ m_step_samplepos++;
+ if (m_step_samplepos < sampleend)
+ out += m_sample[idx].data[m_step_samplepos];
+ else
{
// Step sample done
m_step_samplepos = 0;

View file

@ -0,0 +1,33 @@
#
# CORE SEARCH PATH OPTIONS
#
homepath $HOME/.mame
rompath /app/share/mame/roms
hashpath /app/share/mame/hash
samplepath /app/share/mame/samples
artpath /app/share/mame/artwork
ctrlrpath /app/share/mame/ctrlr
inipath $HOME/.mame;/app/share/mame/ini
fontpath /app/bin/
cheatpath /app/share/mame/cheat
crosshairpath /app/share/mame/crosshair
pluginspath /app/share/mame/plugins
languagepath /app/share/mame/language
swpath /app/share/mame/software
#
# CORE OUTPUT DIRECTORY OPTIONS
#
cfg_directory $HOME/.mame/cfg
nvram_directory $HOME/.mame/nvram
input_directory $HOME/.mame/inp
state_directory $HOME/.mame/sta
snapshot_directory $HOME/.mame/snap
diff_directory $HOME/.mame/diff
comment_directory $HOME/.mame/comments
share_directory $HOME/.mame/share
#
# OSD VIDEO OPTIONS
#
video opengl

View file

@ -0,0 +1,28 @@
diff --git a/src/emu/sound.cpp b/src/emu/sound.cpp
index a0293063..c4989abb 100644
--- a/src/emu/sound.cpp
+++ b/src/emu/sound.cpp
@@ -761,6 +761,9 @@ read_stream_view sound_stream::update_view(attotime start, attotime end, u32 out
}
g_profiler.stop();
+ if (!m_output_view[outputnum].valid())
+ m_output_view[outputnum] = empty_view(start, end);
+
// return the requested view
return read_stream_view(m_output_view[outputnum], start);
}
diff --git a/src/emu/sound.h b/src/emu/sound.h
index 15f6a574..bfa45c45 100644
--- a/src/emu/sound.h
+++ b/src/emu/sound.h
@@ -284,6 +284,9 @@ public:
return *this;
}
+ // check basic constraints
+ bool valid() const { return m_buffer != nullptr; }
+
// return the local gain
sample_t gain() const { return m_gain; }

View file

@ -0,0 +1,13 @@
diff --git a/src/devices/machine/ym3802.cpp b/src/devices/machine/ym3802.cpp
index 4a8f6a7ffae..d1bf2b961f6 100644
--- a/src/devices/machine/ym3802.cpp
+++ b/src/devices/machine/ym3802.cpp
@@ -45,7 +45,7 @@ void ym3802_device::device_start()
void ym3802_device::device_reset()
{
- m_reg.clear();
+ m_reg.assign(REG_MAX, 0);
reset_irq(0xff);
transmit_register_reset();
receive_register_reset();

@ -1 +1 @@
Subproject commit 0b1cfb79e591e10488a3262d6b38db843c39a409
Subproject commit 717b78093797270877ec416e58082f1c71d435d8

149
removed-modules.yml Normal file
View file

@ -0,0 +1,149 @@
# pcsx2-qt needs QT6, maybe others, here until every qt emulator will support qt6 (not yuzu atm)
# from: https://github.com/flathub/org.profex_xrd.Profex
# - name: qt6-core5compat
# buildsystem: cmake-ninja
# builddir: true
# sources:
# - type: archive
# url: https://download.qt.io/official_releases/qt/6.2/6.2.4/submodules/qt5compat-everywhere-src-6.2.4.tar.xz
# sha256: 5de2b9e25bf7de161fbb88ecdd468ed1788bc899392fc05ed80aa590ebb352fa
# x-checker-data:
# type: html
# url: https://download.qt.io/official_releases/qt/6.2/
# version-pattern: '>([\d\.-]*)/<'
# url-template: https://download.qt.io/official_releases/qt/6.2/$version/submodules/qt5compat-everywhere-src-$version.tar.xz
# post-install:
# - mkdir -p /app/lib/mkspecs
# - cp -R /app/mkspecs/* /app/lib/mkspecs/
# - ln -fsr ${FLATPAK_DEST}/lib/${FLATPAK_ARCH}-linux-gnu/libQt*.so* -t ${FLATPAK_DEST}/lib/
# - sed -i 's/\\([0-9]\\+\\.[0-9]\\+\\)\\.[0-9]\\+ ${_Qt6.*_FIND_VERSION_EXACT}/\\1/'
# ${FLATPAK_DEST}/lib/${FLATPAK_ARCH}-linux-gnu/cmake/Qt6*/Qt6*Config.cmake
# - sed -e 's@PATHS \"${CMAKE_CURRENT_LIST_DIR}/..\" NO_DEFAULT_PATH@PATHS \"${CMAKE_CURRENT_LIST_DIR}/..\"
# \"/usr/lib/${CMAKE_CXX_LIBRARY_ARCHITECTURE}/cmake/\" NO_DEFAULT_PATH@' -i
# ${FLATPAK_DEST}/lib/${FLATPAK_ARCH}-linux-gnu/cmake/Qt6*/Qt6*Config.cmake
# - sed -e 's@\\($$QT_MODULE_BIN_BASE\\)@\\1 '${FLATPAK_DEST}'/bin @' -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
# - sed -e 's@\\($$QT_MODULE_INCLUDE_BASE \\)@\\1'${FLATPAK_DEST}'/include @'
# -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
# - sed -e 's@$$QT_MODULE_INCLUDE_BASE/@'${FLATPAK_DEST}'/include/@g' -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
# - sed -e 's@$$QT_MODULE_LIB_BASE@'${FLATPAK_DEST}'/lib@g' -i ${FLATPAK_DEST}/lib/mkspecs/modules/*.pri
# cleanup:
# - /app/mkspecs
# XEMU: libglu removed due to a certificate issue, check libglu module for more info
# - name: libglu
# buildsystem: meson
# cleanup:
# - /include
# - /lib/debug
# - /lib/pkgconfig
# - /lib/*.a
# sources:
# - type: archive
# url: http://mesa.freedesktop.org/archive/glu/glu-9.0.2.tar.xz
# sha256: 6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4
# x-checker-data:
# type: anitya
# project-id: 13518
# stable-only: true
# url-template: http://mesa.freedesktop.org/archive/glu/glu-$version.tar.xz
# Duckstation - START
# https://github.com/flathub/org.duckstation.DuckStation
# Disabled until we completely switch to QT6
# - name: duckstation
# buildsystem: cmake-ninja
# no-make-install: true
# builddir: true
# config-opts:
# - -DCMAKE_BUILD_TYPE=RelWithDebInfo
# - -DUSE_EGL=ON
# - -DUSE_SDL2=ON
# - -DUSE_WAYLAND=ON
# - -DUSE_X11=ON
# - -DUSE_DRMKMS=ON
# - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
# post-install:
# - install -m755 bin/duckstation-qt /app/bin
# - cp -r ../data/* bin/translations /app/bin
# sources:
# - type: git
# url: https://github.com/stenzek/duckstation.git
# commit: 6f709468601183083b8581d4952aaba7baf77084
# # Cloning dep/msvc/qt is only necessary for Windows
# disable-submodules: true
# Duckstation - END
# Duckstation-DontUpdate - START
# Old version moved to QT6 so it's either this or AppImage
# But AppImage is a single one that keep getting updated at the same link so the sha (that's mandatory) will break the build
# So yeah we're stuck with this for a while
# - name: duckstation-DontUpdate
# buildsystem: cmake-ninja
# no-make-install: true
# builddir: true
# config-opts:
# - -DCMAKE_BUILD_TYPE=Release
# - -DUSE_EGL=ON
# - -DUSE_SDL2=ON
# - -DUSE_WAYLAND=ON
# - -DUSE_X11=ON
# - -DUSE_DRMKMS=ON
# - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
# post-install:
# - install -m 755 -t /app/bin/ bin/duckstation-nogui bin/duckstation-qt
# - |-
# for px in 16 32 48 64 128 256; do
# install -Dm644 ../extras/icons/icon-${px}px.png /app/share/icons/hicolor/${px}x${px}/apps/org.duckstation.DuckStation.png
# done
# - cp -r ../data/* bin/translations /app/bin
# sources:
# - type: git
# url: https://github.com/stenzek/duckstation.git
# commit: 3fb61865e505ba639609fbf16cb8bdf5c66e020c
# Duckstation-DontUpdate - END
# Ryujinx Appimage - START
# https://ryujinx.org/download
# - name: Ryujinx
# buildsystem: simple
# build-commands:
# - |
# tar -zxvf ryujinx-1.1.685-linux_x64.tar.gz
# mv -v publish ${FLATPAK_DEST}/ryujinx
# ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx
# sources:
# - type: file
# url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.685/ryujinx-1.1.685-linux_x64.tar.gz
# sha256: bc4d7076106d7aa59c3a3ea22b83c553e5fa1a897815831adcf18cc13d729e15
# Ryujinx Appimage - END
# Vita3K - START
# Very broken, disabled
# NOTE: this is a continuos release, it's provided but not supported
# to update this module:
# wget https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip -O rd-submodules/vita3k/vita3k-14-01-23.zip
# sha256sum rd-submodules/vita3k/vita3k*.zip
# change url and sha
# check the branch in the url
# - name: Vita3K
# buildsystem: simple
# build-commands:
# - |
# mkdir -p ${FLATPAK_DEST}/vita3k
# cp -r * ${FLATPAK_DEST}/vita3k
# chmod +x ${FLATPAK_DEST}/vita3k/Vita3K
# ln -s ${FLATPAK_DEST}/vita3k/Vita3K /app/bin/Vita3K
# sources:
# - type: archive
# url: https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip
# sha256: VITASHAPLACEHOLDER
# Vita3K - END