Previous 199869 Revisions Next

r45182 Tuesday 23rd February, 2016 at 22:25:09 UTC by David Haywood
new clones
D. D. Crew (bootleg) [Porchy, Caius, The Dumping Union] (NOT WORKING)

like most actual-era System 18 bootlegs this is a mess of modified hardware, eg. no VDP, completely different tilemap systems, sound systems and such.
[src/mame]arcade.lst
[src/mame/drivers]system16.cpp
[src/mame/includes]system16.h
[src/mame/video]sega16sp.h

trunk/src/mame/arcade.lst
r253693r253694
48974897shdancbl        // BOOTLEG
48984898shdancbla       // BOOTLEG
48994899mwalkbl         // BOOTLEG
4900ddcrewbl
49004901
4901
49024902// Outrun Hardware
49034903            // 1986.11 Outrun (US)
49044904            // 1986.?? Outrun (World)
trunk/src/mame/drivers/system16.cpp
r253693r253694
13491349   AM_RANGE(0xffc000, 0xffffff) AM_RAM
13501350ADDRESS_MAP_END
13511351
1352READ16_MEMBER(segas1x_bootleg_state::ddcrew_c41006_r)
1353{
1354   return 0xffff;//rand();
1355}
1356
1357// todo: this
1358static ADDRESS_MAP_START( ddcrewbl_map, AS_PROGRAM, 16, segas1x_bootleg_state )
1359   AM_RANGE(0x000000, 0x07ffff) AM_ROM
1360   AM_RANGE(0x200000, 0x27ffff) AM_ROM
1361
1362   AM_RANGE(0x400000, 0x40ffff) AM_RAM_WRITE(sys16_tileram_w) AM_SHARE("tileram")
1363   AM_RANGE(0x410000, 0x410fff) AM_RAM_WRITE(sys16_textram_w) AM_SHARE("textram")
1364   AM_RANGE(0x440000, 0x440fff) AM_RAM AM_SHARE("sprites")
1365//   AM_RANGE(0xa00000, 0xa00001) AM_READ_PORT("COINAGE")
1366//   AM_RANGE(0xa00002, 0xa00003) AM_READ_PORT("DSW1")
1367
1368//   AM_RANGE(0xa0000e, 0xa0000f) AM_WRITE(sys18_tilebank_w)
1369//   AM_RANGE(0xa01000, 0xa01001) AM_READ_PORT("SERVICE")
1370//   AM_RANGE(0xa01002, 0xa01003) AM_READ_PORT("P1")
1371//   AM_RANGE(0xa01004, 0xa01005) AM_READ_PORT("P2")
1372//   AM_RANGE(0xa01006, 0xa01007) AM_READ_PORT("P3")
1373
1374   AM_RANGE(0x840000, 0x840fff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram")
1375
1376   AM_RANGE(0xC00000, 0xC00001) AM_WRITENOP
1377
1378   AM_RANGE(0xC40000, 0xC40001) AM_READ(ddcrew_c41006_r)
1379   AM_RANGE(0xC40002, 0xC40003) AM_READ(ddcrew_c41006_r)
1380
1381
1382   AM_RANGE(0xC41000, 0xC41001) AM_READ(ddcrew_c41006_r)
1383   AM_RANGE(0xC41006, 0xC41007) AM_READ(ddcrew_c41006_r)
1384
1385   AM_RANGE(0xc46600, 0xc46601) AM_WRITE(sys18_refreshenable_w)
1386   AM_RANGE(0xffc000, 0xffffff) AM_RAM
1387ADDRESS_MAP_END
1388
13521389/*************************************
13531390 *
13541391 *  Input ports
r253693r253694
24342471   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
24352472MACHINE_CONFIG_END
24362473
2474
2475static MACHINE_CONFIG_START( ddcrewbl, segas1x_bootleg_state )
2476
2477   /* basic machine hardware */
2478   MCFG_CPU_ADD("maincpu", M68000, 10000000)
2479   MCFG_CPU_VBLANK_INT_DRIVER("screen", segas1x_bootleg_state,  irq4_line_hold)
2480   MCFG_CPU_PROGRAM_MAP(ddcrewbl_map)
2481
2482   /* video hardware */
2483   MCFG_SCREEN_ADD("screen", RASTER)
2484   MCFG_SCREEN_REFRESH_RATE(60)
2485   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
2486   MCFG_SCREEN_SIZE(40*8, 28*8)
2487   MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
2488   MCFG_SCREEN_UPDATE_DRIVER(segas1x_bootleg_state, screen_update_system18old)
2489   MCFG_SCREEN_PALETTE("palette")
2490
2491   MCFG_GFXDECODE_ADD("gfxdecode", "palette", sys16)
2492   MCFG_PALETTE_ADD("palette", (2048+2048)*SHADOW_COLORS_MULTIPLIER)
2493
2494   MCFG_VIDEO_START_OVERRIDE(segas1x_bootleg_state,system18old)
2495
2496   MCFG_BOOTLEG_SYS16B_SPRITES_ADD("sprites")
2497   MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(189-107)
2498
2499MACHINE_CONFIG_END
2500
2501
24372502/*************************************
24382503 *
24392504 *  ROM definition(s)
r253693r253694
34773542   ROM_LOAD( "10.bin", 0x10000, 0x10000, CRC(d47a1610) SHA1(96d22068321de3c285a41d28342ab97d1dfa09da) )
34783543   ROM_LOAD( "9.bin",  0x20000, 0x10000, CRC(430faf5e) SHA1(dfe34a757937d7a971911fcefd14dfd7f5942b02) )
34793544ROM_END
3545
3546// seems derived from the D. D. Crew (World, 4 Players) / FD1094 317-0187 version, old bootleg from the period the game was released
3547ROM_START( ddcrewbl )
3548   ROM_REGION( 0x400000, "maincpu", 0 ) // 68000 code
3549   ROM_LOAD16_BYTE( "11.bin", 0x000000, 0x20000, CRC(c670c8a6) SHA1(eeda32aa9f75b8917e39484f579441a6020c29f4) )
3550   ROM_LOAD16_BYTE( "15.bin", 0x000001, 0x20000, CRC(7f3baab1) SHA1(390310765137cffc2a1119f1839195134439e929) )
3551   ROM_LOAD16_BYTE( "12.bin", 0x040000, 0x20000, CRC(f8d3fedc) SHA1(3a3151c9a05db3f8c736f57d90f2dd3e5ea708dd) )
3552   ROM_LOAD16_BYTE( "16.bin", 0x040001, 0x20000, CRC(9662afd7) SHA1(688a0b1b5a83b1cfb2ea2f08f4ca15d8a8be08d4) )
3553   ROM_LOAD16_BYTE( "13.bin", 0x200000, 0x20000, CRC(0033fe50) SHA1(3f29db7ddcfb5b6d6dfdd500d6541ac6018974ca) )
3554   ROM_LOAD16_BYTE( "17.bin", 0x200001, 0x20000, CRC(bbb43241) SHA1(7a2955c59c39e9e214f15a842d3bc94d7a1095f3) )
3555   ROM_LOAD16_BYTE( "14.bin", 0x240000, 0x20000, CRC(8780712e) SHA1(05ab2f7b108e0ae139237665da14f33132fb555e) )
3556   ROM_LOAD16_BYTE( "18.bin", 0x240001, 0x20000, CRC(94b69d68) SHA1(e49ac664f4a5576737db9b9a7eee34b8c5fcd333))
3557
3558   ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles (same as original)
3559   ROM_LOAD( "fac-03.bin", 0x00000, 0x40000, CRC(2228cd88) SHA1(5774bb6a401c3da05c5f3c9d3996b20bb3713cb2) )
3560   ROM_LOAD( "fac-02.bin", 0x40000, 0x40000, CRC(edba8e10) SHA1(25a2833ead4ca363802ddc2eb97c40976502921a) )
3561   ROM_LOAD( "fac-01.bin", 0x80000, 0x40000, CRC(e8ecc305) SHA1(a26d0c5c7826cd315f8b2c27e5a503a2a7b535c4) )
3562
3563   ROM_REGION16_BE( 0x800000, "sprites", 0 ) // sprites (same as original)
3564   ROM_LOAD16_BYTE( "fac-10.bin", 0x000001, 0x80000, CRC(4fda6a4b) SHA1(a9e582e494ab967e8f3ccf4d5844bb8ef889928c) )
3565   ROM_LOAD16_BYTE( "fac-11.bin", 0x000000, 0x80000, CRC(3cbf1f2a) SHA1(80b6b006936740087786acd538e28aca85fa6894) )
3566   ROM_LOAD16_BYTE( "fac-08.bin", 0x200001, 0x80000, CRC(e9c74876) SHA1(aff9d071e77f01c6937188bf67be38fa898343e6) )
3567   ROM_LOAD16_BYTE( "fac-09.bin", 0x200000, 0x80000, CRC(59022c31) SHA1(5e1409fe0f29284dc6a3ffacf69b761aae09f132) )
3568   ROM_LOAD16_BYTE( "fac-06.bin", 0x400001, 0x80000, CRC(720d9858) SHA1(8ebcb8b3e9555ca48b28908d47dcbbd654398b6f) )
3569   ROM_LOAD16_BYTE( "fac-07.bin", 0x400000, 0x80000, CRC(7775fdd4) SHA1(a03cac039b400b651a4bf2167a8f2338f488ce26) )
3570   ROM_LOAD16_BYTE( "fac-04.bin", 0x600001, 0x80000, CRC(846c4265) SHA1(58d0c213d085fb4dee18b7aefb05087d9d522950) )
3571   ROM_LOAD16_BYTE( "fac-05.bin", 0x600000, 0x80000, CRC(0e76c797) SHA1(9a44dc948e84e5acac36e80105c2349ee78e6cfa) )
3572
3573   ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF )
3574   ROM_LOAD( "fac-12.bin", 0x00000, 0x80000, CRC(2e7dade2) SHA1(4133138990ed10f56e299399f034f86ffd9cbd47) )
3575
3576   ROM_REGION( 0x100000, "proms", 0 )
3577   ROM_LOAD( "82s123.bin", 0x000, 0x020, CRC(58bcf8bd) SHA1(e4d3d179b08c0f3424a6bec0f15058fb1b56f8d8) )
3578   ROM_LOAD( "82s129.bin", 0x000, 0x100, CRC(00b5c4c4) SHA1(acab51ad861b25edf310b9b903a7fc486daaee4b) )
3579
3580   ROM_REGION( 0x100000, "gals", 0 )
3581   ROM_LOAD( "gal16v8-1.bin", 0x000, 0x117, CRC(64892ee8) SHA1(c7ea077aead5934d95d61f82bdf705dc0cb0e8e4) )
3582   ROM_LOAD( "gal16v8-2.bin", 0x000, 0x117, CRC(22133a8f) SHA1(0b5bc074cfe88c0631df63e0c0a733c660d73af0) )
3583ROM_END
3584
3585
3586
34803587/*************************************
34813588 *
34823589 *  Driver initialization
r253693r253694
36303737   m_fore_yscroll = 2;
36313738}
36323739
3740DRIVER_INIT_MEMBER(segas1x_bootleg_state,ddcrewbl)
3741{
3742   DRIVER_INIT_CALL(common);
3743   m_spritebank_type = 0;
3744}
3745
3746
36333747WRITE16_MEMBER(segas1x_bootleg_state::altbeastbl_gfx_w)
36343748{
36353749   switch (offset) {
r253693r253694
38013915GAME( 1990, mwalkbl,     mwalk,     mwalkbl,     mwalkbl, segas1x_bootleg_state,   mwalkbl,    ROT0,   "bootleg", "Michael Jackson's Moonwalker (bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
38023916GAME( 1989, shdancbl,    shdancer,  shdancbl,    shdancbl, segas1x_bootleg_state,  shdancbl,   ROT0,   "bootleg", "Shadow Dancer (bootleg, set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
38033917GAME( 1989, shdancbla,   shdancer,  shdancbla,   shdancbl, segas1x_bootleg_state,  shdancbl,   ROT0,   "bootleg", "Shadow Dancer (bootleg, set 2)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
3918
3919GAME( 1990, ddcrewbl,    ddcrew,    ddcrewbl,    astormbl, segas1x_bootleg_state,  ddcrewbl,   ROT0,   "bootleg", "D. D. Crew (bootleg)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND )
trunk/src/mame/includes/system16.h
r253693r253694
11// license:BSD-3-Clause
22// copyright-holders:Nicola Salmoria, Phil Stroffolino, Mirko Buffoni
33
4// later, this might be merged with segas1x_state in segas16.h
5
64#include "video/sega16sp.h"
75#include "machine/segaic16.h"
86#include "sound/msm5205.h"
r253693r253694
131129   DECLARE_READ16_MEMBER(passht4b_io1_r);
132130   DECLARE_READ16_MEMBER(passht4b_io2_r);
133131   DECLARE_READ16_MEMBER(passht4b_io3_r);
132   DECLARE_READ16_MEMBER(ddcrew_c41006_r);
134133   DECLARE_WRITE16_MEMBER(sys16_tilebank_w);
135134   DECLARE_WRITE8_MEMBER(tturfbl_msm5205_data_w);
136135   DECLARE_READ8_MEMBER(tturfbl_soundbank_r);
r253693r253694
186185   DECLARE_DRIVER_INIT(shinobl);
187186   DECLARE_DRIVER_INIT(tturfbl);
188187   DECLARE_DRIVER_INIT(goldnaxeb1);
188   DECLARE_DRIVER_INIT(ddcrewbl);
189189   DECLARE_DRIVER_INIT(common);
190190   TILEMAP_MAPPER_MEMBER(sys16_bg_map);
191191   TILEMAP_MAPPER_MEMBER(sys16_text_map);
trunk/src/mame/video/sega16sp.h
r253693r253694
4040   bootleg_sys16a_sprite_device::static_set_remap(*device, _0,_1,_2,_3,_4,_5,_6,_7);
4141
4242#define MCFG_BOOTLEG_SYS16A_SPRITES_XORIGIN(_xorigin) \
43   bootleg_sys16a_sprite_device::static_set_xorigin(*device, _xorigin);
43   bootleg_sys16a_sprite_device::set_local_originx(*device, _xorigin);
4444
4545#define MCFG_BOOTLEG_SYS16A_SPRITES_YORIGIN(_yorigin) \
46   bootleg_sys16a_sprite_device::static_set_yorigin(*device, _yorigin);
46   bootleg_sys16a_sprite_device::set_local_originy(*device, _yorigin);
4747
4848
4949#define MCFG_BOOTLEG_SYS16B_SPRITES_ADD(_tag) \
5050   MCFG_DEVICE_ADD(_tag, SEGA_SYS16B_SPRITES, 0)
5151#define MCFG_BOOTLEG_SYS16B_SPRITES_XORIGIN(_xorigin) \
52   bootleg_sys16a_sprite_device::static_set_xorigin(*device, _xorigin);
52   sega_sys16b_sprite_device::set_local_originx(*device, _xorigin);
5353
5454
5555
r253693r253694
8686      set_origin(x, y);
8787   }
8888
89   void set_local_originx_(int x)  { m_xoffs_flipped = m_xoffs = x; set_origin(x, m_yoffs); }
90   void set_local_originy_(int y) { m_yoffs_flipped = m_yoffs = y; set_origin(m_xoffs, y); }
8991
92   static void set_local_originx(device_t &device, int x)
93   {
94      sega_16bit_sprite_device &dev = downcast<sega_16bit_sprite_device &>(device);
95      dev.set_local_originx_(x);
96   };
97
98   static void set_local_originy(device_t &device, int y)
99   {
100      sega_16bit_sprite_device &dev = downcast<sega_16bit_sprite_device &>(device);
101      dev.set_local_originy_(y);
102   };
103
90104   // write trigger memory handler
91105   DECLARE_WRITE16_MEMBER( draw_write );
92106


Previous 199869 Revisions Next


© 1997-2024 The MAME Team