summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mess/drivers/at.c4
-rw-r--r--src/mess/includes/at.h3
-rw-r--r--src/mess/machine/at.c17
3 files changed, 15 insertions, 9 deletions
diff --git a/src/mess/drivers/at.c b/src/mess/drivers/at.c
index 2af5a1bfc06..e02423a3b32 100644
--- a/src/mess/drivers/at.c
+++ b/src/mess/drivers/at.c
@@ -243,7 +243,7 @@ DRIVER_INIT_MEMBER(at_state, megapcpla)
{
UINT8* ROM = memregion("maincpu")->base();
- init_at_common();
+ init_at_common(0xa0000);
ROM[0xf3c2a] = 0x45; // hack to fix keyboard. To be removed when the keyboard controller from the MegaPC is dumped
ROM[0xfaf37] = 0x45;
@@ -1702,7 +1702,7 @@ COMP ( 1993, apxena1, ibm5170, 0, at486, atvga, at_state, atvga,
COMP ( 1993, apxenp2, ibm5170, 0, at486, atvga, at_state, atvga, "Apricot", "Apricot XEN PC (P2 Motherboard)", MACHINE_NOT_WORKING )
COMP ( 1990, c386sx16, ibm5170, 0, at386sx, atvga, at_state, atvga, "Commodore Business Machines", "Commodore 386SX-16", MACHINE_NOT_WORKING )
COMP ( 1988, cmdpc30, ibm5170, 0, ibm5162, atcga, at_state, atcga, "Commodore Business Machines", "PC 30 III", MACHINE_NOT_WORKING )
-COMP ( 1995, ficpio2, ibm5170, 0, ficpio2, atvga, at_state, atvga, "FIC", "486-PIO-2", MACHINE_NOT_WORKING )
+COMP ( 1995, ficpio2, ibm5170, 0, ficpio2, atvga, at_state, atpci, "FIC", "486-PIO-2", MACHINE_NOT_WORKING )
COMP ( 1997, ficvt503, ibm5170, 0, at586, atvga, driver_device, 0, "FIC", "VT-503", MACHINE_NOT_WORKING )
COMP ( 1985, k286i, ibm5170, 0, k286i, atcga, at_state, atcga, "Kaypro", "286i", MACHINE_NOT_WORKING )
COMP ( 1991, t2000sx, ibm5170, 0, at386sx, atvga, at_state, atvga, "Toshiba", "T2000SX", MACHINE_NOT_WORKING )
diff --git a/src/mess/includes/at.h b/src/mess/includes/at.h
index a36be1b668b..63391195f90 100644
--- a/src/mess/includes/at.h
+++ b/src/mess/includes/at.h
@@ -161,10 +161,11 @@ public:
DECLARE_DRIVER_INIT(atcga);
DECLARE_DRIVER_INIT(atvga);
DECLARE_DRIVER_INIT(megapcpla);
+ DECLARE_DRIVER_INIT(atpci);
DECLARE_MACHINE_START(at);
DECLARE_MACHINE_RESET(at);
void pc_set_dma_channel(int channel, int state);
- void init_at_common();
+ void init_at_common(int xmsbase);
UINT32 at_286_a20(bool state);
};
diff --git a/src/mess/machine/at.c b/src/mess/machine/at.c
index 3b370b023dc..ffc817fbaba 100644
--- a/src/mess/machine/at.c
+++ b/src/mess/machine/at.c
@@ -265,30 +265,35 @@ READ8_MEMBER( at_state::ps2_portb_r )
*
**********************************************************/
-void at_state::init_at_common()
+void at_state::init_at_common(int xmsbase)
{
address_space& space = m_maincpu->space(AS_PROGRAM);
/* MESS managed RAM */
membank("bank10")->set_base(m_ram->pointer());
- if (m_ram->size() > 0x100000)
+ if (m_ram->size() > xmsbase)
{
- offs_t ram_limit = 0x100000 + m_ram->size() - 0x100000;
+ offs_t ram_limit = 0x100000 + m_ram->size() - xmsbase;
space.install_read_bank(0x100000, ram_limit - 1, "bank1");
space.install_write_bank(0x100000, ram_limit - 1, "bank1");
- membank("bank1")->set_base(m_ram->pointer() + 0x100000);
+ membank("bank1")->set_base(m_ram->pointer() + xmsbase);
}
}
DRIVER_INIT_MEMBER(at_state,atcga)
{
- init_at_common();
+ init_at_common(0xa0000);
}
DRIVER_INIT_MEMBER(at_state,atvga)
{
- init_at_common();
+ init_at_common(0xa0000);
+}
+
+DRIVER_INIT_MEMBER(at_state,atpci)
+{
+ init_at_common(0x100000);
}
DRIVER_INIT_MEMBER(at586_state,at586)