Fix dropped characters on landisk (sh4). Now the arrow keys work in the installer.diff -r1.57 -r1.58 pkgsrc/emulators/gxemul/Makefile
(christos)
@@ -1,49 +1,49 @@ | @@ -1,49 +1,49 @@ | |||
1 | # $NetBSD: Makefile,v 1.57 2017/06/29 17:51:46 christos Exp $ | 1 | # $NetBSD: Makefile,v 1.58 2017/07/16 14:10:58 christos Exp $ | |
2 | 2 | |||
3 | DISTNAME= gxemul-0.6.0.1 | 3 | DISTNAME= gxemul-0.6.0.1 | |
4 | PKGREVISION= 4 | 4 | PKGREVISION= 5 | |
5 | CATEGORIES= emulators | 5 | CATEGORIES= emulators | |
6 | MASTER_SITES= http://gxemul.sourceforge.net/src/ | 6 | MASTER_SITES= http://gxemul.sourceforge.net/src/ | |
7 | 7 | |||
8 | MAINTAINER= pkgsrc-users@NetBSD.org | 8 | MAINTAINER= pkgsrc-users@NetBSD.org | |
9 | HOMEPAGE= http://gxemul.sourceforge.net/ | 9 | HOMEPAGE= http://gxemul.sourceforge.net/ | |
10 | COMMENT= Framework for full-system computer architecture emulation | 10 | COMMENT= Framework for full-system computer architecture emulation | |
11 | LICENSE= modified-bsd | 11 | LICENSE= modified-bsd | |
12 | 12 | |||
13 | USE_TOOLS+= pax | 13 | USE_TOOLS+= pax | |
14 | 14 | |||
15 | USE_LANGUAGES= c c++ | 15 | USE_LANGUAGES= c c++ | |
16 | HAS_CONFIGURE= yes | 16 | HAS_CONFIGURE= yes | |
17 | BUILD_TARGET= build | 17 | BUILD_TARGET= build | |
18 | 18 | |||
19 | LDFLAGS.SunOS+= -lsocket -lnsl | 19 | LDFLAGS.SunOS+= -lsocket -lnsl | |
20 | 20 | |||
21 | INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 share/doc/${PKGBASE} | 21 | INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 share/doc/${PKGBASE} | |
22 | 22 | |||
23 | do-install: | 23 | do-install: | |
24 | ${INSTALL_PROGRAM} ${WRKSRC}/gxemul ${DESTDIR}${PREFIX}/bin | 24 | ${INSTALL_PROGRAM} ${WRKSRC}/gxemul ${DESTDIR}${PREFIX}/bin | |
25 | ${INSTALL_MAN} ${WRKSRC}/man/gxemul.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 | 25 | ${INSTALL_MAN} ${WRKSRC}/man/gxemul.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 | |
26 | .for f in README HISTORY LICENSE | 26 | .for f in README HISTORY LICENSE | |
27 | ${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} | 27 | ${INSTALL_DATA} ${WRKSRC}/${f} ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} | |
28 | .endfor | 28 | .endfor | |
29 | cd ${WRKSRC}/doc && pax -rwppm . ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} | 29 | cd ${WRKSRC}/doc && pax -rwppm . ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} | |
30 | 30 | |||
31 | PKG_OPTIONS_VAR= PKG_OPTIONS.gxemul | 31 | PKG_OPTIONS_VAR= PKG_OPTIONS.gxemul | |
32 | PKG_SUPPORTED_OPTIONS= x11 | 32 | PKG_SUPPORTED_OPTIONS= x11 | |
33 | PKG_SUGGESTED_OPTIONS= x11 | 33 | PKG_SUGGESTED_OPTIONS= x11 | |
34 | 34 | |||
35 | .include "../../mk/bsd.options.mk" | 35 | .include "../../mk/bsd.options.mk" | |
36 | 36 | |||
37 | .if !empty(PKG_OPTIONS:Mx11) | 37 | .if !empty(PKG_OPTIONS:Mx11) | |
38 | GLOBAL_LDFLAGS= -L${X11BASE}/lib ${COMPILER_RPATH_FLAG}${X11BASE}/lib | 38 | GLOBAL_LDFLAGS= -L${X11BASE}/lib ${COMPILER_RPATH_FLAG}${X11BASE}/lib | |
39 | SUBST_CLASSES+= x11 | 39 | SUBST_CLASSES+= x11 | |
40 | SUBST_STAGE.x11= post-patch | 40 | SUBST_STAGE.x11= post-patch | |
41 | SUBST_FILES.x11= configure | 41 | SUBST_FILES.x11= configure | |
42 | SUBST_SED.x11= -e 's|-L/usr/X11R6/lib|${GLOBAL_LDFLAGS:Q}|g' | 42 | SUBST_SED.x11= -e 's|-L/usr/X11R6/lib|${GLOBAL_LDFLAGS:Q}|g' | |
43 | SUBST_SED.x11+= -e 's|/usr/X11R6|${X11BASE}|g' | 43 | SUBST_SED.x11+= -e 's|/usr/X11R6|${X11BASE}|g' | |
44 | SUBST_MESSAGE.x11= Fixing X linking flags. | 44 | SUBST_MESSAGE.x11= Fixing X linking flags. | |
45 | 45 | |||
46 | .include "../../x11/libX11/buildlink3.mk" | 46 | .include "../../x11/libX11/buildlink3.mk" | |
47 | .endif | 47 | .endif | |
48 | 48 | |||
49 | .include "../../mk/bsd.pkg.mk" | 49 | .include "../../mk/bsd.pkg.mk" |
@@ -1,21 +1,23 @@ | @@ -1,21 +1,23 @@ | |||
1 | $NetBSD: distinfo,v 1.47 2017/06/29 17:51:46 christos Exp $ | 1 | $NetBSD: distinfo,v 1.48 2017/07/16 14:10:58 christos Exp $ | |
2 | 2 | |||
3 | SHA1 (gxemul-0.6.0.1.tar.gz) = 8a9b7a6c08628c2a59a6e7e9c7c449c3826b4744 | 3 | SHA1 (gxemul-0.6.0.1.tar.gz) = 8a9b7a6c08628c2a59a6e7e9c7c449c3826b4744 | |
4 | RMD160 (gxemul-0.6.0.1.tar.gz) = 6943173d4149bfe40218715b8ed2c82b5b361e50 | 4 | RMD160 (gxemul-0.6.0.1.tar.gz) = 6943173d4149bfe40218715b8ed2c82b5b361e50 | |
5 | SHA512 (gxemul-0.6.0.1.tar.gz) = 028764c751d67bf5da02ee2c34e6607660c2044e431b06c3d6799ba4e76f605b8c02afaa5f59c3059aff6253e35149831580bb13383121fb5ac0392c12d2aec2 | 5 | SHA512 (gxemul-0.6.0.1.tar.gz) = 028764c751d67bf5da02ee2c34e6607660c2044e431b06c3d6799ba4e76f605b8c02afaa5f59c3059aff6253e35149831580bb13383121fb5ac0392c12d2aec2 | |
6 | Size (gxemul-0.6.0.1.tar.gz) = 5420978 bytes | 6 | Size (gxemul-0.6.0.1.tar.gz) = 5420978 bytes | |
7 | SHA1 (patch-aa) = 6f2c0dc94606ba213bcc73527ea4bef997c89c45 | 7 | SHA1 (patch-aa) = 6f2c0dc94606ba213bcc73527ea4bef997c89c45 | |
8 | SHA1 (patch-ad) = a8757e7397ec3cc301d02bdf93654f55d558d29f | 8 | SHA1 (patch-ad) = a8757e7397ec3cc301d02bdf93654f55d558d29f | |
9 | SHA1 (patch-ae) = 19ef822c16f0f6dd50aea719e0bc797c39d1f9c0 | 9 | SHA1 (patch-ae) = 19ef822c16f0f6dd50aea719e0bc797c39d1f9c0 | |
10 | SHA1 (patch-ag) = 00eb698213b86e84d72b9ae5ece789ec37aea1ab | 10 | SHA1 (patch-ag) = 00eb698213b86e84d72b9ae5ece789ec37aea1ab | |
11 | SHA1 (patch-src_components_cpu_CPUDyntransComponent.cc) = 1a70375b3ed409ef43122ce7e6935c07b4ed386d | 11 | SHA1 (patch-src_components_cpu_CPUDyntransComponent.cc) = 1a70375b3ed409ef43122ce7e6935c07b4ed386d | |
12 | SHA1 (patch-src_components_cpu_M88K__CPUComponent.cc) = 931cdc9a806e9ff48dccb2a63873c52491336b30 | 12 | SHA1 (patch-src_components_cpu_M88K__CPUComponent.cc) = 931cdc9a806e9ff48dccb2a63873c52491336b30 | |
13 | SHA1 (patch-src_components_cpu_MIPS__CPUComponent.cc) = 75d8276092fcdc9f548f874e5807ae8e6a2b9eae | 13 | SHA1 (patch-src_components_cpu_MIPS__CPUComponent.cc) = 75d8276092fcdc9f548f874e5807ae8e6a2b9eae | |
14 | SHA1 (patch-src_console_console.cc) = e0deed737004ab1d64997c778227c0aa9e62fac0 | |||
14 | SHA1 (patch-src_cpus_cpu_mips.cc) = d239116e4ce5e040a1bdf39b803ca9a05500be53 | 15 | SHA1 (patch-src_cpus_cpu_mips.cc) = d239116e4ce5e040a1bdf39b803ca9a05500be53 | |
15 | SHA1 (patch-src_cpus_cpu_mips_instr.cc) = be40f86a103d2366d13a884d957848d4f680dc61 | 16 | SHA1 (patch-src_cpus_cpu_mips_instr.cc) = be40f86a103d2366d13a884d957848d4f680dc61 | |
16 | SHA1 (patch-src_devices_dev__footbridge.cc) = 2dc76e65fff7e6c846d9d06b74bed76075b0c79a | 17 | SHA1 (patch-src_devices_dev__footbridge.cc) = 2dc76e65fff7e6c846d9d06b74bed76075b0c79a | |
18 | SHA1 (patch-src_devices_dev__sh4.cc) = b3bf483fe803d19cb18db7fdf6f0abd64afc6048 | |||
17 | SHA1 (patch-src_include_components_CPUDyntransComponent.h) = 4fa3c327c4ce5ee9e39e7bc49ce6029b2a7da100 | 19 | SHA1 (patch-src_include_components_CPUDyntransComponent.h) = 4fa3c327c4ce5ee9e39e7bc49ce6029b2a7da100 | |
18 | SHA1 (patch-src_include_components_M88K__CPUComponent.h) = afd07ae4df33d0c0a9d3d8c15dca4ef9ee7dd916 | 20 | SHA1 (patch-src_include_components_M88K__CPUComponent.h) = afd07ae4df33d0c0a9d3d8c15dca4ef9ee7dd916 | |
19 | SHA1 (patch-src_include_components_MIPS__CPUComponent.h) = 4e49da9af0d220a1ea7c4520d8e7e53d8d84c155 | 21 | SHA1 (patch-src_include_components_MIPS__CPUComponent.h) = 4e49da9af0d220a1ea7c4520d8e7e53d8d84c155 | |
20 | SHA1 (patch-src_include_refcount__ptr.h) = 8021524ff16d3a9de65bb6188fb8c07296c5c3b7 | 22 | SHA1 (patch-src_include_refcount__ptr.h) = 8021524ff16d3a9de65bb6188fb8c07296c5c3b7 | |
21 | SHA1 (patch-src_machines_machine__pmax.cc) = 19b97031837f9fa911b02d624f824834ce8c0e89 | 23 | SHA1 (patch-src_machines_machine__pmax.cc) = 19b97031837f9fa911b02d624f824834ce8c0e89 |
$NetBSD: patch-src_console_console.cc,v 1.1 2017/07/16 14:10:58 christos Exp $
Change console_charavail() to return the number of characters available
in the FIFO instead of 0/1.
--- /usr/src/gxemul/gxemul-0.6.0.1/src/console/console.cc 2014-08-17 04:45:15.000000000 -0400
+++ ./console.cc 2017-07-16 10:04:04.603287788 -0400
@@ -328,10 +328,19 @@
}
+static int console_room_left_in_fifo(int handle)
+{
+ int roomLeftInFIFO = console_handles[handle].fifo_tail
+ - console_handles[handle].fifo_head;
+ if (roomLeftInFIFO <= 0)
+ roomLeftInFIFO += CONSOLE_FIFO_LEN;
+ return roomLeftInFIFO;
+}
+
/*
* console_charavail():
*
- * Returns 1 if a char is available in the fifo, 0 otherwise.
+ * Returns the number of chararacters available in the fifo.
*/
int console_charavail(int handle)
{
@@ -342,9 +351,7 @@
// If adding more would lead to a full FIFO, then let's
// wait.
- int roomLeftInFIFO = console_handles[handle].fifo_tail - console_handles[handle].fifo_head;
- if (roomLeftInFIFO <= 0)
- roomLeftInFIFO += CONSOLE_FIFO_LEN;
+ int roomLeftInFIFO = console_room_left_in_fifo(handle);
if (roomLeftInFIFO < (int)sizeof(ch) + 1)
break;
@@ -369,11 +376,7 @@
}
}
- if (console_handles[handle].fifo_head ==
- console_handles[handle].fifo_tail)
- return 0;
-
- return 1;
+ return CONSOLE_FIFO_LEN - console_room_left_in_fifo(handle);
}
$NetBSD: patch-src_devices_dev__sh4.cc,v 1.1 2017/07/16 14:10:58 christos Exp $
Put the actual number of characters waiting in the FIFO instead of 1 or 0
--- /usr/src/gxemul/gxemul-0.6.0.1/src/devices/dev_sh4.cc 2014-08-17 04:45:12.000000000 -0400
+++ ./dev_sh4.cc 2017-07-16 09:58:19.288954403 -0400
@@ -1703,8 +1703,8 @@
case SH4_SCIF_BASE + SCIF_FDR:
/* Nr of bytes in the TX and RX fifos, respectively: */
- odata = (console_charavail(d->scif_console_handle)? 1 : 0)
- + (d->scif_tx_fifo_cursize << 8);
+ odata = console_charavail(d->scif_console_handle) |
+ (d->scif_tx_fifo_cursize << 8);
break;
case SH4_SCIF_BASE + SCIF_SPTR: