Version bump. Fixed "keyboard wait" and "delay" bugs. Other minor changes.
authorUlrich Müller <ulm@gentoo.org>
Wed, 25 Apr 2007 20:38:14 +0000 (20:38 +0000)
committerUlrich Müller <ulm@gentoo.org>
Wed, 25 Apr 2007 20:38:14 +0000 (20:38 +0000)
Package-Manager: portage-2.1.2.4

app-emulation/xtrs/ChangeLog
app-emulation/xtrs/Manifest
app-emulation/xtrs/files/digest-xtrs-4.9c [new file with mode: 0644]
app-emulation/xtrs/files/xtrs-4.9c-gentoo.patch [new file with mode: 0644]
app-emulation/xtrs/xtrs-4.9c.ebuild [new file with mode: 0644]

index 6c836066b0d90a4cbd43761bce78c1280b1703e7..318e0a6fe0b4e6ee14ae100ab511f398fb6bfe47 100644 (file)
@@ -1,6 +1,16 @@
 # ChangeLog for app-emulation/xtrs
-# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/xtrs/ChangeLog,v 1.13 2006/08/27 15:07:44 mr_bones_ Exp $
+# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xtrs/ChangeLog,v 1.14 2007/04/25 20:38:14 ulm Exp $
+
+*xtrs-4.9c (25 Apr 2007)
+
+  25 Apr 2007; Ulrich Mueller <ulm@gentoo.org>
+  +files/xtrs-4.9c-gentoo.patch, +xtrs-4.9c.ebuild:
+  Version bump. Fix "keyboard wait" bug when F7, F8, F9, or F10 is hit; use
+  volatile variable to avoid optimisation of delay loop; pass PREFIX, CFLAGS,
+  DISKDIR, etc. directly to emake; output message how to install ROM images;
+  LICENSE changed to as-is; other minor changes. Ebuild and patch submitted by
+  Joe Peterson <joe@skyrush.com>, resolving bug #166715.
 
   27 Aug 2006; Michael Sterrett <mr_bones_@gentoo.org> -xtrs-4.9.ebuild:
   clean out older, non-modX ebuild
index 8dc7d574decf7b9d93b313667d7777cc1cceb67f..7ad0d5319b4d24c1566df23be2a26a2e9a160122 100644 (file)
@@ -5,16 +5,25 @@ AUX xtrs-4.9-gentoo.diff 4318 RMD160 50f9316db744a693f32c8fe2d015b3135162dde6 SH
 MD5 4bcbf9c6717042e4c3793af452ada659 files/xtrs-4.9-gentoo.diff 4318
 RMD160 50f9316db744a693f32c8fe2d015b3135162dde6 files/xtrs-4.9-gentoo.diff 4318
 SHA256 9292ede299cbff3f5b079ba4552a340d06247ee731a30e027fe834654364d394 files/xtrs-4.9-gentoo.diff 4318
+AUX xtrs-4.9c-gentoo.patch 2634 RMD160 a506d312006618f1c769de1e7c51f84b66d90ad7 SHA1 0705eb5785bcd57b8168fd8d1d2a6ac2c558e874 SHA256 bdc658439355ee1b0ad4530d1cafba712865c51fc8c11272054488ad655d218f
+MD5 8cc82059b866290c050e3ccb85002cea files/xtrs-4.9c-gentoo.patch 2634
+RMD160 a506d312006618f1c769de1e7c51f84b66d90ad7 files/xtrs-4.9c-gentoo.patch 2634
+SHA256 bdc658439355ee1b0ad4530d1cafba712865c51fc8c11272054488ad655d218f files/xtrs-4.9c-gentoo.patch 2634
 DIST ld4-631.tar.gz 191393 RMD160 2460b1f5490039c02aaec8e1645b23c511b557d9 SHA1 2ad71c65e5b78fb2c67080ab332f723eb6f90be8 SHA256 7f810d5fe0ce5c2fdabf25b5631ed2c84b19301b2e4df452bc57ca1375a84650
 DIST xtrs-4.9.tar.gz 422910 RMD160 6daabf36a53e4af8b9d6b97d91cba00cc55b406f SHA1 abfbbdb972c7fa2b3545ed42698162a88168bded SHA256 ceb0044ce02f705b256139276e1dcb0b73b39aeb7b0f4f8d243faf9aca3491c4
