trunk/src/mame/drivers/goldstar.c
| r244848 | r244849 | |
| 614 | 614 | */ |
| 615 | 615 | |
| 616 | 616 | |
| 617 | | WRITE8_MEMBER(goldstar_state::cm_outport1_w) |
| 617 | WRITE8_MEMBER(cmaster_state::outport1_w) |
| 618 | 618 | { |
| 619 | 619 | /* lamps? */ |
| 620 | //popmessage("outport1: %02X", data); |
| 620 | 621 | } |
| 621 | 622 | |
| 622 | 623 | static ADDRESS_MAP_START( cm_map, AS_PROGRAM, 8, goldstar_state ) |
| r244848 | r244849 | |
| 666 | 667 | |
| 667 | 668 | |
| 668 | 669 | |
| 669 | | static ADDRESS_MAP_START( cm_portmap, AS_IO, 8, goldstar_state ) |
| 670 | static ADDRESS_MAP_START( cm_portmap, AS_IO, 8, cmaster_state ) |
| 670 | 671 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 671 | 672 | AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_device, data_r) |
| 672 | 673 | AM_RANGE(0x02, 0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w) |
| 673 | 674 | AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) /* Inputs */ |
| 674 | 675 | AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) /* DIP switches */ |
| 675 | | AM_RANGE(0x10, 0x10) AM_WRITE(cm_outport0_w) /* output port */ |
| 676 | AM_RANGE(0x10, 0x10) AM_WRITE(outport0_w) /* output port */ |
| 676 | 677 | AM_RANGE(0x11, 0x11) AM_WRITENOP |
| 677 | | AM_RANGE(0x12, 0x12) AM_WRITE(cm_outport1_w) /* output port */ |
| 678 | | AM_RANGE(0x13, 0x13) AM_WRITE(cm_background_col_w) |
| 679 | | AM_RANGE(0x14, 0x14) AM_WRITE(cm_girl_scroll_w) |
| 678 | AM_RANGE(0x12, 0x12) AM_WRITE(outport1_w) /* output port */ |
| 679 | AM_RANGE(0x13, 0x13) AM_WRITE(background_col_w) |
| 680 | AM_RANGE(0x14, 0x14) AM_WRITE(girl_scroll_w) |
| 680 | 681 | ADDRESS_MAP_END |
| 681 | 682 | |
| 682 | 683 | |
| r244848 | r244849 | |
| 733 | 734 | ADDRESS_MAP_END |
| 734 | 735 | |
| 735 | 736 | |
| 736 | | static ADDRESS_MAP_START( amcoe1_portmap, AS_IO, 8, goldstar_state ) |
| 737 | static ADDRESS_MAP_START( amcoe1_portmap, AS_IO, 8, cmaster_state ) |
| 737 | 738 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 738 | 739 | AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_device, data_r) |
| 739 | 740 | AM_RANGE(0x02, 0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w) |
| 740 | 741 | AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) /* Input Ports */ |
| 741 | 742 | AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) /* DIP switches */ |
| 742 | | AM_RANGE(0x10, 0x10) AM_WRITE(cm_outport0_w) /* output port */ |
| 743 | AM_RANGE(0x10, 0x10) AM_WRITE(outport0_w) /* output port */ |
| 743 | 744 | AM_RANGE(0x11, 0x11) AM_WRITENOP |
| 744 | | AM_RANGE(0x12, 0x12) AM_WRITE(cm_outport1_w) /* output port */ |
| 745 | | AM_RANGE(0x13, 0x13) AM_WRITE(cm_background_col_w) |
| 745 | AM_RANGE(0x12, 0x12) AM_WRITE(outport1_w) /* output port */ |
| 746 | AM_RANGE(0x13, 0x13) AM_WRITE(background_col_w) |
| 746 | 747 | AM_RANGE(0x20, 0x20) AM_DEVREADWRITE("oki", okim6295_device, read, write) |
| 747 | 748 | ADDRESS_MAP_END |
| 748 | 749 | |
| 749 | | static ADDRESS_MAP_START( amcoe2_portmap, AS_IO, 8, goldstar_state ) |
| 750 | static ADDRESS_MAP_START( amcoe2_portmap, AS_IO, 8, cmaster_state ) |
| 750 | 751 | ADDRESS_MAP_GLOBAL_MASK(0xff) |
| 751 | 752 | AM_RANGE(0x01, 0x01) AM_DEVREAD("aysnd", ay8910_device, data_r) |
| 752 | 753 | AM_RANGE(0x02, 0x03) AM_DEVWRITE("aysnd", ay8910_device, data_address_w) |
| 753 | 754 | AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) /* Input Ports */ |
| 754 | 755 | AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) /* DIP switches */ |
| 755 | | AM_RANGE(0x10, 0x10) AM_WRITE(cm_outport0_w) /* output port */ |
| 756 | AM_RANGE(0x10, 0x10) AM_WRITE(outport0_w) /* output port */ |
| 756 | 757 | AM_RANGE(0x11, 0x11) AM_WRITENOP |
| 757 | | AM_RANGE(0x12, 0x12) AM_WRITE(cm_outport1_w) /* output port */ |
| 758 | | AM_RANGE(0x13, 0x13) AM_WRITE(cm_background_col_w) |
| 758 | AM_RANGE(0x12, 0x12) AM_WRITE(outport1_w) /* output port */ |
| 759 | AM_RANGE(0x13, 0x13) AM_WRITE(background_col_w) |
| 759 | 760 | ADDRESS_MAP_END |
| 760 | 761 | |
| 761 | 762 | |
| r244848 | r244849 | |
| 8047 | 8048 | |
| 8048 | 8049 | |
| 8049 | 8050 | |
| 8050 | | static MACHINE_CONFIG_START( cm, goldstar_state ) |
| 8051 | static MACHINE_CONFIG_START( cm, cmaster_state ) |
| 8051 | 8052 | |
| 8052 | 8053 | /* basic machine hardware */ |
| 8053 | 8054 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
| r244848 | r244849 | |
| 8091 | 8092 | |
| 8092 | 8093 | static MACHINE_CONFIG_DERIVED( cmasterc, cm ) |
| 8093 | 8094 | MCFG_GFXDECODE_MODIFY("gfxdecode", cmasterc) |
| 8094 | | |
| 8095 | 8095 | MACHINE_CONFIG_END |
| 8096 | 8096 | |
| 8097 | 8097 | #ifdef UNUSED_CODE |
| 8098 | | static MACHINE_CONFIG_START( cmnobmp, goldstar_state ) |
| 8099 | | |
| 8100 | | /* basic machine hardware */ |
| 8101 | | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
| 8102 | | MCFG_CPU_PROGRAM_MAP(cm_map) |
| 8103 | | MCFG_CPU_IO_MAP(cm_portmap) |
| 8104 | | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) |
| 8105 | | |
| 8106 | | MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0) |
| 8107 | | MCFG_I8255_IN_PORTA_CB(IOPORT("IN0")) |
| 8108 | | MCFG_I8255_IN_PORTB_CB(IOPORT("IN1")) |
| 8109 | | MCFG_I8255_IN_PORTC_CB(IOPORT("IN2")) |
| 8110 | | |
| 8111 | | MCFG_DEVICE_ADD("ppi8255_1", I8255A, 0) |
| 8112 | | MCFG_I8255_IN_PORTA_CB(IOPORT("DSW1")) |
| 8113 | | MCFG_I8255_IN_PORTB_CB(IOPORT("DSW2")) |
| 8114 | | MCFG_I8255_IN_PORTC_CB(IOPORT("DSW3")) |
| 8115 | | |
| 8116 | | /* video hardware */ |
| 8117 | | MCFG_SCREEN_ADD("screen", RASTER) |
| 8118 | | MCFG_SCREEN_REFRESH_RATE(60) |
| 8119 | | // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 8120 | | MCFG_SCREEN_SIZE(64*8, 32*8) |
| 8121 | | MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1) |
| 8122 | | MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar) |
| 8123 | | MCFG_SCREEN_PALETTE("palette") |
| 8124 | | |
| 8125 | | MCFG_GFXDECODE_ADD("gfxdecode", "palette", cm) |
| 8126 | | MCFG_PALETTE_ADD("palette", 256) |
| 8127 | | MCFG_PALETTE_INIT_OWNER(goldstar_state,cm) |
| 8128 | | MCFG_NVRAM_ADD_1FILL("nvram") |
| 8129 | | |
| 8130 | | MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym) |
| 8131 | | |
| 8132 | | /* sound hardware */ |
| 8133 | | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 8134 | | MCFG_SOUND_ADD("aysnd", AY8910, AY_CLOCK) |
| 8135 | | MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW4")) |
| 8136 | | MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW5")) |
| 8137 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
| 8098 | static MACHINE_CONFIG_DERIVED( cmasterc, cmnobmp ) |
| 8099 | MCFG_GFXDECODE_MODIFY("gfxdecode", cm) |
| 8138 | 8100 | MACHINE_CONFIG_END |
| 8139 | 8101 | #endif |
| 8140 | 8102 | |
| r244848 | r244849 | |
| 8515 | 8477 | |
| 8516 | 8478 | |
| 8517 | 8479 | /* diff with cm machine driver: gfxdecode, OKI & portmap */ |
| 8518 | | static MACHINE_CONFIG_START( amcoe1, goldstar_state ) |
| 8480 | static MACHINE_CONFIG_START( amcoe1, cmaster_state ) |
| 8519 | 8481 | |
| 8520 | 8482 | /* basic machine hardware */ |
| 8521 | 8483 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
| r244848 | r244849 | |
| 8547 | 8509 | MCFG_PALETTE_INIT_OWNER(goldstar_state,cm) |
| 8548 | 8510 | MCFG_NVRAM_ADD_1FILL("nvram") |
| 8549 | 8511 | |
| 8550 | | MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym) |
| 8512 | MCFG_VIDEO_START_OVERRIDE(goldstar_state, cherrym) |
| 8551 | 8513 | |
| 8552 | 8514 | /* sound hardware */ |
| 8553 | 8515 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| r244848 | r244849 | |
| 8562 | 8524 | |
| 8563 | 8525 | |
| 8564 | 8526 | /* diff with cm machine driver: gfxdecode, OKI, portmap & tilemaps rect size/position */ |
| 8565 | | static MACHINE_CONFIG_START( amcoe1a, goldstar_state ) |
| 8527 | static MACHINE_CONFIG_DERIVED( amcoe1a, amcoe1 ) |
| 8566 | 8528 | |
| 8567 | | /* basic machine hardware */ |
| 8568 | | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
| 8569 | | MCFG_CPU_PROGRAM_MAP(cm_map) |
| 8570 | | MCFG_CPU_IO_MAP(amcoe1_portmap) |
| 8571 | | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) |
| 8572 | | |
| 8573 | | MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0) |
| 8574 | | MCFG_I8255_IN_PORTA_CB(IOPORT("IN0")) |
| 8575 | | MCFG_I8255_IN_PORTB_CB(IOPORT("IN1")) |
| 8576 | | MCFG_I8255_IN_PORTC_CB(IOPORT("IN2")) |
| 8577 | | |
| 8578 | | MCFG_DEVICE_ADD("ppi8255_1", I8255A, 0) |
| 8579 | | MCFG_I8255_IN_PORTA_CB(IOPORT("DSW1")) |
| 8580 | | MCFG_I8255_IN_PORTB_CB(IOPORT("DSW2")) |
| 8581 | | MCFG_I8255_IN_PORTC_CB(IOPORT("DSW3")) |
| 8582 | | |
| 8583 | 8529 | /* video hardware */ |
| 8584 | | MCFG_SCREEN_ADD("screen", RASTER) |
| 8585 | | MCFG_SCREEN_REFRESH_RATE(60) |
| 8586 | | // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 8587 | | MCFG_SCREEN_SIZE(64*8, 32*8) |
| 8588 | | MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1) |
| 8589 | | MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_amcoe1a) |
| 8590 | | MCFG_SCREEN_PALETTE("palette") |
| 8591 | | |
| 8592 | | MCFG_GFXDECODE_ADD("gfxdecode", "palette", cm) |
| 8593 | | MCFG_PALETTE_ADD("palette", 256) |
| 8594 | | MCFG_PALETTE_INIT_OWNER(goldstar_state,cm) |
| 8595 | | MCFG_NVRAM_ADD_1FILL("nvram") |
| 8596 | | |
| 8597 | | MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym) |
| 8598 | | |
| 8599 | | /* sound hardware */ |
| 8600 | | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 8601 | | MCFG_SOUND_ADD("aysnd", AY8910, AY_CLOCK) |
| 8602 | | MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW4")) |
| 8603 | | MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW5")) |
| 8604 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) |
| 8605 | | |
| 8606 | | MCFG_OKIM6295_ADD("oki", OKI_CLOCK, OKIM6295_PIN7_HIGH) /* clock frequency & pin 7 not verified */ |
| 8607 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
| 8530 | MCFG_SCREEN_MODIFY("screen") |
| 8531 | MCFG_SCREEN_UPDATE_DRIVER(cmaster_state, screen_update_amcoe1a) |
| 8608 | 8532 | MACHINE_CONFIG_END |
| 8609 | 8533 | |
| 8610 | 8534 | |
| 8611 | 8535 | /* diff with cm machine driver: gfxdecode, AY8910 volume & portmap */ |
| 8612 | | static MACHINE_CONFIG_START( amcoe2, goldstar_state ) |
| 8536 | static MACHINE_CONFIG_START( amcoe2, cmaster_state ) |
| 8613 | 8537 | |
| 8614 | 8538 | /* basic machine hardware */ |
| 8615 | 8539 | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
| 8616 | 8540 | MCFG_CPU_PROGRAM_MAP(cm_map) |
| 8617 | 8541 | MCFG_CPU_IO_MAP(amcoe2_portmap) |
| 8618 | | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) |
| 8542 | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) |
| 8619 | 8543 | |
| 8620 | 8544 | MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0) |
| 8621 | 8545 | MCFG_I8255_IN_PORTA_CB(IOPORT("IN0")) |
| r244848 | r244849 | |
| 8651 | 8575 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.00) /* analyzed for clips */ |
| 8652 | 8576 | MACHINE_CONFIG_END |
| 8653 | 8577 | |
| 8654 | | static MACHINE_CONFIG_START( nfm, goldstar_state ) |
| 8578 | static MACHINE_CONFIG_DERIVED( nfm, amcoe2 ) |
| 8655 | 8579 | |
| 8656 | 8580 | /* basic machine hardware */ |
| 8657 | | MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) |
| 8581 | MCFG_CPU_MODIFY("maincpu") |
| 8658 | 8582 | MCFG_CPU_PROGRAM_MAP(nfm_map) |
| 8659 | | MCFG_CPU_IO_MAP(amcoe2_portmap) |
| 8660 | | MCFG_CPU_VBLANK_INT_DRIVER("screen", goldstar_state, irq0_line_hold) |
| 8661 | 8583 | |
| 8662 | | MCFG_DEVICE_ADD("ppi8255_0", I8255A, 0) |
| 8663 | | MCFG_I8255_IN_PORTA_CB(IOPORT("IN0")) |
| 8664 | | MCFG_I8255_IN_PORTB_CB(IOPORT("IN1")) |
| 8665 | | MCFG_I8255_IN_PORTC_CB(IOPORT("IN2")) |
| 8666 | | |
| 8667 | | MCFG_DEVICE_ADD("ppi8255_1", I8255A, 0) |
| 8668 | | MCFG_I8255_IN_PORTA_CB(IOPORT("DSW1")) |
| 8669 | | MCFG_I8255_IN_PORTB_CB(IOPORT("DSW2")) |
| 8670 | | MCFG_I8255_IN_PORTC_CB(IOPORT("DSW3")) |
| 8671 | | |
| 8672 | | /* video hardware */ |
| 8673 | | MCFG_SCREEN_ADD("screen", RASTER) |
| 8674 | | MCFG_SCREEN_REFRESH_RATE(60) |
| 8675 | | // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) |
| 8676 | | MCFG_SCREEN_SIZE(64*8, 32*8) |
| 8677 | | MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 2*8, 30*8-1) |
| 8678 | | MCFG_SCREEN_UPDATE_DRIVER(goldstar_state, screen_update_goldstar) |
| 8679 | | MCFG_SCREEN_PALETTE("palette") |
| 8680 | | |
| 8681 | | MCFG_GFXDECODE_ADD("gfxdecode", "palette", nfm) |
| 8682 | | MCFG_PALETTE_ADD("palette", 256) |
| 8683 | | MCFG_PALETTE_INIT_OWNER(goldstar_state,cm) |
| 8684 | | MCFG_NVRAM_ADD_1FILL("nvram") |
| 8685 | | |
| 8686 | | MCFG_VIDEO_START_OVERRIDE(goldstar_state,cherrym) |
| 8687 | | |
| 8688 | | /* sound hardware */ |
| 8689 | | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 8690 | | MCFG_SOUND_ADD("aysnd", AY8910, AY_CLOCK) |
| 8691 | | MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSW4")) |
| 8692 | | MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSW5")) |
| 8693 | | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.00) /* analyzed for clips */ |
| 8584 | MCFG_GFXDECODE_MODIFY("gfxdecode", nfm) |
| 8694 | 8585 | MACHINE_CONFIG_END |
| 8695 | 8586 | |
| 8696 | 8587 | static MACHINE_CONFIG_START( unkch, unkch_state ) |
| r244848 | r244849 | |
| 12089 | 11980 | ROM_END |
| 12090 | 11981 | |
| 12091 | 11982 | |
| 12092 | | READ8_MEMBER(goldstar_state::fixedval7d_r ) |
| 11983 | DRIVER_INIT_MEMBER(cmaster_state, fb2010) |
| 12093 | 11984 | { |
| 12094 | | return ~0x7d; |
| 12095 | | } |
| 12096 | | |
| 12097 | | |
| 12098 | | DRIVER_INIT_MEMBER(goldstar_state,fb2010) |
| 12099 | | { |
| 12100 | 11985 | int i; |
| 12101 | 11986 | UINT8 *ROM = memregion("maincpu")->base(); |
| 12102 | 11987 | for (i = 0;i < 0x10000;i++) |
| r244848 | r244849 | |
| 12114 | 11999 | ROM[i] = x; |
| 12115 | 12000 | } |
| 12116 | 12001 | |
| 12117 | | m_maincpu->space(AS_IO).install_read_handler(0x1e, 0x1e, read8_delegate(FUNC(goldstar_state::fixedval7d_r),this)); |
| 12118 | | |
| 12002 | m_maincpu->space(AS_IO).install_read_handler(0x1e, 0x1e, read8_delegate(FUNC(cmaster_state::fixedval7d_r),this)); |
| 12119 | 12003 | } |
| 12120 | 12004 | |
| 12121 | 12005 | |
| r244848 | r244849 | |
| 13518 | 13402 | dump_to_file(ROM); |
| 13519 | 13403 | } |
| 13520 | 13404 | |
| 13521 | | DRIVER_INIT_MEMBER(goldstar_state,cm) |
| 13405 | DRIVER_INIT_MEMBER(cmaster_state,cm) |
| 13522 | 13406 | { |
| 13523 | 13407 | UINT8 *ROM = memregion("maincpu")->base(); |
| 13524 | 13408 | |
| r244848 | r244849 | |
| 13529 | 13413 | ROM[0x0025] = 0x9b; |
| 13530 | 13414 | } |
| 13531 | 13415 | |
| 13532 | | DRIVER_INIT_MEMBER(goldstar_state,cmv4) |
| 13416 | DRIVER_INIT_MEMBER(cmaster_state, cmv4) |
| 13533 | 13417 | { |
| 13534 | 13418 | UINT8 *ROM = memregion("maincpu")->base(); |
| 13535 | 13419 | |
| r244848 | r244849 | |
| 13558 | 13442 | ROM[0x0010] = 0x21; |
| 13559 | 13443 | } |
| 13560 | 13444 | |
| 13561 | | DRIVER_INIT_MEMBER(goldstar_state,nfb96sea) |
| 13445 | DRIVER_INIT_MEMBER(cmaster_state, nfb96sea) |
| 13562 | 13446 | { |
| 13563 | 13447 | int i; |
| 13564 | 13448 | UINT8 *ROM = memregion("maincpu")->base(); |
| r244848 | r244849 | |
| 13583 | 13467 | } |
| 13584 | 13468 | |
| 13585 | 13469 | |
| 13586 | | READ8_MEMBER(goldstar_state::fixedvalb4_r) |
| 13470 | DRIVER_INIT_MEMBER(cmaster_state, schery97) |
| 13587 | 13471 | { |
| 13588 | | return 0xb4; |
| 13589 | | } |
| 13590 | | READ8_MEMBER(goldstar_state::fixedvala8_r) |
| 13591 | | { |
| 13592 | | return 0xa8; |
| 13593 | | } |
| 13594 | | DRIVER_INIT_MEMBER(goldstar_state,schery97) |
| 13595 | | { |
| 13596 | 13472 | int i; |
| 13597 | 13473 | UINT8 *ROM = memregion("maincpu")->base(); |
| 13598 | 13474 | for (i = 0;i < 0x10000;i++) |
| r244848 | r244849 | |
| 13608 | 13484 | |
| 13609 | 13485 | ROM[i] = x; |
| 13610 | 13486 | } |
| 13611 | | m_maincpu->space(AS_IO).install_read_handler(0x1d, 0x1d, read8_delegate(FUNC(goldstar_state::fixedvala8_r),this)); |
| 13612 | | m_maincpu->space(AS_IO).install_read_handler(0x2a, 0x2a, read8_delegate(FUNC(goldstar_state::fixedvalb4_r),this)); |
| 13487 | m_maincpu->space(AS_IO).install_read_handler(0x1d, 0x1d, read8_delegate(FUNC(cmaster_state::fixedvala8_r),this)); |
| 13488 | m_maincpu->space(AS_IO).install_read_handler(0x2a, 0x2a, read8_delegate(FUNC(cmaster_state::fixedvalb4_r),this)); |
| 13613 | 13489 | /* Oki 6295 at 0x20 */ |
| 13614 | 13490 | } |
| 13615 | 13491 | |
| 13616 | | READ8_MEMBER(goldstar_state::fixedval38_r) |
| 13492 | DRIVER_INIT_MEMBER(cmaster_state, schery97a) |
| 13617 | 13493 | { |
| 13618 | | return 0x38; |
| 13619 | | } |
| 13620 | | |
| 13621 | | DRIVER_INIT_MEMBER(goldstar_state,schery97a) |
| 13622 | | { |
| 13623 | 13494 | int i; |
| 13624 | 13495 | UINT8 *ROM = memregion("maincpu")->base(); |
| 13625 | 13496 | for (i = 0;i < 0x10000;i++) |
| r244848 | r244849 | |
| 13637 | 13508 | } |
| 13638 | 13509 | |
| 13639 | 13510 | |
| 13640 | | m_maincpu->space(AS_IO).install_read_handler(0x16, 0x16, read8_delegate(FUNC(goldstar_state::fixedval38_r),this)); |
| 13511 | m_maincpu->space(AS_IO).install_read_handler(0x16, 0x16, read8_delegate(FUNC(cmaster_state::fixedval38_r),this)); |
| 13641 | 13512 | /* Oki 6295 at 0x20 */ |
| 13642 | 13513 | } |
| 13643 | 13514 | |
| 13644 | | READ8_MEMBER(goldstar_state::fixedvalea_r) |
| 13515 | DRIVER_INIT_MEMBER(cmaster_state, skill98) |
| 13645 | 13516 | { |
| 13646 | | return 0xea; |
| 13647 | | } |
| 13648 | | |
| 13649 | | DRIVER_INIT_MEMBER(goldstar_state,skill98) |
| 13650 | | { |
| 13651 | 13517 | int i; |
| 13652 | 13518 | UINT8 *ROM = memregion("maincpu")->base(); |
| 13653 | 13519 | for (i = 0;i < 0x10000;i++) |
| r244848 | r244849 | |
| 13663 | 13529 | |
| 13664 | 13530 | ROM[i] = x; |
| 13665 | 13531 | } |
| 13666 | | m_maincpu->space(AS_IO).install_read_handler(0x1e, 0x1e, read8_delegate(FUNC(goldstar_state::fixedvalea_r),this)); |
| 13532 | m_maincpu->space(AS_IO).install_read_handler(0x1e, 0x1e, read8_delegate(FUNC(cmaster_state::fixedvalea_r),this)); |
| 13667 | 13533 | /* Oki 6295 at 0x20 */ |
| 13668 | 13534 | } |
| 13669 | 13535 | |
| 13670 | | READ8_MEMBER(goldstar_state::fixedval68_r) |
| 13536 | DRIVER_INIT_MEMBER(cmaster_state, nfb96_c1) |
| 13671 | 13537 | { |
| 13672 | | return 0x68; |
| 13673 | | } |
| 13674 | | |
| 13675 | | DRIVER_INIT_MEMBER(goldstar_state,nfb96_c1) |
| 13676 | | { |
| 13677 | 13538 | int i; |
| 13678 | 13539 | UINT8 *ROM = memregion("maincpu")->base(); |
| 13679 | 13540 | for (i = 0;i < 0x10000;i++) |
| r244848 | r244849 | |
| 13689 | 13550 | } |
| 13690 | 13551 | ROM[i] = x; |
| 13691 | 13552 | } |
| 13692 | | m_maincpu->space(AS_IO).install_read_handler(0x31, 0x31, read8_delegate(FUNC(goldstar_state::fixedval68_r),this)); |
| 13553 | m_maincpu->space(AS_IO).install_read_handler(0x31, 0x31, read8_delegate(FUNC(cmaster_state::fixedval68_r),this)); |
| 13693 | 13554 | |
| 13694 | 13555 | } |
| 13695 | 13556 | |
| 13696 | | READ8_MEMBER(goldstar_state::fixedval58_r) |
| 13557 | DRIVER_INIT_MEMBER(cmaster_state, nfb96_c2) |
| 13697 | 13558 | { |
| 13698 | | return 0x58; |
| 13699 | | } |
| 13700 | | |
| 13701 | | DRIVER_INIT_MEMBER(goldstar_state,nfb96_c2) |
| 13702 | | { |
| 13703 | 13559 | int i; |
| 13704 | 13560 | UINT8 *ROM = memregion("maincpu")->base(); |
| 13705 | 13561 | for (i = 0;i < 0x10000;i++) |
| r244848 | r244849 | |
| 13716 | 13572 | |
| 13717 | 13573 | ROM[i] = x; |
| 13718 | 13574 | } |
| 13719 | | m_maincpu->space(AS_IO).install_read_handler(0x21, 0x21, read8_delegate(FUNC(goldstar_state::fixedval58_r),this)); |
| 13575 | m_maincpu->space(AS_IO).install_read_handler(0x21, 0x21, read8_delegate(FUNC(cmaster_state::fixedval58_r),this)); |
| 13720 | 13576 | } |
| 13721 | 13577 | |
| 13722 | | READ8_MEMBER(goldstar_state::fixedval80_r) |
| 13578 | DRIVER_INIT_MEMBER(cmaster_state, nfb96_d) |
| 13723 | 13579 | { |
| 13724 | | return 0x80; |
| 13725 | | } |
| 13726 | | |
| 13727 | | READ8_MEMBER(goldstar_state::fixedval96_r) |
| 13728 | | { |
| 13729 | | return 0x96; |
| 13730 | | } |
| 13731 | | |
| 13732 | | READ8_MEMBER(goldstar_state::fixedvalaa_r) |
| 13733 | | { |
| 13734 | | return 0xaa; |
| 13735 | | } |
| 13736 | | |
| 13737 | | DRIVER_INIT_MEMBER(goldstar_state,nfb96_d) |
| 13738 | | { |
| 13739 | 13580 | int i; |
| 13740 | 13581 | UINT8 *ROM = memregion("maincpu")->base(); |
| 13741 | 13582 | for (i = 0;i < 0x10000;i++) |
| r244848 | r244849 | |
| 13752 | 13593 | ROM[i] = x; |
| 13753 | 13594 | } |
| 13754 | 13595 | // nfb96b needs both of these |
| 13755 | | m_maincpu->space(AS_IO).install_read_handler(0x23, 0x23, read8_delegate(FUNC(goldstar_state::fixedval80_r),this)); |
| 13756 | | m_maincpu->space(AS_IO).install_read_handler(0x5a, 0x5a, read8_delegate(FUNC(goldstar_state::fixedvalaa_r),this)); |
| 13596 | m_maincpu->space(AS_IO).install_read_handler(0x23, 0x23, read8_delegate(FUNC(cmaster_state::fixedval80_r),this)); |
| 13597 | m_maincpu->space(AS_IO).install_read_handler(0x5a, 0x5a, read8_delegate(FUNC(cmaster_state::fixedvalaa_r),this)); |
| 13757 | 13598 | |
| 13758 | 13599 | // csel96b |
| 13759 | | m_maincpu->space(AS_IO).install_read_handler(0x6e, 0x6e, read8_delegate(FUNC(goldstar_state::fixedval96_r),this)); |
| 13600 | m_maincpu->space(AS_IO).install_read_handler(0x6e, 0x6e, read8_delegate(FUNC(cmaster_state::fixedval96_r),this)); |
| 13760 | 13601 | |
| 13761 | 13602 | } |
| 13762 | 13603 | |
| 13763 | | READ8_MEMBER(goldstar_state::fixedvalbe_r) |
| 13764 | | { |
| 13765 | | return 0xbe; |
| 13766 | | } |
| 13767 | 13604 | |
| 13768 | | |
| 13769 | | DRIVER_INIT_MEMBER(goldstar_state,nfb96_dk) |
| 13605 | DRIVER_INIT_MEMBER(cmaster_state, nfb96_dk) |
| 13770 | 13606 | { |
| 13771 | 13607 | int i; |
| 13772 | 13608 | UINT8 *ROM = memregion("maincpu")->base(); |
| r244848 | r244849 | |
| 13783 | 13619 | } |
| 13784 | 13620 | ROM[i] = x; |
| 13785 | 13621 | } |
| 13786 | | m_maincpu->space(AS_IO).install_read_handler(0x2e, 0x2e, read8_delegate(FUNC(goldstar_state::fixedvalbe_r),this)); |
| 13622 | m_maincpu->space(AS_IO).install_read_handler(0x2e, 0x2e, read8_delegate(FUNC(cmaster_state::fixedvalbe_r),this)); |
| 13787 | 13623 | |
| 13788 | 13624 | } |
| 13789 | 13625 | |
| 13790 | | READ8_MEMBER(goldstar_state::fixedval90_r) |
| 13626 | DRIVER_INIT_MEMBER(cmaster_state, rp35) |
| 13791 | 13627 | { |
| 13792 | | return 0x90; |
| 13793 | | } |
| 13794 | | |
| 13795 | | READ8_MEMBER(goldstar_state::fixedval84_r) |
| 13796 | | { |
| 13797 | | return 0x84; |
| 13798 | | } |
| 13799 | | |
| 13800 | | DRIVER_INIT_MEMBER(goldstar_state,rp35) |
| 13801 | | { |
| 13802 | 13628 | int i; |
| 13803 | 13629 | UINT8 *ROM = memregion("maincpu")->base(); |
| 13804 | 13630 | for (i = 0;i < 0x10000;i++) |
| r244848 | r244849 | |
| 13815 | 13641 | ROM[i] = x; |
| 13816 | 13642 | } |
| 13817 | 13643 | |
| 13818 | | m_maincpu->space(AS_IO).install_read_handler(0x5e, 0x5e, read8_delegate(FUNC(goldstar_state::fixedval84_r),this)); |
| 13819 | | m_maincpu->space(AS_IO).install_read_handler(0x36, 0x36, read8_delegate(FUNC(goldstar_state::fixedval90_r),this)); |
| 13644 | m_maincpu->space(AS_IO).install_read_handler(0x5e, 0x5e, read8_delegate(FUNC(cmaster_state::fixedval84_r),this)); |
| 13645 | m_maincpu->space(AS_IO).install_read_handler(0x36, 0x36, read8_delegate(FUNC(cmaster_state::fixedval90_r),this)); |
| 13820 | 13646 | } |
| 13821 | 13647 | |
| 13822 | | READ8_MEMBER(goldstar_state::fixedvalb2_r) |
| 13648 | DRIVER_INIT_MEMBER(cmaster_state, rp36) |
| 13823 | 13649 | { |
| 13824 | | return 0xb2; |
| 13825 | | } |
| 13826 | | |
| 13827 | | DRIVER_INIT_MEMBER(goldstar_state,rp36) |
| 13828 | | { |
| 13829 | 13650 | int i; |
| 13830 | 13651 | UINT8 *ROM = memregion("maincpu")->base(); |
| 13831 | 13652 | for (i = 0;i < 0x10000;i++) |
| r244848 | r244849 | |
| 13843 | 13664 | ROM[i] = x; |
| 13844 | 13665 | } |
| 13845 | 13666 | |
| 13846 | | m_maincpu->space(AS_IO).install_read_handler(0x34, 0x34, read8_delegate(FUNC(goldstar_state::fixedvalb2_r),this)); |
| 13667 | m_maincpu->space(AS_IO).install_read_handler(0x34, 0x34, read8_delegate(FUNC(cmaster_state::fixedvalb2_r),this)); |
| 13847 | 13668 | } |
| 13848 | 13669 | |
| 13849 | | READ8_MEMBER(goldstar_state::fixedval48_r) |
| 13670 | DRIVER_INIT_MEMBER(cmaster_state, rp36c3) |
| 13850 | 13671 | { |
| 13851 | | return 0x48; |
| 13852 | | } |
| 13853 | | |
| 13854 | | DRIVER_INIT_MEMBER(goldstar_state,rp36c3) |
| 13855 | | { |
| 13856 | 13672 | int i; |
| 13857 | 13673 | UINT8 *ROM = memregion("maincpu")->base(); |
| 13858 | 13674 | for (i = 0;i < 0x10000;i++) |
| r244848 | r244849 | |
| 13870 | 13686 | ROM[i] = x; |
| 13871 | 13687 | } |
| 13872 | 13688 | |
| 13873 | | m_maincpu->space(AS_IO).install_read_handler(0x17, 0x17, read8_delegate(FUNC(goldstar_state::fixedval48_r),this)); |
| 13689 | m_maincpu->space(AS_IO).install_read_handler(0x17, 0x17, read8_delegate(FUNC(cmaster_state::fixedval48_r),this)); |
| 13874 | 13690 | } |
| 13875 | 13691 | |
| 13876 | | READ8_MEMBER(goldstar_state::fixedval09_r) |
| 13877 | | { |
| 13878 | | return 0x09; |
| 13879 | | } |
| 13880 | 13692 | |
| 13881 | | READ8_MEMBER(goldstar_state::fixedval74_r) |
| 13693 | DRIVER_INIT_MEMBER(cmaster_state, po33) |
| 13882 | 13694 | { |
| 13883 | | return 0x74; |
| 13884 | | } |
| 13885 | | |
| 13886 | | |
| 13887 | | DRIVER_INIT_MEMBER(goldstar_state,po33) |
| 13888 | | { |
| 13889 | 13695 | int i; |
| 13890 | 13696 | UINT8 *ROM = memregion("maincpu")->base(); |
| 13891 | 13697 | for (i = 0;i < 0x10000;i++) |
| r244848 | r244849 | |
| 13902 | 13708 | |
| 13903 | 13709 | ROM[i] = x; |
| 13904 | 13710 | } |
| 13905 | | m_maincpu->space(AS_IO).install_read_handler(0x32, 0x32, read8_delegate(FUNC(goldstar_state::fixedval74_r),this)); |
| 13906 | | m_maincpu->space(AS_IO).install_read_handler(0x12, 0x12, read8_delegate(FUNC(goldstar_state::fixedval09_r),this)); |
| 13711 | m_maincpu->space(AS_IO).install_read_handler(0x32, 0x32, read8_delegate(FUNC(cmaster_state::fixedval74_r),this)); |
| 13712 | m_maincpu->space(AS_IO).install_read_handler(0x12, 0x12, read8_delegate(FUNC(cmaster_state::fixedval09_r),this)); |
| 13907 | 13713 | /* oki6295 at 0x20 */ |
| 13908 | 13714 | } |
| 13909 | 13715 | |
| 13910 | | READ8_MEMBER(goldstar_state::fixedvale4_r) |
| 13716 | DRIVER_INIT_MEMBER(cmaster_state, match133) |
| 13911 | 13717 | { |
| 13912 | | return 0xe4; |
| 13913 | | } |
| 13914 | | |
| 13915 | | READ8_MEMBER(goldstar_state::fixedvalc7_r) |
| 13916 | | { |
| 13917 | | return 0xc7; |
| 13918 | | } |
| 13919 | | |
| 13920 | | DRIVER_INIT_MEMBER(goldstar_state,match133) |
| 13921 | | { |
| 13922 | 13718 | int i; |
| 13923 | 13719 | UINT8 *ROM = memregion("maincpu")->base(); |
| 13924 | 13720 | for (i = 0;i < 0x10000;i++) |
| r244848 | r244849 | |
| 13936 | 13732 | ROM[i] = x; |
| 13937 | 13733 | } |
| 13938 | 13734 | |
| 13939 | | m_maincpu->space(AS_IO).install_read_handler(0x16, 0x16, read8_delegate(FUNC(goldstar_state::fixedvalc7_r),this)); |
| 13940 | | m_maincpu->space(AS_IO).install_read_handler(0x1a, 0x1a, read8_delegate(FUNC(goldstar_state::fixedvale4_r),this)); |
| 13735 | m_maincpu->space(AS_IO).install_read_handler(0x16, 0x16, read8_delegate(FUNC(cmaster_state::fixedvalc7_r),this)); |
| 13736 | m_maincpu->space(AS_IO).install_read_handler(0x1a, 0x1a, read8_delegate(FUNC(cmaster_state::fixedvale4_r),this)); |
| 13941 | 13737 | } |
| 13942 | 13738 | |
| 13943 | 13739 | DRIVER_INIT_MEMBER(cb3_state, cherrys) |
| r244848 | r244849 | |
| 13999 | 13795 | ROM[0x9a6f] = 0x00; |
| 14000 | 13796 | } |
| 14001 | 13797 | |
| 14002 | | DRIVER_INIT_MEMBER(goldstar_state,tonypok) |
| 13798 | DRIVER_INIT_MEMBER(cmaster_state, tonypok) |
| 14003 | 13799 | { |
| 14004 | 13800 | // the ppi doesn't seem to work properly, so just install the inputs directly |
| 14005 | 13801 | address_space &io = m_maincpu->space(AS_IO); |
| r244848 | r244849 | |
| 14093 | 13889 | 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... |
| 14094 | 13890 | GAME( 2001, wcherry, 0, wcherry, chrygld, goldstar_state, wcherry, ROT0, "bootleg", "Win Cherry (ver 0.16 - 19990219)", GAME_NOT_WORKING ) |
| 14095 | 13891 | GAME( 199?, star100, 0, star100, star100, driver_device, 0, ROT0, "Sang Ho", "Ming Xing 100 (Star 100)", GAME_IMPERFECT_COLORS ) |
| 14096 | | GAMEL( 1997, crazybon, 0, pkrmast, crazybon, goldstar_state, cmv4, ROT0, "bootleg (Crazy Co.)", "Crazy Bonus 2002", GAME_IMPERFECT_COLORS, layout_crazybon ) |
| 13892 | GAMEL( 1997, crazybon, 0, pkrmast, crazybon, driver_device, 0, ROT0, "bootleg (Crazy Co.)", "Crazy Bonus 2002", GAME_IMPERFECT_COLORS, layout_crazybon ) |
| 14097 | 13893 | |
| 14098 | 13894 | |
| 14099 | 13895 | // are these really dyna, or bootlegs? |
| r244848 | r244849 | |
| 14108 | 13904 | GAME( 1996, cmast97, ncb3, cm97, chrygld, driver_device, 0, ROT0, "Dyna", "Cherry Master '97", GAME_NOT_WORKING) // fix prom decode |
| 14109 | 13905 | |
| 14110 | 13906 | // looks like a hack of Cherry Bonus 3 |
| 14111 | | GAME( 199?, chryangl, ncb3, cm, chryangl, goldstar_state, cmv4, ROT0, "<unknown>", "Cherry Angel", GAME_NOT_WORKING ) |
| 13907 | GAME( 199?, chryangl, ncb3, cm, chryangl, cmaster_state, cmv4, ROT0, "<unknown>", "Cherry Angel", GAME_NOT_WORKING ) |
| 14112 | 13908 | |
| 14113 | 13909 | |
| 14114 | 13910 | // cherry master hardware has a rather different mem map, but is basically the same |
| 14115 | | 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.. */ |
| 13911 | 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.. */ |
| 14116 | 13912 | |
| 14117 | 13913 | |
| 14118 | 13914 | |
| r244848 | r244849 | |
| 14120 | 13916 | // most of these are almost certainly bootlegs, with added features, hacked payouts etc. identifying which are |
| 14121 | 13917 | // the original, unmodified dyna versions is almost impossible due to lack of documentation from back in the day, |
| 14122 | 13918 | // even original boards almost always run modified sets |
| 14123 | | GAME( 1992, cmv4, 0, cm, cmv4, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 1)", 0 ) |
| 14124 | | GAME( 1992, cmv4a, cmv4, cm, cmv4, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 2)", GAME_NOT_WORKING ) // stealth game? |
| 14125 | | 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 |
| 14126 | | GAME( 1995, cmfun, cmv4, cm, cmv4, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master (Fun USA v2.5 bootleg / hack)", 0 ) |
| 13919 | GAME( 1992, cmv4, 0, cm, cmv4, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 1)", 0 ) |
| 13920 | GAME( 1992, cmv4a, cmv4, cm, cmv4, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 2)", GAME_NOT_WORKING ) // stealth game? |
| 13921 | 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 |
| 13922 | GAME( 1995, cmfun, cmv4, cm, cmv4, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master (Fun USA v2.5 bootleg / hack)", 0 ) |
| 14127 | 13923 | GAME( 1991, cmaster, 0, cm, cmaster, driver_device, 0, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 1)", 0 ) |
| 14128 | | GAME( 1991, cmasterb, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 2)", 0 ) |
| 14129 | | 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 |
| 14130 | | GAME( 1991, cmasterc, cmaster, cmasterc, cmasterc, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 3)", 0 ) |
| 14131 | | 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 |
| 14132 | | GAME( 1991, cmasterd, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 5)", 0 ) |
| 14133 | | GAME( 1991, cmastere, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 6)", 0 ) |
| 14134 | | GAME( 1991, cmasterf, cmaster, cm, cmasterb, goldstar_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 7)", 0 ) |
| 13924 | GAME( 1991, cmasterb, cmaster, cm, cmasterb, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 2)", 0 ) |
| 13925 | 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 |
| 13926 | GAME( 1991, cmasterc, cmaster, cmasterc, cmasterc, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 3)", 0 ) |
| 13927 | 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 |
| 13928 | GAME( 1991, cmasterd, cmaster, cm, cmasterb, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 5)", 0 ) |
| 13929 | GAME( 1991, cmastere, cmaster, cm, cmasterb, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 6)", 0 ) |
| 13930 | GAME( 1991, cmasterf, cmaster, cm, cmasterb, cmaster_state, cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 7)", 0 ) |
| 14135 | 13931 | |
| 14136 | 13932 | |
| 14137 | | GAME( 1991, tonypok, 0, cm, tonypok, goldstar_state, tonypok, ROT0, "Corsica", "Poker Master (Tony-Poker V3.A, hack?)", 0 ) |
| 14138 | | GAME( 199?, jkrmast, 0, pkrmast, pkrmast, goldstar_state, cmv4, ROT0, "<unknown>", "Joker Master", GAME_NOT_WORKING ) // encrypted? |
| 14139 | | GAME( 199?, pkrmast, jkrmast, pkrmast, pkrmast, goldstar_state, cmv4, ROT0, "<unknown>", "Poker Master (ED-1993 set 1)", GAME_NOT_WORKING ) // incomplete dump + encrypted? |
| 14140 | | GAME( 1993, pkrmasta, jkrmast, pkrmast, pkrmast, goldstar_state, cmv4, ROT0, "<unknown>", "Poker Master (ED-1993 set 2)", GAME_NOT_WORKING ) // incomplete dump + encrypted? |
| 13933 | GAME( 1991, tonypok, 0, cm, tonypok, cmaster_state, tonypok, ROT0, "Corsica", "Poker Master (Tony-Poker V3.A, hack?)", 0 ) |
| 13934 | GAME( 199?, jkrmast, 0, pkrmast, pkrmast, driver_device, 0, ROT0, "<unknown>", "Joker Master", GAME_NOT_WORKING ) // encrypted? |
| 13935 | GAME( 199?, pkrmast, jkrmast, pkrmast, pkrmast, driver_device, 0, ROT0, "<unknown>", "Poker Master (ED-1993 set 1)", GAME_NOT_WORKING ) // incomplete dump + encrypted? |
| 13936 | GAME( 1993, pkrmasta, jkrmast, pkrmast, pkrmast, driver_device, 0, ROT0, "<unknown>", "Poker Master (ED-1993 set 2)", GAME_NOT_WORKING ) // incomplete dump + encrypted? |
| 14141 | 13937 | |
| 14142 | 13938 | |
| 14143 | 13939 | GAME( 1991, cmast91, 0, cmast91, cmast91, goldstar_state, cmast91, ROT0, "Dyna", "Cherry Master '91 (ver.1.30)", 0 ) |
| r244848 | r244849 | |
| 14176 | 13972 | |
| 14177 | 13973 | /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */ |
| 14178 | 13974 | |
| 14179 | | GAME( 1997, schery97, 0, amcoe1, schery97, goldstar_state, schery97, ROT0, "Amcoe", "Skill Cherry '97 (Talking ver. sc3.52)", 0 ) /* running in CB hardware */ |
| 14180 | | GAME( 1997, schery97a, schery97, amcoe1, schery97, goldstar_state, schery97a, ROT0, "Amcoe", "Skill Cherry '97 (Talking ver. sc3.52c4)", 0 ) /* running in C4 hardware */ |
| 14181 | | GAME( 1998, skill98, 0, amcoe1, schery97, goldstar_state, skill98, ROT0, "Amcoe", "Skill '98 (Talking ver. s98-1.33)", 0 ) |
| 14182 | | GAME( 1997, pokonl97, 0, amcoe1, pokonl97, goldstar_state, po33, ROT0, "Amcoe", "Poker Only '97 (Talking ver. 3.3)", 0 ) |
| 14183 | | GAME( 1998, match98, 0, amcoe1a, match98, goldstar_state, match133, ROT0, "Amcoe", "Match '98 (ver. 1.33)", 0 ) |
| 13975 | GAME( 1997, schery97, 0, amcoe1, schery97, cmaster_state, schery97, ROT0, "Amcoe", "Skill Cherry '97 (Talking ver. sc3.52)", 0 ) /* running in CB hardware */ |
| 13976 | GAME( 1997, schery97a, schery97, amcoe1, schery97, cmaster_state, schery97a, ROT0, "Amcoe", "Skill Cherry '97 (Talking ver. sc3.52c4)", 0 ) /* running in C4 hardware */ |
| 13977 | GAME( 1998, skill98, 0, amcoe1, schery97, cmaster_state, skill98, ROT0, "Amcoe", "Skill '98 (Talking ver. s98-1.33)", 0 ) |
| 13978 | GAME( 1997, pokonl97, 0, amcoe1, pokonl97, cmaster_state, po33, ROT0, "Amcoe", "Poker Only '97 (Talking ver. 3.3)", 0 ) |
| 13979 | GAME( 1998, match98, 0, amcoe1a, match98, cmaster_state, match133, ROT0, "Amcoe", "Match '98 (ver. 1.33)", 0 ) |
| 14184 | 13980 | |
| 14185 | 13981 | |
| 14186 | 13982 | /* The Sub-PCB has a printed sticker denoting C1, C2, D or DK for the type of FPGA decryption chip used */ |
| 14187 | 13983 | /* 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 */ |
| 14188 | | 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 */ |
| 14189 | | 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 */ |
| 14190 | | 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 */ |
| 14191 | | 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 */ |
| 14192 | | 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 */ |
| 13984 | 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 */ |
| 13985 | 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 */ |
| 13986 | 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 */ |
| 13987 | 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 */ |
| 13988 | 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 */ |
| 14193 | 13989 | |
| 14194 | | 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 */ |
| 14195 | | 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 */ |
| 14196 | | 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 */ |
| 14197 | | 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 */ |
| 14198 | | 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 */ |
| 13990 | 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 */ |
| 13991 | 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 */ |
| 13992 | 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 */ |
| 13993 | 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 */ |
| 13994 | 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 */ |
| 14199 | 13995 | |
| 14200 | | GAME( 2009, fb2010, 0, amcoe2, nfb96tx, goldstar_state, fb2010, ROT0, "Amcoe", "Fruit Bonus 2010", GAME_NOT_WORKING ) // no gfx dumped |
| 13996 | GAME( 2009, fb2010, 0, amcoe2, nfb96tx, cmaster_state, fb2010, ROT0, "Amcoe", "Fruit Bonus 2010", GAME_NOT_WORKING ) // no gfx dumped |
| 14201 | 13997 | |
| 14202 | | GAME( 1996, roypok96, 0, amcoe2, roypok96, goldstar_state, rp35, ROT0, "Amcoe", "Royal Poker '96 (set 1, v97-3.5)", 0 ) |
| 14203 | | GAME( 1996, roypok96a, roypok96, amcoe2, roypok96a, goldstar_state, rp36, ROT0, "Amcoe", "Royal Poker '96 (set 2, v98-3.6)", 0 ) |
| 14204 | | GAME( 1996, roypok96b, roypok96, amcoe2, roypok96a, goldstar_state, rp36c3, ROT0, "Amcoe", "Royal Poker '96 (set 3, v98-3.6?)", 0 ) |
| 13998 | GAME( 1996, roypok96, 0, amcoe2, roypok96, cmaster_state, rp35, ROT0, "Amcoe", "Royal Poker '96 (set 1, v97-3.5)", 0 ) |
| 13999 | GAME( 1996, roypok96a, roypok96, amcoe2, roypok96a, cmaster_state, rp36, ROT0, "Amcoe", "Royal Poker '96 (set 2, v98-3.6)", 0 ) |
| 14000 | GAME( 1996, roypok96b, roypok96, amcoe2, roypok96a, cmaster_state, rp36c3, ROT0, "Amcoe", "Royal Poker '96 (set 3, v98-3.6?)", 0 ) |
| 14205 | 14001 | |
| 14206 | 14002 | |
| 14207 | 14003 | /* these all appear to be graphic hacks of 'New Fruit Bonus '96', they can run with the same program rom |
| r244848 | r244849 | |
| 14209 | 14005 | */ |
| 14210 | 14006 | /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */ |
| 14211 | 14007 | 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 ) |
| 14212 | | 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 |
| 14008 | 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 |
| 14213 | 14009 | 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 ) |
| 14214 | 14010 | GAME( 2002, carb2002, nfb96, amcoe2, nfb96bl, driver_device, 0, ROT0, "bootleg", "Carriage Bonus 2002 (bootleg)", GAME_WRONG_COLORS ) |
| 14215 | 14011 | GAME( 2003, carb2003, nfb96, amcoe2, nfb96bl, driver_device, 0, ROT0, "bootleg", "Carriage Bonus 2003 (bootleg)", GAME_WRONG_COLORS ) |
| r244848 | r244849 | |
| 14227 | 14023 | These have hidden games inside that can be switched to avoid inspections, police or whatever purposes)... */ |
| 14228 | 14024 | |
| 14229 | 14025 | /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */ |
| 14230 | | 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... */ |
| 14231 | | 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... */ |
| 14232 | | GAME( 198?, cmtetrsa, 0, cm, cmtetris, goldstar_state, cm, ROT0, "<unknown>", "Tetris + Cherry Master (Corsica, v8.01, set 2)", GAME_NOT_WORKING) // seems banked... |
| 14233 | | GAME( 198?, cmtetrsb, 0, cm, cmtetris, goldstar_state, cm, ROT0, "<unknown>", "Tetris + Cherry Master (+K, Canada Version, encrypted)", GAME_NOT_WORKING) // different Tetris game |
| 14026 | 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... */ |
| 14027 | 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... */ |
| 14028 | GAME( 198?, cmtetrsa, 0, cm, cmtetris, cmaster_state, cm, ROT0, "<unknown>", "Tetris + Cherry Master (Corsica, v8.01, set 2)", GAME_NOT_WORKING) // seems banked... |
| 14029 | GAME( 198?, cmtetrsb, 0, cm, cmtetris, cmaster_state, cm, ROT0, "<unknown>", "Tetris + Cherry Master (+K, Canada Version, encrypted)", GAME_NOT_WORKING) // different Tetris game |
| 14234 | 14030 | |
| 14235 | 14031 | /* other possible stealth sets: |
| 14236 | 14032 | - cmv4a ---> see the 1fxx zone. put a bp in 1f9f to see the loop. |