diff --git a/src/Home/Net/Drivers/PCNet.ZC b/src/Home/Net/Drivers/PCNet.ZC index 7ca8b800..bf84da61 100755 --- a/src/Home/Net/Drivers/PCNet.ZC +++ b/src/Home/Net/Drivers/PCNet.ZC @@ -59,6 +59,7 @@ #define PCNET_INT_TINTM 9 // Transmit Interrupt Mask #define PCNET_INT_RINTM 10 // Receive Interrupt Mask +#define PCNET_FEATURE_ASTRPRCV 10 #define PCNET_FEATURE_APADXMT 11 #define PCNET_BCR_MISC_CONFIG_ASEL 1 @@ -455,7 +456,7 @@ U0 PCNetInterruptCSRSet() U0 PCNetTXAutoPadEnable() {/* AMD PCNet datasheet p.1-958 Setting bit 11 (Auto Pad Transmit) allows - shoft transmit frames to be automatically + short transmit frames to be automatically extended to 64 bytes. */ U32 csr = PCNetCSRRead(PCNET_CSR_FEATURECTRL); @@ -465,6 +466,19 @@ U0 PCNetTXAutoPadEnable() PCNetCSRWrite(PCNET_CSR_FEATURECTRL, csr); } +U0 PCNetRXAutoStripEnable() +{/* AMD PCNet datasheet p.1-958 + Setting bit 10 (Auto Strip Receive) allows + pad and FCS fields to be automatically + stripped. ONLY WORKS ON 802.3!!! */ + + U32 csr = PCNetCSRRead(PCNET_CSR_FEATURECTRL); + + Bts(&csr, PCNET_FEATURE_ASTRPRCV); + + PCNetCSRWrite(PCNET_CSR_FEATURECTRL, csr); +} + U0 PCNetConfigModeExit() {/* AMD PCNet datasheet p.1-954 PCNet controller can be started @@ -749,6 +763,8 @@ U0 PCNetInit() PCNetTXAutoPadEnable; + PCNetRXAutoStripEnable; + PCNetAutoLinkSelect; PCNetEnableFullDuplex; @@ -845,4 +861,4 @@ U0 NetStart() PCNetCSRWrite(PCNET_CSR_CTRLSTATUS, csr); } -PCNetInit; \ No newline at end of file +PCNetInit;