+DIST xtrs-4.9c.tar.gz 443651 RMD160 db6057adb8a648362856026b9e8b4edd9a43b117 SHA1 23b3440fca962104c7676c633974d413ef4d3b92 SHA256 a5071dee883b83d893467b913441f8bb75984d0d4e567eef0479d43891dfb978
 EBUILD xtrs-4.9-r1.ebuild 1401 RMD160 d7110cb3e1c9181f7449132de715fac613a9ce29 SHA1 750f39ff6c8ce5fb706cf7ab081a12510827d5e2 SHA256 d00fdc5533f079c53d5aa922df12df3a747056d30574ae40022ef11a9d935702
 MD5 6f5ba6999e3184263f15846bcf7dd360 xtrs-4.9-r1.ebuild 1401
 RMD160 d7110cb3e1c9181f7449132de715fac613a9ce29 xtrs-4.9-r1.ebuild 1401
 SHA256 d00fdc5533f079c53d5aa922df12df3a747056d30574ae40022ef11a9d935702 xtrs-4.9-r1.ebuild 1401
-MISC ChangeLog 1363 RMD160 0bc9f8d40c72e41f05084273eb0ba64f88b20b4e SHA1 392bcd138786552ccb7edcaff1a8ae9d71289eec SHA256 7ea8d0beedc1be187dfe52e3efd01bd7ee18060c54ff9c992cb8c2c1fdda08ce
-MD5 30266b7cf199d45fb74c9ad5dfd64161 ChangeLog 1363
-RMD160 0bc9f8d40c72e41f05084273eb0ba64f88b20b4e ChangeLog 1363
-SHA256 7ea8d0beedc1be187dfe52e3efd01bd7ee18060c54ff9c992cb8c2c1fdda08ce ChangeLog 1363
+EBUILD xtrs-4.9c.ebuild 2140 RMD160 1697923e382ab3e6f5149f4e59cdef936ef9f9bf SHA1 cbc1d72c4f38b65424ba97866bd46355d52c2999 SHA256 21b5a175c2f107eff1de3c3927d70f3902916e17651ef7cf6f5a06486bbd4f31
+MD5 d91632143e12539db56ce0a00a5d4a88 xtrs-4.9c.ebuild 2140
+RMD160 1697923e382ab3e6f5149f4e59cdef936ef9f9bf xtrs-4.9c.ebuild 2140
+SHA256 21b5a175c2f107eff1de3c3927d70f3902916e17651ef7cf6f5a06486bbd4f31 xtrs-4.9c.ebuild 2140
+MISC ChangeLog 1850 RMD160 3fec195a731f619873ef144abd28293e05a2c103 SHA1 fc59bb18fa6aeef11267ced9ed04e7b5c4b10240 SHA256 df064d0f7e04ee05b3a78dc0f7dda85012904794f6491f51aeb243426d8046bb
+MD5 ec14a7537b6f19a5c7b779553d232ef5 ChangeLog 1850
+RMD160 3fec195a731f619873ef144abd28293e05a2c103 ChangeLog 1850
+SHA256 df064d0f7e04ee05b3a78dc0f7dda85012904794f6491f51aeb243426d8046bb ChangeLog 1850
 MISC metadata.xml 219 RMD160 e4108515c4905448a3f0666974dfe0606bee0527 SHA1 02c240887d922c73610257891793b3bdec27fc8e SHA256 c1572876b54cc63c7b7ecad4c9adf1b6460d166c41e84b1df0322c5df6497ffb
 MD5 d011c0faecf2cf73ac0eea9bab7ea4c1 metadata.xml 219
 RMD160 e4108515c4905448a3f0666974dfe0606bee0527 metadata.xml 219
@@ -22,10 +31,13 @@ SHA256 c1572876b54cc63c7b7ecad4c9adf1b6460d166c41e84b1df0322c5df6497ffb metadata
 MD5 c44df37f49eae0ae422b068aa848f6ad files/digest-xtrs-4.9-r1 449
 RMD160 3dbc3aacc9590aa4605969c662048f74b5f19b37 files/digest-xtrs-4.9-r1 449
 SHA256 9467758325dbdc1f776e5814fef06cf562867d31211daaac320c9241edeef5c3 files/digest-xtrs-4.9-r1 449
+MD5 2ad8c343c521cd0fa233931860ebe579 files/digest-xtrs-4.9c 452
+RMD160 2681fb78a31fdaceb46c50d560310377e5c7bfd1 files/digest-xtrs-4.9c 452
+SHA256 bdbee17043828bd9201ecaef4893e3c844267546dbcc4b41875fe9237a19a754 files/digest-xtrs-4.9c 452
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.7 (GNU/Linux)
 
