TEST: trying to build origina untouched manifest
7
.github/workflows/build_mame.yml
vendored
|
@ -25,11 +25,8 @@ jobs:
|
|||
- name: "Install dependencies"
|
||||
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"
|
||||
run: cat net.retrodeck.mame.yml
|
||||
run: cat org.mamedev.MAME.yaml
|
||||
|
||||
- name: "Build flatpak"
|
||||
id: "flatpak-download"
|
||||
|
@ -39,7 +36,7 @@ jobs:
|
|||
--install-deps-from=flathub-beta \
|
||||
--repo=${GITHUB_WORKSPACE}/mame-repo \
|
||||
"${GITHUB_WORKSPACE}"/mame-build-dir \
|
||||
net.retrodeck.mame.yml
|
||||
org.mamedev.MAME.yaml
|
||||
|
||||
- name: Create Artifact for RetroDECK
|
||||
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();
|