TEST: trying to build origina untouched manifest
7
.github/workflows/build_mame.yml
vendored
|
@ -25,11 +25,8 @@ jobs:
|
||||||
- name: "Install dependencies"
|
- name: "Install dependencies"
|
||||||
run: "automation_tools/install_dependencies.sh"
|
run: "automation_tools/install_dependencies.sh"
|
||||||
|
|
||||||
- name: "Creating MAME manifest"
|
|
||||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/update_mame_manifest.sh"
|
|
||||||
|
|
||||||
- name: "[DEBUG] Outputting manifest"
|
- name: "[DEBUG] Outputting manifest"
|
||||||
run: cat net.retrodeck.mame.yml
|
run: cat org.mamedev.MAME.yaml
|
||||||
|
|
||||||
- name: "Build flatpak"
|
- name: "Build flatpak"
|
||||||
id: "flatpak-download"
|
id: "flatpak-download"
|
||||||
|
@ -39,7 +36,7 @@ jobs:
|
||||||
--install-deps-from=flathub-beta \
|
--install-deps-from=flathub-beta \
|
||||||
--repo=${GITHUB_WORKSPACE}/mame-repo \
|
--repo=${GITHUB_WORKSPACE}/mame-repo \
|
||||||
"${GITHUB_WORKSPACE}"/mame-build-dir \
|
"${GITHUB_WORKSPACE}"/mame-build-dir \
|
||||||
net.retrodeck.mame.yml
|
org.mamedev.MAME.yaml
|
||||||
|
|
||||||
- name: Create Artifact for RetroDECK
|
- name: Create Artifact for RetroDECK
|
||||||
run: |
|
run: |
|
||||||
|
|
41
floppy.patch
Normal 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;
|
38
mame.ini
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
|
||||||
|
#
|
||||||
|
# BGFX POST-PROCESSING OPTIONS
|
||||||
|
#
|
||||||
|
bgfx_path /app/share/mame/bgfx
|
BIN
mame128x128.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
mame16x16.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
mame24x24.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
mame256x256.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
mame32x32.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
mame48x48.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
mame64x64.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
8
org.mamedev.MAME.desktop
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=MAME
|
||||||
|
GenericName=Emulator
|
||||||
|
Comment=A multi-purpose emulation framework
|
||||||
|
Exec=mame
|
||||||
|
Type=Application
|
||||||
|
Icon=org.mamedev.MAME
|
||||||
|
Categories=Game;ArcadeGame;Emulator
|
57
org.mamedev.MAME.metainfo.xml
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<component type="desktop-application">
|
||||||
|
<id>org.mamedev.MAME</id>
|
||||||
|
<metadata_license>CC0-1.0</metadata_license>
|
||||||
|
<project_license>GPL-2.0-or-later</project_license>
|
||||||
|
<name>MAME</name>
|
||||||
|
<summary>
|
||||||
|
MAME is a multi-purpose emulation framework.
|
||||||
|
</summary>
|
||||||
|
<description>
|
||||||
|
<p>
|
||||||
|
MAME's purpose is to preserve decades of software history. As electronic technology continues to rush
|
||||||
|
forward, MAME prevents this important "vintage" software from being lost and forgotten. This is
|
||||||
|
achieved by documenting the hardware and how it functions. The source code to MAME serves as this documentation.
|
||||||
|
The fact that the software is usable serves primarily to validate the accuracy of the documentation (how else
|
||||||
|
can you prove that you have recreated the hardware faithfully?). Over time, MAME (originally stood for Multiple
|
||||||
|
Arcade Machine Emulator) absorbed the sister-project MESS (Multi Emulator Super System), so MAME now documents a
|
||||||
|
wide variety of (mostly vintage) computers, video game consoles and calculators, in addition to the arcade video
|
||||||
|
games that were its initial focus.
|
||||||
|
</p>
|
||||||
|
</description>
|
||||||
|
<categories>
|
||||||
|
<category>Game</category>
|
||||||
|
<category>ArcadeGame</category>
|
||||||
|
<category>Emulator</category>
|
||||||
|
</categories>
|
||||||
|
<url type="homepage">https://www.mamedev.org</url>
|
||||||
|
<launchable type="desktop-id">org.mamedev.MAME.desktop</launchable>
|
||||||
|
<releases>
|
||||||
|
<release version="0.261" date="2023-11-29"/>
|
||||||
|
<release version="0.260" date="2023-10-25"/>
|
||||||
|
<release version="0.259" date="2023-09-29"/>
|
||||||
|
<release version="0.258" date="2023-08-30"/>
|
||||||
|
<release version="0.257" date="2023-07-28"/>
|
||||||
|
<release version="0.256" date="2023-06-28"/>
|
||||||
|
<release version="0.255" date="2023-05-31"/>
|
||||||
|
<release version="0.254" date="2023-04-27"/>
|
||||||
|
<release version="0.253" date="2023-03-30"/>
|
||||||
|
<release version="0.252" date="2023-02-22"/>
|
||||||
|
<release version="0.251" date="2022-12-31"/>
|
||||||
|
<release version="0.250" date="2022-11-30"/>
|
||||||
|
<release version="0.249" date="2022-10-27"/>
|
||||||
|
<release version="0.248" date="2022-09-28"/>
|
||||||
|
<release version="0.247" date="2022-08-31"/>
|
||||||
|
<release version="0.246" date="2022-07-31"/>
|
||||||
|
<release version="0.245" date="2022-06-30"/>
|
||||||
|
</releases>
|
||||||
|
<provides>
|
||||||
|
<binary>mame</binary>
|
||||||
|
</provides>
|
||||||
|
<content_rating type="oars-1.0" />
|
||||||
|
<screenshots>
|
||||||
|
<screenshot type="default">
|
||||||
|
<image type="source" width="1280" height="960">https://upload.wikimedia.org/wikipedia/commons/6/6f/NewMAME.png</image>
|
||||||
|
</screenshot>
|
||||||
|
</screenshots>
|
||||||
|
</component>
|
89
org.mamedev.MAME.yaml
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
id: org.mamedev.MAME
|
||||||
|
runtime: org.kde.Platform
|
||||||
|
runtime-version: 5.15-23.08
|
||||||
|
sdk: org.kde.Sdk
|
||||||
|
command: mame
|
||||||
|
separate-locales: false
|
||||||
|
finish-args:
|
||||||
|
- --device=all
|
||||||
|
- --persist=.mame
|
||||||
|
- --filesystem=home
|
||||||
|
- --filesystem=host:ro
|
||||||
|
- --share=network
|
||||||
|
- --share=ipc
|
||||||
|
- --socket=x11
|
||||||
|
- --socket=fallback-x11
|
||||||
|
- --socket=pulseaudio
|
||||||
|
- --socket=wayland
|
||||||
|
- --allow=bluetooth
|
||||||
|
modules:
|
||||||
|
- name: mame
|
||||||
|
buildsystem: simple
|
||||||
|
build-options:
|
||||||
|
no-debuginfo: true
|
||||||
|
strip: true
|
||||||
|
build-commands:
|
||||||
|
- make
|
||||||
|
-j ${FLATPAK_BUILDER_N_JOBS}
|
||||||
|
CFLAGS+=-Wno-error=restrict
|
||||||
|
USE_WAYLAND=1
|
||||||
|
USE_SYSTEM_LIB_FLAC=1
|
||||||
|
SDL_INI_PATH='$$HOME/.APP_NAME;/app/share/APP_NAME/ini'
|
||||||
|
LDOPTS=-Wl,-s
|
||||||
|
- install -Dm 0755 mame ${FLATPAK_DEST}/bin/mame
|
||||||
|
- install -Dm 0644 ${FLATPAK_ID}.desktop ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop
|
||||||
|
- install -Dm 0644 ${FLATPAK_ID}.metainfo.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml
|
||||||
|
- install -Dm 0644 mame16x16.png ${FLATPAK_DEST}/share/icons/hicolor/16x16/apps/${FLATPAK_ID}.png
|
||||||
|
- install -Dm 0644 mame24x24.png ${FLATPAK_DEST}/share/icons/hicolor/24x24/apps/${FLATPAK_ID}.png
|
||||||
|
- install -Dm 0644 mame32x32.png ${FLATPAK_DEST}/share/icons/hicolor/32x32/apps/${FLATPAK_ID}.png
|
||||||
|
- install -Dm 0644 mame48x48.png ${FLATPAK_DEST}/share/icons/hicolor/48x48/apps/${FLATPAK_ID}.png
|
||||||
|
- install -Dm 0644 mame64x64.png ${FLATPAK_DEST}/share/icons/hicolor/64x64/apps/${FLATPAK_ID}.png
|
||||||
|
- install -Dm 0644 mame128x128.png ${FLATPAK_DEST}/share/icons/hicolor/128x128/apps/${FLATPAK_ID}.png
|
||||||
|
- install -Dm 0644 mame256x256.png ${FLATPAK_DEST}/share/icons/hicolor/256x256/apps/${FLATPAK_ID}.png
|
||||||
|
- cp COPYING ${FLATPAK_DEST}/bin/
|
||||||
|
- cp uismall.bdf ${FLATPAK_DEST}/bin/
|
||||||
|
- mkdir -p ${FLATPAK_DEST}/share/mame/
|
||||||
|
- cp -r artwork/ ${FLATPAK_DEST}/share/mame/
|
||||||
|
- cp -r bgfx/ ${FLATPAK_DEST}/share/mame/
|
||||||
|
- cp -r ctrlr/ ${FLATPAK_DEST}/share/mame/
|
||||||
|
- mkdir -p ${FLATPAK_DEST}/share/mame/docs/
|
||||||
|
- cp -r docs/legal/ ${FLATPAK_DEST}/share/mame/docs/
|
||||||
|
- cp -r docs/man/ ${FLATPAK_DEST}/share/mame/docs
|
||||||
|
- cp -r hash/ ${FLATPAK_DEST}/share/mame/
|
||||||
|
- cp -r hlsl/ ${FLATPAK_DEST}/share/mame/
|
||||||
|
- cp -r ini/ ${FLATPAK_DEST}/share/mame/
|
||||||
|
- install -Dm 0644 mame.ini ${FLATPAK_DEST}/share/mame/ini/mame.ini
|
||||||
|
- cp -r language/ ${FLATPAK_DEST}/share/mame/
|
||||||
|
- cp -r plugins/ ${FLATPAK_DEST}/share/mame/
|
||||||
|
- cp -r roms/ ${FLATPAK_DEST}/share/mame/
|
||||||
|
- cp -r samples/ ${FLATPAK_DEST}/share/mame/
|
||||||
|
sources:
|
||||||
|
- type: archive
|
||||||
|
url: https://github.com/mamedev/mame/archive/refs/tags/mame0261.tar.gz
|
||||||
|
sha256: 51d5ce1563897709ceb7a924c31a70cc5ff2bec466aab8d0cc9ff3cc72b38899
|
||||||
|
- type: file
|
||||||
|
path: mame16x16.png
|
||||||
|
- type: file
|
||||||
|
path: mame24x24.png
|
||||||
|
- type: file
|
||||||
|
path: mame32x32.png
|
||||||
|
- type: file
|
||||||
|
path: mame48x48.png
|
||||||
|
- type: file
|
||||||
|
path: mame64x64.png
|
||||||
|
- type: file
|
||||||
|
path: mame128x128.png
|
||||||
|
- type: file
|
||||||
|
path: mame256x256.png
|
||||||
|
- type: file
|
||||||
|
path: org.mamedev.MAME.desktop
|
||||||
|
- type: file
|
||||||
|
path: org.mamedev.MAME.metainfo.xml
|
||||||
|
- type: file
|
||||||
|
path: mame.ini
|
||||||
|
- type: patch
|
||||||
|
path: floppy.patch
|
||||||
|
- type: patch
|
||||||
|
path: sound.patch
|
||||||
|
- type: patch
|
||||||
|
path: ym3802.patch
|
28
sound.patch
Normal 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; }
|
||||||
|
|
13
ym3802.patch
Normal 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();
|