<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>pcap &#8211; Virtually Fun</title>
	<atom:link href="https://virtuallyfun.com/category/pcap/feed/" rel="self" type="application/rss+xml" />
	<link>https://virtuallyfun.com</link>
	<description>Fun with Virtualization</description>
	<lastBuildDate>Sat, 23 May 2026 09:48:21 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>
	<item>
		<title>Using MIT PC/IP with SLiRP &#038; a virtual Cisco Router</title>
		<link>https://virtuallyfun.com/2024/03/25/using-mit-pc-ip-with-slirp-a-virtual-cisco-router/</link>
					<comments>https://virtuallyfun.com/2024/03/25/using-mit-pc-ip-with-slirp-a-virtual-cisco-router/#respond</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 25 Mar 2024 18:47:19 +0000</pubDate>
				<category><![CDATA[Dynamips]]></category>
		<category><![CDATA[pcap]]></category>
		<category><![CDATA[SLiRP]]></category>
		<category><![CDATA[videos]]></category>
		<category><![CDATA[virtual networking]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=14177</guid>

					<description><![CDATA[In this video I&#8217;ll be covering the circa 1985 MIT PC/IP stack running on 86box trying to connect to a user mode network library, SLiRP. After that fails I&#8217;ll show how to break the stack apart so we can use &#8230; <a href="https://virtuallyfun.com/2024/03/25/using-mit-pc-ip-with-slirp-a-virtual-cisco-router/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Using MIT PC/IP with SLiRP &amp; a virtual Cisco Router" width="584" height="329" src="https://www.youtube.com/embed/N3F-LOMDtJw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">In this video I&#8217;ll be covering the circa 1985 MIT PC/IP stack running on 86box trying to connect to a user mode network library, SLiRP. After that fails I&#8217;ll show how to break the stack apart so we can use WireShark to inspect the traffic, then how to replace the direct connection to SLiRP by using Dynamips to emulate a cisco 7200 router.</p>



<p class="wp-block-paragraph">Caution it&#8217;s all command line! </p>



<p class="wp-block-paragraph">I&#8217;ll cover adding a loop back adapter, installing WireShark, how to find the GUID&#8217;s of the interfaces, how to configure a HecNET bridge, and set it up to relay to a stand-alone version of SLiRP, then how to setup a virtual cisco router to do NAT, and also forward to SLiRP, along with taking network captures to show what is really going on! </p>



<p class="wp-block-paragraph">Software used (in no particular order)</p>



<ul class="wp-block-list">
<li><a href="https://86box.net/" target="_blank" rel="noreferrer noopener">https://86box.net/</a></li>



<li><a href="https://www.7-zip.org/download.htm" target="_blank" rel="noreferrer noopener">https://www.7-zip.org/download.htm</a></li>



<li><a href="https://www.wireshark.org/download.html" target="_blank" rel="noreferrer noopener">https://www.wireshark.org/download.html</a></li>



<li><a href="https://sourceforge.net/projects/dynamips-mingw/" target="_blank" rel="noreferrer noopener">https://sourceforge.net/projects/dynamips-mingw/</a></li>



<li><a href="https://sourceforge.net/projects/hecnetnt/" target="_blank" rel="noreferrer noopener">https://sourceforge.net/projects/hecnetnt/</a></li>



<li><a href="https://github.com/neozeed/dos211" target="_blank" rel="noreferrer noopener">https://github.com/neozeed/dos211</a></li>



<li><a href="https://github.com/neozeed/8086pcc" target="_blank" rel="noreferrer noopener">https://github.com/neozeed/8086pcc</a></li>
</ul>



<p class="wp-block-paragraph">Or for those who prefer the written way&#8230;</p>



<figure class="wp-block-image size-full"><a href="/wp-content/uploads/2024/03/86box-plus-slirp-eq-no-visability.png" target="_blank" rel="noreferrer noopener"><img fetchpriority="high" decoding="async" width="962" height="302" src="/wp-content/uploads/2024/03/86box-plus-slirp-eq-no-visability.png" alt="" class="wp-image-14179" srcset="https://virtuallyfun.com/wp-content/uploads/2024/03/86box-plus-slirp-eq-no-visability.png 962w, https://virtuallyfun.com/wp-content/uploads/2024/03/86box-plus-slirp-eq-no-visability-300x94.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/03/86box-plus-slirp-eq-no-visability-768x241.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/03/86box-plus-slirp-eq-no-visability-500x157.png 500w" sizes="(max-width: 962px) 100vw, 962px" /></a><figcaption class="wp-element-caption">what is going on?</figcaption></figure>



<p class="wp-block-paragraph">In 86box, you have the ability to use the SLiRP library directly from the emulator.  Which is all find and good, but sadly it gives you no visibility when things go wrong.  And with MIT PC/IP things go wrong.  Looking at the data through Wireshark sure would be nice, but how to we get it into there?</p>



<p class="wp-block-paragraph">Well the simplest way is to just break it apart.</p>



<figure class="wp-block-image size-full"><a href="/wp-content/uploads/2024/03/86box-plus-loop-plus-hecnet-eq-visability.png" target="_blank" rel="noreferrer noopener"><img decoding="async" width="1017" height="576" src="/wp-content/uploads/2024/03/86box-plus-loop-plus-hecnet-eq-visability.png" alt="" class="wp-image-14181" srcset="https://virtuallyfun.com/wp-content/uploads/2024/03/86box-plus-loop-plus-hecnet-eq-visability.png 1017w, https://virtuallyfun.com/wp-content/uploads/2024/03/86box-plus-loop-plus-hecnet-eq-visability-300x170.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/03/86box-plus-loop-plus-hecnet-eq-visability-768x435.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/03/86box-plus-loop-plus-hecnet-eq-visability-500x283.png 500w" sizes="(max-width: 1017px) 100vw, 1017px" /></a><figcaption class="wp-element-caption">Broken apart into it&#8217;s components</figcaption></figure>



<p class="wp-block-paragraph">Adding in a KM TEST loopback adapter to Windows now gives us a private network we can now attach programs to via the pcap API.  Hecnet is a l2 bridge that can inspect and look for l3 traffic and then forward it via udp to another program.  In this case I had made a version of <a href="https://sourceforge.net/p/dynamips-mingw/code/ci/master/tree/dynamips-master/common/slirp_rdr.c" target="_blank" rel="noreferrer noopener">SLiRP that will communicate via UDP</a>, perfect for stuff like this!</p>



<p class="wp-block-paragraph">One thing to keep in mind is that the &#8216;GUIDS&#8217; of the network interfaces are unique to each system, the ethlist program will show you which is which.  It&#8217;s also why renaming interfaces only helps you when dealing with old libpcap stuff!</p>



<figure class="wp-block-image size-full"><a href="/wp-content/uploads/2024/03/network-interface-names-for-mit-pcip.png" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="787" height="194" src="/wp-content/uploads/2024/03/network-interface-names-for-mit-pcip.png" alt="" class="wp-image-14186" srcset="https://virtuallyfun.com/wp-content/uploads/2024/03/network-interface-names-for-mit-pcip.png 787w, https://virtuallyfun.com/wp-content/uploads/2024/03/network-interface-names-for-mit-pcip-300x74.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/03/network-interface-names-for-mit-pcip-768x189.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/03/network-interface-names-for-mit-pcip-500x123.png 500w" sizes="auto, (max-width: 787px) 100vw, 787px" /></a><figcaption class="wp-element-caption">Rename stuff so it makes sense!  Otherwise, everything is Ethernet</figcaption></figure>



<p class="wp-block-paragraph">Becomes:</p>



<pre class="wp-block-code"><code>C:\hecnet>ethlist.exe
Network devices:
  Number       NAME                                     (Description)
  0  \Device\NPF_{E7EB72FA-7850-4864-B721-2A3B38737214} (KM-TEST)
  1  \Device\NPF_{649448CA-969D-486E-AAC8-99F1993C701A} (Ethernet0)
Press Enter to continue...

C:\hecnet></code></pre>



<p class="wp-block-paragraph">With this information in hand, creating the bridge configuration is quite simple:</p>



<pre class="wp-block-code"><code>&#91;bridge]
Loop \Device\NPF_{E7EB72FA-7850-4864-B721-2A3B38737214}
update 127.0.0.1:5001

&#91;tcpip]
Loop
update</code></pre>



<p class="wp-block-paragraph">The bridge is for an uncompressed normal bridge connection between the KM TEST loopback interface and a UDP connection listening on port 5001 on localhost.  Of note it&#8217;ll be forwarding TCP/IP related packets. Since we want the bridge to listen on UDP port 5000 we simply run it like this:</p>



<pre class="wp-block-code"><code>hecnet.exe 5000</code></pre>



<p class="wp-block-paragraph">Running the SLiRP redirector is just a simple matter of telling it which port to listen on, and where to forward traffic.  In this case we&#8217;ll listen on port 5001 and forward traffic to 5000 on the localhost</p>



<pre class="wp-block-code"><code>slirp_rdr.exe 5001 127.0.0.1 5000</code></pre>



<p class="wp-block-paragraph">Thankfully, it&#8217;s that simple! </p>



<p class="wp-block-paragraph">Running a ping fails (yet again) but this time we can see that they are doing ARP but for some reason PC/IP does not acknowledge the SLiRP library.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="858" height="187" src="/wp-content/uploads/2024/03/mit-pcip-no-working-arp.png" alt="" class="wp-image-14182" srcset="https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-no-working-arp.png 858w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-no-working-arp-300x65.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-no-working-arp-768x167.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-no-working-arp-500x109.png 500w" sizes="auto, (max-width: 858px) 100vw, 858px" /></figure>



<p class="wp-block-paragraph">Just to verify, the HecnetNT bridge does see the source and destination address, and the SLiRP does indicate traffic in and out as expected.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="689" height="549" src="/wp-content/uploads/2024/03/mit-pcip-no-working-arp-stats-jpg.webp" alt="" class="wp-image-14183" srcset="https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-no-working-arp-stats-jpg.webp 689w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-no-working-arp-stats-300x239.webp 300w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-no-working-arp-stats-377x300.webp 377w" sizes="auto, (max-width: 689px) 100vw, 689px" /></figure>



<p class="wp-block-paragraph">Clearly the fault is on the PC/IP side, and most likely because it&#8217;s so old.</p>



<p class="wp-block-paragraph">I then decided to build another network, this time using Dynamips to add in a virtual router.</p>



<figure class="wp-block-image size-large is-resized"><a href="/wp-content/uploads/2024/03/mit-pcip-dynamips-network-diagram2-jpg.webp"><img loading="lazy" decoding="async" width="1024" height="527" src="/wp-content/uploads/2024/03/mit-pcip-dynamips-network-diagram2-1024x527.webp" alt="" class="wp-image-14185" style="width:615px;height:auto" srcset="https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-dynamips-network-diagram2-1024x527.webp 1024w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-dynamips-network-diagram2-300x154.webp 300w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-dynamips-network-diagram2-768x395.webp 768w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-dynamips-network-diagram2-500x257.webp 500w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-dynamips-network-diagram2-jpg.webp 1058w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Adding in a router</figcaption></figure>



<p class="wp-block-paragraph">This complicates things as I&#8217;m not sure how to control the internal routing of the SLiRP library so the router has to NAT the PC/IP traffic to SLiRP, which in turn &#8216;NATs&#8217; it to the internet.  But rest assured double NAT (or even more) is quite common these days.</p>



<p class="wp-block-paragraph">Configuring the router is somewhat straight forward, we are going to use pcap to listen on the KM TEST loopack, replacing the HecnetNT bridge.  But it&#8217;s going to talk to the SLiRP redirector in the same manner:</p>



<pre class="wp-block-code"><code>set loopback=\Device\NPF_{E7EB72FA-7850-4864-B721-2A3B38737214}
set IOS=..\c7200-is-mz.19991126.bin
set NPE=npe-100
set RAM=64 -X

@attrib *.* -r
..\dynamips.exe -P 7200 %IOS%  ^
-m %RAM% ^
-t %NPE%  ^
-p 0:C7200-IO-FE ^
-p 1:PA-4E  ^
-s1:0:gen_eth:%loopback% ^
-s1:1:udp:5000:127.0.0.1:5001</code></pre>



<p class="wp-block-paragraph">This creates a basic 7200 router with a 4 port ethernet card, with one port connected to the KM TEST loopback, and the other connected to the SLiRP library.</p>



<p class="wp-block-paragraph">Configuration of the router is not very complicated either:</p>



<pre class="wp-block-code"><code>!
no ip domain-lookup
!
interface Ethernet1/0
 ip address 192.168.1.1 255.255.255.0
 no ip directed-broadcast
 ip nat inside
!
interface Ethernet1/1
 ip address 10.0.2.15 255.255.255.0
 no ip directed-broadcast
 ip nat outside
!
ip default-gateway 10.0.2.2
ip nat inside source list 1 interface Ethernet1/1 overload
ip classless
ip route 0.0.0.0 0.0.0.0 10.0.2.2
no ip http server
!
access-list 1 permit 192.168.1.0 0.0.0.255
!

</code></pre>



<p class="wp-block-paragraph">This defines our default route for both the routing table, and the management engine to the SLiRP library, defines the NAT inside/outside interfaces along with specifying the &#8216;overload&#8217; address will be the 10.0.2.15 NAT&#8217;ing the PC/IP traffic behind the usual SLiRP user address.</p>



<figure class="wp-block-image size-full"><a href="/wp-content/uploads/2024/03/mit-pcip-pinging-slirp-through-cisco-router.png" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="729" height="448" src="/wp-content/uploads/2024/03/mit-pcip-pinging-slirp-through-cisco-router.png" alt="" class="wp-image-14188" srcset="https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-pinging-slirp-through-cisco-router.png 729w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-pinging-slirp-through-cisco-router-300x184.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-pinging-slirp-through-cisco-router-488x300.png 488w" sizes="auto, (max-width: 729px) 100vw, 729px" /></a><figcaption class="wp-element-caption">Pinging the SLiRP gateway</figcaption></figure>



<p class="wp-block-paragraph">This allows us to ping SLiRP, and get the expected response.</p>



<figure class="wp-block-image size-full"><a href="/wp-content/uploads/2024/03/mit-pcip-pinging-slirp-through-cisco-router-capture.png"><img loading="lazy" decoding="async" width="1025" height="729" src="/wp-content/uploads/2024/03/mit-pcip-pinging-slirp-through-cisco-router-capture.png" alt="" class="wp-image-14189" srcset="https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-pinging-slirp-through-cisco-router-capture.png 1025w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-pinging-slirp-through-cisco-router-capture-300x213.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-pinging-slirp-through-cisco-router-capture-768x546.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-pinging-slirp-through-cisco-router-capture-422x300.png 422w" sizes="auto, (max-width: 1025px) 100vw, 1025px" /></a><figcaption class="wp-element-caption">Working ARP/ICMP with cisco router</figcaption></figure>



<p class="wp-block-paragraph">Checking the capture, we can see that yes ARP is working as expected, and the ping works without any issues.</p>



<p class="wp-block-paragraph">On the router we can see the NAT translation.</p>



<pre class="wp-block-code"><code>Router#show ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
tcp 10.0.2.15:4376     192.168.1.5:4376   71.95.196.34:23    71.95.196.34:23
Router#</code></pre>



<p class="wp-block-paragraph">And we can also check the SLiRP redirector for information on the current session.</p>



<pre class="wp-block-code"><code>SLiRP redirector started!
Press 's' for SLiRP stats
Press 'e' to exit.

Sent:           Recv:
stats!          4859

Proto&#91;state]     Sock     Local Address, Port  Remote Address, Port RecvQ SendQ
tcp&#91;ESTABLISHED]  632         10.0.2.15  4376    71.95.196.34    23     0   600
tcp&#91;REDIRECT]     616         10.0.2.15    23        10.0.2.2 42323     0     0

</code></pre>



<p class="wp-block-paragraph">Plus, we also have the Wireshark capture going showing the start of the TCP conversation</p>



<figure class="wp-block-image size-full"><a href="/wp-content/uploads/2024/03/mit-pcip-telnet-slirp-through-cisco-router-capture.png" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="1025" height="731" src="/wp-content/uploads/2024/03/mit-pcip-telnet-slirp-through-cisco-router-capture.png" alt="" class="wp-image-14190" srcset="https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-telnet-slirp-through-cisco-router-capture.png 1025w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-telnet-slirp-through-cisco-router-capture-300x214.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-telnet-slirp-through-cisco-router-capture-768x548.png 768w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-telnet-slirp-through-cisco-router-capture-421x300.png 421w" sizes="auto, (max-width: 1025px) 100vw, 1025px" /></a><figcaption class="wp-element-caption">TCP connected!</figcaption></figure>



<figure class="wp-block-image size-full"><a href="https://www.synchro.net/" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="764" height="478" src="/wp-content/uploads/2024/03/mit-pcip-connected-to-vert.png" alt="" class="wp-image-14192" srcset="https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-connected-to-vert.png 764w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-connected-to-vert-300x188.png 300w, https://virtuallyfun.com/wp-content/uploads/2024/03/mit-pcip-connected-to-vert-479x300.png 479w" sizes="auto, (max-width: 764px) 100vw, 764px" /></a><figcaption class="wp-element-caption">Connected to VERT</figcaption></figure>



<p class="wp-block-paragraph">So now we&#8217;ve connected to the internet and by breaking the process appart we can now inspect what is going on, and made modifications like adding a cisco router.</p>



<p class="wp-block-paragraph">I figured that this may be something that other people may be interested in, as you can build far more complex virtual networks this way!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2024/03/25/using-mit-pc-ip-with-slirp-a-virtual-cisco-router/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft&#8217;s Netware emulators</title>
		<link>https://virtuallyfun.com/2023/06/12/microsofts-netware-emulators/</link>
					<comments>https://virtuallyfun.com/2023/06/12/microsofts-netware-emulators/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Mon, 12 Jun 2023 20:10:37 +0000</pubDate>
				<category><![CDATA[netware]]></category>
		<category><![CDATA[Novell Netware 3.12]]></category>
		<category><![CDATA[pcap]]></category>
		<category><![CDATA[QEMU]]></category>
		<category><![CDATA[virtual networking]]></category>
		<category><![CDATA[Windows 95]]></category>
		<category><![CDATA[Windows NT 3.51]]></category>
		<category><![CDATA[Windows NT 4.0]]></category>
		<guid isPermaLink="false">http://virtuallyfun.com/?p=12799</guid>

					<description><![CDATA[First thing to take care of, is if you have the old pcap on Windows running around. If you have it, you&#8217;ll know as you&#8217;ll get spammed with &#8220;FATAL Bad Memory Block.&#8221;, although things will continue to operate just fine. &#8230; <a href="https://virtuallyfun.com/2023/06/12/microsofts-netware-emulators/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">First thing to take care of, is if you have the <a href="http://www.win10pcap.org/download/" target="_blank" rel="noreferrer noopener">old pcap on Windows</a> running around.  If you have it, you&#8217;ll know as you&#8217;ll get spammed with &#8220;FATAL Bad Memory Block.&#8221;, although things will continue to operate just fine.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/old-Win10Pcap.png"><img loading="lazy" decoding="async" width="799" height="63" src="https://virtuallyfun.com/wp-content/uploads/2023/06/old-Win10Pcap.png" alt="" class="wp-image-12800" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/old-Win10Pcap.png 799w, https://virtuallyfun.com/wp-content/uploads/2023/06/old-Win10Pcap-300x24.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/old-Win10Pcap-768x61.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/06/old-Win10Pcap-500x39.png 500w" sizes="auto, (max-width: 799px) 100vw, 799px" /></a><figcaption class="wp-element-caption">Win10Pcap!</figcaption></figure>



<pre class="wp-block-code"><code>C:\dynamips\netware\qemu-0.90-pcap-client>qemu -m 16 -L pc-bios -M isapc -hda client.disk -soundhw sb16,adlib -net nic,macaddr=52:24:00:22:00:01 -net pcap,devicename={BFA868ED-E508-4436-B085-EC815C4C544C}
Eth: opened {BFA868ED-E508-4436-B085-EC815C4C544C}
Could not open '\\.\kqemu' - QEMU acceleration layer not activated
FATAL Bad Memory Block.
FATAL Bad Memory Block.
FATAL Bad Memory Block.
FATAL Bad Memory Block.</code></pre>



<p class="wp-block-paragraph">So be sure to dump that for the one over on <a href="https://npcap.com/" target="_blank" rel="noreferrer noopener">npcap</a>!</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap.png"><img loading="lazy" decoding="async" width="1024" height="471" src="https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap-1024x471.png" alt="" class="wp-image-12801" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap-1024x471.png 1024w, https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap-300x138.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap-768x353.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap-500x230.png 500w, https://virtuallyfun.com/wp-content/uploads/2023/06/running-netware-3.12-and-connecting-from-MS-DOS-using-Qemu-with-winpcap.png 1225w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">The old times, actually running Netware 3.12</figcaption></figure>



<p class="wp-block-paragraph">There was a time when Windows NT didn&#8217;t dominate the 1990&#8217;s data centre.  Instead as a carryover from the 1980&#8217;s the majority of corporate LANS were instead based on Netware. And the only way Windows NT was going to make space in this environment was to dress up in sheep&#8217;s clothes and mingle among them unnoticed.  That brings us to this GEM:</p>



<figure class="wp-block-image size-large"><a href="https://archive.org/details/FPNWDSMN"><img loading="lazy" decoding="async" width="1024" height="684" src="https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc-1024x684.jpg" alt="" class="wp-image-12802" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc-1024x684.jpg 1024w, https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc-300x200.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc-768x513.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc-1536x1025.jpg 1536w, https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc-449x300.jpg 449w, https://virtuallyfun.com/wp-content/uploads/2023/06/Microsoft-Windows-Services-for-Netware-version-4-disc.jpg 1600w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Services for NetWare</figcaption></figure>



<p class="wp-block-paragraph">This fun CD will let our NT 4.0 server emulate a NetWare server!  The first thing in one of these stealth migrations was to just join the existing network.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/existing-netware-network-setup.png"><img loading="lazy" decoding="async" width="722" height="427" src="https://virtuallyfun.com/wp-content/uploads/2023/06/existing-netware-network-setup.png" alt="" class="wp-image-12803" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/existing-netware-network-setup.png 722w, https://virtuallyfun.com/wp-content/uploads/2023/06/existing-netware-network-setup-300x177.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/existing-netware-network-setup-500x296.png 500w" sizes="auto, (max-width: 722px) 100vw, 722px" /></a><figcaption class="wp-element-caption">The existing network is 0C0FFCAB</figcaption></figure>



<p class="wp-block-paragraph">In order to do this, the two bits of information we need is the frame type, since NetWare supports so many, and the network address.  In this case its 0C0FFCAB.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/default-nt-ipx-setup.png"><img loading="lazy" decoding="async" width="568" height="487" src="https://virtuallyfun.com/wp-content/uploads/2023/06/default-nt-ipx-setup.png" alt="" class="wp-image-12804" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/default-nt-ipx-setup.png 568w, https://virtuallyfun.com/wp-content/uploads/2023/06/default-nt-ipx-setup-300x257.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/default-nt-ipx-setup-350x300.png 350w" sizes="auto, (max-width: 568px) 100vw, 568px" /></a><figcaption class="wp-element-caption">default IPX is no good</figcaption></figure>



<p class="wp-block-paragraph">By default the NT server will just listen to the network, and participate on what it sees.  This is fine if you are just playing along as a dynamic node, but being a NetWare node requires you to step it up, and have these values set, as it is very possible that you could be the first one (or only one) live on the network, and you don&#8217;t want clients trying to think on their own.</p>



<p class="wp-block-paragraph">I also gave mine an internal network number of 1381, because you know, it&#8217;s NT 4.0.</p>



<p class="wp-block-paragraph">To add the FPNW, you need to add it as a new service.  Just tell it you have a disk</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service.png"><img loading="lazy" decoding="async" width="527" height="489" src="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service.png" alt="" class="wp-image-12805" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service.png 527w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-300x278.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-323x300.png 323w" sizes="auto, (max-width: 527px) 100vw, 527px" /></a></figure>



<p class="wp-block-paragraph">You&#8217;ll then have to point it to the path of the install.  This is honestly the hardest part.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-2.png"><img loading="lazy" decoding="async" width="540" height="458" src="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-2.png" alt="" class="wp-image-12806" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-2.png 540w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-2-300x254.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-2-354x300.png 354w" sizes="auto, (max-width: 540px) 100vw, 540px" /></a></figure>



<p class="wp-block-paragraph">Selecting the first option will install the NetWare Server emulation on the NT server.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-4.png"><img loading="lazy" decoding="async" width="477" height="529" src="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-4.png" alt="" class="wp-image-12808" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-4.png 477w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-add-new-service-4-271x300.png 271w" sizes="auto, (max-width: 477px) 100vw, 477px" /></a></figure>



<p class="wp-block-paragraph">I went ahead and named my NetWare emulation as SHEEP, as I NT to blend into the existing NetWare network, with nobody being the wiser.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/client-found-the-sheep.png"><img loading="lazy" decoding="async" width="722" height="427" src="https://virtuallyfun.com/wp-content/uploads/2023/06/client-found-the-sheep.png" alt="" class="wp-image-12809" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/client-found-the-sheep.png 722w, https://virtuallyfun.com/wp-content/uploads/2023/06/client-found-the-sheep-300x177.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/client-found-the-sheep-500x296.png 500w" sizes="auto, (max-width: 722px) 100vw, 722px" /></a></figure>



<p class="wp-block-paragraph">indeed, on our client that was already connected to the Qemu server before I built WOLF, I ran an <code>slist</code> command to show all the servers on the network, and there is my Wolf in Sheep&#8217;s clothes.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-enable-netware-logins-for-an-existing-user.png"><img loading="lazy" decoding="async" width="660" height="467" src="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-enable-netware-logins-for-an-existing-user.png" alt="" class="wp-image-12810" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-enable-netware-logins-for-an-existing-user.png 660w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-enable-netware-logins-for-an-existing-user-300x212.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/fpnw-enable-netware-logins-for-an-existing-user-424x300.png 424w" sizes="auto, (max-width: 660px) 100vw, 660px" /></a></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="587" height="373" src="https://virtuallyfun.com/wp-content/uploads/2023/06/creating-volumes.png" alt="" class="wp-image-12812" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/creating-volumes.png 587w, https://virtuallyfun.com/wp-content/uploads/2023/06/creating-volumes-300x191.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/creating-volumes-472x300.png 472w" sizes="auto, (max-width: 587px) 100vw, 587px" /></figure>



<p class="wp-block-paragraph">Creating NetWare compatible volumes is done in the Server Manager, under the FPNW option.  It&#8217;s pretty self explanatory, nothing too exciting there.</p>



<p class="wp-block-paragraph">The truth is during the period where this was important the NT 3.51-40 timeframe, NetWare was still a dominant force.  But once Windows 95 had launched, and the explosion of people wanting MORE, the natural interest of people going to NT was just amazing to see in corporate space.  While there was an early beta of the newshell for NT 3.51, when NT 4.0 shipped it was just amazing as all the reservations for running NT had just evaporated.  We&#8217;d gone from hiding among the sheep to full on eating them all.  It was staggering how fast we were backing up NetWare volumes to only re-format the servers to NT, and get people converted to using them.  Before NT 4, the consensus was that rolling out the client config was going to be a nightmare, and that being able to emulate NetWare was the way to go, as it would just work (see the MS-DOS VM talking to NT with an unmodified NetWare client).  Instead we saw a massive drive to Windows 95, which ended up changing the client landscape and upending NetWare completly.</p>



<p class="wp-block-paragraph">About the most difficult thing was user mappings, there was tools to do this kind of thing, and I believe we had something to even proxy passwords, but it was easier to make people just login to the NT side.</p>



<p class="wp-block-paragraph">Of course this is ONE of the emulators, you might be asking, okay, what is the other?</p>



<p class="wp-block-paragraph">Why, it&#8217;s <strong>WINDOWS 95</strong>.</p>



<p class="wp-block-paragraph">YES.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="642" height="507" src="https://virtuallyfun.com/wp-content/uploads/2023/06/set-the-name-and-domain-of-dolly.png" alt="" class="wp-image-12818" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/set-the-name-and-domain-of-dolly.png 642w, https://virtuallyfun.com/wp-content/uploads/2023/06/set-the-name-and-domain-of-dolly-300x237.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/set-the-name-and-domain-of-dolly-380x300.png 380w" sizes="auto, (max-width: 642px) 100vw, 642px" /></figure>



<p class="wp-block-paragraph">I&#8217;m joining the NT domain for the full experence, but the NetWare emulation relies on NetWare servers for authentication.  You could use an actual NetWare server, or of course a FPNW server.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service.png"><img loading="lazy" decoding="async" width="596" height="456" src="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service.png" alt="" class="wp-image-12816" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service.png 596w, https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-300x230.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-392x300.png 392w" sizes="auto, (max-width: 596px) 100vw, 596px" /></a></figure>
</div>


<p class="wp-block-paragraph">Adding file and printer sharing for NetWare workgroups under Windows 95 is done by adding a Service to the network stack.  It&#8217;s even on the floppy version.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-access-controll-from-sheep.png"><img loading="lazy" decoding="async" width="414" height="332" src="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-access-controll-from-sheep.png" alt="" class="wp-image-12819" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-access-controll-from-sheep.png 414w, https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-access-controll-from-sheep-300x241.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-add-fpnw-service-access-controll-from-sheep-374x300.png 374w" sizes="auto, (max-width: 414px) 100vw, 414px" /></a></figure>
</div>


<p class="wp-block-paragraph">To maximize the functionality and the pain, be sure to turn on SAP Advertising.  This way it&#8217;ll appear in server lists.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-enable-sap-advertising.png"><img loading="lazy" decoding="async" width="423" height="332" src="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-enable-sap-advertising.png" alt="" class="wp-image-12815" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-enable-sap-advertising.png 423w, https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-enable-sap-advertising-300x235.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/95netware-enable-sap-advertising-382x300.png 382w" sizes="auto, (max-width: 423px) 100vw, 423px" /></a><figcaption class="wp-element-caption">SAP on!</figcaption></figure>
</div>


<p class="wp-block-paragraph">So with all of this in place, yes you can map drives from the MS-DOS client to the Windows 95 workstation acting as a server.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="722" height="427" src="https://virtuallyfun.com/wp-content/uploads/2023/06/mapping-a-drive-from-dolly-authenticated-by-the-wolf-hiding-as-a-sheep.png" alt="" class="wp-image-12820" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/mapping-a-drive-from-dolly-authenticated-by-the-wolf-hiding-as-a-sheep.png 722w, https://virtuallyfun.com/wp-content/uploads/2023/06/mapping-a-drive-from-dolly-authenticated-by-the-wolf-hiding-as-a-sheep-300x177.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/mapping-a-drive-from-dolly-authenticated-by-the-wolf-hiding-as-a-sheep-500x296.png 500w" sizes="auto, (max-width: 722px) 100vw, 722px" /><figcaption class="wp-element-caption">Mapping a drive on 95, authenticated by the WOLF hiding as a SHEEP</figcaption></figure>
</div>


<p class="wp-block-paragraph">And there we go, I can now see the Windows 95 workstation on the SLIST, and connect and map drives.  My user account of course exists on the NT side.</p>



<p class="wp-block-paragraph">While professionally I didn&#8217;t rely too much on this feature, but it was nice in that era where you still had MS-DOS/MacOS/OS2 desktops with NetWare clients to quickly share stuff. But in a large organisation this would lead to major issues.</p>



<p class="wp-block-paragraph">The fundamental flaw in NetWare is that there is no directory service.  Instead, all the servers have to broadcast that they exist, along with what services they provide.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/neware-sap.png"><img loading="lazy" decoding="async" width="887" height="80" src="https://virtuallyfun.com/wp-content/uploads/2023/06/neware-sap.png" alt="" class="wp-image-12821" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/neware-sap.png 887w, https://virtuallyfun.com/wp-content/uploads/2023/06/neware-sap-300x27.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/neware-sap-768x69.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/06/neware-sap-500x45.png 500w" sizes="auto, (max-width: 887px) 100vw, 887px" /></a></figure>



<p class="wp-block-paragraph">On my tiny demo network this isn&#8217;t that much traffic.  But on a larger network that spans continents this becomes a problem.  With thousands of servers there can be an incredible amount of this SAP announcement traffic.  Since there is no directory service, the other problem is that when a new client is booted up, it&#8217;ll do what is known as a GNS or Get Nearest Server request in order to find the closest server to attach to, in order to facilitate a login.  And <em><strong>EVERY</strong></em> server will reply.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/06/GNS-replies.png"><img loading="lazy" decoding="async" width="948" height="395" src="https://virtuallyfun.com/wp-content/uploads/2023/06/GNS-replies.png" alt="" class="wp-image-12822" srcset="https://virtuallyfun.com/wp-content/uploads/2023/06/GNS-replies.png 948w, https://virtuallyfun.com/wp-content/uploads/2023/06/GNS-replies-300x125.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/06/GNS-replies-768x320.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/06/GNS-replies-500x208.png 500w" sizes="auto, (max-width: 948px) 100vw, 948px" /></a></figure>
</div>


<p class="wp-block-paragraph">And as you can see some servers even will reply more than once.  And this can have other effects where people reboot servers during the day, something that is very natural for a Windows 95 user, which could create issues for other users, even forcing them to reboot!  And yes, anecdotally I ran into this so many times where people with laptops with this feature turned on, and they would screw up the local office building (impacting hundreds of people).  Even when they weren&#8217;t winning the GNS elections.they are still generating extra traffic, and occasionally they will win.  This was another problem we had with all these wolves hiding in sheep&#8217;s clothing.</p>



<p class="wp-block-paragraph">In the end, NetWare was utterly removed from the data center&#8217;s by the end of 1997.  Windows NT just scaled too well for SMP and large disks (I had one server with 1TB!  It was using 4GB disks it was massive!), along with being able to easily install stuff like SQL Server &amp; SNA Server, unlike NetWare where any NLM conflict will bring the entire thing down.  Not having a name lookup server was a giant pain, but the final nail was also in 1997 with the rise of the internet, and normal people now getting involved the entire LAN/WAN was going TCP/IP, where it had only been a fringe protocol used for managing cisco routers, and tftp/ftp some files around, Windows NT&#8217;s ability to encapsulate named pipes, and NETBIOS over TCP/IP let them embrace this new world where the TCP/IP stack on NetWare 3.12/4.11 was only good for sending SNMP alerts.</p>



<p class="wp-block-paragraph">But don&#8217;t cry for NetWare, they made so much money they were able to coast for decades before being bought out in 2010 by a Mainframe Terminal Emulation company of all things, The Attachmate Group, who was later in turn bought out by Micro Focus, a COBOL language company.  I guess in the end, the Mainframes won?</p>



<p class="wp-block-paragraph"> </p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2023/06/12/microsofts-netware-emulators/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Ghosts in the mainframe!</title>
		<link>https://virtuallyfun.com/2023/05/26/ghosts-in-the-mainframe/</link>
					<comments>https://virtuallyfun.com/2023/05/26/ghosts-in-the-mainframe/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Fri, 26 May 2023 08:36:50 +0000</pubDate>
				<category><![CDATA[cisco]]></category>
		<category><![CDATA[cisco networking]]></category>
		<category><![CDATA[Dynamips]]></category>
		<category><![CDATA[mainframe]]></category>
		<category><![CDATA[netbeui]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[pcap]]></category>
		<category><![CDATA[QEMU]]></category>
		<category><![CDATA[virtual networking]]></category>
		<guid isPermaLink="false">http://virtuallyfun.com/?p=12668</guid>

					<description><![CDATA[There is a LOT going on in this image, and I&#8217;ll try to explain it, but yeah &#8220;it&#8217;s complicated&#8221;. SNA networking &#38; Hercules has always been a goal for a lot of people, including me as we always wanted to &#8230; <a href="https://virtuallyfun.com/2023/05/26/ghosts-in-the-mainframe/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/dlsw-herc-almost.png"><img loading="lazy" decoding="async" width="1024" height="643" src="https://virtuallyfun.com/wp-content/uploads/2023/05/dlsw-herc-almost-1024x643.png" alt="" class="wp-image-12669" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/dlsw-herc-almost-1024x643.png 1024w, https://virtuallyfun.com/wp-content/uploads/2023/05/dlsw-herc-almost-300x188.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/dlsw-herc-almost-768x482.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/05/dlsw-herc-almost-478x300.png 478w, https://virtuallyfun.com/wp-content/uploads/2023/05/dlsw-herc-almost.png 1468w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">There is a LOT going on in this image, and I&#8217;ll try to explain it, but yeah &#8220;it&#8217;s complicated&#8221;.</p>



<p class="wp-block-paragraph">SNA networking &amp; Hercules has always been a goal for a lot of people, including me as we always wanted to setup some SNA server of some kind.  Especially on RISC platforms, as there is only so much fun on SQL server.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-1.0-in-box.jpg"><img loading="lazy" decoding="async" width="1008" height="756" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-1.0-in-box.jpg" alt="" class="wp-image-12670" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-1.0-in-box.jpg 1008w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-1.0-in-box-300x225.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-1.0-in-box-768x576.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-1.0-in-box-400x300.jpg 400w" sizes="auto, (max-width: 1008px) 100vw, 1008px" /></a></figure>



<p class="wp-block-paragraph">Okay I know the practical among you will say, doesn&#8217;t it support telnet 3270? Isn&#8217;t that good enough?  Yes for day to day mundane stuff, absolutely.  But I&#8217;m not all that interested in that, I wan&#8217;t to have the whole ancient network, and I wan&#8217;t it self contained and on my desk!  Or on a laptop, as I see fit.</p>



<p class="wp-block-paragraph">What started this whole adventure was a simple image from <a rel="noreferrer noopener" href="https://www.9track.net/hercules/dlsw/" target="_blank">9track.net</a>, showing that being able to connect physical devices to Hercules was indeed possible!</p>



<figure class="wp-block-image size-full"><a href="https://www.9track.net/hercules/dlsw/"><img loading="lazy" decoding="async" width="800" height="600" src="https://virtuallyfun.com/wp-content/uploads/2023/05/ibm3174_01.jpg" alt="Image from https://www.9track.net/hercules/dlsw/" class="wp-image-12671" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/ibm3174_01.jpg 800w, https://virtuallyfun.com/wp-content/uploads/2023/05/ibm3174_01-300x225.jpg 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/ibm3174_01-768x576.jpg 768w, https://virtuallyfun.com/wp-content/uploads/2023/05/ibm3174_01-400x300.jpg 400w" sizes="auto, (max-width: 800px) 100vw, 800px" /></a></figure>



<p class="wp-block-paragraph">This is a physical IBM 3178 &amp; 3179 terminals talking to <a rel="noreferrer noopener" href="https://wotho.ethz.ch/tk4-/" target="_blank">TK4-</a> , a MVS3.8j pre-configured system!</p>



<p class="wp-block-paragraph">The magic that makes this all possible, is a cisco router, running enterprise IOS, with dlsw support.</p>



<p class="wp-block-paragraph">My setup is going to be inspired by this setup, but not exactly 100% But this is what I&#8217;m going to use on Windows 10</p>



<ul class="wp-block-list">
<li><a href="https://sourceforge.net/projects/dynamips-mingw/" target="_blank" rel="noreferrer noopener">Dynamips</a> for the cisco router, running JS-M 12.2(25)S8</li>



<li><a href="https://sourceforge.net/projects/qemu090b/files/sidesteps/qemu-0.90-pcap-client.7z/download" target="_blank" rel="noreferrer noopener">Qemu</a> 0.90 with PCAP running Windows NT 3.51 Server along with SNA Server 2.1</li>



<li><a href="https://sourceforge.net/projects/qemu090b/" target="_blank" rel="noreferrer noopener">Qemu</a> 0.90 running Windows 3.1 and XVision</li>



<li>VMware Player</li>



<li><a href="https://www.wireshark.org/" target="_blank" rel="noreferrer noopener">WireShark</a></li>



<li>Microsoft Loopback adapter</li>



<li>WSLv1</li>
</ul>



<p class="wp-block-paragraph">I had originally wanted  to run the NT server on VMware but for some reason it just hangs trying to initialise the NT kernel.  I didn&#8217;t bother trying to troubleshoot it, I just jumped to Qemu.  Even service pack 5 didn&#8217;t help.  VMware left me with the virtual network that will NAT if needed, and of course let me telnet to the Dynamips program.  The SNA traffic is isolated to the MS Loopback adapter, which will let pcap programs talk to each other.</p>



<p class="wp-block-paragraph">The first thing I did was run &#8216;hdwwiz&#8217; on Windows 10, and added in the KM-TEST loopback adapter </p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-1.png"><img loading="lazy" decoding="async" width="578" height="428" src="https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-1.png" alt="" class="wp-image-12672" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-1.png 578w, https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-1-300x222.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-1-405x300.png 405w" sizes="auto, (max-width: 578px) 100vw, 578px" /></a></figure>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-2.png"><img loading="lazy" decoding="async" width="578" height="428" src="https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-2.png" alt="" class="wp-image-12673" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-2.png 578w, https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-2-300x222.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-2-405x300.png 405w" sizes="auto, (max-width: 578px) 100vw, 578px" /></a></figure>



<p class="wp-block-paragraph">We know what we want, so go to the manuall selection</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-3.png"><img loading="lazy" decoding="async" width="578" height="428" src="https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-3.png" alt="" class="wp-image-12674" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-3.png 578w, https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-3-300x222.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-3-405x300.png 405w" sizes="auto, (max-width: 578px) 100vw, 578px" /></a></figure>



<p class="wp-block-paragraph">Network adapters</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-4.png"><img loading="lazy" decoding="async" width="578" height="428" src="https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-4.png" alt="" class="wp-image-12675" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-4.png 578w, https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-4-300x222.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/hdwwiz-4-405x300.png 405w" sizes="auto, (max-width: 578px) 100vw, 578px" /></a></figure>



<p class="wp-block-paragraph">And select the KM-TEST Loopback Adapter</p>



<p class="wp-block-paragraph">Next I changed the protocols available on the loopback, as I don&#8217;t want my Windows 10 host interfering with the SNA network at all.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/loopback-adapter-protocols.png"><img loading="lazy" decoding="async" width="364" height="552" src="https://virtuallyfun.com/wp-content/uploads/2023/05/loopback-adapter-protocols.png" alt="" class="wp-image-12676" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/loopback-adapter-protocols.png 364w, https://virtuallyfun.com/wp-content/uploads/2023/05/loopback-adapter-protocols-198x300.png 198w" sizes="auto, (max-width: 364px) 100vw, 364px" /></a></figure>



<p class="wp-block-paragraph">So the next thing to do is to get your network GUID&#8217;s.  ethlist.exe from the Dynamips download will get you that:</p>



<pre class="wp-block-code"><code>C:\dynamips&gt;ethlist.exe
Network devices:
  Number       NAME                                     (Description)
  0  \Device\NPF_{3DF0EC5D-7FBE-46DF-ACF8-EF5D8679A473} (loopback)
  1  \Device\NPF_{D9FBD118-B9DF-4C3C-BD9E-07A0E34D8F75} (Local Area Connection* 8)
  2  \Device\NPF_{F5057901-6A30-413A-80E4-4765DA794B7C} (Local Area Connection* 7)
  3  \Device\NPF_{E3D3EC8D-29C3-4B70-B01C-600D3F9ED1D6} (Local Area Connection* 6)
  4  \Device\NPF_{82EEDBC1-899D-416F-BD51-3DBE2287257F} (VMware Network Adapter VMnet8)
  5  \Device\NPF_{3BC364F4-5A15-405D-926C-C594383F0323} (VMware Network Adapter VMnet1)
  6  \Device\NPF_{DDF1FA94-7488-414F-A41A-EC88C1FB0DE4} (Ethernet)
  7  \Device\NPF_{E7CA8F40-4639-410D-B5CA-F402FE69AF5D} (Ethernet 2)</code></pre>



<p class="wp-block-paragraph">I want the cisco router to have two interfaces, one with TCP/IP for me to be able to telnet into it (maybe other management as well?!)  and the other one for the SNA traffic.</p>



<h2 class="wp-block-heading">Setting up Dynamips</h2>



<p class="wp-block-paragraph">As mentioned above I&#8217;m going to use the VMnet1 for TCP/IP to the router, and the loopback adapter for SNA traffic.  To try to make things a little easier to read I setup a small batch file that let&#8217;s me plug in variables to Dynamips:</p>



<pre class="wp-block-code"><code>set loopback=\Device\NPF_{3DF0EC5D-7FBE-46DF-ACF8-EF5D8679A473}
set vmnet1=\Device\NPF_{3BC364F4-5A15-405D-926C-C594383F0323}
set IOS=c7200-js-mz.122-25.S8.bin
set NPE=npe-200
..\dynamips.exe -P 7200 %IOS%  ^
-t %NPE%  ^
-p 0:C7200-IO-FE ^
-s0:0:gen_eth:%vmnet1% ^
-p 1:PA-4E  ^
-s1:0:gen_eth:%loopback% ^
-p2:PA-4T+</code></pre>



<p class="wp-block-paragraph">The caret symbol will break up lines on NT, much like the ampersand will on Unix.  And this let&#8217;s me use clear variables for the networks, IOS &amp; NPE type so it&#8217;s nowhere near as complicated to edit.</p>



<p class="wp-block-paragraph">This will create a cisco 7200 with an NPE-200, with the following cards:</p>



<ul class="wp-block-list">
<li><a href="https://www.cisco.com/c/en/us/td/docs/routers/7200/install_and_upgrade/7200_i-o_controller_install/4447io.html" target="_blank" rel="noreferrer noopener">C7200-IO-FE</a></li>



<li><a href="https://www.cisco.com/c/en/us/td/docs/interfaces_modules/port_adapters/install_upgrade/ethernet/pa-4e_10baset_install_config/pa_4e/3493over.html" target="_blank" rel="noreferrer noopener">PA-4E</a></li>



<li><a href="https://www.cisco.com/c/en/us/td/docs/interfaces_modules/port_adapters/install_upgrade/serial/pa-4t_sync_serial_install_config/pa_4t/3560over.html" target="_blank" rel="noreferrer noopener">PA-4T+</a></li>
</ul>



<p class="wp-block-paragraph">The next thing is what ip address is bound to VMnet1?  This is mine:</p>



<pre class="wp-block-code"><code>Ethernet adapter VMware Network Adapter VMnet1:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::c3d2:c891:b7e0:6797%5
   IPv4 Address. . . . . . . . . . . : 192.168.199.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :
</code></pre>



<p class="wp-block-paragraph">So all my TCP/IP in this example will be using 192.168.199.0/24</p>



<p class="wp-block-paragraph">As mentioned on the <a rel="noreferrer noopener" href="https://www.9track.net/hercules/dlsw/" target="_blank">9track page</a>, all the magic happens on the cisco router.  I&#8217;ve made a few changes as I may want to try the SDLC in the future to perhaps some other experiment if I can find an emulator that&#8217;ll drive it over serial, but for now let&#8217;s just get to the config:</p>



<pre class="wp-block-code"><code>!
version 12.2
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname dlsw
!
boot-start-marker
boot-end-marker
!
enable password cisco
!
ip subnet-zero
!
!
no ip domain-lookup
!
ip cef
no mpls traffic-eng auto-bw timers frequency 0
call rsvp-sync
!
!
!
!
!
!
!
source-bridge ring-group 1
dlsw local-peer peer-id 192.168.199.10
dlsw remote-peer 0 tcp 192.168.199.1
dlsw mac-addr 4000.1020.0100 remote-peer ip-address 192.168.199.1
dlsw udp-disable
dlsw transparent switch-support
!
interface FastEthernet0/0
 ip address 192.168.199.10 255.255.255.0
 duplex half
 no clns route-cache
!
interface Ethernet1/0
 no ip address
 duplex half
 no clns route-cache
 dlsw transparent redundancy-enable 5555.5555.5000
 dlsw transparent map local-mac 4000.1020.0100  remote-mac 4000.0999.0100
!
interface Ethernet1/1
 no ip address
 shutdown
 duplex half
 no clns route-cache
!
interface Ethernet1/2
 no ip address
 shutdown
 duplex half
 no clns route-cache
!
interface Ethernet1/3
 no ip address
 shutdown
 duplex half
 no clns route-cache
!
interface Serial2/0
 no ip address
 encapsulation sdlc
 no keepalive
 serial restart-delay 0
 clockrate 64000
 no clns route-cache
 sdlc role primary
 sdlc vmac 4000.0999.0100
 sdlc address C1
 sdlc xid C1 01700019
 sdlc partner 4000.1020.1000 C1
 sdlc dlsw C1
!
interface Serial2/1
 no ip address
 shutdown
 serial restart-delay 0
 no clns route-cache
!
interface Serial2/2
 no ip address
 shutdown
 serial restart-delay 0
 no clns route-cache
!
interface Serial2/3
 no ip address
 shutdown
 serial restart-delay 0
 no clns route-cache
!
ip classless
!
no ip http server
!
!
!
!
!
!
control-plane
!
!
dial-peer cor custom
!
!
!
!
gatekeeper
 shutdown
!
!
line con 0
 session-timeout 35791
 stopbits 1
line aux 0
 stopbits 1
line vty 0 4
 password cisco
 login
!
!
end</code></pre>



<p class="wp-block-paragraph">This sets up the router so I can telnet to it from my desktop at 192.168.199.10, and allows it to talk to the base Windows machine on 192.168.199.1</p>



<p class="wp-block-paragraph">All the magical MAC addresses come from <a href="https://www.9track.net/hercules/dlsw/">9track.net</a>, as he wrote the dlsw hooks, so I just copied that.  There is probably a great deal that could be cleaned up, but once I saw the two talking I kind of froze what I was doing.</p>



<p class="wp-block-paragraph">With that much in place I then jumped to WSL,and built the emulator from <a rel="noreferrer noopener" href="https://github.com/9track/hyperion/tree/dlsw" target="_blank">github</a>. I cloned it, and renamed that to herc-dlsw. At least for me this was pretty straightforward. The Hercules fork will build with Visual Studio as well, but I knew I was going to need some kind of tn3270 emulator, and I wanted to use x3270, and I had just recently bought this discounted copy of XVision, so of course I wanted to use that.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="643" height="145" src="https://virtuallyfun.com/wp-content/uploads/2023/05/Xvision-Server-30-days.png" alt="" class="wp-image-12677" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/Xvision-Server-30-days.png 643w, https://virtuallyfun.com/wp-content/uploads/2023/05/Xvision-Server-30-days-300x68.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/Xvision-Server-30-days-500x113.png 500w" sizes="auto, (max-width: 643px) 100vw, 643px" /></figure>



<p class="wp-block-paragraph">Despite this catastrophic defect that wasn&#8217;t disclosed in the auction.</p>



<p class="wp-block-paragraph">I downloaded and extracted the <a rel="noreferrer noopener" href="https://wotho.ethz.ch/tk4-/" target="_blank">TK4-</a> latest distro on WSL. I just created a &#8216;herc&#8217; directory in my home to house the tk4- release. The next thing to do is overlay your dlsw enabled exe&#8217;s and libraries.</p>



<pre class="wp-block-code"><code>cd ~/herc-dlsw/.libs
mkdir x
cp * x
cd x
rm *.o *.lai
cp *.so $HOME/herc/hercules/linux/64/lib/hercules
cp *.la $HOME/herc/hercules/linux/64/lib/hercules
rm *.so *.la
cp * $HOME/herc/hercules/linux/64
</code></pre>



<p class="wp-block-paragraph">Now with the binaries in place, I do need to setup the Xvision VM so I can receive the X11.  Of course there is so many other ways to do this, but this is mine:</p>



<pre class="wp-block-code"><code>qemu.exe -L pc-bios -m 64 -hda xvision.vmdk -net nic,model=ne2k_isa -net user -redir tcp:6000::6000</code></pre>



<p class="wp-block-paragraph">The important thing is that tcp port 6000 is redirected inwards, and that I&#8217;m using the NE2000 card, which on my weird fork will print out the hardware config, so I know how to find the nic.</p>



<pre class="wp-block-code"><code>added SLIRP
adding a &#91;GenuineIntelC&#x2663;] family 5 model 4 stepping 3 CPU
added 64 megabytes of RAM
trying to load video rom pc-bios/vgabios-cirrus.bin
added parallel port 0x378 7
added NE2000(isa) 0x320 10
pci_piix3_ide_init PIIX3 IDE
ide_init2 &#91;0] s-&gt;cylinders 203 s-&gt;heads 16 s-&gt;sectors 63
ide_init2 &#91;1] s-&gt;cylinders 0 s-&gt;heads 0 s-&gt;sectors 0
ide_init2 &#91;0] s-&gt;cylinders 2 s-&gt;heads 16 s-&gt;sectors 63
ide_init2 &#91;1] s-&gt;cylinders 0 s-&gt;heads 0 s-&gt;sectors 0
added PS/2 keyboard
ps2.c added PS/2 mouse handler
added Floppy Controller 0x3f0 irq 6 dma 2
installing PS/2 mouse in CMOS
  Bus  0, device   0, function 0:
    Host bridge: PCI device 8086:1237
  Bus  0, device   1, function 0:
    ISA bridge: PCI device 8086:7000
  Bus  0, device   1, function 1:
    IDE controller: PCI device 8086:7010
      BAR4: I/O at 0xffffffff &#91;0x000e].
  Bus  0, device   1, function 3:
    Class 0680: PCI device 8086:7113
      IRQ 0.
  Bus  0, device   2, function 0:
    VGA controller: PCI device 1013:00b8
      BAR0: 32 bit memory at 0xffffffff &#91;0x01fffffe].
      BAR1: 32 bit memory at 0xffffffff &#91;0x00000ffe].</code></pre>



<p class="wp-block-paragraph">And in this case it&#8217;s 0x320 IRQ 10.  XVision being it&#8217;s own level of disappointment, I&#8217;ll have to cover it further, and later but suffice to say it at least catches the x3270 so I can get onto the console.</p>



<h2 class="wp-block-heading">Setting up Hercules</h2>



<p class="wp-block-paragraph">Editing conf/tk4-_default.cnf is pretty easy as it&#8217;s on Linux and you can use VI.</p>



<pre class="wp-block-code"><code># NCP VTAM
#
0660 3705 lport=${N660PORT:=37051} locncpnm=N07 rmtncpnm=N08 …
          unitsz=252 ackspeed=1000
0661 3705 lport=${N661PORT:=37052} locncpnm=N10 rmtncpnm=N11 …
          idblk=017 idnum=00018 locsuba=10 rmtsuba=11 unitsz=252 …
          ackspeed=1000
0662 3705 lport=${N662PORT:=37053} <mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-blue-color">debug=yes dlsw=yes</mark> locncpnm=N12 …
          rmtncpnm=N13 idblk=017 idnum=00019 locsuba=12 rmtsuba=13 …
          unitsz=252 ackspeed=1000
0663 3705 lport=${N663PORT:=37054} locncpnm=N14 rmtncpnm=N15 idblk=017 …
          idnum=0001a locsuba=14 rmtsuba=15 unitsz=252 ackspeed=1000</code></pre>



<p class="wp-block-paragraph">And it&#8217;s simple, just assign the dlsw to the 0662 3705 controller.</p>



<p class="wp-block-paragraph">The real fun is in the VTAM configuration.  Which had been stumping me for well over a year.  But then I found this <a href="https://bradricorigg.medium.com/?source=post_page-----55fa7c982553--------------------------------">Bradrico Rigg</a> article aptly titled : <a rel="noreferrer noopener" href="https://bradricorigg.medium.com/run-your-own-mainframe-using-hercules-mainframe-emulator-and-mvs-3-8j-tk4-55fa7c982553" target="_blank">Run your own mainframe using Hercules mainframe emulator and MVS 3.8j tk4</a>, and it gave me the confidence to get this <em>DONE</em>.  Thanks Bradrico!</p>



<p class="wp-block-paragraph">First get MVS up and running.  You have to run the &#8216;console_mode&#8217; script to see what is going on.</p>



<pre class="wp-block-code"><code>cd herc/unattended
./set_console_mode
cd ..
./mvs</code></pre>



<p class="wp-block-paragraph">It&#8217;s not all that difficult  XVision is using SLiRP, so it&#8217;s listening on all my IP addresses so I just do a simple </p>



<pre class="wp-block-code"><code>export DISPLAY=192.168.1.72:0
nohup x3270 &amp;</code></pre>



<p class="wp-block-paragraph">And the emulator will pop up in Qemu.  Just connect to localhost:3270 and you&#8217;ll be greeted by the login pannel:</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-console-login.png"><img loading="lazy" decoding="async" width="584" height="444" src="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-console-login.png" alt="" class="wp-image-12678" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-console-login.png 584w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-console-login-300x228.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-console-login-395x300.png 395w" sizes="auto, (max-width: 584px) 100vw, 584px" /></a></figure>



<p class="wp-block-paragraph">Credentials are HERC01 / CUL8TR</p>



<p class="wp-block-paragraph">I would HIGHLY recommend following the tutorial to get used to submitting a simple COBOL program.  It walks through the key concepts of locating a file, and viewing it on MVS.  Something that up until yesterday was out of my league.</p>



<p class="wp-block-paragraph">We need to edit the file S3705 on SYS1.VTAMLST</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-main-pannel.png"><img loading="lazy" decoding="async" width="574" height="332" src="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-main-pannel.png" alt="" class="wp-image-12679" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-main-pannel.png 574w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-main-pannel-300x174.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-main-pannel-500x289.png 500w" sizes="auto, (max-width: 574px) 100vw, 574px" /></a></figure>



<p class="wp-block-paragraph">Basically it&#8217;s 1,3,4 from the main pannel:</p>



<p class="wp-block-paragraph">or RFE, Utilities, DSLIST</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-name.png"><img loading="lazy" decoding="async" width="504" height="297" src="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-name.png" alt="" class="wp-image-12680" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-name.png 504w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-name-300x177.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-name-500x295.png 500w" sizes="auto, (max-width: 504px) 100vw, 504px" /></a></figure>



<p class="wp-block-paragraph">Type in the Volume name, then tab over to the left of the volume and put in V to view</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-list.png"><img loading="lazy" decoding="async" width="573" height="110" src="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-list.png" alt="" class="wp-image-12681" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-list.png 573w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-list-300x58.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-list-500x96.png 500w" sizes="auto, (max-width: 573px) 100vw, 573px" /></a></figure>



<p class="wp-block-paragraph">Now we will get a list of all the files.  We want to edit S3705, so you can tab/arrow down, but sure to put an `E&#8217; next to it, then hit enter so we can edit the file</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-edit.png"><img loading="lazy" decoding="async" width="566" height="327" src="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-edit.png" alt="" class="wp-image-12682" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-edit.png 566w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-edit-300x173.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-edit-500x289.png 500w" sizes="auto, (max-width: 566px) 100vw, 566px" /></a></figure>



<p class="wp-block-paragraph">F7/F8 will page down/page up as needed. As mentioned we are interested in Subarea 13, PU type 2.</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/sub-area-13-pu-type-2-before.png"><img loading="lazy" decoding="async" width="565" height="269" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sub-area-13-pu-type-2-before.png" alt="" class="wp-image-12683" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/sub-area-13-pu-type-2-before.png 565w, https://virtuallyfun.com/wp-content/uploads/2023/05/sub-area-13-pu-type-2-before-300x143.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/sub-area-13-pu-type-2-before-500x238.png 500w" sizes="auto, (max-width: 565px) 100vw, 565px" /></a></figure>



<p class="wp-block-paragraph">The line we are changing is the MAXDATA or MTU size for this unit.  Since we are doing dlsw, or an emulated serial link, we need to knock it down to 256.  Notice all the plus signs on the right hand? THOSE ARE IMPORTANT!  Not only do they need to exist, but they also have to be on the far right.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/mtu-sizes.png"><img loading="lazy" decoding="async" width="377" height="236" src="https://virtuallyfun.com/wp-content/uploads/2023/05/mtu-sizes.png" alt="" class="wp-image-12684" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/mtu-sizes.png 377w, https://virtuallyfun.com/wp-content/uploads/2023/05/mtu-sizes-300x188.png 300w" sizes="auto, (max-width: 377px) 100vw, 377px" /></a></figure>
</div>


<p class="wp-block-paragraph">For those wondering the MTU sizes on the client side by media type are as follows:  And notice that the host size is different, as this takes in account of packet headers.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="561" height="273" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sub-area-13-pu-type-2-after.png" alt="" class="wp-image-12685" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/sub-area-13-pu-type-2-after.png 561w, https://virtuallyfun.com/wp-content/uploads/2023/05/sub-area-13-pu-type-2-after-300x146.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/sub-area-13-pu-type-2-after-500x243.png 500w" sizes="auto, (max-width: 561px) 100vw, 561px" /></figure>



<p class="wp-block-paragraph">Making sure to overtype the 3780, to a 256, and ensuring the + sign hasn&#8217;t moved you can hit enter, cursor to the top and type in SAVE.</p>



<p class="wp-block-paragraph">We can then edit the N13 file, changing line 35 to have MAXLU=3</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-n13.png"><img loading="lazy" decoding="async" width="563" height="183" src="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-n13.png" alt="" class="wp-image-12686" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-n13.png 563w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-n13-300x98.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-n13-500x163.png 500w" sizes="auto, (max-width: 563px) 100vw, 563px" /></a></figure>



<p class="wp-block-paragraph">Hopefully this clears up editing VTAM files.</p>



<p class="wp-block-paragraph">As mentioned the easiest way to regen the system is to delete the old object files.  So hit f3 a few times and get back to the dataset list</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="555" height="297" src="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-list-vtamobj.png" alt="" class="wp-image-12687" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-list-vtamobj.png 555w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-list-vtamobj-300x161.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-list-vtamobj-500x268.png 500w" sizes="auto, (max-width: 555px) 100vw, 555px" /></figure>



<p class="wp-block-paragraph">This time we want the VTAMOBJ set.  Go and &#8216;V&#8217;iew it like last time and we will get the list of files:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="568" height="272" src="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-vtamobj-flag-for-delete.png" alt="" class="wp-image-12688" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-vtamobj-flag-for-delete.png 568w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-vtamobj-flag-for-delete-300x144.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-vtamobj-flag-for-delete-500x239.png 500w" sizes="auto, (max-width: 568px) 100vw, 568px" /></figure>



<p class="wp-block-paragraph">Now we are going to put a &#8216;d&#8217; next to N13 and S3705.  This will flag them for deletion.  Hit enter!</p>



<figure class="wp-block-image size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-delete-vtamobj.png"><img loading="lazy" decoding="async" width="569" height="279" src="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-delete-vtamobj.png" alt="" class="wp-image-12689" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-delete-vtamobj.png 569w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-delete-vtamobj-300x147.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-dataset-delete-vtamobj-500x245.png 500w" sizes="auto, (max-width: 569px) 100vw, 569px" /></a></figure>



<p class="wp-block-paragraph">The files are now gone!  On the next boot they will be rebuilt.</p>



<p class="wp-block-paragraph">I just hit F3 a bunch of times and it&#8217;ll drop to some TSO shell</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="566" height="79" src="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-tso-shell.png" alt="" class="wp-image-12690" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-tso-shell.png 566w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-tso-shell-300x42.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/tk4-tso-shell-500x70.png 500w" sizes="auto, (max-width: 566px) 100vw, 566px" /></figure>



<p class="wp-block-paragraph">From here you can shutdown the system.  It&#8217;ll take a few minutes, but you can start it up again just the same way you brought it up.  Remember to attach your console.</p>



<h2 class="wp-block-heading">Setting up SNA Server</h2>



<p class="wp-block-paragraph">Just like Dynamips, I setup a batch file, as the default one is just far too long to read:</p>



<pre class="wp-block-code"><code>@echo you need to figure out your nic name..
@echo something like
@echo \Device\NPF_{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
set loopback=\Device\NPF_{3DF0EC5D-7FBE-46DF-ACF8-EF5D8679A473}
set vmnet1=\Device\NPF_{3BC364F4-5A15-405D-926C-C594383F0323}
qemu -m 64 -L pc-bios ^
-hda SBS15.vmdk ^
-soundhw sb16,adlib ^
-net nic,model=pcnet,macaddr=52:24:00:22:00:01 ^
-net pcap,devicename=%loopback% ^
%1 %2 %3 %4 %5 %6</code></pre>



<p class="wp-block-paragraph">This will setup a small machine with 64MB of ram, a single AMD PCNet adapter on the loopback interface.  I installed Windows NT 3.51 from the Small Business Server 1.5 setup.  I don&#8217;t know why VMware + NT 3.51 didn&#8217;t get along, maybe it&#8217;s my Erying, Or maybe it just plain doesn&#8217;t work, I&#8217;m not sure, and far too impatient to troubleshoot it.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-dlc-protocol.png"><img loading="lazy" decoding="async" width="532" height="355" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-dlc-protocol.png" alt="" class="wp-image-12692" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-dlc-protocol.png 532w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-dlc-protocol-300x200.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-dlc-protocol-450x300.png 450w" sizes="auto, (max-width: 532px) 100vw, 532px" /></a></figure>
</div>


<p class="wp-block-paragraph">It&#8217;s very important that you do add the DLC Protocol during setup.  It&#8217;s in the &#8216;Add Software&#8217; part.  I kept my NT very simple with only NetBEUI and DLC protocols.  At the moment I&#8217;m not that interested in actually networking the NT, and if I was, I would add a second NIC, just like what I did for Dynamips.</p>



<p class="wp-block-paragraph">Setting up NT isn&#8217;t that interesting, but SNA server is.  I did use the 2.11 on the Back Office CD, but for completeness sake of testing I tried the oldest one I could find, and 2.1 beta from June, Build 2.1.0.216. </p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-properties.png"><img loading="lazy" decoding="async" width="477" height="324" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-properties.png" alt="" class="wp-image-12693" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-properties.png 477w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-properties-300x204.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-properties-442x300.png 442w" sizes="auto, (max-width: 477px) 100vw, 477px" /></a></figure>
</div>


<p class="wp-block-paragraph">I left the network name &amp; control point name blank as I just want terminal, I&#8217;m not even going to think that LU6.2 applications on such an ancient version of MVS was even possible.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/SNA-server-connecton-properties.png"><img loading="lazy" decoding="async" width="483" height="247" src="https://virtuallyfun.com/wp-content/uploads/2023/05/SNA-server-connecton-properties.png" alt="" class="wp-image-12694" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/SNA-server-connecton-properties.png 483w, https://virtuallyfun.com/wp-content/uploads/2023/05/SNA-server-connecton-properties-300x153.png 300w" sizes="auto, (max-width: 483px) 100vw, 483px" /></a></figure>
</div>


<p class="wp-block-paragraph">This is pretty much default, the Link service basically sets itself up as we only have the one NIC.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-802.2-properties.png"><img loading="lazy" decoding="async" width="368" height="422" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-802.2-properties.png" alt="" class="wp-image-12695" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-802.2-properties.png 368w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-802.2-properties-262x300.png 262w" sizes="auto, (max-width: 368px) 100vw, 368px" /></a></figure>
</div>


<p class="wp-block-paragraph">Take note of the remote network address.  400010200100 which came from above the address we directly point to the dlsw.  Also it&#8217;s form the 9track blog.</p>



<p class="wp-block-paragraph">Insert a 3270 LU for us to try to talk to Hercules.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-insert-terminal.png"><img loading="lazy" decoding="async" width="276" height="263" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-insert-terminal.png" alt="" class="wp-image-12696"/></a></figure>
</div>


<p class="wp-block-paragraph">I&#8217;m pretty sure it was hard coded to be a model 2.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-LU-terminal-properties.png"><img loading="lazy" decoding="async" width="329" height="293" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-LU-terminal-properties.png" alt="" class="wp-image-12697" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-LU-terminal-properties.png 329w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-LU-terminal-properties-300x267.png 300w" sizes="auto, (max-width: 329px) 100vw, 329px" /></a></figure>
</div>


<p class="wp-block-paragraph">I turned off the ability for the model to be overwitten.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-create-pool-and-add-terminal.png"><img loading="lazy" decoding="async" width="509" height="228" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-create-pool-and-add-terminal.png" alt="" class="wp-image-12698" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-create-pool-and-add-terminal.png 509w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-create-pool-and-add-terminal-300x134.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-create-pool-and-add-terminal-500x224.png 500w" sizes="auto, (max-width: 509px) 100vw, 509px" /></a></figure>
</div>


<p class="wp-block-paragraph">Create a pool, I called it swimming, because of &#8216;reasons&#8217;.  I made it a type 2 pool and added the terminal to it.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-users-and-groups.png"><img loading="lazy" decoding="async" width="515" height="226" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-users-and-groups.png" alt="" class="wp-image-12699" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-users-and-groups.png 515w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-users-and-groups-300x132.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-users-and-groups-500x219.png 500w" sizes="auto, (max-width: 515px) 100vw, 515px" /></a></figure>
</div>


<p class="wp-block-paragraph">Next I added the EVERYONE user, and gave them access to the SWIMMING pool</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-start-the-service.png"><img loading="lazy" decoding="async" width="604" height="237" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-start-the-service.png" alt="" class="wp-image-12700" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-start-the-service.png 604w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-start-the-service-300x118.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-start-the-service-500x196.png 500w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a></figure>
</div>


<p class="wp-block-paragraph">Finally we are ready to save the config, and do the hand holding and start up.  If the stars aligned you will see them go ACTIVE/ACTIVE and the terminal will go Available.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-terminal-stuck-in-sscp.png"><img loading="lazy" decoding="async" width="614" height="458" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-terminal-stuck-in-sscp.png" alt="" class="wp-image-12701" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-terminal-stuck-in-sscp.png 614w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-terminal-stuck-in-sscp-300x224.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-server-terminal-stuck-in-sscp-402x300.png 402w" sizes="auto, (max-width: 614px) 100vw, 614px" /></a></figure>
</div>


<p class="wp-block-paragraph">Sadly the terminal won&#8217;t go live, it&#8217;s stuck in SSCP. </p>



<p class="wp-block-paragraph">And this is as far as I can go.  I have to think that with either something far older protocol wise for the PC, such as IBM Personal Communications/3270 for Windows V2.0 (v4 didnt work either), or a far newer Mainframe software version would support whatever it is SNA server wants to give us the crazy dream of running SNA self contained.</p>



<p class="wp-block-paragraph">Running Wireshark on the loopback network I see this message:</p>



<figure class="wp-block-image size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-unsupported-function.png"><img loading="lazy" decoding="async" width="1024" height="223" src="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-unsupported-function-1024x223.png" alt="" class="wp-image-12702" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/sna-unsupported-function-1024x223.png 1024w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-unsupported-function-300x65.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-unsupported-function-768x167.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-unsupported-function-1536x335.png 1536w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-unsupported-function-500x109.png 500w, https://virtuallyfun.com/wp-content/uploads/2023/05/sna-unsupported-function.png 1629w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="has-text-align-right wp-block-paragraph">UNSUPPORTED FUNCTION</p>



<p class="wp-block-paragraph">Sadly this is as far as I can take you.  I do want to give a special thanks to Vinatron &amp; blackbit for trying to troubleshoot this with me.  Best we can figure is that TK4- is just too old.</p>



<h2 class="wp-block-heading">Troubleshooting</h2>



<p class="wp-block-paragraph">From the cisco router try dlsw commands like this:</p>



<pre class="wp-block-code"><code>dlsw&gt;sho dlsw circuits
Index           local addr(lsap)    remote addr(dsap)  state          uptime
2281701660      4a24.0044.0080(04)  0200.9099.8000(04) CONNECTED      00:02:23
Total number of circuits connected: 1
</code></pre>



<p class="wp-block-paragraph">This does show the connection.  Notice that &#8216;show bridge&#8217; will show nothing in this config.</p>



<p class="wp-block-paragraph">Be sure to check peers as well:</p>



<pre class="wp-block-code"><code>dlsw&gt;show dlsw peers
Peers:                state     pkts_rx   pkts_tx  type  drops ckts TCP   uptime
 TCP 192.168.199.1   CONNECT         10        13  conf      0    1   0 00:05:07
Total number of connected peers: 1
Total number of connections:     1</code></pre>



<p class="wp-block-paragraph">Make sure your interfaces are &#8216;up/up&#8217; and passing traffic</p>



<pre class="wp-block-code"><code>FastEthernet0/0 is up, line protocol is up
  Hardware is DEC21140, address is ca00.48f4.0000 (bia ca00.48f4.0000)
  Internet address is 192.168.199.10/24
  MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Half-duplex, 100Mb/s, 100BaseTX/FX
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:00, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue: 0/40 (size/max)
  5 minute input rate 1000 bits/sec, 2 packets/sec
  5 minute output rate 2000 bits/sec, 2 packets/sec
     12768 packets input, 1439279 bytes
     Received 3609 broadcasts (0 IP multicast)
     0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog
     0 input packets with dribble condition detected
     9999 packets output, 1037736 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out
dlsw&gt;show int eth1/0
Ethernet1/0 is up, line protocol is up
  Hardware is AmdP2, address is ca00.48f4.001c (bia ca00.48f4.001c)
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:02, output 00:00:02, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue: 0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     52426 packets input, 5148287 bytes, 0 no buffer
     Received 12336 broadcasts (0 IP multicast)
     0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     36383 packets output, 2465490 bytes, 0 underruns
     0 output errors, 0 collisions, 3 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out
dlsw&gt;</code></pre>



<p class="wp-block-paragraph">And of course check WireShark to see if there is any handshake:</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://virtuallyfun.com/wp-content/uploads/2023/05/wireshark-handshake.png"><img loading="lazy" decoding="async" width="1024" height="472" src="https://virtuallyfun.com/wp-content/uploads/2023/05/wireshark-handshake-1024x472.png" alt="" class="wp-image-12703" srcset="https://virtuallyfun.com/wp-content/uploads/2023/05/wireshark-handshake-1024x472.png 1024w, https://virtuallyfun.com/wp-content/uploads/2023/05/wireshark-handshake-300x138.png 300w, https://virtuallyfun.com/wp-content/uploads/2023/05/wireshark-handshake-768x354.png 768w, https://virtuallyfun.com/wp-content/uploads/2023/05/wireshark-handshake-500x230.png 500w, https://virtuallyfun.com/wp-content/uploads/2023/05/wireshark-handshake.png 1522w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
</div>


<p class="wp-block-paragraph">And of course check the Hercules logs to make sure your VTAM rebuilt, look for ERROR or anything related to S3705 or N13.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2023/05/26/ghosts-in-the-mainframe/feed/</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
		<item>
		<title>SheepShaver with pcap support</title>
		<link>https://virtuallyfun.com/2014/11/06/sheepshaver-with-pcap-support/</link>
					<comments>https://virtuallyfun.com/2014/11/06/sheepshaver-with-pcap-support/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Thu, 06 Nov 2014 10:35:55 +0000</pubDate>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[pcap]]></category>
		<category><![CDATA[powerpc]]></category>
		<category><![CDATA[SheepShaver]]></category>
		<category><![CDATA[SLiRP]]></category>
		<category><![CDATA[virtual networking]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=4721</guid>

					<description><![CDATA[so I got it to &#8220;work&#8221; on OS X&#8230;.. well 10.6 in VMWare. I have no idea if this means it will work on your setup. If AppleTalk packets get passed early in the boot stage, it will crash. If &#8230; <a href="https://virtuallyfun.com/2014/11/06/sheepshaver-with-pcap-support/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p><div id="attachment_4722" style="width: 815px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/11/pcap-with-sheepshaver.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4722" class="size-full wp-image-4722" src="https://virtuallyfun.com/wp-content/uploads/2014/11/pcap-with-sheepshaver.png" alt="It &quot;works&quot;, just incredibly slowly" width="805" height="626" /></a><p id="caption-attachment-4722" class="wp-caption-text">It &#8220;works&#8221;, just incredibly slowly</p></div></p>
<p>so I got it to &#8220;work&#8221; on OS X&#8230;.. well 10.6 in VMWare. I have no idea if this means it will work on your setup.</p>
<ul>
<li class="postbody">If AppleTalk packets get passed early in the boot stage, it will crash.</li>
<li class="postbody">If JIT is enabled, it will crash</li>
<li class="postbody">Performance is horrible, I&#8217;m getting 150k/sec on my LAN, Basilisk II with no JIT blows this thing away.</li>
</ul>
<div class="postbody">Honestly I feel kind of hesitant releasing this, but I know it was desired, and I guess it&#8217;ll help someone somewhere being able to have an easier conversation&#8230; So I&#8217;m going to upload my source tree, including binaries built with GCC 4.0 &amp; 4.2 with either O2 or Os flags. I&#8217;m not sure which is more stable/faster&#8230;So <a class="postlink" href="http://vpsland.superglobalmegacorp.com/install/MacOS//SheepShaver/SheepShaver-hackedpcap-OSX.7z">here is my source tree</a>. Sorry you still have to deal with the changing password thing, but cancel it, and it&#8217;ll tell you the password.Other lessons learned&#8230; SheepShaver&#8217;s segfault model only works when the CPU thread is the main thread. Even though you &#8220;can&#8221; stuff the CPU into a subordinate thread, it doesn&#8217;t play nice once it segfaults, it&#8217;ll just spin waiting for something that clearly isn&#8217;t going to happen.In config.h I added in USEGLOBALvideo as a way for main to call the screen update to end the vast majority of pool leakage. I also added SHEEPSHAVER_CURSOR to enable the hardware cursor. I was having some issues installing OS 8.x when the &#8216;hand&#8217; was drumming the fingers waiting for the OS to install it crashed many times, while disabling the hardware cursor made it play nicer. Maybe it&#8217;s my setup, I&#8217;m not sure.</p>
<p>Also in this version I don&#8217;t read .sheepshaver_prefs but rather sheepshaver_prefs in the current working directory. I didn&#8217;t want to trash any other prefs. I have to test again but I <strong>think</strong> this should work on 10.10 &#8230; As I found out the hard way x86_64 binaries can <a href="http://stackoverflow.com/questions/26351831/os-x-app-that-runs-on-10-6-to-10-9-doesnt-run-on-10-10-yosemite-why">no longer mess with the zero page</a>, so this is a 32bit only build, but I was running it with my SLiRP fixes ok on my macbook air.</p>
<p>This hasn&#8217;t been extensively tested. I hate to even call it tested, I just copied a few MB of stuff over an NT server running AppleTalk,a nd viewed some flash video with Internet Explorer 5.1 &#8230;. I&#8217;m sure there are PLENTY of things broken. JIT should work with these binaries (Quake 1 is quite playable), but DOOM crashes hard (isn&#8217;t it a 68k binary?). DOOM runs ok on Basilisk II so does it matter?</p>
<p>If you want speed, JIT + SLiRP is the way to go. Since this is basically the same as the version I was using with BasiliskII I think it&#8217;s more stable than the generic version as I could at least run all kinds of programs with some of my fixes vs the &#8216;stock&#8217; github version.</p>
<p>I should add that I&#8217;ve been primarily testing with that PowerMac 9500 v1 ROM, along with MacOS 8.6. I found 8.0 and 8.1 too unstable, 7.x &amp; 9.0.4 uninteresting.</p>
<p>To get around the early crashing while booting 8.6, I rigged it to drop the first 30 packets. I&#8217;ve successfully booted 10/10 times, so I&#8217;m almost OK with that. I&#8217;d rather know when the OS is ok, and go with that, but I&#8217;m not sure. I thought about a timer, and say ignore the network for the first 30 seconds, and maybe that is the better way to go. When you launch this you&#8217;ll see some message updating about packets and &#8220;wait for 30-&gt;&#8221; and a number&#8230; once it reads &#8220;wait for 30-&gt;30&#8221; , the message will no longer update, and it&#8217;ll start to forward packets into the machine. You probably will have to disable and re-enable AppleTalk from the chooser to see the network (or I had to). You may have to get creative to generate the needed packets on your network to get it over 30, as those are packets received. Broadcast packets work too, so maybe you can work with that&#8230; As long as Sheep Shaver isn&#8217;t alone something should be looking for other devices.</p>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2014/11/06/sheepshaver-with-pcap-support/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Time for another Cockatrice release</title>
		<link>https://virtuallyfun.com/2014/10/21/time-for-another-cockatrice-release/</link>
					<comments>https://virtuallyfun.com/2014/10/21/time-for-another-cockatrice-release/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Tue, 21 Oct 2014 15:09:33 +0000</pubDate>
				<category><![CDATA[68030]]></category>
		<category><![CDATA[68040]]></category>
		<category><![CDATA[BasiliskII]]></category>
		<category><![CDATA[m68k]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[pcap]]></category>
		<category><![CDATA[SDL]]></category>
		<category><![CDATA[virtual networking]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=4615</guid>

					<description><![CDATA[I&#8217;ve been busy at work, but I did get some stuff done on this over the weekend, and just wanted to push this version out while there is some momentum. The big fixes are in SCSI to support the dynamic &#8230; <a href="https://virtuallyfun.com/2014/10/21/time-for-another-cockatrice-release/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve been busy at work, but I did get some stuff done on this over the weekend, and just wanted to push this version out while there is some momentum.</p>
<p>The big fixes are in SCSI to support the dynamic scatter gather buffers so you can format big (lol) disks. Â Then again I only tested a 2GB disk but it&#8217;s working fine as far as I can tell.</p>
<p>I also hard coded SCSI id #6 as a CD-ROM. Â It only reads HFS partitioned images, and only can boot from a handful of those. Â From some SCSI CD emulation packages with passthru it performs just as poorly, so it&#8217;s not just me. Â I tested with the &#8216;blessed&#8217; <a href="http://www.emaculation.com/basilisk/BasiliskII_win32_20012001.zip">Win32 build 142</a>, with <a href="http://club.myce.com/f3/forceaspi-installation-guide-101614/">ForceASPI</a>Â in a Windows XP VM with emulated SCSI CD. Â There is a lot more &#8216;magic&#8217; going on with the cdenable.sys driver on the Windows side, which mounts ISO&#8217;s without any hesitation.</p>
<p>This also includes my latest networking fixes as I moved more of the networking code to use queues, forced the 60Hz timer to hit the network card so it won&#8217;t stall anymore, and added in <a href="https://github.com/cebix/macemu/commit/fe9643c0e9227ea58d22c0ad51743f0c4f51bcf3">that timer patch</a>, that more than doubled my LAN download speeds.</p>
<p>I&#8217;ve also added a simple PCAP filter as I noticed that my LAN was quite chatty, and I figured all this traffic wouldn&#8217;t be good as an emulator really shouldn&#8217;t be processing stuff it doesn&#8217;t need to. Â Something like this:</p>
<p style="padding-left: 30px;">(((ether dst 09:00:07:ff:ff:ff) or (ether dst ff:ff:ff:ff:ff:ff) or (ether dst fe:fd:00:00:16:48)))</p>
<p>09:00:07:ff:ff:ff is the AppleTalk broadcast address,Â ff:ff:ff:ff:ff:ff is the typical all hosts broadcast, and I&#8217;m still generating a MAC based on PID which is good enough for me.</p>
<p><div id="attachment_4616" style="width: 826px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/10/124MB-in-about-one-minute.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4616" class="size-full wp-image-4616" src="https://virtuallyfun.com/wp-content/uploads/2014/10/124MB-in-about-one-minute.jpg" alt="Speed!" width="816" height="638" /></a><p id="caption-attachment-4616" class="wp-caption-text">Feel the need for speed!</p></div></p>
<p>So while before downloading 124MB on my LAN took 8 minutes, now it&#8217;s about a minute.</p>
<p>I&#8217;ve updated the <a href="https://sourceforge.net/projects/cockatrice/?source=navbar">sourceforge</a> page with source, Win32, Linux i386 and OS X (10.8) builds. I&#8217;ll add a 10.6 x86/PowerPC build later. Â On the sourceforge page I also added a <a href="https://sourceforge.net/projects/cockatrice/files/Utils/">utilities section</a> with a simple ISO image with various utilities to get you started, including the A/UX partitioning tool to partition &amp; format a virtual disk, a tool to try to mount ISO&#8217;s (remember HFS has the only hope right now), QuickTime, Flash, Internet Explorer and some other stuff.</p>
<p>Also, thanks to Peter, it&#8217;s also available on <a href="https://github.com/pgodwin/CockatriceIII">github</a>, so my horrific edits are open for the world to see&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2014/10/21/time-for-another-cockatrice-release/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>I have no idea why the networking in Basilisk II keeps stalling</title>
		<link>https://virtuallyfun.com/2014/10/19/i-have-no-idea-why-the-networking-in-basilisk-ii-keeps-stalling/</link>
					<comments>https://virtuallyfun.com/2014/10/19/i-have-no-idea-why-the-networking-in-basilisk-ii-keeps-stalling/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Sun, 19 Oct 2014 02:43:58 +0000</pubDate>
				<category><![CDATA[BasiliskII]]></category>
		<category><![CDATA[m68k]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[pcap]]></category>
		<category><![CDATA[virtual networking]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=4606</guid>

					<description><![CDATA[And it is quite frustrating. Â The most I can do is about 100MB worth of AppleTalk traffic, or 1.5GB of TCP/IP then theÂ receive function EtherReadPacketÂ just stop being called, and then the whole thing stalls out. I don&#8217;t really &#8216;like&#8217; my &#8230; <a href="https://virtuallyfun.com/2014/10/19/i-have-no-idea-why-the-networking-in-basilisk-ii-keeps-stalling/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>And it is quite frustrating. Â The most I can do is about 100MB worth of AppleTalk traffic, or 1.5GB of TCP/IP then theÂ receive function EtherReadPacketÂ just stop being called, and then the whole thing stalls out.</p>
<p>I don&#8217;t really &#8216;like&#8217; my solution, but it does work. Â I went ahead and chained theÂ EtherInterrupt function to the 60Hz timer to ensure it&#8217;ll fire, and it seems to be working. The good thing is now I&#8217;m getting ~200K/sec using pcap or SLiRP. Â So things are faster!</p>
<p>Then after scanning the changelog, I found <a href="https://github.com/cebix/macemu/commit/fe9643c0e9227ea58d22c0ad51743f0c4f51bcf3">this interrupt patch</a>, and it doubled my throughput on the network to over 400K/sec!</p>
<p><div id="attachment_4607" style="width: 342px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/10/427kb-sec-on-http-through-slirp.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4607" class="size-full wp-image-4607" src="https://virtuallyfun.com/wp-content/uploads/2014/10/427kb-sec-on-http-through-slirp.png" alt="427K/sec via SLiRP" width="332" height="114" /></a><p id="caption-attachment-4607" class="wp-caption-text">427K/sec via SLiRP</p></div></p>
<p>So now I can copy aboutÂ 350MB worth of data in about 5-7 minutes, and it doesn&#8217;t stall out.</p>
<p><div id="attachment_4608" style="width: 301px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/10/apple-talk-more-than-100MB-2.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4608" class="size-full wp-image-4608" src="https://virtuallyfun.com/wp-content/uploads/2014/10/apple-talk-more-than-100MB-2.png" alt="357MB worth of AppleTalk" width="291" height="201" /></a><p id="caption-attachment-4608" class="wp-caption-text">357MB worth of AppleTalk</p></div></p>
<p>I can now copy hundreds of MB worth of stuff from one AT server to another.</p>
<p>What is also surprising is that by using <a href="http://main.system7today.com/otherbrowsers.html">Internet Explorer 4.0.1</a> for MacOS, I get speeds of around 1.0Mb/sec(with as high as 1.6!)</p>
<p><div id="attachment_4611" style="width: 608px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/10/IE4-kills-netscape.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4611" class="size-full wp-image-4611" src="https://virtuallyfun.com/wp-content/uploads/2014/10/IE4-kills-netscape.png" alt="Internet Explorer 4.0.1 screaming along" width="598" height="576" /></a><p id="caption-attachment-4611" class="wp-caption-text">Internet Explorer 4.0.1 screaming along</p></div></p>
<p>I know IE has always had a bum rap, but it really is a better legacy browser on MacOS.</p>
<p>I also merged the scsi driver&#8217;s buffer with BasiliskII&#8217;s buffer so the scatter/gather can now handle the absurd requests of 4MB++ worth of reads in one swoop.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2014/10/19/i-have-no-idea-why-the-networking-in-basilisk-ii-keeps-stalling/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Announcing Cockatrice III</title>
		<link>https://virtuallyfun.com/2014/10/09/announcing-cockatrice-iii/</link>
					<comments>https://virtuallyfun.com/2014/10/09/announcing-cockatrice-iii/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Thu, 09 Oct 2014 01:50:23 +0000</pubDate>
				<category><![CDATA[68030]]></category>
		<category><![CDATA[68040]]></category>
		<category><![CDATA[BasiliskII]]></category>
		<category><![CDATA[m68k]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[pcap]]></category>
		<category><![CDATA[SDL]]></category>
		<category><![CDATA[SLiRP]]></category>
		<category><![CDATA[virtual networking]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=4584</guid>

					<description><![CDATA[Well I was shuffling files back and forth into Shoebill, and with the advent of Ethernet support, I decided I wanted to build an AppleTalk network. Â This endeavor seems to have taken a life of it&#8217;s own. So, the first &#8230; <a href="https://virtuallyfun.com/2014/10/09/announcing-cockatrice-iii/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Well I was shuffling files back and forth into <a href="https://github.com/pruten/Shoebill">Shoebill</a>, and with the advent of Ethernet support, I decided I wanted to build an AppleTalk network. Â This endeavor seems to have taken a life of it&#8217;s own.</p>
<p>So, the first thing I did was tear into minivmac, as I figured it would be the easiest to modify, as &#8216;mini&#8217; is in it&#8217;s name. Â But it&#8217;s more geared to <a href="http://en.wikipedia.org/wiki/LocalTalk">LocalTalk</a>. Â From it&#8217;s readme:</p>
<blockquote><p>It does this by converting the LocalTalk packets between SDLC frames in the virtual machine to LocalTalk Over Ethernet (LTOE) packets.Â  These LTOE packets will be sent out the host machines Ethernet interface and will reach any other machine on the LAN.Â  LTOE packets are not routable and not recognized by EtherTalk devices.</p></blockquote>
<p>Which is pretty creative, but I want to talk to A/UX, Windows NT and Cisco routers. Â So this isn&#8217;t going to work out for me.</p>
<p>The next other &#8216;big&#8217; names in Macintosh emulation are Basilisk II and SheepShaver. Â Both of which are fromÂ <a href="http://www.cebix.net/">Christian Bauer</a>Â which is a sizable download (or so I thought) and has a very confusing release versions for Windows.Â So I went ahead and tried BasiliskII, which only does some native networking via a TUN/TAP &amp; bridge solution (which is really popular solution for plenty of UNIX based stuff), which personally I don&#8217;t really care for. Â The Windows version does support <a href="http://en.wikipedia.org/wiki/Slirp">SLiRP</a>, but for some strange and annoying reason it always crashes when I try to download anything big. Â As a matter of fact, the Windows version crashes, a lot!</p>
<p>While digging around for various builds of Basilisk II, I found the defunct <a href="http://sourceforge.net/projects/basilisk/">sourceforge</a> page, which is thankfully still up. Â And there I found the <a href="http://sourceforge.net/projects/basilisk/files/Basilisk%20II/0.8-1/BasiliskII_src_30012000.tar.gz/download">0.8</a> and <a href="http://sourceforge.net/projects/basilisk/files/Basilisk%20II/0.9-1/">0.9</a> release source code, which weighs in at a tiny 350kb in size. Â This is something I could probably dive into. Â So I went ahead and tried to build it on a Debian 7 x86 VM. Â And much to my surprise, after altering configure to accept GCC 4.7, and forcing it to turn X11 on (I don&#8217;t know why it kept failing to detect it), I was able to build a binary in no time. Â Even better, it worked!</p>
<p>So the first few goals were simple, I wanted to take 0.8 and remove it&#8217;s dependency on X11,and make it use <a href="https://www.libsdl.org/download-1.2.php">SDL 1.2</a>. Â Why not SDL 2.0? Â Well 2.0 is more about 3d space, and even to render a flat framebuffer <a href="http://slouken.blogspot.hk/2011/02/streaming-textures-with-sdl-13.html">it uses streaming textures</a>. Â Which is too heavy for me, so I&#8217;m sticking with 1.2. Â I took a bunch of code from <a href="http://www.libsdl.org/projects/quake/">SDLQuake</a>, and after a while of bashing it around, I was able to open a window, and capture some ouput from the framebuffer. Â With even more bashing around I got it to work correctly. Â I did make some small tweaks though, it only supports 8bit depth. Â But I&#8217;m interested in networking, so 256 colours is fine by me. Â Now that i could see what I was doing, I was able to then re-compile on OS X, and I was greeted with the Mac Boot screen. Â The harder part was Windows, as the system code written byÂ <a href="https://web.archive.org/web/20010207031003/http://gamma.nic.fi/~lpesonen/BasiliskII/">Lauri Pesonen</a> who did an excellent job of porting BasiliskII to Windows, but to say their code took 100% advantage of the Win32 API would be an understatement.. And I wanted something more pure to being SDL so I really couldn&#8217;t use much of that code. Â And what code I could find it was for far later versions. Â However with enough pushing I did finally get BasiliskII to boot up on Windows. Â I was once more again bitten by the fact that open on Windows defaults to being in ASCII mode.</p>
<p>The next thing to add was SDL input for the keyboard and mouse. Â And at this point googling around for an example of an input loop for SDL that is appropriate for an emulator I stumbled uppon the fact that there already <a href="https://github.com/cebix/macemu/tree/master/BasiliskII/src/SDL">was a SDL support</a> built into the more current version of Basilisk II. Â But for some strange reason I kept going ahead, and incorporated some of the code into my 0.8 branch. Â And then I could finally send some keystrokes, move the mouse, and click on things! Â Things were looking up!</p>
<p>While looking at the SDL code, I did see they also have audio support, so I went ahead and borrowed the skeleton framework from there, although the initialization didn&#8217;t work at all as BasiliskII had drifted in how it hooked into the native sound support. Â So I once more again turned to SDLQuake, and I was able to initialize sound, and Even get QuickTime to play the old<a href="http://www.uriah.com/quadra.html"> Quadra quicktime video</a>, which was the first QuickTime thing I&#8217;d ever seen, back when they were still making Quadras.</p>
<p>So now with video and sound in place, it was finally time to tackle the networking. Â At first this seemed quite easy to do, and using <a href="http://simh.trailing-edge.com/">SIMH</a> for inspiration I was able to quickly replace the tun/tap code with some pcap code to open the interface, send packets, and receive packets. Â One more again I started on Linux, made it build on OS X, although my MacBook air doesn&#8217;t have anything I can really inject packets into so I don&#8217;t know if it actually works. Â The bigger test for me was on Windows with a GNS3 network, and with a few more minor changes I was happily sending AppleTalk to both Shoebill and Windows NT.</p>
<p>The next thing I wanted to tackle was SLiRP support. Â Ironically to bring <a href="https://virtuallyfun.com/?p=4520">SLiRP to Shoebill</a> I used the <a href="https://github.com/cebix/macemu/tree/master/BasiliskII/src/slirp">SLiRP from the github</a> of Basilisk II. Â At this point I figured this would be very simple, and I could wrap up later that day. Â It ended up taking me three days. Â Once more again my build would crash all the time, just like the later Basilisk II builds. Â <a href="http://main.system7today.com/otherbrowsers.html">Using Internet Explorer 4.0.1</a>Â would seemingly crash the whole system within seconds with faults in SLiRP&#8217;s slirp_select_fill, andÂ slirp_select_poll functions. Â Now if you don&#8217;t call these functions SLiRP doesn&#8217;t process it&#8217;s TCP state and you end up with barely functioning UDP to only SLiRP which isn&#8217;t great beyond DHCP and DNS. Â First I tried semaphores which only made things worse as the nature of Basilisk II&#8217;s threaded nature just made the requests stack up deadlocking within seconds. Â I tried a mutex, timed mutexes and various other locking methods insdide of SLiRP and Basilisk II to no end. Â Netscape would kind of work, but IE would crash the whole thing out after a few pages. Then a better solution hit me as I was playing with the system clock on the Windows build. Â There is a 60Hz timer that calls a 1Hz timer once every 60 ticks. Â What if I had the clock drive SLiRP? Â And to my amazement not only did that work, but it worked great until I hit another problem that I had with Shoebill (that needs to be fixed now that I found away around it here). Â There is a static buffer that passes data between SLiRP&#8217;s callback when it is going to send a packet to BasiliskII and when Basilisk II then feeds the packet to MacOS. Â With enough traffic it will overwrite part of itself as they are on two different threads. Â Once more again I tried semaphores, which of course is the wrong tool here as if something is stacking waiting for it to unstack is just crazy, and more mutexes. Â The mutexes kind of worked but performance was horrible, as in 1992 dialup speed horrible. Â And I didn&#8217;t want to simulate a 1992 internet experience 100%</p>
<p>So the obvious solution as a queue. Â I took a simple queue implementation, added the ability to peek, changed it to accept a packet structure and I was set. Â Now I only needed a mutex when I queued items, and dequeuedÂ them. Â But I could hold 100 packets easily.</p>
<p>So with all that in place I can finally download files greater than 10MB, and even with Internet Explorer!</p>
<p><div id="attachment_4585" style="width: 823px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/10/124MB-in-8-minutes.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4585" class="size-full wp-image-4585" src="https://virtuallyfun.com/wp-content/uploads/2014/10/124MB-in-8-minutes.png" alt="Download" width="813" height="636" /></a><p id="caption-attachment-4585" class="wp-caption-text">124MB in 8 minutes!</p></div></p>
<p>So the next was to make Pcap dynamically loaded, which for C++ is a bit of fun with __cdecl, GetProcAddress and all that fun. Â But I had it working after a bit so now if the user doesn&#8217;t have <a href="http://www.winpcap.org/">WinPcap</a>Â installed they don&#8217;t get an error message, and I don&#8217;t have to maintain two builds. Â Nobody likes doing that kind of stuff. Â Ever.</p>
<p><div id="attachment_4586" style="width: 826px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2014/10/basilisk-II-in-action.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-4586" class="size-full wp-image-4586" src="https://virtuallyfun.com/wp-content/uploads/2014/10/basilisk-II-in-action.png" alt="Multitasking.. Kind of." width="816" height="638" /></a><p id="caption-attachment-4586" class="wp-caption-text">Multitasking.. Kind of.</p></div></p>
<p>There is still plenty of things broken afterall I&#8217;m using an ancient version of Basilisk to base this off of. I&#8217;ve also removed a bunch of features as I wanted to make this more of a &#8216;core&#8217; product with again a focus on networking.</p>
<p>Will this interest the majority of people? Probably not. Â But for anyone who wants to actually download a file this may be somewhat useful.</p>
<p>Where to go from here?</p>
<p>Well there is still a lot of OS specific stuff in the code that I want to convert to SDL. Â I&#8217;d like to build from a 100% more generic code tree rather than having private files here and there. Â The CPUÂ optimization programs that re-read GCC&#8217;s assembly output don&#8217;t do anything. Â I want to try it through an older version of GCC and see if there is any difference in speed. Â I also recently received the source code to vc5opti.cpp and I&#8217;d like to try that to see if it speeds up the Windows Visual C++ based build. Â Long term I&#8217;d love to patch in the UAE CPU code from the newer versions that have a far more solid 68030/68881 and 68040 emulation. Â The price of standing on so many tall shoulders is that when I fall off I don&#8217;t know if the CPU exceptions I see are faults in the CPU emulation, Basilisk II or just plain crashes in MacOS which was certainly not the most stablest thing once you mixed in multimedia and networking. Â It was par with Windows 3.1, which honestly both of them were &#8216;saved&#8217; with help from the older generation, ala BSD Unix for MacOS, and the VMS team for Windows.</p>
<p>So after all this I&#8217;m ready to release some binaries, and code. Â Although the last thing I wanted to do is add more confusion by calling this Basillisk II v0.8.SOMETHING &#8230; A quick google search on Basilisk gave me this:</p>
<div class="srg">
<ul>
<li class="g">
<div class="rc" data-hveid="31">
<h3 class="r"><a href="http://en.wikipedia.org/wiki/Basilisk"><em>Basilisk</em> &#8211; Wikipedia, the free encyclopedia</a></h3>
<p><span class="st">In European bestiaries and legends, a <em>basilisk</em> is a legendary reptile reputed to be king of serpents and said to have the power to cause death with a singleÂ &#8230;</span></p>
<div class="osl">â€Ž<a class="fl" href="http://en.wikipedia.org/wiki/Cockatrice">Cockatrice</a> -Â â€Ž<a class="fl" href="http://en.wikipedia.org/wiki/Corytophanidae">Corytophanidae</a> -Â â€Ž<a class="fl" href="http://en.wikipedia.org/wiki/Basilisk_(disambiguation)">Basilisk (disambiguation)</a> -Â â€Ž<a class="fl" href="http://en.wikipedia.org/wiki/Colo_Colo_(mythology)">Colo Colo (mythology)</a></div>
</div>
</li>
</ul>
</div>
<p>As for some reason I actually never did look up what a Basilisk was. Â So seeing that this project is basically the same thing I chose Cockatrice.</p>
<p><a href="http://sourceforge.net/projects/cockatrice/">The Cockatrice III source forge page is here</a>, <a href="http://sourceforge.net/projects/cockatrice/files/v0.0/v0.0-0/cockatrice-Win32%28MinGW%29v0.0.7z/download">Windows binaries</a>, <a href="http://sourceforge.net/projects/cockatrice/files/v0.0/v0.0-0/v0.0-0cockatrice-%28OSX%29v0.0.7z/download">Mac OS X binaries</a>, and <a href="http://sourceforge.net/projects/cockatrice/files/v0.0/source%20code/cockatrice-%28SourceCode%29v0.0-0.7z/download">source code here</a>.</p>
<p>There are plenty of bugs, and plenty of things not working, but it works well enough to do things, and that is a credit to everyone who worked on Basilisk II before me.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2014/10/09/announcing-cockatrice-iii/feed/</wfw:commentRss>
			<slash:comments>37</slash:comments>
		
		
			</item>
		<item>
		<title>pcap and IPX/SPX</title>
		<link>https://virtuallyfun.com/2010/06/08/pcap-and-ipxspx/</link>
					<comments>https://virtuallyfun.com/2010/06/08/pcap-and-ipxspx/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Tue, 08 Jun 2010 07:29:00 +0000</pubDate>
				<category><![CDATA[doom]]></category>
		<category><![CDATA[DOSBox]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[pcap]]></category>
		<category><![CDATA[QEMU]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=246</guid>

					<description><![CDATA[I found this link where someone had implemented a virtual NE2000 for DosBOX, allowing you to run among other things DOOM! This reminded me of my own work to add pcap into Qemu back in the 0.9.0 days&#8230; SO I &#8230; <a href="https://virtuallyfun.com/2010/06/08/pcap-and-ipxspx/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>I found this <a href="http://home.arcor.de/h-a-l-9000/ne2kstuff/db_ne2000.html">link</a> where someone had implemented a virtual NE2000 for <a href="http://www.dosbox.com/">DosBOX</a>, allowing you to run among other things DOOM!</p>
<p>This reminded me of my own work to add <a href="https://virtuallyfun.com/?p=48">pcap into Qemu</a> back in the 0.9.0 days&#8230; SO I figured I&#8217;d try to build the thing out and see how they interact!</p>
<p>So the first thing to do was build DosBOX, and add the patch. I found that 0.73 worked pretty well for this!</p>
<p>So after some hammering around, I got it to build, and launched it on two separate machines (one over terminal server) on my lan, and launched the oldest network doom version I could find to get things going.</p>
<p><div id="attachment_3510" style="width: 650px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2010/06/Doom-multiplayer-IPX-SPX.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3510" class="size-large wp-image-3510" src="https://virtuallyfun.com/wp-content/uploads/2010/06/Doom-multiplayer-IPX-SPX-1024x401.jpg" alt="Doom multiplayer IPX-SPX" width="640" height="250" /></a><p id="caption-attachment-3510" class="wp-caption-text">Doom multiplayer IPX-SPX</p></div></p>
<p>And there we go. Now in the dosbox.conf you have to make sure that they have unique MAC addresses, and of course, that they are bound to the correct physical nic. in the config file, there is a list option that will print out the possible choices then you can just put the number, or the full name into the right spot on the ini file. I&#8217;ve build a prebuilt win32 version of this with all the DLL&#8217;s and the gravis ultrasound enabled&#8230; You can download it <a href="http://vpsland.superglobalmegacorp.com/install/pcap/dosbox-0.73-ne2000.rar">here</a>.</p>
<p>The next thing I did was search high &amp; lo for my patches to Qemu, and thankfully I&#8217;d emailed them to myself as it seems all the other places are dead&#8230; So with a little playing with Qemu 0.90 to enable the adlib, and remove some logging messages, I&#8217;d built a client machine again with Doom. Naturally I had the DosBOX &amp; Qemu face each-other off.. Sadly this is a little SLOW.</p>
<p><div id="attachment_3511" style="width: 650px" class="wp-caption aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2010/06/dosbox-and-qemu-IPXSPX-doom.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3511" class="size-large wp-image-3511" src="https://virtuallyfun.com/wp-content/uploads/2010/06/dosbox-and-qemu-IPXSPX-doom-1024x343.jpg" alt="DOSBox and qemu IPXSPX Doom" width="640" height="214" /></a><p id="caption-attachment-3511" class="wp-caption-text">DOSBox and qemu IPXSPX Doom</p></div></p>
<p>For those that wish to download, you can find the Qemu <a href="http://vpsland.superglobalmegacorp.com/install/pcap/qemu-0.90-pcap-client.rar">client</a> &amp; <a href="http://vpsland.superglobalmegacorp.com/install/pcap/qemu-0.90-pcap-server.rar">server</a> files.</p>
<p>Now for Qemu, you&#8217;ll need to get that full NIC name&#8230; Dosbox provides a great way to see what it is, just paste it into the batch files, and you&#8217;ll be good to go.</p>
<p>And remember you&#8217;ll need <a href="http://www.winpcap.org/">WinPcap</a> installed!!!!!!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2010/06/08/pcap-and-ipxspx/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Some fun networking with MS-DOS &#038; Novell Netware.</title>
		<link>https://virtuallyfun.com/2008/10/17/some-fun-networking-with-ms-dos-novell-netware/</link>
					<comments>https://virtuallyfun.com/2008/10/17/some-fun-networking-with-ms-dos-novell-netware/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Fri, 17 Oct 2008 22:04:00 +0000</pubDate>
				<category><![CDATA[MS-DOS]]></category>
		<category><![CDATA[netware]]></category>
		<category><![CDATA[Novell Netware 3.12]]></category>
		<category><![CDATA[pcap]]></category>
		<category><![CDATA[proxmox]]></category>
		<category><![CDATA[QEMU]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=77</guid>

					<description><![CDATA[Ok I wanted to do this eventually but now I&#8217;ve finally done it. I have constructed something a little complex but it works surprisingly well. Let me draw a picture so i&#8217;ll be a little easier to follow: &#160; All &#8230; <a href="https://virtuallyfun.com/2008/10/17/some-fun-networking-with-ms-dos-novell-netware/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ok I wanted to do this eventually but now I&#8217;ve finally done it. I have constructed something a little complex but it works surprisingly well.</p>



<p class="wp-block-paragraph">Let me draw a picture so i&#8217;ll be a little easier to follow:</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2008/10/proxmox-Netware-diagram.jpg"><img decoding="async" src="https://virtuallyfun.com/wp-content/uploads/2008/10/proxmox-Netware-diagram.jpg" alt="proxmox Netware diagram" class="wp-image-4955"/></a><figcaption class="wp-element-caption">proxmox Netware diagram</figcaption></figure>
</div>


<p class="wp-block-paragraph">&nbsp;</p>



<p class="wp-block-paragraph">All of the machines in clouds are virtual!</p>



<p class="wp-block-paragraph">Ok I&#8217;m going to assume you can install &amp; configure OpenVPN on your own. I did a really simple install on <a href="http://pve.proxmox.com/wiki/Main_Page">Proxmox VE</a>, just be sure to use the e1000 network adapters. All the others gave me tones of errors with any sizable traffic. Also, I should point out that I&#8217;m using <a href="http://www.openbsd.org/">OpenBSD</a> 4.3 which is the latest as of today.</p>



<p class="wp-block-paragraph">dev tun0<br>
dev-type tap<br>
ca /etc/openvpn/ca.crt<br>
cert /etc/openvpn/server.crt<br>
dh /etc/openvpn/dh1024.pem<br>
key /etc/openvpn/server.key<br>
server-bridge 192.168.6.33 255.255.255.224 192.168.6.50 192.168.6.62<br>
push &#8220;route 192.168.6.0 255.255.255.0&#8221;<br>
push &#8220;dhcp-option DNS 192.168.6.34&#8221;<br>
client-to-client<br>
duplicate-cn<br>
keepalive 10 120<br>
max-clients 100<br>
persist-key<br>
persist-tun<br>
status /var/log/openvpn-status.log<br>
verb 3<br>
tun-mtu 1500<br>
fragment 1300<br>
mssfix<br>
float</p>



<p class="wp-block-paragraph">Again, I just followed the<a href="http://openvpn.net/index.php/documentation/howto.html#quick"> example </a>from the OpenVPN site to set this up. What makes this different though is the fact that I&#8217;m using this in a bridge mode. As you can see, I have told OpenVPN that it is to use the tun0 interface as a tap driver.</p>



<p class="wp-block-paragraph">My hostname.tun0 is this:<br>
Link0 up</p>



<p class="wp-block-paragraph">Likewise the bridgename.bridge0 is:<br>
add em1<br>
add tun0<br>
up</p>



<p class="wp-block-paragraph">And finally for this example my bridgename.em1 is:<br>
inet 192.168.6.33 255.255.255.224 NONE</p>



<p class="wp-block-paragraph">So using this setup I have a private 192.168.6.32/27 network in which I&#8217;ve got a few virtual machines running and space for my laptop to VPN into. Now one of the virtual servers on my Proxmox server is Windows NT 4.0 Terminal Server, Yeah, I know I got it cheap on ebay, and I kind of like it. Anyways I&#8217;m running Qemu on it, which is running Netware 3.12. I installed the libpcap then I had to find out what my Ethernet devices are called. I used wireshark (it was ethereal) and i&#8217;s a cool program to have around. The last version to run under Windows NT 4.0 was 0.99.4 so that&#8217;s the one I used. Once I have done this I found my device and was able to setup a string for Qemu (which was \Device\NPF_RTL80291)</p>



<p class="wp-block-paragraph">Here is what Iim using:</p>



<p class="wp-block-paragraph">Qemu â€“had netware.disk â€“m 16 â€“M isapc â€“L pc-bios â€“net nic â€“net pcap,devicename=â€\Device\NPF_RTL80291â€</p>



<p class="wp-block-paragraph">This sets up an ISA computer with 16 megabytes of ram and a single ISA nic that will utilize libpcap to send out frames on the rtl80291 that&#8217;s being emulated to my NT terminal server by proxmox.</p>



<p class="wp-block-paragraph">On the client side of things, I&#8217;m running the 64 bit version of Vista. So I&#8217;ve installed the <a href="http://openvpn.se/files/install_packages/openvpn-2.0.5-gui-1.0.3-install-auto_xp64.exe">OpenVPN that not only has 64 bit device drivers, but has a nice little GUI </a>to connect &amp; disconnect from the networks. Here is the <a href="http://openvpn.net/">OpenVPN</a> config that is on my laptop.</p>



<p class="wp-block-paragraph">dev tap<br>
ca ca.crt<br>
cert client1.crt<br>
key client1.key<br>
client<br>
proto udp<br>
remote 192.168.1.75 1194<br>
resolv-retry infinite<br>
nobind<br>
persist-key<br>
persist-tun<br>
;comp-lzo<br>
mssfix<br>
tun-mtu 1500<br>
fragment 1300</p>



<p class="wp-block-paragraph">Ok, so far so good. Now I do have Virtual PC 2007 on my laptop, and I have made sure that the &#8220;Virtual Machine Network Services&#8221; were bound to the &#8220;TAP-Win32 Adapter V9&#8221; interface.</p>



<p class="wp-block-paragraph">The it&#8217;s a simple matter of connecting to the VPN, then loading up the virtual PC with <a href="http://shop.ebay.com/?_from=R40&amp;_trksid=m38.l1313&amp;_nkw=ms-dos+6.22">MS-DOS</a> &amp; the <a href="http://www.novell.com/coolsolutions/tools/13555.html">Novell Netware client</a>.</p>



<p class="wp-block-paragraph">Then you should be able to &#8216;bind&#8217; to the server &amp; login!</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://virtuallyfun.com/wp-content/uploads/2008/10/dos-netware-client.jpg"><img decoding="async" src="https://virtuallyfun.com/wp-content/uploads/2008/10/dos-netware-client.jpg" alt="dos netware client" class="wp-image-4957"/></a><figcaption class="wp-element-caption">dos netware client</figcaption></figure>
</div>


<p class="wp-block-paragraph">The &#8216;cool&#8217; thing about this setup is that it will work over things like Wi-Fi, and easily allow you to add clients near &amp; far. Oh and the best part for the Wi-Fi crowd is that it will use REAL encryption since WEP/WPA have all been shown to be useless. Oh yes, and it should allow you to host your DOOM, Quake 1, Rise of the Triad, Warcraft II, and Descent games&#8230;. Along with people playing at home! Using this you too can build your own IPX/Internet network!</p>



<p class="wp-block-paragraph">I do hope this clears some of the uses &amp; versility of Virtual servers, Qemu &amp; Virtual Networking.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2008/10/17/some-fun-networking-with-ms-dos-novell-netware/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Netware 3.12 with Qemu</title>
		<link>https://virtuallyfun.com/2008/10/16/netware-3-12-with-qemu/</link>
					<comments>https://virtuallyfun.com/2008/10/16/netware-3-12-with-qemu/#comments</comments>
		
		<dc:creator><![CDATA[neozeed]]></dc:creator>
		<pubDate>Fri, 17 Oct 2008 04:55:00 +0000</pubDate>
				<category><![CDATA[netware]]></category>
		<category><![CDATA[Novell Netware 3.12]]></category>
		<category><![CDATA[pcap]]></category>
		<category><![CDATA[QEMU]]></category>
		<guid isPermaLink="false">https://virtuallyfun.com/?p=76</guid>

					<description><![CDATA[Ok I&#8217;m getting more requests on this which means I&#8217;ll finally do it.. I didn&#8217;t mean to put it off THIS long, honestly! I have issues with Qemu 0.91 under Vista so this will all be with Qemu 0.90. I &#8230; <a href="https://virtuallyfun.com/2008/10/16/netware-3-12-with-qemu/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Ok I&#8217;m getting more requests on this which means I&#8217;ll finally do it.. I didn&#8217;t mean to put it off THIS long, honestly!</p>
<p>I have issues with Qemu 0.91 under Vista so this will all be with Qemu 0.90.</p>
<p>I have built a version with the libpcap compiled in, and placed a copy of the winpcap that I&#8217;m using in with this zip.</p>
<p>You can download the libpcap enable Qemu for Win32 right <a href="http://vpsland.superglobalmegacorp.com/install/qemu/qemu-0.90-pcap-client.rar">HERE</a>.</p>
<p>I&#8217;m using the enclosed 1.cmd to run the thing, and I&#8217;ll go over more of it tomorrow.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://virtuallyfun.com/2008/10/16/netware-3-12-with-qemu/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
