diff options
author | Matti Niemenmaa | 2016-07-09 20:58:26 +0300 |
---|---|---|
committer | Matti Niemenmaa | 2016-07-09 20:58:26 +0300 |
commit | bae366f07148ad7f91efbc0573538dcd6de9a1ad (patch) | |
tree | d77af2d4b65e88a157da73c0067175416f13ed56 | |
parent | 990640b5a10a97f6fdf0dec61036ccbeba0e8eb2 (diff) | |
download | aur-bae366f07148ad7f91efbc0573538dcd6de9a1ad.tar.gz |
Very hackily patch some zero division issues
I have absolutely no idea what the meaning of this value is or why it is
sometimes initialized to zero here, but doing this prevents some zero
division errors and thus makes some files play seemingly correctly.
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 9 | ||||
-rw-r--r-- | zero-div.patch | 20 |
3 files changed, 29 insertions, 4 deletions
@@ -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 @@ -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; |