diff options
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> + |