summaryrefslogtreecommitdiff
path: root/emulators/gxemul
diff options
context:
space:
mode:
authorryoon <ryoon>2014-12-08 20:55:19 +0000
committerryoon <ryoon>2014-12-08 20:55:19 +0000
commitbe26d460bec8eb548aa4125a15264152b7e1b469 (patch)
treea332d0724068875af3bf584c32e43e57558c74bd /emulators/gxemul
parentaddd3b44c3f3b08af4008b179e6f2cc720417663 (diff)
downloadpkgsrc-be26d460bec8eb548aa4125a15264152b7e1b469.tar.gz
Update to 0.6.0.1
Changelog: [20140817] Release 0.6.0.1. It has been a while since the last release, and the SVN repository mirror at Sourceforge seems to be broken, so it felt reasonable to package the current code into a patch release. Not much has happened feature-wise since 0.6.0. [20140816] On FreeBSD/amd64 with GCC 4.2.1 as the default compiler, you may need to install GCC 4.8.4 and run the configure script like this to avoid triggering a bug in the default compiler: CXX=c++48 CXXFLAGS=-Wl,-rpath,/usr/local/lib/gcc48 ./configure [20110820] Not much coding lately. The only thing worth mentioning is that the Dreamcast emulation mode now gets further when running Marcus Comstedt's test programs, and also shows "something" when booting the PROM from my real Dreamcast. (This was in the legacy Dreamcast mode, for fun. I haven't had time to work on the new framework at all.) [20100729] Uploaded a clip to YouTube, showing the NetBSD/pmax install procedure in GXemul.
Diffstat (limited to 'emulators/gxemul')
-rw-r--r--emulators/gxemul/Makefile5
-rw-r--r--emulators/gxemul/PLIST25
-rw-r--r--emulators/gxemul/distinfo16
-rw-r--r--emulators/gxemul/patches/patch-ab18
-rw-r--r--emulators/gxemul/patches/patch-af26
-rw-r--r--emulators/gxemul/patches/patch-ag41
-rw-r--r--emulators/gxemul/patches/patch-configure16
-rw-r--r--emulators/gxemul/patches/patch-src_devices_dev__dreamcast__gdrom.cc87
-rw-r--r--emulators/gxemul/patches/patch-src_include_refcount__ptr.h10
9 files changed, 50 insertions, 194 deletions
diff --git a/emulators/gxemul/Makefile b/emulators/gxemul/Makefile
index dfc9470f649..3cb45514220 100644
--- a/emulators/gxemul/Makefile
+++ b/emulators/gxemul/Makefile
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.51 2014/10/09 14:06:32 wiz Exp $
+# $NetBSD: Makefile,v 1.52 2014/12/08 20:55:19 ryoon Exp $
-DISTNAME= gxemul-0.6.0
-PKGREVISION= 4
+DISTNAME= gxemul-0.6.0.1
CATEGORIES= emulators
MASTER_SITES= http://gxemul.sourceforge.net/src/
diff --git a/emulators/gxemul/PLIST b/emulators/gxemul/PLIST
index e10563f3e4e..5479f7cf001 100644
--- a/emulators/gxemul/PLIST
+++ b/emulators/gxemul/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.25 2010/07/02 14:41:50 joerg Exp $
+@comment $NetBSD: PLIST,v 1.26 2014/12/08 20:55:19 ryoon Exp $
bin/gxemul
man/man1/gxemul.1
share/doc/gxemul/20040504-ultrix45-boot1.png
@@ -79,12 +79,35 @@ share/doc/gxemul/20081103-openbsd-landisk-small.png
share/doc/gxemul/20081103-openbsd-landisk.png
share/doc/gxemul/20100205-netbsd-playstation2-small.png
share/doc/gxemul/20100205-netbsd-playstation2.png
+share/doc/gxemul/20110606-dreamcast-roto-small.png
+share/doc/gxemul/20110606-dreamcast-roto.png
+share/doc/gxemul/20110624-dreamcast-gltest-small.png
+share/doc/gxemul/20110624-dreamcast-gltest.png
+share/doc/gxemul/20110703-dreamcast-gltest-small.png
+share/doc/gxemul/20110703-dreamcast-gltest.png
+share/doc/gxemul/20131109-displayDreamcastMemory-small.png
+share/doc/gxemul/20131109-displayDreamcastMemory.png
+share/doc/gxemul/20131109-openbsd_landisk-small.jpg
+share/doc/gxemul/20131109-openbsd_landisk.png
+share/doc/gxemul/20140802-dreamcast-bios-test1-small.png
+share/doc/gxemul/20140802-dreamcast-bios-test1.png
+share/doc/gxemul/20140802-dreamcast-bios-test2-small.png
+share/doc/gxemul/20140802-dreamcast-bios-test2.png
+share/doc/gxemul/20140802-dreamcast-bios-test3-small.png
+share/doc/gxemul/20140802-dreamcast-bios-test3.png
+share/doc/gxemul/20140803-dreamcast-bios-test4-small.png
+share/doc/gxemul/20140803-dreamcast-bios-test4.png
+share/doc/gxemul/20140803-dreamcast-gltest-small.png
+share/doc/gxemul/20140803-dreamcast-gltest.png
+share/doc/gxemul/20140803-serial-upload-slave-small.png
+share/doc/gxemul/20140803-serial-upload-slave.png
share/doc/gxemul/Doxyfile
share/doc/gxemul/HISTORY
share/doc/gxemul/LICENSE
share/doc/gxemul/README
share/doc/gxemul/RELEASE.html
share/doc/gxemul/TODO.html
+share/doc/gxemul/components/component_cache.html
share/doc/gxemul/components/component_cpu.html
share/doc/gxemul/components/component_dummy.html
share/doc/gxemul/components/component_m88k_cpu.html
diff --git a/emulators/gxemul/distinfo b/emulators/gxemul/distinfo
index a1544044afd..f07824813ea 100644
--- a/emulators/gxemul/distinfo
+++ b/emulators/gxemul/distinfo
@@ -1,20 +1,16 @@
-$NetBSD: distinfo,v 1.41 2013/06/29 08:24:53 mrg Exp $
+$NetBSD: distinfo,v 1.42 2014/12/08 20:55:19 ryoon Exp $
-SHA1 (gxemul-0.6.0.tar.gz) = aa37ad5f200eee045b1da2b1d3f651401cf474af
-RMD160 (gxemul-0.6.0.tar.gz) = ac6291a5f8bc9c0d1988d3ce39750339fe90a8ce
-Size (gxemul-0.6.0.tar.gz) = 3598795 bytes
+SHA1 (gxemul-0.6.0.1.tar.gz) = 8a9b7a6c08628c2a59a6e7e9c7c449c3826b4744
+RMD160 (gxemul-0.6.0.1.tar.gz) = 6943173d4149bfe40218715b8ed2c82b5b361e50
+Size (gxemul-0.6.0.1.tar.gz) = 5420978 bytes
SHA1 (patch-aa) = 6f2c0dc94606ba213bcc73527ea4bef997c89c45
-SHA1 (patch-ab) = ebd64a2b56cd4140522c567b90dcbfb9440b9db2
SHA1 (patch-ad) = a8757e7397ec3cc301d02bdf93654f55d558d29f
SHA1 (patch-ae) = 19ef822c16f0f6dd50aea719e0bc797c39d1f9c0
-SHA1 (patch-af) = 8304ff5d8f779ac60f8d416d27e0a183e0e47d94
-SHA1 (patch-ag) = b8422a818e314e01f9ae6203844ed26f6b834aa0
-SHA1 (patch-configure) = b7cacc97ffdeb127be196a7d352ee82b673d4026
+SHA1 (patch-ag) = 09cbf456c27399df985dcc6772b38c54b2a9187d
SHA1 (patch-src_components_cpu_CPUDyntransComponent.cc) = 1a70375b3ed409ef43122ce7e6935c07b4ed386d
SHA1 (patch-src_components_cpu_M88K__CPUComponent.cc) = 931cdc9a806e9ff48dccb2a63873c52491336b30
SHA1 (patch-src_components_cpu_MIPS__CPUComponent.cc) = 75d8276092fcdc9f548f874e5807ae8e6a2b9eae
-SHA1 (patch-src_devices_dev__dreamcast__gdrom.cc) = 3e9abc13118fb79473adb11156f73c93b13b6dd8
SHA1 (patch-src_include_components_CPUDyntransComponent.h) = 4fa3c327c4ce5ee9e39e7bc49ce6029b2a7da100
SHA1 (patch-src_include_components_M88K__CPUComponent.h) = afd07ae4df33d0c0a9d3d8c15dca4ef9ee7dd916
SHA1 (patch-src_include_components_MIPS__CPUComponent.h) = 4e49da9af0d220a1ea7c4520d8e7e53d8d84c155
-SHA1 (patch-src_include_refcount__ptr.h) = 1735780a1228241a708c5c79b9d4658fa71c6c18
+SHA1 (patch-src_include_refcount__ptr.h) = 8021524ff16d3a9de65bb6188fb8c07296c5c3b7
diff --git a/emulators/gxemul/patches/patch-ab b/emulators/gxemul/patches/patch-ab
index ab70bd7f670..6cc6175e853 100644
--- a/emulators/gxemul/patches/patch-ab
+++ b/emulators/gxemul/patches/patch-ab
@@ -1,10 +1,10 @@
-$NetBSD: patch-ab,v 1.7 2011/10/26 06:57:30 mrg Exp $
+$NetBSD: patch-ab,v 1.8 2014/12/08 20:55:19 ryoon Exp $
---- src/cpus/cpu_sh_instr.cc.orig 2010-02-14 01:33:54.000000000 -0800
-+++ src/cpus/cpu_sh_instr.cc 2011-10-25 23:18:56.000000000 -0700
-@@ -3336,6 +3336,11 @@
- case 0x09: /* SHLR2 Rn */
- ic->f = instr(shlr2_rn);
+--- src/cpus/cpu_sh_instr.cc.orig 2014-08-17 08:45:15.000000000 +0000
++++ src/cpus/cpu_sh_instr.cc
+@@ -3577,6 +3577,11 @@ X(to_be_translated)
+ ic->arg[0] = (size_t)&cpu->cd.sh.r[r8]; /* m */
+ ic->arg[1] = (size_t)&cpu->cd.sh.mach;
break;
+ case 0x0a: /* LDS Rn,MACH */
+ ic->f = instr(mov_rm_rn);
@@ -14,9 +14,9 @@ $NetBSD: patch-ab,v 1.7 2011/10/26 06:57:30 mrg Exp $
case 0x0b: /* JSR @Rn */
if (cpu->machine->show_trace_tree)
ic->f = instr(jsr_rn_trace);
-@@ -3378,6 +3383,11 @@
- case 0x19: /* SHLR8 Rn */
- ic->f = instr(shlr8_rn);
+@@ -3624,6 +3629,11 @@ X(to_be_translated)
+ ic->arg[0] = (size_t)&cpu->cd.sh.r[r8]; /* m */
+ ic->arg[1] = (size_t)&cpu->cd.sh.macl;
break;
+ case 0x1a: /* LDS Rn,MACL */
+ ic->f = instr(mov_rm_rn);
diff --git a/emulators/gxemul/patches/patch-af b/emulators/gxemul/patches/patch-af
deleted file mode 100644
index 8a52564efa2..00000000000
--- a/emulators/gxemul/patches/patch-af
+++ /dev/null
@@ -1,26 +0,0 @@
-$NetBSD: patch-af,v 1.1 2011/07/17 12:49:17 mrg Exp $
-
---- src/cpus/memory_sh.cc.orig 2010-02-14 01:33:54.000000000 -0800
-+++ src/cpus/memory_sh.cc 2011-07-15 01:12:18.000000000 -0700
-@@ -273,15 +273,17 @@
- }
-
- if (user) {
-+ int expevt;
-+ int wf = flags & FLAG_WRITEFLAG;
-+
- if (flags & FLAG_NOEXCEPTIONS) {
- *return_paddr = 0;
- return 2;
- }
-
-- fatal("Userspace tried to access non-user space memory."
-- " TODO: cause exception! (vaddr=0x%08"PRIx32"\n",
-- (uint32_t) vaddr);
-- exit(1);
-+ expevt = wf? EXPEVT_TLB_PROT_ST : EXPEVT_TLB_PROT_LD;
-+ sh_exception(cpu, expevt, 0, (uint32_t)vaddr);
-+ return 0;
- }
-
- /* P1,P2: Direct-mapped physical memory. */
diff --git a/emulators/gxemul/patches/patch-ag b/emulators/gxemul/patches/patch-ag
index 07e64bc498e..2db9b0a096a 100644
--- a/emulators/gxemul/patches/patch-ag
+++ b/emulators/gxemul/patches/patch-ag
@@ -1,11 +1,11 @@
-$NetBSD: patch-ag,v 1.2 2013/06/29 08:24:53 mrg Exp $
+$NetBSD: patch-ag,v 1.3 2014/12/08 20:55:19 ryoon Exp $
enable all CPSR->SPSR copy values, instead of hard coding 3 out of 15.
---- src/cpus/cpu_arm_instr.cc.orig 2010-02-14 09:33:54.000000000 +0000
-+++ src/cpus/cpu_arm_instr.cc 2013-06-29 07:03:52.000000000 +0000
-@@ -2631,6 +2631,7 @@
+--- src/cpus/cpu_arm_instr.cc.orig 2014-08-17 08:45:15.000000000 +0000
++++ src/cpus/cpu_arm_instr.cc
+@@ -2670,6 +2670,7 @@ X(to_be_translated)
ic->f = cond_instr(bx);
}
ic->arg[0] = (size_t)(&cpu->cd.arm.r[rm]);
@@ -13,36 +13,3 @@ enable all CPSR->SPSR copy values, instead of hard coding 3 out of 15.
break;
}
if ((iword & 0x0fb00ff0) == 0x1000090) {
-@@ -2682,6 +2683,7 @@
- (iword & 0x0fb0f000) == 0x0320f000) {
- /* msr: move to [S|C]PSR from a register or
- immediate value */
-+ uint32_t mask;
- if (iword & 0x02000000) {
- if (iword & 0x00400000)
- ic->f = cond_instr(msr_imm_spsr);
-@@ -2703,14 +2705,16 @@
- imm = (imm >> 2) | ((imm & 3) << 30);
- ic->arg[0] = imm;
- ic->arg[2] = (size_t)(&cpu->cd.arm.r[rm]);
-- switch ((iword >> 16) & 15) {
-- case 1: ic->arg[1] = 0x000000ff; break;
-- case 8: ic->arg[1] = 0xff000000; break;
-- case 9: ic->arg[1] = 0xff0000ff; break;
-- default:if (!cpu->translation_readahead)
-- fatal("unimpl a: msr regform\n");
-- goto bad;
-- }
-+ ic->arg[1] = 0;
-+ mask = (iword >> 16) & 15;
-+ if (mask & 1)
-+ ic->arg[1] |= 0x000000ff;
-+ if (mask & 2)
-+ ic->arg[1] |= 0x0000ff00;
-+ if (mask & 4)
-+ ic->arg[1] |= 0x00ff0000;
-+ if (mask & 8)
-+ ic->arg[1] |= 0xff000000;
- break;
- }
- if ((iword & 0x0fbf0fff) == 0x010f0000) {
diff --git a/emulators/gxemul/patches/patch-configure b/emulators/gxemul/patches/patch-configure
deleted file mode 100644
index 744dd46e6db..00000000000
--- a/emulators/gxemul/patches/patch-configure
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-configure,v 1.1 2012/07/16 00:19:14 abs Exp $
-
-Fix the check to pickup mkstemp() on at least NetBSD
-
---- configure.orig 2012-07-15 22:26:52.000000000 +0000
-+++ configure
-@@ -705,7 +705,8 @@ rm -f _tests.cc _tests.o _tests
- # mkstemp missing?
- printf "checking for mkstemp... "
- printf "#include <unistd.h>
--int main(int argc, char *argv[]) { int x; char *y = \"abc\";
-+#include <stdlib.h>
-+int main(int argc, char *argv[]) { int x; char y[4] = \"abc\";
- x = mkstemp(y); return 0;}\n" > _tests.cc
- $CXX $CXXFLAGS _tests.cc -o _tests 2> /dev/null
- if [ ! -x _tests ]; then
diff --git a/emulators/gxemul/patches/patch-src_devices_dev__dreamcast__gdrom.cc b/emulators/gxemul/patches/patch-src_devices_dev__dreamcast__gdrom.cc
deleted file mode 100644
index cf7c2bc433c..00000000000
--- a/emulators/gxemul/patches/patch-src_devices_dev__dreamcast__gdrom.cc
+++ /dev/null
@@ -1,87 +0,0 @@
-$NetBSD: patch-src_devices_dev__dreamcast__gdrom.cc,v 1.1 2012/07/26 22:10:28 abs Exp $
-
-Fake up a much more complete TOC based on real CD image.
-Now works with NetBSD 4, 5 & 6 which would have previously failed.
-
-Comment out some unusual sector subtractions which handled values in the
-multigigabyte range.
-
---- src/devices/dev_dreamcast_gdrom.cc.orig 2010-02-14 09:33:52.000000000 +0000
-+++ src/devices/dev_dreamcast_gdrom.cc
-@@ -109,12 +109,37 @@ static void handle_command(struct cpu *c
- }
- alloc_data(d);
-
-- /* TODO: Fill TOC in a better way */
-- d->data[99*4] = 1; /* First track */
-- d->data[100*4] = 2; /* Last track */
-+ /*
-+ TOC from test booted real CD image on NetBSD/dreamcast
-+ 01000096,41002e4c,ffffffff * 97,01010000,41020000,6100e641,
-+ */
-+ memset(d->data, 0xff, d->cnt); /* Default data to 0xff */
-+
-+ d->data[0*4] = 0x10; /* Track 1 */
-+ d->data[0*4+1] = 0;
-+ d->data[0*4+2] = 0;
-+ d->data[0*4+3] = 0x96;
-+
-+ d->data[1*4] = 0x41; /* Track 2 */
-+ d->data[1*4+1] = 0;
-+ d->data[1*4+2] = 0x2e;
-+ d->data[1*4+3] = 0x4c;
-+
-+ d->data[99*4] = 0x01; /* First track */
-+ d->data[99*4+1] = 0x01;
-+ d->data[99*4+2] = 0;
-+ d->data[99*4+3] = 0;
-+
-+ d->data[100*4] = 0x41; /* Last track */
-+ d->data[100*4+1] = 0x02;
-+ d->data[100*4+2] = 0;
-+ d->data[100*4+3] = 0;
-+
-+ d->data[101*4] = 0x61; /* Leadout */
-+ d->data[101*4+1] = 0;
-+ d->data[101*4+2] = 0xe6;
-+ d->data[101*4+3] = 0x41;
-
-- d->data[0*4] = 0x10; /* Track 1 */
-- d->data[1*4] = 0x10; /* Track 2 */
- break;
-
- case 0x30:
-@@ -126,6 +151,7 @@ static void handle_command(struct cpu *c
- }
- sector_nr = d->cmd[2] * 65536 + d->cmd[3] * 256 + d->cmd[4];
- sector_count = d->cmd[8] * 65536 + d->cmd[9] * 256 + d->cmd[10];
-+
- if (d->cnt == 0)
- d->cnt = 65536;
- alloc_data(d);
-@@ -136,9 +162,17 @@ static void handle_command(struct cpu *c
- }
-
- {
-+
-+/* Definitely not needed for NetBSD - unknown if needed for anything else? */
-+#if 0
- if (sector_nr >= 1376810)
- sector_nr -= 1376810;
-+#endif
-+
- sector_nr -= 150;
-+
-+/* Definitely not needed for NetBSD - unknown if needed for anything else? */
-+#if 0
- if (sector_nr > 1048576)
- sector_nr -= 1048576;
- /* printf("sector nr = %i\n", (int)sector_nr); */
-@@ -146,6 +180,7 @@ if (sector_nr > 1048576)
- if (sector_nr < 1000)
- sector_nr += (diskimage_get_baseoffset(cpu->machine, 0, DISKIMAGE_IDE)
- / 2048);
-+#endif
- }
-
- res = diskimage_access(cpu->machine, 0, DISKIMAGE_IDE,
diff --git a/emulators/gxemul/patches/patch-src_include_refcount__ptr.h b/emulators/gxemul/patches/patch-src_include_refcount__ptr.h
index 909536ffa5e..93fca3fa28e 100644
--- a/emulators/gxemul/patches/patch-src_include_refcount__ptr.h
+++ b/emulators/gxemul/patches/patch-src_include_refcount__ptr.h
@@ -1,10 +1,10 @@
-$NetBSD: patch-src_include_refcount__ptr.h,v 1.1 2012/11/23 22:43:09 alnsn Exp $
+$NetBSD: patch-src_include_refcount__ptr.h,v 1.2 2014/12/08 20:55:19 ryoon Exp $
---- src/include/refcount_ptr.h.orig 2010-02-14 09:33:54.000000000 +0000
+--- src/include/refcount_ptr.h.orig 2014-08-17 08:45:13.000000000 +0000
+++ src/include/refcount_ptr.h
-@@ -28,6 +28,8 @@
- * SUCH DAMAGE.
- */
+@@ -33,6 +33,8 @@ template <class T>
+ class refcount_ptr;
+
+#include <stddef.h>
+