trunk/src/mame/video/deco16ic.h
| r29419 | r29420 | |
| 17 | 17 | TYPE DEFINITIONS |
| 18 | 18 | ***************************************************************************/ |
| 19 | 19 | |
| 20 | | typedef int (*deco16_bank_cb)( const int bank ); |
| 20 | typedef device_delegate<int (int bank)> deco16_bank_cb_delegate; |
| 21 | 21 | |
| 22 | | |
| 23 | | struct deco16ic_interface |
| 24 | | { |
| 25 | | int m_split; |
| 26 | | int m_full_width12; |
| 27 | | |
| 28 | | int m_pf1_trans_mask, m_pf2_trans_mask; |
| 29 | | int m_pf1_colour_bank, m_pf2_colour_bank; |
| 30 | | int m_pf1_colourmask, m_pf2_colourmask; |
| 31 | | deco16_bank_cb m_bank_cb0, m_bank_cb1; |
| 32 | | int m_pf12_8x8_gfx_bank, m_pf12_16x16_gfx_bank; |
| 33 | | }; |
| 34 | | |
| 35 | 22 | class deco16ic_device : public device_t, |
| 36 | | public device_video_interface, |
| 37 | | public deco16ic_interface |
| 23 | public device_video_interface |
| 38 | 24 | { |
| 39 | 25 | public: |
| 40 | 26 | deco16ic_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| r29419 | r29420 | |
| 43 | 29 | // static configuration |
| 44 | 30 | static void static_set_gfxdecode_tag(device_t &device, const char *tag); |
| 45 | 31 | static void static_set_palette_tag(device_t &device, const char *tag); |
| 32 | static void set_bank1_callback(device_t &device, deco16_bank_cb_delegate callback) { downcast<deco16ic_device &>(device).m_bank1_cb = callback; } |
| 33 | static void set_bank2_callback(device_t &device, deco16_bank_cb_delegate callback) { downcast<deco16ic_device &>(device).m_bank2_cb = callback; } |
| 34 | static void set_split(device_t &device, int split) { downcast<deco16ic_device &>(device).m_split = split; } |
| 35 | static void set_full_width(device_t &device, int width) { downcast<deco16ic_device &>(device).m_full_width12 = width; } |
| 36 | static void set_pf1_trans_mask(device_t &device, int mask) { downcast<deco16ic_device &>(device).m_pf1_trans_mask = mask; } |
| 37 | static void set_pf2_trans_mask(device_t &device, int mask) { downcast<deco16ic_device &>(device).m_pf2_trans_mask = mask; } |
| 38 | static void set_pf1_col_mask(device_t &device, int mask) { downcast<deco16ic_device &>(device).m_pf1_colourmask = mask; } |
| 39 | static void set_pf2_col_mask(device_t &device, int mask) { downcast<deco16ic_device &>(device).m_pf2_colourmask = mask; } |
| 40 | static void set_pf1_col_bank(device_t &device, int bank) { downcast<deco16ic_device &>(device).m_pf1_colour_bank = bank; } |
| 41 | static void set_pf2_col_bank(device_t &device, int bank) { downcast<deco16ic_device &>(device).m_pf2_colour_bank = bank; } |
| 42 | static void set_pf12_8x8_bank(device_t &device, int bank) { downcast<deco16ic_device &>(device).m_pf12_8x8_gfx_bank = bank; } |
| 43 | static void set_pf12_16x16_bank(device_t &device, int bank) { downcast<deco16ic_device &>(device).m_pf12_16x16_gfx_bank = bank; } |
| 44 | |
| 46 | 45 | |
| 47 | | |
| 48 | 46 | DECLARE_WRITE16_MEMBER( pf1_data_w ); |
| 49 | 47 | DECLARE_WRITE16_MEMBER( pf2_data_w ); |
| 50 | 48 | |
| r29419 | r29420 | |
| 119 | 117 | |
| 120 | 118 | protected: |
| 121 | 119 | // device-level overrides |
| 122 | | virtual void device_config_complete(); |
| 123 | 120 | virtual void device_start(); |
| 124 | 121 | virtual void device_reset(); |
| 125 | 122 | |
| r29419 | r29420 | |
| 133 | 130 | tilemap_t *m_pf1_tilemap_16x16, *m_pf2_tilemap_16x16; |
| 134 | 131 | tilemap_t *m_pf1_tilemap_8x8, *m_pf2_tilemap_8x8; |
| 135 | 132 | |
| 136 | | deco16_bank_cb m_bank_cb_func[2]; |
| 133 | deco16_bank_cb_delegate m_bank1_cb; |
| 134 | deco16_bank_cb_delegate m_bank2_cb; |
| 137 | 135 | |
| 138 | 136 | int m_use_custom_pf1, m_use_custom_pf2; |
| 139 | | |
| 140 | 137 | int m_pf1_bank, m_pf2_bank; |
| 141 | | |
| 142 | 138 | int m_pf12_last_small, m_pf12_last_big; |
| 143 | | |
| 144 | 139 | int m_pf1_8bpp_mode; |
| 145 | 140 | |
| 141 | int m_split; |
| 142 | int m_full_width12; |
| 143 | int m_pf1_trans_mask, m_pf2_trans_mask; |
| 144 | int m_pf1_colour_bank, m_pf2_colour_bank; |
| 145 | int m_pf1_colourmask, m_pf2_colourmask; |
| 146 | int m_pf12_8x8_gfx_bank, m_pf12_16x16_gfx_bank; |
| 147 | |
| 146 | 148 | TILEMAP_MAPPER_MEMBER(deco16_scan_rows); |
| 147 | 149 | TILE_GET_INFO_MEMBER(get_pf2_tile_info); |
| 148 | 150 | TILE_GET_INFO_MEMBER(get_pf1_tile_info); |
| r29419 | r29420 | |
| 166 | 168 | |
| 167 | 169 | #define MCFG_DECO16IC_SET_SCREEN MCFG_VIDEO_SET_SCREEN |
| 168 | 170 | |
| 171 | #define MCFG_DECO16IC_BANK1_CB(_class, _method) \ |
| 172 | deco16ic_device::set_bank1_callback(*device, deco16_bank_cb_delegate(&_class::_method, #_class "::" #_method, downcast<_class *>(owner))); |
| 173 | |
| 174 | #define MCFG_DECO16IC_BANK2_CB(_class, _method) \ |
| 175 | deco16ic_device::set_bank2_callback(*device, deco16_bank_cb_delegate(&_class::_method, #_class "::" #_method, downcast<_class *>(owner))); |
| 176 | |
| 177 | #define MCFG_DECO16IC_SPLIT(_split) \ |
| 178 | deco16ic_device::set_split(*device, _split); |
| 179 | |
| 180 | #define MCFG_DECO16IC_WIDTH12(_width) \ |
| 181 | deco16ic_device::set_full_width(*device, _width); |
| 182 | |
| 183 | #define MCFG_DECO16IC_PF1_TRANS_MASK(_mask) \ |
| 184 | deco16ic_device::set_pf1_trans_mask(*device, _mask); |
| 185 | |
| 186 | #define MCFG_DECO16IC_PF2_TRANS_MASK(_mask) \ |
| 187 | deco16ic_device::set_pf2_trans_mask(*device, _mask); |
| 188 | |
| 189 | #define MCFG_DECO16IC_PF1_COL_MASK(_mask) \ |
| 190 | deco16ic_device::set_pf1_col_mask(*device, _mask); |
| 191 | |
| 192 | #define MCFG_DECO16IC_PF2_COL_MASK(_mask) \ |
| 193 | deco16ic_device::set_pf2_col_mask(*device, _mask); |
| 194 | |
| 195 | #define MCFG_DECO16IC_PF1_COL_BANK(_bank) \ |
| 196 | deco16ic_device::set_pf1_col_bank(*device, _bank); |
| 197 | |
| 198 | #define MCFG_DECO16IC_PF2_COL_BANK(_bank) \ |
| 199 | deco16ic_device::set_pf2_col_bank(*device, _bank); |
| 200 | |
| 201 | #define MCFG_DECO16IC_PF12_8X8_BANK(_bank) \ |
| 202 | deco16ic_device::set_pf12_8x8_bank(*device, _bank); |
| 203 | |
| 204 | #define MCFG_DECO16IC_PF12_16X16_BANK(_bank) \ |
| 205 | deco16ic_device::set_pf12_16x16_bank(*device, _bank); |
| 206 | |
| 169 | 207 | #define MCFG_DECO16IC_GFXDECODE(_gfxtag) \ |
| 170 | 208 | deco16ic_device::static_set_gfxdecode_tag(*device, "^" _gfxtag); |
| 171 | 209 | |
trunk/src/mame/drivers/deco32.c
| r29419 | r29420 | |
| 238 | 238 | /**********************************************************************************/ |
| 239 | 239 | |
| 240 | 240 | |
| 241 | | static int fghthist_bank_callback( int bank ) |
| 242 | | { |
| 243 | | bank = bank >> 4; |
| 244 | | bank = (bank & 1) | ((bank & 4) >> 1) | ((bank & 2) << 1); |
| 245 | | |
| 246 | | return bank * 0x1000; |
| 247 | | } |
| 248 | | |
| 249 | | static const deco16ic_interface fghthist_deco16ic_tilegen1_intf = |
| 250 | | { |
| 251 | | 0, 1, |
| 252 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 253 | | 0x00, 0x10, /* color base */ |
| 254 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 255 | | fghthist_bank_callback, |
| 256 | | fghthist_bank_callback, |
| 257 | | 0,1 |
| 258 | | }; |
| 259 | | |
| 260 | | static const deco16ic_interface fghthist_deco16ic_tilegen2_intf = |
| 261 | | { |
| 262 | | 0, 1, |
| 263 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 264 | | 0x20, 0x30, /* color base */ |
| 265 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 266 | | fghthist_bank_callback, |
| 267 | | fghthist_bank_callback, |
| 268 | | 0,2 |
| 269 | | }; |
| 270 | | |
| 271 | | |
| 272 | | |
| 273 | | |
| 274 | | |
| 275 | 241 | TIMER_DEVICE_CALLBACK_MEMBER(deco32_state::interrupt_gen) |
| 276 | 242 | { |
| 277 | 243 | m_maincpu->set_input_line(ARM_IRQ_LINE, HOLD_LINE); |
| r29419 | r29420 | |
| 1699 | 1665 | } |
| 1700 | 1666 | } |
| 1701 | 1667 | |
| 1702 | | static int captaven_bank_callback( int bank ) |
| 1668 | int deco32_state::captaven_bank_callback( int bank ) |
| 1703 | 1669 | { |
| 1704 | 1670 | bank = bank >> 4; |
| 1705 | 1671 | bank = (bank & 2) >> 1; |
| r29419 | r29420 | |
| 1707 | 1673 | return bank * 0x4000; |
| 1708 | 1674 | } |
| 1709 | 1675 | |
| 1710 | | // pf4 not used (pf3 is in 8bpp mode) |
| 1711 | | static const deco16ic_interface captaven_deco16ic_tilegen1_intf = |
| 1712 | | { |
| 1713 | | 0, 1, // pf12only, split, fullwidth12 / fullwidth34 |
| 1714 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 1715 | | 0x20, 0x30, /* color base */ |
| 1716 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 1717 | | NULL, |
| 1718 | | NULL, |
| 1719 | | 0,1 |
| 1720 | | }; |
| 1721 | | |
| 1722 | | static const deco16ic_interface captaven_deco16ic_tilegen2_intf = |
| 1723 | | { |
| 1724 | | 0, 0, // pf12only, split, fullwidth12 / fullwidth34 |
| 1725 | | 0xff, 0x00, /* trans masks (default values) */ |
| 1726 | | 0x10, 0x00, /* color base */ |
| 1727 | | 0x0f, 0x00, /* color masks (default values) */ |
| 1728 | | captaven_bank_callback, |
| 1729 | | NULL, |
| 1730 | | 0,2, |
| 1731 | | }; |
| 1732 | | |
| 1733 | | |
| 1734 | 1676 | static MACHINE_CONFIG_START( captaven, deco32_state ) |
| 1735 | 1677 | |
| 1736 | 1678 | /* basic machine hardware */ |
| r29419 | r29420 | |
| 1756 | 1698 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", captaven) |
| 1757 | 1699 | MCFG_PALETTE_ADD("palette", 2048) |
| 1758 | 1700 | |
| 1759 | | MCFG_DECO16IC_ADD("tilegen1", captaven_deco16ic_tilegen1_intf) |
| 1701 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 1702 | MCFG_DECO16IC_SPLIT(0) |
| 1703 | MCFG_DECO16IC_WIDTH12(1) |
| 1704 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1705 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1706 | MCFG_DECO16IC_PF1_COL_BANK(0x20) |
| 1707 | MCFG_DECO16IC_PF2_COL_BANK(0x30) |
| 1708 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1709 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1710 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1711 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 1760 | 1712 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1761 | 1713 | MCFG_DECO16IC_PALETTE("palette") |
| 1762 | 1714 | |
| 1763 | | MCFG_DECO16IC_ADD("tilegen2", captaven_deco16ic_tilegen2_intf) |
| 1715 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) // pf3 is in 8bpp mode, pf4 is not used |
| 1716 | MCFG_DECO16IC_SPLIT(0) |
| 1717 | MCFG_DECO16IC_WIDTH12(0) |
| 1718 | MCFG_DECO16IC_PF1_TRANS_MASK(0xff) |
| 1719 | MCFG_DECO16IC_PF2_TRANS_MASK(0x00) |
| 1720 | MCFG_DECO16IC_PF1_COL_BANK(0x10) |
| 1721 | MCFG_DECO16IC_PF2_COL_BANK(0x00) |
| 1722 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1723 | MCFG_DECO16IC_PF2_COL_MASK(0x00) |
| 1724 | MCFG_DECO16IC_BANK1_CB(deco32_state, captaven_bank_callback) |
| 1725 | // no bank2 callback |
| 1726 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1727 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 1764 | 1728 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1765 | 1729 | MCFG_DECO16IC_PALETTE("palette") |
| 1766 | 1730 | |
| r29419 | r29420 | |
| 1809 | 1773 | return machine().root_device().ioport(":IN1")->read(); |
| 1810 | 1774 | } |
| 1811 | 1775 | |
| 1776 | int deco32_state::fghthist_bank_callback( int bank ) |
| 1777 | { |
| 1778 | bank = bank >> 4; |
| 1779 | bank = (bank & 1) | ((bank & 4) >> 1) | ((bank & 2) << 1); |
| 1780 | |
| 1781 | return bank * 0x1000; |
| 1782 | } |
| 1783 | |
| 1812 | 1784 | static MACHINE_CONFIG_START( fghthist, deco32_state ) /* DE-0380-2 PCB */ |
| 1813 | 1785 | |
| 1814 | 1786 | /* basic machine hardware */ |
| r29419 | r29420 | |
| 1821 | 1793 | |
| 1822 | 1794 | MCFG_EEPROM_SERIAL_93C46_ADD("eeprom") |
| 1823 | 1795 | |
| 1824 | | |
| 1825 | 1796 | MCFG_SCREEN_ADD("screen", RASTER) |
| 1826 | 1797 | MCFG_SCREEN_REFRESH_RATE(60) |
| 1827 | 1798 | MCFG_SCREEN_SIZE(42*8, 32*8) |
| r29419 | r29420 | |
| 1831 | 1802 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", fghthist) |
| 1832 | 1803 | MCFG_PALETTE_ADD("palette", 2048) |
| 1833 | 1804 | |
| 1834 | | MCFG_DECO16IC_ADD("tilegen1", fghthist_deco16ic_tilegen1_intf) |
| 1805 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 1806 | MCFG_DECO16IC_SPLIT(0) |
| 1807 | MCFG_DECO16IC_WIDTH12(1) |
| 1808 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1809 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1810 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 1811 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 1812 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1813 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1814 | MCFG_DECO16IC_BANK1_CB(deco32_state, fghthist_bank_callback) |
| 1815 | MCFG_DECO16IC_BANK2_CB(deco32_state, fghthist_bank_callback) |
| 1816 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1817 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 1835 | 1818 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1836 | 1819 | MCFG_DECO16IC_PALETTE("palette") |
| 1837 | 1820 | |
| 1838 | | MCFG_DECO16IC_ADD("tilegen2", fghthist_deco16ic_tilegen2_intf) |
| 1821 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 1822 | MCFG_DECO16IC_SPLIT(0) |
| 1823 | MCFG_DECO16IC_WIDTH12(1) |
| 1824 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1825 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1826 | MCFG_DECO16IC_PF1_COL_BANK(0x20) |
| 1827 | MCFG_DECO16IC_PF2_COL_BANK(0x30) |
| 1828 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1829 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1830 | MCFG_DECO16IC_BANK1_CB(deco32_state, fghthist_bank_callback) |
| 1831 | MCFG_DECO16IC_BANK2_CB(deco32_state, fghthist_bank_callback) |
| 1832 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1833 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 1839 | 1834 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1840 | 1835 | MCFG_DECO16IC_PALETTE("palette") |
| 1841 | 1836 | |
| r29419 | r29420 | |
| 1893 | 1888 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", fghthist) |
| 1894 | 1889 | MCFG_PALETTE_ADD("palette", 2048) |
| 1895 | 1890 | |
| 1896 | | MCFG_DECO16IC_ADD("tilegen1", fghthist_deco16ic_tilegen1_intf) |
| 1891 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 1892 | MCFG_DECO16IC_SPLIT(0) |
| 1893 | MCFG_DECO16IC_WIDTH12(1) |
| 1894 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1895 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1896 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 1897 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 1898 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1899 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1900 | MCFG_DECO16IC_BANK1_CB(deco32_state, fghthist_bank_callback) |
| 1901 | MCFG_DECO16IC_BANK2_CB(deco32_state, fghthist_bank_callback) |
| 1902 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1903 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 1897 | 1904 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1898 | 1905 | MCFG_DECO16IC_PALETTE("palette") |
| 1899 | 1906 | |
| 1900 | | MCFG_DECO16IC_ADD("tilegen2", fghthist_deco16ic_tilegen2_intf) |
| 1907 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 1908 | MCFG_DECO16IC_SPLIT(0) |
| 1909 | MCFG_DECO16IC_WIDTH12(1) |
| 1910 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1911 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1912 | MCFG_DECO16IC_PF1_COL_BANK(0x20) |
| 1913 | MCFG_DECO16IC_PF2_COL_BANK(0x30) |
| 1914 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1915 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1916 | MCFG_DECO16IC_BANK1_CB(deco32_state, fghthist_bank_callback) |
| 1917 | MCFG_DECO16IC_BANK2_CB(deco32_state, fghthist_bank_callback) |
| 1918 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1919 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 1901 | 1920 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1902 | 1921 | MCFG_DECO16IC_PALETTE("palette") |
| 1903 | 1922 | |
| r29419 | r29420 | |
| 1934 | 1953 | MACHINE_CONFIG_END |
| 1935 | 1954 | |
| 1936 | 1955 | |
| 1937 | | static int dragngun_bank_callback( int bank ) |
| 1956 | int dragngun_state::bank_1_callback( int bank ) |
| 1938 | 1957 | { |
| 1939 | 1958 | bank = bank >> 4; |
| 1940 | 1959 | return bank * 0x1000; |
| 1941 | 1960 | } |
| 1942 | 1961 | |
| 1943 | 1962 | |
| 1944 | | static int dragngun_bank2_callback( int bank ) |
| 1963 | int dragngun_state::bank_2_callback( int bank ) |
| 1945 | 1964 | { |
| 1946 | 1965 | bank = bank >> 5; |
| 1947 | 1966 | return bank * 0x1000; |
| 1948 | 1967 | } |
| 1949 | 1968 | |
| 1950 | | |
| 1951 | | static const deco16ic_interface dragngun_deco16ic_tilegen1_intf = |
| 1952 | | { |
| 1953 | | 0, 1, // dragon gun definitely needs pf3/4 full width, bgs in 2nd attract demo. |
| 1954 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 1955 | | 0x20, 0x30, /* color base */ |
| 1956 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 1957 | | dragngun_bank_callback, |
| 1958 | | dragngun_bank_callback, |
| 1959 | | 0,1, |
| 1960 | | }; |
| 1961 | | |
| 1962 | | static const deco16ic_interface dragngun_deco16ic_tilegen2_intf = |
| 1963 | | { |
| 1964 | | 0, 1, // dragon gun definitely needs pf3/4 full width, bgs in 2nd attract demo. |
| 1965 | | 0xff, 0xff, /* trans masks (default values) */ |
| 1966 | | 0x04, 0x04, /* color base */ |
| 1967 | | 0x03, 0x03, /* color masks (default values) */ |
| 1968 | | dragngun_bank2_callback, |
| 1969 | | NULL, |
| 1970 | | 0,2, |
| 1971 | | }; |
| 1972 | | |
| 1973 | | static const deco16ic_interface lockload_deco16ic_tilegen1_intf = |
| 1974 | | { |
| 1975 | | 0, 1, // lockload definitely wants pf34 half width.. |
| 1976 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 1977 | | 0x20, 0x30, /* color base */ |
| 1978 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 1979 | | dragngun_bank_callback, |
| 1980 | | dragngun_bank_callback, |
| 1981 | | 0,1, |
| 1982 | | }; |
| 1983 | | |
| 1984 | | static const deco16ic_interface lockload_deco16ic_tilegen2_intf = |
| 1985 | | { |
| 1986 | | 0, 0, // lockload definitely wants pf34 half width.. |
| 1987 | | 0xff, 0xff, /* trans masks (default values) */ |
| 1988 | | 0x04, 0x04, /* color base */ |
| 1989 | | 0x03, 0x03, /* color masks (default values) */ |
| 1990 | | dragngun_bank2_callback, |
| 1991 | | NULL, |
| 1992 | | 0,2, |
| 1993 | | }; |
| 1994 | | |
| 1995 | 1969 | static MACHINE_CONFIG_START( dragngun, dragngun_state ) |
| 1996 | 1970 | |
| 1997 | 1971 | /* basic machine hardware */ |
| r29419 | r29420 | |
| 2018 | 1992 | |
| 2019 | 1993 | MCFG_BUFFERED_SPRITERAM32_ADD("spriteram") |
| 2020 | 1994 | |
| 2021 | | MCFG_DECO16IC_ADD("tilegen1", dragngun_deco16ic_tilegen1_intf) |
| 1995 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 1996 | MCFG_DECO16IC_SPLIT(0) |
| 1997 | MCFG_DECO16IC_WIDTH12(1) |
| 1998 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1999 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 2000 | MCFG_DECO16IC_PF1_COL_BANK(0x20) |
| 2001 | MCFG_DECO16IC_PF2_COL_BANK(0x30) |
| 2002 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 2003 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 2004 | MCFG_DECO16IC_BANK1_CB(dragngun_state, bank_1_callback) |
| 2005 | MCFG_DECO16IC_BANK2_CB(dragngun_state, bank_1_callback) |
| 2006 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 2007 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 2022 | 2008 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 2023 | 2009 | MCFG_DECO16IC_PALETTE("palette") |
| 2024 | 2010 | |
| 2025 | | MCFG_DECO16IC_ADD("tilegen2", dragngun_deco16ic_tilegen2_intf) |
| 2011 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 2012 | MCFG_DECO16IC_SPLIT(0) |
| 2013 | MCFG_DECO16IC_WIDTH12(1) |
| 2014 | MCFG_DECO16IC_PF1_TRANS_MASK(0xff) |
| 2015 | MCFG_DECO16IC_PF2_TRANS_MASK(0xff) |
| 2016 | MCFG_DECO16IC_PF1_COL_BANK(0x04) |
| 2017 | MCFG_DECO16IC_PF2_COL_BANK(0x04) |
| 2018 | MCFG_DECO16IC_PF1_COL_MASK(0x03) |
| 2019 | MCFG_DECO16IC_PF2_COL_MASK(0x03) |
| 2020 | MCFG_DECO16IC_BANK1_CB(dragngun_state, bank_2_callback) |
| 2021 | // no bank2 callback |
| 2022 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 2023 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 2026 | 2024 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 2027 | 2025 | MCFG_DECO16IC_PALETTE("palette") |
| 2028 | 2026 | |
| r29419 | r29420 | |
| 2035 | 2033 | MCFG_DECO146_SET_SOUNDLATCH_CALLBACK(deco32_state, deco32_sound_cb) |
| 2036 | 2034 | MCFG_DECO146_SET_INTERFACE_SCRAMBLE_REVERSE |
| 2037 | 2035 | |
| 2038 | | |
| 2039 | | |
| 2040 | 2036 | /* sound hardware */ |
| 2041 | 2037 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") |
| 2042 | 2038 | |
| r29419 | r29420 | |
| 2059 | 2055 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) |
| 2060 | 2056 | MACHINE_CONFIG_END |
| 2061 | 2057 | |
| 2058 | |
| 2062 | 2059 | TIMER_DEVICE_CALLBACK_MEMBER(deco32_state::lockload_vbl_irq) |
| 2063 | 2060 | { |
| 2064 | 2061 | int scanline = param; |
| r29419 | r29420 | |
| 2105 | 2102 | |
| 2106 | 2103 | MCFG_BUFFERED_SPRITERAM32_ADD("spriteram") |
| 2107 | 2104 | |
| 2108 | | MCFG_DECO16IC_ADD("tilegen1", lockload_deco16ic_tilegen1_intf) |
| 2105 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", dragngun) |
| 2106 | MCFG_PALETTE_ADD("palette", 2048) |
| 2107 | |
| 2108 | MCFG_VIDEO_START_OVERRIDE(dragngun_state, lockload) |
| 2109 | |
| 2110 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 2111 | MCFG_DECO16IC_SPLIT(0) |
| 2112 | MCFG_DECO16IC_WIDTH12(1) |
| 2113 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 2114 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 2115 | MCFG_DECO16IC_PF1_COL_BANK(0x20) |
| 2116 | MCFG_DECO16IC_PF2_COL_BANK(0x30) |
| 2117 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 2118 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 2119 | MCFG_DECO16IC_BANK1_CB(dragngun_state, bank_1_callback) |
| 2120 | MCFG_DECO16IC_BANK2_CB(dragngun_state, bank_1_callback) |
| 2121 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 2122 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 2109 | 2123 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 2110 | 2124 | MCFG_DECO16IC_PALETTE("palette") |
| 2111 | 2125 | |
| 2112 | | MCFG_DECO16IC_ADD("tilegen2", lockload_deco16ic_tilegen2_intf) |
| 2126 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 2127 | MCFG_DECO16IC_SPLIT(0) |
| 2128 | MCFG_DECO16IC_WIDTH12(0) // lockload definitely wants pf34 half width.. |
| 2129 | MCFG_DECO16IC_PF1_TRANS_MASK(0xff) |
| 2130 | MCFG_DECO16IC_PF2_TRANS_MASK(0xff) |
| 2131 | MCFG_DECO16IC_PF1_COL_BANK(0x04) |
| 2132 | MCFG_DECO16IC_PF2_COL_BANK(0x04) |
| 2133 | MCFG_DECO16IC_PF1_COL_MASK(0x03) |
| 2134 | MCFG_DECO16IC_PF2_COL_MASK(0x03) |
| 2135 | MCFG_DECO16IC_BANK1_CB(dragngun_state, bank_2_callback) |
| 2136 | // no bank2 callback |
| 2137 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 2138 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 2113 | 2139 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 2114 | 2140 | MCFG_DECO16IC_PALETTE("palette") |
| 2115 | 2141 | |
| 2116 | | MCFG_GFXDECODE_ADD("gfxdecode", "palette", dragngun) |
| 2117 | | MCFG_PALETTE_ADD("palette", 2048) |
| 2118 | | |
| 2119 | | MCFG_VIDEO_START_OVERRIDE(dragngun_state,lockload) |
| 2120 | | |
| 2121 | 2142 | MCFG_DECO146_ADD("ioprot") |
| 2122 | 2143 | MCFG_DECO146_SET_SOUNDLATCH_CALLBACK(deco32_state, deco32_sound_cb) |
| 2123 | 2144 | MCFG_DECO146_SET_INTERFACE_SCRAMBLE_REVERSE |
| r29419 | r29420 | |
| 2149 | 2170 | |
| 2150 | 2171 | MACHINE_CONFIG_END |
| 2151 | 2172 | |
| 2152 | | static int tattass_bank_callback( int bank ) |
| 2173 | |
| 2174 | int deco32_state::tattass_bank_callback( int bank ) |
| 2153 | 2175 | { |
| 2154 | 2176 | bank = bank >> 4; |
| 2155 | 2177 | return bank * 0x1000; |
| 2156 | 2178 | } |
| 2157 | 2179 | |
| 2158 | | static const deco16ic_interface tattass_deco16ic_tilegen1_intf = |
| 2159 | | { |
| 2160 | | 0, 1, |
| 2161 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 2162 | | 0x00, 0x10, /* color base */ |
| 2163 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 2164 | | tattass_bank_callback, |
| 2165 | | tattass_bank_callback, |
| 2166 | | 0,1, |
| 2167 | | }; |
| 2168 | | |
| 2169 | | static const deco16ic_interface tattass_deco16ic_tilegen2_intf = |
| 2170 | | { |
| 2171 | | 0, 1, |
| 2172 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 2173 | | 0x20, 0x30, /* color base */ |
| 2174 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 2175 | | tattass_bank_callback, |
| 2176 | | tattass_bank_callback, |
| 2177 | | 0,2, |
| 2178 | | }; |
| 2179 | | |
| 2180 | | |
| 2181 | | |
| 2182 | 2180 | static MACHINE_CONFIG_START( tattass, deco32_state ) |
| 2183 | 2181 | |
| 2184 | 2182 | /* basic machine hardware */ |
| r29419 | r29420 | |
| 2194 | 2192 | MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1) |
| 2195 | 2193 | MCFG_SCREEN_UPDATE_DRIVER(deco32_state, screen_update_nslasher) |
| 2196 | 2194 | |
| 2197 | | MCFG_DECO16IC_ADD("tilegen1", tattass_deco16ic_tilegen1_intf) |
| 2195 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 2196 | MCFG_DECO16IC_SPLIT(0) |
| 2197 | MCFG_DECO16IC_WIDTH12(1) |
| 2198 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 2199 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 2200 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 2201 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 2202 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 2203 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 2204 | MCFG_DECO16IC_BANK1_CB(deco32_state, tattass_bank_callback) |
| 2205 | MCFG_DECO16IC_BANK2_CB(deco32_state, tattass_bank_callback) |
| 2206 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 2207 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 2198 | 2208 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 2199 | 2209 | MCFG_DECO16IC_PALETTE("palette") |
| 2200 | 2210 | |
| 2201 | | MCFG_DECO16IC_ADD("tilegen2", tattass_deco16ic_tilegen2_intf) |
| 2211 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 2212 | MCFG_DECO16IC_SPLIT(0) |
| 2213 | MCFG_DECO16IC_WIDTH12(1) |
| 2214 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 2215 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 2216 | MCFG_DECO16IC_PF1_COL_BANK(0x20) |
| 2217 | MCFG_DECO16IC_PF2_COL_BANK(0x30) |
| 2218 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 2219 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 2220 | MCFG_DECO16IC_BANK1_CB(deco32_state, tattass_bank_callback) |
| 2221 | MCFG_DECO16IC_BANK2_CB(deco32_state, tattass_bank_callback) |
| 2222 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 2223 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 2202 | 2224 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 2203 | 2225 | MCFG_DECO16IC_PALETTE("palette") |
| 2204 | 2226 | |
| r29419 | r29420 | |
| 2247 | 2269 | MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1) |
| 2248 | 2270 | MCFG_SCREEN_UPDATE_DRIVER(deco32_state, screen_update_nslasher) |
| 2249 | 2271 | |
| 2250 | | MCFG_DECO16IC_ADD("tilegen1", tattass_deco16ic_tilegen1_intf) |
| 2272 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 2273 | MCFG_DECO16IC_SPLIT(0) |
| 2274 | MCFG_DECO16IC_WIDTH12(1) |
| 2275 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 2276 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 2277 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 2278 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 2279 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 2280 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 2281 | MCFG_DECO16IC_BANK1_CB(deco32_state, tattass_bank_callback) |
| 2282 | MCFG_DECO16IC_BANK2_CB(deco32_state, tattass_bank_callback) |
| 2283 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 2284 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 2251 | 2285 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 2252 | 2286 | MCFG_DECO16IC_PALETTE("palette") |
| 2253 | 2287 | |
| 2254 | | MCFG_DECO16IC_ADD("tilegen2", tattass_deco16ic_tilegen2_intf) |
| 2288 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 2289 | MCFG_DECO16IC_SPLIT(0) |
| 2290 | MCFG_DECO16IC_WIDTH12(1) |
| 2291 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 2292 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 2293 | MCFG_DECO16IC_PF1_COL_BANK(0x20) |
| 2294 | MCFG_DECO16IC_PF2_COL_BANK(0x30) |
| 2295 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 2296 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 2297 | MCFG_DECO16IC_BANK1_CB(deco32_state, tattass_bank_callback) |
| 2298 | MCFG_DECO16IC_BANK2_CB(deco32_state, tattass_bank_callback) |
| 2299 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 2300 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 2255 | 2301 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 2256 | 2302 | MCFG_DECO16IC_PALETTE("palette") |
| 2257 | 2303 | |
trunk/src/mame/drivers/cninja.c
| r29419 | r29420 | |
| 785 | 785 | |
| 786 | 786 | /**********************************************************************************/ |
| 787 | 787 | |
| 788 | | static int cninja_bank_callback( const int bank ) |
| 788 | int cninja_state::cninja_bank_callback( int bank ) |
| 789 | 789 | { |
| 790 | 790 | if ((bank >> 4) & 0xf) |
| 791 | 791 | return 0x0000; /* Only 2 banks */ |
| 792 | 792 | return 0x1000; |
| 793 | 793 | } |
| 794 | 794 | |
| 795 | | static int robocop2_bank_callback( const int bank ) |
| 795 | int cninja_state::robocop2_bank_callback( int bank ) |
| 796 | 796 | { |
| 797 | 797 | return (bank & 0x30) << 8; |
| 798 | 798 | } |
| 799 | 799 | |
| 800 | | static int mutantf_1_bank_callback( const int bank ) |
| 800 | int cninja_state::mutantf_1_bank_callback( int bank ) |
| 801 | 801 | { |
| 802 | 802 | return ((bank >> 4) & 0x3) << 12; |
| 803 | 803 | } |
| 804 | 804 | |
| 805 | | static int mutantf_2_bank_callback( const int bank ) |
| 805 | int cninja_state::mutantf_2_bank_callback( int bank ) |
| 806 | 806 | { |
| 807 | 807 | return ((bank >> 5) & 0x1) << 14; |
| 808 | 808 | } |
| 809 | 809 | |
| 810 | | static const deco16ic_interface cninja_deco16ic_tilegen1_intf = |
| 811 | | { |
| 812 | | 1, 1, |
| 813 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 814 | | 0, 16, /* color base */ |
| 815 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 816 | | NULL, |
| 817 | | NULL, |
| 818 | | 0, 1, |
| 819 | | }; |
| 820 | 810 | |
| 821 | | static const deco16ic_interface cninja_deco16ic_tilegen2_intf = |
| 822 | | { |
| 823 | | 0, 1, |
| 824 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 825 | | 0, 48, /* color base */ |
| 826 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 827 | | cninja_bank_callback, |
| 828 | | cninja_bank_callback, |
| 829 | | 0, 2, |
| 830 | | }; |
| 831 | | |
| 832 | | |
| 833 | | |
| 834 | | static const deco16ic_interface edrandy_deco16ic_tilegen1_intf = |
| 835 | | { |
| 836 | | 0, 1, |
| 837 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 838 | | 0, 16, /* color base */ |
| 839 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 840 | | NULL, |
| 841 | | NULL, |
| 842 | | 0,1, |
| 843 | | }; |
| 844 | | |
| 845 | | static const deco16ic_interface edrandy_deco16ic_tilegen2_intf = |
| 846 | | { |
| 847 | | 0, 1, |
| 848 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 849 | | 0, 48, /* color base */ |
| 850 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 851 | | cninja_bank_callback, |
| 852 | | cninja_bank_callback, |
| 853 | | 0,2, |
| 854 | | }; |
| 855 | | |
| 856 | | |
| 857 | | static const deco16ic_interface robocop2_deco16ic_tilegen1_intf = |
| 858 | | { |
| 859 | | 0, 1, |
| 860 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 861 | | 0, 16, /* color base */ |
| 862 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 863 | | NULL, |
| 864 | | robocop2_bank_callback, |
| 865 | | 0,1, |
| 866 | | }; |
| 867 | | |
| 868 | | static const deco16ic_interface robocop2_deco16ic_tilegen2_intf = |
| 869 | | { |
| 870 | | 0, 1, |
| 871 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 872 | | 0, 48, /* color base */ |
| 873 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 874 | | robocop2_bank_callback, |
| 875 | | robocop2_bank_callback, |
| 876 | | 0,2, |
| 877 | | }; |
| 878 | | |
| 879 | | |
| 880 | | static const deco16ic_interface mutantf_deco16ic_tilegen1_intf = |
| 881 | | { |
| 882 | | 0, 1, |
| 883 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 884 | | 0, 0x30, /* color base */ |
| 885 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 886 | | mutantf_1_bank_callback, |
| 887 | | mutantf_2_bank_callback, |
| 888 | | 0,1, |
| 889 | | }; |
| 890 | | |
| 891 | | static const deco16ic_interface mutantf_deco16ic_tilegen2_intf = |
| 892 | | { |
| 893 | | 0, 1, |
| 894 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 895 | | 0x20, 0x40, /* color base */ |
| 896 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 897 | | mutantf_1_bank_callback, |
| 898 | | mutantf_1_bank_callback, |
| 899 | | 0,2, |
| 900 | | }; |
| 901 | | |
| 902 | | |
| 903 | 811 | void cninja_state::machine_start() |
| 904 | 812 | { |
| 905 | 813 | save_item(NAME(m_scanline)); |
| r29419 | r29420 | |
| 957 | 865 | MCFG_DECOCOMN_ADD("deco_common") |
| 958 | 866 | MCFG_DECOCOMN_PALETTE("palette") |
| 959 | 867 | |
| 960 | | MCFG_DECO16IC_ADD("tilegen1", cninja_deco16ic_tilegen1_intf) |
| 868 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 869 | MCFG_DECO16IC_SPLIT(1) |
| 870 | MCFG_DECO16IC_WIDTH12(1) |
| 871 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 872 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 873 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 874 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 875 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 876 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 877 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 878 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 961 | 879 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 962 | 880 | MCFG_DECO16IC_PALETTE("palette") |
| 963 | 881 | |
| 964 | | MCFG_DECO16IC_ADD("tilegen2", cninja_deco16ic_tilegen2_intf) |
| 882 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 883 | MCFG_DECO16IC_SPLIT(0) |
| 884 | MCFG_DECO16IC_WIDTH12(1) |
| 885 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 886 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 887 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 888 | MCFG_DECO16IC_PF2_COL_BANK(0x30) |
| 889 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 890 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 891 | MCFG_DECO16IC_BANK1_CB(cninja_state, cninja_bank_callback) |
| 892 | MCFG_DECO16IC_BANK2_CB(cninja_state, cninja_bank_callback) |
| 893 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 894 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 965 | 895 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 966 | 896 | MCFG_DECO16IC_PALETTE("palette") |
| 967 | 897 | |
| r29419 | r29420 | |
| 1025 | 955 | MCFG_DECOCOMN_ADD("deco_common") |
| 1026 | 956 | MCFG_DECOCOMN_PALETTE("palette") |
| 1027 | 957 | |
| 1028 | | MCFG_DECO16IC_ADD("tilegen1", cninja_deco16ic_tilegen1_intf) |
| 958 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 959 | MCFG_DECO16IC_SPLIT(1) |
| 960 | MCFG_DECO16IC_WIDTH12(1) |
| 961 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 962 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 963 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 964 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 965 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 966 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 967 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 968 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 1029 | 969 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1030 | 970 | MCFG_DECO16IC_PALETTE("palette") |
| 1031 | 971 | |
| 1032 | | MCFG_DECO16IC_ADD("tilegen2", cninja_deco16ic_tilegen2_intf) |
| 972 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 973 | MCFG_DECO16IC_SPLIT(0) |
| 974 | MCFG_DECO16IC_WIDTH12(1) |
| 975 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 976 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 977 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 978 | MCFG_DECO16IC_PF2_COL_BANK(0x30) |
| 979 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 980 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 981 | MCFG_DECO16IC_BANK1_CB(cninja_state, cninja_bank_callback) |
| 982 | MCFG_DECO16IC_BANK2_CB(cninja_state, cninja_bank_callback) |
| 983 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 984 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 1033 | 985 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1034 | 986 | MCFG_DECO16IC_PALETTE("palette") |
| 1035 | 987 | |
| r29419 | r29420 | |
| 1088 | 1040 | MCFG_DECOCOMN_ADD("deco_common") |
| 1089 | 1041 | MCFG_DECOCOMN_PALETTE("palette") |
| 1090 | 1042 | |
| 1091 | | MCFG_DECO16IC_ADD("tilegen1", cninja_deco16ic_tilegen1_intf) |
| 1043 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 1044 | MCFG_DECO16IC_SPLIT(1) |
| 1045 | MCFG_DECO16IC_WIDTH12(1) |
| 1046 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1047 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1048 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 1049 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 1050 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1051 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1052 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1053 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 1092 | 1054 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1093 | 1055 | MCFG_DECO16IC_PALETTE("palette") |
| 1094 | 1056 | |
| 1095 | | MCFG_DECO16IC_ADD("tilegen2", cninja_deco16ic_tilegen2_intf) |
| 1057 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 1058 | MCFG_DECO16IC_SPLIT(0) |
| 1059 | MCFG_DECO16IC_WIDTH12(1) |
| 1060 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1061 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1062 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 1063 | MCFG_DECO16IC_PF2_COL_BANK(0x30) |
| 1064 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1065 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1066 | MCFG_DECO16IC_BANK1_CB(cninja_state, cninja_bank_callback) |
| 1067 | MCFG_DECO16IC_BANK2_CB(cninja_state, cninja_bank_callback) |
| 1068 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1069 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 1096 | 1070 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1097 | 1071 | MCFG_DECO16IC_PALETTE("palette") |
| 1098 | 1072 | |
| r29419 | r29420 | |
| 1138 | 1112 | MCFG_DECOCOMN_ADD("deco_common") |
| 1139 | 1113 | MCFG_DECOCOMN_PALETTE("palette") |
| 1140 | 1114 | |
| 1141 | | MCFG_DECO16IC_ADD("tilegen1", edrandy_deco16ic_tilegen1_intf) |
| 1115 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 1116 | MCFG_DECO16IC_SPLIT(0) |
| 1117 | MCFG_DECO16IC_WIDTH12(1) |
| 1118 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1119 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1120 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 1121 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 1122 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1123 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1124 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1125 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 1142 | 1126 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1143 | 1127 | MCFG_DECO16IC_PALETTE("palette") |
| 1144 | 1128 | |
| 1145 | | MCFG_DECO16IC_ADD("tilegen2", edrandy_deco16ic_tilegen2_intf) |
| 1129 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 1130 | MCFG_DECO16IC_SPLIT(0) |
| 1131 | MCFG_DECO16IC_WIDTH12(1) |
| 1132 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1133 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1134 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 1135 | MCFG_DECO16IC_PF2_COL_BANK(0x30) |
| 1136 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1137 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1138 | MCFG_DECO16IC_BANK1_CB(cninja_state, cninja_bank_callback) |
| 1139 | MCFG_DECO16IC_BANK2_CB(cninja_state, cninja_bank_callback) |
| 1140 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1141 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 1146 | 1142 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1147 | 1143 | MCFG_DECO16IC_PALETTE("palette") |
| 1148 | 1144 | |
| r29419 | r29420 | |
| 1203 | 1199 | MCFG_DECOCOMN_ADD("deco_common") |
| 1204 | 1200 | MCFG_DECOCOMN_PALETTE("palette") |
| 1205 | 1201 | |
| 1206 | | MCFG_DECO16IC_ADD("tilegen1", robocop2_deco16ic_tilegen1_intf) |
| 1202 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 1203 | MCFG_DECO16IC_SPLIT(0) |
| 1204 | MCFG_DECO16IC_WIDTH12(1) |
| 1205 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1206 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1207 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 1208 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 1209 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1210 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1211 | MCFG_DECO16IC_BANK2_CB(cninja_state, robocop2_bank_callback) |
| 1212 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1213 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 1207 | 1214 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1208 | 1215 | MCFG_DECO16IC_PALETTE("palette") |
| 1209 | 1216 | |
| 1210 | | MCFG_DECO16IC_ADD("tilegen2", robocop2_deco16ic_tilegen2_intf) |
| 1217 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 1218 | MCFG_DECO16IC_SPLIT(0) |
| 1219 | MCFG_DECO16IC_WIDTH12(1) |
| 1220 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1221 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1222 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 1223 | MCFG_DECO16IC_PF2_COL_BANK(0x30) |
| 1224 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1225 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1226 | MCFG_DECO16IC_BANK1_CB(cninja_state, robocop2_bank_callback) |
| 1227 | MCFG_DECO16IC_BANK2_CB(cninja_state, robocop2_bank_callback) |
| 1228 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1229 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 1211 | 1230 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1212 | 1231 | MCFG_DECO16IC_PALETTE("palette") |
| 1213 | 1232 | |
| r29419 | r29420 | |
| 1273 | 1292 | MCFG_DECOCOMN_ADD("deco_common") |
| 1274 | 1293 | MCFG_DECOCOMN_PALETTE("palette") |
| 1275 | 1294 | |
| 1276 | | MCFG_DECO16IC_ADD("tilegen1", mutantf_deco16ic_tilegen1_intf) |
| 1295 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 1296 | MCFG_DECO16IC_SPLIT(0) |
| 1297 | MCFG_DECO16IC_WIDTH12(1) |
| 1298 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1299 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1300 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 1301 | MCFG_DECO16IC_PF2_COL_BANK(0x30) |
| 1302 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1303 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1304 | MCFG_DECO16IC_BANK1_CB(cninja_state, mutantf_1_bank_callback) |
| 1305 | MCFG_DECO16IC_BANK2_CB(cninja_state, mutantf_2_bank_callback) |
| 1306 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1307 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 1277 | 1308 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1278 | 1309 | MCFG_DECO16IC_PALETTE("palette") |
| 1279 | 1310 | |
| 1280 | | MCFG_DECO16IC_ADD("tilegen2", mutantf_deco16ic_tilegen2_intf) |
| 1311 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 1312 | MCFG_DECO16IC_SPLIT(0) |
| 1313 | MCFG_DECO16IC_WIDTH12(1) |
| 1314 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1315 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1316 | MCFG_DECO16IC_PF1_COL_BANK(0x20) |
| 1317 | MCFG_DECO16IC_PF2_COL_BANK(0x40) |
| 1318 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1319 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1320 | MCFG_DECO16IC_BANK1_CB(cninja_state, mutantf_1_bank_callback) |
| 1321 | MCFG_DECO16IC_BANK2_CB(cninja_state, mutantf_1_bank_callback) |
| 1322 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1323 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 1281 | 1324 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1282 | 1325 | MCFG_DECO16IC_PALETTE("palette") |
| 1283 | 1326 | |
trunk/src/mame/drivers/rohga.c
| r29419 | r29420 | |
| 759 | 759 | |
| 760 | 760 | /**********************************************************************************/ |
| 761 | 761 | |
| 762 | | static int rohga_bank_callback( const int bank ) |
| 762 | int rohga_state::bank_callback( int bank ) |
| 763 | 763 | { |
| 764 | 764 | return ((bank >> 4) & 0x3) << 12; |
| 765 | 765 | } |
| 766 | 766 | |
| 767 | | static const deco16ic_interface rohga_deco16ic_tilegen1_intf = |
| 768 | | { |
| 769 | | 0, 1, |
| 770 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 771 | | 0, 16,/* color base (default values) */ |
| 772 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 773 | | rohga_bank_callback, |
| 774 | | rohga_bank_callback, |
| 775 | | 0, 1, |
| 776 | | }; |
| 777 | | |
| 778 | | static const deco16ic_interface rohga_deco16ic_tilegen2_intf = |
| 779 | | { |
| 780 | | 0, 1, |
| 781 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 782 | | 0, 16, /* color base (default values) */ |
| 783 | | 0x0f, 0x0f, /* color masks (default values) */ |
| 784 | | rohga_bank_callback, |
| 785 | | rohga_bank_callback, |
| 786 | | 0, 2, |
| 787 | | }; |
| 788 | | |
| 789 | | static const deco16ic_interface nitrobal_deco16ic_tilegen1_intf = |
| 790 | | { |
| 791 | | 0, 0, |
| 792 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 793 | | 0, 16, /* color base (pf4 is not default) */ |
| 794 | | 0x0f, 0x0f, /* color masks */ |
| 795 | | rohga_bank_callback, |
| 796 | | rohga_bank_callback, |
| 797 | | 0, 1, |
| 798 | | }; |
| 799 | | |
| 800 | | static const deco16ic_interface nitrobal_deco16ic_tilegen2_intf = |
| 801 | | { |
| 802 | | 0, 0, |
| 803 | | 0x0f, 0x0f, /* trans masks (default values) */ |
| 804 | | 0, 0, /* color base (pf4 is not default) */ |
| 805 | | 0, 0, /* color masks */ |
| 806 | | rohga_bank_callback, |
| 807 | | rohga_bank_callback, |
| 808 | | 0, 2, |
| 809 | | }; |
| 810 | | |
| 811 | 767 | static MACHINE_CONFIG_START( rohga, rohga_state ) |
| 812 | 768 | |
| 813 | 769 | /* basic machine hardware */ |
| r29419 | r29420 | |
| 837 | 793 | MCFG_DECOCOMN_ADD("deco_common") |
| 838 | 794 | MCFG_DECOCOMN_PALETTE("palette") |
| 839 | 795 | |
| 840 | | MCFG_DECO16IC_ADD("tilegen1", rohga_deco16ic_tilegen1_intf) |
| 796 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 797 | MCFG_DECO16IC_SPLIT(0) |
| 798 | MCFG_DECO16IC_WIDTH12(1) |
| 799 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 800 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 801 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 802 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 803 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 804 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 805 | MCFG_DECO16IC_BANK1_CB(rohga_state, bank_callback) |
| 806 | MCFG_DECO16IC_BANK2_CB(rohga_state, bank_callback) |
| 807 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 808 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 841 | 809 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 842 | 810 | MCFG_DECO16IC_PALETTE("palette") |
| 843 | 811 | |
| 844 | | MCFG_DECO16IC_ADD("tilegen2", rohga_deco16ic_tilegen2_intf) |
| 812 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 813 | MCFG_DECO16IC_SPLIT(0) |
| 814 | MCFG_DECO16IC_WIDTH12(1) |
| 815 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 816 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 817 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 818 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 819 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 820 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 821 | MCFG_DECO16IC_BANK1_CB(rohga_state, bank_callback) |
| 822 | MCFG_DECO16IC_BANK2_CB(rohga_state, bank_callback) |
| 823 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 824 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 845 | 825 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 846 | 826 | MCFG_DECO16IC_PALETTE("palette") |
| 847 | 827 | |
| r29419 | r29420 | |
| 897 | 877 | MCFG_DECOCOMN_ADD("deco_common") |
| 898 | 878 | MCFG_DECOCOMN_PALETTE("palette") |
| 899 | 879 | |
| 900 | | MCFG_DECO16IC_ADD("tilegen1", rohga_deco16ic_tilegen1_intf) |
| 880 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 881 | MCFG_DECO16IC_SPLIT(0) |
| 882 | MCFG_DECO16IC_WIDTH12(1) |
| 883 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 884 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 885 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 886 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 887 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 888 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 889 | MCFG_DECO16IC_BANK1_CB(rohga_state, bank_callback) |
| 890 | MCFG_DECO16IC_BANK2_CB(rohga_state, bank_callback) |
| 891 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 892 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 901 | 893 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 902 | 894 | MCFG_DECO16IC_PALETTE("palette") |
| 903 | 895 | |
| 904 | | MCFG_DECO16IC_ADD("tilegen2", rohga_deco16ic_tilegen2_intf) |
| 896 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 897 | MCFG_DECO16IC_SPLIT(0) |
| 898 | MCFG_DECO16IC_WIDTH12(1) |
| 899 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 900 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 901 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 902 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 903 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 904 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 905 | MCFG_DECO16IC_BANK1_CB(rohga_state, bank_callback) |
| 906 | MCFG_DECO16IC_BANK2_CB(rohga_state, bank_callback) |
| 907 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 908 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 905 | 909 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 906 | 910 | MCFG_DECO16IC_PALETTE("palette") |
| 907 | 911 | |
| r29419 | r29420 | |
| 965 | 969 | MCFG_DECOCOMN_ADD("deco_common") |
| 966 | 970 | MCFG_DECOCOMN_PALETTE("palette") |
| 967 | 971 | |
| 968 | | MCFG_DECO16IC_ADD("tilegen1", nitrobal_deco16ic_tilegen1_intf) |
| 972 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 973 | MCFG_DECO16IC_SPLIT(0) |
| 974 | MCFG_DECO16IC_WIDTH12(0) |
| 975 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 976 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 977 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 978 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 979 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 980 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 981 | MCFG_DECO16IC_BANK1_CB(rohga_state, bank_callback) |
| 982 | MCFG_DECO16IC_BANK2_CB(rohga_state, bank_callback) |
| 983 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 984 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 969 | 985 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 970 | 986 | MCFG_DECO16IC_PALETTE("palette") |
| 971 | 987 | |
| 972 | | MCFG_DECO16IC_ADD("tilegen2", nitrobal_deco16ic_tilegen2_intf) |
| 988 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 989 | MCFG_DECO16IC_SPLIT(0) |
| 990 | MCFG_DECO16IC_WIDTH12(0) |
| 991 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 992 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 993 | MCFG_DECO16IC_PF1_COL_BANK(0) |
| 994 | MCFG_DECO16IC_PF2_COL_BANK(0) |
| 995 | MCFG_DECO16IC_PF1_COL_MASK(0) |
| 996 | MCFG_DECO16IC_PF2_COL_MASK(0) |
| 997 | MCFG_DECO16IC_BANK1_CB(rohga_state, bank_callback) |
| 998 | MCFG_DECO16IC_BANK2_CB(rohga_state, bank_callback) |
| 999 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1000 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 973 | 1001 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 974 | 1002 | MCFG_DECO16IC_PALETTE("palette") |
| 975 | 1003 | |
| r29419 | r29420 | |
| 1037 | 1065 | MCFG_DECOCOMN_ADD("deco_common") |
| 1038 | 1066 | MCFG_DECOCOMN_PALETTE("palette") |
| 1039 | 1067 | |
| 1040 | | MCFG_DECO16IC_ADD("tilegen1", rohga_deco16ic_tilegen1_intf) |
| 1068 | MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) |
| 1069 | MCFG_DECO16IC_SPLIT(0) |
| 1070 | MCFG_DECO16IC_WIDTH12(1) |
| 1071 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1072 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1073 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 1074 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 1075 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1076 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1077 | MCFG_DECO16IC_BANK1_CB(rohga_state, bank_callback) |
| 1078 | MCFG_DECO16IC_BANK2_CB(rohga_state, bank_callback) |
| 1079 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1080 | MCFG_DECO16IC_PF12_16X16_BANK(1) |
| 1041 | 1081 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1042 | 1082 | MCFG_DECO16IC_PALETTE("palette") |
| 1043 | 1083 | |
| 1044 | | MCFG_DECO16IC_ADD("tilegen2", rohga_deco16ic_tilegen2_intf) |
| 1084 | MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) |
| 1085 | MCFG_DECO16IC_SPLIT(0) |
| 1086 | MCFG_DECO16IC_WIDTH12(1) |
| 1087 | MCFG_DECO16IC_PF1_TRANS_MASK(0x0f) |
| 1088 | MCFG_DECO16IC_PF2_TRANS_MASK(0x0f) |
| 1089 | MCFG_DECO16IC_PF1_COL_BANK(0x00) |
| 1090 | MCFG_DECO16IC_PF2_COL_BANK(0x10) |
| 1091 | MCFG_DECO16IC_PF1_COL_MASK(0x0f) |
| 1092 | MCFG_DECO16IC_PF2_COL_MASK(0x0f) |
| 1093 | MCFG_DECO16IC_BANK1_CB(rohga_state, bank_callback) |
| 1094 | MCFG_DECO16IC_BANK2_CB(rohga_state, bank_callback) |
| 1095 | MCFG_DECO16IC_PF12_8X8_BANK(0) |
| 1096 | MCFG_DECO16IC_PF12_16X16_BANK(2) |
| 1045 | 1097 | MCFG_DECO16IC_GFXDECODE("gfxdecode") |
| 1046 | 1098 | MCFG_DECO16IC_PALETTE("palette") |
| 1047 | 1099 | |