Previous 199869 Revisions Next

r20880 Sunday 10th February, 2013 at 07:22:56 UTC by Robbbert
Moved knightsb to fcrash.c
[src/mame/drivers]cps1.c fcrash.c
[src/mame/includes]cps1.h

trunk/src/mame/drivers/cps1.c
r20879r20880
20382038   PORT_DIPSETTING(    0x00, DEF_STR( Test ) )
20392039INPUT_PORTS_END
20402040
2041static INPUT_PORTS_START( knights )
2041INPUT_PORTS_START( knights )
20422042   PORT_INCLUDE( cps1_3players )
20432043
20442044   PORT_MODIFY("IN0")
r20879r20880
32763276   MCFG_EEPROM_ADD("eeprom", qsound_eeprom_interface)
32773277MACHINE_CONFIG_END
32783278
3279/*
32803279
3281CPU:
3282
32831x MC68000P12 ic65 main
32841x Z0840006PSC ic1 sound
32851x YM2151 ic29 sound
32861x YM3012 ic30 sound
32872x LM324 ic15,ic31 sound
32882x M5205 ic184,ic185 sound
32891x TDA2003 ic14 sound
32901x oscillator 24.000000MHz (close to main)
32911x oscillator 29.821000MHz (close to sound)
3292
3293ROMs
3294
32955x M27C2001 1,2,3,4,5 dumped
32964x maskrom KA,KB,KC,KD not dumped
3297
3298RAMs:
3299
33004x KM62256ALP ic112,ic113,ic168,ic170
33011x SYC6116L ic24
33021x MCM2018AN ic7,ic8,ic51,ic56,ic70,ic71,ic77,ic78
3303
3304PLDs:
3305
33061x TPC1020AFN ic116 read protected
33073x GAL20V8A ic120,ic121,ic169 read protected
33083x GAL16V8A ic7,ic72,ic80 read protected
3309
3310Note:
3311
33121x JAMMA edge connector
33132x 10 legs connector
33141x trimmer (volume)
33153x 8x2 switches DIP
3316
3317*/
3318
3319// The following is temporary - new code is on the way
3320
3321static ADDRESS_MAP_START( sf2mdt_z80map, AS_PROGRAM, 8, cps_state )
3322   AM_RANGE(0x0000, 0x7fff) AM_ROM
3323   AM_RANGE(0x8000, 0xd7ff) AM_RAM
3324   AM_RANGE(0xd800, 0xd801) AM_DEVREADWRITE("2151", ym2151_device, read, write)
3325   AM_RANGE(0xdc00, 0xdc00) AM_READ(soundlatch_byte_r)
3326ADDRESS_MAP_END
3327
3328static void m5205_int1( device_t *device )
3329{
3330   cps_state *state = device->machine().driver_data<cps_state>();
3331
3332   msm5205_data_w(device, state->m_sample_buffer1 & 0x0f);
3333   state->m_sample_buffer1 >>= 4;
3334   state->m_sample_select1 ^= 1;
3335   if (state->m_sample_select1 == 0)
3336      state->m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
3337}
3338
3339static void m5205_int2( device_t *device )
3340{
3341   cps_state *state = device->machine().driver_data<cps_state>();
3342
3343   msm5205_data_w(device, state->m_sample_buffer2 & 0x0f);
3344   state->m_sample_buffer2 >>= 4;
3345   state->m_sample_select2 ^= 1;
3346}
3347
3348static const msm5205_interface msm5205_interface1 =
3349{
3350   m5205_int1, /* interrupt function */
3351   MSM5205_S96_4B /* 4KHz 4-bit */
3352};
3353
3354static const msm5205_interface msm5205_interface2 =
3355{
3356   m5205_int2, /* interrupt function */
3357   MSM5205_S96_4B /* 4KHz 4-bit */
3358};
3359
3360
3361static MACHINE_CONFIG_START( knightsb, cps_state )
3362
3363   /* basic machine hardware */
3364   MCFG_CPU_ADD("maincpu", M68000, 24000000 / 2)
3365   MCFG_CPU_PROGRAM_MAP(main_map)
3366   MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt)
3367
3368   MCFG_CPU_ADD("audiocpu", Z80, 29821000 / 8)
3369   MCFG_CPU_PROGRAM_MAP(sf2mdt_z80map)
3370
3371   MCFG_MACHINE_START_OVERRIDE(cps_state,common)
3372
3373   /* video hardware */
3374   MCFG_SCREEN_ADD("screen", RASTER)
3375   MCFG_SCREEN_REFRESH_RATE(60)
3376   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
3377   MCFG_SCREEN_SIZE(64*8, 32*8)
3378   MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
3379   MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_cps1)
3380   MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
3381
3382   MCFG_GFXDECODE(cps1)
3383   MCFG_PALETTE_LENGTH(0xc00)
3384
3385   MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
3386
3387   /* sound hardware */
3388   MCFG_SPEAKER_STANDARD_MONO("mono")
3389
3390   MCFG_YM2151_ADD("2151", 29821000 / 8)
3391   MCFG_YM2151_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
3392   MCFG_SOUND_ROUTE(0, "mono", 0.35)
3393   MCFG_SOUND_ROUTE(1, "mono", 0.35)
3394
3395   /* has 2x MSM5205 instead of OKI6295 */
3396   MCFG_SOUND_ADD("msm1", MSM5205, 24000000/64)    /* ? */
3397   MCFG_SOUND_CONFIG(msm5205_interface1)
3398   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
3399
3400   MCFG_SOUND_ADD("msm2", MSM5205, 24000000/64)    /* ? */
3401   MCFG_SOUND_CONFIG(msm5205_interface2)
3402   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
3403MACHINE_CONFIG_END
3404
3405
3406
3407
34083280/***************************************************************************
34093281
34103282  Game driver(s)
r20879r20880
77477619   ROM_LOAD( "c632.ic1",     0x0000, 0x0117, CRC(0fbd9270) SHA1(d7e737b20c44d41e29ca94be56114b31934dde81) )
77487620ROM_END
77497621
7750/* bootleg */
7751/* FIXME - GFX ROMs are wrong, copied from the other version */
7752/* ROMs missing are KA.IC91 KB.IC92 KC.IC93 KD.IC94 */
7753ROM_START( knightsb )
7754   ROM_REGION( CODE_SIZE, "maincpu", 0 )      /* 68000 code */
7755   ROM_LOAD16_BYTE( "3.ic173",    0x00001, 0x40000, CRC(c9c6e720) SHA1(e8a1cd73458b548e88fc49d8f659e0dc33a8e756) )
7756   ROM_LOAD16_BYTE( "5.ic172",    0x00000, 0x40000, CRC(7fd91118) SHA1(d2832b21309a467938891946d7af35d8095787a4) )
7757   ROM_LOAD16_BYTE( "2.ic175",    0x80001, 0x40000, CRC(1eb91343) SHA1(e02cfbbd7689346f14f2e3455ed17e7f0b51bad0) )
7758   ROM_LOAD16_BYTE( "4.ic176",    0x80000, 0x40000, CRC(af352703) SHA1(7855ac65752203f45af4ef41af8c291540a1c8a8) )
77597622
7760   ROM_REGION( 0x400000, "gfx", 0 ) /* bootleg had 4x 1meg MASKroms, these need dumping so that the format is known */
7761   ROMX_LOAD( "kr_gfx1.rom",  0x000000, 0x80000, BAD_DUMP CRC(9e36c1a4) SHA1(772daae74e119371dfb76fde9775bda78a8ba125) , ROM_GROUPWORD | ROM_SKIP(6) )
7762   ROMX_LOAD( "kr_gfx3.rom",  0x000002, 0x80000, BAD_DUMP CRC(c5832cae) SHA1(a188cf401cd3a2909b377d3059f14d22ec3b0643) , ROM_GROUPWORD | ROM_SKIP(6) )
7763   ROMX_LOAD( "kr_gfx2.rom",  0x000004, 0x80000, BAD_DUMP CRC(f095be2d) SHA1(0427d1574062f277a9d04440019d5638b05de561) , ROM_GROUPWORD | ROM_SKIP(6) )
7764   ROMX_LOAD( "kr_gfx4.rom",  0x000006, 0x80000, BAD_DUMP CRC(179dfd96) SHA1(b1844e69da7ab13474da569978d5b47deb8eb2be) , ROM_GROUPWORD | ROM_SKIP(6) )
7765   ROMX_LOAD( "kr_gfx5.rom",  0x200000, 0x80000, BAD_DUMP CRC(1f4298d2) SHA1(4b162a7f649b0bcd676f8ca0c5eee9a1250d6452) , ROM_GROUPWORD | ROM_SKIP(6) )
7766   ROMX_LOAD( "kr_gfx7.rom",  0x200002, 0x80000, BAD_DUMP CRC(37fa8751) SHA1(b88b39d1f08621f15a5620095aef998346fa9891) , ROM_GROUPWORD | ROM_SKIP(6) )
7767   ROMX_LOAD( "kr_gfx6.rom",  0x200004, 0x80000, BAD_DUMP CRC(0200bc3d) SHA1(c900b1be2b4e49b951e5c1e3fd1e19d21b82986e) , ROM_GROUPWORD | ROM_SKIP(6) )
7768   ROMX_LOAD( "kr_gfx8.rom",  0x200006, 0x80000, BAD_DUMP CRC(0bb2b4e7) SHA1(983b800925d58e4aeb4e5105f93ed5faf66d009c) , ROM_GROUPWORD | ROM_SKIP(6) )
7769
7770   ROM_REGION( 0x40000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
7771   ROM_LOAD( "1.ic26",     0x00000, 0x40000, CRC(bd6f9cc1) SHA1(9f33cccef224d2204736a9eae761196866bd6e41) )
7772ROM_END
7773
77747623/* B-Board 91635B-2 */
77757624ROM_START( sf2ce )
77767625   ROM_REGION( CODE_SIZE, "maincpu", 0 )      /* 68000 code */
r20879r20880
1136911218GAME( 1991, knightsu,    knights,  cps1_10MHz, knights,  cps_state,   cps1,     ROT0,   "Capcom", "Knights of the Round (USA 911127)", GAME_SUPPORTS_SAVE )
1137011219GAME( 1991, knightsj,    knights,  cps1_10MHz, knights,  cps_state,   cps1,     ROT0,   "Capcom", "Knights of the Round (Japan 911127, B-Board 91634B-2)", GAME_SUPPORTS_SAVE )
1137111220GAME( 1991, knightsja,   knights,  cps1_10MHz, knights,  cps_state,   cps1,     ROT0,   "Capcom", "Knights of the Round (Japan 911127, B-Board 89625B-1)", GAME_SUPPORTS_SAVE )
11372GAME( 1991, knightsb,    knights,  knightsb,   knights,  cps_state,   cps1,     ROT0,   "bootleg", "Knights of the Round (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )    // 911127 - based on World version
1137311221GAME( 1992, sf2ce,       0,        cps1_12MHz, sf2,      cps_state,   cps1,     ROT0,   "Capcom", "Street Fighter II': Champion Edition (World 920513)", GAME_SUPPORTS_SAVE )   // "ETC"
1137411222GAME( 1992, sf2ceea,     sf2ce,    cps1_12MHz, sf2,      cps_state,   cps1,     ROT0,   "Capcom", "Street Fighter II': Champion Edition (World 920313)", GAME_SUPPORTS_SAVE )   // "ETC"
1137511223GAME( 1992, sf2ceua,     sf2ce,    cps1_12MHz, sf2,      cps_state,   cps1,     ROT0,   "Capcom", "Street Fighter II': Champion Edition (USA 920313)", GAME_SUPPORTS_SAVE )
trunk/src/mame/drivers/fcrash.c
r20879r20880
4545 - the layer enable and layer mask writes continue at 0x98000c and 0x980020-2
4646
4747These read/writes are identical to those used by a Knights of the Round bootleg which uses the all sf2mdt sound
48hardware. This set is currently non-working in cps1.c but I will move it here soon.
48hardware. This set is currently non-working.
4949
5050This also prevents the game from toggling the sprite address at m_cps_a_regs[0], similar to other bootlegs.
5151Currently the game is working somewhat, but only using the code left over from the original. If anyone wants to
r20879r20880
100100   membank("bank1")->set_entry(data & 0x07);
101101}
102102
103WRITE8_MEMBER( cps_state::knightsb_snd_bankswitch_w )
104{
105   m_msm_1->set_output_gain(0, (data & 0x20) ? 0.0 : 1.0);
106   m_msm_2->set_output_gain(0, (data & 0x10) ? 0.0 : 1.0);
107
108   membank("bank1")->set_entry(data & 0x0f);
109}
110
103111static void m5205_int1( device_t *device )
104112{
105113   cps_state *state = device->machine().driver_data<cps_state>();
r20879r20880
148156      m_cps_b_regs[m_layer_mask_reg[2] / 2] = data;
149157}
150158
159WRITE16_MEMBER(cps_state::knightsb_layer_w)
160{
161   if (offset == 0x05)
162      m_cps_a_regs[0x14 / 2] = data + 0xffce; /* scroll 3x */
163   else
164   if (offset == 0x04)
165      m_cps_a_regs[0x16 / 2] = data; /* scroll 3y */
166   else
167   if (offset == 0x03)
168      m_cps_a_regs[0x10 / 2] = data + 0xffce; /* scroll 2x */
169   else
170   if (offset == 0x01)
171      m_cps_a_regs[0x0c / 2] = data + 0xffc2; /* scroll 1x */
172   else
173   if (offset == 0x02)
174   {
175      m_cps_a_regs[0x12 / 2] = data; /* scroll 2y */
176      m_cps_a_regs[CPS1_ROWSCROLL_OFFS] = data; /* row scroll start */
177   }
178   else
179   if (offset == 0x00)
180      m_cps_a_regs[0x0e / 2] = data; /* scroll 1y - fixes scroll of high scores */
181   else
182   if (offset == 0x06)
183      m_cps_b_regs[m_layer_enable_reg / 2] = data;
184   else
185   if (offset == 0x10)
186      m_cps_b_regs[m_layer_mask_reg[1] / 2] = data;
187   else
188   if (offset == 0x11)
189      m_cps_b_regs[m_layer_mask_reg[2] / 2] = data;
190   else
191   if (offset == 0x12)
192      m_cps_b_regs[m_layer_mask_reg[3] / 2] = data;
193}
194
151195WRITE16_MEMBER(cps_state::sf2mdt_layer_w)
152196{
153197   /* layer enable and scroll registers are written here - passing them to m_cps_b_regs and m_cps_a_regs for now for drawing routines
r20879r20880
409453}
410454
411455
456static ADDRESS_MAP_START( knightsb_map, AS_PROGRAM, 16, cps_state )
457   AM_RANGE(0x000000, 0x3fffff) AM_ROM
458   AM_RANGE(0x800000, 0x800001) AM_READ_PORT("IN1")            /* Player input ports */
459   AM_RANGE(0x800002, 0x800003) AM_READ_PORT("IN2")//(cps1_in2_r)            /* Player 3 controls */
460   AM_RANGE(0x800006, 0x800007) AM_WRITE(cps1_soundlatch_w)    /* Sound command */
461   AM_RANGE(0x800018, 0x80001f) AM_READ(cps1_dsw_r)            /* System input ports / Dip Switches */
462   AM_RANGE(0x800030, 0x800037) AM_WRITENOP //AM_WRITE(cps1_coinctrl_w) only writes bit 15
463   AM_RANGE(0x800100, 0x80013f) AM_WRITE(cps1_cps_a_w) AM_SHARE("cps_a_regs")   /* CPS-A custom */
464   AM_RANGE(0x800140, 0x80017f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) AM_SHARE("cps_b_regs")   /* CPS-B custom */
465   AM_RANGE(0x800180, 0x800181) AM_WRITE(cps1_soundlatch2_w)   /* Sound timer fade */
466   AM_RANGE(0x880000, 0x880001) AM_WRITENOP //?
467   AM_RANGE(0x900000, 0x93ffff) AM_RAM_WRITE(cps1_gfxram_w) AM_SHARE("gfxram")
468   AM_RANGE(0x980000, 0x98002f) AM_WRITE(knightsb_layer_w)
469   AM_RANGE(0x991000, 0x993fff) AM_WRITENOP // could be bootleg_sprite_ram
470   AM_RANGE(0xff0000, 0xffffff) AM_RAM
471ADDRESS_MAP_END
472
412473static ADDRESS_MAP_START( fcrash_map, AS_PROGRAM, 16, cps_state )
413474   AM_RANGE(0x000000, 0x3fffff) AM_ROM
414475   AM_RANGE(0x800030, 0x800031) AM_WRITE(cps1_coinctrl_w)
r20879r20880
454515   AM_RANGE(0xe800, 0xe800) AM_WRITE(fcrash_msm5205_1_data_w)
455516ADDRESS_MAP_END
456517
518static ADDRESS_MAP_START( knightsb_z80map, AS_PROGRAM, 8, cps_state )
519   AM_RANGE(0x0000, 0x7fff) AM_ROM
520   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
521   AM_RANGE(0xd000, 0xd7ff) AM_RAM
522   AM_RANGE(0xd800, 0xd801) AM_DEVREADWRITE("2151", ym2151_device, read, write)
523   AM_RANGE(0xdc00, 0xdc00) AM_READ(soundlatch_byte_r)
524   AM_RANGE(0xe000, 0xe000) AM_WRITE(knightsb_snd_bankswitch_w)
525   AM_RANGE(0xe400, 0xe400) AM_WRITE(fcrash_msm5205_0_data_w)
526   AM_RANGE(0xe800, 0xe800) AM_WRITE(fcrash_msm5205_1_data_w)
527ADDRESS_MAP_END
457528
529
458530#define CPS1_COINAGE_1 \
459531   PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) \
460532   PORT_DIPSETTING(    0x00, DEF_STR( 4C_1C ) ) \
r20879r20880
9681040   save_item(NAME(m_sample_select2));
9691041}
9701042
1043MACHINE_START_MEMBER(cps_state, knightsb)
1044{
1045   UINT8 *ROM = memregion("soundcpu")->base();
1046
1047   membank("bank1")->configure_entries(0, 16, &ROM[0x10000], 0x4000);
1048
1049   m_maincpu = machine().device<cpu_device>("maincpu");
1050   m_audiocpu = machine().device<cpu_device>("soundcpu");
1051   m_msm_1 = machine().device<msm5205_device>("msm1");
1052   m_msm_2 = machine().device<msm5205_device>("msm2");
1053   m_layer_enable_reg = 0x20;
1054   m_layer_mask_reg[0] = 0x28;
1055   m_layer_mask_reg[1] = 0x2a;
1056   m_layer_mask_reg[2] = 0x2c;
1057   m_layer_mask_reg[3] = 0x2e;
1058   m_layer_scroll1x_offset = 0;
1059   m_layer_scroll2x_offset = 0;
1060   m_layer_scroll3x_offset = 0;
1061   m_sprite_base = 0x1000;
1062   m_sprite_list_end_marker = 0xffff;
1063   m_sprite_x_offset = 0;
1064}
1065
9711066MACHINE_RESET_MEMBER(cps_state,fcrash)
9721067{
9731068   m_sample_buffer1 = 0;
r20879r20880
11181213   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
11191214MACHINE_CONFIG_END
11201215
1216static MACHINE_CONFIG_START( knightsb, cps_state )
11211217
1218   /* basic machine hardware */
1219   MCFG_CPU_ADD("maincpu", M68000, 24000000 / 2)
1220   MCFG_CPU_PROGRAM_MAP(knightsb_map)
1221   MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) // to get past ETC screen
1222   MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", cps_state, ganbare_interrupt, "screen", 0, 1) // to activate 98xxxx writes
1223
1224   MCFG_CPU_ADD("soundcpu", Z80, 29821000 / 8)
1225   MCFG_CPU_PROGRAM_MAP(knightsb_z80map)
1226
1227   MCFG_MACHINE_START_OVERRIDE(cps_state, knightsb)
1228
1229   /* video hardware */
1230   MCFG_SCREEN_ADD("screen", RASTER)
1231   MCFG_SCREEN_REFRESH_RATE(60)
1232   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
1233   MCFG_SCREEN_SIZE(64*8, 32*8)
1234   MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
1235   MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_cps1)
1236   MCFG_SCREEN_VBLANK_DRIVER(cps_state, screen_eof_cps1)
1237
1238   MCFG_GFXDECODE(cps1)
1239   MCFG_PALETTE_LENGTH(0xc00)
1240
1241   MCFG_VIDEO_START_OVERRIDE(cps_state,cps1)
1242
1243   /* sound hardware */
1244   MCFG_SPEAKER_STANDARD_MONO("mono")
1245
1246   MCFG_YM2151_ADD("2151", 29821000 / 8)
1247   MCFG_YM2151_IRQ_HANDLER(INPUTLINE("soundcpu", 0))
1248   MCFG_SOUND_ROUTE(0, "mono", 0.35)
1249   MCFG_SOUND_ROUTE(1, "mono", 0.35)
1250
1251   /* has 2x MSM5205 instead of OKI6295 */
1252   MCFG_SOUND_ADD("msm1", MSM5205, 24000000/64)    /* ? */
1253   MCFG_SOUND_CONFIG(msm5205_interface1)
1254   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1255
1256   MCFG_SOUND_ADD("msm2", MSM5205, 24000000/64)    /* ? */
1257   MCFG_SOUND_CONFIG(msm5205_interface2)
1258   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1259MACHINE_CONFIG_END
1260
1261
11221262ROM_START( fcrash )
11231263   ROM_REGION( 0x400000, "maincpu", 0 )      /* 68000 code */
11241264   ROM_LOAD16_BYTE( "9.bin",  0x00000, 0x20000, CRC(c6854c91) SHA1(29f01cc65be5eaa3f86e99eebdd284104623abb0) )
r20879r20880
12161356   ROM_LOAD( "2.ic19",      0x00000, 0x40000, CRC(a2db1575) SHA1(1a4a29e4b045af50700adf1665697feab12cc234) )
12171357ROM_END
12181358
1359/*
1360
1361CPU:
1362
13631x MC68000P12 ic65 main
13641x Z0840006PSC ic1 sound
13651x YM2151 ic29 sound
13661x YM3012 ic30 sound
13672x LM324 ic15,ic31 sound
13682x M5205 ic184,ic185 sound
13691x TDA2003 ic14 sound
13701x oscillator 24.000000MHz (close to main)
13711x oscillator 29.821000MHz (close to sound)
1372
1373ROMs
1374
13755x M27C2001 1,2,3,4,5 dumped
13764x maskrom KA,KB,KC,KD not dumped
1377
1378RAMs:
1379
13804x KM62256ALP ic112,ic113,ic168,ic170
13811x SYC6116L ic24
13821x MCM2018AN ic7,ic8,ic51,ic56,ic70,ic71,ic77,ic78
1383
1384PLDs:
1385
13861x TPC1020AFN ic116 read protected
13873x GAL20V8A ic120,ic121,ic169 read protected
13883x GAL16V8A ic7,ic72,ic80 read protected
1389
1390Note:
1391
13921x JAMMA edge connector
13932x 10 legs connector
13941x trimmer (volume)
13953x 8x2 switches DIP
1396
1397*/
1398/* bootleg */
1399/* FIXME - GFX ROMs are wrong, copied from the other version */
1400/* ROMs missing are KA.IC91 KB.IC92 KC.IC93 KD.IC94 */
1401ROM_START( knightsb )
1402   ROM_REGION( 0x400000, "maincpu", 0 )      /* 68000 code */
1403   ROM_LOAD16_BYTE( "3.ic173",    0x00001, 0x40000, CRC(c9c6e720) SHA1(e8a1cd73458b548e88fc49d8f659e0dc33a8e756) )
1404   ROM_LOAD16_BYTE( "5.ic172",    0x00000, 0x40000, CRC(7fd91118) SHA1(d2832b21309a467938891946d7af35d8095787a4) )
1405   ROM_LOAD16_BYTE( "2.ic175",    0x80001, 0x40000, CRC(1eb91343) SHA1(e02cfbbd7689346f14f2e3455ed17e7f0b51bad0) )
1406   ROM_LOAD16_BYTE( "4.ic176",    0x80000, 0x40000, CRC(af352703) SHA1(7855ac65752203f45af4ef41af8c291540a1c8a8) )
1407
1408   ROM_REGION( 0x400000, "gfx", 0 ) /* bootleg had 4x 1meg MASKroms, these need dumping so that the format is known */
1409   ROMX_LOAD( "kr_gfx1.rom",  0x000000, 0x80000, BAD_DUMP CRC(9e36c1a4) SHA1(772daae74e119371dfb76fde9775bda78a8ba125) , ROM_GROUPWORD | ROM_SKIP(6) )
1410   ROMX_LOAD( "kr_gfx3.rom",  0x000002, 0x80000, BAD_DUMP CRC(c5832cae) SHA1(a188cf401cd3a2909b377d3059f14d22ec3b0643) , ROM_GROUPWORD | ROM_SKIP(6) )
1411   ROMX_LOAD( "kr_gfx2.rom",  0x000004, 0x80000, BAD_DUMP CRC(f095be2d) SHA1(0427d1574062f277a9d04440019d5638b05de561) , ROM_GROUPWORD | ROM_SKIP(6) )
1412   ROMX_LOAD( "kr_gfx4.rom",  0x000006, 0x80000, BAD_DUMP CRC(179dfd96) SHA1(b1844e69da7ab13474da569978d5b47deb8eb2be) , ROM_GROUPWORD | ROM_SKIP(6) )
1413   ROMX_LOAD( "kr_gfx5.rom",  0x200000, 0x80000, BAD_DUMP CRC(1f4298d2) SHA1(4b162a7f649b0bcd676f8ca0c5eee9a1250d6452) , ROM_GROUPWORD | ROM_SKIP(6) )
1414   ROMX_LOAD( "kr_gfx7.rom",  0x200002, 0x80000, BAD_DUMP CRC(37fa8751) SHA1(b88b39d1f08621f15a5620095aef998346fa9891) , ROM_GROUPWORD | ROM_SKIP(6) )
1415   ROMX_LOAD( "kr_gfx6.rom",  0x200004, 0x80000, BAD_DUMP CRC(0200bc3d) SHA1(c900b1be2b4e49b951e5c1e3fd1e19d21b82986e) , ROM_GROUPWORD | ROM_SKIP(6) )
1416   ROMX_LOAD( "kr_gfx8.rom",  0x200006, 0x80000, BAD_DUMP CRC(0bb2b4e7) SHA1(983b800925d58e4aeb4e5105f93ed5faf66d009c) , ROM_GROUPWORD | ROM_SKIP(6) )
1417
1418   ROM_REGION( 0x50000, "soundcpu", 0 ) /* 64k for the audio CPU (+banks) */
1419   ROM_LOAD( "1.ic26",     0x00000, 0x40000, CRC(bd6f9cc1) SHA1(9f33cccef224d2204736a9eae761196866bd6e41) )
1420   ROM_RELOAD(            0x10000, 0x40000 )
1421ROM_END
1422
12191423ROM_START( cawingbl )
12201424   ROM_REGION( 0x400000, "maincpu", 0 )      /* 68000 code */
12211425   ROM_LOAD16_BYTE( "caw2.bin",    0x00000, 0x80000, CRC(8125d3f0) SHA1(a0e48c326c6164ca189c9372f5c38a7c103772c1) )
r20879r20880
14671671
14681672GAME( 1990, fcrash,    ffight,  fcrash,    fcrash,   cps_state, cps1,     ROT0,   "bootleg (Playmark)", "Final Crash (bootleg of Final Fight)", GAME_SUPPORTS_SAVE )
14691673GAME( 1991, kodb,      kod,     kodb,      kodb,     cps_state, kodb,     ROT0,   "bootleg (Playmark)", "The King of Dragons (bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 910731  "ETC"
1674GAME( 1991, knightsb,  knights, knightsb,  knights,  cps_state, cps1,     ROT0,   "bootleg", "Knights of the Round (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )    // 911127 - based on World version
14701675GAME( 1990, cawingbl,  cawing,  cawingbl,  cawingbl, cps_state, cawingbl, ROT0,   "bootleg", "Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM205 set 1)", GAME_SUPPORTS_SAVE )
14711676GAME( 1990, cawingb2,  cawing,  cawingbl,  cawingbl, cps_state, cawingbl, ROT0,   "bootleg", "Carrier Air Wing (bootleg with 2xYM2203 + 2xMSM205 set 2)", GAME_SUPPORTS_SAVE )
14721677GAME( 1992, sf2mdt,    sf2ce,   sf2mdt,    sf2mdt,   cps_state, sf2mdt,   ROT0,   "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )   // 920313 - based on (heavily modified) World version
trunk/src/mame/includes/cps1.h
r20879r20880
251251   DECLARE_MACHINE_RESET(fcrash);
252252   DECLARE_MACHINE_START(kodb);
253253   DECLARE_MACHINE_START(cawingbl);
254   DECLARE_MACHINE_START(knightsb);
254255   DECLARE_MACHINE_START(sf2mdt);
255256   DECLARE_WRITE16_MEMBER(kodb_layer_w);
256257   DECLARE_WRITE16_MEMBER(cawingbl_soundlatch_w);
258   DECLARE_WRITE16_MEMBER(knightsb_layer_w);
257259   DECLARE_WRITE16_MEMBER(sf2mdt_layer_w);
258260   DECLARE_WRITE16_MEMBER(sf2mdta_layer_w);
259261   DECLARE_WRITE16_MEMBER(fcrash_soundlatch_w);
260262   DECLARE_WRITE8_MEMBER(fcrash_snd_bankswitch_w);
261263   DECLARE_WRITE8_MEMBER(sf2mdt_snd_bankswitch_w);
264   DECLARE_WRITE8_MEMBER(knightsb_snd_bankswitch_w);
262265   DECLARE_WRITE8_MEMBER(fcrash_msm5205_0_data_w);
263266   DECLARE_WRITE8_MEMBER(fcrash_msm5205_1_data_w);
264267   UINT32 screen_update_fcrash(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
r20879r20880
307310
308311GFXDECODE_EXTERN( cps1 );
309312
313INPUT_PORTS_EXTERN( knights );
310314
315
311316#endif

Previous 199869 Revisions Next


© 1997-2024 The MAME Team