Previous 199869 Revisions Next

r35111 Wednesday 18th February, 2015 at 17:24:09 UTC by Osso
gluck2.c: enabled save state support (nw)
[src/mame/drivers]gluck2.c

trunk/src/mame/drivers/gluck2.c
r243622r243623
204204public:
205205   gluck2_state(const machine_config &mconfig, device_type type, const char *tag)
206206      : driver_device(mconfig, type, tag) ,
207      m_maincpu(*this, "maincpu"),
208      m_gfxdecode(*this, "gfxdecode"),
207209      m_videoram(*this, "videoram"),
208      m_colorram(*this, "colorram"),
209      m_maincpu(*this, "maincpu"),
210      m_gfxdecode(*this, "gfxdecode"){ }
210      m_colorram(*this, "colorram") { }
211211
212   required_device<cpu_device> m_maincpu;
213   required_device<gfxdecode_device> m_gfxdecode;
214   
212215   required_shared_ptr<UINT8> m_videoram;
213216   required_shared_ptr<UINT8> m_colorram;
217   
214218   tilemap_t *m_bg_tilemap;
215   DECLARE_WRITE8_MEMBER(gluck2_videoram_w);
216   DECLARE_WRITE8_MEMBER(gluck2_colorram_w);
219   
220   DECLARE_WRITE8_MEMBER(videoram_w);
221   DECLARE_WRITE8_MEMBER(colorram_w);
217222   DECLARE_WRITE8_MEMBER(counters_w);
218   TILE_GET_INFO_MEMBER(get_gluck2_tile_info);
223   TILE_GET_INFO_MEMBER(get_tile_info);
224   
219225   virtual void video_start();
220226   DECLARE_PALETTE_INIT(gluck2);
221   UINT32 screen_update_gluck2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
222   required_device<cpu_device> m_maincpu;
223   required_device<gfxdecode_device> m_gfxdecode;
227   
228   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
224229};
225230
226231
r243622r243623
229234*********************************************/
230235
231236
232WRITE8_MEMBER(gluck2_state::gluck2_videoram_w)
237WRITE8_MEMBER(gluck2_state::videoram_w)
233238{
234239   m_videoram[offset] = data;
235240   m_bg_tilemap->mark_tile_dirty(offset);
236241}
237242
238WRITE8_MEMBER(gluck2_state::gluck2_colorram_w)
243WRITE8_MEMBER(gluck2_state::colorram_w)
239244{
240245   m_colorram[offset] = data;
241246   m_bg_tilemap->mark_tile_dirty(offset);
242247}
243248
244249
245TILE_GET_INFO_MEMBER(gluck2_state::get_gluck2_tile_info)
250TILE_GET_INFO_MEMBER(gluck2_state::get_tile_info)
246251{
247252/*  - bits -
248253    7654 3210
r243622r243623
261266
262267void gluck2_state::video_start()
263268{
264   m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(gluck2_state::get_gluck2_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
269   m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(gluck2_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
265270}
266271
267272
268UINT32 gluck2_state::screen_update_gluck2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
273UINT32 gluck2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
269274{
270275   m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
271276   return 0;
r243622r243623
340345   AM_RANGE(0x0800, 0x0800) AM_DEVWRITE("crtc", mc6845_device, address_w)
341346   AM_RANGE(0x0801, 0x0801) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
342347   AM_RANGE(0x0844, 0x084b) AM_NOP /* see below */
343   AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(gluck2_videoram_w) AM_SHARE("videoram") /* 6116 #1 (2K x 8) RAM (only 1st half used) */
344   AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(gluck2_colorram_w) AM_SHARE("colorram") /* 6116 #2 (2K x 8) RAM (only 1st half used) */
348   AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram") /* 6116 #1 (2K x 8) RAM (only 1st half used) */
349   AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram") /* 6116 #2 (2K x 8) RAM (only 1st half used) */
345350   AM_RANGE(0x2000, 0x2000) AM_READ_PORT("SW1")
346351   AM_RANGE(0x2d00, 0x2d01) AM_DEVWRITE("ymsnd", ym2413_device, write)
347352   AM_RANGE(0x3400, 0x3400) AM_READ_PORT("IN0")
r243622r243623
525530*/
526531   MCFG_SCREEN_SIZE((39+1)*8, (38+1)*8)                /* from MC6845 init, registers 00 & 04. (value - 1) */
527532   MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)  /* from MC6845 init, registers 01 & 06. */
528   MCFG_SCREEN_UPDATE_DRIVER(gluck2_state, screen_update_gluck2)
533   MCFG_SCREEN_UPDATE_DRIVER(gluck2_state, screen_update)
529534   MCFG_SCREEN_PALETTE("palette")
530535
531536   MCFG_GFXDECODE_ADD("gfxdecode", "palette", gluck2)
r243622r243623
578583*********************************************/
579584
580585/*    YEAR  NAME      PARENT  MACHINE   INPUT     STATE          INIT   ROT    COMPANY          FULLNAME       FLAGS... */
581GAME( 1992, gluck2,   0,      gluck2,   gluck2,   driver_device, 0,     ROT0, "Yung Yu / CYE", "Good Luck II", 0 )
586GAME( 1992, gluck2,   0,      gluck2,   gluck2,   driver_device, 0,     ROT0, "Yung Yu / CYE", "Good Luck II", GAME_SUPPORTS_SAVE )


Previous 199869 Revisions Next


© 1997-2024 The MAME Team