trunk/src/mame/drivers/mcr68.c
| r248615 | r248616 | |
| 308 | 308 | AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(mcr68_videoram_w) AM_SHARE("videoram") |
| 309 | 309 | AM_RANGE(0x071000, 0x071fff) AM_RAM |
| 310 | 310 | AM_RANGE(0x080000, 0x080fff) AM_RAM AM_SHARE("spriteram") |
| 311 | | AM_RANGE(0x090000, 0x09007f) AM_WRITE(mcr68_paletteram_w) AM_SHARE("paletteram") |
| 311 | AM_RANGE(0x090000, 0x09007f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") |
| 312 | 312 | AM_RANGE(0x0a0000, 0x0a000f) AM_READWRITE(mcr68_6840_upper_r, mcr68_6840_upper_w) |
| 313 | 313 | AM_RANGE(0x0b0000, 0x0bffff) AM_WRITE(watchdog_reset16_w) |
| 314 | 314 | AM_RANGE(0x0d0000, 0x0dffff) AM_READ_PORT("IN0") |
| r248615 | r248616 | |
| 334 | 334 | AM_RANGE(0x108000, 0x108007) AM_DEVREADWRITE8("pia1", pia6821_device, read, write, 0x00ff) |
| 335 | 335 | AM_RANGE(0x10c000, 0x10c007) AM_DEVREADWRITE8("pia2", pia6821_device, read, write, 0x00ff) |
| 336 | 336 | AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(zwackery_videoram_w) AM_SHARE("videoram") |
| 337 | | AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(zwackery_paletteram_w) AM_SHARE("paletteram") |
| 337 | AM_RANGE(0x802000, 0x803fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") |
| 338 | 338 | AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(zwackery_spriteram_w) AM_SHARE("spriteram") |
| 339 | 339 | ADDRESS_MAP_END |
| 340 | 340 | |
| r248615 | r248616 | |
| 352 | 352 | AM_RANGE(0x000000, 0x03ffff) AM_ROM |
| 353 | 353 | AM_RANGE(0x080000, 0x08ffff) AM_READ(pigskin_port_1_r) |
| 354 | 354 | AM_RANGE(0x0a0000, 0x0affff) AM_READ(pigskin_port_2_r) |
| 355 | | AM_RANGE(0x0c0000, 0x0c007f) AM_WRITE(mcr68_paletteram_w) AM_SHARE("paletteram") |
| 355 | AM_RANGE(0x0c0000, 0x0c007f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") |
| 356 | 356 | AM_RANGE(0x0e0000, 0x0effff) AM_WRITE(watchdog_reset16_w) |
| 357 | 357 | AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(mcr68_videoram_w) AM_SHARE("videoram") |
| 358 | 358 | AM_RANGE(0x120000, 0x120001) AM_READWRITE(pigskin_protection_r, pigskin_protection_w) |
| r248615 | r248616 | |
| 378 | 378 | AM_RANGE(0x080000, 0x08ffff) AM_READ(trisport_port_1_r) |
| 379 | 379 | AM_RANGE(0x0a0000, 0x0affff) AM_READ_PORT("DSW") |
| 380 | 380 | AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("nvram") |
| 381 | | AM_RANGE(0x120000, 0x12007f) AM_WRITE(mcr68_paletteram_w) AM_SHARE("paletteram") |
| 381 | AM_RANGE(0x120000, 0x12007f) AM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") |
| 382 | 382 | AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_SHARE("spriteram") |
| 383 | 383 | AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(mcr68_videoram_w) AM_SHARE("videoram") |
| 384 | 384 | AM_RANGE(0x180000, 0x18000f) AM_READWRITE(mcr68_6840_upper_r, mcr68_6840_upper_w) |
| r248615 | r248616 | |
| 1054 | 1054 | |
| 1055 | 1055 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", zwackery) |
| 1056 | 1056 | MCFG_PALETTE_ADD("palette", 4096) |
| 1057 | MCFG_PALETTE_FORMAT(xRRRRRBBBBBGGGGG_inverted) |
| 1057 | 1058 | |
| 1058 | 1059 | MCFG_VIDEO_START_OVERRIDE(mcr68_state,zwackery) |
| 1059 | 1060 | |
| r248615 | r248616 | |
| 1086 | 1087 | |
| 1087 | 1088 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", mcr68) |
| 1088 | 1089 | MCFG_PALETTE_ADD("palette", 64) |
| 1090 | MCFG_PALETTE_FORMAT(xxxxxxxRRRBBBGGG) |
| 1089 | 1091 | |
| 1090 | 1092 | MCFG_VIDEO_START_OVERRIDE(mcr68_state,mcr68) |
| 1091 | 1093 | |
trunk/src/mame/includes/mcr68.h
| r248615 | r248616 | |
| 28 | 28 | m_maincpu(*this, "maincpu"), |
| 29 | 29 | m_gfxdecode(*this, "gfxdecode"), |
| 30 | 30 | m_screen(*this, "screen"), |
| 31 | | m_palette(*this, "palette"), |
| 32 | | m_generic_paletteram_16(*this, "paletteram") { } |
| 31 | m_palette(*this, "palette") { } |
| 33 | 32 | |
| 34 | 33 | optional_device<midway_chip_squeak_deluxe_device> m_chip_squeak_deluxe; |
| 35 | 34 | optional_device<midway_sounds_good_device> m_sounds_good; |
| r248615 | r248616 | |
| 79 | 78 | DECLARE_READ16_MEMBER(mcr68_6840_r_common); |
| 80 | 79 | void reload_count(int counter); |
| 81 | 80 | UINT16 compute_counter(int counter); |
| 82 | | DECLARE_WRITE16_MEMBER(mcr68_paletteram_w); |
| 83 | | DECLARE_WRITE16_MEMBER(zwackery_paletteram_w); |
| 84 | 81 | DECLARE_WRITE16_MEMBER(mcr68_videoram_w); |
| 85 | 82 | DECLARE_WRITE16_MEMBER(zwackery_videoram_w); |
| 86 | 83 | DECLARE_WRITE16_MEMBER(zwackery_spriteram_w); |
| r248615 | r248616 | |
| 129 | 126 | required_device<gfxdecode_device> m_gfxdecode; |
| 130 | 127 | required_device<screen_device> m_screen; |
| 131 | 128 | required_device<palette_device> m_palette; |
| 132 | | required_shared_ptr<UINT16> m_generic_paletteram_16; |
| 133 | 129 | }; |
trunk/src/mame/video/mcr68.c
| r248615 | r248616 | |
| 133 | 133 | |
| 134 | 134 | /************************************* |
| 135 | 135 | * |
| 136 | | * Palette RAM writes |
| 137 | | * |
| 138 | | *************************************/ |
| 139 | | |
| 140 | | WRITE16_MEMBER(mcr68_state::mcr68_paletteram_w) |
| 141 | | { |
| 142 | | int newword; |
| 143 | | |
| 144 | | COMBINE_DATA(&m_generic_paletteram_16[offset]); |
| 145 | | newword = m_generic_paletteram_16[offset]; |
| 146 | | m_palette->set_pen_color(offset, pal3bit(newword >> 6), pal3bit(newword >> 0), pal3bit(newword >> 3)); |
| 147 | | } |
| 148 | | |
| 149 | | |
| 150 | | WRITE16_MEMBER(mcr68_state::zwackery_paletteram_w) |
| 151 | | { |
| 152 | | int newword; |
| 153 | | |
| 154 | | COMBINE_DATA(&m_generic_paletteram_16[offset]); |
| 155 | | newword = m_generic_paletteram_16[offset]; |
| 156 | | m_palette->set_pen_color(offset, pal5bit(~newword >> 10), pal5bit(~newword >> 0), pal5bit(~newword >> 5)); |
| 157 | | } |
| 158 | | |
| 159 | | |
| 160 | | |
| 161 | | /************************************* |
| 162 | | * |
| 163 | 136 | * Video RAM writes |
| 164 | 137 | * |
| 165 | 138 | *************************************/ |