[packages/Atari800] - added nodisk patch (make disk change detection work)

qboosh qboosh at pld-linux.org
Thu Jan 14 22:14:10 CET 2021


commit cd06230fa4b90d9a0c59e471a4a7e3a999987e16
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Jan 14 22:14:14 2021 +0100

    - added nodisk patch (make disk change detection work)

 Atari800-nodisk.patch | 15 +++++++++++++++
 Atari800.spec         |  4 ++--
 2 files changed, 17 insertions(+), 2 deletions(-)
---
diff --git a/Atari800.spec b/Atari800.spec
index 5912731..e8b675f 100644
--- a/Atari800.spec
+++ b/Atari800.spec
@@ -10,6 +10,7 @@ Source0:	https://github.com/atari800/atari800/releases/download/ATARI800_4_2_0/a
 # Source0-md5:	695031b9bc3461cd18ec9090779d984b
 Source1:	%{name}-chooser
 Patch0:		%{name}-romdir.patch
+Patch1:		%{name}-nodisk.patch
 URL:		https://atari800.github.io/
 BuildRequires:	SDL-devel >= 1.2
 BuildRequires:	automake
@@ -50,7 +51,6 @@ oraz X11.
 %package x11
 Summary:	Atari 800 Emulator - X Window version
 Summary(pl.UTF-8):	Emulator Atari 800 - wersja dla systemu X Window
-License:	GPL
 Group:		Applications/Emulators
 Requires:	%{name}-common = %{version}-%{release}
 
@@ -69,7 +69,6 @@ obsługą dźwięku OSS i joysticka.
 %package SDL
 Summary:	Atari 800 Emulator - SDL version
 Summary(pl.UTF-8):	Emulator Atari 800 - wersja SDL
-License:	GPL
 Group:		Applications/Emulators
 Requires:	%{name}-common = %{version}-%{release}
 Obsoletes:	Atari800-svga < 2.1.0
@@ -89,6 +88,7 @@ obsługą dźwięku i joysticka.
 %prep
 %setup -q -n atari800-%{version}
 %patch0 -p1
+%patch1 -p1
 
 %build
 cp -f /usr/share/automake/config.sub .
diff --git a/Atari800-nodisk.patch b/Atari800-nodisk.patch
new file mode 100644
index 0000000..1d6ac13
--- /dev/null
+++ b/Atari800-nodisk.patch
@@ -0,0 +1,15 @@
+Allows disk flip autodetection in "The Big Demo" to work
+(disk1 -> empty -> disk2 cycle and the opposite)
+--- atari800-4.2.0/src/sio.c.orig	2019-12-28 18:00:29.000000000 +0100
++++ atari800-4.2.0/src/sio.c	2021-01-14 17:31:08.961358709 +0100
+@@ -1083,7 +1083,9 @@
+ 		Log_print("Drive Status unit %d %x %x %x %x",unit,buffer[0], buffer[1], buffer[2], buffer[3]);
+ 		return 'C';
+ 	}	
+-	buffer[0] = 16;         /* drive active */
++       /* DVSTAT0 bit 4: drive active(?)/motor on;
++          "The Big Demo" expects 0->1 trigger to detect disk insertion after "flip the disk" message */
++	buffer[0] = disk[unit] != NULL ? 16 : 0;
+ 	buffer[1] = disk[unit] != NULL ? 255 /* WD 177x OK */ : 127 /* no disk */;
+ 	if (io_success[unit] != 0)
+ 		buffer[0] |= 4;     /* failed RW-operation */
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/Atari800.git/commitdiff/cd06230fa4b90d9a0c59e471a4a7e3a999987e16



More information about the pld-cvs-commit mailing list