diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/bishi.c | 2 | ||||
-rw-r--r-- | src/mame/drivers/djmain.c | 2 | ||||
-rw-r--r-- | src/mame/drivers/konamigx.c | 1 | ||||
-rw-r--r-- | src/mame/drivers/mystwarr.c | 6 | ||||
-rw-r--r-- | src/mame/video/bishi.c | 4 | ||||
-rw-r--r-- | src/mame/video/djmain.c | 8 | ||||
-rw-r--r-- | src/mame/video/k054156_k054157_k056832.c | 4 | ||||
-rw-r--r-- | src/mame/video/k054338.c | 4 | ||||
-rw-r--r-- | src/mame/video/k055555.c | 96 | ||||
-rw-r--r-- | src/mame/video/k055555.h | 23 |
10 files changed, 15 insertions, 135 deletions
diff --git a/src/mame/drivers/bishi.c b/src/mame/drivers/bishi.c index 85802a65ca6..26ef745ab5f 100644 --- a/src/mame/drivers/bishi.c +++ b/src/mame/drivers/bishi.c @@ -151,7 +151,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, bishi_state ) AM_RANGE(0x830000, 0x83003f) AM_DEVWRITE("k056832", k056832_device, word_w) AM_RANGE(0x840000, 0x840007) AM_DEVWRITE("k056832", k056832_device, b_word_w) // VSCCS AM_RANGE(0x850000, 0x85001f) AM_DEVWRITE("k054338", k054338_device, word_w) // CLTC - AM_RANGE(0x870000, 0x8700ff) AM_DEVWRITE("k055555", k055555_device, k055555_word_w) // PCU2 + AM_RANGE(0x870000, 0x8700ff) AM_DEVWRITE("k055555", k055555_device, K055555_word_w) // PCU2 AM_RANGE(0x880000, 0x880003) AM_DEVREADWRITE8("ymz", ymz280b_device, read, write, 0xff00) AM_RANGE(0xa00000, 0xa01fff) AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) // Graphic planes AM_RANGE(0xb00000, 0xb03fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") diff --git a/src/mame/drivers/djmain.c b/src/mame/drivers/djmain.c index 18decd2c41d..21b923fff34 100644 --- a/src/mame/drivers/djmain.c +++ b/src/mame/drivers/djmain.c @@ -399,7 +399,7 @@ static ADDRESS_MAP_START( memory_map, AS_PROGRAM, 32, djmain_state ) AM_RANGE(0x500000, 0x57ffff) AM_READWRITE(sndram_r, sndram_w) // SOUND RAM AM_RANGE(0x580000, 0x58003f) AM_DEVREADWRITE("k056832", k056832_device, long_r, long_w) // VIDEO REG (tilemap) AM_RANGE(0x590000, 0x590007) AM_WRITE(unknown590000_w) // ?? - AM_RANGE(0x5a0000, 0x5a005f) AM_DEVWRITE("k055555", k055555_device, k055555_long_w) // 055555: priority encoder + AM_RANGE(0x5a0000, 0x5a005f) AM_DEVWRITE("k055555", k055555_device, K055555_long_w) // 055555: priority encoder AM_RANGE(0x5b0000, 0x5b04ff) AM_DEVREADWRITE8("k054539_1", k054539_device, read, write, 0xff00ff00) AM_RANGE(0x5b0000, 0x5b04ff) AM_DEVREADWRITE8("k054539_2", k054539_device, read, write, 0x00ff00ff) AM_RANGE(0x5c0000, 0x5c0003) AM_READ8(inp1_r, 0xffffffff) // DSW3,BTN3,BTN2,BTN1 // input port control (buttons and DIP switches) diff --git a/src/mame/drivers/konamigx.c b/src/mame/drivers/konamigx.c index d3659878cf3..a7f61316720 100644 --- a/src/mame/drivers/konamigx.c +++ b/src/mame/drivers/konamigx.c @@ -1013,7 +1013,6 @@ static ADDRESS_MAP_START( gx_base_memmap, AS_PROGRAM, 32, konamigx_state ) AM_RANGE(0xda2000, 0xda3fff) AM_DEVREADWRITE("k056832", k056832_device, ram_long_r, ram_long_w) #if GX_DEBUG AM_RANGE(0xd40000, 0xd4003f) AM_DEVREAD("k056832", k056832_device, long_r) - AM_RANGE(0xd50000, 0xd500ff) AM_DEVREAD("k055555", k055555_device, k055555_long_r) AM_RANGE(0xd4a010, 0xd4a01f) AM_DEVREAD("k055673", k055673_device, k053247_reg_long_r) #endif ADDRESS_MAP_END diff --git a/src/mame/drivers/mystwarr.c b/src/mame/drivers/mystwarr.c index 8f2dda91e3b..4398523e0a3 100644 --- a/src/mame/drivers/mystwarr.c +++ b/src/mame/drivers/mystwarr.c @@ -320,7 +320,6 @@ static ADDRESS_MAP_START( mystwarr_map, AS_PROGRAM, 16, mystwarr_state ) AM_RANGE(0x680000, 0x683fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r) AM_RANGE(0x700000, 0x701fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") #if MW_DEBUG - AM_RANGE(0x480000, 0x4800ff) AM_DEVREAD("k055555", k055555_device, k055555_word_r) AM_RANGE(0x482010, 0x48201f) AM_DEVREAD("k055673", k055673_device, k053247_reg_word_r) AM_RANGE(0x484000, 0x484007) AM_DEVREAD("k055673", k055673_device, k053246_reg_word_r) AM_RANGE(0x48a000, 0x48a01f) AM_DEVREAD("k054338", k054338_device, word_r) @@ -364,7 +363,6 @@ static ADDRESS_MAP_START( metamrph_map, AS_PROGRAM, 16, mystwarr_state ) AM_RANGE(0x240000, 0x240007) AM_DEVREAD("k055673", k055673_device, k053246_reg_word_r) AM_RANGE(0x244010, 0x24401f) AM_DEVREAD("k055673", k055673_device, k053247_reg_word_r) AM_RANGE(0x254000, 0x25401f) AM_DEVREAD("k054338", k054338_device, word_r) - AM_RANGE(0x258000, 0x2580ff) AM_DEVREAD("k055555", k055555_device, k055555_word_r) AM_RANGE(0x26C000, 0x26C007) AM_DEVREAD("k056832", k056832_device, b_word_r) AM_RANGE(0x270000, 0x27003f) AM_DEVREAD("k056832", k056832_device, word_r) #endif @@ -407,7 +405,6 @@ static ADDRESS_MAP_START( viostorm_map, AS_PROGRAM, 16, mystwarr_state ) AM_RANGE(0x240000, 0x240007) AM_DEVREAD("k055673", k055673_device, k053246_reg_word_r) AM_RANGE(0x244010, 0x24401f) AM_DEVREAD("k055673", k055673_device, k053247_reg_word_r) AM_RANGE(0x254000, 0x25401f) AM_DEVREAD("k054338", k054338_device, word_r) - AM_RANGE(0x258000, 0x2580ff) AM_DEVREAD("k055555", k055555_device, k055555_word_r) AM_RANGE(0x26C000, 0x26C007) AM_DEVREAD("k056832", k056832_device, b_word_r) AM_RANGE(0x270000, 0x27003f) AM_DEVREAD("k056832", k056832_device, word_r) #endif @@ -494,7 +491,6 @@ static ADDRESS_MAP_START( martchmp_map, AS_PROGRAM, 16, mystwarr_state ) AM_RANGE(0x682000, 0x683fff) AM_DEVREADWRITE("k056832", k056832_device,ram_word_r,ram_word_w) // tilemap RAM mirror read/write (essential) AM_RANGE(0x700000, 0x703fff) AM_DEVREAD("k056832", k056832_device, mw_rom_word_r) // tile ROM readback #if MW_DEBUG - AM_RANGE(0x400000, 0x4000ff) AM_DEVREAD("k055555", k055555_device, k055555_word_r) AM_RANGE(0x402010, 0x40201f) AM_DEVREAD("k055673", k055673_device, k053247_reg_word_r) AM_RANGE(0x404000, 0x404007) AM_DEVREAD("k055673", k055673_device, k053246_reg_word_r) AM_RANGE(0x40a000, 0x40a01f) AM_DEVREAD("k054338", k054338_device, word_r) @@ -542,7 +538,6 @@ static ADDRESS_MAP_START( dadandrn_map, AS_PROGRAM, 16, mystwarr_state ) AM_RANGE(0x450010, 0x45001f) AM_DEVREAD("k055673", k055673_device, k053247_reg_word_r) AM_RANGE(0x480000, 0x48003f) AM_DEVREAD("k056832", k056832_device, word_r) AM_RANGE(0x482000, 0x482007) AM_DEVREAD("k056832", k056832_device, b_word_r) - AM_RANGE(0x488000, 0x4880ff) AM_DEVREAD("k055555", k055555_device, k055555_word_r) AM_RANGE(0x48c000, 0x48c01f) AM_DEVREAD("k054338", k054338_device, word_r) #endif ADDRESS_MAP_END @@ -589,7 +584,6 @@ static ADDRESS_MAP_START( gaiapols_map, AS_PROGRAM, 16, mystwarr_state ) AM_RANGE(0x450010, 0x45001f) AM_DEVREAD("k055673", k055673_device, k053247_reg_word_r) AM_RANGE(0x480000, 0x48003f) AM_DEVREAD("k056832", k056832_device, word_r) AM_RANGE(0x482000, 0x482007) AM_DEVREAD("k056832", k056832_device, b_word_r) - AM_RANGE(0x488000, 0x4880ff) AM_DEVREAD("k055555", k055555_device, k055555_word_r) AM_RANGE(0x48c000, 0x48c01f) AM_DEVREAD("k054338", k054338_device, word_r) #endif ADDRESS_MAP_END diff --git a/src/mame/video/bishi.c b/src/mame/video/bishi.c index 0ebf68de722..66124be7fcb 100644 --- a/src/mame/video/bishi.c +++ b/src/mame/video/bishi.c @@ -54,7 +54,7 @@ UINT32 bishi_state::screen_update_bishi(screen_device &screen, bitmap_rgb32 &bit for (i = 0; i < 4; i++) { layers[i] = i; - layerpri[i] = m_k055555->k055555_read_register(m_k055555, pris[i]); + layerpri[i] = m_k055555->K055555_read_register(pris[i]); } konami_sortlayers4(layers, layerpri); @@ -63,7 +63,7 @@ UINT32 bishi_state::screen_update_bishi(screen_device &screen, bitmap_rgb32 &bit for (i = 0; i < 4; i++) { - if (m_k055555->k055555_read_register(m_k055555, K55_INPUT_ENABLES) & enables[layers[i]]) + if (m_k055555->K055555_read_register(K55_INPUT_ENABLES) & enables[layers[i]]) { m_k056832->tilemap_draw(screen, bitmap, cliprect, layers[i], 0, 1 << i); } diff --git a/src/mame/video/djmain.c b/src/mame/video/djmain.c index 24f2bff0934..3ead6e5c03a 100644 --- a/src/mame/video/djmain.c +++ b/src/mame/video/djmain.c @@ -16,7 +16,7 @@ void djmain_state::draw_sprites( bitmap_rgb32 &bitmap, const rectangle &cliprect int offs, pri_code; int sortedlist[NUM_SPRITES]; - m_gfxdecode->gfx(0)->set_colorbase(m_k055555->k055555_read_register(m_k055555, K55_PALBASE_SUB2) * 0x400); + m_gfxdecode->gfx(0)->set_colorbase(m_k055555->K055555_read_register(K55_PALBASE_SUB2) * 0x400); for (offs = 0; offs < NUM_SPRITES; offs++) sortedlist[offs] = -1; @@ -140,14 +140,14 @@ void djmain_state::video_start() UINT32 djmain_state::screen_update_djmain(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { - int enables = m_k055555->k055555_read_register(m_k055555, K55_INPUT_ENABLES); + int enables = m_k055555->K055555_read_register(K55_INPUT_ENABLES); int pri[NUM_LAYERS + 1]; int order[NUM_LAYERS + 1]; int i, j; for (i = 0; i < NUM_LAYERS; i++) - pri[i] = m_k055555->k055555_read_register(m_k055555, K55_PRIINP_0 + i * 3); - pri[i] = m_k055555->k055555_read_register(m_k055555, K55_PRIINP_10); + pri[i] = m_k055555->K055555_read_register(K55_PRIINP_0 + i * 3); + pri[i] = m_k055555->K055555_read_register(K55_PRIINP_10); for (i = 0; i < NUM_LAYERS + 1; i++) order[i] = i; diff --git a/src/mame/video/k054156_k054157_k056832.c b/src/mame/video/k054156_k054157_k056832.c index adf53e084f7..55d7bb352b9 100644 --- a/src/mame/video/k054156_k054157_k056832.c +++ b/src/mame/video/k054156_k054157_k056832.c @@ -1477,7 +1477,7 @@ printf("\nend\n"); } */ last_active = m_active_layer; - new_colorbase = (m_k055555 != NULL) ? m_k055555->k055555_get_palette_index(m_k055555, layer) : 0; + new_colorbase = (m_k055555 != NULL) ? m_k055555->K055555_get_palette_index(layer) : 0; for (r = 0; r < rowspan; r++) { @@ -1782,7 +1782,7 @@ void k056832_device::tilemap_draw_dj( screen_device &screen, bitmap_rgb32 &bitma sdat_adv = -sdat_adv; last_active = m_active_layer; - new_colorbase = (m_k055555 != NULL) ? m_k055555->k055555_get_palette_index(m_k055555, layer) : 0; + new_colorbase = (m_k055555 != NULL) ? m_k055555->K055555_get_palette_index(layer) : 0; for (r = 0; r <= rowspan; r++) { diff --git a/src/mame/video/k054338.c b/src/mame/video/k054338.c index f09ae3f83b9..e22cfc304f0 100644 --- a/src/mame/video/k054338.c +++ b/src/mame/video/k054338.c @@ -147,8 +147,8 @@ void k054338_device::fill_backcolor( bitmap_rgb32 &bitmap, int mode ) // (see p. } else { - BGC_CBLK = m_k055555->k055555_read_register(m_k055555, 0); - BGC_SET = m_k055555->k055555_read_register(m_k055555, 1); + BGC_CBLK = m_k055555->K055555_read_register(0); + BGC_SET = m_k055555->K055555_read_register(1); pal_ptr += BGC_CBLK << 9; diff --git a/src/mame/video/k055555.c b/src/mame/video/k055555.c index ebd5f8ec938..85887148199 100644 --- a/src/mame/video/k055555.c +++ b/src/mame/video/k055555.c @@ -137,88 +137,6 @@ int k055555_device::K055555_get_palette_index(int idx) - -/***************************************************************************/ -/* */ -/* 055555 */ -/* */ -/***************************************************************************/ - -/* K055555 5-bit-per-pixel priority encoder */ -/* This device has 48 8-bit-wide registers */ - -/***************************************************************************** - DEVICE HANDLERS -*****************************************************************************/ - -void k055555_device::k055555_write_reg( UINT8 regnum, UINT8 regdat ) -{ - static const char *const rnames[46] = - { - "BGC CBLK", "BGC SET", "COLSET0", "COLSET1", "COLSET2", "COLSET3", "COLCHG ON", - "A PRI 0", "A PRI 1", "A COLPRI", "B PRI 0", "B PRI 1", "B COLPRI", "C PRI", "D PRI", - "OBJ PRI", "SUB1 PRI", "SUB2 PRI", "SUB3 PRI", "OBJ INPRI ON", "S1 INPRI ON", "S2 INPRI ON", - "S3 INPRI ON", "A PAL", "B PAL", "C PAL", "D PAL", "OBJ PAL", "SUB1 PAL", "SUB2 PAL", "SUB3 PAL", - "SUB2 PAL ON", "SUB3 PAL ON", "V INMIX", "V INMIX ON", "OS INMIX", "OS INMIX ON", "SHD PRI 1", - "SHD PRI 2", "SHD PRI 3", "SHD ON", "SHD PRI SEL", "V BRI", "OS INBRI", "OS INBRI ON", "ENABLE" - }; - - if (regdat != m_regs[regnum]) - { - LOG(("5^5: %x to reg %x (%s)\n", regdat, regnum, rnames[regnum])); - } - - m_regs[regnum] = regdat; -} - -WRITE32_MEMBER( k055555_device::k055555_long_w ) -{ - UINT8 regnum, regdat; - - if (ACCESSING_BITS_24_31) - { - regnum = offset << 1; - regdat = data >> 24; - } - else - { - if (ACCESSING_BITS_8_15) - { - regnum = (offset << 1) + 1; - regdat = data >> 8; - } - else - { - // logerror("5^5: unknown mem_mask %08x\n", mem_mask); - return; - } - } - - k055555_write_reg(regnum, regdat); -} - -WRITE16_MEMBER( k055555_device::k055555_word_w ) -{ - if (mem_mask == 0x00ff) - { - k055555_write_reg(offset, data & 0xff); - } - else - { - k055555_write_reg(offset, data >> 8); - } -} - -int k055555_device::k055555_read_register( device_t *device, int regnum ) -{ - return m_regs[regnum]; -} - -int k055555_device::k055555_get_palette_index( device_t *device, int idx ) -{ - return m_regs[K55_PALBASE_A + idx]; -} - /***************************************************************************** DEVICE INTERFACE *****************************************************************************/ @@ -260,17 +178,3 @@ void k055555_device::device_reset() { memset(m_regs, 0, 64 * sizeof(UINT8)); } - - -READ16_MEMBER( k055555_device::k055555_word_r ) -{ - return(m_regs[offset] << 8); -} // PCU2 - - - -READ32_MEMBER( k055555_device::k055555_long_r ) -{ - offset <<= 1; - return (k055555_word_r(space, offset + 1, 0xffff) | k055555_word_r(space, offset, 0xffff) << 16); -} diff --git a/src/mame/video/k055555.h b/src/mame/video/k055555.h index 1e508e4e559..b8b10634a7f 100644 --- a/src/mame/video/k055555.h +++ b/src/mame/video/k055555.h @@ -81,26 +81,11 @@ public: k055555_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); ~k055555_device() { } - void k055555_write_reg(UINT8 regnum, UINT8 regdat); - - - /** Konami 055555 **/ - - DECLARE_WRITE16_MEMBER( k055555_word_w ); - DECLARE_WRITE32_MEMBER( k055555_long_w ); - int k055555_read_register(device_t *device, int regnum); - int k055555_get_palette_index(device_t *device, int idx); - - // debug handlers - DECLARE_READ16_MEMBER( k055555_word_r ); // PCU2 - DECLARE_READ32_MEMBER( k055555_long_r ); // PCU2 - - - - /* alt implementation to merge */ void K055555_write_reg(UINT8 regnum, UINT8 regdat); + DECLARE_WRITE16_MEMBER( K055555_word_w ); DECLARE_WRITE32_MEMBER( K055555_long_w ); + int K055555_read_register(int regnum); int K055555_get_palette_index(int idx); @@ -110,10 +95,8 @@ protected: virtual void device_start(); virtual void device_reset(); - UINT8 m_regs[128]; - private: - + UINT8 m_regs[128]; }; extern const device_type K055555; |