diff --git a/ZealOS-2021-07-04-20_56_00.iso b/ZealOS-2021-07-05-12_15_25.iso similarity index 99% rename from ZealOS-2021-07-04-20_56_00.iso rename to ZealOS-2021-07-05-12_15_25.iso index bf567aad..1c414264 100755 Binary files a/ZealOS-2021-07-04-20_56_00.iso and b/ZealOS-2021-07-05-12_15_25.iso differ diff --git a/docs/Home/Net/Drivers/PCNet.CC.html b/docs/Home/Net/Drivers/PCNet.CC.html index d5918dc8..2a2f409e 100755 --- a/docs/Home/Net/Drivers/PCNet.CC.html +++ b/docs/Home/Net/Drivers/PCNet.CC.html @@ -40,10 +40,10 @@ body {background-color:#000000;} <a name="l13"></a> </span><span class=cF2>-</span><span class=cF0> </span><span class=cF2>Clear documentation.</span><span class=cF0> <a name="l14"></a></span><span class=cF2>*/</span><span class=cF0> <a name="l15"></a> -<a name="l16"></a>#</span><span class=cF1>define</span><span class=cF0> PCNET_DEVICE_ID </span><span class=cFE>0x2000</span><span class=cF0> -<a name="l17"></a>#</span><span class=cF1>define</span><span class=cF0> PCNET_VENDOR_ID </span><span class=cFE>0x1022</span><span class=cF0> +<a name="l16"></a></span><span class=cF2>//#define</span><span class=cF0> </span><span class=cF2>PCNET_DEVICE_ID</span><span class=cF0> </span><span class=cF2>0x2000</span><span class=cF0> +<a name="l17"></a></span><span class=cF2>//#define</span><span class=cF0> </span><span class=cF2>PCNET_VENDOR_ID</span><span class=cF0> </span><span class=cF2>0x1022</span><span class=cF0> <a name="l18"></a> -<a name="l19"></a>#</span><span class=cF1>define</span><span class=cF0> PCI_REG_COMMAND </span><span class=cFE>0x04</span><span class=cF0> +<a name="l19"></a></span><span class=cF2>//#define</span><span class=cF0> </span><span class=cF2>PCI_REG_COMMAND</span><span class=cF0> </span><span class=cF2>0x04</span><span class=cF0> <a name="l20"></a> <a name="l21"></a>#</span><span class=cF1>define</span><span class=cF0> PCNET_CMDf_IOEN </span><span class=cFE>0</span><span class=cF0> <a name="l22"></a>#</span><span class=cF1>define</span><span class=cF0> PCNET_CMDf_BMEN </span><span class=cFE>2</span><span class=cF0> @@ -150,7 +150,7 @@ body {background-color:#000000;} <a name="l123"></a></span><span class=cF9>CPCIDev</span><span class=cF0> *PCNetPCIDevFind() <a name="l124"></a>{</span><span class=cF2>// Find and return PCNetII card as a CPCIDev pointer.</span><span class=cF0> <a name="l125"></a> -<a name="l126"></a> </span><span class=cF1>return</span><span class=cF0> </span><span class=cF5>PCIDevFind</span><span class=cF0>(,, PCNET_VENDOR_ID, PCNET_DEVICE_ID); +<a name="l126"></a> </span><span class=cF1>return</span><span class=cF0> </span><span class=cF5>PCIDevFind</span><span class=cF0>(,, PCIV_PCNET, PCID_PCNET); <a name="l127"></a>} <a name="l128"></a> <a name="l129"></a></span><span class=cF9>U32</span><span class=cF0> PCNetIOBaseGet() @@ -667,7 +667,7 @@ body {background-color:#000000;} <a name="l640"></a> </span><span class=cF5>PCIWriteU16</span><span class=cF0>(pcnet.pci->bus, <a name="l641"></a> pcnet.pci-></span><span class=cFB>dev</span><span class=cF0>, <a name="l642"></a> pcnet.pci->fun, -<a name="l643"></a> PCI_REG_COMMAND, +<a name="l643"></a> </span><span class=cF3>PCIR_COMMAND</span><span class=cF0>, <a name="l644"></a> PCNET_CMDF_IOEN | PCNET_CMDF_BMEN); <a name="l645"></a> <a name="l646"></a> PCNetReset; diff --git a/docs/Home/Net/Drivers/Run.CC.html b/docs/Home/Net/Drivers/Run.CC.html new file mode 100755 index 00000000..a8e397e8 --- /dev/null +++ b/docs/Home/Net/Drivers/Run.CC.html @@ -0,0 +1,74 @@ +<!DOCTYPE HTML> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html;charset=US-ASCII"> +<meta name="generator" content="ZealOS V0.05"> +<style type="text/css"> +body {background-color:#000000;} +.cF0{color:#ffffff;background-color:#000000;} +.cF1{color:#3465a4;background-color:#000000;} +.cF2{color:#4e9a06;background-color:#000000;} +.cF3{color:#06989a;background-color:#000000;} +.cF4{color:#a24444;background-color:#000000;} +.cF5{color:#75507b;background-color:#000000;} +.cF6{color:#ce982f;background-color:#000000;} +.cF7{color:#bcc0b9;background-color:#000000;} +.cF8{color:#555753;background-color:#000000;} +.cF9{color:#729fcf;background-color:#000000;} +.cFA{color:#82bc49;background-color:#000000;} +.cFB{color:#34e2e2;background-color:#000000;} +.cFC{color:#ac3535;background-color:#000000;} +.cFD{color:#ad7fa8;background-color:#000000;} +.cFE{color:#fce94f;background-color:#000000;} +.cFF{color:#000000;background-color:#000000;} +</style> +</head> +<body> +<pre style="font-family:monospace;font-size:12pt"> +<a name="l1"></a><span class=cF2>// Must be in same directory as driver files.</span><span class=cF0> +<a name="l2"></a></span><span class=cF2>// (Uses __DIR__)</span><span class=cF0> +<a name="l3"></a> +<a name="l4"></a>#</span><span class=cF1>define</span><span class=cF0> PCIV_PCNET </span><span class=cFE>0x1022</span><span class=cF0> +<a name="l5"></a>#</span><span class=cF1>define</span><span class=cF0> PCID_PCNET </span><span class=cFE>0x2000</span><span class=cF0> +<a name="l6"></a> +<a name="l7"></a>#</span><span class=cF1>define</span><span class=cF0> PCIV_82545EM </span><span class=cFE>0x8086</span><span class=cF0> +<a name="l8"></a>#</span><span class=cF1>define</span><span class=cF0> PCID_82545EM </span><span class=cFE>0x100F</span><span class=cF0> +<a name="l9"></a> +<a name="l10"></a></span><span class=cF1>U0</span><span class=cF0> NetDriverInclude(</span><span class=cF1>U8</span><span class=cF0> *driver) +<a name="l11"></a>{ +<a name="l12"></a> </span><span class=cF1>U8</span><span class=cF0> *filename = </span><span class=cF5>MStrPrint</span><span class=cF0>(</span><span class=cF3>__DIR__</span><span class=cF0> </span><span class=cF6>"/%s"</span><span class=cF0>, driver); +<a name="l13"></a> +<a name="l14"></a> </span><span class=cF5>ExeFile</span><span class=cF0>(filename); +<a name="l15"></a> </span><span class=cF5>Free</span><span class=cF0>(filename); +<a name="l16"></a>} +<a name="l17"></a> +<a name="l18"></a></span><span class=cF1>U0</span><span class=cF0> NetDriverInit() +<a name="l19"></a>{ +<a name="l20"></a> </span><span class=cF9>CPCIDev</span><span class=cF0> *net_driver_pci = </span><span class=cF5>PCIDevFind</span><span class=cF0>(</span><span class=cF3>PCIC_NETWORK</span><span class=cF0>); +<a name="l21"></a> +<a name="l22"></a> </span><span class=cF1>switch</span><span class=cF0> (net_driver_pci->vendor_id) +<a name="l23"></a> </span><span class=cF7>{</span><span class=cF0> +<a name="l24"></a> </span><span class=cF1>case</span><span class=cF0> PCIV_PCNET: +<a name="l25"></a> </span><span class=cF1>switch</span><span class=cF0> (net_driver_pci->device_id) +<a name="l26"></a> { +<a name="l27"></a> </span><span class=cF1>case</span><span class=cF0> PCID_PCNET: +<a name="l28"></a> NetDriverInclude(</span><span class=cF6>"PCNet"</span><span class=cF0>); +<a name="l29"></a> </span><span class=cF1>break</span><span class=cF0>; +<a name="l30"></a> } +<a name="l31"></a> </span><span class=cF1>break</span><span class=cF0>; +<a name="l32"></a> +<a name="l33"></a> </span><span class=cF1>case</span><span class=cF0> PCIV_82545EM: +<a name="l34"></a> </span><span class=cF1>switch</span><span class=cF0> (net_driver_pci->device_id) +<a name="l35"></a> { +<a name="l36"></a> </span><span class=cF1>case</span><span class=cF0> PCID_82545EM: +<a name="l37"></a> NetDriverInclude(</span><span class=cF6>"82545EM"</span><span class=cF0>); +<a name="l38"></a> </span><span class=cF1>break</span><span class=cF0>; +<a name="l39"></a> } +<a name="l40"></a> </span><span class=cF1>break</span><span class=cF0>; +<a name="l41"></a> +<a name="l42"></a> </span><span class=cF7>}</span><span class=cF0> +<a name="l43"></a>} +<a name="l44"></a> +<a name="l45"></a>NetDriverInit; +</span></pre></body> +</html> diff --git a/docs/Home/Net/Drivers/index.html b/docs/Home/Net/Drivers/index.html index 0f1070fb..68c679db 100755 --- a/docs/Home/Net/Drivers/index.html +++ b/docs/Home/Net/Drivers/index.html @@ -29,6 +29,7 @@ body {background-color:#000000;} <a name="l1"></a><span class=cF0>Directory of C:/Home/Net/Drivers <a name="l2"></a></span><a href="https://tomawezome.github.io/ZealOS/Home/Net/Drivers/index.html#l1"><span class=c04>./</span></a><span class=cF0> <a name="l3"></a></span><a href="https://tomawezome.github.io/ZealOS/Home/Net/index.html#l1"><span class=c04>../</span></a><span class=cF4> -<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Home/Net/Drivers/PCNet.CC.html#l1"><span class=cF4>PCNet.CC</span></a><span class=cF0> +<a name="l4"></a></span><a href="https://tomawezome.github.io/ZealOS/Home/Net/Drivers/PCNet.CC.html#l1"><span class=cF4>PCNet.CC</span></a><span class=cF4> +<a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Home/Net/Drivers/Run.CC.html#l1"><span class=cF4>Run.CC</span></a><span class=cF0> </span></pre></body> </html> diff --git a/docs/Home/Net/Load.CC.html b/docs/Home/Net/Load.CC.html index 5877fba8..ea160122 100755 --- a/docs/Home/Net/Load.CC.html +++ b/docs/Home/Net/Load.CC.html @@ -31,30 +31,32 @@ body {background-color:#000000;} <a name="l4"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Utilities/NetLog"</span><span class=cF0> <a name="l5"></a> <a name="l6"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Utilities/NetQueue"</span><span class=cF0> -<a name="l7"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Drivers/PCNet"</span><span class=cF0> -<a name="l8"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/Ethernet"</span><span class=cF0> +<a name="l7"></a> +<a name="l8"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Drivers/Run"</span><span class=cF0> <a name="l9"></a> -<a name="l10"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/ARP"</span><span class=cF0> -<a name="l11"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/IPV4"</span><span class=cF0> -<a name="l12"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/ICMP"</span><span class=cF0> -<a name="l13"></a> -<a name="l14"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/Sockets"</span><span class=cF0> +<a name="l10"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/Ethernet"</span><span class=cF0> +<a name="l11"></a> +<a name="l12"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/ARP"</span><span class=cF0> +<a name="l13"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/IPV4"</span><span class=cF0> +<a name="l14"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/ICMP"</span><span class=cF0> <a name="l15"></a> -<a name="l16"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Utilities/BST"</span><span class=cF0> +<a name="l16"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/Sockets"</span><span class=cF0> <a name="l17"></a> -<a name="l18"></a></span><span class=cF2>// todo create MakeUDP and MakeTCP to clean this up</span><span class=cF0> -<a name="l19"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/UDP/UDP.HH"</span><span class=cF0> -<a name="l20"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/UDP/UDPTree"</span><span class=cF0> -<a name="l21"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/UDP/UDP.CC"</span><span class=cF0> -<a name="l22"></a> -<a name="l23"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/TCP/TCP.HH"</span><span class=cF0> -<a name="l24"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/TCP/TCPTree"</span><span class=cF0> -<a name="l25"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/TCP/TCP.CC"</span><span class=cF0> -<a name="l26"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/TCP/TCPHandler"</span><span class=cF0> -<a name="l27"></a> -<a name="l28"></a> -<a name="l29"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/DNS"</span><span class=cF0> -<a name="l30"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/DHCP"</span><span class=cF0> -<a name="l31"></a> -<a name="l32"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Utilities/NetHandler"</span><span class=cF0> </span><span class=cF2>// needs IPV4, UDP, ICMP</span></pre></body> +<a name="l18"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Utilities/BST"</span><span class=cF0> +<a name="l19"></a> +<a name="l20"></a></span><span class=cF2>// todo create MakeUDP and MakeTCP to clean this up</span><span class=cF0> +<a name="l21"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/UDP/UDP.HH"</span><span class=cF0> +<a name="l22"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/UDP/UDPTree"</span><span class=cF0> +<a name="l23"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/UDP/UDP.CC"</span><span class=cF0> +<a name="l24"></a> +<a name="l25"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/TCP/TCP.HH"</span><span class=cF0> +<a name="l26"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/TCP/TCPTree"</span><span class=cF0> +<a name="l27"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/TCP/TCP.CC"</span><span class=cF0> +<a name="l28"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/TCP/TCPHandler"</span><span class=cF0> +<a name="l29"></a> +<a name="l30"></a> +<a name="l31"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/DNS"</span><span class=cF0> +<a name="l32"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Protocols/DHCP"</span><span class=cF0> +<a name="l33"></a> +<a name="l34"></a>#</span><span class=cF1>include</span><span class=cF0> </span><span class=cF6>"Utilities/NetHandler"</span><span class=cF0> </span><span class=cF2>// needs IPV4, UDP, ICMP</span></pre></body> </html> diff --git a/docs/index.html b/docs/index.html index 2fdd42d3..c6d8d4fc 100755 --- a/docs/index.html +++ b/docs/index.html @@ -33,21 +33,20 @@ body {background-color:#000000;} <a name="l5"></a></span><a href="https://tomawezome.github.io/ZealOS/Demo/index.html#l1"><span class=c04>Demo/</span></a><span class=cF0> <a name="l6"></a></span><a href="https://tomawezome.github.io/ZealOS/Doc/index.html#l1"><span class=c04>Doc/</span></a><span class=cF0> <a name="l7"></a></span><a href="https://tomawezome.github.io/ZealOS/Downloads/index.html#l1"><span class=c04>Downloads/</span></a><span class=cF0> -<a name="l8"></a></span><a href="https://tomawezome.github.io/ZealOS/HTML/index.html#l1"><span class=c04>HTML/</span></a><span class=cF0> -<a name="l9"></a></span><a href="https://tomawezome.github.io/ZealOS/Home/index.html#l1"><span class=c04>Home/</span></a><span class=cF0> -<a name="l10"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/index.html#l1"><span class=c04>Kernel/</span></a><span class=cF0> -<a name="l11"></a></span><a href="https://tomawezome.github.io/ZealOS/Misc/index.html#l1"><span class=c04>Misc/</span></a><span class=cF0> -<a name="l12"></a></span><a href="https://tomawezome.github.io/ZealOS/System/index.html#l1"><span class=c04>System/</span></a><span class=cF0> -<a name="l13"></a></span><a href="https://tomawezome.github.io/ZealOS/Tmp/index.html#l1"><span class=c04>Tmp/</span></a><span class=cF4> -<a name="l14"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel.BIN.C.html#l1"><span class=cF4>Kernel.BIN.C</span></a><span class=cF4> -<a name="l15"></a></span><a href="https://tomawezome.github.io/ZealOS/HomeKeyPlugIns.CC.html#l1"><span class=cF4>HomeKeyPlugIns.CC</span></a><span class=cF4> -<a name="l16"></a></span><a href="https://tomawezome.github.io/ZealOS/HomeLocalize.CC.html#l1"><span class=cF4>HomeLocalize.CC</span></a><span class=cF4> -<a name="l17"></a></span><a href="https://tomawezome.github.io/ZealOS/HomeSys.CC.html#l1"><span class=cF4>HomeSys.CC</span></a><span class=cF4> -<a name="l18"></a></span><a href="https://tomawezome.github.io/ZealOS/HomeWrappers.CC.html#l1"><span class=cF4>HomeWrappers.CC</span></a><span class=cF4> -<a name="l19"></a></span><a href="https://tomawezome.github.io/ZealOS/MakeHome.CC.html#l1"><span class=cF4>MakeHome.CC</span></a><span class=cF4> -<a name="l20"></a></span><a href="https://tomawezome.github.io/ZealOS/Once.CC.html#l1"><span class=cF4>Once.CC</span></a><span class=cF4> -<a name="l21"></a></span><a href="https://tomawezome.github.io/ZealOS/StartOS.CC.html#l1"><span class=cF4>StartOS.CC</span></a><span class=cF4> -<a name="l22"></a></span><a href="https://tomawezome.github.io/ZealOS/PersonalMenu.DD.html#l1"><span class=cF4>PersonalMenu.DD</span></a><span class=cF4> -<a name="l23"></a></span><a href="https://tomawezome.github.io/ZealOS/PersonalNotes.DD.html#l1"><span class=cF4>PersonalNotes.DD</span></a><span class=cF0> +<a name="l8"></a></span><a href="https://tomawezome.github.io/ZealOS/Home/index.html#l1"><span class=c04>Home/</span></a><span class=cF0> +<a name="l9"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel/index.html#l1"><span class=c04>Kernel/</span></a><span class=cF0> +<a name="l10"></a></span><a href="https://tomawezome.github.io/ZealOS/Misc/index.html#l1"><span class=c04>Misc/</span></a><span class=cF0> +<a name="l11"></a></span><a href="https://tomawezome.github.io/ZealOS/System/index.html#l1"><span class=c04>System/</span></a><span class=cF0> +<a name="l12"></a></span><a href="https://tomawezome.github.io/ZealOS/Tmp/index.html#l1"><span class=c04>Tmp/</span></a><span class=cF4> +<a name="l13"></a></span><a href="https://tomawezome.github.io/ZealOS/Kernel.BIN.C.html#l1"><span class=cF4>Kernel.BIN.C</span></a><span class=cF4> +<a name="l14"></a></span><a href="https://tomawezome.github.io/ZealOS/HomeKeyPlugIns.CC.html#l1"><span class=cF4>HomeKeyPlugIns.CC</span></a><span class=cF4> +<a name="l15"></a></span><a href="https://tomawezome.github.io/ZealOS/HomeLocalize.CC.html#l1"><span class=cF4>HomeLocalize.CC</span></a><span class=cF4> +<a name="l16"></a></span><a href="https://tomawezome.github.io/ZealOS/HomeSys.CC.html#l1"><span class=cF4>HomeSys.CC</span></a><span class=cF4> +<a name="l17"></a></span><a href="https://tomawezome.github.io/ZealOS/HomeWrappers.CC.html#l1"><span class=cF4>HomeWrappers.CC</span></a><span class=cF4> +<a name="l18"></a></span><a href="https://tomawezome.github.io/ZealOS/MakeHome.CC.html#l1"><span class=cF4>MakeHome.CC</span></a><span class=cF4> +<a name="l19"></a></span><a href="https://tomawezome.github.io/ZealOS/Once.CC.html#l1"><span class=cF4>Once.CC</span></a><span class=cF4> +<a name="l20"></a></span><a href="https://tomawezome.github.io/ZealOS/StartOS.CC.html#l1"><span class=cF4>StartOS.CC</span></a><span class=cF4> +<a name="l21"></a></span><a href="https://tomawezome.github.io/ZealOS/PersonalMenu.DD.html#l1"><span class=cF4>PersonalMenu.DD</span></a><span class=cF4> +<a name="l22"></a></span><a href="https://tomawezome.github.io/ZealOS/PersonalNotes.DD.html#l1"><span class=cF4>PersonalNotes.DD</span></a><span class=cF0> </span></pre></body> </html> diff --git a/src/Home/Net/Drivers/PCNet.CC b/src/Home/Net/Drivers/PCNet.CC index eee533a2..bec3bdcc 100755 --- a/src/Home/Net/Drivers/PCNet.CC +++ b/src/Home/Net/Drivers/PCNet.CC @@ -13,10 +13,10 @@ - Clear documentation. */ -#define PCNET_DEVICE_ID 0x2000 -#define PCNET_VENDOR_ID 0x1022 +//#define PCNET_DEVICE_ID 0x2000 +//#define PCNET_VENDOR_ID 0x1022 -#define PCI_REG_COMMAND 0x04 +//#define PCI_REG_COMMAND 0x04 #define PCNET_CMDf_IOEN 0 #define PCNET_CMDf_BMEN 2 @@ -123,7 +123,7 @@ class CPCNetBufferSetup CPCIDev *PCNetPCIDevFind() {// Find and return PCNetII card as a CPCIDev pointer. - return PCIDevFind(,, PCNET_VENDOR_ID, PCNET_DEVICE_ID); + return PCIDevFind(,, PCIV_PCNET, PCID_PCNET); } U32 PCNetIOBaseGet() @@ -640,7 +640,7 @@ U0 PCNetInit() PCIWriteU16(pcnet.pci->bus, pcnet.pci->dev, pcnet.pci->fun, - PCI_REG_COMMAND, + PCIR_COMMAND, PCNET_CMDF_IOEN | PCNET_CMDF_BMEN); PCNetReset; diff --git a/src/Home/Net/Drivers/Run.CC b/src/Home/Net/Drivers/Run.CC new file mode 100755 index 00000000..97c5db32 --- /dev/null +++ b/src/Home/Net/Drivers/Run.CC @@ -0,0 +1,45 @@ +// Must be in same directory as driver files. +// (Uses __DIR__) + +#define PCIV_PCNET 0x1022 +#define PCID_PCNET 0x2000 + +#define PCIV_82545EM 0x8086 +#define PCID_82545EM 0x100F + +U0 NetDriverInclude(U8 *driver) +{ + U8 *filename = MStrPrint(__DIR__ "/%s", driver); + + ExeFile(filename); + Free(filename); +} + +U0 NetDriverInit() +{ + CPCIDev *net_driver_pci = PCIDevFind(PCIC_NETWORK); + + switch (net_driver_pci->vendor_id) + { + case PCIV_PCNET: + switch (net_driver_pci->device_id) + { + case PCID_PCNET: + NetDriverInclude("PCNet"); + break; + } + break; + + case PCIV_82545EM: + switch (net_driver_pci->device_id) + { + case PCID_82545EM: + NetDriverInclude("82545EM"); + break; + } + break; + + } +} + +NetDriverInit; diff --git a/src/Home/Net/Load.CC b/src/Home/Net/Load.CC index b53696ac..7315d5d4 100755 --- a/src/Home/Net/Load.CC +++ b/src/Home/Net/Load.CC @@ -4,7 +4,9 @@ Cd(__DIR__); #include "Utilities/NetLog" #include "Utilities/NetQueue" -#include "Drivers/PCNet" + +#include "Drivers/Run" + #include "Protocols/Ethernet" #include "Protocols/ARP"