On Fri, 2008-02-29 09:21:21 +0100, Luca Sironi <luca%sironi.tk@localhost> wrote: > > Jan, can I use IDLE cpu feature with your updated version? I haven't ever used the IDLE feature, so this is untested. However, with this patchset, the IDLE feature can be activated. Networking may work, too. I can also activate a disk (set rq0 rauser=15000) with more than 2GB, which didn't work before, too. However, this is all pretty untested because the VAX install CD I've built doesn't boot. (This isn't is problem of SIMH, but with the CD image itself.) The new patch is attached, please keep me Cc'ed. MfG, JBG -- Jan-Benedict Glaw jbglaw%lug-owl.de@localhost +49-172-7608481 Signature of: Alles wird gut! ...und heute wirds schon ein bißchen besser. the second :
? README.html ? simh.diff ? work ? patches/patch-ad ? patches/patch-ae 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 19:56:33 -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 19:56:33 -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 19:56:33 -0000 @@ -1,8 +1,10 @@ $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 +SHA1 (patch-ae) = fe100d12e48fda06fd45518b486a0cf61787fd7c 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 19:56:33 -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 19:56:33 -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 19:56:33 -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 20:51:47.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; --- /dev/null 2008-02-29 20:51:47.000000000 +0100 +++ patches/patch-ae 2008-02-29 20:47:38.000000000 +0100 @@ -0,0 +1,47 @@ +diff -Nurp work/Makefile work-modified/Makefile +--- Makefile~ 2008-02-29 20:41:38.000000000 +0100 ++++ Makefile 2008-02-29 20:46:14.000000000 +0100 +@@ -14,7 +14,8 @@ + #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. ++CC = gcc -O2 -g -lm -I. -D_POSIX_SOURCE=1 -D_NETBSD_SOURCE=1 -D_LARGEFILE_SOURCE -DUSE_INT64 -DUSE_ADDR64 -D__NetBSD__ ++LDFLAGS=-lrt + #endif + #ifeq ($(USE_NETWORK),) + #else +diff -Nurp work/sim_ether.c work-modified/sim_ether.c +--- sim_ether.c~ 2008-02-29 20:41:38.000000000 +0100 ++++ sim_ether.c 2008-02-29 12:39:14.000000000 +0100 +@@ -240,6 +240,7 @@ + */ + + #include <ctype.h> ++#include <fcntl.h> + #include "sim_ether.h" + #include "sim_sock.h" + +diff -Nurp work/sim_fio.c work-modified/sim_fio.c +--- sim_fio.c~ 2007-06-28 22:14:00.000000000 +0200 ++++ sim_fio.c 2008-02-29 20:11:26.000000000 +0100 +@@ -294,7 +294,7 @@ return fseeko64 (st, xpos, origin); + + /* Apple OS/X */ + +-#if defined (__APPLE__) || defined (__FreeBSD__) ++#if defined (__APPLE__) || defined (__FreeBSD__) || defined (__NetBSD__) + #define _SIM_IO_FSEEK_EXT_ 1 + + int sim_fseek (FILE *st, t_addr xpos, int origin) +diff -Nurp work/sim_timer.c work-modified/sim_timer.c +--- sim_timer.c~ 2007-07-16 19:08:40.000000000 +0200 ++++ sim_timer.c 2008-02-29 20:44:22.000000000 +0100 +@@ -303,6 +303,7 @@ if (clock_getres (CLOCK_REALTIME, &treq) + return 0; + msec = (treq.tv_nsec + (NANOS_PER_MILLI >> 1)) / NANOS_PER_MILLI; + if (msec > SIM_IDLE_MAX) return 0; ++if (msec == 0) msec = 1; + return msec; + + #else /* others */
Attachment:
signature.asc
Description: Digital signature