/*************************************************************************** -= Subsino's Gambling Games =- driver by Luca Elia (l.elia@tin.it) CPU: Z180 (in a black box) GFX: 1 Tilemap (8x8 tiles, no scrolling) CUSTOM: 2 x SUBSINO SS9100, SUBSINO SS9101 SOUND: M6295, YM2413 or YM3812 OTHER: Battery Preliminary driver, only "Super Rider" works since it has valid z180 code. Note that e.g. "Shark Party" has snippets of valid code (6f - ff). To enter test mode in smoto, keep F2 pressed during boot. ***************************************************************************/ #include "driver.h" #include "cpu/z180/z180.h" #include "machine/8255ppi.h" #include "sound/okim6295.h" #include "sound/2413intf.h" #include "sound/3812intf.h" /*************************************************************************** Video Hardware ***************************************************************************/ static tilemap *tmap; static int tiles_offset; static WRITE8_HANDLER( subsino_tiles_offset_w ) { tiles_offset = (data & 1) ? 0x1000: 0; tilemap_mark_tile_dirty(tmap, offset); // popmessage("gfx %02x",data); } static WRITE8_HANDLER( subsino_videoram_w ) { videoram[offset] = data; tilemap_mark_tile_dirty(tmap, offset); } static WRITE8_HANDLER( subsino_colorram_w ) { colorram[offset] = data; tilemap_mark_tile_dirty(tmap, offset); } static TILE_GET_INFO( get_tile_info ) { UINT16 code = videoram[ tile_index ] + (colorram[ tile_index ] << 8); UINT16 color = (code >> 8) & 0x0f; code = ((code & 0xf000) >> 4) + ((code & 0xff) >> 0); code += tiles_offset; SET_TILE_INFO(0, code, color, 0); } static VIDEO_START( subsino ) { tmap = tilemap_create( get_tile_info, tilemap_scan_rows, 8,8, 0x40,0x20 ); tilemap_set_transparent_pen( tmap, 0 ); tiles_offset = 0; } static VIDEO_UPDATE( subsino ) { fillbitmap(bitmap,0,cliprect); tilemap_draw(bitmap,cliprect, tmap, 0, 0); return 0; } static PALETTE_INIT( subsino_depth3 ) { // To be done (only 2 roms?) } static PALETTE_INIT( subsino_depth4 ) { int i; for (i = 0; i < 256; i++) palette_set_color_rgb(machine,i, pal2bit(color_prom[i+0x200]), pal3bit(color_prom[i+0x100]), pal3bit(color_prom[i+0x000]) ); } /*************************************************************************** Memory Maps ***************************************************************************/ static WRITE8_HANDLER( subsino_out_a_w ) { coin_counter_w( 0, data & 0x02 ); // popmessage("Out A %02x",data); } static WRITE8_HANDLER( subsino_out_b_w ) { // leds // popmessage("Out B %02x",data); } static ADDRESS_MAP_START( srider_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE( 0x00000, 0x0bfff ) AM_ROM AM_RANGE( 0x0c000, 0x0cfff ) AM_RAM AM_RANGE( 0x0d000, 0x0d000 ) AM_READ_PORT( "DSW1" ) AM_RANGE( 0x0d001, 0x0d001 ) AM_READ_PORT( "DSW2" ) AM_RANGE( 0x0d002, 0x0d002 ) AM_READ_PORT( "DSW3" ) AM_RANGE( 0x0d004, 0x0d004 ) AM_READ_PORT( "DSW4" ) AM_RANGE( 0x0d005, 0x0d005 ) AM_READ_PORT( "INA" ) AM_RANGE( 0x0d006, 0x0d006 ) AM_READ_PORT( "INB" ) AM_RANGE( 0x0d009, 0x0d009 ) AM_WRITE( subsino_out_b_w ) AM_RANGE( 0x0d00a, 0x0d00a ) AM_WRITE( subsino_out_a_w ) AM_RANGE( 0x0d00c, 0x0d00c ) AM_READ_PORT( "INC" ) AM_RANGE( 0x0d016, 0x0d016 ) AM_WRITE( ym3812_control_port_0_w ) AM_RANGE( 0x0d017, 0x0d017 ) AM_WRITE( ym3812_write_port_0_w ) AM_RANGE( 0x0d018, 0x0d018 ) AM_WRITE( okim6295_data_0_w ) AM_RANGE( 0x0d01b, 0x0d01b ) AM_WRITE( subsino_tiles_offset_w ) AM_RANGE( 0x0e000, 0x0e7ff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE( &colorram ) AM_RANGE( 0x0e800, 0x0efff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE( &videoram ) ADDRESS_MAP_END static ADDRESS_MAP_START( victor5_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE( 0x00000, 0x0bfff ) AM_ROM AM_RANGE( 0x0c000, 0x0cfff ) AM_RAM AM_RANGE( 0x0e000, 0x0e7ff ) AM_RAM_WRITE( subsino_colorram_w ) AM_BASE( &colorram ) AM_RANGE( 0x0e800, 0x0efff ) AM_RAM_WRITE( subsino_videoram_w ) AM_BASE( &videoram ) ADDRESS_MAP_END static ADDRESS_MAP_START( subsino_iomap, ADDRESS_SPACE_IO, 8 ) AM_RANGE( 0x0000, 0x003f ) AM_RAM // internal regs ADDRESS_MAP_END /*************************************************************************** Input Ports ***************************************************************************/ static INPUT_PORTS_START( smoto ) PORT_START( "DSW1" ) PORT_DIPUNKNOWN( 0x01, 0x01 ) PORT_DIPUNKNOWN( 0x02, 0x02 ) PORT_DIPUNKNOWN( 0x04, 0x04 ) PORT_DIPUNKNOWN( 0x08, 0x08 ) PORT_DIPUNKNOWN( 0x10, 0x10 ) PORT_DIPUNKNOWN( 0x20, 0x20 ) PORT_DIPUNKNOWN( 0x40, 0x40 ) PORT_DIPUNKNOWN( 0x80, 0x80 ) PORT_START( "DSW2" ) PORT_DIPUNKNOWN( 0x01, 0x01 ) PORT_DIPUNKNOWN( 0x02, 0x02 ) PORT_DIPUNKNOWN( 0x04, 0x04 ) PORT_DIPUNKNOWN( 0x08, 0x08 ) PORT_DIPUNKNOWN( 0x10, 0x10 ) PORT_DIPUNKNOWN( 0x20, 0x20 ) PORT_DIPUNKNOWN( 0x40, 0x40 ) PORT_DIPUNKNOWN( 0x80, 0x80 ) PORT_START( "DSW3" ) PORT_DIPUNKNOWN( 0x01, 0x01 ) PORT_DIPUNKNOWN( 0x02, 0x02 ) PORT_DIPUNKNOWN( 0x04, 0x04 ) PORT_DIPUNKNOWN( 0x08, 0x08 ) PORT_DIPUNKNOWN( 0x10, 0x10 ) PORT_DIPUNKNOWN( 0x20, 0x20 ) PORT_DIPUNKNOWN( 0x40, 0x40 ) PORT_DIPUNKNOWN( 0x80, 0x80 ) PORT_START( "DSW4" ) PORT_DIPUNKNOWN( 0x01, 0x01 ) PORT_DIPUNKNOWN( 0x02, 0x02 ) PORT_DIPUNKNOWN( 0x04, 0x04 ) PORT_DIPUNKNOWN( 0x08, 0x08 ) PORT_DIPUNKNOWN( 0x10, 0x10 ) PORT_DIPUNKNOWN( 0x20, 0x20 ) PORT_DIPUNKNOWN( 0x40, 0x40 ) PORT_DIPUNKNOWN( 0x80, 0x80 ) PORT_START( "INA" ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) // 1 PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) // 2 -> PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) // 3 <- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) // 4 choose PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) // 5 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) // start PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 ) // bet (power->speed) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START( "INB" ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) // coin PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_SERVICE_NO_TOGGLE( 0x10, IP_ACTIVE_LOW ) // test PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) // rate PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START( "INC" ) PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START4 ) // take PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END /*************************************************************************** Graphics Layout ***************************************************************************/ static const gfx_layout layout_8x8x3 = { 8, 8, RGN_FRAC(1, 3), 3, { RGN_FRAC(0,3),RGN_FRAC(1,3),RGN_FRAC(2,3) }, { STEP8(0,1) }, { STEP8(0,8) }, 8*8 }; static const gfx_layout layout_8x8x4 = { 8, 8, RGN_FRAC(1, 4), 4, { RGN_FRAC(0,4),RGN_FRAC(1,4),RGN_FRAC(2,4),RGN_FRAC(3,4) }, { STEP8(0,1) }, { STEP8(0,8) }, 8*8 }; static GFXDECODE_START( subsino_depth3 ) GFXDECODE_ENTRY( "gfx1", 0, layout_8x8x3, 0, 16 ) GFXDECODE_END static GFXDECODE_START( subsino_depth4 ) GFXDECODE_ENTRY( "gfx1", 0, layout_8x8x4, 0, 16 ) GFXDECODE_END /*************************************************************************** Machine Drivers ***************************************************************************/ static MACHINE_DRIVER_START( victor5 ) /* basic machine hardware */ MDRV_CPU_ADD("main", Z180, XTAL_12MHz / 3) // 4 MHz? MDRV_CPU_PROGRAM_MAP(victor5_map,0) MDRV_CPU_IO_MAP(subsino_iomap,0) /* video hardware */ MDRV_SCREEN_ADD("main", RASTER) MDRV_SCREEN_REFRESH_RATE(60) MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_SIZE(512, 256) MDRV_SCREEN_VISIBLE_AREA(0, 512-1, 0+16, 256-16-1) MDRV_GFXDECODE(subsino_depth3) MDRV_PALETTE_LENGTH(0x100) // MDRV_PALETTE_INIT(subsino_depth3) // no proms? MDRV_VIDEO_START(subsino) MDRV_VIDEO_UPDATE(subsino) /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") MDRV_SOUND_ADD("ym", YM2413, XTAL_3_579545MHz) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MDRV_SOUND_ADD("oki", OKIM6295, XTAL_4_433619MHz / 4) MDRV_SOUND_CONFIG(okim6295_interface_pin7high) // clock frequency & pin 7 not verified MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MACHINE_DRIVER_END static MACHINE_DRIVER_START( victor21 ) /* basic machine hardware */ MDRV_IMPORT_FROM( victor5 ) MDRV_PALETTE_INIT(subsino_depth3) // 2 proms? MACHINE_DRIVER_END static MACHINE_DRIVER_START( srider ) /* basic machine hardware */ MDRV_CPU_ADD("main", Z180, XTAL_12MHz / 3) // 4 MHz? MDRV_CPU_PROGRAM_MAP(srider_map,0) MDRV_CPU_IO_MAP(subsino_iomap,0) /* video hardware */ MDRV_SCREEN_ADD("main", RASTER) MDRV_SCREEN_REFRESH_RATE(60) MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_SIZE(512, 256) MDRV_SCREEN_VISIBLE_AREA(0, 512-1, 0+16, 256-16-1) MDRV_GFXDECODE(subsino_depth4) MDRV_PALETTE_LENGTH(0x100) MDRV_PALETTE_INIT(subsino_depth4) MDRV_VIDEO_START(subsino) MDRV_VIDEO_UPDATE(subsino) /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") MDRV_SOUND_ADD("ym", YM3812, XTAL_3_579545MHz) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MDRV_SOUND_ADD("oki", OKIM6295, XTAL_4_433619MHz / 4) MDRV_SOUND_CONFIG(okim6295_interface_pin7high) // clock frequency & pin 7 not verified MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MACHINE_DRIVER_END /*************************************************************************** ROMs Loading ***************************************************************************/ /*************************************************************************** Victor 5 (C)1991 Subsino Chips: 1x unknown big black box 1x M5L8255AP 1x UM3567 1x M6295 1x oscillator 12.000 1x oscillator 4.433619 1x oscillator 3.579545 ROMs: 1x M27C512 (1) 3x 27C256 (2,3,4) Notes: 1x 36x2 edge connector (con3) 1x 10x2 edge connector (con4) 1x RS232 9pins connector (con5) 2x batteries 3x 8x2 switches dip 1x pushbutton Sticker on PCB reads V552520 Info by f205v (26/03/2008) ***************************************************************************/ ROM_START( victor5 ) ROM_REGION( 0x10000, "main", 0 ) ROM_LOAD( "1.u1", 0x00000, 0x10000, CRC(e3ada2fc) SHA1(eddb460dcb80a29fbbe3ed6c4733c75b892baf52) ) ROM_REGION( 0x18000, "gfx1", ROMREGION_DISPOSE ) ROM_LOAD( "2.u24", 0x00000, 0x8000, CRC(1229e951) SHA1(1e548625bb60e2d6f52a376a0dea9e5709f94135) ) ROM_LOAD( "3.u23", 0x08000, 0x8000, CRC(2d89bbf1) SHA1(d7fda0174a835e88b330dfd09bdb604bfe4c2e44) ) ROM_LOAD( "4.u22", 0x10000, 0x8000, CRC(ecf840a1) SHA1(9ecf522afb23e3557d37effc3c8568e8a14dad1a) ) ROM_REGION( 0x40000, "oki", ROMREGION_ERASE ) // rom socket is empty ROM_END /*************************************************************************** Victor 21 (C)1990 Subsino Chips: 1x unknown big black box 1x M5L8255AP 1x UM3567 1x M6295 1x oscillator 12.000 1x oscillator 4.433619 1x oscillator 3.579545 ROMs: 1x M27C512 (1) 3x 27C256 (2,3,4) Other: 1x 36x2 edge connector (con3) 1x 10x2 edge connector (con4) 1x RS232 9pins connector (con5) 2x batteries 3x 8 switches dips 1x pushbutton PCB layout is identical to "Victor 5" Sticker on PCB reads V12040 Info by f205v, Corrado Tomaselli (20/04/2008) ***************************************************************************/ ROM_START( victor21 ) ROM_REGION( 0x10000, "main", 0 ) ROM_LOAD( "1.u1", 0x00000, 0x10000, CRC(43999b2d) SHA1(7ce26fd332ffe35fd826a1a6166b228d4bc370b8) ) ROM_REGION( 0x18000, "gfx1", ROMREGION_DISPOSE ) ROM_LOAD( "2.u24", 0x00000, 0x8000, CRC(f1181b93) SHA1(53cd4d2ce13973495b51d911a4745a69a9784983) ) ROM_LOAD( "3.u25", 0x08000, 0x8000, CRC(437abb27) SHA1(bd3790807d60a41d58e07f60fb990553076d6e96) ) ROM_LOAD( "4.u26", 0x10000, 0x8000, CRC(e2f66eee) SHA1(ece924fe626f21fd7d31faabf19225d80e2bcfd3) ) ROM_REGION( 0x40000, "oki", ROMREGION_ERASE ) // rom socket is empty ROM_REGION( 0x200, "proms", ROMREGION_DISPOSE ) ROM_LOAD( "74s287.u35", 0x000, 0x100, CRC(40094bed) SHA1(b25d96126b3f7bd06bf76dc9958f8669f83abdb7) ) ROM_LOAD( "74s287.u36", 0x100, 0x100, CRC(9ca021c5) SHA1(6a1d8d4f958d36e4a676dc4f4aee83d637933bc3) ) ROM_END /*************************************************************************** Shark Party (C)1993 Subsino Chips: 1x unknown big black box 1x custom SUBSINO_SS9101_409235I (DIL42)(u48) 2x KD89C55 (u49,u50) 1x K-665 (u55)(equivalent to M6295) 1x K-664 (u57)(equivalent to YM3014) 1x K-666 (u52)(equivalent to YM3812) 3x 45580D (amplifier)(u58,u59,u60) 2x custom SUBSINO_SS9100_3512204V (SMT 44pins)(u10,u19) 1x oscillator 4.433619MHz 1x oscillator 12.000MHz ROMs: 1x 27C1001 (u54) 1x 27C512 (u18) 2x 27C010 (u16,u17) 3x N82S129AN (u11,u12,u13) 4x GAL16V8B (u2,u37,u45,u46)(not dumped) 2x TIBPAL16L8 (u43,u44)(not dumped) Other: 1x 36x2 edge connector (con5) 1x 10x2 edge connector (con4) 1x battery 1x trimmer (volume) 1x pushbutton (sw5) 4x 8x2 switches dip (sw1,sw2,sw3,sw4) Info by f205v (25/03/2008) ***************************************************************************/ ROM_START( sharkpy ) ROM_REGION( 0x10000, "main", 0 ) ROM_LOAD( "shark_n.1.u18", 0x00000, 0x10000, CRC(25aeac2f) SHA1(d94e3e5cfffd150ac48e1463493a8323f42e7a89) ) ROM_REGION( 0x40000, "gfx1", ROMREGION_DISPOSE ) ROM_LOAD( "shark_n.2.u17", 0x00000, 0x08000, CRC(c27f3d0a) SHA1(77c8eb0322c5b9c89777cb080d26ecf9abe01ae7) ) ROM_CONTINUE( 0x10000, 0x08000 ) ROM_CONTINUE( 0x08000, 0x08000 ) ROM_CONTINUE( 0x18000, 0x08000 ) ROM_LOAD( "shark_n.3.u16", 0x20000, 0x08000, CRC(a7a715ce) SHA1(38b93e05377d9cb816688f5070e847480f195c6b) ) ROM_CONTINUE( 0x30000, 0x08000 ) ROM_CONTINUE( 0x28000, 0x08000 ) ROM_CONTINUE( 0x38000, 0x08000 ) ROM_REGION( 0x20000, "oki", 0 ) ROM_LOAD( "shark(ii)-italy_4_ver1.0.u54", 0x00000, 0x20000, CRC(9f384c59) SHA1(d2b087b8370b40b6f0944de661ea6aebaebea06f) ) ROM_REGION( 0x300, "proms", ROMREGION_DISPOSE ) ROM_LOAD( "n82s129an.u11", 0x000, 0x100, CRC(daf3657a) SHA1(93005938e2d60d54e7bbf1e234bba3802ee1af21) ) ROM_LOAD( "n82s129an.u12", 0x100, 0x100, CRC(5a7a25ed) SHA1(eebd679195e6ea50f64f3c46cd06ee21a1550491) ) ROM_LOAD( "n82s129an.u13", 0x200, 0x100, CRC(0ef5f218) SHA1(a02cf266661385aa078563bd83240d36549c1cf0) ) ROM_END /*************************************************************************** Shark Party (alt) (C)1993 Subsino Chips: 1x unknown big black box 1x custom SUBSINO_SS9101_409235I (DIL42)(u48) 2x KD89C55 (u49,u50) 1x K-665 (u55)(equivalent to M6295) 1x K-664 (u57)(equivalent to YM3014) 1x SM64JBCK (u52)(equivalent to YM3812) 3x 45580D (amplifier)(u58,u59,u60) 2x custom SUBSINO_SS9100_3512201V (SMT 44pins)(u10,u19) 1x oscillator 4.433619MHz 1x oscillator 12.000MHz ROMs: 2x 27C1001 (u54,u17) 1x 27C512 (u18) 1x 27C010 (u16) 3x N82S129AN (u11,u12,u13) 4x GAL16V8B (u2,u37,u45,u46)(not dumped) 2x TIBPAL16L8 (u43,u44)(not dumped) Other: 1x 36x2 edge connector (con5) 1x 10x2 edge connector (con4) 1x battery 1x trimmer (volume) 1x pushbutton (sw5) 4x 8x2 switches dip (sw1,sw2,sw3,sw4) Info by f205v (25/03/2008) ***************************************************************************/ ROM_START( sharkpya ) ROM_REGION( 0x10000, "main", 0 ) ROM_LOAD( "shark1.6.u18", 0x00000, 0x10000, CRC(365312a0) SHA1(de8370b1f35e8d071185d2e5f2fbd2fdf74c55ac) ) ROM_REGION( 0x40000, "gfx1", ROMREGION_DISPOSE ) ROM_LOAD( "shark_n.2.u17", 0x00000, 0x08000, CRC(c27f3d0a) SHA1(77c8eb0322c5b9c89777cb080d26ecf9abe01ae7) ) ROM_CONTINUE( 0x10000, 0x08000 ) ROM_CONTINUE( 0x08000, 0x08000 ) ROM_CONTINUE( 0x18000, 0x08000 ) ROM_LOAD( "shark_n.3.u16", 0x20000, 0x08000, CRC(a7a715ce) SHA1(38b93e05377d9cb816688f5070e847480f195c6b) ) ROM_CONTINUE( 0x30000, 0x08000 ) ROM_CONTINUE( 0x28000, 0x08000 ) ROM_CONTINUE( 0x38000, 0x08000 ) ROM_REGION( 0x20000, "oki", 0 ) ROM_LOAD( "shark(ii)-italy_4_ver1.0.u54", 0x00000, 0x20000, CRC(9f384c59) SHA1(d2b087b8370b40b6f0944de661ea6aebaebea06f) ) ROM_REGION( 0x300, "proms", ROMREGION_DISPOSE ) ROM_LOAD( "sn82s129an.u11", 0x000, 0x100, CRC(daf3657a) SHA1(93005938e2d60d54e7bbf1e234bba3802ee1af21) ) ROM_LOAD( "sn82s129an.u12", 0x100, 0x100, CRC(5a7a25ed) SHA1(eebd679195e6ea50f64f3c46cd06ee21a1550491) ) ROM_LOAD( "sn82s129an.u13", 0x200, 0x100, CRC(0ef5f218) SHA1(a02cf266661385aa078563bd83240d36549c1cf0) ) ROM_END /*************************************************************************** Super Rider (Italy Ver 1.6) (C)1996 Subsino Chips: 2x custom QFP44 label SUBSINOSS9100 1x custom DIP42 label SUBSINOSS9101 2x FILE KD89C55A (equivalent to 8255) 1x custom QFP44 label M28 (sound)(equivalent to M6295) 1x custom DIP24 label K-666 (sound)(equivalent to YM3812) 1x custom DIP8 label K-664 (sound)(equivalent to YM3014) 1x oscillator 12.000MHz (main) 1x oscillator 4.43361MHz (sound) ROMs: 1x TMS27C512 (1) 2x TMS27C010A (2,3)(main) 1x TMS27C010A (4) (sound) 3x PROM N82S129AN Other: 1x 10x2 edge connector (looks like a coin payout) 1x 36x2 edge connector 1x battery 3.6V NiCd 1x pushbutton (sw5) 4x 8 switches dips (sw1-4) 1x trimmer (volume) 1x BIG BLACK BOX (on top of the box there is a small door closing a button-battery; for sure there is more in it, but I do not know how to open it / tore it apart) This game is the official Italian version of "Super Rider" by Subsino Info by f205v (29/12/2005) ***************************************************************************/ ROM_START( smoto16 ) ROM_REGION( 0x10000, "main", 0 ) ROM_LOAD( "rideritaly_1ver1.6.u18", 0x0000, 0x10000, CRC(c7c0c3e8) SHA1(5dc80bc775f370653135a7b3ea9c8d3c92263804) ) ROM_REGION( 0x40000, "gfx1", ROMREGION_DISPOSE ) ROM_LOAD( "rideritaly_3ver1.6.u16", 0x00000, 0x08000, CRC(998a8feb) SHA1(27f08b23f2dd3736f4f12f489d9a3aa096c99e8a) ) ROM_CONTINUE( 0x10000, 0x08000 ) ROM_CONTINUE( 0x08000, 0x08000 ) ROM_CONTINUE( 0x18000, 0x08000 ) ROM_LOAD( "rideritaly_2ver1.6.u17", 0x20000, 0x08000, CRC(bdf9bf26) SHA1(49e7c0b99fec06dca5816eb7e38aed025efcaaa7) ) ROM_CONTINUE( 0x30000, 0x08000 ) ROM_CONTINUE( 0x28000, 0x08000 ) ROM_CONTINUE( 0x38000, 0x08000 ) ROM_REGION( 0x20000, "oki", 0 ) ROM_LOAD( "rideritaly_4ver1.6.u54", 0x00000, 0x20000, CRC(df828563) SHA1(f39324c5c37486ed9512e0ff934394556dd182ae) ) ROM_REGION( 0x300, "proms", ROMREGION_DISPOSE ) ROM_LOAD( "prom-n82s129an.u11", 0x000, 0x100, CRC(e17730a6) SHA1(50c730b24e1d3d205c70f9381e4136e2ba6e499a) ) ROM_LOAD( "prom-n82s129an.u12", 0x100, 0x100, CRC(df848861) SHA1(f7e382f8b56d6b9f2af6c7a48a19e3631a64bb6d) ) ROM_LOAD( "prom-n82s129an.u13", 0x200, 0x100, CRC(9cb4a5c0) SHA1(0e0a368329c6d1cb685ed655d699a4894988fdb1) ) ROM_END /*************************************************************************** Super Rider (Italy Ver 2.0) (C)1997 Subsino Chips: 2x custom QFP44 label SUBSINOSS9100 1x custom DIP42 label SUBSINOSS9101 2x D8255AC-2 (are they 8255 equivalent?) 1x custom QFP44 label K-665 (sound)(equivalent to OKI M6295) 1x custom DIP24 label SM64 (sound)(equivalent to YM3812) 1x custom DIP8 label K-664 (sound)(equivalent to YM3014) 1x oscillator 12.000MHz (main) 1x oscillator 4.433619MHz (sound) ROMs: 1x 27C512 (1) 2x M27C1001 (2,3)(main) 1x M27C1001 (4) (sound) 3x PROM N82S129AN 3x PALCE16V8H (not dumped) 2x TIBPAL16L8B (not dumped) 1x GAL16V8B (not dumped) Other: 1x 10x2 edge connector (looks like a coin payout) 1x 36x2 edge connector 1x battery 3.6V NiCd 4x 8 switches dips (sw1-4) 1x trimmer (volume) 1x BIG BLACK BOX (on top of the box there is a small door closing a button-battery; for sure there is more in it, but I do not know how to open it / tore it apart) This game is the official Italian version of "Super Rider" by Subsino Info by f205v, Corrado Tomaselli (20/04/2008) ***************************************************************************/ ROM_START( smoto20 ) ROM_REGION( 0x10000, "main", 0 ) ROM_LOAD( "italyv2.0-25.u18", 0x00000, 0x10000, CRC(91abc76e) SHA1(b0eb3afda1d94111056559017802b16b2e72a9a5) ) ROM_REGION( 0x40000, "gfx1", ROMREGION_DISPOSE ) ROM_LOAD( "3.u16", 0x00000, 0x08000, CRC(44b44385) SHA1(27c2865e52ab67aa8e077e8e1202cbf2addc0dfc) ) ROM_CONTINUE( 0x10000, 0x08000 ) ROM_CONTINUE( 0x08000, 0x08000 ) ROM_CONTINUE( 0x18000, 0x08000 ) ROM_LOAD( "2.u17", 0x20000, 0x08000, CRC(380fc964) SHA1(4a5076d90cb94e2ffeec7534ce64d4cdb320f374) ) ROM_CONTINUE( 0x30000, 0x08000 ) ROM_CONTINUE( 0x28000, 0x08000 ) ROM_CONTINUE( 0x38000, 0x08000 ) ROM_REGION( 0x20000, "oki", 0 ) ROM_LOAD( "rom4ver1.0.u54", 0x00000, 0x20000, CRC(df828563) SHA1(f39324c5c37486ed9512e0ff934394556dd182ae) ) ROM_REGION( 0x300, "proms", ROMREGION_DISPOSE ) ROM_LOAD( "82s129.u11", 0x000, 0x100, CRC(e17730a6) SHA1(50c730b24e1d3d205c70f9381e4136e2ba6e499a) ) ROM_LOAD( "82s129.u12", 0x100, 0x100, CRC(df848861) SHA1(f7e382f8b56d6b9f2af6c7a48a19e3631a64bb6d) ) ROM_LOAD( "82s129.u13", 0x200, 0x100, CRC(9cb4a5c0) SHA1(0e0a368329c6d1cb685ed655d699a4894988fdb1) ) ROM_END static DRIVER_INIT( smoto20 ) { UINT8 *rom = memory_region( machine, "main" ); rom[0x12e1] = 0x20; // "ERROR 951010" } static DRIVER_INIT( smoto16 ) { UINT8 *rom = memory_region( machine, "main" ); rom[0x12d0] = 0x20; // "ERROR 951010" } GAME( 1990, victor5, 0, victor5, 0, 0, ROT0, "Subsino", "Victor 5", GAME_NOT_WORKING ) GAME( 1990, victor21, 0, victor21, 0, 0, ROT0, "Subsino", "Victor 21", GAME_NOT_WORKING ) GAME( 1993, sharkpy, 0, srider, smoto, 0, ROT0, "Subsino", "Shark Party", GAME_NOT_WORKING ) GAME( 1993, sharkpya, sharkpy, srider, smoto, 0, ROT0, "Subsino", "Shark Party (alt)", GAME_NOT_WORKING ) GAME( 1996, smoto20, 0, srider, smoto, smoto20, ROT0, "Subsino", "Super Rider (Italy, v2.0)", GAME_WRONG_COLORS ) GAME( 1996, smoto16, smoto20, srider, smoto, smoto16, ROT0, "Subsino", "Super Moto (Italy, v1.6)", GAME_WRONG_COLORS )