diff options
| author | 2015-09-29 10:09:23 -0500 | |
|---|---|---|
| committer | 2015-09-29 10:09:23 -0500 | |
| commit | 5e0e2e07b7bd3f4d946255e6c66cccb1fd90f2d9 (patch) | |
| tree | b24ae8d75422af1401b1dbe13a3dfb50f39d72aa /src | |
| parent | 57482828509eec06450e6575ad88d09b2fb58abb (diff) | |
at: let's do it like this instead (nw)
Diffstat (limited to 'src')
| -rw-r--r-- | src/mess/drivers/at.c | 4 | ||||
| -rw-r--r-- | src/mess/includes/at.h | 3 | ||||
| -rw-r--r-- | src/mess/machine/at.c | 17 |
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) |
