Hi!
I wanted to use the current version of SIMH, a simulator for historic
computers. The attached patch updates from 3.3.0 to 3.7.3. Seems to
work for me. Any comments?
Please keep me Cc'ed since I'm not subscribed.
MfG, JBG
--
Jan-Benedict Glaw jbglaw%lug-owl.de@localhost
+49-172-7608481
Signature of: Lauf nicht vor Deinem Glück davon:
the second : Es könnte hinter Dir stehen!
? README.html
? simh.diff
? work
? patches/patch-ad
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/emulators/simh/Makefile,v
retrieving revision 1.26
diff -u -r1.26 Makefile
--- Makefile 4 Jan 2008 21:45:05 -0000 1.26
+++ Makefile 29 Feb 2008 00:05:19 -0000
@@ -1,8 +1,8 @@
# $NetBSD: Makefile,v 1.26 2008/01/04 21:45:05 joerg Exp $
#
-DISTNAME= simhv33-0
-PKGNAME= simh-3.3.0
+DISTNAME= simhv37-3
+PKGNAME= simh-3.7.3
PKGREVISION= 1
CATEGORIES= emulators
MASTER_SITES= http://simh.trailing-edge.com/sources/
@@ -15,7 +15,7 @@
PKG_DESTDIR_SUPPORT= user-destdir
-BUILDLINK_API_DEPENDS.libpcap+= libpcap>=0.6
+BUILDLINK_API_DEPENDS.libpcap+= libpcap>=0.9
EXTRACT_OPTS_ZIP= -aoq
WRKSRC= ${WRKDIR}
@@ -38,7 +38,7 @@
(cd ${WRKSRC}/BIN && for BIN in *; do \
${INSTALL_PROGRAM} $$BIN ${DESTDIR}${PREFIX}/bin/simh-$$BIN;
\
done)
- ${INSTALL_DATA} ${WRKSRC}/VAX/ka655.bin ${DESTDIR}${PREFIX}/share/simh
+ ${INSTALL_DATA} ${WRKSRC}/VAX/ka655x.bin ${DESTDIR}${PREFIX}/share/simh
(cd ${WRKSRC} && for TXT in *.txt */*.txt; do \
${INSTALL_DATA} $$TXT ${DESTDIR}${PREFIX}/share/doc/simh;
\
done)
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/emulators/simh/PLIST,v
retrieving revision 1.8
diff -u -r1.8 PLIST
--- PLIST 22 Dec 2004 21:07:01 -0000 1.8
+++ PLIST 29 Feb 2008 00:05:19 -0000
@@ -7,6 +7,7 @@
bin/simh-hp2100
bin/simh-i1401
bin/simh-i1620
+bin/simh-i7094
bin/simh-ibm1130
bin/simh-id16
bin/simh-id32
@@ -23,40 +24,24 @@
bin/simh-s3
bin/simh-sds
bin/simh-vax
-share/doc/simh/0readme_33.txt
+bin/simh-vax780
+share/doc/simh/0readme_37.txt
share/doc/simh/0readme_ethernet.txt
share/doc/simh/altair.txt
-share/doc/simh/altairz80_doc.txt
-share/doc/simh/eclipse.txt
-share/doc/simh/gri_doc.txt
-share/doc/simh/h316_doc.txt
-share/doc/simh/haltguide.txt
share/doc/simh/hp2100_diag.txt
-share/doc/simh/hp2100_doc.txt
-share/doc/simh/i1401_doc.txt
-share/doc/simh/i1620_doc.txt
+share/doc/simh/i7094_bugs.txt
+share/doc/simh/readme1130.txt
+share/doc/simh/readme_update.txt
share/doc/simh/id_diag.txt
-share/doc/simh/id_doc.txt
-share/doc/simh/lgp_doc.txt
-share/doc/simh/nova_doc.txt
+share/doc/simh/eclipse.txt
+share/doc/simh/pdp1_diag.txt
share/doc/simh/pdp10_diag.txt
-share/doc/simh/pdp10_doc.txt
-share/doc/simh/pdp11_doc.txt
share/doc/simh/pdp18b_diag.txt
-share/doc/simh/pdp18b_doc.txt
-share/doc/simh/pdp1_doc.txt
-share/doc/simh/pdp8_doc.txt
-share/doc/simh/readme1130.txt
+share/doc/simh/haltguide.txt
share/doc/simh/readme_s3.txt
-share/doc/simh/readme_update.txt
-share/doc/simh/sds_diag.txt
-share/doc/simh/sds_doc.txt
-share/doc/simh/simh_doc.txt
-share/doc/simh/simh_faq.txt
-share/doc/simh/simh_swre.txt
share/doc/simh/system3.txt
-share/doc/simh/vax780_doc.txt
-share/doc/simh/vax_doc.txt
-share/simh/ka655.bin
+share/doc/simh/sds_diag.txt
+share/doc/simh/vax780_bugs.txt
+share/simh/ka655x.bin
@dirrm share/simh
@dirrm share/doc/simh
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/emulators/simh/distinfo,v
retrieving revision 1.12
diff -u -r1.12 distinfo
--- distinfo 23 Feb 2005 18:49:20 -0000 1.12
+++ distinfo 29 Feb 2008 00:05:19 -0000
@@ -1,8 +1,9 @@
$NetBSD: distinfo,v 1.12 2005/02/23 18:49:20 agc Exp $
-SHA1 (simhv33-0.zip) = 99a021afe2fd8dfb32bb479e383347e2b883e0f9
-RMD160 (simhv33-0.zip) = 778cc7836b4558b57f1b9ca54427f3d2e8da94a4
-Size (simhv33-0.zip) = 2153444 bytes
-SHA1 (patch-aa) = a1c1e10f81b5883c5388084d1b9f31d3560353fe
-SHA1 (patch-ab) = aff84028d4184b773b2bd4ebf2ee166357f18924
-SHA1 (patch-ac) = 0f1ddee6f69c0337c8ea02cf24ed6fdecc0ca1f4
+SHA1 (simhv37-3.zip) = 1d4b7d06d9e637f65d8ef892d5cc7832c4b49992
+RMD160 (simhv37-3.zip) = 21edf6241eabe8d34480039a49563927c34873f4
+Size (simhv37-3.zip) = 2361222 bytes
+SHA1 (patch-aa) = 2bd9fcf8f769b7910ec5a8f55e3fdaf058a0bbeb
+SHA1 (patch-ab) = 9544e9efefd4c886d6d6e4802189298834de4942
+SHA1 (patch-ac) = d7d90753affa9730abf559178fe4ab9c33c7b50b
+SHA1 (patch-ad) = a5589b7a02ba515c9e2fde930e413c245c7bff1e
Index: patches/patch-aa
===================================================================
RCS file: /cvsroot/pkgsrc/emulators/simh/patches/patch-aa,v
retrieving revision 1.7
diff -u -r1.7 patch-aa
--- patches/patch-aa 22 Dec 2004 21:07:01 -0000 1.7
+++ patches/patch-aa 29 Feb 2008 00:05:19 -0000
@@ -1,8 +1,6 @@
-$NetBSD: patch-aa,v 1.7 2004/12/22 21:07:01 skrll Exp $
-
---- Makefile.orig 2004-10-30 18:32:50.000000000 +0100
-+++ Makefile
-@@ -3,28 +3,30 @@
+--- Makefile~ 2008-02-29 00:46:56.000000000 +0100
++++ Makefile 2008-02-29 00:47:19.000000000 +0100
+@@ -3,32 +3,33 @@
# Note: -O2 is sometimes broken in GCC when setjump/longjump is being
# used. Try -O2 only with released simulators.
#
@@ -14,7 +12,11 @@
-else
-OS_CCDEFS = -D_GNU_SOURCE
-endif
+-ifeq ($(OSTYPE),macos)
+-CC = gcc -std=c99 -O2 -U__STRICT_ANSI__ -g -lm -lrt $(OS_CCDEFS) -I .
+-else
-CC = gcc -std=c99 -O2 -U__STRICT_ANSI__ -g -lm $(OS_CCDEFS) -I .
+-endif
-ifeq ($(USE_NETWORK),)
-else
-NETWORK_OPT = -DUSE_NETWORK -isystem /usr/local/include
/usr/local/lib/libpcap.a
@@ -25,16 +27,19 @@
+#else
+#OS_CCDEFS = -D_GNU_SOURCE
+#endif
++#ifeq ($(OSTYPE),macos)
++#CC = gcc -std=c99 -O2 -U__STRICT_ANSI__ -g -lm -lrt $(OS_CCDEFS) -I .
++#else
+#CC = gcc -std=c99 -O2 -U__STRICT_ANSI__ -g -lm $(OS_CCDEFS) -I .
-+CC = gcc -O2 -g -lm -I . -DDONT_USE_PCAP_FINDALLDEVS -DNEED_PCAP_SENDPACKET
++CC = gcc -O2 -g -lm -I.
++#endif
+#ifeq ($(USE_NETWORK),)
+#else
-+#NETWORK_OPT = -DUSE_NETWORK -isystem /usr/local/include
/usr/local/lib/libpcap.a
+NETWORK_OPT = -DUSE_NETWORK -lpcap
+#endif
+#else
#Win32 Environments
--LDFLAGS = -lm -lwsock32
+-LDFLAGS = -lm -lwsock32 -lwinmm
-CC = gcc -std=c99 -U__STRICT_ANSI__ -O0 -I.
-EXE = .exe
-ifeq ($(USE_NETWORK),)
@@ -42,7 +47,7 @@
-NETWORK_OPT = -DUSE_NETWORK -lwpcap -lpacket
-endif
-endif
-+#LDFLAGS = -lm -lwsock32
++#LDFLAGS = -lm -lwsock32 -lwinmm
+#CC = gcc -std=c99 -U__STRICT_ANSI__ -O0 -I.
+#EXE = .exe
+#ifeq ($(USE_NETWORK),)
@@ -51,21 +56,21 @@
+#endif
+#endif
-
#
-@@ -252,11 +254,11 @@ ALL = ${BIN}pdp1${EXE} ${BIN}pdp4${EXE}
+ # Common Libraries
+@@ -248,11 +249,11 @@
all : ${ALL}
clean :
-ifeq ($(WIN32),)
+#ifeq ($(WIN32),)
- ${RM} ${ALL}
+ ${RM} ${BIN}*
-else
- if exist BIN\*.exe del /q BIN\*.exe
-endif
+#else
+# if exist BIN\*.exe del /q BIN\*.exe
+#endif
+
#
# Individual builds
- #
Index: patches/patch-ab
===================================================================
RCS file: /cvsroot/pkgsrc/emulators/simh/patches/patch-ab,v
retrieving revision 1.5
diff -u -r1.5 patch-ab
--- patches/patch-ab 22 Dec 2004 21:07:01 -0000 1.5
+++ patches/patch-ab 29 Feb 2008 00:05:19 -0000
@@ -1,10 +1,8 @@
-$NetBSD: patch-ab,v 1.5 2004/12/22 21:07:01 skrll Exp $
-
---- sim_ether.c.orig 2004-03-31 13:38:58.000000000 +0100
-+++ sim_ether.c
-@@ -830,6 +830,15 @@ void eth_callback(u_char* info, const st
- tmp_packet.len = header->len;
- memcpy(tmp_packet.msg, data, header->len);
+--- sim_ether.c~ 2008-02-28 23:52:40.000000000 +0100
++++ sim_ether.c 2008-02-28 23:52:48.000000000 +0100
+@@ -1134,6 +1134,15 @@
+ if (dev->need_crc)
+ eth_add_crc32(&tmp_packet);
+ /*
+ * Pad packet to minimum ethernet len, in case it comes from the local
@@ -18,9 +16,9 @@
eth_packet_trace (dev, tmp_packet.msg, tmp_packet.len, "rcvqd");
pthread_mutex_lock (&dev->lock);
-@@ -840,6 +849,15 @@ void eth_callback(u_char* info, const st
- dev->read_packet->len = header->len;
- memcpy(dev->read_packet->msg, data, header->len);
+@@ -1146,6 +1155,15 @@
+ if (dev->need_crc)
+ eth_add_crc32(dev->read_packet);
+ /*
+ * Pad packet to minimum ethernet len, in case it comes from the local
@@ -34,7 +32,7 @@
eth_packet_trace (dev, dev->read_packet->msg, dev->read_packet->len,
"reading");
/* call optional read callback function */
-@@ -1080,8 +1098,10 @@ int eth_host_devices(int used, int max,
+@@ -1431,8 +1449,10 @@
int eth_devices(int max, ETH_LIST* list)
{
Index: patches/patch-ac
===================================================================
RCS file: /cvsroot/pkgsrc/emulators/simh/patches/patch-ac,v
retrieving revision 1.4
diff -u -r1.4 patch-ac
--- patches/patch-ac 22 Dec 2004 21:07:01 -0000 1.4
+++ patches/patch-ac 29 Feb 2008 00:05:19 -0000
@@ -1,20 +1,20 @@
-$NetBSD: patch-ac,v 1.4 2004/12/22 21:07:01 skrll Exp $
-
---- sim_console.c.orig 2004-11-05 19:39:24.000000000 +0000
-+++ sim_console.c
-@@ -347,13 +347,13 @@ for (i = 0; i < sec; i++) {
/* loop *
- if (tmxr_poll_conn (&sim_con_tmxr) >= 0) { /* poll connect */
- sim_con_ldsc.rcve = 1; /* rcv enabled */
- if (i) { /* if delayed */
-- printf ("Running\n"); /* print transition */
-+ printf ("Running\r\n"); /* print transition */
- fflush (stdout); }
- return SCPE_OK; } /* ready to proceed */
- c = sim_os_poll_kbd (); /* check for stop char
*/
- if ((c == SCPE_STOP) || stop_cpu) return SCPE_STOP;
- if ((i % 10) == 0) { /* Status every 10 sec
*/
-- printf ("Waiting for console Telnet connection\n");
-+ printf ("Waiting for console Telnet connection\r\n");
- fflush (stdout); }
- sim_os_sleep (1); /* wait 1 second */
- }
+--- sim_console.c~ 2008-02-28 23:53:52.000000000 +0100
++++ sim_console.c 2008-02-28 23:54:59.000000000 +0100
+@@ -391,7 +391,7 @@
+ if (tmxr_poll_conn (&sim_con_tmxr) >= 0) { /* poll connect */
+ sim_con_ldsc.rcve = 1; /* rcv enabled */
+ if (i) { /* if delayed */
+- printf ("Running\n"); /* print transition */
++ printf ("Running\r\n"); /* print transition */
+ fflush (stdout);
+ }
+ return SCPE_OK; /* ready to proceed */
+@@ -399,7 +399,7 @@
+ c = sim_os_poll_kbd (); /* check for stop
char */
+ if ((c == SCPE_STOP) || stop_cpu) return SCPE_STOP;
+ if ((i % 10) == 0) { /* Status every 10
sec */
+- printf ("Waiting for console Telnet connection\n");
++ printf ("Waiting for console Telnet connection\r\n");
+ fflush (stdout);
+ }
+ sim_os_sleep (1); /* wait 1 second */
--- /dev/null 2008-02-29 01:05:12.000000000 +0100
+++ patches/patch-ad 2008-02-29 00:08:46.000000000 +0100
@@ -0,0 +1,39 @@
+--- VAX/vax_cpu.c~ 2008-02-29 00:06:20.000000000 +0100
++++ VAX/vax_cpu.c 2008-02-29 00:07:29.000000000 +0100
+@@ -350,12 +350,12 @@
+ extern int32 op_cis (int32 *opnd, int32 cc, int32 opc, int32 acc);
+ extern int32 op_octa (int32 *opnd, int32 cc, int32 opc, int32 acc, int32
spec, int32 va);
+ extern int32 intexc (int32 vec, int32 cc, int32 ipl, int ei);
+-extern int32 Read (uint32 va, int32 lnt, int32 acc);
+-extern void Write (uint32 va, int32 val, int32 lnt, int32 acc);
+-extern int32 ReadB (uint32 pa);
+-extern void WriteB (uint32 pa, int32 val);
+-extern int32 ReadLP (uint32 pa);
+-extern int32 Test (uint32 va, int32 acc, int32 *status);
++inline extern int32 Read (uint32 va, int32 lnt, int32 acc);
++inline extern void Write (uint32 va, int32 val, int32 lnt, int32 acc);
++inline extern int32 ReadB (uint32 pa);
++inline extern void WriteB (uint32 pa, int32 val);
++inline extern int32 ReadLP (uint32 pa);
++inline extern int32 Test (uint32 va, int32 acc, int32 *status);
+ extern int32 BadCmPSL (int32 newpsl);
+ extern int32 eval_int (void);
+ extern int32 get_vector (int32 lvl);
+@@ -376,7 +376,7 @@
+ t_stat cpu_set_idle (UNIT *uptr, int32 val, char *cptr, void *desc);
+ t_stat cpu_show_idle (FILE *st, UNIT *uptr, int32 val, void *desc);
+ int32 cpu_get_vsw (int32 sw);
+-int32 get_istr (int32 lnt, int32 acc);
++inline int32 get_istr (int32 lnt, int32 acc);
+ int32 ReadOcta (int32 va, int32 *opnd, int32 j, int32 acc);
+ t_bool cpu_show_opnd (FILE *st, InstHistory *h, int32 line);
+ int32 cpu_psl_ipl_idle (int32 newpsl);
+@@ -2919,7 +2919,7 @@
+ so any translation errors are real.
+ */
+
+-int32 get_istr (int32 lnt, int32 acc)
++inline int32 get_istr (int32 lnt, int32 acc)
+ {
+ int32 bo = PC & 3;
+ int32 sc, val, t;
Attachment:
signature.asc
Description: Digital signature