More general changes and cleanups, mostly in machine/ now. Also updated SCSI and Network device drivers to use new device init method.
This commit is contained in:
@@ -8,18 +8,18 @@
|
|||||||
*
|
*
|
||||||
* CPU type handler.
|
* CPU type handler.
|
||||||
*
|
*
|
||||||
* Version: @(#)cpu.h 1.0.0 2017/05/30
|
* Version: @(#)cpu.h 1.0.1 2017/10/07
|
||||||
*
|
*
|
||||||
* Author: Sarah Walker, <http://pcem-emulator.co.uk/>
|
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||||
* leilei,
|
* leilei,
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
|
*
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
* Copyright 2008-2017 Sarah Walker.
|
||||||
* Copyright 2016-2017 leilei.
|
* Copyright 2016-2017 leilei.
|
||||||
* Copyright 2016-2017 Miran Grca.
|
* Copyright 2016,2017 Miran Grca.
|
||||||
*/
|
*/
|
||||||
|
#ifndef EMU_CPU_H
|
||||||
#ifndef _CPU_H_
|
# define EMU_CPU_H
|
||||||
#define _CPU_H_
|
|
||||||
|
|
||||||
extern int cpu, cpu_manufacturer;
|
extern int cpu, cpu_manufacturer;
|
||||||
|
|
||||||
@@ -197,4 +197,5 @@ typedef struct
|
|||||||
|
|
||||||
extern msr_t msr;
|
extern msr_t msr;
|
||||||
|
|
||||||
#endif
|
|
||||||
|
#endif /*EMU_CPU_H*/
|
||||||
|
|||||||
@@ -8,12 +8,15 @@
|
|||||||
*
|
*
|
||||||
* Handling of the emulated machines.
|
* Handling of the emulated machines.
|
||||||
*
|
*
|
||||||
* Version: @(#)machine.c 1.0.17 2017/10/04
|
* Version: @(#)machine.c 1.0.18 2017/10/07
|
||||||
*
|
*
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
|
* Fred N. van Kempen, <decwiz@yahoo.com>
|
||||||
|
*
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
* Copyright 2008-2017 Sarah Walker.
|
||||||
* Copyright 2016,2017 Miran Grca.
|
* Copyright 2016,2017 Miran Grca.
|
||||||
|
* Copyright 2017 Fred N. van Kempen.
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
@@ -21,7 +24,6 @@
|
|||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include "../ibm.h"
|
#include "../ibm.h"
|
||||||
#include "../cpu/cpu.h"
|
#include "../cpu/cpu.h"
|
||||||
#include "../io.h"
|
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
#include "../rom.h"
|
#include "../rom.h"
|
||||||
#include "../device.h"
|
#include "../device.h"
|
||||||
@@ -29,38 +31,6 @@
|
|||||||
#include "../floppy/fdc.h"
|
#include "../floppy/fdc.h"
|
||||||
#include "../floppy/fdd.h"
|
#include "../floppy/fdd.h"
|
||||||
#include "machine.h"
|
#include "machine.h"
|
||||||
#include "machine_common.h"
|
|
||||||
|
|
||||||
#include "machine_amstrad.h"
|
|
||||||
#include "machine_europc.h"
|
|
||||||
#include "machine_olivetti_m24.h"
|
|
||||||
#include "machine_pcjr.h"
|
|
||||||
#include "machine_tandy.h"
|
|
||||||
|
|
||||||
#include "machine_xt.h"
|
|
||||||
#include "machine_xt_laserxt.h"
|
|
||||||
|
|
||||||
#include "machine_at.h"
|
|
||||||
#include "machine_at_ali1429.h"
|
|
||||||
#include "machine_at_commodore.h"
|
|
||||||
#include "machine_at_headland.h"
|
|
||||||
#include "machine_at_neat.h"
|
|
||||||
#include "machine_at_opti495.h"
|
|
||||||
#include "machine_at_scat.h"
|
|
||||||
#include "machine_at_wd76c10.h"
|
|
||||||
|
|
||||||
#include "machine_ps1.h"
|
|
||||||
#include "machine_ps2_isa.h"
|
|
||||||
#include "machine_ps2_mca.h"
|
|
||||||
|
|
||||||
#include "machine_at_sis_85c471.h"
|
|
||||||
#include "machine_at_sis_85c496.h"
|
|
||||||
|
|
||||||
#include "machine_at_430lx_nx.h"
|
|
||||||
#include "machine_at_430fx.h"
|
|
||||||
#include "machine_at_430hx.h"
|
|
||||||
#include "machine_at_430vx.h"
|
|
||||||
#include "machine_at_440fx.h"
|
|
||||||
|
|
||||||
#include "../video/vid_pcjr.h"
|
#include "../video/vid_pcjr.h"
|
||||||
#include "../video/vid_tandy.h"
|
#include "../video/vid_tandy.h"
|
||||||
@@ -179,7 +149,7 @@ machine_init(void)
|
|||||||
if (machines[machine].get_device)
|
if (machines[machine].get_device)
|
||||||
device_add(machines[machine].get_device());
|
device_add(machines[machine].get_device());
|
||||||
|
|
||||||
machines[machine].init();
|
machines[machine].init(&machines[machine]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,45 +8,62 @@
|
|||||||
*
|
*
|
||||||
* Handling of the emulated machines.
|
* Handling of the emulated machines.
|
||||||
*
|
*
|
||||||
* Version: @(#)machine.h 1.0.5 2017/09/30
|
* Version: @(#)machine.h 1.0.6 2017/10/07
|
||||||
*
|
*
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
|
* Fred N. van Kempen, <decwiz@yahoo.com>
|
||||||
|
*
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
* Copyright 2008-2017 Sarah Walker.
|
||||||
* Copyright 2016,2017 Miran Grca.
|
* Copyright 2016,2017 Miran Grca.
|
||||||
|
* Copyright 2017 Fred N. van Kempen.
|
||||||
*/
|
*/
|
||||||
#ifndef EMU_MACHINE_H
|
#ifndef EMU_MACHINE_H
|
||||||
# define EMU_MACHINE_H
|
# define EMU_MACHINE_H
|
||||||
|
|
||||||
|
|
||||||
#define MACHINE_AT 1
|
/* Machine feature flags. */
|
||||||
#define MACHINE_PS2 2
|
#define MACHINE_PC 0x000000 /* PC architecture */
|
||||||
#define MACHINE_AMSTRAD 4
|
#define MACHINE_AT 0x000001 /* PC/AT architecture */
|
||||||
#define MACHINE_OLIM24 8
|
#define MACHINE_PS2 0x000002 /* PS/2 architecture */
|
||||||
#define MACHINE_HAS_HDC 16
|
#define MACHINE_ISA 0x000010 /* machine has ISA bus */
|
||||||
#define MACHINE_MCA 32
|
#define MACHINE_EISA 0x000020 /* machine has EISA bus */
|
||||||
#define MACHINE_PCI 64
|
#define MACHINE_VLB 0x000040 /* machine has VL bus */
|
||||||
#define MACHINE_PS2_HDD 128 // can now remove? --FvK
|
#define MACHINE_MCA 0x000080 /* machine has MCA bus */
|
||||||
#define MACHINE_NEC 256
|
#define MACHINE_PCI 0x000100 /* machine has PCI */
|
||||||
#define MACHINE_FUJITSU 512
|
#define MACHINE_AGP 0x000200 /* machine has AGP */
|
||||||
#define MACHINE_RM 1024
|
#define MACHINE_HAS_HDC 0x001000 /* machine has internal HDC */
|
||||||
|
#define MACHINE_PS2_HDD 0x002000 // can now remove? --FvK
|
||||||
|
#define MACHINE_NEC 0x010000
|
||||||
|
#define MACHINE_FUJITSU 0x020000
|
||||||
|
#define MACHINE_AMSTRAD 0x040000
|
||||||
|
#define MACHINE_OLIM24 0x080000
|
||||||
|
#define MACHINE_RM 0x100000
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct _machine_ {
|
||||||
char name[64];
|
char name[64];
|
||||||
int id;
|
int id;
|
||||||
char internal_name[24];
|
char internal_name[24];
|
||||||
struct {
|
struct {
|
||||||
char name[16];
|
char name[16];
|
||||||
|
#ifdef EMU_CPU_H
|
||||||
CPU *cpus;
|
CPU *cpus;
|
||||||
|
#else
|
||||||
|
void *cpus;
|
||||||
|
#endif
|
||||||
} cpu[5];
|
} cpu[5];
|
||||||
int fixed_gfxcard;
|
int fixed_gfxcard;
|
||||||
int flags;
|
int flags;
|
||||||
int min_ram, max_ram;
|
int min_ram, max_ram;
|
||||||
int ram_granularity;
|
int ram_granularity;
|
||||||
int nvrmask;
|
int nvrmask;
|
||||||
void (*init)(void);
|
void (*init)(struct _machine_ *);
|
||||||
|
#ifdef EMU_DEVICE_H
|
||||||
device_t *(*get_device)(void);
|
device_t *(*get_device)(void);
|
||||||
|
#else
|
||||||
|
void *get_device;
|
||||||
|
#endif
|
||||||
} machine_t;
|
} machine_t;
|
||||||
|
|
||||||
|
|
||||||
@@ -63,7 +80,9 @@ extern char *machine_getname(void);
|
|||||||
extern char *machine_get_internal_name(void);
|
extern char *machine_get_internal_name(void);
|
||||||
extern int machine_get_machine_from_internal_name(char *s);
|
extern int machine_get_machine_from_internal_name(char *s);
|
||||||
extern void machine_init(void);
|
extern void machine_init(void);
|
||||||
|
#ifdef EMU_DEVICE_H
|
||||||
extern device_t *machine_getdevice(int machine);
|
extern device_t *machine_getdevice(int machine);
|
||||||
|
#endif
|
||||||
extern int machine_getromset_ex(int m);
|
extern int machine_getromset_ex(int m);
|
||||||
extern char *machine_get_internal_name_ex(int m);
|
extern char *machine_get_internal_name_ex(int m);
|
||||||
extern int machine_get_nvrmask(int m);
|
extern int machine_get_nvrmask(int m);
|
||||||
@@ -76,4 +95,72 @@ extern mouse_t mouse_olim24;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* Initialization functions for boards and systems. */
|
||||||
|
extern void machine_common_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_at_init(machine_t *);
|
||||||
|
extern void machine_at_ide_init(machine_t *);
|
||||||
|
extern void machine_at_top_remap_init(machine_t *);
|
||||||
|
extern void machine_at_ide_top_remap_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_at_p54tp4xe_init(machine_t *);
|
||||||
|
extern void machine_at_endeavor_init(machine_t *);
|
||||||
|
extern void machine_at_zappa_init(machine_t *);
|
||||||
|
extern void machine_at_mb500n_init(machine_t *);
|
||||||
|
extern void machine_at_president_init(machine_t *);
|
||||||
|
extern void machine_at_thor_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_at_acerm3a_init(machine_t *);
|
||||||
|
extern void machine_at_acerv35n_init(machine_t *);
|
||||||
|
extern void machine_at_ap53_init(machine_t *);
|
||||||
|
extern void machine_at_p55t2p4_init(machine_t *);
|
||||||
|
extern void machine_at_p55t2s_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_at_batman_init(machine_t *);
|
||||||
|
extern void machine_at_plato_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_at_p55tvp4_init(machine_t *);
|
||||||
|
extern void machine_at_i430vx_init(machine_t *);
|
||||||
|
extern void machine_at_p55va_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_at_i440fx_init(machine_t *);
|
||||||
|
extern void machine_at_s1668_init(machine_t *);
|
||||||
|
extern void machine_at_ali1429_init(machine_t *);
|
||||||
|
extern void machine_at_cmdpc_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_at_headland_init(machine_t *);
|
||||||
|
extern void machine_at_neat_init(machine_t *);
|
||||||
|
extern void machine_at_opti495_init(machine_t *);
|
||||||
|
extern void machine_at_scat_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_at_dtk486_init(machine_t *);
|
||||||
|
extern void machine_at_r418_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_at_wd76c10_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_ps1_m2011_init(machine_t *);
|
||||||
|
extern void machine_ps1_m2121_init(machine_t *);
|
||||||
|
extern void machine_ps1_m2133_init(machine_t *);
|
||||||
|
extern void machine_ps2_m30_286_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_ps2_model_50_init(machine_t *);
|
||||||
|
extern void machine_ps2_model_55sx_init(machine_t *);
|
||||||
|
extern void machine_ps2_model_80_init(machine_t *);
|
||||||
|
extern void machine_ps2_model_80_486_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_amstrad_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_europc_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_olim24_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_pcjr_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_tandy1k_init(machine_t *);
|
||||||
|
extern void machine_tandy1ksl2_init(machine_t *);
|
||||||
|
|
||||||
|
extern void machine_xt_init(machine_t *);
|
||||||
|
extern void machine_xt_laserxt_init(machine_t *);
|
||||||
|
|
||||||
|
|
||||||
#endif /*EMU_MACHINE_H*/
|
#endif /*EMU_MACHINE_H*/
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include "../ibm.h"
|
#include "../ibm.h"
|
||||||
#include "../cpu/cpu.h"
|
|
||||||
#include "../io.h"
|
#include "../io.h"
|
||||||
#include "../nmi.h"
|
#include "../nmi.h"
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
@@ -19,7 +18,7 @@
|
|||||||
#include "../floppy/floppy.h"
|
#include "../floppy/floppy.h"
|
||||||
#include "../floppy/fdd.h"
|
#include "../floppy/fdd.h"
|
||||||
#include "../floppy/fdc.h"
|
#include "../floppy/fdc.h"
|
||||||
#include "machine_common.h"
|
#include "machine.h"
|
||||||
|
|
||||||
|
|
||||||
static uint8_t amstrad_dead;
|
static uint8_t amstrad_dead;
|
||||||
@@ -136,11 +135,13 @@ static void amstrad_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_amstrad_init(void)
|
void
|
||||||
|
machine_amstrad_init(machine_t *model)
|
||||||
{
|
{
|
||||||
AMSTRAD = 1;
|
AMSTRAD = 1;
|
||||||
|
|
||||||
machine_common_init();
|
machine_common_init(model);
|
||||||
|
|
||||||
mem_add_bios();
|
mem_add_bios();
|
||||||
amstrad_init();
|
amstrad_init();
|
||||||
keyboard_amstrad_init();
|
keyboard_amstrad_init();
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
void machine_amstrad_init(void);
|
|
||||||
@@ -15,50 +15,57 @@
|
|||||||
#include "../lpt.h"
|
#include "../lpt.h"
|
||||||
#include "../disk/hdc.h"
|
#include "../disk/hdc.h"
|
||||||
#include "../disk/hdc_ide.h"
|
#include "../disk/hdc_ide.h"
|
||||||
#include "machine_common.h"
|
#include "machine.h"
|
||||||
#include "machine_at.h"
|
|
||||||
|
|
||||||
|
|
||||||
void machine_at_init(void)
|
void
|
||||||
|
machine_at_init(machine_t *model)
|
||||||
{
|
{
|
||||||
AT = 1;
|
AT = 1;
|
||||||
|
|
||||||
machine_common_init();
|
machine_common_init(model);
|
||||||
pit_set_out_func(&pit, 1, pit_refresh_timer_at);
|
|
||||||
pic2_init();
|
|
||||||
dma16_init();
|
|
||||||
|
|
||||||
if (lpt_enabled)
|
pit_set_out_func(&pit, 1, pit_refresh_timer_at);
|
||||||
lpt2_remove();
|
pic2_init();
|
||||||
|
dma16_init();
|
||||||
|
|
||||||
nvr_at_init(8);
|
if (lpt_enabled)
|
||||||
|
lpt2_remove();
|
||||||
|
|
||||||
keyboard_at_init();
|
nvr_at_init(8);
|
||||||
|
|
||||||
if (joystick_type != 7)
|
keyboard_at_init();
|
||||||
device_add(&gameport_device);
|
|
||||||
|
|
||||||
if (bugger_enabled)
|
if (joystick_type != 7)
|
||||||
bugger_init();
|
device_add(&gameport_device);
|
||||||
|
|
||||||
|
if (bugger_enabled)
|
||||||
|
bugger_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void machine_at_ide_init(void)
|
|
||||||
{
|
|
||||||
machine_at_init();
|
|
||||||
|
|
||||||
ide_init();
|
void
|
||||||
|
machine_at_ide_init(machine_t *model)
|
||||||
|
{
|
||||||
|
machine_at_init(model);
|
||||||
|
|
||||||
|
ide_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void machine_at_top_remap_init(void)
|
|
||||||
{
|
|
||||||
machine_at_init();
|
|
||||||
|
|
||||||
mem_remap_top_384k();
|
void
|
||||||
|
machine_at_top_remap_init(machine_t *model)
|
||||||
|
{
|
||||||
|
machine_at_init(model);
|
||||||
|
|
||||||
|
mem_remap_top_384k();
|
||||||
}
|
}
|
||||||
|
|
||||||
void machine_at_ide_top_remap_init(void)
|
|
||||||
{
|
|
||||||
machine_at_ide_init();
|
|
||||||
|
|
||||||
mem_remap_top_384k();
|
void
|
||||||
|
machine_at_ide_top_remap_init(machine_t *model)
|
||||||
|
{
|
||||||
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
|
mem_remap_top_384k();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
void machine_at_init(void);
|
|
||||||
void machine_at_ide_init(void);
|
|
||||||
void machine_at_top_remap_init(void);
|
|
||||||
void machine_at_ide_top_remap_init(void);
|
|
||||||
@@ -8,10 +8,11 @@
|
|||||||
*
|
*
|
||||||
* Implementation of the Intel 430FX PCISet chip.
|
* Implementation of the Intel 430FX PCISet chip.
|
||||||
*
|
*
|
||||||
* Version: @(#)machine_at_430fx.c 1.0.5 2017/09/24
|
* Version: @(#)machine_at_430fx.c 1.0.6 2017/10/07
|
||||||
*
|
*
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
|
*
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
* Copyright 2008-2017 Sarah Walker.
|
||||||
* Copyright 2016,2017 Miran Grca.
|
* Copyright 2016,2017 Miran Grca.
|
||||||
*/
|
*/
|
||||||
@@ -20,7 +21,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include "../ibm.h"
|
#include "../ibm.h"
|
||||||
#include "../cpu/cpu.h"
|
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
#include "../memregs.h"
|
#include "../memregs.h"
|
||||||
#include "../rom.h"
|
#include "../rom.h"
|
||||||
@@ -29,8 +29,7 @@
|
|||||||
#include "../piix.h"
|
#include "../piix.h"
|
||||||
#include "../intel_flash.h"
|
#include "../intel_flash.h"
|
||||||
#include "../sio.h"
|
#include "../sio.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_430fx.h"
|
|
||||||
|
|
||||||
|
|
||||||
static uint8_t card_i430fx[256];
|
static uint8_t card_i430fx[256];
|
||||||
@@ -198,9 +197,11 @@ static void i430fx_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_p54tp4xe_init(void)
|
void
|
||||||
|
machine_at_p54tp4xe_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -212,13 +213,16 @@ void machine_at_p54tp4xe_init(void)
|
|||||||
i430fx_init();
|
i430fx_init();
|
||||||
piix3_init(7);
|
piix3_init(7);
|
||||||
fdc37c665_init();
|
fdc37c665_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_device);
|
device_add(&intel_flash_bxt_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_endeavor_init(void)
|
void
|
||||||
|
machine_at_endeavor_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -231,13 +235,16 @@ void machine_at_endeavor_init(void)
|
|||||||
i430fx_init();
|
i430fx_init();
|
||||||
piix_init(7);
|
piix_init(7);
|
||||||
pc87306_init();
|
pc87306_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_ami_device);
|
device_add(&intel_flash_bxt_ami_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_zappa_init(void)
|
void
|
||||||
|
machine_at_zappa_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -248,13 +255,16 @@ void machine_at_zappa_init(void)
|
|||||||
i430fx_init();
|
i430fx_init();
|
||||||
piix_init(7);
|
piix_init(7);
|
||||||
pc87306_init();
|
pc87306_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_ami_device);
|
device_add(&intel_flash_bxt_ami_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_mb500n_init(void)
|
void
|
||||||
|
machine_at_mb500n_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||||
@@ -265,13 +275,16 @@ void machine_at_mb500n_init(void)
|
|||||||
i430fx_init();
|
i430fx_init();
|
||||||
piix_init(7);
|
piix_init(7);
|
||||||
fdc37c665_init();
|
fdc37c665_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_device);
|
device_add(&intel_flash_bxt_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_president_init(void)
|
void
|
||||||
|
machine_at_president_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -283,13 +296,16 @@ void machine_at_president_init(void)
|
|||||||
i430fx_init();
|
i430fx_init();
|
||||||
piix_init(7);
|
piix_init(7);
|
||||||
w83877f_init();
|
w83877f_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_device);
|
device_add(&intel_flash_bxt_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_thor_init(void)
|
void
|
||||||
|
machine_at_thor_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -302,5 +318,6 @@ void machine_at_thor_init(void)
|
|||||||
i430fx_init();
|
i430fx_init();
|
||||||
piix_init(7);
|
piix_init(7);
|
||||||
pc87306_init();
|
pc87306_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_ami_device);
|
device_add(&intel_flash_bxt_ami_device);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* This file is part of the 86Box distribution.
|
|
||||||
*
|
|
||||||
* Header of the implementation of the Intel 430FX PCISet chip.
|
|
||||||
*
|
|
||||||
* Version: @(#)machine_at_430fx.h 1.0.0 2017/09/02
|
|
||||||
*
|
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
|
||||||
* Copyright 2016-2017 Miran Grca.
|
|
||||||
*/
|
|
||||||
void machine_at_p54tp4xe_init(void);
|
|
||||||
void machine_at_endeavor_init(void);
|
|
||||||
void machine_at_zappa_init(void);
|
|
||||||
void machine_at_mb500n_init(void);
|
|
||||||
void machine_at_president_init(void);
|
|
||||||
void machine_at_thor_init(void);
|
|
||||||
@@ -8,10 +8,11 @@
|
|||||||
*
|
*
|
||||||
* Implementation of the Intel 430HX PCISet chip.
|
* Implementation of the Intel 430HX PCISet chip.
|
||||||
*
|
*
|
||||||
* Version: @(#)machine_at_430hx.c 1.0.5 2017/09/24
|
* Version: @(#)machine_at_430hx.c 1.0.6 2017/10/07
|
||||||
*
|
*
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
|
*
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
* Copyright 2008-2017 Sarah Walker.
|
||||||
* Copyright 2016-2017 Miran Grca.
|
* Copyright 2016-2017 Miran Grca.
|
||||||
*/
|
*/
|
||||||
@@ -20,7 +21,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include "../ibm.h"
|
#include "../ibm.h"
|
||||||
#include "../cpu/cpu.h"
|
|
||||||
#include "../io.h"
|
#include "../io.h"
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
#include "../memregs.h"
|
#include "../memregs.h"
|
||||||
@@ -29,8 +29,7 @@
|
|||||||
#include "../piix.h"
|
#include "../piix.h"
|
||||||
#include "../intel_flash.h"
|
#include "../intel_flash.h"
|
||||||
#include "../sio.h"
|
#include "../sio.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_430hx.h"
|
|
||||||
|
|
||||||
|
|
||||||
static uint8_t card_i430hx[256];
|
static uint8_t card_i430hx[256];
|
||||||
@@ -185,9 +184,11 @@ static void i430hx_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_acerm3a_init(void)
|
void
|
||||||
|
machine_at_acerm3a_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
powermate_memregs_init();
|
powermate_memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -200,13 +201,16 @@ void machine_at_acerm3a_init(void)
|
|||||||
i430hx_init();
|
i430hx_init();
|
||||||
piix3_init(7);
|
piix3_init(7);
|
||||||
fdc37c932fr_init();
|
fdc37c932fr_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxb_device);
|
device_add(&intel_flash_bxb_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_acerv35n_init(void)
|
void
|
||||||
|
machine_at_acerv35n_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
powermate_memregs_init();
|
powermate_memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -219,13 +223,16 @@ void machine_at_acerv35n_init(void)
|
|||||||
i430hx_init();
|
i430hx_init();
|
||||||
piix3_init(7);
|
piix3_init(7);
|
||||||
fdc37c932fr_init();
|
fdc37c932fr_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxb_device);
|
device_add(&intel_flash_bxb_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_ap53_init(void)
|
void
|
||||||
|
machine_at_ap53_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
powermate_memregs_init();
|
powermate_memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
@@ -239,13 +246,16 @@ void machine_at_ap53_init(void)
|
|||||||
i430hx_init();
|
i430hx_init();
|
||||||
piix3_init(7);
|
piix3_init(7);
|
||||||
fdc37c669_init();
|
fdc37c669_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_device);
|
device_add(&intel_flash_bxt_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_p55t2p4_init(void)
|
void
|
||||||
|
machine_at_p55t2p4_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -257,13 +267,16 @@ void machine_at_p55t2p4_init(void)
|
|||||||
i430hx_init();
|
i430hx_init();
|
||||||
piix3_init(7);
|
piix3_init(7);
|
||||||
w83877f_init();
|
w83877f_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_device);
|
device_add(&intel_flash_bxt_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_p55t2s_init(void)
|
void
|
||||||
|
machine_at_p55t2s_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
powermate_memregs_init();
|
powermate_memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
@@ -276,5 +289,6 @@ void machine_at_p55t2s_init(void)
|
|||||||
i430hx_init();
|
i430hx_init();
|
||||||
piix3_init(7);
|
piix3_init(7);
|
||||||
pc87306_init();
|
pc87306_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_device);
|
device_add(&intel_flash_bxt_device);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* This file is part of the 86Box distribution.
|
|
||||||
*
|
|
||||||
* Header of the implementation of the Intel 430HX PCISet chip.
|
|
||||||
*
|
|
||||||
* Version: @(#)machine_at_430hx.h 1.0.0 2017/09/02
|
|
||||||
*
|
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
|
||||||
* Copyright 2016-2017 Miran Grca.
|
|
||||||
*/
|
|
||||||
void machine_at_acerm3a_init(void);
|
|
||||||
void machine_at_acerv35n_init(void);
|
|
||||||
void machine_at_ap53_init(void);
|
|
||||||
void machine_at_p55t2p4_init(void);
|
|
||||||
void machine_at_p55t2s_init(void);
|
|
||||||
@@ -8,10 +8,11 @@
|
|||||||
*
|
*
|
||||||
* Implementation of the Intel 430LX and 430NX PCISet chips.
|
* Implementation of the Intel 430LX and 430NX PCISet chips.
|
||||||
*
|
*
|
||||||
* Version: @(#)machine_at_430lx_nx.c 1.0.5 2017/09/24
|
* Version: @(#)machine_at_430lx_nx.c 1.0.6 2017/10/07
|
||||||
*
|
*
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
|
*
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
* Copyright 2008-2017 Sarah Walker.
|
||||||
* Copyright 2016,2017 Miran Grca.
|
* Copyright 2016,2017 Miran Grca.
|
||||||
*/
|
*/
|
||||||
@@ -20,7 +21,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include "../ibm.h"
|
#include "../ibm.h"
|
||||||
#include "../cpu/cpu.h"
|
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
#include "../memregs.h"
|
#include "../memregs.h"
|
||||||
#include "../rom.h"
|
#include "../rom.h"
|
||||||
@@ -30,8 +30,7 @@
|
|||||||
#include "../intel_flash.h"
|
#include "../intel_flash.h"
|
||||||
#include "../intel_sio.h"
|
#include "../intel_sio.h"
|
||||||
#include "../sio.h"
|
#include "../sio.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_430lx_nx.h"
|
|
||||||
|
|
||||||
|
|
||||||
static uint8_t card_i430_lx_nx[256];
|
static uint8_t card_i430_lx_nx[256];
|
||||||
@@ -210,9 +209,11 @@ static void i430nx_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void machine_at_premiere_common_init(void)
|
static void
|
||||||
|
machine_at_premiere_common_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_2);
|
pci_init(PCI_CONFIG_TYPE_2);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -224,19 +225,24 @@ static void machine_at_premiere_common_init(void)
|
|||||||
sio_init(2);
|
sio_init(2);
|
||||||
fdc37c665_init();
|
fdc37c665_init();
|
||||||
intel_batman_init();
|
intel_batman_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_ami_device);
|
device_add(&intel_flash_bxt_ami_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_batman_init(void)
|
void
|
||||||
|
machine_at_batman_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_premiere_common_init();
|
machine_at_premiere_common_init(model);
|
||||||
|
|
||||||
i430lx_init();
|
i430lx_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_plato_init(void)
|
void
|
||||||
|
machine_at_plato_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_premiere_common_init();
|
machine_at_premiere_common_init(model);
|
||||||
|
|
||||||
i430nx_init();
|
i430nx_init();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* This file is part of the 86Box distribution.
|
|
||||||
*
|
|
||||||
* Header of the implementation of the Intel 430LX and 430NX
|
|
||||||
* PCISet chips.
|
|
||||||
*
|
|
||||||
* Version: @(#)machine_at_430lx_nx.h 1.0.0 2017/09/02
|
|
||||||
*
|
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
|
||||||
* Copyright 2016-2017 Miran Grca.
|
|
||||||
*/
|
|
||||||
void machine_at_batman_init(void);
|
|
||||||
void machine_at_plato_init(void);
|
|
||||||
@@ -8,10 +8,11 @@
|
|||||||
*
|
*
|
||||||
* Implementation of the Intel 430VX PCISet chip.
|
* Implementation of the Intel 430VX PCISet chip.
|
||||||
*
|
*
|
||||||
* Version: @(#)machine_at_430vx.c 1.0.6 2017/09/24
|
* Version: @(#)machine_at_430vx.c 1.0.7 2017/10/07
|
||||||
*
|
*
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
|
*
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
* Copyright 2008-2017 Sarah Walker.
|
||||||
* Copyright 2016,2017 Miran Grca.
|
* Copyright 2016,2017 Miran Grca.
|
||||||
*/
|
*/
|
||||||
@@ -20,7 +21,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include "../ibm.h"
|
#include "../ibm.h"
|
||||||
#include "../cpu/cpu.h"
|
|
||||||
#include "../io.h"
|
#include "../io.h"
|
||||||
#include "../pci.h"
|
#include "../pci.h"
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
@@ -29,8 +29,7 @@
|
|||||||
#include "../piix.h"
|
#include "../piix.h"
|
||||||
#include "../intel_flash.h"
|
#include "../intel_flash.h"
|
||||||
#include "../sio.h"
|
#include "../sio.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_430vx.h"
|
|
||||||
|
|
||||||
|
|
||||||
static uint8_t card_i430vx[256];
|
static uint8_t card_i430vx[256];
|
||||||
@@ -188,9 +187,11 @@ void i430vx_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_p55tvp4_init(void)
|
void
|
||||||
|
machine_at_p55tvp4_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -202,13 +203,16 @@ void machine_at_p55tvp4_init(void)
|
|||||||
i430vx_init();
|
i430vx_init();
|
||||||
piix3_init(7);
|
piix3_init(7);
|
||||||
w83877f_init();
|
w83877f_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_device);
|
device_add(&intel_flash_bxt_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_i430vx_init(void)
|
void
|
||||||
|
machine_at_i430vx_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -220,13 +224,16 @@ void machine_at_i430vx_init(void)
|
|||||||
i430vx_init();
|
i430vx_init();
|
||||||
piix3_init(7);
|
piix3_init(7);
|
||||||
um8669f_init();
|
um8669f_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_device);
|
device_add(&intel_flash_bxt_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_p55va_init(void)
|
void
|
||||||
|
machine_at_p55va_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||||
@@ -237,5 +244,6 @@ void machine_at_p55va_init(void)
|
|||||||
i430vx_init();
|
i430vx_init();
|
||||||
piix3_init(7);
|
piix3_init(7);
|
||||||
fdc37c932fr_init();
|
fdc37c932fr_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_device);
|
device_add(&intel_flash_bxt_device);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* This file is part of the 86Box distribution.
|
|
||||||
*
|
|
||||||
* Header of the implementation of the Intel 430VX PCISet chip.
|
|
||||||
*
|
|
||||||
* Version: @(#)machine_at_430vx.h 1.0.0 2017/09/02
|
|
||||||
*
|
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
|
||||||
* Copyright 2016-2017 Miran Grca.
|
|
||||||
*/
|
|
||||||
void machine_at_p55tvp4_init(void);
|
|
||||||
void machine_at_i430vx_init(void);
|
|
||||||
void machine_at_p55va_init(void);
|
|
||||||
@@ -8,10 +8,11 @@
|
|||||||
*
|
*
|
||||||
* Implementation of the Intel 440FX PCISet chip.
|
* Implementation of the Intel 440FX PCISet chip.
|
||||||
*
|
*
|
||||||
* Version: @(#)machine_at_440fx.c 1.0.5 2017/09/24
|
* Version: @(#)machine_at_440fx.c 1.0.6 2017/10/07
|
||||||
*
|
*
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
|
*
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
* Copyright 2008-2017 Sarah Walker.
|
||||||
* Copyright 2016,2017 Miran Grca.
|
* Copyright 2016,2017 Miran Grca.
|
||||||
*/
|
*/
|
||||||
@@ -20,7 +21,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include "../ibm.h"
|
#include "../ibm.h"
|
||||||
#include "../cpu/cpu.h"
|
|
||||||
#include "../io.h"
|
#include "../io.h"
|
||||||
#include "../pci.h"
|
#include "../pci.h"
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
@@ -29,8 +29,7 @@
|
|||||||
#include "../piix.h"
|
#include "../piix.h"
|
||||||
#include "../intel_flash.h"
|
#include "../intel_flash.h"
|
||||||
#include "../sio.h"
|
#include "../sio.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_440fx.h"
|
|
||||||
|
|
||||||
|
|
||||||
static uint8_t card_i440fx[256];
|
static uint8_t card_i440fx[256];
|
||||||
@@ -189,9 +188,11 @@ static void i440fx_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_i440fx_init(void)
|
void
|
||||||
|
machine_at_i440fx_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -204,13 +205,16 @@ void machine_at_i440fx_init(void)
|
|||||||
i440fx_init();
|
i440fx_init();
|
||||||
piix3_init(7);
|
piix3_init(7);
|
||||||
fdc37c665_init();
|
fdc37c665_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_device);
|
device_add(&intel_flash_bxt_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_s1668_init(void)
|
void
|
||||||
|
machine_at_s1668_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -223,5 +227,6 @@ void machine_at_s1668_init(void)
|
|||||||
i440fx_init();
|
i440fx_init();
|
||||||
piix3_init(7);
|
piix3_init(7);
|
||||||
fdc37c665_init();
|
fdc37c665_init();
|
||||||
|
|
||||||
device_add(&intel_flash_bxt_device);
|
device_add(&intel_flash_bxt_device);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* This file is part of the 86Box distribution.
|
|
||||||
*
|
|
||||||
* Header of the implementation of the Intel 440FX PCISet chip.
|
|
||||||
*
|
|
||||||
* Version: @(#)machine_at_440fx.h 1.0.0 2017/09/02
|
|
||||||
*
|
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
|
||||||
* Copyright 2016-2017 Miran Grca.
|
|
||||||
*/
|
|
||||||
void machine_at_i440fx_init(void);
|
|
||||||
void machine_at_s1668_init(void);
|
|
||||||
@@ -12,8 +12,7 @@
|
|||||||
#include "../device.h"
|
#include "../device.h"
|
||||||
#include "../disk/hdc.h"
|
#include "../disk/hdc.h"
|
||||||
#include "../disk/hdc_ide.h"
|
#include "../disk/hdc_ide.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_ali1429.h"
|
|
||||||
|
|
||||||
|
|
||||||
static int ali1429_index;
|
static int ali1429_index;
|
||||||
@@ -94,11 +93,14 @@ static void ali1429_init(void)
|
|||||||
io_sethandler(0x0022, 0x0002, ali1429_read, NULL, NULL, ali1429_write, NULL, NULL, NULL);
|
io_sethandler(0x0022, 0x0002, ali1429_read, NULL, NULL, ali1429_write, NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void machine_at_ali1429_init(void)
|
|
||||||
|
void
|
||||||
|
machine_at_ali1429_init(machine_t *model)
|
||||||
{
|
{
|
||||||
ali1429_reset();
|
ali1429_reset();
|
||||||
|
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
ali1429_init();
|
ali1429_init();
|
||||||
|
|
||||||
secondary_ide_check();
|
secondary_ide_check();
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
void machine_at_ali1429_init(void);
|
|
||||||
@@ -6,8 +6,7 @@
|
|||||||
#include "../io.h"
|
#include "../io.h"
|
||||||
#include "../lpt.h"
|
#include "../lpt.h"
|
||||||
#include "../serial.h"
|
#include "../serial.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_commodore.h"
|
|
||||||
|
|
||||||
|
|
||||||
static void cbm_io_write(uint16_t port, uint8_t val, void *p)
|
static void cbm_io_write(uint16_t port, uint8_t val, void *p)
|
||||||
@@ -42,8 +41,11 @@ static void cbm_io_init()
|
|||||||
io_sethandler(0x0230, 0x0001, NULL,NULL,NULL, cbm_io_write,NULL,NULL, NULL);
|
io_sethandler(0x0230, 0x0001, NULL,NULL,NULL, cbm_io_write,NULL,NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void machine_at_cmdpc_init(void)
|
|
||||||
|
void
|
||||||
|
machine_at_cmdpc_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_top_remap_init();
|
machine_at_ide_top_remap_init(model);
|
||||||
|
|
||||||
cbm_io_init();
|
cbm_io_init();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
void machine_at_cmdpc_init(void);
|
|
||||||
@@ -8,8 +8,7 @@
|
|||||||
#include "../ibm.h"
|
#include "../ibm.h"
|
||||||
#include "../cpu/cpu.h"
|
#include "../cpu/cpu.h"
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_compaq.h"
|
|
||||||
|
|
||||||
|
|
||||||
/* Compaq Deskpro 386 remaps RAM from 0xA0000-0xFFFFF to 0xFA0000-0xFFFFFF */
|
/* Compaq Deskpro 386 remaps RAM from 0xA0000-0xFFFFF to 0xFA0000-0xFFFFFF */
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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 Compaq chips.
|
|
||||||
*
|
|
||||||
* Version: @(#)machine_at_compaq.h 1.0.0 2017/09/02
|
|
||||||
*
|
|
||||||
* Author: Miran Grca, <mgrca8@gmail.com>
|
|
||||||
* Copyright 2017 Miran Grca.
|
|
||||||
*/
|
|
||||||
@@ -9,8 +9,7 @@
|
|||||||
#include "../cpu/cpu.h"
|
#include "../cpu/cpu.h"
|
||||||
#include "../io.h"
|
#include "../io.h"
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_headland.h"
|
|
||||||
|
|
||||||
|
|
||||||
static int headland_index;
|
static int headland_index;
|
||||||
@@ -56,8 +55,10 @@ static void headland_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_headland_init(void)
|
void
|
||||||
|
machine_at_headland_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
headland_init();
|
headland_init();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
void machine_at_headland_init(void);
|
|
||||||
@@ -7,10 +7,8 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include "../ibm.h"
|
#include "../ibm.h"
|
||||||
#include "../cpu/cpu.h"
|
|
||||||
#include "../io.h"
|
#include "../io.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_neat.h"
|
|
||||||
|
|
||||||
|
|
||||||
static uint8_t neat_regs[256];
|
static uint8_t neat_regs[256];
|
||||||
@@ -85,9 +83,10 @@ static void neat_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_neat_init(void)
|
void
|
||||||
|
machine_at_neat_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_init();
|
machine_at_init(model);
|
||||||
|
|
||||||
neat_init();
|
neat_init();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
void machine_at_neat_init(void);
|
|
||||||
@@ -259,8 +259,7 @@ SeeAlso: #P0178,#P0187
|
|||||||
#include "../cpu/cpu.h"
|
#include "../cpu/cpu.h"
|
||||||
#include "../io.h"
|
#include "../io.h"
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_opti495.h"
|
|
||||||
|
|
||||||
|
|
||||||
static uint8_t optiregs[0x10];
|
static uint8_t optiregs[0x10];
|
||||||
@@ -319,8 +318,10 @@ static void opti495_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_opti495_init(void)
|
void
|
||||||
|
machine_at_opti495_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
opti495_init();
|
opti495_init();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
void machine_at_opti495_init(void);
|
|
||||||
@@ -10,10 +10,11 @@
|
|||||||
*
|
*
|
||||||
* Re-worked version based on the 82C235 datasheet and errata.
|
* Re-worked version based on the 82C235 datasheet and errata.
|
||||||
*
|
*
|
||||||
* Version: @(#)at_scat.c 1.0.2 2017/09/24
|
* Version: @(#)at_scat.c 1.0.2 2017/10/07
|
||||||
*
|
*
|
||||||
* Authors: Original by GreatPsycho for PCem.
|
* Authors: Original by GreatPsycho for PCem.
|
||||||
* Fred N. van Kempen, <decwiz@yahoo.com>
|
* Fred N. van Kempen, <decwiz@yahoo.com>
|
||||||
|
*
|
||||||
* Copyright 2017 Fred N. van Kempen.
|
* Copyright 2017 Fred N. van Kempen.
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -25,8 +26,7 @@
|
|||||||
#include "../cpu/x86.h"
|
#include "../cpu/x86.h"
|
||||||
#include "../io.h"
|
#include "../io.h"
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_scat.h"
|
|
||||||
|
|
||||||
|
|
||||||
#define SCAT_DEBUG 2
|
#define SCAT_DEBUG 2
|
||||||
@@ -757,9 +757,9 @@ scat_init(void)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
machine_at_scat_init(void)
|
machine_at_scat_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_init();
|
machine_at_init(model);
|
||||||
|
|
||||||
scat_init();
|
scat_init();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
extern void machine_at_scat_init(void);
|
|
||||||
@@ -9,9 +9,10 @@
|
|||||||
* SiS sis85c471 Super I/O Chip
|
* SiS sis85c471 Super I/O Chip
|
||||||
* Used by DTK PKM-0038S E-2
|
* Used by DTK PKM-0038S E-2
|
||||||
*
|
*
|
||||||
* Version: @(#)sis85c471.c 1.0.6 2017/09/30
|
* Version: @(#)sis85c471.c 1.0.6 2017/10/07
|
||||||
*
|
*
|
||||||
* Author: Miran Grca, <mgrca8@gmail.com>
|
* Author: Miran Grca, <mgrca8@gmail.com>
|
||||||
|
*
|
||||||
* Copyright 2017 Miran Grca.
|
* Copyright 2017 Miran Grca.
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -29,8 +30,7 @@
|
|||||||
#include "../floppy/floppy.h"
|
#include "../floppy/floppy.h"
|
||||||
#include "../floppy/fdc.h"
|
#include "../floppy/fdc.h"
|
||||||
#include "../floppy/fdd.h"
|
#include "../floppy/fdd.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_sis_85c471.h"
|
|
||||||
|
|
||||||
|
|
||||||
static int sis_85c471_curreg;
|
static int sis_85c471_curreg;
|
||||||
@@ -243,9 +243,11 @@ static void sis_85c471_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_dtk486_init(void)
|
void
|
||||||
|
machine_at_dtk486_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
sis_85c471_init();
|
sis_85c471_init();
|
||||||
secondary_ide_check();
|
secondary_ide_check();
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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 SiS 85c471 chip.
|
|
||||||
*
|
|
||||||
* Version: @(#)machine_at_sis_85c471.h 1.0.2 2017/09/02
|
|
||||||
*
|
|
||||||
* Author: Miran Grca, <mgrca8@gmail.com>
|
|
||||||
* Copyright 2017 Miran Grca.
|
|
||||||
*/
|
|
||||||
|
|
||||||
extern void machine_at_dtk486_init(void);
|
|
||||||
@@ -13,8 +13,7 @@
|
|||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
#include "../memregs.h"
|
#include "../memregs.h"
|
||||||
#include "../sio.h"
|
#include "../sio.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_sis_85c496.h"
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct sis_85c496_t
|
typedef struct sis_85c496_t
|
||||||
@@ -160,9 +159,11 @@ static void sis_85c496_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void machine_at_sis_85c496_common_init(void)
|
static void
|
||||||
|
machine_at_sis_85c496_common_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
memregs_init();
|
memregs_init();
|
||||||
pci_init(PCI_CONFIG_TYPE_1);
|
pci_init(PCI_CONFIG_TYPE_1);
|
||||||
pci_register_slot(0x05, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
pci_register_slot(0x05, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||||
@@ -170,12 +171,15 @@ static void machine_at_sis_85c496_common_init(void)
|
|||||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||||
pci_register_slot(0x07, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
pci_register_slot(0x07, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||||
|
|
||||||
sis_85c496_init();
|
sis_85c496_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_at_r418_init(void)
|
void
|
||||||
|
machine_at_r418_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_sis_85c496_common_init();
|
machine_at_sis_85c496_common_init(model);
|
||||||
|
|
||||||
fdc37c665_init();
|
fdc37c665_init();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
extern void machine_at_r418_init(void);
|
|
||||||
@@ -6,9 +6,10 @@
|
|||||||
*
|
*
|
||||||
* Emulation of the SiS 50x PCI chips.
|
* Emulation of the SiS 50x PCI chips.
|
||||||
*
|
*
|
||||||
* Version: @(#)machine_at_sis_85c50x.c 1.0.3 2017/09/24
|
* Version: @(#)machine_at_sis_85c50x.c 1.0.3 2017/10/07
|
||||||
*
|
*
|
||||||
* Author: Miran Grca, <mgrca8@gmail.com>
|
* Author: Miran Grca, <mgrca8@gmail.com>
|
||||||
|
*
|
||||||
* Copyright 2017 Miran Grca.
|
* Copyright 2017 Miran Grca.
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -20,8 +21,7 @@
|
|||||||
#include "../io.h"
|
#include "../io.h"
|
||||||
#include "../pci.h"
|
#include "../pci.h"
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_sis_85c50x.h"
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct sis_85c501_t
|
typedef struct sis_85c501_t
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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 SiS 50x PCI chips.
|
|
||||||
*
|
|
||||||
* Version: @(#)machine_at_sis_85c50x.h 1.0.2 2017/09/02
|
|
||||||
*
|
|
||||||
* Author: Miran Grca, <mgrca8@gmail.com>
|
|
||||||
* Copyright 2017 Miran Grca.
|
|
||||||
*/
|
|
||||||
@@ -11,8 +11,7 @@
|
|||||||
#include "../serial.h"
|
#include "../serial.h"
|
||||||
#include "../floppy/floppy.h"
|
#include "../floppy/floppy.h"
|
||||||
#include "../floppy/fdc.h"
|
#include "../floppy/fdc.h"
|
||||||
#include "machine_at.h"
|
#include "machine.h"
|
||||||
#include "machine_at_wd76c10.h"
|
|
||||||
|
|
||||||
|
|
||||||
static uint16_t wd76c10_0092;
|
static uint16_t wd76c10_0092;
|
||||||
@@ -135,8 +134,11 @@ static void wd76c10_init(void)
|
|||||||
wd76c10_writeb, wd76c10_write, NULL, NULL);
|
wd76c10_writeb, wd76c10_write, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void machine_at_wd76c10_init(void)
|
|
||||||
|
void
|
||||||
|
machine_at_wd76c10_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_at_ide_init();
|
machine_at_ide_init(model);
|
||||||
|
|
||||||
wd76c10_init();
|
wd76c10_init();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
/* Copyright holders: Sarah Walker
|
|
||||||
see COPYING for more details
|
|
||||||
*/
|
|
||||||
extern void machine_at_wd76c10_init(void);
|
|
||||||
@@ -11,30 +11,25 @@
|
|||||||
#include "../floppy/floppy.h"
|
#include "../floppy/floppy.h"
|
||||||
#include "../floppy/fdd.h"
|
#include "../floppy/fdd.h"
|
||||||
#include "../floppy/fdc.h"
|
#include "../floppy/fdc.h"
|
||||||
#include "machine_common.h"
|
#include "machine.h"
|
||||||
|
|
||||||
|
|
||||||
void machine_common_init(void)
|
void
|
||||||
|
machine_common_init(machine_t *model)
|
||||||
{
|
{
|
||||||
/* System devices first. */
|
/* System devices first. */
|
||||||
dma_init();
|
dma_init();
|
||||||
pic_init();
|
pic_init();
|
||||||
pit_init();
|
pit_init();
|
||||||
|
|
||||||
if (lpt_enabled)
|
if (lpt_enabled)
|
||||||
{
|
lpt_init();
|
||||||
lpt_init();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (serial_enabled[0])
|
if (serial_enabled[0])
|
||||||
{
|
serial_setup(1, SERIAL1_ADDR, SERIAL1_IRQ);
|
||||||
serial_setup(1, SERIAL1_ADDR, SERIAL1_IRQ);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (serial_enabled[1])
|
if (serial_enabled[1])
|
||||||
{
|
serial_setup(2, SERIAL2_ADDR, SERIAL2_IRQ);
|
||||||
serial_setup(2, SERIAL2_ADDR, SERIAL2_IRQ);
|
|
||||||
}
|
|
||||||
|
|
||||||
fdc_add();
|
fdc_add();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
extern void machine_common_init(void);
|
|
||||||
@@ -6,7 +6,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include "../ibm.h"
|
#include "../ibm.h"
|
||||||
#include "../cpu/cpu.h"
|
|
||||||
#include "../io.h"
|
#include "../io.h"
|
||||||
#include "../nmi.h"
|
#include "../nmi.h"
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
@@ -16,8 +15,7 @@
|
|||||||
#include "../game/gameport.h"
|
#include "../game/gameport.h"
|
||||||
#include "../keyboard_xt.h"
|
#include "../keyboard_xt.h"
|
||||||
#include "../lpt.h"
|
#include "../lpt.h"
|
||||||
#include "machine_common.h"
|
#include "machine.h"
|
||||||
#include "machine_europc.h"
|
|
||||||
|
|
||||||
|
|
||||||
uint8_t europcdat[16];
|
uint8_t europcdat[16];
|
||||||
@@ -132,9 +130,11 @@ static void jim_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_europc_init(void)
|
void
|
||||||
|
machine_europc_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_common_init();
|
machine_common_init(model);
|
||||||
|
|
||||||
mem_add_bios();
|
mem_add_bios();
|
||||||
lpt3_init(0x3bc);
|
lpt3_init(0x3bc);
|
||||||
jim_init();
|
jim_init();
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
void europc_save_nvr(void);
|
|
||||||
|
|
||||||
void machine_europc_init(void);
|
|
||||||
@@ -6,7 +6,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include "../ibm.h"
|
#include "../ibm.h"
|
||||||
#include "../cpu/cpu.h"
|
|
||||||
#include "../io.h"
|
#include "../io.h"
|
||||||
#include "../nmi.h"
|
#include "../nmi.h"
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
@@ -14,8 +13,7 @@
|
|||||||
#include "../nvr.h"
|
#include "../nvr.h"
|
||||||
#include "../game/gameport.h"
|
#include "../game/gameport.h"
|
||||||
#include "../keyboard_olim24.h"
|
#include "../keyboard_olim24.h"
|
||||||
#include "machine_common.h"
|
#include "machine.h"
|
||||||
#include "machine_olivetti_m24.h"
|
|
||||||
|
|
||||||
|
|
||||||
static uint8_t olivetti_m24_read(uint16_t port, void *priv)
|
static uint8_t olivetti_m24_read(uint16_t port, void *priv)
|
||||||
@@ -37,9 +35,11 @@ static void olivetti_m24_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_olim24_init(void)
|
void
|
||||||
|
machine_olim24_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_common_init();
|
machine_common_init(model);
|
||||||
|
|
||||||
mem_add_bios();
|
mem_add_bios();
|
||||||
keyboard_olim24_init();
|
keyboard_olim24_init();
|
||||||
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
void machine_olim24_init(void);
|
|
||||||
@@ -14,10 +14,11 @@
|
|||||||
#include "../floppy/fdc.h"
|
#include "../floppy/fdc.h"
|
||||||
#include "../floppy/fdd.h"
|
#include "../floppy/fdd.h"
|
||||||
#include "../sound/snd_sn76489.h"
|
#include "../sound/snd_sn76489.h"
|
||||||
#include "machine_pcjr.h"
|
#include "machine.h"
|
||||||
|
|
||||||
|
|
||||||
void machine_pcjr_init(void)
|
void
|
||||||
|
machine_pcjr_init(machine_t *model)
|
||||||
{
|
{
|
||||||
mem_add_bios();
|
mem_add_bios();
|
||||||
fdc_add_pcjr();
|
fdc_add_pcjr();
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
void machine_pcjr_init(void);
|
|
||||||
@@ -25,8 +25,7 @@
|
|||||||
#include "../floppy/fdd.h"
|
#include "../floppy/fdd.h"
|
||||||
#include "../floppy/fdc.h"
|
#include "../floppy/fdc.h"
|
||||||
#include "../sound/snd_ps1.h"
|
#include "../sound/snd_ps1.h"
|
||||||
#include "machine_common.h"
|
#include "machine.h"
|
||||||
#include "machine_ps1.h"
|
|
||||||
|
|
||||||
|
|
||||||
static rom_t ps1_high_rom;
|
static rom_t ps1_high_rom;
|
||||||
@@ -335,11 +334,14 @@ static void ps1mb_m2133_init(void)
|
|||||||
mem_remap_top_384k();
|
mem_remap_top_384k();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void machine_ps1_common_init(void)
|
|
||||||
|
static void
|
||||||
|
machine_ps1_common_init(machine_t *model)
|
||||||
{
|
{
|
||||||
AT = 1;
|
AT = 1;
|
||||||
|
|
||||||
machine_common_init();
|
machine_common_init(model);
|
||||||
|
|
||||||
mem_add_bios();
|
mem_add_bios();
|
||||||
pit_set_out_func(&pit, 1, pit_refresh_timer_at);
|
pit_set_out_func(&pit, 1, pit_refresh_timer_at);
|
||||||
dma16_init();
|
dma16_init();
|
||||||
@@ -361,22 +363,31 @@ static void machine_ps1_common_init(void)
|
|||||||
device_add(&gameport_201_device);
|
device_add(&gameport_201_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
void machine_ps1_m2011_init(void)
|
|
||||||
|
void
|
||||||
|
machine_ps1_m2011_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_ps1_common_init();
|
machine_ps1_common_init(model);
|
||||||
|
|
||||||
ps1mb_init();
|
ps1mb_init();
|
||||||
mem_remap_top_384k();
|
mem_remap_top_384k();
|
||||||
}
|
}
|
||||||
|
|
||||||
void machine_ps1_m2121_init(void)
|
|
||||||
|
void
|
||||||
|
machine_ps1_m2121_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_ps1_common_init();
|
machine_ps1_common_init(model);
|
||||||
|
|
||||||
ps1mb_m2121_init();
|
ps1mb_m2121_init();
|
||||||
fdc_set_ps1();
|
fdc_set_ps1();
|
||||||
}
|
}
|
||||||
|
|
||||||
void machine_ps1_m2133_init(void)
|
|
||||||
|
void
|
||||||
|
machine_ps1_m2133_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_ps1_common_init();
|
machine_ps1_common_init(model);
|
||||||
|
|
||||||
ps1mb_m2133_init();
|
ps1mb_m2133_init();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
void machine_ps1_m2011_init(void);
|
|
||||||
void machine_ps1_m2121_init(void);
|
|
||||||
void machine_ps1_m2133_init(void);
|
|
||||||
@@ -19,8 +19,7 @@
|
|||||||
#include "../floppy/floppy.h"
|
#include "../floppy/floppy.h"
|
||||||
#include "../floppy/fdd.h"
|
#include "../floppy/fdd.h"
|
||||||
#include "../floppy/fdc.h"
|
#include "../floppy/fdc.h"
|
||||||
#include "machine_common.h"
|
#include "machine.h"
|
||||||
#include "machine_ps2_isa.h"
|
|
||||||
|
|
||||||
|
|
||||||
static uint8_t ps2_92, ps2_94, ps2_102, ps2_103, ps2_104, ps2_105, ps2_190;
|
static uint8_t ps2_92, ps2_94, ps2_102, ps2_103, ps2_104, ps2_105, ps2_190;
|
||||||
@@ -154,11 +153,13 @@ static void ps2board_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_ps2_m30_286_init(void)
|
void
|
||||||
|
machine_ps2_m30_286_init(machine_t *model)
|
||||||
{
|
{
|
||||||
AT = 1;
|
AT = 1;
|
||||||
|
|
||||||
machine_common_init();
|
machine_common_init(model);
|
||||||
|
|
||||||
mem_add_bios();
|
mem_add_bios();
|
||||||
pit_set_out_func(&pit, 1, pit_refresh_timer_at);
|
pit_set_out_func(&pit, 1, pit_refresh_timer_at);
|
||||||
dma16_init();
|
dma16_init();
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
void machine_ps2_m30_286_init(void);
|
|
||||||
@@ -19,8 +19,7 @@
|
|||||||
#include "../lpt.h"
|
#include "../lpt.h"
|
||||||
#include "../mouse.h"
|
#include "../mouse.h"
|
||||||
#include "../serial.h"
|
#include "../serial.h"
|
||||||
#include "machine_common.h"
|
#include "machine.h"
|
||||||
#include "machine_ps2_mca.h"
|
|
||||||
|
|
||||||
|
|
||||||
static struct
|
static struct
|
||||||
@@ -802,11 +801,14 @@ static void ps2_mca_board_model_80_type2_init()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void machine_ps2_common_init(void)
|
|
||||||
|
static void
|
||||||
|
machine_ps2_common_init(machine_t *model)
|
||||||
{
|
{
|
||||||
AT = 1;
|
AT = 1;
|
||||||
|
|
||||||
machine_common_init();
|
machine_common_init(model);
|
||||||
|
|
||||||
mem_add_bios();
|
mem_add_bios();
|
||||||
dma16_init();
|
dma16_init();
|
||||||
ps2_dma_init();
|
ps2_dma_init();
|
||||||
@@ -820,29 +822,37 @@ static void machine_ps2_common_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_ps2_model_50_init(void)
|
void
|
||||||
|
machine_ps2_model_50_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_ps2_common_init();
|
machine_ps2_common_init(model);
|
||||||
|
|
||||||
ps2_mca_board_model_50_init();
|
ps2_mca_board_model_50_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_ps2_model_55sx_init(void)
|
void
|
||||||
|
machine_ps2_model_55sx_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_ps2_common_init();
|
machine_ps2_common_init(model);
|
||||||
|
|
||||||
ps2_mca_board_model_55sx_init();
|
ps2_mca_board_model_55sx_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_ps2_model_80_init(void)
|
void
|
||||||
|
machine_ps2_model_80_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_ps2_common_init();
|
machine_ps2_common_init(model);
|
||||||
|
|
||||||
ps2_mca_board_model_80_type2_init();
|
ps2_mca_board_model_80_type2_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_ps2_model_80_486_init(void)
|
void
|
||||||
|
machine_ps2_model_80_486_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_ps2_common_init();
|
machine_ps2_common_init(model);
|
||||||
|
|
||||||
ps2_mca_board_model_80_type2_init();
|
ps2_mca_board_model_80_type2_init();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
extern void machine_ps2_model_50_init(void);
|
|
||||||
extern void machine_ps2_model_55sx_init(void);
|
|
||||||
extern void machine_ps2_model_80_init(void);
|
|
||||||
extern void machine_ps2_model_80_486_init(void);
|
|
||||||
@@ -13,14 +13,16 @@
|
|||||||
#include "../tandy_rom.h"
|
#include "../tandy_rom.h"
|
||||||
#include "../sound/snd_pssj.h"
|
#include "../sound/snd_pssj.h"
|
||||||
#include "../sound/snd_sn76489.h"
|
#include "../sound/snd_sn76489.h"
|
||||||
#include "machine_common.h"
|
#include "machine.h"
|
||||||
|
|
||||||
|
|
||||||
void machine_tandy1k_init(void)
|
void
|
||||||
|
machine_tandy1k_init(machine_t *model)
|
||||||
{
|
{
|
||||||
TANDY = 1;
|
TANDY = 1;
|
||||||
|
|
||||||
machine_common_init();
|
machine_common_init(model);
|
||||||
|
|
||||||
mem_add_bios();
|
mem_add_bios();
|
||||||
keyboard_tandy_init();
|
keyboard_tandy_init();
|
||||||
if (romset == ROM_TANDY)
|
if (romset == ROM_TANDY)
|
||||||
@@ -35,9 +37,11 @@ void machine_tandy1k_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_tandy1ksl2_init(void)
|
void
|
||||||
|
machine_tandy1ksl2_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_common_init();
|
machine_common_init(model);
|
||||||
|
|
||||||
mem_add_bios();
|
mem_add_bios();
|
||||||
keyboard_tandy_init();
|
keyboard_tandy_init();
|
||||||
device_add(&pssj_device);
|
device_add(&pssj_device);
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
void machine_tandy1k_init(void);
|
|
||||||
void machine_tandy1ksl2_init(void);
|
|
||||||
@@ -10,13 +10,13 @@
|
|||||||
#include "../bugger.h"
|
#include "../bugger.h"
|
||||||
#include "../game/gameport.h"
|
#include "../game/gameport.h"
|
||||||
#include "../keyboard_xt.h"
|
#include "../keyboard_xt.h"
|
||||||
#include "machine_common.h"
|
#include "machine.h"
|
||||||
#include "machine_xt.h"
|
|
||||||
|
|
||||||
|
|
||||||
void machine_xt_init(void)
|
void
|
||||||
|
machine_xt_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_common_init();
|
machine_common_init(model);
|
||||||
|
|
||||||
mem_add_bios();
|
mem_add_bios();
|
||||||
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
void machine_xt_init(void);
|
|
||||||
@@ -7,8 +7,7 @@
|
|||||||
#include "../cpu/cpu.h"
|
#include "../cpu/cpu.h"
|
||||||
#include "../io.h"
|
#include "../io.h"
|
||||||
#include "../mem.h"
|
#include "../mem.h"
|
||||||
#include "machine_xt.h"
|
#include "machine.h"
|
||||||
#include "machine_xt_laserxt.h"
|
|
||||||
|
|
||||||
|
|
||||||
static int laserxt_emspage[4];
|
static int laserxt_emspage[4];
|
||||||
@@ -129,8 +128,10 @@ static void laserxt_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void machine_xt_laserxt_init(void)
|
void
|
||||||
|
machine_xt_laserxt_init(machine_t *model)
|
||||||
{
|
{
|
||||||
machine_xt_init();
|
machine_xt_init(model);
|
||||||
|
|
||||||
laserxt_init();
|
laserxt_init();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
void machine_xt_laserxt_init(void);
|
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
*
|
*
|
||||||
* NOTE: The file will also implement an NE1000 for 8-bit ISA systems.
|
* NOTE: The file will also implement an NE1000 for 8-bit ISA systems.
|
||||||
*
|
*
|
||||||
* Version: @(#)net_ne2000.c 1.0.16 2017/10/05
|
* Version: @(#)net_ne2000.c 1.0.17 2017/10/07
|
||||||
*
|
*
|
||||||
* Authors: Fred N. van Kempen, <decwiz@yahoo.com>
|
* Authors: Fred N. van Kempen, <decwiz@yahoo.com>
|
||||||
* Peter Grehan, grehan@iprg.nokia.com>
|
* Peter Grehan, grehan@iprg.nokia.com>
|
||||||
@@ -1874,7 +1874,7 @@ nic_rom_init(nic_t *dev, wchar_t *s)
|
|||||||
|
|
||||||
|
|
||||||
static void *
|
static void *
|
||||||
nic_init(int board)
|
nic_init(device_t *info)
|
||||||
{
|
{
|
||||||
uint32_t mac;
|
uint32_t mac;
|
||||||
wchar_t *rom;
|
wchar_t *rom;
|
||||||
@@ -1887,7 +1887,7 @@ nic_init(int board)
|
|||||||
|
|
||||||
dev = malloc(sizeof(nic_t));
|
dev = malloc(sizeof(nic_t));
|
||||||
memset(dev, 0x00, sizeof(nic_t));
|
memset(dev, 0x00, sizeof(nic_t));
|
||||||
dev->board = board;
|
dev->board = info->local;
|
||||||
rom = NULL;
|
rom = NULL;
|
||||||
switch(dev->board) {
|
switch(dev->board) {
|
||||||
case NE2K_NE1000:
|
case NE2K_NE1000:
|
||||||
@@ -2065,27 +2065,6 @@ nic_close(void *priv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void *
|
|
||||||
ne1000_init(device_t *info)
|
|
||||||
{
|
|
||||||
return(nic_init(NE2K_NE1000));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void *
|
|
||||||
ne2000_init(device_t *info)
|
|
||||||
{
|
|
||||||
return(nic_init(NE2K_NE2000));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void *
|
|
||||||
rtl8029as_init(device_t *info)
|
|
||||||
{
|
|
||||||
return(nic_init(NE2K_RTL8029AS));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static device_config_t ne1000_config[] =
|
static device_config_t ne1000_config[] =
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
@@ -2280,7 +2259,7 @@ device_t ne1000_device = {
|
|||||||
"Novell NE1000",
|
"Novell NE1000",
|
||||||
0,
|
0,
|
||||||
NE2K_NE1000,
|
NE2K_NE1000,
|
||||||
ne1000_init, nic_close, NULL,
|
nic_init, nic_close, NULL,
|
||||||
NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL,
|
||||||
ne1000_config
|
ne1000_config
|
||||||
};
|
};
|
||||||
@@ -2289,7 +2268,7 @@ device_t ne2000_device = {
|
|||||||
"Novell NE2000",
|
"Novell NE2000",
|
||||||
DEVICE_AT,
|
DEVICE_AT,
|
||||||
NE2K_NE2000,
|
NE2K_NE2000,
|
||||||
ne2000_init, nic_close, NULL,
|
nic_init, nic_close, NULL,
|
||||||
NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL,
|
||||||
ne2000_config
|
ne2000_config
|
||||||
};
|
};
|
||||||
@@ -2298,7 +2277,7 @@ device_t rtl8029as_device = {
|
|||||||
"Realtek RTL8029AS",
|
"Realtek RTL8029AS",
|
||||||
0,
|
0,
|
||||||
NE2K_RTL8029AS,
|
NE2K_RTL8029AS,
|
||||||
rtl8029as_init, nic_close, NULL,
|
nic_init, nic_close, NULL,
|
||||||
NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL,
|
||||||
rtl8029as_config
|
rtl8029as_config
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -12,10 +12,11 @@
|
|||||||
*
|
*
|
||||||
* NOTE: THIS IS CURRENTLY A MESS, but will be cleaned up as I go.
|
* NOTE: THIS IS CURRENTLY A MESS, but will be cleaned up as I go.
|
||||||
*
|
*
|
||||||
* Version: @(#)scsi_aha154x.c 1.0.20 2017/10/04
|
* Version: @(#)scsi_aha154x.c 1.0.21 2017/10/07
|
||||||
*
|
*
|
||||||
* Authors: Fred N. van Kempen, <decwiz@yahoo.com>
|
* Authors: Fred N. van Kempen, <decwiz@yahoo.com>
|
||||||
* Original Buslogic version by SA1988 and Miran Grca.
|
* Original Buslogic version by SA1988 and Miran Grca.
|
||||||
|
*
|
||||||
* Copyright 2017 Fred N. van Kempen.
|
* Copyright 2017 Fred N. van Kempen.
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -1994,7 +1995,7 @@ aha_setnvr(aha_t *dev)
|
|||||||
|
|
||||||
/* General initialization routine for all boards. */
|
/* General initialization routine for all boards. */
|
||||||
static void *
|
static void *
|
||||||
aha_init(int type)
|
aha_init(device_t *info)
|
||||||
{
|
{
|
||||||
aha_t *dev;
|
aha_t *dev;
|
||||||
|
|
||||||
@@ -2002,7 +2003,7 @@ aha_init(int type)
|
|||||||
dev = malloc(sizeof(aha_t));
|
dev = malloc(sizeof(aha_t));
|
||||||
if (dev == NULL) return(dev);
|
if (dev == NULL) return(dev);
|
||||||
memset(dev, 0x00, sizeof(aha_t));
|
memset(dev, 0x00, sizeof(aha_t));
|
||||||
dev->type = type;
|
dev->type = info->local;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set up the (initial) I/O address, IRQ and DMA info.
|
* Set up the (initial) I/O address, IRQ and DMA info.
|
||||||
@@ -2022,7 +2023,7 @@ aha_init(int type)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Perform per-board initialization. */
|
/* Perform per-board initialization. */
|
||||||
switch(type) {
|
switch(dev->type) {
|
||||||
case AHA_154xB:
|
case AHA_154xB:
|
||||||
strcpy(dev->name, "AHA-154xB");
|
strcpy(dev->name, "AHA-154xB");
|
||||||
switch(dev->Base) {
|
switch(dev->Base) {
|
||||||
@@ -2111,34 +2112,6 @@ aha_init(int type)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void *
|
|
||||||
aha_154xB_init(device_t *info)
|
|
||||||
{
|
|
||||||
return(aha_init(AHA_154xB));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void *
|
|
||||||
aha_154xC_init(device_t *info)
|
|
||||||
{
|
|
||||||
return(aha_init(AHA_154xC));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void *
|
|
||||||
aha_154xCF_init(device_t *info)
|
|
||||||
{
|
|
||||||
return(aha_init(AHA_154xCF));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void *
|
|
||||||
aha_1640_init(device_t *info)
|
|
||||||
{
|
|
||||||
return(aha_init(AHA_1640));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
aha_close(void *priv)
|
aha_close(void *priv)
|
||||||
{
|
{
|
||||||
@@ -2276,55 +2249,35 @@ static device_config_t aha_154x_config[] = {
|
|||||||
|
|
||||||
device_t aha1540b_device = {
|
device_t aha1540b_device = {
|
||||||
"Adaptec AHA-1540B",
|
"Adaptec AHA-1540B",
|
||||||
0,
|
0, AHA_154xB,
|
||||||
0,
|
aha_init, aha_close, NULL,
|
||||||
aha_154xB_init,
|
NULL, NULL, NULL, NULL,
|
||||||
aha_close,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
aha_154x_config
|
aha_154x_config
|
||||||
};
|
};
|
||||||
|
|
||||||
device_t aha1542c_device = {
|
device_t aha1542c_device = {
|
||||||
"Adaptec AHA-1542C",
|
"Adaptec AHA-1542C",
|
||||||
0,
|
0,
|
||||||
0,
|
AHA_154xC,
|
||||||
aha_154xC_init,
|
aha_init, aha_close, NULL,
|
||||||
aha_close,
|
NULL, NULL, NULL, NULL,
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
aha_154x_config
|
aha_154x_config
|
||||||
};
|
};
|
||||||
|
|
||||||
device_t aha1542cf_device = {
|
device_t aha1542cf_device = {
|
||||||
"Adaptec AHA-1542CF",
|
"Adaptec AHA-1542CF",
|
||||||
0,
|
0,
|
||||||
0,
|
AHA_154xCF,
|
||||||
aha_154xCF_init,
|
aha_init, aha_close, NULL,
|
||||||
aha_close,
|
NULL, NULL, NULL, NULL,
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
aha_154x_config
|
aha_154x_config
|
||||||
};
|
};
|
||||||
|
|
||||||
device_t aha1640_device = {
|
device_t aha1640_device = {
|
||||||
"Adaptec AHA-1640",
|
"Adaptec AHA-1640",
|
||||||
DEVICE_MCA,
|
DEVICE_MCA,
|
||||||
0,
|
AHA_1640,
|
||||||
aha_1640_init,
|
aha_init, aha_close, NULL,
|
||||||
aha_close,
|
NULL, NULL, NULL, NULL,
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -10,11 +10,12 @@
|
|||||||
* 0 - BT-545C ISA;
|
* 0 - BT-545C ISA;
|
||||||
* 1 - BT-958D PCI (but BT-545C ISA on non-PCI machines)
|
* 1 - BT-958D PCI (but BT-545C ISA on non-PCI machines)
|
||||||
*
|
*
|
||||||
* Version: @(#)scsi_buslogic.c 1.0.16 2017/10/04
|
* Version: @(#)scsi_buslogic.c 1.0.17 2017/10/07
|
||||||
*
|
*
|
||||||
* Authors: TheCollector1995, <mariogplayer@gmail.com>
|
* Authors: TheCollector1995, <mariogplayer@gmail.com>
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
* Fred N. van Kempen, <decwiz@yahoo.com>
|
* Fred N. van Kempen, <decwiz@yahoo.com>
|
||||||
|
*
|
||||||
* Copyright 2016,2017 Miran Grca.
|
* Copyright 2016,2017 Miran Grca.
|
||||||
* Copyright 2017 Fred N. van Kempen.
|
* Copyright 2017 Fred N. van Kempen.
|
||||||
*/
|
*/
|
||||||
@@ -2863,7 +2864,7 @@ BuslogicDeviceReset(void *p)
|
|||||||
|
|
||||||
|
|
||||||
static void *
|
static void *
|
||||||
BuslogicInit(int chip)
|
Buslogic_Init(device_t *info)
|
||||||
{
|
{
|
||||||
Buslogic_t *bl;
|
Buslogic_t *bl;
|
||||||
wchar_t *bios_rom_name;
|
wchar_t *bios_rom_name;
|
||||||
@@ -2879,12 +2880,12 @@ BuslogicInit(int chip)
|
|||||||
|
|
||||||
bl = malloc(sizeof(Buslogic_t));
|
bl = malloc(sizeof(Buslogic_t));
|
||||||
memset(bl, 0x00, sizeof(Buslogic_t));
|
memset(bl, 0x00, sizeof(Buslogic_t));
|
||||||
|
bl->chip = info->local;
|
||||||
if (!PCI && (chip == CHIP_BUSLOGIC_PCI))
|
if ((bl->chip == CHIP_BUSLOGIC_PCI) && !PCI)
|
||||||
{
|
{
|
||||||
chip = CHIP_BUSLOGIC_ISA;
|
/* This is just wrong. Simply disallow PCI cards in non-PCI systems! */
|
||||||
|
bl->chip = CHIP_BUSLOGIC_ISA;
|
||||||
}
|
}
|
||||||
bl->chip = chip;
|
|
||||||
bl->Base = device_get_config_hex16("base");
|
bl->Base = device_get_config_hex16("base");
|
||||||
bl->PCIBase = 0;
|
bl->PCIBase = 0;
|
||||||
bl->MMIOBase = 0;
|
bl->MMIOBase = 0;
|
||||||
@@ -2892,7 +2893,6 @@ BuslogicInit(int chip)
|
|||||||
bl->DmaChannel = device_get_config_int("dma");
|
bl->DmaChannel = device_get_config_int("dma");
|
||||||
bl->has_bios = device_get_config_int("bios");
|
bl->has_bios = device_get_config_int("bios");
|
||||||
|
|
||||||
|
|
||||||
if (bl->Base != 0) {
|
if (bl->Base != 0) {
|
||||||
if (bl->chip == CHIP_BUSLOGIC_PCI) {
|
if (bl->chip == CHIP_BUSLOGIC_PCI) {
|
||||||
io_sethandler(bl->Base, 4,
|
io_sethandler(bl->Base, 4,
|
||||||
@@ -3018,22 +3018,8 @@ BuslogicInit(int chip)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void *
|
|
||||||
Buslogic_545C_Init(device_t *info)
|
|
||||||
{
|
|
||||||
return BuslogicInit(CHIP_BUSLOGIC_ISA);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void *
|
|
||||||
Buslogic_958D_Init(device_t *info)
|
|
||||||
{
|
|
||||||
return BuslogicInit(CHIP_BUSLOGIC_PCI);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
BuslogicClose(void *p)
|
Buslogic_Close(void *p)
|
||||||
{
|
{
|
||||||
Buslogic_t *bl = (Buslogic_t *)p;
|
Buslogic_t *bl = (Buslogic_t *)p;
|
||||||
if (bl)
|
if (bl)
|
||||||
@@ -3143,27 +3129,17 @@ static device_config_t BuslogicConfig[] = {
|
|||||||
device_t buslogic_device = {
|
device_t buslogic_device = {
|
||||||
"Buslogic BT-545C ISA",
|
"Buslogic BT-545C ISA",
|
||||||
0,
|
0,
|
||||||
0,
|
CHIP_BUSLOGIC_ISA,
|
||||||
Buslogic_545C_Init,
|
Buslogic_Init, Buslogic_Close, NULL,
|
||||||
BuslogicClose,
|
NULL, NULL, NULL, NULL,
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
BuslogicConfig
|
BuslogicConfig
|
||||||
};
|
};
|
||||||
|
|
||||||
device_t buslogic_pci_device = {
|
device_t buslogic_pci_device = {
|
||||||
"Buslogic BT-958D PCI",
|
"Buslogic BT-958D PCI",
|
||||||
0,
|
0,
|
||||||
0,
|
CHIP_BUSLOGIC_PCI,
|
||||||
Buslogic_958D_Init,
|
Buslogic_Init, Buslogic_Close, NULL,
|
||||||
BuslogicClose,
|
NULL, NULL, NULL, NULL,
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
BuslogicConfig
|
BuslogicConfig
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user