Fixed the hard disk controller mess (and added a check to prevent double IDE initialization), and made IDE always initialized as a device_t.
This commit is contained in:
@@ -15,7 +15,6 @@
|
||||
#include "../keyboard.h"
|
||||
#include "../lpt.h"
|
||||
#include "../disk/hdc.h"
|
||||
#include "../disk/hdc_ide.h"
|
||||
#include "machine.h"
|
||||
|
||||
|
||||
@@ -61,7 +60,7 @@ machine_at_common_ide_init(machine_t *model)
|
||||
{
|
||||
machine_at_common_init(model);
|
||||
|
||||
ide_init();
|
||||
device_add(&ide_isa_2ch_opt_device);
|
||||
}
|
||||
|
||||
|
||||
@@ -70,7 +69,7 @@ machine_at_ide_init(machine_t *model)
|
||||
{
|
||||
machine_at_init(model);
|
||||
|
||||
ide_init();
|
||||
device_add(&ide_isa_2ch_opt_device);
|
||||
}
|
||||
|
||||
|
||||
@@ -79,7 +78,7 @@ machine_at_ps2_ide_init(machine_t *model)
|
||||
{
|
||||
machine_at_ps2_init(model);
|
||||
|
||||
ide_init();
|
||||
device_add(&ide_isa_2ch_opt_device);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* Implementation of the Intel 430FX PCISet chip.
|
||||
*
|
||||
* Version: @(#)m_at_430fx.c 1.0.11 2018/02/09
|
||||
* Version: @(#)m_at_430fx.c 1.0.12 2018/02/14
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -208,7 +208,7 @@ static void i430fx_init(void)
|
||||
void
|
||||
machine_at_p54tp4xe_init(machine_t *model)
|
||||
{
|
||||
machine_at_ps2_ide_init(model);
|
||||
machine_at_ps2_init(model);
|
||||
|
||||
memregs_init();
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
@@ -229,7 +229,7 @@ machine_at_p54tp4xe_init(machine_t *model)
|
||||
void
|
||||
machine_at_endeavor_init(machine_t *model)
|
||||
{
|
||||
machine_at_common_ide_init(model);
|
||||
machine_at_common_init(model);
|
||||
device_add(&keyboard_ps2_ami_device);
|
||||
|
||||
memregs_init();
|
||||
@@ -262,7 +262,7 @@ at_endeavor_get_device(void)
|
||||
void
|
||||
machine_at_zappa_init(machine_t *model)
|
||||
{
|
||||
machine_at_common_ide_init(model);
|
||||
machine_at_common_init(model);
|
||||
device_add(&keyboard_ps2_ami_device);
|
||||
|
||||
memregs_init();
|
||||
@@ -283,7 +283,7 @@ machine_at_zappa_init(machine_t *model)
|
||||
void
|
||||
machine_at_mb500n_init(machine_t *model)
|
||||
{
|
||||
machine_at_ps2_ide_init(model);
|
||||
machine_at_ps2_init(model);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||
@@ -303,7 +303,7 @@ machine_at_mb500n_init(machine_t *model)
|
||||
void
|
||||
machine_at_president_init(machine_t *model)
|
||||
{
|
||||
machine_at_ps2_ide_init(model);
|
||||
machine_at_ps2_init(model);
|
||||
|
||||
memregs_init();
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
@@ -324,7 +324,7 @@ machine_at_president_init(machine_t *model)
|
||||
void
|
||||
machine_at_thor_init(machine_t *model)
|
||||
{
|
||||
machine_at_common_ide_init(model);
|
||||
machine_at_common_init(model);
|
||||
device_add(&keyboard_ps2_ami_device);
|
||||
|
||||
memregs_init();
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* Implementation of the Intel 430HX PCISet chip.
|
||||
*
|
||||
* Version: @(#)m_at_430hx.c 1.0.10 2018/01/04
|
||||
* Version: @(#)m_at_430hx.c 1.0.11 2018/02/14
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -218,7 +218,7 @@ acerm3a_in(uint16_t port, void *p)
|
||||
void
|
||||
machine_at_acerm3a_init(machine_t *model)
|
||||
{
|
||||
machine_at_ps2_ide_init(model);
|
||||
machine_at_ps2_init(model);
|
||||
|
||||
powermate_memregs_init();
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
@@ -241,7 +241,7 @@ machine_at_acerm3a_init(machine_t *model)
|
||||
void
|
||||
machine_at_acerv35n_init(machine_t *model)
|
||||
{
|
||||
machine_at_ps2_ide_init(model);
|
||||
machine_at_ps2_init(model);
|
||||
|
||||
powermate_memregs_init();
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
@@ -264,7 +264,7 @@ machine_at_acerv35n_init(machine_t *model)
|
||||
void
|
||||
machine_at_ap53_init(machine_t *model)
|
||||
{
|
||||
machine_at_common_ide_init(model);
|
||||
machine_at_common_init(model);
|
||||
device_add(&keyboard_ps2_ami_device);
|
||||
|
||||
memregs_init();
|
||||
@@ -288,7 +288,7 @@ machine_at_ap53_init(machine_t *model)
|
||||
void
|
||||
machine_at_p55t2p4_init(machine_t *model)
|
||||
{
|
||||
machine_at_ps2_ide_init(model);
|
||||
machine_at_ps2_init(model);
|
||||
|
||||
memregs_init();
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
@@ -309,7 +309,7 @@ machine_at_p55t2p4_init(machine_t *model)
|
||||
void
|
||||
machine_at_p55t2s_init(machine_t *model)
|
||||
{
|
||||
machine_at_common_ide_init(model);
|
||||
machine_at_common_init(model);
|
||||
device_add(&keyboard_ps2_ami_device);
|
||||
|
||||
memregs_init();
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* Implementation of the Intel 430LX and 430NX PCISet chips.
|
||||
*
|
||||
* Version: @(#)m_at_430lx_nx.c 1.0.9 2018/01/04
|
||||
* Version: @(#)m_at_430lx_nx.c 1.0.10 2018/02/14
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -213,7 +213,7 @@ static void i430nx_init(void)
|
||||
static void
|
||||
machine_at_premiere_common_init(machine_t *model)
|
||||
{
|
||||
machine_at_common_ide_init(model);
|
||||
machine_at_common_init(model);
|
||||
device_add(&keyboard_ps2_ami_device);
|
||||
|
||||
memregs_init();
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* Implementation of the Intel 430VX PCISet chip.
|
||||
*
|
||||
* Version: @(#)m_at_430vx.c 1.0.10 2018/01/04
|
||||
* Version: @(#)m_at_430vx.c 1.0.11 2018/02/14
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -195,7 +195,7 @@ void i430vx_init(void)
|
||||
void
|
||||
machine_at_p55tvp4_init(machine_t *model)
|
||||
{
|
||||
machine_at_ps2_ide_init(model);
|
||||
machine_at_ps2_init(model);
|
||||
|
||||
memregs_init();
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
@@ -216,7 +216,7 @@ machine_at_p55tvp4_init(machine_t *model)
|
||||
void
|
||||
machine_at_i430vx_init(machine_t *model)
|
||||
{
|
||||
machine_at_ps2_ide_init(model);
|
||||
machine_at_ps2_init(model);
|
||||
|
||||
memregs_init();
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
@@ -237,7 +237,7 @@ machine_at_i430vx_init(machine_t *model)
|
||||
void
|
||||
machine_at_p55va_init(machine_t *model)
|
||||
{
|
||||
machine_at_ps2_ide_init(model);
|
||||
machine_at_ps2_init(model);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_SPECIAL, 0, 0, 0, 0);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* Implementation of the Intel 440FX PCISet chip.
|
||||
*
|
||||
* Version: @(#)m_at_440fx.c 1.0.9 2018/01/04
|
||||
* Version: @(#)m_at_440fx.c 1.0.10 2018/02/14
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -197,7 +197,7 @@ static void i440fx_init(void)
|
||||
void
|
||||
machine_at_i440fx_init(machine_t *model)
|
||||
{
|
||||
machine_at_ps2_ide_init(model);
|
||||
machine_at_ps2_init(model);
|
||||
|
||||
memregs_init();
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
@@ -219,7 +219,7 @@ machine_at_i440fx_init(machine_t *model)
|
||||
void
|
||||
machine_at_s1668_init(machine_t *model)
|
||||
{
|
||||
machine_at_common_ide_init(model);
|
||||
machine_at_common_init(model);
|
||||
device_add(&keyboard_ps2_ami_device);
|
||||
|
||||
memregs_init();
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*
|
||||
* Emulation of various Compaq PC's.
|
||||
*
|
||||
* Version: @(#)m_at_compaq.c 1.0.3 2018/01/16
|
||||
* Version: @(#)m_at_compaq.c 1.0.4 2018/02/14
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -112,7 +112,7 @@ machine_at_compaq_init(machine_t *model)
|
||||
#ifdef PORTABLE3
|
||||
case ROM_DESKPRO_386:
|
||||
if (hdc_current == 1)
|
||||
ide_init();
|
||||
device_add(&ide_isa_device);
|
||||
break;
|
||||
#endif
|
||||
|
||||
@@ -130,7 +130,7 @@ machine_at_compaq_init(machine_t *model)
|
||||
case ROM_PORTABLEIII386:
|
||||
machine_olim24_video_init();
|
||||
if (hdc_current == 1)
|
||||
ide_init();
|
||||
device_add(&ide_isa_device);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -8,11 +8,13 @@
|
||||
#include <wchar.h>
|
||||
#include "../86box.h"
|
||||
#include "../cpu/cpu.h"
|
||||
#include "../device.h"
|
||||
#include "../io.h"
|
||||
#include "../pci.h"
|
||||
#include "../mem.h"
|
||||
#include "../memregs.h"
|
||||
#include "../sio.h"
|
||||
#include "../disk/hdc.h"
|
||||
#include "machine.h"
|
||||
|
||||
|
||||
@@ -162,7 +164,8 @@ static void sis_85c496_init(void)
|
||||
static void
|
||||
machine_at_sis_85c496_common_init(machine_t *model)
|
||||
{
|
||||
machine_at_ps2_ide_init(model);
|
||||
machine_at_ps2_init(model);
|
||||
device_add(&ide_pci_device);
|
||||
|
||||
memregs_init();
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
* boot. Sometimes, they do, and then it shows an "Incorrect
|
||||
* DOS" error message?? --FvK
|
||||
*
|
||||
* Version: @(#)m_ps1.c 1.0.5 2018/01/16
|
||||
* Version: @(#)m_ps1.c 1.0.6 2018/02/14
|
||||
*
|
||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
@@ -549,7 +549,7 @@ ps1_common_init(machine_t *model)
|
||||
nvr_at_init(8);
|
||||
|
||||
if (romset != ROM_IBMPS1_2011)
|
||||
ide_init();
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
device_add(&keyboard_ps2_device);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user