-iD8DBQFGKnLuOeoy/oIi7uwRAtyVAKCRnfIRtF6xHgo05eamdqyqReCFdwCg3uhx
-jBnqGxlkq8iI/e237Q/PyhI=
-=ak3M
+iD8DBQFGL7y3Oeoy/oIi7uwRAtKmAKCbvyaf5MUncrXkGkYjATrP6R8oLgCdE2d6
+noh4YSQn8C0G6u2GbHvEwXE=
+=T8Ty
 -----END PGP SIGNATURE-----
diff --git a/app-emulation/xtrs/files/digest-xtrs-4.9c b/app-emulation/xtrs/files/digest-xtrs-4.9c
new file mode 100644 (file)
index 0000000..a3cc6ce
--- /dev/null
@@ -0,0 +1,6 @@
+MD5 22dc427930e156315853e7bcef2cf1eb ld4-631.tar.gz 191393
+RMD160 2460b1f5490039c02aaec8e1645b23c511b557d9 ld4-631.tar.gz 191393
+SHA256 7f810d5fe0ce5c2fdabf25b5631ed2c84b19301b2e4df452bc57ca1375a84650 ld4-631.tar.gz 191393
+MD5 92b9b1fc28b4f341452b14e28c7e302d xtrs-4.9c.tar.gz 443651
+RMD160 db6057adb8a648362856026b9e8b4edd9a43b117 xtrs-4.9c.tar.gz 443651
+SHA256 a5071dee883b83d893467b913441f8bb75984d0d4e567eef0479d43891dfb978 xtrs-4.9c.tar.gz 443651
diff --git a/app-emulation/xtrs/files/xtrs-4.9c-gentoo.patch b/app-emulation/xtrs/files/xtrs-4.9c-gentoo.patch
new file mode 100644 (file)
index 0000000..113e26a
--- /dev/null
@@ -0,0 +1,85 @@
+diff -Nur xtrs-4.9c-orig/ChangeLog xtrs-4.9c/ChangeLog
+--- xtrs-4.9c-orig/ChangeLog   2006-05-15 02:55:28.000000000 +0200
++++ xtrs-4.9c/ChangeLog        2007-04-25 22:12:20.000000000 +0200
+@@ -1,3 +1,11 @@
++4.9c-Gentoo -- Sat Apr 21 14:37:00 MDT 2007  Joe Peterson <joe@skyrush.com>
++
++* Patched for Gentoo ebuild
++  - Change "int i" in the z80 delay loop to "volatile int"
++    (allows near-actual speed emulation with optimization)
++  - Fixed keyboard wait issue that caused CPU spinning (i.e. max
++    CPU usage) after using F10 (reset), F7, F8, or F9.
++
+ 4.9c -- Sun May 14 17:54:25 PDT 2006 -- Tim Mann
+ * Fixed the new -e flag on import/cmd and export/cmd to actually
+diff -Nur xtrs-4.9c-orig/main.c xtrs-4.9c/main.c
+--- xtrs-4.9c-orig/main.c      2002-04-14 09:03:43.000000000 +0200
++++ xtrs-4.9c/main.c   2007-04-25 22:12:20.000000000 +0200
+@@ -26,7 +26,7 @@
+ #include "trs_disk.h"
+ #include "load_cmd.h"
+-int trs_model = 1;
++int trs_model = 5;
+ int trs_paused = 1;
+ int trs_autodelay = 0;
+ char *program_name;
+diff -Nur xtrs-4.9c-orig/trs.h xtrs-4.9c/trs.h
+--- xtrs-4.9c-orig/trs.h       2006-05-13 23:05:59.000000000 +0200
++++ xtrs-4.9c/trs.h    2007-04-25 22:12:20.000000000 +0200
+@@ -67,6 +67,7 @@
+ extern void queue_key(int key);
+ extern int dequeue_key(void);
+ extern void clear_key_queue(void);
++extern void trs_start_kbwait(void);
+ extern void trs_end_kbwait(void);
+ extern int stretch_amount;
+diff -Nur xtrs-4.9c-orig/trs_keyboard.c xtrs-4.9c/trs_keyboard.c
+--- xtrs-4.9c-orig/trs_keyboard.c      2006-05-13 22:50:17.000000000 +0200
++++ xtrs-4.9c/trs_keyboard.c   2007-04-25 22:12:20.000000000 +0200
+@@ -983,6 +983,12 @@
+ }
+ void
++trs_start_kbwait()
++{
++  key_immediate = 0;
++}
++
++void
+ trs_end_kbwait()
+ {
+   key_immediate = 1;
+@@ -1003,7 +1009,6 @@
+       }
+       trs_paused = 1;
+       pause();                        /* Wait for SIGALRM or SIGIO */
+-      key_immediate = 0;
+       trs_get_event(0);
+     }
+     return rval;
+diff -Nur xtrs-4.9c-orig/trs_xinterface.c xtrs-4.9c/trs_xinterface.c
+--- xtrs-4.9c-orig/trs_xinterface.c    2006-05-13 23:33:51.000000000 +0200
++++ xtrs-4.9c/trs_xinterface.c 2007-04-25 22:12:20.000000000 +0200
+@@ -920,6 +920,7 @@
+     (void)trs_uart_check_avail();
+   }
++  trs_start_kbwait();
+   do {
+     if (wait) {
+       XNextEvent(display, &event);
+diff -Nur xtrs-4.9c-orig/z80.c xtrs-4.9c/z80.c
+--- xtrs-4.9c-orig/z80.c       2005-05-22 08:57:01.000000000 +0200
++++ xtrs-4.9c/z80.c    2007-04-25 22:12:20.000000000 +0200
+@@ -2999,7 +2999,7 @@
+     Uchar instruction;
+     Ushort address; /* generic temps */
+     int ret = 0;
+-    int i;
++    volatile int i;
+     trs_continuous = continuous;
+     /* loop to do a z80 instruction */
diff --git a/app-emulation/xtrs/xtrs-4.9c.ebuild b/app-emulation/xtrs/xtrs-4.9c.ebuild
new file mode 100644 (file)
index 0000000..b6bf2cc
--- /dev/null
@@ -0,0 +1,62 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xtrs/xtrs-4.9c.ebuild,v 1.1 2007/04/25 20:38:14 ulm Exp $
+
+inherit eutils flag-o-matic toolchain-funcs
+
+DESCRIPTION="Radio Shack TRS-80 emulator"
+HOMEPAGE="http://www.tim-mann.org/xtrs.html"
+SRC_URI="http://www.tim-mann.org/trs80/${P}.tar.gz
+       http://home.gwi.net/~plemon/support/disks/xtrs/ld4-631.tar.gz"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="sys-libs/ncurses
+       sys-libs/readline
+       >=x11-libs/libX11-1.0.0"
+
+src_unpack() {
+       unpack ${P}.tar.gz
+       tar xzf "${DISTDIR}/ld4-631.tar.gz" disks || die "tar failed"
+
+       cd "${S}"
+       epatch "${FILESDIR}/${P}-gentoo.patch"
+}
+
+src_compile() {
+       use ppc && append-flags -Dbig_endian
+       emake CC="$(tc-getCC)" DEBUG="${CFLAGS}" \
+               DISKDIR="-DDISKDIR='\"/usr/share/xtrs\"'" \
+               DEFAULT_ROM="-DDEFAULT_ROM='\"/usr/share/xtrs/romimage\"' \
+                       -DDEFAULT_ROM3='\"/usr/share/xtrs/romimage.m3\"' \
+                       -DDEFAULT_ROM4P='\"/usr/share/xtrs/romimage.m4p\"'" \
+               || die "emake failed"
+}
+
+src_install() {
+       dodir /usr/bin /usr/share/xtrs/disks /usr/share/man/man1
+       emake PREFIX="${D}"/usr install || die "emake install failed"
+
+       insopts -m0444
+       insinto /usr/share/xtrs/disks
+       doins cpmutil.dsk utility.dsk "${WORKDIR}"/disks/ld4-631.dsk
+       dosym disks/ld4-631.dsk /usr/share/xtrs/disk4p-0
+       dosym disks/utility.dsk /usr/share/xtrs/disk4p-1
+
+       dodoc ChangeLog README xtrsrom4p.README cpmutil.html dskspec.html \
+               || die "dodoc failed"
+}
+
+pkg_postinst() {
+       elog "For copyright reasons, xtrs does not include ROM images."
+       elog "If you already own a copy of the ROM software (e.g., if you have"
+       elog "a TRS-80 with this ROM), then you can make yourself a copy of this"
+       elog "for use with xtrs. You can get such a copy also from elsewhere on"
+       elog "the web. You may install the ROM images in directory /usr/share/xtrs"
+       elog "as files \"romimage\", \"romimage.m3\", or \"romimage.m4p\", for"
+       elog "Model I, III, or 4P, respectively. (Model 4 uses the same ROM image"
+       elog "as Model III.) The files may be in Intel hex or binary format."
+}