Finish M6117 implementation
This commit is contained in:
@@ -138,6 +138,9 @@ extern CPU cpus_i386SX[];
|
|||||||
extern CPU cpus_i386DX[];
|
extern CPU cpus_i386DX[];
|
||||||
extern CPU cpus_Am386SX[];
|
extern CPU cpus_Am386SX[];
|
||||||
extern CPU cpus_Am386DX[];
|
extern CPU cpus_Am386DX[];
|
||||||
|
#if defined(DEV_BRANCH) && defined(USE_M6117)
|
||||||
|
extern CPU cpus_ALiM6117[];
|
||||||
|
#endif
|
||||||
extern CPU cpus_486SLC[];
|
extern CPU cpus_486SLC[];
|
||||||
extern CPU cpus_486DLC[];
|
extern CPU cpus_486DLC[];
|
||||||
extern CPU cpus_IBM386SLC[];
|
extern CPU cpus_IBM386SLC[];
|
||||||
|
@@ -211,6 +211,18 @@ CPU cpus_Am386DX[] = {
|
|||||||
{"", -1, 0, 0, 0, 0, 0, 0, 0,0,0,0, 0}
|
{"", -1, 0, 0, 0, 0, 0, 0, 0,0,0,0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(DEV_BRANCH) && defined(USE_M6117)
|
||||||
|
/* All M6117 timings and edx_reset values assumed. */
|
||||||
|
CPU cpus_ALiM6117[] = {
|
||||||
|
/*i386DX/RapidCAD*/
|
||||||
|
{"M6117/66", CPU_386DX, fpus_80386, 66666666, 1, 0x2308, 0, 0, 0, 3,3,3,3, 2},
|
||||||
|
{"M6117/80", CPU_386DX, fpus_80386, 80000000, 1, 0x2308, 0, 0, 0, 4,4,3,3, 3},
|
||||||
|
{"", -1, 0, 0, 0, 0, 0, 0, 0,0,0,0, 0}
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
CPU cpus_486SLC[] = {
|
CPU cpus_486SLC[] = {
|
||||||
/*Cx486SLC*/
|
/*Cx486SLC*/
|
||||||
{"Cx486SLC/20", CPU_486SLC, fpus_80386, 20000000, 1, 0x400, 0, 0x0000, 0, 4,4,3,3, 3},
|
{"Cx486SLC/20", CPU_486SLC, fpus_80386, 20000000, 1, 0x400, 0, 0x0000, 0, 4,4,3,3, 3},
|
||||||
|
@@ -26,7 +26,7 @@ extern const device_t ali1429_device;
|
|||||||
#if defined(DEV_BRANCH) && defined(USE_M1489)
|
#if defined(DEV_BRANCH) && defined(USE_M1489)
|
||||||
extern const device_t ali1489_device;
|
extern const device_t ali1489_device;
|
||||||
#endif
|
#endif
|
||||||
#if defined(DEV_BRANCH) && defined(USE_STPC)
|
#if defined(DEV_BRANCH) && defined(USE_M6117)
|
||||||
extern const device_t ali6117d_device;
|
extern const device_t ali6117d_device;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -241,7 +241,10 @@ extern int machine_at_adi386sx_init(const machine_t *);
|
|||||||
extern int machine_at_commodore_sl386sx_init(const machine_t *);
|
extern int machine_at_commodore_sl386sx_init(const machine_t *);
|
||||||
extern int machine_at_wd76c10_init(const machine_t *);
|
extern int machine_at_wd76c10_init(const machine_t *);
|
||||||
|
|
||||||
extern int machine_at_awardsx_init(const machine_t *);
|
extern int machine_at_awardsx_init(const machine_t *);
|
||||||
|
#if defined(DEV_BRANCH) && defined(USE_M6117)
|
||||||
|
extern int machine_at_pja511m_init(const machine_t *);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef EMU_DEVICE_H
|
#ifdef EMU_DEVICE_H
|
||||||
extern const device_t *at_ama932j_get_device(void);
|
extern const device_t *at_ama932j_get_device(void);
|
||||||
|
@@ -36,6 +36,7 @@
|
|||||||
#include <86box/hdc.h>
|
#include <86box/hdc.h>
|
||||||
#include <86box/sio.h>
|
#include <86box/sio.h>
|
||||||
#include <86box/video.h>
|
#include <86box/video.h>
|
||||||
|
#include <86box/flash.h>
|
||||||
#include <86box/machine.h>
|
#include <86box/machine.h>
|
||||||
|
|
||||||
int
|
int
|
||||||
@@ -545,3 +546,28 @@ machine_at_awardsx_init(const machine_t *model)
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(DEV_BRANCH) && defined(USE_M6117)
|
||||||
|
int
|
||||||
|
machine_at_pja511m_init(const machine_t *model)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = bios_load_linear(L"roms/machines/pja511m/2006915102435734.rom",
|
||||||
|
0x000e0000, 131072, 0);
|
||||||
|
|
||||||
|
if (bios_only || !ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
machine_at_common_init(model);
|
||||||
|
|
||||||
|
device_add_inst(&fdc37c669_device, 1);
|
||||||
|
//device_add_inst(&fdc37c669_device, 2); /* enable when dual FDC37C669 is implemented */
|
||||||
|
device_add(&keyboard_ps2_ami_pci_device);
|
||||||
|
device_add(&ali6117d_device);
|
||||||
|
device_add(&sst_flash_29ee010_device);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@@ -179,13 +179,16 @@ const machine_t machines[] = {
|
|||||||
{ "[Intel 82335] Shuttle 386SX", "shuttle386sx", MACHINE_TYPE_386SX, {{"Intel", cpus_i386SX}, {"AMD", cpus_Am386SX}, {"Cyrix", cpus_486SLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_shuttle386sx_init, NULL },
|
{ "[Intel 82335] Shuttle 386SX", "shuttle386sx", MACHINE_TYPE_386SX, {{"Intel", cpus_i386SX}, {"AMD", cpus_Am386SX}, {"Cyrix", cpus_486SLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_shuttle386sx_init, NULL },
|
||||||
{ "[Intel 82335] ADI 386SX", "adi386sx", MACHINE_TYPE_386SX, {{"Intel", cpus_i386SX}, {"AMD", cpus_Am386SX}, {"Cyrix", cpus_486SLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_adi386sx_init, NULL },
|
{ "[Intel 82335] ADI 386SX", "adi386sx", MACHINE_TYPE_386SX, {{"Intel", cpus_i386SX}, {"AMD", cpus_Am386SX}, {"Cyrix", cpus_486SLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_adi386sx_init, NULL },
|
||||||
{ "[OPTi 291] DTK PPM-3333P", "awardsx", MACHINE_TYPE_386SX, {{"Intel", cpus_i386SX}, {"AMD", cpus_Am386SX}, {"Cyrix", cpus_486SLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 1, 16, 1, 127, machine_at_awardsx_init, NULL },
|
{ "[OPTi 291] DTK PPM-3333P", "awardsx", MACHINE_TYPE_386SX, {{"Intel", cpus_i386SX}, {"AMD", cpus_Am386SX}, {"Cyrix", cpus_486SLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 1, 16, 1, 127, machine_at_awardsx_init, NULL },
|
||||||
|
#if defined(DEV_BRANCH) && defined(USE_M6117)
|
||||||
|
{ "[ALi M6117D] Acrosser PJ-A511M", "pja511m", MACHINE_TYPE_386SX, {{"ALi", cpus_ALiM6117}, {"", NULL}, {"", NULL}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT | MACHINE_PS2 | MACHINE_HDC, 1, 64, 1, 127, machine_at_pja511m_init, NULL },
|
||||||
|
#endif
|
||||||
|
|
||||||
/* 386SX machines which utilize the MCA bus */
|
/* 386SX machines which utilize the MCA bus */
|
||||||
{ "[MCA] IBM PS/2 model 55SX", "ibmps2_m55sx", MACHINE_TYPE_386SX, {{"Intel", cpus_i386SX}, {"AMD", cpus_Am386SX}, {"Cyrix", cpus_486SLC}, {"IBM",cpus_IBM486SLC},{"", NULL}}, MACHINE_MCA | MACHINE_AT | MACHINE_PS2 | MACHINE_VIDEO, 1, 8, 1, 63, machine_ps2_model_55sx_init, NULL },
|
{ "[MCA] IBM PS/2 model 55SX", "ibmps2_m55sx", MACHINE_TYPE_386SX, {{"Intel", cpus_i386SX}, {"AMD", cpus_Am386SX}, {"Cyrix", cpus_486SLC}, {"IBM",cpus_IBM486SLC},{"", NULL}}, MACHINE_MCA | MACHINE_AT | MACHINE_PS2 | MACHINE_VIDEO, 1, 8, 1, 63, machine_ps2_model_55sx_init, NULL },
|
||||||
|
|
||||||
/* 386DX machines */
|
/* 386DX machines */
|
||||||
{ "[ACC 2168] AMI 386DX clone", "acc386", MACHINE_TYPE_386DX, {{"Intel", cpus_i386DX}, {"AMD", cpus_Am386DX}, {"Cyrix", cpus_486DLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 16384, 128, 127, machine_at_acc386_init, NULL },
|
{ "[ACC 2168] AMI 386DX clone", "acc386", MACHINE_TYPE_386DX, {{"Intel", cpus_i386DX}, {"AMD", cpus_Am386DX}, {"Cyrix", cpus_486DLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 16384, 128, 127, machine_at_acc386_init, NULL },
|
||||||
{ "[SiS 310] ASUS ISA-386C", "asus386", MACHINE_TYPE_386DX, {{"Intel", cpus_i386DX}, {"AMD", cpus_Am386DX}, {"Cyrix", cpus_486DLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 16384, 128, 127, machine_at_asus386_init, NULL },
|
{ "[SiS 310] ASUS ISA-386C", "asus386", MACHINE_TYPE_386DX, {{"Intel", cpus_i386DX}, {"AMD", cpus_Am386DX}, {"Cyrix", cpus_486DLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 16384, 128, 127, machine_at_asus386_init, NULL },
|
||||||
{ "[ISA] Compaq Portable III (386)", "portableiii386", MACHINE_TYPE_386DX, {{"Intel", cpus_i386DX}, {"AMD", cpus_Am386DX}, {"Cyrix", cpus_486DLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT | MACHINE_HDC | MACHINE_VIDEO, 1, 14, 1, 127, machine_at_portableiii386_init, at_cpqiii_get_device },
|
{ "[ISA] Compaq Portable III (386)", "portableiii386", MACHINE_TYPE_386DX, {{"Intel", cpus_i386DX}, {"AMD", cpus_Am386DX}, {"Cyrix", cpus_486DLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT | MACHINE_HDC | MACHINE_VIDEO, 1, 14, 1, 127, machine_at_portableiii386_init, at_cpqiii_get_device },
|
||||||
{ "[ISA] Micronics 386 clone", "micronics386", MACHINE_TYPE_386DX, {{"Intel", cpus_i386DX}, {"AMD", cpus_Am386DX}, {"Cyrix", cpus_486DLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_micronics386_init, NULL },
|
{ "[ISA] Micronics 386 clone", "micronics386", MACHINE_TYPE_386DX, {{"Intel", cpus_i386DX}, {"AMD", cpus_Am386DX}, {"Cyrix", cpus_486DLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 512, 8192, 128, 127, machine_at_micronics386_init, NULL },
|
||||||
{ "[C&T 386] ECS 386/32", "ecs386", MACHINE_TYPE_386DX, {{"Intel", cpus_i386DX}, {"AMD", cpus_Am386DX}, {"Cyrix", cpus_486DLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 1, 16, 1, 127, machine_at_ecs386_init, NULL },
|
{ "[C&T 386] ECS 386/32", "ecs386", MACHINE_TYPE_386DX, {{"Intel", cpus_i386DX}, {"AMD", cpus_Am386DX}, {"Cyrix", cpus_486DLC}, {"", NULL}, {"", NULL}}, MACHINE_ISA | MACHINE_AT, 1, 16, 1, 127, machine_at_ecs386_init, NULL },
|
||||||
|
@@ -84,6 +84,9 @@ ifeq ($(DEV_BUILD), y)
|
|||||||
ifndef M1489
|
ifndef M1489
|
||||||
M1489 := y
|
M1489 := y
|
||||||
endif
|
endif
|
||||||
|
ifndef M6117
|
||||||
|
M6117 := y
|
||||||
|
endif
|
||||||
ifndef VGAWONDER
|
ifndef VGAWONDER
|
||||||
VGAWONDER := y
|
VGAWONDER := y
|
||||||
endif
|
endif
|
||||||
@@ -163,6 +166,9 @@ else
|
|||||||
ifndef M1489
|
ifndef M1489
|
||||||
M1489 := n
|
M1489 := n
|
||||||
endif
|
endif
|
||||||
|
ifndef M6117
|
||||||
|
M6117 := n
|
||||||
|
endif
|
||||||
ifndef VGAWONDER
|
ifndef VGAWONDER
|
||||||
VGAWONDER := n
|
VGAWONDER := n
|
||||||
endif
|
endif
|
||||||
@@ -560,7 +566,7 @@ endif
|
|||||||
|
|
||||||
ifeq ($(STPC), y)
|
ifeq ($(STPC), y)
|
||||||
OPTS += -DUSE_STPC
|
OPTS += -DUSE_STPC
|
||||||
DEVBROBJ += ali6117.o stpc.o
|
DEVBROBJ += stpc.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(M1489), y)
|
ifeq ($(M1489), y)
|
||||||
@@ -568,6 +574,11 @@ OPTS += -DUSE_M1489
|
|||||||
DEVBROBJ += ali1489.o
|
DEVBROBJ += ali1489.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(M6117), y)
|
||||||
|
OPTS += -DUSE_M6117
|
||||||
|
DEVBROBJ += ali6117.o
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(596B), y)
|
ifeq ($(596B), y)
|
||||||
OPTS += -DUSE_596B
|
OPTS += -DUSE_596B
|
||||||
endif
|
endif
|
||||||
|
Reference in New Issue
Block a user