mirror of
https://github.com/holub/mame
synced 2025-10-06 09:00:04 +03:00
More clean-ups.
This commit is contained in:
parent
179883f35e
commit
9fcb8359e6
@ -257,7 +257,6 @@ public:
|
||||
m_dpram(*this, "dpram"),
|
||||
m_paletteram(*this, "paletteram"),
|
||||
m_spriteram(*this, "spriteram"),
|
||||
m_serial_comms_ram(*this, "serialram"),
|
||||
m_rozram(*this, "rozram"),
|
||||
m_roz_ctrl(*this, "rozctrl"),
|
||||
m_c45_road(*this, "c45_road")
|
||||
@ -324,10 +323,6 @@ public:
|
||||
DECLARE_WRITE16_MEMBER( rozram_word_w );
|
||||
DECLARE_READ16_MEMBER( gfx_ctrl_r );
|
||||
DECLARE_WRITE16_MEMBER( gfx_ctrl_w );
|
||||
DECLARE_READ16_MEMBER( serial_comms_ram_r );
|
||||
DECLARE_WRITE16_MEMBER( serial_comms_ram_w );
|
||||
DECLARE_READ16_MEMBER( serial_comms_ctrl_r );
|
||||
DECLARE_WRITE16_MEMBER( serial_comms_ctrl_w );
|
||||
|
||||
void draw_sprite_init();
|
||||
void update_palette();
|
||||
@ -343,7 +338,6 @@ public:
|
||||
required_shared_ptr<uint8_t> m_dpram; /* 2Kx8 */
|
||||
required_shared_ptr<uint16_t> m_paletteram;
|
||||
optional_shared_ptr<uint16_t> m_spriteram;
|
||||
optional_shared_ptr<uint16_t> m_serial_comms_ram;
|
||||
optional_shared_ptr<uint16_t> m_rozram;
|
||||
optional_shared_ptr<uint16_t> m_roz_ctrl;
|
||||
tilemap_t *m_tilemap_roz;
|
||||
|
@ -1,11 +1,12 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:<author_name>
|
||||
// copyright-holders:Angelo Salese
|
||||
/***************************************************************************
|
||||
|
||||
Namco C139 - Serial I/F Controller
|
||||
|
||||
|
||||
TODO:
|
||||
- Make this to actually work!
|
||||
- Is RAM shared with a specific CPU other than master/slave?
|
||||
|
||||
***************************************************************************/
|
||||
@ -33,7 +34,7 @@ ADDRESS_MAP_END
|
||||
|
||||
DEVICE_ADDRESS_MAP_START( regs_map, 16, namco_c139_device )
|
||||
AM_RANGE(0x00, 0x00) AM_READ(status_r) // WRITE clears flags
|
||||
// AM_RANGE(0x02, 0x02) // settings?
|
||||
AM_RANGE(0x02, 0x02) AM_NOP // settings?
|
||||
// AM_RANGE(0x0a, 0x0a) // WRITE tx_w
|
||||
// AM_RANGE(0x0c, 0x0c) // READ rx_r
|
||||
// AM_RANGE(0x0e, 0x0e) //
|
||||
|
@ -76,23 +76,23 @@ namco_c148_device::namco_c148_device(const machine_config &mconfig, const char *
|
||||
|
||||
// (*) denotes master CPU only
|
||||
DEVICE_ADDRESS_MAP_START( map, 16, namco_c148_device )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x3e000)
|
||||
AM_RANGE(0x06000, 0x06000) AM_READWRITE8(cpu_irq_level_r,cpu_irq_level_w,0x00ff) // CPUIRQ lv
|
||||
AM_RANGE(0x08000, 0x08000) AM_READWRITE8(ex_irq_level_r,ex_irq_level_w,0x00ff) // EXIRQ lv
|
||||
AM_RANGE(0x0a000, 0x0a000) AM_READWRITE8(pos_irq_level_r,pos_irq_level_w,0x00ff) // POSIRQ lv
|
||||
AM_RANGE(0x0c000, 0x0c000) AM_READWRITE8(sci_irq_level_r,sci_irq_level_w,0x00ff) // SCIRQ lv
|
||||
AM_RANGE(0x0e000, 0x0e000) AM_READWRITE8(vblank_irq_level_r,vblank_irq_level_w,0x00ff) // VBlank IRQ lv
|
||||
AM_RANGE(0x04000, 0x05fff) AM_READWRITE8(bus_ctrl_r, bus_ctrl_w, 0x00ff)
|
||||
AM_RANGE(0x06000, 0x07fff) AM_READWRITE8(cpu_irq_level_r,cpu_irq_level_w,0x00ff) // CPUIRQ lv
|
||||
AM_RANGE(0x08000, 0x09fff) AM_READWRITE8(ex_irq_level_r,ex_irq_level_w,0x00ff) // EXIRQ lv
|
||||
AM_RANGE(0x0a000, 0x0bfff) AM_READWRITE8(pos_irq_level_r,pos_irq_level_w,0x00ff) // POSIRQ lv
|
||||
AM_RANGE(0x0c000, 0x0dfff) AM_READWRITE8(sci_irq_level_r,sci_irq_level_w,0x00ff) // SCIRQ lv
|
||||
AM_RANGE(0x0e000, 0x0ffff) AM_READWRITE8(vblank_irq_level_r,vblank_irq_level_w,0x00ff) // VBlank IRQ lv
|
||||
|
||||
AM_RANGE(0x10000, 0x10000) AM_WRITE(cpu_irq_assert_w)
|
||||
AM_RANGE(0x16000, 0x16000) AM_READWRITE(cpu_irq_ack_r, cpu_irq_ack_w) // CPUIRQ ack
|
||||
AM_RANGE(0x18000, 0x18000) AM_READWRITE(ex_irq_ack_r, ex_irq_ack_w) // EXIRQ ack
|
||||
AM_RANGE(0x1a000, 0x1a000) AM_READWRITE(pos_irq_ack_r, pos_irq_ack_w) // POSIRQ ack
|
||||
AM_RANGE(0x1c000, 0x1c000) AM_READWRITE(sci_irq_ack_r, sci_irq_ack_w) // SCIRQ ack
|
||||
AM_RANGE(0x1e000, 0x1e000) AM_READWRITE(vblank_irq_ack_r, vblank_irq_ack_w) // VBlank IRQ ack
|
||||
AM_RANGE(0x20000, 0x20000) AM_READ8(ext_r,0x00ff) // EEPROM ready status (*)
|
||||
AM_RANGE(0x22000, 0x22000) AM_WRITE8(ext1_w,0x00ff) // sound CPU reset (*)
|
||||
AM_RANGE(0x24000, 0x24000) AM_WRITE8(ext2_w,0x00ff) // slave & i/o reset (*)
|
||||
AM_RANGE(0x26000, 0x26000) AM_NOP // watchdog
|
||||
AM_RANGE(0x10000, 0x11fff) AM_WRITE(cpu_irq_assert_w)
|
||||
AM_RANGE(0x16000, 0x17fff) AM_READWRITE(cpu_irq_ack_r, cpu_irq_ack_w) // CPUIRQ ack
|
||||
AM_RANGE(0x18000, 0x19fff) AM_READWRITE(ex_irq_ack_r, ex_irq_ack_w) // EXIRQ ack
|
||||
AM_RANGE(0x1a000, 0x1bfff) AM_READWRITE(pos_irq_ack_r, pos_irq_ack_w) // POSIRQ ack
|
||||
AM_RANGE(0x1c000, 0x1dfff) AM_READWRITE(sci_irq_ack_r, sci_irq_ack_w) // SCIRQ ack
|
||||
AM_RANGE(0x1e000, 0x1ffff) AM_READWRITE(vblank_irq_ack_r, vblank_irq_ack_w) // VBlank IRQ ack
|
||||
AM_RANGE(0x20000, 0x21fff) AM_READ8(ext_r,0x00ff) // EEPROM ready status (*)
|
||||
AM_RANGE(0x22000, 0x23fff) AM_READNOP AM_WRITE8(ext1_w,0x00ff) // sound CPU reset (*)
|
||||
AM_RANGE(0x24000, 0x25fff) AM_WRITE8(ext2_w,0x00ff) // slave & i/o reset (*)
|
||||
AM_RANGE(0x26000, 0x27fff) AM_NOP // watchdog
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -184,6 +184,17 @@ WRITE8_MEMBER( namco_c148_device::ext2_w )
|
||||
// TODO: bit 1/2 in Winning Run GPU might be irq enable?
|
||||
}
|
||||
|
||||
READ8_MEMBER( namco_c148_device::bus_ctrl_r )
|
||||
{
|
||||
return m_bus_reg;
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( namco_c148_device::bus_ctrl_w )
|
||||
{
|
||||
m_bus_reg = data & 7;
|
||||
}
|
||||
|
||||
|
||||
WRITE16_MEMBER( namco_c148_device::cpu_irq_assert_w)
|
||||
{
|
||||
// TODO: Starblade relies on this for showing large polygons, is it the right place?
|
||||
|
@ -91,6 +91,9 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( ext_posirq_line_w );
|
||||
DECLARE_WRITE16_MEMBER( cpu_irq_assert_w );
|
||||
|
||||
DECLARE_READ8_MEMBER( bus_ctrl_r );
|
||||
DECLARE_WRITE8_MEMBER( bus_ctrl_w );
|
||||
|
||||
DECLARE_READ8_MEMBER( ext_r );
|
||||
DECLARE_WRITE8_MEMBER( ext1_w );
|
||||
DECLARE_WRITE8_MEMBER( ext2_w );
|
||||
@ -121,6 +124,7 @@ private:
|
||||
}m_irqlevel;
|
||||
|
||||
uint8_t m_posirq_line;
|
||||
uint8_t m_bus_reg;
|
||||
void flush_irq_acks();
|
||||
};
|
||||
|
||||
|
@ -178,40 +178,6 @@ READ8_MEMBER( namcos2_shared_state::namcos2_68k_eeprom_r )
|
||||
return m_eeprom[offset];
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**************************************************************/
|
||||
/* 68000 Shared serial communications processor (CPU5?) */
|
||||
/**************************************************************/
|
||||
|
||||
READ16_MEMBER( namcos2_state::serial_comms_ram_r ){
|
||||
return m_serial_comms_ram[offset];
|
||||
}
|
||||
|
||||
WRITE16_MEMBER( namcos2_state::serial_comms_ram_w ){
|
||||
COMBINE_DATA( &m_serial_comms_ram[offset] );
|
||||
}
|
||||
|
||||
READ16_MEMBER( namcos2_state::serial_comms_ctrl_r )
|
||||
{
|
||||
uint16_t retval = m_serial_comms_ctrl[offset];
|
||||
|
||||
switch(offset){
|
||||
case 0x00:
|
||||
retval |= 0x0004; /* Set READY? status bit */
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
WRITE16_MEMBER( namcos2_state::serial_comms_ctrl_w )
|
||||
{
|
||||
COMBINE_DATA( &m_serial_comms_ctrl[offset] );
|
||||
}
|
||||
|
||||
/*************************************************************/
|
||||
/* 68000 Shared protection/random key generator */
|
||||
/*************************************************************
|
||||
|
Loading…
Reference in New Issue
Block a user