extern void pci_read_dma(struct pci_board_state *pcibs, uaecptr addr, uae_u8*, int size);
extern const struct pci_board ne2000_pci_board;
+extern const struct pci_board ne2000_pci_board_x86;
+extern const struct pci_board ne2000_pci_board_pcmcia;
+extern const struct pci_board ne2000_pci_board;
+
extern const struct pci_board es1370_pci_board;
extern const struct pci_board fm801_pci_board;
extern const struct pci_board fm801_pci_board_func1;
return ne2000_init_2(pcibs, ROMTYPE_NE2KPCI, aci && aci->rc ? aci->rc->configtext : NULL);
}
+static bool ne2000_init_pcmcia(struct pci_board_state *pcibs, struct autoconfig_info *aci)
+{
+ return ne2000_init_2(pcibs, ROMTYPE_NE2KPCMCIA, aci && aci->rc ? aci->rc->configtext : NULL);
+}
+
+static bool ne2000_init_x86(struct pci_board_state *pcibs, struct autoconfig_info *aci)
+{
+ return ne2000_init_2(pcibs, ROMTYPE_NE2KISA, aci && aci->rc ? aci->rc->configtext : NULL);
+}
+
static const struct pci_config ne2000_pci_config =
{
0x10ec, 0x8029, 0, 0, 0, 0x020000, 0, 0x10ec, 0x8029, 1, 0, 0, { 0x20 | 1, 0, 0, 0, 0, 0, 0 }
}
};
+const struct pci_board ne2000_pci_board_pcmcia =
+{
+ _T("RTL8029"),
+ &ne2000_pci_config, ne2000_init_pcmcia, ne2000_free, ne2000_reset, ne2000_hsync_handler,
+ {
+ { ne2000_lget, ne2000_wget, ne2000_bget, ne2000_lput, ne2000_wput, ne2000_bput },
+ { NULL },
+ { NULL },
+ { NULL },
+ { NULL },
+ { NULL },
+ { NULL },
+ }
+};
+
+
+const struct pci_board ne2000_pci_board_x86 =
+{
+ _T("RTL8029"),
+ &ne2000_pci_config, ne2000_init_x86, ne2000_free, ne2000_reset, ne2000_hsync_handler,
+ {
+ { ne2000_lget, ne2000_wget, ne2000_bget, ne2000_lput, ne2000_wput, ne2000_bput },
+ { NULL },
+ { NULL },
+ { NULL },
+ { NULL },
+ { NULL },
+ { NULL },
+ }
+};
+
static const uae_u8 rt_pnp_init_key[] =
{
0xDA, 0x6D, 0x36, 0x1B, 0x8D, 0x46, 0x23, 0x91, 0x48, 0xA4, 0xD2, 0x69, 0x34, 0x9A, 0x4D, 0x26,
return;
struct romconfig *rc = get_device_romconfig(&currprefs, ROMTYPE_NE2KISA, 0);
if (rc) {
- xb->ne2000_isa = &ne2000_pci_board;
+ xb->ne2000_isa = &ne2000_pci_board_x86;
xb->ne2000_isa_board_state = xcalloc(pci_board_state, 1);
xb->ne2000_isa_board_state->irq_callback = ne2000_isa_irq_callback;
switch (rc->device_settings & 7)
aci.rc = rc;
if (xb->ne2000_isa->init(xb->ne2000_isa_board_state, &aci)) {
write_log(_T("NE2000 ISA configured, IO=%3X, IRQ=%d\n"), xb->ne2000_io, xb->ne2000_irq);
- }
- else {
+ } else {
xb->ne2000_isa = NULL;
xfree(xb->ne2000_isa_board_state);
xb->ne2000_isa_board_state = NULL;