Previous 199869 Revisions Next

r30915 Monday 9th June, 2014 at 19:21:54 UTC by Osso
Applied Kale's ramdac changes to koftball.c, too. This fixes the debug build regression found by Tafoid's regression tests. (nw)
[src/mame/drivers]koftball.c

trunk/src/mame/drivers/koftball.c
r30914r30915
3232#include "cpu/m68000/m68000.h"
3333#include "sound/okim6295.h"
3434#include "sound/2413intf.h"
35#include "video/ramdac.h"
3536
3637
3738class koftball_state : public driver_device
r30914r30915
4344      m_main_ram(*this, "main_ram"),
4445      m_bmc_1_videoram(*this, "bmc_1_videoram"),
4546      m_bmc_2_videoram(*this, "bmc_2_videoram"),
46      m_colorram(*this, "colorram", 16),
4747      m_gfxdecode(*this, "gfxdecode"),
4848      m_palette(*this, "palette") { }
4949
r30914r30915
5151   required_shared_ptr<UINT16> m_main_ram;
5252   required_shared_ptr<UINT16> m_bmc_1_videoram;
5353   required_shared_ptr<UINT16> m_bmc_2_videoram;
54   required_shared_ptr<UINT8> m_colorram;
5554   required_device<gfxdecode_device> m_gfxdecode;
5655   required_device<palette_device> m_palette;
5756   tilemap_t *m_tilemap_1;
r30914r30915
5958   int m_clr_offset;
6059   UINT16 m_prot_data;
6160
62   DECLARE_WRITE16_MEMBER(bmc_RAMDAC_offset_w);
63   DECLARE_WRITE16_MEMBER(bmc_RAMDAC_color_w);
64   DECLARE_READ16_MEMBER(bmc_RAMDAC_color_r);
6561   DECLARE_READ16_MEMBER(random_number_r);
6662   DECLARE_READ16_MEMBER(prot_r);
6763   DECLARE_WRITE16_MEMBER(prot_w);
r30914r30915
109105   return 0;
110106}
111107
112WRITE16_MEMBER(koftball_state::bmc_RAMDAC_offset_w)
113{
114   m_clr_offset=data*3;
115}
116
117WRITE16_MEMBER(koftball_state::bmc_RAMDAC_color_w)
118{
119   m_colorram[m_clr_offset]=data;
120   m_palette->set_pen_color(m_clr_offset/3,pal6bit(m_colorram[(m_clr_offset/3)*3]),pal6bit(m_colorram[(m_clr_offset/3)*3+1]),pal6bit(m_colorram[(m_clr_offset/3)*3+2]));
121   m_clr_offset=(m_clr_offset+1)%768;
122}
123
124READ16_MEMBER(koftball_state::bmc_RAMDAC_color_r)
125{
126   return m_colorram[m_clr_offset];
127}
128
129108READ16_MEMBER(koftball_state::random_number_r)
130109{
131110   return machine().rand();
r30914r30915
178157   AM_RANGE(0x2d8000, 0x2d8001) AM_READ(random_number_r)
179158   AM_RANGE(0x2da000, 0x2da003) AM_DEVWRITE8("ymsnd", ym2413_device, write, 0xff00)
180159
181   AM_RANGE(0x2db000, 0x2db001) AM_WRITE(bmc_RAMDAC_offset_w) AM_SHARE("colorram")
182   AM_RANGE(0x2db002, 0x2db003) AM_READWRITE(bmc_RAMDAC_color_r, bmc_RAMDAC_color_w)
183   AM_RANGE(0x2db004, 0x2db005) AM_WRITENOP
160   AM_RANGE(0x2db000, 0x2db001) AM_DEVWRITE8("ramdac", ramdac_device, index_w, 0x00ff)
161   AM_RANGE(0x2db002, 0x2db003) AM_DEVWRITE8("ramdac", ramdac_device, pal_w, 0x00ff)
162   AM_RANGE(0x2db004, 0x2db005) AM_DEVWRITE8("ramdac", ramdac_device, mask_w, 0x00ff)
163
184164   AM_RANGE(0x2dc000, 0x2dc001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0xff00)
185165   AM_RANGE(0x2f0000, 0x2f0003) AM_READ_PORT("INPUTS")
186166   AM_RANGE(0x300000, 0x300001) AM_WRITENOP
r30914r30915
189169   AM_RANGE(0x360000, 0x360001) AM_WRITE(prot_w)
190170ADDRESS_MAP_END
191171
172static ADDRESS_MAP_START( ramdac_map, AS_0, 8, koftball_state )
173   AM_RANGE(0x000, 0x3ff) AM_DEVREADWRITE("ramdac",ramdac_device,ramdac_pal_r,ramdac_rgb666_w)
174ADDRESS_MAP_END
192175
193176static INPUT_PORTS_START( koftball )
194177   PORT_START("INPUTS")
r30914r30915
256239   MCFG_SCREEN_PALETTE("palette")
257240
258241   MCFG_PALETTE_ADD("palette", 256)
242   MCFG_RAMDAC_ADD("ramdac", ramdac_map, "palette")
259243
260244   MCFG_GFXDECODE_ADD("gfxdecode", "palette", koftball)
261245

Previous 199869 Revisions Next


© 1997-2024 The MAME Team