trunk/src/mame/drivers/blitz68k.c
| r29495 | r29496 | |
| 1716 | 1716 | AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w) |
| 1717 | 1717 | ADDRESS_MAP_END |
| 1718 | 1718 | |
| 1719 | | static RAMDAC_INTERFACE( ramdac_intf ) |
| 1720 | | { |
| 1721 | | 0 |
| 1722 | | }; |
| 1723 | | |
| 1724 | 1719 | static MACHINE_CONFIG_START( ilpag, blitz68k_state ) |
| 1725 | 1720 | MCFG_CPU_ADD("maincpu", M68000, 11059200 ) // ? |
| 1726 | 1721 | MCFG_CPU_PROGRAM_MAP(ilpag_map) |
| r29495 | r29496 | |
| 1739 | 1734 | |
| 1740 | 1735 | MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k) |
| 1741 | 1736 | |
| 1742 | | MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map, "palette") |
| 1737 | MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") |
| 1743 | 1738 | |
| 1744 | 1739 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1745 | 1740 | MCFG_DAC_ADD("dac") |
| r29495 | r29496 | |
| 1812 | 1807 | MCFG_PALETTE_ADD("palette", 0x100) |
| 1813 | 1808 | |
| 1814 | 1809 | MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k) |
| 1815 | | MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map, "palette") |
| 1810 | MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") |
| 1816 | 1811 | |
| 1817 | 1812 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1818 | 1813 | MCFG_DAC_ADD("dac") |
| r29495 | r29496 | |
| 1844 | 1839 | MCFG_PALETTE_ADD("palette", 0x100) |
| 1845 | 1840 | |
| 1846 | 1841 | MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k) |
| 1847 | | MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map, "palette") |
| 1842 | MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") |
| 1848 | 1843 | |
| 1849 | 1844 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1850 | 1845 | MCFG_DAC_ADD("dac") |
| r29495 | r29496 | |
| 1874 | 1869 | MCFG_PALETTE_ADD("palette", 0x100) |
| 1875 | 1870 | |
| 1876 | 1871 | MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k_addr_factor1) |
| 1877 | | MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map, "palette") |
| 1872 | MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") |
| 1878 | 1873 | |
| 1879 | 1874 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1880 | 1875 | MCFG_DAC_ADD("dac") |
| r29495 | r29496 | |
| 1903 | 1898 | MCFG_PALETTE_ADD("palette", 0x100) |
| 1904 | 1899 | |
| 1905 | 1900 | MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k) |
| 1906 | | MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map, "palette") |
| 1901 | MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") |
| 1907 | 1902 | |
| 1908 | 1903 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1909 | 1904 | MCFG_DAC_ADD("dac") |
| r29495 | r29496 | |
| 1934 | 1929 | MCFG_PALETTE_ADD("palette", 0x100) |
| 1935 | 1930 | |
| 1936 | 1931 | MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k) |
| 1937 | | MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map, "palette") |
| 1932 | MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") |
| 1938 | 1933 | |
| 1939 | 1934 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1940 | 1935 | MCFG_DAC_ADD("dac") |
| r29495 | r29496 | |
| 1963 | 1958 | MCFG_PALETTE_ADD("palette", 0x100) |
| 1964 | 1959 | |
| 1965 | 1960 | MCFG_VIDEO_START_OVERRIDE(blitz68k_state,blitz68k) |
| 1966 | | MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map, "palette") |
| 1961 | MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") |
| 1967 | 1962 | |
| 1968 | 1963 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1969 | 1964 | MCFG_DAC_ADD("dac") |
| r29495 | r29496 | |
| 1995 | 1990 | MCFG_MC6845_ADD("crtc", H46505, "screen", XTAL_11_0592MHz/4, mc6845_intf_irq3) |
| 1996 | 1991 | |
| 1997 | 1992 | MCFG_PALETTE_ADD("palette", 0x100) |
| 1998 | | MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map, "palette") |
| 1993 | MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") |
| 1999 | 1994 | |
| 2000 | 1995 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 2001 | 1996 | MCFG_SAA1099_ADD("saa", XTAL_8MHz/2) |
trunk/src/mame/drivers/pinball2k.c
| r29495 | r29496 | |
| 568 | 568 | AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w) |
| 569 | 569 | ADDRESS_MAP_END |
| 570 | 570 | |
| 571 | | static RAMDAC_INTERFACE( ramdac_intf ) |
| 572 | | { |
| 573 | | 0 |
| 574 | | }; |
| 575 | | |
| 576 | 571 | static MACHINE_CONFIG_START( mediagx, pinball2k_state ) |
| 577 | 572 | |
| 578 | 573 | /* basic machine hardware */ |
| r29495 | r29496 | |
| 588 | 583 | MCFG_IDE_CONTROLLER_ADD("ide", ata_devices, "hdd", NULL, true) |
| 589 | 584 | MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w)) |
| 590 | 585 | |
| 591 | | MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map, "palette") |
| 586 | MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") |
| 592 | 587 | |
| 593 | 588 | /* video hardware */ |
| 594 | 589 | MCFG_SCREEN_ADD("screen", RASTER) |
trunk/src/mame/drivers/sfbonus.c
| r29495 | r29496 | |
| 1349 | 1349 | AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w) |
| 1350 | 1350 | ADDRESS_MAP_END |
| 1351 | 1351 | |
| 1352 | | static RAMDAC_INTERFACE( ramdac_intf ) |
| 1353 | | { |
| 1354 | | 0 |
| 1355 | | }; |
| 1356 | 1352 | |
| 1357 | | |
| 1358 | 1353 | static MACHINE_CONFIG_START( sfbonus, sfbonus_state ) |
| 1359 | 1354 | MCFG_CPU_ADD("maincpu", Z80, 6000000) // custom packaged z80 CPU ?? Mhz |
| 1360 | 1355 | MCFG_CPU_PROGRAM_MAP(sfbonus_map) |
| r29495 | r29496 | |
| 1377 | 1372 | |
| 1378 | 1373 | MCFG_PALETTE_ADD("palette", 0x100*2) // *2 for priority workaraound / custom drawing |
| 1379 | 1374 | |
| 1380 | | MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map, "palette") |
| 1375 | MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") |
| 1381 | 1376 | |
| 1382 | 1377 | |
| 1383 | 1378 | /* Parrot 3 seems fine at 1 Mhz, but Double Challenge isn't? */ |
trunk/src/mame/machine/inder_vid.c
| r29495 | r29496 | |
| 109 | 109 | AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb888_w) |
| 110 | 110 | ADDRESS_MAP_END |
| 111 | 111 | |
| 112 | | static RAMDAC_INTERFACE( ramdac_intf ) |
| 113 | | { |
| 114 | | 1 |
| 115 | | }; |
| 116 | | |
| 117 | 112 | static MACHINE_CONFIG_FRAGMENT( inder_vid ) |
| 118 | 113 | MCFG_CPU_ADD("tms", TMS34010, XTAL_40MHz) |
| 119 | 114 | MCFG_CPU_CONFIG(tms_config_megaphx) |
| r29495 | r29496 | |
| 126 | 121 | |
| 127 | 122 | MCFG_PALETTE_ADD("palette", 256) |
| 128 | 123 | |
| 129 | | MCFG_RAMDAC_ADD("ramdac", ramdac_intf, ramdac_map, "palette") |
| 124 | MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette") |
| 125 | MCFG_RAMDAC_SPLIT_READ(1) |
| 130 | 126 | |
| 131 | | |
| 132 | 127 | MACHINE_CONFIG_END |
| 133 | 128 | |
| 134 | 129 | machine_config_constructor inder_vid_device::device_mconfig_additions() const |
trunk/src/emu/video/ramdac.h
| r29495 | r29496 | |
| 16 | 16 | // INTERFACE CONFIGURATION MACROS |
| 17 | 17 | //************************************************************************** |
| 18 | 18 | |
| 19 | | #define MCFG_RAMDAC_ADD(_tag,_config,_map,_palette_tag) \ |
| 19 | #define MCFG_RAMDAC_ADD(_tag, _map, _palette_tag) \ |
| 20 | 20 | MCFG_DEVICE_ADD(_tag, RAMDAC, 0) \ |
| 21 | | MCFG_DEVICE_CONFIG(_config) \ |
| 22 | 21 | MCFG_DEVICE_ADDRESS_MAP(AS_0, _map) \ |
| 23 | 22 | ramdac_device::static_set_palette_tag(*device, "^" _palette_tag); |
| 24 | 23 | |
| 25 | | #define RAMDAC_INTERFACE(name) \ |
| 26 | | const ramdac_interface (name) = |
| 24 | #define MCFG_RAMDAC_SPLIT_READ(_split) \ |
| 25 | ramdac_device::set_split_read(*device, _split); |
| 27 | 26 | |
| 28 | | // ======================> ramdac_interface |
| 29 | 27 | |
| 30 | | struct ramdac_interface |
| 31 | | { |
| 32 | | UINT8 m_split_read_reg; // read register index is separated, seen in rltennis |
| 33 | | }; |
| 34 | | |
| 35 | 28 | //************************************************************************** |
| 36 | 29 | // TYPE DEFINITIONS |
| 37 | 30 | //************************************************************************** |
| r29495 | r29496 | |
| 39 | 32 | // ======================> ramdac_device |
| 40 | 33 | |
| 41 | 34 | class ramdac_device : public device_t, |
| 42 | | public device_memory_interface, |
| 43 | | public ramdac_interface |
| 35 | public device_memory_interface |
| 44 | 36 | { |
| 45 | 37 | public: |
| 46 | 38 | // construction/destruction |
| r29495 | r29496 | |
| 48 | 40 | |
| 49 | 41 | // static configuration |
| 50 | 42 | static void static_set_palette_tag(device_t &device, const char *tag); |
| 43 | static void set_split_read(device_t &device, int split) { downcast<ramdac_device &>(device).m_split_read_reg = split; } |
| 51 | 44 | |
| 52 | 45 | // I/O operations |
| 53 | 46 | DECLARE_READ8_MEMBER( index_r ); |
| r29495 | r29496 | |
| 68 | 61 | virtual void device_validity_check(validity_checker &valid) const; |
| 69 | 62 | virtual void device_start(); |
| 70 | 63 | virtual void device_reset(); |
| 71 | | virtual void device_config_complete(); |
| 72 | 64 | inline UINT8 readbyte(offs_t address); |
| 73 | 65 | inline void writebyte(offs_t address, UINT8 data); |
| 74 | 66 | inline void reg_increment(UINT8 inc_type); |
| r29495 | r29496 | |
| 81 | 73 | |
| 82 | 74 | const address_space_config m_space_config; |
| 83 | 75 | required_device<palette_device> m_palette; |
| 76 | |
| 77 | UINT8 m_split_read_reg; // read register index is separated, seen in rltennis |
| 84 | 78 | }; |
| 85 | 79 | |
| 86 | 80 | |
| r29495 | r29496 | |
| 88 | 82 | extern const device_type RAMDAC; |
| 89 | 83 | |
| 90 | 84 | |
| 91 | | |
| 92 | | //************************************************************************** |
| 93 | | // GLOBAL VARIABLES |
| 94 | | //************************************************************************** |
| 95 | | |
| 96 | | |
| 97 | | |
| 98 | 85 | #endif |
trunk/src/emu/video/ramdac.c
| r29495 | r29496 | |
| 43 | 43 | : device_t(mconfig, RAMDAC, "ramdac", tag, owner, clock, "ramdac", __FILE__), |
| 44 | 44 | device_memory_interface(mconfig, *this), |
| 45 | 45 | m_space_config("videoram", ENDIANNESS_LITTLE, 8, 10, 0, NULL, *ADDRESS_MAP_NAME(ramdac_palram)), |
| 46 | | m_palette(*this) |
| 46 | m_palette(*this), |
| 47 | m_split_read_reg(0) |
| 47 | 48 | { |
| 48 | 49 | } |
| 49 | 50 | |
| r29495 | r29496 | |
| 87 | 88 | } |
| 88 | 89 | |
| 89 | 90 | //------------------------------------------------- |
| 90 | | // device_config_complete - perform any |
| 91 | | // operations now that the configuration is |
| 92 | | // complete |
| 93 | | //------------------------------------------------- |
| 94 | | |
| 95 | | void ramdac_device::device_config_complete() |
| 96 | | { |
| 97 | | // inherit a copy of the static data |
| 98 | | const ramdac_interface *intf = reinterpret_cast<const ramdac_interface *>(static_config()); |
| 99 | | if (intf != NULL) |
| 100 | | *static_cast<ramdac_interface *>(this) = *intf; |
| 101 | | |
| 102 | | // or initialize to defaults if none provided |
| 103 | | else |
| 104 | | { |
| 105 | | // ... |
| 106 | | } |
| 107 | | } |
| 108 | | |
| 109 | | |
| 110 | | //------------------------------------------------- |
| 111 | 91 | // device_validity_check - perform validity checks |
| 112 | 92 | // on this device |
| 113 | 93 | //------------------------------------------------- |