Final, cleaned up AMD PCnet emulation.

This commit is contained in:
OBattler
2019-12-02 18:27:40 +01:00
parent cbecf646ce
commit 7f488e14b9
5 changed files with 2798 additions and 3 deletions

2753
src/network/net_pcnet.c Normal file

File diff suppressed because it is too large Load Diff

35
src/network/net_pcnet.h Normal file
View File

@@ -0,0 +1,35 @@
/*
* 86Box A hypervisor and IBM PC system emulator that specializes in
* running old operating systems and software designed for IBM
* PC systems and compatibles from 1981 through fairly recent
* system designs based on the PCI bus.
*
* Emulation of the AMD PCnet LANCE NIC controller for both the ISA
* and PCI buses.
*
* Version: @(#)net_pcnet.c 1.0.0 2019/11/09
*
* Authors: Miran Grca, <mgrca8@gmail.com>
* TheCollector1995, <mariogplayer@gmail.com>
* Antony T Curtis
*
* Copyright 2004-2019 Antony T Curtis
* Copyright 2016-2019 Miran Grca.
*/
#ifndef NET_PCNET_H
# define NET_PCNET_H
enum {
PCNET_NONE = 0,
PCNET_ISA = 1, /* 16-bit ISA */
PCNET_PCI = 2, /* 32-bit PCI */
PCNET_VLB = 3 /* 32-bit VLB */
};
extern const device_t pcnet_isa_device;
extern const device_t pcnet_pci_device;
extern const device_t pcnet_vlb_device;
#endif /*NET_PCNET_H*/

View File

@@ -12,7 +12,7 @@
* it should be malloc'ed and then linked to the NETCARD def.
* Will be done later.
*
* Version: @(#)network.c 1.0.12 2019/11/14
* Version: @(#)network.c 1.0.13 2019/12/02
*
* Author: Fred N. van Kempen, <decwiz@yahoo.com>
*
@@ -62,6 +62,7 @@
#include "network.h"
#include "net_3c503.h"
#include "net_ne2000.h"
#include "net_pcnet.h"
#include "net_wd8003.h"
@@ -70,6 +71,8 @@ static netcard_t net_cards[] = {
NULL },
{ "[ISA] 3Com EtherLink II (3C503)","3c503", &threec503_device,
NULL },
{ "[ISA] AMD PCnet-ISA", "pcnetisa", &pcnet_isa_device,
NULL },
{ "[ISA] Novell NE1000", "ne1k", &ne1000_device,
NULL },
{ "[ISA] Novell NE2000", "ne2k", &ne2000_device,
@@ -88,8 +91,12 @@ static netcard_t net_cards[] = {
NULL },
{ "[MCA] Western Digital WD8003E/A", "wd8003ea", &wd8003ea_device,
NULL },
{ "[PCI] AMD PCnet-PCI", "pcnetpci", &pcnet_pci_device,
NULL },
{ "[PCI] Realtek RTL8029AS", "ne2kpci", &rtl8029as_device,
NULL },
{ "[VLB] AMD PCnet-VL", "pcnetvlb", &pcnet_vlb_device,
NULL },
{ "", "", NULL,
NULL }
};

View File

@@ -607,7 +607,7 @@ NETOBJ := network.o \
sbuf.o tcp_output.o udp.o if.o mbuf.o slirp.o tcp_subr.o \
net_dp8390.o \
net_3c503.o net_ne2000.o \
net_wd8003.o
net_pcnet.o net_wd8003.o
PRINTOBJ := png.o prt_cpmap.o \
prt_escp.o prt_text.o prt_ps.o

View File

@@ -613,7 +613,7 @@ NETOBJ := network.o \
sbuf.o tcp_output.o udp.o if.o mbuf.o slirp.o tcp_subr.o \
net_dp8390.o \
net_3c503.o net_ne2000.o \
net_wd8003.o
net_pcnet.o net_wd8003.o
PRINTOBJ := png.o prt_cpmap.o \
prt_escp.o prt_text.o prt_ps.o