summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD9
-rw-r--r--zero-div.patch20
3 files changed, 29 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index c4187d67d2b2..24655a7cacb2 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = mdxmini-git
pkgdesc = Library and command line player for Sharp X68000 MDX music files
pkgver = r19.eda5bca
- pkgrel = 3
+ pkgrel = 4
url = https://github.com/weimingtom/mdxplayer/tree/master/jni/mdxmini
arch = i686
arch = x86_64
@@ -11,10 +11,12 @@ pkgbase = mdxmini-git
source = buffer-size.patch
source = makefiles.patch
source = integer-overflow.patch
+ source = zero-div.patch
sha256sums = SKIP
sha256sums = 4f8ec91487736c9ad864f54c615b491c406464573469ed59b1d4f6be77cf2812
sha256sums = 8711dd394c9b99e351026a8e88583d61142cab29a344434338b9589022a64582
sha256sums = e6210879c1418b30ed6645675822a572edae1b223cbca9fdf30b3d398c787a4c
+ sha256sums = bcc4f85ace781ad6298b81f90dc691f5aca627611d387dfc6c350a3145c1807a
pkgname = mdxmini-git
depends = glibc
diff --git a/PKGBUILD b/PKGBUILD
index 2c62fa8d2d36..250b6b171f1a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
pkgbase=mdxmini-git
pkgname=(mdxmini-git mdxplay-git)
pkgver=r19.eda5bca
-pkgrel=3
+pkgrel=4
pkgdesc='Library and command line player for Sharp X68000 MDX music files'
arch=(i686 x86_64)
# BouKiCHi's original repo seems to be gone so use this random, most up to
@@ -12,11 +12,13 @@ makedepends=(git)
source=("$pkgbase"::'git+https://github.com/weimingtom/mdxplayer.git'
buffer-size.patch
makefiles.patch
- integer-overflow.patch)
+ integer-overflow.patch
+ zero-div.patch)
sha256sums=('SKIP'
'4f8ec91487736c9ad864f54c615b491c406464573469ed59b1d4f6be77cf2812'
'8711dd394c9b99e351026a8e88583d61142cab29a344434338b9589022a64582'
- 'e6210879c1418b30ed6645675822a572edae1b223cbca9fdf30b3d398c787a4c')
+ 'e6210879c1418b30ed6645675822a572edae1b223cbca9fdf30b3d398c787a4c'
+ 'bcc4f85ace781ad6298b81f90dc691f5aca627611d387dfc6c350a3145c1807a')
pkgver() {
cd "$srcdir/$pkgbase"
@@ -31,6 +33,7 @@ prepare() {
patch -p1 -i "$srcdir"/makefiles.patch
patch -p1 -i "$srcdir"/buffer-size.patch
patch -p0 -i "$srcdir"/integer-overflow.patch
+ patch -p0 -i "$srcdir"/zero-div.patch
}
build() {
diff --git a/zero-div.patch b/zero-div.patch
new file mode 100644
index 000000000000..096966841441
--- /dev/null
+++ b/zero-div.patch
@@ -0,0 +1,20 @@
+diff --git jni/mdxmini/src/mdxmml_ym2151.c jni/mdxmini/src/mdxmml_ym2151.c
+index 4594762..cc9ca7c 100755
+--- jni/mdxmini/src/mdxmml_ym2151.c
++++ jni/mdxmini/src/mdxmml_ym2151.c
+@@ -1041,6 +1041,7 @@ set_plfo( int track, int v1, int v2, int v3, int v4, int v5, songdata *data )
+ if ( v1 > 4 ) d*=256;
+ /*fprintf(stderr,"%d %d %d %d\n", track, v1, t, d);fflush(stderr);*/
+ mdx->track[track].p_lfo_form = v1;
++ if (t < 2) t = 2; /* HACK to prevent zero division, no idea what's correct */
+ mdx->track[track].p_lfo_clock = t;
+ mdx->track[track].p_lfo_depth = d;
+ mdx->track[track].p_lfo_flag = FLAG_TRUE;
+@@ -1092,6 +1093,7 @@ set_alfo( int track, int v1, int v2, int v3, int v4, int v5, songdata *data )
+ d = d-0x10000;
+ }
+ mdx->track[track].a_lfo_form = v1;
++ if (t < 2) t = 2; /* HACK to prevent zero division, no idea what's correct */
+ mdx->track[track].a_lfo_clock = t;
+ mdx->track[track].a_lfo_depth = d;
+ mdx->track[track].a_lfo_flag = FLAG_TRUE;