diff options
author | ryoon <ryoon@pkgsrc.org> | 2014-12-08 20:55:19 +0000 |
---|---|---|
committer | ryoon <ryoon@pkgsrc.org> | 2014-12-08 20:55:19 +0000 |
commit | 8e67f1f5a40fe4fd5d4bfde1df6bd82f05bb6715 (patch) | |
tree | a332d0724068875af3bf584c32e43e57558c74bd /emulators/gxemul | |
parent | db8534a74141567be76433354521610293979a9f (diff) | |
download | pkgsrc-8e67f1f5a40fe4fd5d4bfde1df6bd82f05bb6715.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/Makefile | 5 | ||||
-rw-r--r-- | emulators/gxemul/PLIST | 25 | ||||
-rw-r--r-- | emulators/gxemul/distinfo | 16 | ||||
-rw-r--r-- | emulators/gxemul/patches/patch-ab | 18 | ||||
-rw-r--r-- | emulators/gxemul/patches/patch-af | 26 | ||||
-rw-r--r-- | emulators/gxemul/patches/patch-ag | 41 | ||||
-rw-r--r-- | emulators/gxemul/patches/patch-configure | 16 | ||||
-rw-r--r-- | emulators/gxemul/patches/patch-src_devices_dev__dreamcast__gdrom.cc | 87 | ||||
-rw-r--r-- | emulators/gxemul/patches/patch-src_include_refcount__ptr.h | 10 |
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> + |