summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/px4.c
diff options
context:
space:
mode:
author Dirk Best <mail@dirk-best.de>2012-11-02 15:32:18 +0000
committer Dirk Best <mail@dirk-best.de>2012-11-02 15:32:18 +0000
commit7a9c6b34a98ca772dd9e01b59d9dc5b260504ea5 (patch)
tree53abb63f23ebd281d81c6f403b152a85faa382f5 /src/mess/drivers/px4.c
parent09a929077dab87bd036bed2c68505903f16d509c (diff)
px4: more cleanups, small fixes
Diffstat (limited to 'src/mess/drivers/px4.c')
-rw-r--r--src/mess/drivers/px4.c43
1 files changed, 16 insertions, 27 deletions
diff --git a/src/mess/drivers/px4.c b/src/mess/drivers/px4.c
index 2c2e7498f2a..50415e37b2d 100644
--- a/src/mess/drivers/px4.c
+++ b/src/mess/drivers/px4.c
@@ -187,10 +187,6 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(frc_tick);
TIMER_DEVICE_CALLBACK_MEMBER(upd7508_1sec_callback);
- void px4_sio_txd(device_t *device,int state);
- int px4_sio_rxd(device_t *device);
- int px4_sio_pin(device_t *device);
- void px4_sio_pout(device_t *device,int state);
void px4_rs232c_txd(device_t *device,int state);
int px4_rs232c_rxd(device_t *device);
void px4_rs232c_rts(device_t *device,int state);
@@ -474,25 +470,19 @@ READ8_MEMBER(px4_state::px4_str_r)
void px4_state::install_rom_capsule(address_space &space, int size, const char *region)
{
// ram, part 1
- space.install_readwrite_bank(0x0000, 0xdfff - size, "bank1");
- membank("bank1")->set_base(m_ram->pointer());
+ space.install_ram(0x0000, 0xdfff - size, 0, 0, m_ram->pointer());
// actual rom data, part 1
- space.install_read_bank(0xe000 - size, 0xffff - size, "bank2");
- space.nop_write(0xe000 - size, 0xffff - size);
- membank("bank2")->set_base(memregion(region)->base() + (size - 0x2000));
+ space.install_rom(0xe000 - size, 0xffff, 0, 0, memregion(region)->base() + (size - 0x2000));
// rom data, part 2
if (size != 0x2000)
{
- space.install_read_bank(0x10000 - size, 0xdfff, "bank3");
- space.nop_write(0x10000 - size, 0xdfff);
- membank("bank3")->set_base(memregion(region)->base());
+ space.install_rom(0x10000 - size, 0xdfff, 0, 0, memregion(region)->base());
}
// ram, continued
- space.install_readwrite_bank(0xe000, 0xffff, "bank4");
- membank("bank4")->set_base(m_ram->pointer() + 0xe000);
+ space.install_ram(0xe000, 0xffff, 0, 0, m_ram->pointer() + 0xe000);
}
// bank register
@@ -505,22 +495,18 @@ WRITE8_MEMBER(px4_state::px4_bankr_w)
m_bankr = data;
- /* bank switch */
+ // bank switch
switch (data >> 4)
{
case 0x00:
- /* system bank */
- space_program.install_read_bank(0x0000, 0x7fff, "bank1");
- space_program.nop_write(0x0000, 0x7fff);
- membank("bank1")->set_base(memregion("os")->base());
- space_program.install_readwrite_bank(0x8000, 0xffff, "bank2");
- membank("bank2")->set_base(m_ram->pointer() + 0x8000);
+ // system bank
+ space_program.install_rom(0x0000, 0x7fff, 0, 0, memregion("os")->base());
+ space_program.install_ram(0x8000, 0xffff, 0, 0, m_ram->pointer() + 0x8000);
break;
case 0x04:
- /* memory */
- space_program.install_readwrite_bank(0x0000, 0xffff, "bank1");
- membank("bank1")->set_base(m_ram->pointer());
+ // memory
+ space_program.install_ram(0x0000, 0xffff, 0, 0, m_ram->pointer());
break;
case 0x08: install_rom_capsule(space_program, 0x2000, "capsule1"); break;
@@ -584,7 +570,7 @@ WRITE8_MEMBER(px4_state::px4_sior_w)
}
else
{
- // nothing happenend
+ // nothing happened
m_sior = 0xbf;
}
@@ -751,6 +737,9 @@ READ8_MEMBER(px4_state::px4_artdir_r)
if (VERBOSE)
logerror("%s: px4_artdir_r\n", machine().describe_context());
+ // clear ready
+ m_artsr &= ~ART_RXRDY;
+
return m_artdir;
}
@@ -798,7 +787,7 @@ READ8_MEMBER(px4_state::px4_iostr_r)
result |= m_centronics->busy_r() << 0;
result |= !m_centronics->pe_r() << 1;
- result |= m_sio->pin_r() << 2;
+ result |= !m_sio->pin_r() << 2;
result |= m_sio->rx_r() << 3;
result |= px4_rs232c_dcd(m_rs232c_device) << 4;
result |= px4_rs232c_cts(m_rs232c_device) << 5;
@@ -858,7 +847,7 @@ WRITE8_MEMBER(px4_state::px4_ioctlr_w)
m_centronics->strobe_w(!BIT(data, 0));
m_centronics->init_prime_w(BIT(data, 1));
- m_sio->pout_w(BIT(data, 2));
+ m_sio->pout_w(!BIT(data, 2));
// bit 3, cartridge reset