diff options
author | Vas Crabb <vas@vastheman.com> | 2015-03-09 18:55:58 +1100 |
---|---|---|
committer | Vas Crabb <vas@vastheman.com> | 2015-03-09 18:55:58 +1100 |
commit | 355305639501ff0e35d7d20c0e0fdccd5f86f0ec (patch) | |
tree | 260d27a5713dbac3e3655fcf8bed3cb5ce6f262b | |
parent | 1752d6a271963f992857e7719ac372e212c0d755 (diff) |
Untangle some cherry master code
-rw-r--r-- | src/mame/drivers/goldstar.c | 416 | ||||
-rw-r--r-- | src/mame/includes/goldstar.h | 167 | ||||
-rw-r--r-- | src/mame/video/goldstar.c | 168 |
3 files changed, 286 insertions, 465 deletions
diff --git a/src/mame/drivers/goldstar.c b/src/mame/drivers/goldstar.c index e4449cd62ba..821f0c120ac 100644 --- a/src/mame/drivers/goldstar.c +++ b/src/mame/drivers/goldstar.c @@ -614,9 +614,10 @@ static ADDRESS_MAP_START( wcherry_readwriteport, AS_IO, 8, goldstar_state ) */ -WRITE8_MEMBER(goldstar_state::cm_outport1_w) +WRITE8_MEMBER(cmaster_state::outport1_w) { /* lamps? */ + //popmessage("outport1: %02X", data); } static ADDRESS_MAP_START( cm_map, AS_PROGRAM, 8, goldstar_state ) @@ -666,17 +667,17 @@ ADDRESS_MAP_END -static ADDRESS_MAP_START( cm_portmap, AS_IO, 8, goldstar_state ) +static ADDRESS_MAP_START( cm_portmap, AS_IO, 8, cmaster_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_device, data_r) AM_RANGE(0x02, 0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w) AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) /* Inputs */ AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) /* DIP switches */ - AM_RANGE(0x10, 0x10) AM_WRITE(cm_outport0_w) /* output port */ + AM_RANGE(0x10, 0x10) AM_WRITE(outport0_w) /* output port */ AM_RANGE(0x11, 0x11) AM_WRITENOP - AM_RANGE(0x12, 0x12) AM_WRITE(cm_outport1_w) /* output port */ - AM_RANGE(0x13, 0x13) AM_WRITE(cm_background_col_w) - AM_RANGE(0x14, 0x14) AM_WRITE(cm_girl_scroll_w) + AM_RANGE(0x12, 0x12) AM_WRITE(outport1_w) /* output port */ + AM_RANGE(0x13, 0x13) AM_WRITE(background_col_w) + AM_RANGE(0x14, 0x14) AM_WRITE(girl_scroll_w) ADDRESS_MAP_END @@ -733,29 +734,29 @@ static ADDRESS_MAP_START( cmast91_portmap, AS_IO, 8, goldstar_state ) ADDRESS_MAP_END -static ADDRESS_MAP_START( amcoe1_portmap, AS_IO, 8, goldstar_state ) +static ADDRESS_MAP_START( amcoe1_portmap, AS_IO, 8, cmaster_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_device, data_r) AM_RANGE(0x02, 0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w) AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) /* Input Ports */ AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) /* DIP switches */ - AM_RANGE(0x10, 0x10) AM_WRITE(cm_outport0_w) /* output port */ + AM_RANGE(0x10, 0x10) AM_WRITE(outport0_w) /* output port */ AM_RANGE(0x11, 0x11) AM_WRITENOP - AM_RANGE(0x12, 0x12) AM_WRITE(cm_outport1_w) /* output port */ - AM_RANGE(0x13, 0x13) AM_WRITE(cm_background_col_w) + AM_RANGE(0x12, 0x12) AM_WRITE(outport1_w) /* output port */ + AM_RANGE(0x13, 0x13) AM_WRITE(background_col_w) AM_RANGE(0x20, 0x20) AM_DEVREADWRITE("oki", okim6295_device, read, write) ADDRESS_MAP_END -static ADDRESS_MAP_START( amcoe2_portmap, AS_IO, 8, goldstar_state ) +static ADDRESS_MAP_START( amcoe2_portmap, AS_IO, 8, cmaster_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_device, data_r) AM_RANGE(0x02, 0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w) AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) /* Input Ports */ AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) /* DIP switches */ - AM_RANGE(0x10, 0x10) AM_WRITE(cm_outport0_w) /* output port */ + AM_RANGE(0x10, 0x10) AM_WRITE(outport0_w) /* output port */ AM_RANGE(0x11, 0x11) AM_WRITENOP - AM_RANGE(0x12, 0x12) AM_WRITE(cm_outport1_w) /* output port */ - AM_RANGE(0x13, 0x13) AM_WRITE(cm_background_col_w) + AM_RANGE(0x12, 0x12) AM_WRITE(outport1_w) /* output port */ + AM_RANGE(0x13, 0x13) AM_WRITE(background_col_w) ADDRESS_MAP_END @@ -8047,7 +8048,7 @@ MACHINE_CONFIG_END -static MACHINE_CONFIG_START( cm, goldstar_state ) +static MACHINE_CONFIG_START( cm, cmaster_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) @@ -8091,50 +8092,11 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( cmasterc, cm ) MCFG_GFXDECODE_MODIFY("gfxdecode", cmasterc) - MACHINE_CONFIG_END #ifdef UNUSED_CODE -static MACHINE_CONFIG_START( cmnobmp, goldstar_state ) - - /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) - MCFG_CPU_PROGRAM_MAP(cm_map) - MCFG_CPU_IO_MAP(cm_portmap) - MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) - - MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0) - MCFG_I8255_IN_PORTA_CB(IOPORT("IN0")) - MCFG_I8255_IN_PORTB_CB(IOPORT("IN1")) - MCFG_I8255_IN_PORTC_CB(IOPORT("IN2")) - - MCFG_DEVICE_ADD("ppi8255_1", I8255A, 0) - MCFG_I8255_IN_PORTA_CB(IOPORT("DSW1")) - MCFG_I8255_IN_PORTB_CB(IOPORT("DSW2")) - MCFG_I8255_IN_PORTC_CB(IOPORT("DSW3")) - - /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) -// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(64*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar) - MCFG_SCREEN_PALETTE("palette") - - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cm) - MCFG_PALETTE_ADD("palette", 256) - MCFG_PALETTE_INIT_OWNER(goldstar_state,cm) - MCFG_NVRAM_ADD_1FILL("nvram") - - MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym) - - /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("aysnd", AY8910, AY_CLOCK) - MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW4")) - MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW5")) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) +static MACHINE_CONFIG_DERIVED( cmasterc, cmnobmp ) + MCFG_GFXDECODE_MODIFY("gfxdecode", cm) MACHINE_CONFIG_END #endif @@ -8515,7 +8477,7 @@ MACHINE_CONFIG_END /* diff with cm machine driver: gfxdecode, OKI & portmap */ -static MACHINE_CONFIG_START( amcoe1, goldstar_state ) +static MACHINE_CONFIG_START( amcoe1, cmaster_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) @@ -8547,7 +8509,7 @@ static MACHINE_CONFIG_START( amcoe1, goldstar_state ) MCFG_PALETTE_INIT_OWNER(goldstar_state,cm) MCFG_NVRAM_ADD_1FILL("nvram") - MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym) + MCFG_VIDEO_START_OVERRIDE(goldstar_state, cherrym) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -8562,60 +8524,22 @@ MACHINE_CONFIG_END /* diff with cm machine driver: gfxdecode, OKI, portmap & tilemaps rect size/position */ -static MACHINE_CONFIG_START( amcoe1a, goldstar_state ) - - /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) - MCFG_CPU_PROGRAM_MAP(cm_map) - MCFG_CPU_IO_MAP(amcoe1_portmap) - MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) - - MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0) - MCFG_I8255_IN_PORTA_CB(IOPORT("IN0")) - MCFG_I8255_IN_PORTB_CB(IOPORT("IN1")) - MCFG_I8255_IN_PORTC_CB(IOPORT("IN2")) - - MCFG_DEVICE_ADD("ppi8255_1", I8255A, 0) - MCFG_I8255_IN_PORTA_CB(IOPORT("DSW1")) - MCFG_I8255_IN_PORTB_CB(IOPORT("DSW2")) - MCFG_I8255_IN_PORTC_CB(IOPORT("DSW3")) +static MACHINE_CONFIG_DERIVED( amcoe1a, amcoe1 ) /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) -// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(64*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_amcoe1a) - MCFG_SCREEN_PALETTE("palette") - - MCFG_GFXDECODE_ADD("gfxdecode", "palette", cm) - MCFG_PALETTE_ADD("palette", 256) - MCFG_PALETTE_INIT_OWNER(goldstar_state,cm) - MCFG_NVRAM_ADD_1FILL("nvram") - - MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym) - - /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("aysnd", AY8910, AY_CLOCK) - MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW4")) - MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW5")) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) - - MCFG_OKIM6295_ADD("oki", OKI_CLOCK, OKIM6295_PIN7_HIGH) /* clock frequency & pin 7 not verified */ - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + MCFG_SCREEN_MODIFY("screen") + MCFG_SCREEN_UPDATE_DRIVER(cmaster_state, screen_update_amcoe1a) MACHINE_CONFIG_END /* diff with cm machine driver: gfxdecode, AY8910 volume & portmap */ -static MACHINE_CONFIG_START( amcoe2, goldstar_state ) +static MACHINE_CONFIG_START( amcoe2, cmaster_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) MCFG_CPU_PROGRAM_MAP(cm_map) MCFG_CPU_IO_MAP(amcoe2_portmap) - MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) + MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0) MCFG_I8255_IN_PORTA_CB(IOPORT("IN0")) @@ -8651,46 +8575,13 @@ static MACHINE_CONFIG_START( amcoe2, goldstar_state ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.00) /* analyzed for clips */ MACHINE_CONFIG_END -static MACHINE_CONFIG_START( nfm, goldstar_state ) +static MACHINE_CONFIG_DERIVED( nfm, amcoe2 ) /* basic machine hardware */ - MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) + MCFG_CPU_MODIFY("maincpu") MCFG_CPU_PROGRAM_MAP(nfm_map) - MCFG_CPU_IO_MAP(amcoe2_portmap) - MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) - MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0) - MCFG_I8255_IN_PORTA_CB(IOPORT("IN0")) - MCFG_I8255_IN_PORTB_CB(IOPORT("IN1")) - MCFG_I8255_IN_PORTC_CB(IOPORT("IN2")) - - MCFG_DEVICE_ADD("ppi8255_1", I8255A, 0) - MCFG_I8255_IN_PORTA_CB(IOPORT("DSW1")) - MCFG_I8255_IN_PORTB_CB(IOPORT("DSW2")) - MCFG_I8255_IN_PORTC_CB(IOPORT("DSW3")) - - /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60) -// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MCFG_SCREEN_SIZE(64*8, 32*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar) - MCFG_SCREEN_PALETTE("palette") - - MCFG_GFXDECODE_ADD("gfxdecode", "palette", nfm) - MCFG_PALETTE_ADD("palette", 256) - MCFG_PALETTE_INIT_OWNER(goldstar_state,cm) - MCFG_NVRAM_ADD_1FILL("nvram") - - MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym) - - /* sound hardware */ - MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD("aysnd", AY8910, AY_CLOCK) - MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW4")) - MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW5")) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.00) /* analyzed for clips */ + MCFG_GFXDECODE_MODIFY("gfxdecode", nfm) MACHINE_CONFIG_END static MACHINE_CONFIG_START( unkch, unkch_state ) @@ -12089,13 +11980,7 @@ ROM_START( fb2010 ) ROM_END -READ8_MEMBER(goldstar_state::fixedval7d_r ) -{ - return ~0x7d; -} - - -DRIVER_INIT_MEMBER(goldstar_state,fb2010) +DRIVER_INIT_MEMBER(cmaster_state, fb2010) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -12114,8 +11999,7 @@ DRIVER_INIT_MEMBER(goldstar_state,fb2010) ROM[i] = x; } - m_maincpu->space(AS_IO).install_read_handler(0x1e, 0x1e, read8_delegate(FUNC(goldstar_state::fixedval7d_r),this)); - + m_maincpu->space(AS_IO).install_read_handler(0x1e, 0x1e, read8_delegate(FUNC(cmaster_state::fixedval7d_r),this)); } @@ -13518,7 +13402,7 @@ DRIVER_INIT_MEMBER(chrygld_state, chrygld) dump_to_file(ROM); } -DRIVER_INIT_MEMBER(goldstar_state,cm) +DRIVER_INIT_MEMBER(cmaster_state,cm) { UINT8 *ROM = memregion("maincpu")->base(); @@ -13529,7 +13413,7 @@ DRIVER_INIT_MEMBER(goldstar_state,cm) ROM[0x0025] = 0x9b; } -DRIVER_INIT_MEMBER(goldstar_state,cmv4) +DRIVER_INIT_MEMBER(cmaster_state, cmv4) { UINT8 *ROM = memregion("maincpu")->base(); @@ -13558,7 +13442,7 @@ DRIVER_INIT_MEMBER(wingco_state, lucky8a) ROM[0x0010] = 0x21; } -DRIVER_INIT_MEMBER(goldstar_state,nfb96sea) +DRIVER_INIT_MEMBER(cmaster_state, nfb96sea) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -13583,15 +13467,7 @@ DRIVER_INIT_MEMBER(goldstar_state,nfb96sea) } -READ8_MEMBER(goldstar_state::fixedvalb4_r) -{ - return 0xb4; -} -READ8_MEMBER(goldstar_state::fixedvala8_r) -{ - return 0xa8; -} -DRIVER_INIT_MEMBER(goldstar_state,schery97) +DRIVER_INIT_MEMBER(cmaster_state, schery97) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -13608,17 +13484,12 @@ DRIVER_INIT_MEMBER(goldstar_state,schery97) ROM[i] = x; } - m_maincpu->space(AS_IO).install_read_handler(0x1d, 0x1d, read8_delegate(FUNC(goldstar_state::fixedvala8_r),this)); - m_maincpu->space(AS_IO).install_read_handler(0x2a, 0x2a, read8_delegate(FUNC(goldstar_state::fixedvalb4_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x1d, 0x1d, read8_delegate(FUNC(cmaster_state::fixedvala8_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x2a, 0x2a, read8_delegate(FUNC(cmaster_state::fixedvalb4_r),this)); /* Oki 6295 at 0x20 */ } -READ8_MEMBER(goldstar_state::fixedval38_r) -{ - return 0x38; -} - -DRIVER_INIT_MEMBER(goldstar_state,schery97a) +DRIVER_INIT_MEMBER(cmaster_state, schery97a) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -13637,16 +13508,11 @@ DRIVER_INIT_MEMBER(goldstar_state,schery97a) } - m_maincpu->space(AS_IO).install_read_handler(0x16, 0x16, read8_delegate(FUNC(goldstar_state::fixedval38_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x16, 0x16, read8_delegate(FUNC(cmaster_state::fixedval38_r),this)); /* Oki 6295 at 0x20 */ } -READ8_MEMBER(goldstar_state::fixedvalea_r) -{ - return 0xea; -} - -DRIVER_INIT_MEMBER(goldstar_state,skill98) +DRIVER_INIT_MEMBER(cmaster_state, skill98) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -13663,16 +13529,11 @@ DRIVER_INIT_MEMBER(goldstar_state,skill98) ROM[i] = x; } - m_maincpu->space(AS_IO).install_read_handler(0x1e, 0x1e, read8_delegate(FUNC(goldstar_state::fixedvalea_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x1e, 0x1e, read8_delegate(FUNC(cmaster_state::fixedvalea_r),this)); /* Oki 6295 at 0x20 */ } -READ8_MEMBER(goldstar_state::fixedval68_r) -{ - return 0x68; -} - -DRIVER_INIT_MEMBER(goldstar_state,nfb96_c1) +DRIVER_INIT_MEMBER(cmaster_state, nfb96_c1) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -13689,16 +13550,11 @@ DRIVER_INIT_MEMBER(goldstar_state,nfb96_c1) } ROM[i] = x; } - m_maincpu->space(AS_IO).install_read_handler(0x31, 0x31, read8_delegate(FUNC(goldstar_state::fixedval68_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x31, 0x31, read8_delegate(FUNC(cmaster_state::fixedval68_r),this)); } -READ8_MEMBER(goldstar_state::fixedval58_r) -{ - return 0x58; -} - -DRIVER_INIT_MEMBER(goldstar_state,nfb96_c2) +DRIVER_INIT_MEMBER(cmaster_state, nfb96_c2) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -13716,25 +13572,10 @@ DRIVER_INIT_MEMBER(goldstar_state,nfb96_c2) ROM[i] = x; } - m_maincpu->space(AS_IO).install_read_handler(0x21, 0x21, read8_delegate(FUNC(goldstar_state::fixedval58_r),this)); -} - -READ8_MEMBER(goldstar_state::fixedval80_r) -{ - return 0x80; -} - -READ8_MEMBER(goldstar_state::fixedval96_r) -{ - return 0x96; -} - -READ8_MEMBER(goldstar_state::fixedvalaa_r) -{ - return 0xaa; + m_maincpu->space(AS_IO).install_read_handler(0x21, 0x21, read8_delegate(FUNC(cmaster_state::fixedval58_r),this)); } -DRIVER_INIT_MEMBER(goldstar_state,nfb96_d) +DRIVER_INIT_MEMBER(cmaster_state, nfb96_d) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -13752,21 +13593,16 @@ DRIVER_INIT_MEMBER(goldstar_state,nfb96_d) ROM[i] = x; } // nfb96b needs both of these - m_maincpu->space(AS_IO).install_read_handler(0x23, 0x23, read8_delegate(FUNC(goldstar_state::fixedval80_r),this)); - m_maincpu->space(AS_IO).install_read_handler(0x5a, 0x5a, read8_delegate(FUNC(goldstar_state::fixedvalaa_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x23, 0x23, read8_delegate(FUNC(cmaster_state::fixedval80_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x5a, 0x5a, read8_delegate(FUNC(cmaster_state::fixedvalaa_r),this)); // csel96b - m_maincpu->space(AS_IO).install_read_handler(0x6e, 0x6e, read8_delegate(FUNC(goldstar_state::fixedval96_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x6e, 0x6e, read8_delegate(FUNC(cmaster_state::fixedval96_r),this)); } -READ8_MEMBER(goldstar_state::fixedvalbe_r) -{ - return 0xbe; -} - -DRIVER_INIT_MEMBER(goldstar_state,nfb96_dk) +DRIVER_INIT_MEMBER(cmaster_state, nfb96_dk) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -13783,21 +13619,11 @@ DRIVER_INIT_MEMBER(goldstar_state,nfb96_dk) } ROM[i] = x; } - m_maincpu->space(AS_IO).install_read_handler(0x2e, 0x2e, read8_delegate(FUNC(goldstar_state::fixedvalbe_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x2e, 0x2e, read8_delegate(FUNC(cmaster_state::fixedvalbe_r),this)); } -READ8_MEMBER(goldstar_state::fixedval90_r) -{ - return 0x90; -} - -READ8_MEMBER(goldstar_state::fixedval84_r) -{ - return 0x84; -} - -DRIVER_INIT_MEMBER(goldstar_state,rp35) +DRIVER_INIT_MEMBER(cmaster_state, rp35) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -13815,16 +13641,11 @@ DRIVER_INIT_MEMBER(goldstar_state,rp35) ROM[i] = x; } - m_maincpu->space(AS_IO).install_read_handler(0x5e, 0x5e, read8_delegate(FUNC(goldstar_state::fixedval84_r),this)); - m_maincpu->space(AS_IO).install_read_handler(0x36, 0x36, read8_delegate(FUNC(goldstar_state::fixedval90_r),this)); -} - -READ8_MEMBER(goldstar_state::fixedvalb2_r) -{ - return 0xb2; + m_maincpu->space(AS_IO).install_read_handler(0x5e, 0x5e, read8_delegate(FUNC(cmaster_state::fixedval84_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x36, 0x36, read8_delegate(FUNC(cmaster_state::fixedval90_r),this)); } -DRIVER_INIT_MEMBER(goldstar_state,rp36) +DRIVER_INIT_MEMBER(cmaster_state, rp36) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -13843,15 +13664,10 @@ DRIVER_INIT_MEMBER(goldstar_state,rp36) ROM[i] = x; } - m_maincpu->space(AS_IO).install_read_handler(0x34, 0x34, read8_delegate(FUNC(goldstar_state::fixedvalb2_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x34, 0x34, read8_delegate(FUNC(cmaster_state::fixedvalb2_r),this)); } -READ8_MEMBER(goldstar_state::fixedval48_r) -{ - return 0x48; -} - -DRIVER_INIT_MEMBER(goldstar_state,rp36c3) +DRIVER_INIT_MEMBER(cmaster_state, rp36c3) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -13870,21 +13686,11 @@ DRIVER_INIT_MEMBER(goldstar_state,rp36c3) ROM[i] = x; } - m_maincpu->space(AS_IO).install_read_handler(0x17, 0x17, read8_delegate(FUNC(goldstar_state::fixedval48_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x17, 0x17, read8_delegate(FUNC(cmaster_state::fixedval48_r),this)); } -READ8_MEMBER(goldstar_state::fixedval09_r) -{ - return 0x09; -} -READ8_MEMBER(goldstar_state::fixedval74_r) -{ - return 0x74; -} - - -DRIVER_INIT_MEMBER(goldstar_state,po33) +DRIVER_INIT_MEMBER(cmaster_state, po33) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -13902,22 +13708,12 @@ DRIVER_INIT_MEMBER(goldstar_state,po33) ROM[i] = x; } - m_maincpu->space(AS_IO).install_read_handler(0x32, 0x32, read8_delegate(FUNC(goldstar_state::fixedval74_r),this)); - m_maincpu->space(AS_IO).install_read_handler(0x12, 0x12, read8_delegate(FUNC(goldstar_state::fixedval09_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x32, 0x32, read8_delegate(FUNC(cmaster_state::fixedval74_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x12, 0x12, read8_delegate(FUNC(cmaster_state::fixedval09_r),this)); /* oki6295 at 0x20 */ } -READ8_MEMBER(goldstar_state::fixedvale4_r) -{ - return 0xe4; -} - -READ8_MEMBER(goldstar_state::fixedvalc7_r) -{ - return 0xc7; -} - -DRIVER_INIT_MEMBER(goldstar_state,match133) +DRIVER_INIT_MEMBER(cmaster_state, match133) { int i; UINT8 *ROM = memregion("maincpu")->base(); @@ -13936,8 +13732,8 @@ DRIVER_INIT_MEMBER(goldstar_state,match133) ROM[i] = x; } - m_maincpu->space(AS_IO).install_read_handler(0x16, 0x16, read8_delegate(FUNC(goldstar_state::fixedvalc7_r),this)); - m_maincpu->space(AS_IO).install_read_handler(0x1a, 0x1a, read8_delegate(FUNC(goldstar_state::fixedvale4_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x16, 0x16, read8_delegate(FUNC(cmaster_state::fixedvalc7_r),this)); + m_maincpu->space(AS_IO).install_read_handler(0x1a, 0x1a, read8_delegate(FUNC(cmaster_state::fixedvale4_r),this)); } DRIVER_INIT_MEMBER(cb3_state, cherrys) @@ -13999,7 +13795,7 @@ DRIVER_INIT_MEMBER(unkch_state, unkch4) ROM[0x9a6f] = 0x00; } -DRIVER_INIT_MEMBER(goldstar_state,tonypok) +DRIVER_INIT_MEMBER(cmaster_state, tonypok) { // the ppi doesn't seem to work properly, so just install the inputs directly address_space &io = m_maincpu->space(AS_IO); @@ -14093,7 +13889,7 @@ GAME( 199?, goldfrui, goldstar, goldfrui, goldstar, driver_device, 0, GAME( 2001, super9, goldstar, super9, goldstar, goldstar_state, super9, ROT0, "Playmark", "Super Nove (Playmark)", GAME_NOT_WORKING ) // need to decode gfx and see the program loops/reset... GAME( 2001, wcherry, 0, wcherry, chrygld, goldstar_state, wcherry, ROT0, "bootleg", "Win Cherry (ver 0.16 - 19990219)", GAME_NOT_WORKING ) GAME( 199?, star100, 0, star100, star100, driver_device, 0, ROT0, "Sang Ho", "Ming Xing 100 (Star 100)", GAME_IMPERFECT_COLORS ) -GAMEL( 1997, crazybon, 0, pkrmast, crazybon, goldstar_state, cmv4, ROT0, "bootleg (Crazy Co.)", "Crazy Bonus 2002", GAME_IMPERFECT_COLORS, layout_crazybon ) +GAMEL( 1997, crazybon, 0, pkrmast, crazybon, driver_device, 0, ROT0, "bootleg (Crazy Co.)", "Crazy Bonus 2002", GAME_IMPERFECT_COLORS, layout_crazybon ) // are these really dyna, or bootlegs? @@ -14108,11 +13904,11 @@ GAMEL( 199?, cb3e, ncb3, cb3e, chrygld, cb3_state, cb3e, GAME( 1996, cmast97, ncb3, cm97, chrygld, driver_device, 0, ROT0, "Dyna", "Cherry Master '97", GAME_NOT_WORKING) // fix prom decode // looks like a hack of Cherry Bonus 3 -GAME( 199?, chryangl, ncb3, cm, chryangl, goldstar_state, cmv4, ROT0, "<unknown>", "Cherry Angel", GAME_NOT_WORKING ) +GAME( 199?, chryangl, ncb3, cm, chryangl, cmaster_state, cmv4, ROT0, "<unknown>", "Cherry Angel", GAME_NOT_WORKING ) // cherry master hardware has a rather different mem map, but is basically the same -GAME( 198?, cmv801, 0, cm, cmv801, goldstar_state, cm, ROT0, "Corsica", "Cherry Master (Corsica, ver.8.01)", 0 ) /* says ED-96 where the manufacturer is on some games.. */ +GAME( 198?, cmv801, 0, cm, cmv801, cmaster_state, cm, ROT0, "Corsica", "Cherry Master (Corsica, ver.8.01)", 0 ) /* says ED-96 where the manufacturer is on some games.. */ @@ -14120,24 +13916,24 @@ GAME( 198?, cmv801, 0, cm, cmv801, goldstar_state, cm, // most of these are almost certainly bootlegs, with added features, hacked payouts etc. identifying which are // the original, unmodified dyna versions is almost impossible due to lack of documentation from back in the day, // even original boards almost always run modified sets -GAME( 1992, cmv4, 0, cm, cmv4, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 1)", 0 ) -GAME( 1992, cmv4a, cmv4, cm, cmv4, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 2)", GAME_NOT_WORKING ) // stealth game? -GAME( 199?, cmwm, cmv4, cm, cmv4, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master (Watermelon bootleg / hack)", 0 ) // CM Fruit Bonus ver.2 T bootleg/hack -GAME( 1995, cmfun, cmv4, cm, cmv4, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master (Fun USA v2.5 bootleg / hack)", 0 ) +GAME( 1992, cmv4, 0, cm, cmv4, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 1)", 0 ) +GAME( 1992, cmv4a, cmv4, cm, cmv4, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 2)", GAME_NOT_WORKING ) // stealth game? +GAME( 199?, cmwm, cmv4, cm, cmv4, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master (Watermelon bootleg / hack)", 0 ) // CM Fruit Bonus ver.2 T bootleg/hack +GAME( 1995, cmfun, cmv4, cm, cmv4, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master (Fun USA v2.5 bootleg / hack)", 0 ) GAME( 1991, cmaster, 0, cm, cmaster, driver_device, 0, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 1)", 0 ) -GAME( 1991, cmasterb, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 2)", 0 ) -GAME( 1991, cmezspin, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (E-Z Spin bootleg / hack)", 0 ) // CM Fruit Bonus 55 ver.2 bootleg/hack -GAME( 1991, cmasterc, cmaster, cmasterc, cmasterc, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 3)", 0 ) -GAME( 1991, cmasterbv, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 4, with Blitz Poker ROM?)", GAME_NOT_WORKING ) // Cherry Master works, but no idea how to use the Blitz ROM -GAME( 1991, cmasterd, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 5)", 0 ) -GAME( 1991, cmastere, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 6)", 0 ) -GAME( 1991, cmasterf, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 7)", 0 ) +GAME( 1991, cmasterb, cmaster, cm, cmasterb, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 2)", 0 ) +GAME( 1991, cmezspin, cmaster, cm, cmasterb, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master I (E-Z Spin bootleg / hack)", 0 ) // CM Fruit Bonus 55 ver.2 bootleg/hack +GAME( 1991, cmasterc, cmaster, cmasterc, cmasterc, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 3)", 0 ) +GAME( 1991, cmasterbv, cmaster, cm, cmasterb, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 4, with Blitz Poker ROM?)", GAME_NOT_WORKING ) // Cherry Master works, but no idea how to use the Blitz ROM +GAME( 1991, cmasterd, cmaster, cm, cmasterb, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 5)", 0 ) +GAME( 1991, cmastere, cmaster, cm, cmasterb, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 6)", 0 ) +GAME( 1991, cmasterf, cmaster, cm, cmasterb, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 7)", 0 ) -GAME( 1991, tonypok, 0, cm, tonypok, goldstar_state, tonypok, ROT0, "Corsica", "Poker Master (Tony-Poker V3.A, hack?)", 0 ) -GAME( 199?, jkrmast, 0, pkrmast, pkrmast, goldstar_state, cmv4, ROT0, "<unknown>", "Joker Master", GAME_NOT_WORKING ) // encrypted? -GAME( 199?, pkrmast, jkrmast, pkrmast, pkrmast, goldstar_state, cmv4, ROT0, "<unknown>", "Poker Master (ED-1993 set 1)", GAME_NOT_WORKING ) // incomplete dump + encrypted? -GAME( 1993, pkrmasta, jkrmast, pkrmast, pkrmast, goldstar_state, cmv4, ROT0, "<unknown>", "Poker Master (ED-1993 set 2)", GAME_NOT_WORKING ) // incomplete dump + encrypted? +GAME( 1991, tonypok, 0, cm, tonypok, cmaster_state, tonypok, ROT0, "Corsica", "Poker Master (Tony-Poker V3.A, hack?)", 0 ) +GAME( 199?, jkrmast, 0, pkrmast, pkrmast, driver_device, 0, ROT0, "<unknown>", "Joker Master", GAME_NOT_WORKING ) // encrypted? +GAME( 199?, pkrmast, jkrmast, pkrmast, pkrmast, driver_device, 0, ROT0, "<unknown>", "Poker Master (ED-1993 set 1)", GAME_NOT_WORKING ) // incomplete dump + encrypted? +GAME( 1993, pkrmasta, jkrmast, pkrmast, pkrmast, driver_device, 0, ROT0, "<unknown>", "Poker Master (ED-1993 set 2)", GAME_NOT_WORKING ) // incomplete dump + encrypted? GAME( 1991, cmast91, 0, cmast91, cmast91, goldstar_state, cmast91, ROT0, "Dyna", "Cherry Master '91 (ver.1.30)", 0 ) @@ -14176,32 +13972,32 @@ GAME( 1991, magoddsd, magodds, magodds, magoddsc, wingco_state, magoddsc, /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */ -GAME( 1997, schery97, 0, amcoe1, schery97, goldstar_state, schery97, ROT0, "Amcoe", "Skill Cherry '97 (Talking ver. sc3.52)", 0 ) /* running in CB hardware */ -GAME( 1997, schery97a, schery97, amcoe1, schery97, goldstar_state, schery97a, ROT0, "Amcoe", "Skill Cherry '97 (Talking ver. sc3.52c4)", 0 ) /* running in C4 hardware */ -GAME( 1998, skill98, 0, amcoe1, schery97, goldstar_state, skill98, ROT0, "Amcoe", "Skill '98 (Talking ver. s98-1.33)", 0 ) -GAME( 1997, pokonl97, 0, amcoe1, pokonl97, goldstar_state, po33, ROT0, "Amcoe", "Poker Only '97 (Talking ver. 3.3)", 0 ) -GAME( 1998, match98, 0, amcoe1a, match98, goldstar_state, match133, ROT0, "Amcoe", "Match '98 (ver. 1.33)", 0 ) +GAME( 1997, schery97, 0, amcoe1, schery97, cmaster_state, schery97, ROT0, "Amcoe", "Skill Cherry '97 (Talking ver. sc3.52)", 0 ) /* running in CB hardware */ +GAME( 1997, schery97a, schery97, amcoe1, schery97, cmaster_state, schery97a, ROT0, "Amcoe", "Skill Cherry '97 (Talking ver. sc3.52c4)", 0 ) /* running in C4 hardware */ +GAME( 1998, skill98, 0, amcoe1, schery97, cmaster_state, skill98, ROT0, "Amcoe", "Skill '98 (Talking ver. s98-1.33)", 0 ) +GAME( 1997, pokonl97, 0, amcoe1, pokonl97, cmaster_state, po33, ROT0, "Amcoe", "Poker Only '97 (Talking ver. 3.3)", 0 ) +GAME( 1998, match98, 0, amcoe1a, match98, cmaster_state, match133, ROT0, "Amcoe", "Match '98 (ver. 1.33)", 0 ) /* The Sub-PCB has a printed sticker denoting C1, C2, D or DK for the type of FPGA decryption chip used */ /* There is known to be a special IOWA version running on the Texas C2 hardware with roms FB96P IA, FB96L IA & FB96H IA with a (c) 2000 Amcoe */ -GAME( 1996, nfb96, 0, amcoe2, nfb96, goldstar_state, nfb96_c1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.63, C1 PCB)", 0 ) /* ver. 02-3.63 C1 Sub-PCB */ -GAME( 1996, nfb96a, nfb96, amcoe2, nfb96, goldstar_state, nfb96_c1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.62, C1 PCB)", 0 ) /* ver. 00-3.62 C1 Sub-PCB */ -GAME( 1996, nfb96b, nfb96, amcoe2, nfb96, goldstar_state, nfb96_d, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.54, D PCB)", 0 ) /* ver. 00-3.54 D Sub-PCB */ -GAME( 1996, nfb96c, nfb96, amcoe2, nfb96, goldstar_state, nfb96_dk, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.62, DK PCB)", 0 ) /* ver. 00-3.62 DK Sub-PCB */ -GAME( 2000, nfb96txt, nfb96, amcoe2, nfb96tx, goldstar_state, nfb96_c2, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v1.22 Texas XT, C2 PCB)", 0 ) /* ver. tf1.22axt C2 Sub-PCB */ +GAME( 1996, nfb96, 0, amcoe2, nfb96, cmaster_state, nfb96_c1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.63, C1 PCB)", 0 ) /* ver. 02-3.63 C1 Sub-PCB */ +GAME( 1996, nfb96a, nfb96, amcoe2, nfb96, cmaster_state, nfb96_c1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.62, C1 PCB)", 0 ) /* ver. 00-3.62 C1 Sub-PCB */ +GAME( 1996, nfb96b, nfb96, amcoe2, nfb96, cmaster_state, nfb96_d, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.54, D PCB)", 0 ) /* ver. 00-3.54 D Sub-PCB */ +GAME( 1996, nfb96c, nfb96, amcoe2, nfb96, cmaster_state, nfb96_dk, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.62, DK PCB)", 0 ) /* ver. 00-3.62 DK Sub-PCB */ +GAME( 2000, nfb96txt, nfb96, amcoe2, nfb96tx, cmaster_state, nfb96_c2, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v1.22 Texas XT, C2 PCB)", 0 ) /* ver. tf1.22axt C2 Sub-PCB */ -GAME( 1996, nc96, 0, amcoe2, nfb96, goldstar_state, nfb96_c1, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.63, C1 PCB)", 0 ) /* C1 Sub-PCB */ -GAME( 1996, nc96a, nc96, amcoe2, nfb96, goldstar_state, nfb96_c1, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.62, C1 PCB)", 0 ) /* C1 Sub-PCB */ -GAME( 1996, nc96b, nc96, amcoe2, nfb96, goldstar_state, nfb96_d, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.54, D PCB)", 0 ) /* D Sub-PCB */ -GAME( 1996, nc96c, nc96, amcoe2, nfb96, goldstar_state, nfb96_dk, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.62, DK PCB)", 0 ) /* DK Sub-PCB */ -GAME( 2000, nc96txt, nc96, amcoe2, nfb96tx, goldstar_state, nfb96_c2, ROT0, "Amcoe", "New Cherry '96 Special Edition (v1.32 Texas XT, C2 PCB)", 0 ) /* ver. tc1.32axt C2 Sub-PCB */ +GAME( 1996, nc96, 0, amcoe2, nfb96, cmaster_state, nfb96_c1, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.63, C1 PCB)", 0 ) /* C1 Sub-PCB */ +GAME( 1996, nc96a, nc96, amcoe2, nfb96, cmaster_state, nfb96_c1, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.62, C1 PCB)", 0 ) /* C1 Sub-PCB */ +GAME( 1996, nc96b, nc96, amcoe2, nfb96, cmaster_state, nfb96_d, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.54, D PCB)", 0 ) /* D Sub-PCB */ +GAME( 1996, nc96c, nc96, amcoe2, nfb96, cmaster_state, nfb96_dk, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.62, DK PCB)", 0 ) /* DK Sub-PCB */ +GAME( 2000, nc96txt, nc96, amcoe2, nfb96tx, cmaster_state, nfb96_c2, ROT0, "Amcoe", "New Cherry '96 Special Edition (v1.32 Texas XT, C2 PCB)", 0 ) /* ver. tc1.32axt C2 Sub-PCB */ -GAME( 2009, fb2010, 0, amcoe2, nfb96tx, goldstar_state, fb2010, ROT0, "Amcoe", "Fruit Bonus 2010", GAME_NOT_WORKING ) // no gfx dumped +GAME( 2009, fb2010, 0, amcoe2, nfb96tx, cmaster_state, fb2010, ROT0, "Amcoe", "Fruit Bonus 2010", GAME_NOT_WORKING ) // no gfx dumped -GAME( 1996, roypok96, 0, amcoe2, roypok96, goldstar_state, rp35, ROT0, "Amcoe", "Royal Poker '96 (set 1, v97-3.5)", 0 ) -GAME( 1996, roypok96a, roypok96, amcoe2, roypok96a, goldstar_state, rp36, ROT0, "Amcoe", "Royal Poker '96 (set 2, v98-3.6)", 0 ) -GAME( 1996, roypok96b, roypok96, amcoe2, roypok96a, goldstar_state, rp36c3, ROT0, "Amcoe", "Royal Poker '96 (set 3, v98-3.6?)", 0 ) +GAME( 1996, roypok96, 0, amcoe2, roypok96, cmaster_state, rp35, ROT0, "Amcoe", "Royal Poker '96 (set 1, v97-3.5)", 0 ) +GAME( 1996, roypok96a, roypok96, amcoe2, roypok96a, cmaster_state, rp36, ROT0, "Amcoe", "Royal Poker '96 (set 2, v98-3.6)", 0 ) +GAME( 1996, roypok96b, roypok96, amcoe2, roypok96a, cmaster_state, rp36c3, ROT0, "Amcoe", "Royal Poker '96 (set 3, v98-3.6?)", 0 ) /* these all appear to be graphic hacks of 'New Fruit Bonus '96', they can run with the same program rom @@ -14209,7 +14005,7 @@ GAME( 1996, roypok96b, roypok96, amcoe2, roypok96a, goldstar_state, rp36c3, */ /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */ GAME( 1996, nfb96se, nfb96, amcoe2, nfb96bl, driver_device, 0, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 1, v97-3.3c Portuguese)", 0 ) -GAME( 1996, nfb96sea, nfb96, amcoe2, nfb96bl, goldstar_state, nfb96sea, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 2, v97-3.3c English)", GAME_WRONG_COLORS ) // encrypted program +GAME( 1996, nfb96sea, nfb96, amcoe2, nfb96bl, cmaster_state, nfb96sea, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 2, v97-3.3c English)", GAME_WRONG_COLORS ) // encrypted program GAME( 1996, nfb96seb, nfb96, amcoe2, nfb96bl, driver_device, 0, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 3, v97-3.3c Portuguese)", GAME_WRONG_COLORS ) GAME( 2002, carb2002, nfb96, amcoe2, nfb96bl, driver_device, 0, ROT0, "bootleg", "Carriage Bonus 2002 (bootleg)", GAME_WRONG_COLORS ) GAME( 2003, carb2003, nfb96, amcoe2, nfb96bl, driver_device, 0, ROT0, "bootleg", "Carriage Bonus 2003 (bootleg)", GAME_WRONG_COLORS ) @@ -14227,10 +14023,10 @@ GAME( 1999, unkch4, unkch1, unkch, unkch4, unkch_state, unkch4, These have hidden games inside that can be switched to avoid inspections, police or whatever purposes)... */ /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */ -GAME( 198?, cmpacman, 0, cm, cmpacman, goldstar_state, cm, ROT0, "<unknown>", "Super Pacman (v1.2) + Cherry Master (Corsica, v8.31)", 0 ) /* need to press K to switch between games... */ -GAME( 198?, cmtetris, 0, cm, cmtetris, goldstar_state, cm, ROT0, "<unknown>", "Tetris + Cherry Master (Corsica, v8.01, set 1)", 0 ) /* need to press K/L to switch between games... */ -GAME( 198?, cmtetrsa, 0, cm, cmtetris, goldstar_state, cm, ROT0, "<unknown>", "Tetris + Cherry Master (Corsica, v8.01, set 2)", GAME_NOT_WORKING) // seems banked... -GAME( 198?, cmtetrsb, 0, cm, cmtetris, goldstar_state, cm, ROT0, "<unknown>", "Tetris + Cherry Master (+K, Canada Version, encrypted)", GAME_NOT_WORKING) // different Tetris game +GAME( 198?, cmpacman, 0, cm, cmpacman, cmaster_state, cm, ROT0, "<unknown>", "Super Pacman (v1.2) + Cherry Master (Corsica, v8.31)", 0 ) /* need to press K to switch between games... */ +GAME( 198?, cmtetris, 0, cm, cmtetris, cmaster_state, cm, ROT0, "<unknown>", "Tetris + Cherry Master (Corsica, v8.01, set 1)", 0 ) /* need to press K/L to switch between games... */ +GAME( 198?, cmtetrsa, 0, cm, cmtetris, cmaster_state, cm, ROT0, "<unknown>", "Tetris + Cherry Master (Corsica, v8.01, set 2)", GAME_NOT_WORKING) // seems banked... +GAME( 198?, cmtetrsb, 0, cm, cmtetris, cmaster_state, cm, ROT0, "<unknown>", "Tetris + Cherry Master (+K, Canada Version, encrypted)", GAME_NOT_WORKING) // different Tetris game /* other possible stealth sets: - cmv4a ---> see the 1fxx zone. put a bp in 1f9f to see the loop. diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h index d8851fd70b8..885fe601d62 100644 --- a/src/mame/includes/goldstar.h +++ b/src/mame/includes/goldstar.h @@ -19,9 +19,46 @@ public: { } + DECLARE_WRITE8_MEMBER(protection_w); + DECLARE_READ8_MEMBER(protection_r); + DECLARE_WRITE8_MEMBER(lucky8_outport_w); + DECLARE_WRITE8_MEMBER(ncb3_port81_w); + DECLARE_WRITE8_MEMBER(goldstar_lamps_w); + DECLARE_WRITE8_MEMBER(cb3_lamps_w); + DECLARE_WRITE8_MEMBER(pkrmast_lamps_w); + DECLARE_WRITE8_MEMBER(ladylinr_outport_w); + DECLARE_WRITE8_MEMBER(goldstar_fg_vidram_w); + DECLARE_WRITE8_MEMBER(goldstar_fg_atrram_w); + DECLARE_WRITE8_MEMBER(goldstar_reel1_ram_w); + DECLARE_WRITE8_MEMBER(goldstar_reel2_ram_w); + DECLARE_WRITE8_MEMBER(goldstar_reel3_ram_w); + DECLARE_WRITE8_MEMBER(goldstar_fa00_w); + DECLARE_WRITE8_MEMBER(ay8910_outputa_w); + DECLARE_WRITE8_MEMBER(ay8910_outputb_w); + DECLARE_DRIVER_INIT(goldstar); + DECLARE_DRIVER_INIT(cmast91); + DECLARE_DRIVER_INIT(wcherry); + DECLARE_DRIVER_INIT(super9); + DECLARE_VIDEO_START(goldstar); + DECLARE_PALETTE_INIT(cm); + DECLARE_VIDEO_START(cherrym); + DECLARE_PALETTE_INIT(cmast91); + DECLARE_PALETTE_INIT(lucky8); + UINT32 screen_update_goldstar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + UINT32 screen_update_cmast91(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + +protected: + TILE_GET_INFO_MEMBER(get_goldstar_fg_tile_info); + TILE_GET_INFO_MEMBER(get_cherrym_fg_tile_info); + TILE_GET_INFO_MEMBER(get_goldstar_reel1_tile_info); + TILE_GET_INFO_MEMBER(get_goldstar_reel2_tile_info); + TILE_GET_INFO_MEMBER(get_goldstar_reel3_tile_info); + + void do_blockswaps(UINT8* ROM); + void dump_to_file(UINT8* ROM); + int m_dataoffset; - UINT8 *m_atrram; required_shared_ptr<UINT8> m_fg_vidram; required_shared_ptr<UINT8> m_fg_atrram; @@ -36,7 +73,6 @@ public: optional_shared_ptr<UINT8> m_reel2_scroll; optional_shared_ptr<UINT8> m_reel3_scroll; - tilemap_t *m_reel1_tilemap; tilemap_t *m_reel2_tilemap; tilemap_t *m_reel3_tilemap; @@ -48,87 +84,67 @@ public: UINT8 m_cmaster_girl_pal; UINT8 m_cm_enable_reg; UINT8 m_cm_girl_scroll; - int m_tile_bank; - DECLARE_WRITE8_MEMBER(protection_w); - DECLARE_READ8_MEMBER(protection_r); - DECLARE_WRITE8_MEMBER(lucky8_outport_w); - DECLARE_WRITE8_MEMBER(ncb3_port81_w); - DECLARE_WRITE8_MEMBER(goldstar_lamps_w); - DECLARE_WRITE8_MEMBER(cb3_lamps_w); - DECLARE_WRITE8_MEMBER(cm_outport1_w); - DECLARE_WRITE8_MEMBER(pkrmast_lamps_w); - DECLARE_WRITE8_MEMBER(ladylinr_outport_w); - DECLARE_READ8_MEMBER(fixedvalb4_r); - DECLARE_READ8_MEMBER(fixedvala8_r); - DECLARE_READ8_MEMBER(fixedval38_r); - DECLARE_READ8_MEMBER(fixedvalea_r); - DECLARE_READ8_MEMBER(fixedval68_r); - DECLARE_READ8_MEMBER(fixedval58_r); - DECLARE_READ8_MEMBER(fixedval80_r); - DECLARE_READ8_MEMBER(fixedval96_r); - DECLARE_READ8_MEMBER(fixedvalaa_r); - DECLARE_READ8_MEMBER(fixedvalbe_r); - DECLARE_READ8_MEMBER(fixedval90_r); - DECLARE_READ8_MEMBER(fixedval84_r); - DECLARE_READ8_MEMBER(fixedvalb2_r); - DECLARE_READ8_MEMBER(fixedval48_r); - DECLARE_READ8_MEMBER(fixedval09_r); - DECLARE_READ8_MEMBER(fixedval74_r); - DECLARE_READ8_MEMBER(fixedvale4_r); - DECLARE_READ8_MEMBER(fixedvalc7_r); - DECLARE_READ8_MEMBER(fixedval7d_r); - DECLARE_WRITE8_MEMBER(cm_girl_scroll_w); - DECLARE_WRITE8_MEMBER(cm_outport0_w); - DECLARE_WRITE8_MEMBER(goldstar_fg_vidram_w); - DECLARE_WRITE8_MEMBER(goldstar_fg_atrram_w); - DECLARE_WRITE8_MEMBER(goldstar_reel1_ram_w); - DECLARE_WRITE8_MEMBER(goldstar_reel2_ram_w); - DECLARE_WRITE8_MEMBER(goldstar_reel3_ram_w); - DECLARE_WRITE8_MEMBER(goldstar_fa00_w); - DECLARE_WRITE8_MEMBER(cm_background_col_w); - DECLARE_WRITE8_MEMBER(ay8910_outputa_w); - DECLARE_WRITE8_MEMBER(ay8910_outputb_w); - DECLARE_DRIVER_INIT(goldstar); - DECLARE_DRIVER_INIT(cmast91); - DECLARE_DRIVER_INIT(nfb96_dk); + required_device<cpu_device> m_maincpu; + required_device<gfxdecode_device> m_gfxdecode; + required_device<palette_device> m_palette; +}; + + +class cmaster_state : public goldstar_state +{ +public: + cmaster_state(const machine_config &mconfig, device_type type, const char *tag) : + goldstar_state(mconfig, type, tag) + { + } + + DECLARE_WRITE8_MEMBER(outport0_w); + DECLARE_WRITE8_MEMBER(outport1_w); + DECLARE_WRITE8_MEMBER(girl_scroll_w); + DECLARE_WRITE8_MEMBER(background_col_w); + DECLARE_DRIVER_INIT(cm); - DECLARE_DRIVER_INIT(nfb96sea); - DECLARE_DRIVER_INIT(schery97a); - DECLARE_DRIVER_INIT(rp35); - DECLARE_DRIVER_INIT(wcherry); DECLARE_DRIVER_INIT(cmv4); - DECLARE_DRIVER_INIT(nfb96_c2); - DECLARE_DRIVER_INIT(rp36); - DECLARE_DRIVER_INIT(schery97); - DECLARE_DRIVER_INIT(nfb96_d); DECLARE_DRIVER_INIT(tonypok); + DECLARE_DRIVER_INIT(schery97); + DECLARE_DRIVER_INIT(schery97a); DECLARE_DRIVER_INIT(skill98); DECLARE_DRIVER_INIT(po33); DECLARE_DRIVER_INIT(match133); - DECLARE_DRIVER_INIT(rp36c3); + DECLARE_DRIVER_INIT(nfb96_dk); + DECLARE_DRIVER_INIT(nfb96_c2); + DECLARE_DRIVER_INIT(nfb96_d); DECLARE_DRIVER_INIT(nfb96_c1); + DECLARE_DRIVER_INIT(nfb96sea); DECLARE_DRIVER_INIT(fb2010); - DECLARE_DRIVER_INIT(super9); - TILE_GET_INFO_MEMBER(get_goldstar_fg_tile_info); - TILE_GET_INFO_MEMBER(get_magical_fg_tile_info); - TILE_GET_INFO_MEMBER(get_cherrym_fg_tile_info); - TILE_GET_INFO_MEMBER(get_goldstar_reel1_tile_info); - TILE_GET_INFO_MEMBER(get_goldstar_reel2_tile_info); - TILE_GET_INFO_MEMBER(get_goldstar_reel3_tile_info); - DECLARE_VIDEO_START(goldstar); - DECLARE_PALETTE_INIT(cm); - DECLARE_VIDEO_START(cherrym); - DECLARE_PALETTE_INIT(cmast91); - DECLARE_PALETTE_INIT(lucky8); - UINT32 screen_update_goldstar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - UINT32 screen_update_cmast91(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + DECLARE_DRIVER_INIT(rp35); + DECLARE_DRIVER_INIT(rp36); + DECLARE_DRIVER_INIT(rp36c3); + UINT32 screen_update_amcoe1a(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - void do_blockswaps(UINT8* ROM); - void dump_to_file( UINT8* ROM); - required_device<cpu_device> m_maincpu; - required_device<gfxdecode_device> m_gfxdecode; - required_device<palette_device> m_palette; + +protected: + // installed by various driver init handlers to get stuff to work + READ8_MEMBER(fixedval09_r) { return 0x09; } + READ8_MEMBER(fixedval38_r) { return 0x38; } + READ8_MEMBER(fixedval48_r) { return 0x48; } + READ8_MEMBER(fixedval58_r) { return 0x58; } + READ8_MEMBER(fixedval68_r) { return 0x68; } + READ8_MEMBER(fixedval74_r) { return 0x74; } + READ8_MEMBER(fixedval7d_r) { return 0x7d; } + READ8_MEMBER(fixedval80_r) { return 0x80; } + READ8_MEMBER(fixedval84_r) { return 0x84; } + READ8_MEMBER(fixedval90_r) { return 0x90; } + READ8_MEMBER(fixedval96_r) { return 0x96; } + READ8_MEMBER(fixedvala8_r) { return 0xa8; } + READ8_MEMBER(fixedvalaa_r) { return 0xaa; } + READ8_MEMBER(fixedvalb2_r) { return 0xb2; } + READ8_MEMBER(fixedvalb4_r) { return 0xb4; } + READ8_MEMBER(fixedvalbe_r) { return 0xbe; } + READ8_MEMBER(fixedvalc7_r) { return 0xc7; } + READ8_MEMBER(fixedvalea_r) { return 0xea; } + READ8_MEMBER(fixedvale4_r) { return 0xe4; } }; @@ -157,9 +173,14 @@ public: INTERRUPT_GEN_MEMBER(masked_irq); +protected: + TILE_GET_INFO_MEMBER(get_magical_fg_tile_info); + private: UINT8 m_nmi_enable; UINT8 m_vidreg; + + int m_tile_bank; }; diff --git a/src/mame/video/goldstar.c b/src/mame/video/goldstar.c index bf9bdd3407f..240cac74cf9 100644 --- a/src/mame/video/goldstar.c +++ b/src/mame/video/goldstar.c @@ -19,33 +19,6 @@ ***************************************************************************/ -WRITE8_MEMBER(goldstar_state::cm_girl_scroll_w) -{ - m_cm_girl_scroll = data; - /* - xxxx ---- yscroll - ---- xxxx xscroll - - this isn't very fine scrolling, but i see no other registers. - 1000 1000 is the center of the screen. - */ -} - -WRITE8_MEMBER(goldstar_state::cm_outport0_w) -{ - m_cm_enable_reg = data; - /* - ---- ---x (global enable or irq enable?) - ---- --x- (fg enable) - ---- -x-- (girl enable?) - ---- x--- (reels enable) - - xxxx ---- unused? - - */ - //popmessage("%02x",data); -} - WRITE8_MEMBER(goldstar_state::goldstar_fg_vidram_w) { m_fg_vidram[offset] = data; @@ -70,17 +43,6 @@ TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_fg_tile_info) 0); } -TILE_GET_INFO_MEMBER(goldstar_state::get_magical_fg_tile_info) -{ - int code = m_fg_vidram[tile_index]; - int attr = m_fg_atrram[tile_index]; - - SET_TILE_INFO_MEMBER(0, - (code | (attr & 0xf0)<<4)+m_tile_bank*0x1000, - attr&0x0f, - 0); -} - // colour / high tile bits are swapped around TILE_GET_INFO_MEMBER(goldstar_state::get_cherrym_fg_tile_info) @@ -193,42 +155,6 @@ WRITE8_MEMBER(goldstar_state::goldstar_fa00_w) m_reel3_tilemap->mark_all_dirty(); } -WRITE8_MEMBER(goldstar_state::cm_background_col_w) -{ - //printf("cm_background_col_w %02x\n",data); - - /* cherry master writes - - so it's probably - - 0ggg cc00 - - where g is which girl to display and c is the colour palette - - (note, this doesn't apply to the amcoe games which have no girls, I'm unsure how the priority/positioning works) - - - */ - m_cmaster_girl_num = (data >> 4)&0x7; - m_cmaster_girl_pal = (data >> 2)&0x3; - - //bgcolor = (data & 0x03) >> 0; - - // apparently some boards have this colour scheme? - // i'm not convinced it isn't just a different prom on them - #if 0 - m_bgcolor = 0; - m_bgcolor |= (data & 0x01) << 1; - m_bgcolor |= (data & 0x02) >> 1; - #else - m_bgcolor = (data & 0x03) >> 0; - #endif - - m_reel1_tilemap->mark_all_dirty(); - m_reel2_tilemap->mark_all_dirty(); - m_reel3_tilemap->mark_all_dirty(); -} - UINT32 goldstar_state::screen_update_goldstar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) @@ -316,7 +242,73 @@ UINT32 goldstar_state::screen_update_cmast91(screen_device &screen, bitmap_ind16 return 0; } -UINT32 goldstar_state::screen_update_amcoe1a(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) + + +WRITE8_MEMBER(cmaster_state::outport0_w) +{ + m_cm_enable_reg = data; + /* + ---- ---x (global enable or irq enable?) + ---- --x- (fg enable) + ---- -x-- (girl enable?) + ---- x--- (reels enable) + + xxxx ---- unused? + + */ + //popmessage("%02x",data); +} + +WRITE8_MEMBER(cmaster_state::girl_scroll_w) +{ + m_cm_girl_scroll = data; + /* + xxxx ---- yscroll + ---- xxxx xscroll + + this isn't very fine scrolling, but i see no other registers. + 1000 1000 is the center of the screen. + */ +} + +WRITE8_MEMBER(cmaster_state::background_col_w) +{ + //printf("cm_background_col_w %02x\n",data); + + /* cherry master writes + + so it's probably + + 0ggg cc00 + + where g is which girl to display and c is the colour palette + + (note, this doesn't apply to the amcoe games which have no girls, I'm unsure how the priority/positioning works) + + + */ + m_cmaster_girl_num = (data >> 4)&0x7; + m_cmaster_girl_pal = (data >> 2)&0x3; + + //bgcolor = (data & 0x03) >> 0; + + // apparently some boards have this colour scheme? + // i'm not convinced it isn't just a different prom on them + #if 0 + m_bgcolor = 0; + m_bgcolor |= (data & 0x01) << 1; + m_bgcolor |= (data & 0x02) >> 1; + #else + m_bgcolor = (data & 0x03) >> 0; + #endif + + m_reel1_tilemap->mark_all_dirty(); + m_reel2_tilemap->mark_all_dirty(); + m_reel3_tilemap->mark_all_dirty(); +} + + +UINT32 cmaster_state::screen_update_amcoe1a(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { int i; @@ -358,13 +350,25 @@ UINT32 goldstar_state::screen_update_amcoe1a(screen_device &screen, bitmap_ind16 +TILE_GET_INFO_MEMBER(wingco_state::get_magical_fg_tile_info) +{ + int code = m_fg_vidram[tile_index]; + int attr = m_fg_atrram[tile_index]; + + SET_TILE_INFO_MEMBER(0, + (code | (attr & 0xf0)<<4)+m_tile_bank*0x1000, + attr&0x0f, + 0); +} + + VIDEO_START_MEMBER(wingco_state, bingowng) { - m_reel1_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); + m_reel1_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(wingco_state::get_goldstar_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); m_reel1_tilemap->set_scroll_cols(64); - m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8, 64, 32); + m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(wingco_state::get_goldstar_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8, 64, 32); m_fg_tilemap->set_transparent_pen(0); // is there an enable reg for this game? @@ -373,15 +377,15 @@ VIDEO_START_MEMBER(wingco_state, bingowng) VIDEO_START_MEMBER(wingco_state, magical) { - m_reel1_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); - m_reel2_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); - m_reel3_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(goldstar_state::get_goldstar_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); + m_reel1_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(wingco_state::get_goldstar_reel1_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); + m_reel2_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(wingco_state::get_goldstar_reel2_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); + m_reel3_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(wingco_state::get_goldstar_reel3_tile_info),this),TILEMAP_SCAN_ROWS,8,32, 64, 8); m_reel1_tilemap->set_scroll_cols(32); m_reel2_tilemap->set_scroll_cols(32); m_reel3_tilemap->set_scroll_cols(32); - m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(goldstar_state::get_magical_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8, 64, 32); + m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(wingco_state::get_magical_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8, 64, 32); m_fg_tilemap->set_transparent_pen(0); // is there an enable reg for this game? @@ -718,7 +722,7 @@ VIDEO_START_MEMBER(unkch_state, unkch) m_cmaster_girl_pal = 0; m_vidreg = 0x00; - m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(goldstar_state::get_cherrym_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8, 64, 32); + m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(unkch_state::get_cherrym_fg_tile_info),this),TILEMAP_SCAN_ROWS,8,8, 64, 32); m_fg_tilemap->set_transparent_pen(0); m_cm_enable_reg = 0x0b; |