| Previous | 199869 Revisions | Next |
| r19344 Wednesday 5th December, 2012 at 20:44:21 UTC by Tafoid |
|---|
| Added skeleton driver for Dragon's Lair 2: Time Warp (dlair2.c). Added some notes to assist initial development. [Tafoid] New games marked as GAME_NOT_WORKING ------------------------------------ Dragon's Lair 2: Time Warp (US v3.19) Space Ace (DL2 Conversion) (US v1.3) New clones added ---------------- Dragon's Lair 2: Time Warp (Euro v3.19) (not working) Dragon's Lair 2: Time Warp (Spanish v3.19) (not working) Dragon's Lair 2: Time Warp (US v3.18) (not working) Dragon's Lair 2: Time Warp (Euro v3.16) (not working) Dragon's Lair 2: Time Warp (US v3.15) (not working) Dragon's Lair 2: Time Warp (Spanish v3.15) (not working) Dragon's Lair 2: Time Warp (US v3.14) (not working) Dragon's Lair 2: Time Warp (US v3.12) (not working) Dragon's Lair 2: Time Warp (US v3.00) (not working) Dragon's Lair 2: Time Warp (US v2.11) (not working) Space Ace (DL2 Conversion) (Euro v1.3) (not working) |
| [src/mame] | mame.lst mame.mak |
| [src/mame/drivers] | dlair2.c* |
| r0 | r19344 | |
|---|---|---|
| 1 | /*************************************************************************** | |
| 2 | ||
| 3 | Skeleton driver for Dragon's Lair II: Time Warp | |
| 4 | by Leland | |
| 5 | ||
| 6 | Some information from | |
| 7 | http://www.dragons-lair-project.com/tech/pages/dl2.asp | |
| 8 | ||
| 9 | * Service Mode: | |
| 10 | Press and hold the "Sword" button and "Service switch" | |
| 11 | (located inside coin door) - Release both buttons | |
| 12 | ||
| 13 | * Rom version determines LD Image to use: | |
| 14 | ROM revision 2.xx works only with a Dragon's Lair II disc, serial number | |
| 15 | C-910-00001-00. This is the original pressing of the laser disc. | |
| 16 | ROM revision 3.xx works with a Dragon's Lair II disc, serial number | |
| 17 | C-910-00002-00, which is the 2nd pressing of the laser disc. | |
| 18 | ||
| 19 | * Coinage seems to be controlled by a PIC16C54 with an internal ROM. (Phil B) | |
| 20 | ||
| 21 | * Space Ace (slightly modified from original) was also offered on this | |
| 22 | hardware as a conversion kit. Known sets are included. | |
| 23 | ||
| 24 | ***************************************************************************/ | |
| 25 | ||
| 26 | #include "emu.h" | |
| 27 | #include "cpu/i86/i86.h" | |
| 28 | ||
| 29 | #define MAIN_CLOCK XTAL_30MHz | |
| 30 | ||
| 31 | class dlair2_state : public driver_device | |
| 32 | { | |
| 33 | public: | |
| 34 | dlair2_state(const machine_config &mconfig, device_type type, const char *tag) | |
| 35 | : driver_device(mconfig, type, tag), | |
| 36 | m_maincpu(*this, "maincpu"){ } | |
| 37 | ||
| 38 | // devices | |
| 39 | required_device<cpu_device> m_maincpu; | |
| 40 | ||
| 41 | // screen updates | |
| 42 | UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); | |
| 43 | ||
| 44 | protected: | |
| 45 | // driver_device overrides | |
| 46 | virtual void machine_start(); | |
| 47 | virtual void machine_reset(); | |
| 48 | ||
| 49 | virtual void video_start(); | |
| 50 | virtual void palette_init(); | |
| 51 | }; | |
| 52 | ||
| 53 | void dlair2_state::video_start() | |
| 54 | { | |
| 55 | ||
| 56 | } | |
| 57 | ||
| 58 | UINT32 dlair2_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect ) | |
| 59 | { | |
| 60 | return 0; | |
| 61 | } | |
| 62 | ||
| 63 | static ADDRESS_MAP_START( dlair2_map, AS_PROGRAM, 8, dlair2_state ) | |
| 64 | AM_RANGE(0x00000, 0x0ffff) AM_ROM | |
| 65 | AM_RANGE(0x10000, 0xfffff) AM_RAM | |
| 66 | ADDRESS_MAP_END | |
| 67 | ||
| 68 | static INPUT_PORTS_START( dlair2 ) | |
| 69 | /* dummy active high structure */ | |
| 70 | PORT_START("SYSA") | |
| 71 | PORT_DIPNAME( 0x01, 0x00, "SYSA" ) | |
| 72 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) | |
| 73 | PORT_DIPSETTING( 0x01, DEF_STR( On ) ) | |
| 74 | PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) | |
| 75 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) | |
| 76 | PORT_DIPSETTING( 0x02, DEF_STR( On ) ) | |
| 77 | PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) | |
| 78 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) | |
| 79 | PORT_DIPSETTING( 0x04, DEF_STR( On ) ) | |
| 80 | PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) | |
| 81 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) | |
| 82 | PORT_DIPSETTING( 0x08, DEF_STR( On ) ) | |
| 83 | PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) | |
| 84 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) | |
| 85 | PORT_DIPSETTING( 0x10, DEF_STR( On ) ) | |
| 86 | PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) | |
| 87 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) | |
| 88 | PORT_DIPSETTING( 0x20, DEF_STR( On ) ) | |
| 89 | PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) | |
| 90 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) | |
| 91 | PORT_DIPSETTING( 0x40, DEF_STR( On ) ) | |
| 92 | PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) | |
| 93 | PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) | |
| 94 | PORT_DIPSETTING( 0x80, DEF_STR( On ) ) | |
| 95 | ||
| 96 | /* dummy active low structure */ | |
| 97 | PORT_START("DSWA") | |
| 98 | PORT_DIPNAME( 0x01, 0x01, "DSWA" ) | |
| 99 | PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) | |
| 100 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) | |
| 101 | PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) | |
| 102 | PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) | |
| 103 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) | |
| 104 | PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) | |
| 105 | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) | |
| 106 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) | |
| 107 | PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) | |
| 108 | PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) | |
| 109 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) | |
| 110 | PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) | |
| 111 | PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) | |
| 112 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) | |
| 113 | PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) | |
| 114 | PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) | |
| 115 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) | |
| 116 | PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) | |
| 117 | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) | |
| 118 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) | |
| 119 | PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) | |
| 120 | PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) | |
| 121 | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) | |
| 122 | INPUT_PORTS_END | |
| 123 | ||
| 124 | /* | |
| 125 | static const gfx_layout charlayout = | |
| 126 | { | |
| 127 | 8,8, | |
| 128 | RGN_FRAC(1,1), | |
| 129 | 1, | |
| 130 | { RGN_FRAC(0,1) }, | |
| 131 | { 0, 1, 2, 3, 4, 5, 6, 7 }, | |
| 132 | { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, | |
| 133 | 8*8 | |
| 134 | }; | |
| 135 | ||
| 136 | static GFXDECODE_START( dlair2 ) | |
| 137 | GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 1 ) | |
| 138 | GFXDECODE_END | |
| 139 | */ | |
| 140 | ||
| 141 | void dlair2_state::machine_start() | |
| 142 | { | |
| 143 | } | |
| 144 | ||
| 145 | void dlair2_state::machine_reset() | |
| 146 | { | |
| 147 | } | |
| 148 | ||
| 149 | void dlair2_state::palette_init() | |
| 150 | { | |
| 151 | } | |
| 152 | ||
| 153 | static MACHINE_CONFIG_START( dlair2, dlair2_state ) | |
| 154 | ||
| 155 | /* basic machine hardware */ | |
| 156 | MCFG_CPU_ADD("maincpu", I8088 , MAIN_CLOCK/3) /* Schematics show I8088 "max" CPU */ | |
| 157 | MCFG_CPU_PROGRAM_MAP(dlair2_map) | |
| 158 | ||
| 159 | /* video hardware */ | |
| 160 | MCFG_SCREEN_ADD("screen", RASTER) | |
| 161 | MCFG_SCREEN_REFRESH_RATE(60) | |
| 162 | MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) | |
| 163 | MCFG_SCREEN_UPDATE_DRIVER(dlair2_state, screen_update) | |
| 164 | MCFG_SCREEN_SIZE(32*8, 32*8) | |
| 165 | MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1) | |
| 166 | ||
| 167 | // MCFG_GFXDECODE(dlair2) | |
| 168 | ||
| 169 | MCFG_PALETTE_LENGTH(256) | |
| 170 | ||
| 171 | /* sound hardware */ | |
| 172 | MCFG_SPEAKER_STANDARD_MONO("mono") | |
| 173 | MACHINE_CONFIG_END | |
| 174 | ||
| 175 | ||
| 176 | /*************************************************************************** | |
| 177 | ||
| 178 | Game driver(s) | |
| 179 | ||
| 180 | ***************************************************************************/ | |
| 181 | ||
| 182 | ROM_START( dlair2 ) | |
| 183 | ROM_REGION( 0x10000, "maincpu", 0 ) | |
| 184 | ROM_LOAD( "dl2_319.bin", 0x00000, 0x10000, CRC(e9453a1b) SHA1(eb1201abd0124f6edbabd49bec81af827369cb2c) ) | |
| 185 | ROM_END | |
| 186 | ROM_START( dlair2_319e ) | |
| 187 | ROM_REGION( 0x10000, "maincpu", 0 ) | |
| 188 | ROM_LOAD( "dl2euro3.19.bin", 0x00000, 0x10000, CRC(cc23ad9f) SHA1(24add8f03749dcc27b1b166dc2e5d346534a0088) ) | |
| 189 | ROM_END | |
| 190 | ROM_START( dlair2_319s ) | |
| 191 | ROM_REGION( 0x10000, "maincpu", 0 ) | |
| 192 | ROM_LOAD( "dl2-span.bin", 0x00000, 0x10000, CRC(4b9a811d) SHA1(6fe580f541305422f89edbbf475f7c5f17153738) ) | |
| 193 | ROM_END | |
| 194 | ROM_START( dlair2_318 ) | |
| 195 | ROM_REGION( 0x10000, "maincpu", 0 ) | |
| 196 | ROM_LOAD( "dl2_318.bin", 0x00000, 0x10000, CRC(64706492) SHA1(99c92572c59ce1206847a5363d3791196fccd742) ) | |
| 197 | ROM_END | |
| 198 | ROM_START( dlair2_316e ) | |
| 199 | ROM_REGION( 0x10000, "maincpu", 0 ) | |
| 200 | ROM_LOAD( "dl2euro.bin", 0x00000, 0x10000, CRC(d68f1b13) SHA1(cc9ee307b4d3caba049be6226163c810cf89ab44) ) | |
| 201 | ROM_END | |
| 202 | ROM_START( dlair2_315 ) | |
| 203 | ROM_REGION( 0x10000, "maincpu", 0 ) | |
| 204 | ROM_LOAD( "dl2_315.rom", 0x00000, 0x10000, CRC(13ec0600) SHA1(9366dfac4508c4a723d688016b8cddb57aa6f5f1) ) | |
| 205 | ROM_END | |
| 206 | ROM_START( dlair2_315s ) | |
| 207 | ROM_REGION( 0x10000, "maincpu", 0 ) | |
| 208 | ROM_LOAD( "315spi.bin", 0x00000, 0x10000, CRC(75d8861a) SHA1(56ab31a760f43f98fa40396ee7d7af7ce982d28d) ) | |
| 209 | ROM_END | |
| 210 | ROM_START( dlair2_314 ) | |
| 211 | ROM_REGION( 0x10000, "maincpu", 0 ) | |
| 212 | ROM_LOAD( "dl2_314.bin", 0x00000, 0x10000, CRC(af92b612) SHA1(a0b986fa8a0f2206beedf1dcaed4d108599947ff) ) | |
| 213 | ROM_END | |
| 214 | ROM_START( dlair2_312 ) | |
| 215 | ROM_REGION( 0x10000, "maincpu", 0 ) | |
| 216 | ROM_LOAD( "312.bin", 0x00000, 0x10000, CRC(c842be6b) SHA1(bf548ea3c6e98cd93f79408c3b9f0e1e22cc8bd1) ) | |
| 217 | ROM_END | |
| 218 | ROM_START( dlair2_300 ) | |
| 219 | ROM_REGION( 0x10000, "maincpu", 0 ) | |
| 220 | ROM_LOAD( "dl2_300.bin", 0x00000, 0x10000, CRC(dec4f2e3) SHA1(fd96378c78df4aacd4b2190823ec5c1591199d44) ) | |
| 221 | ROM_END | |
| 222 | ROM_START( dlair2_211 ) | |
| 223 | ROM_REGION( 0x10000, "maincpu", 0 ) | |
| 224 | ROM_LOAD( "dl2_211.bin", 0x00000, 0x10000, CRC(9f2660a3) SHA1(bf35356aab0138f86e6ea18c7bcf4f3f3c428d98) ) | |
| 225 | ROM_END | |
| 226 | ||
| 227 | ROM_START( spacea91 ) | |
| 228 | ROM_REGION( 0x10000, "maincpu", 0 ) | |
| 229 | ROM_LOAD( "ace.dat", 0x00000, 0x10000, CRC(de93a213) SHA1(1c95d5f45292f08149d749e1f7b5d9409d3a266e) ) | |
| 230 | ROM_END | |
| 231 | ROM_START( spacea91_13e ) | |
| 232 | ROM_REGION( 0x10000, "maincpu", 0 ) | |
| 233 | ROM_LOAD( "sa91euro1.3.bin", 0x00000, 0x10000, CRC(27dd0486) SHA1(8a57510b466381d9962e5397d89a7a3e73d757b0) ) | |
| 234 | ROM_END | |
| 235 | ||
| 236 | ||
| 237 | GAME( 1991, dlair2, 0, dlair2, dlair2, driver_device, 0, ROT0, "Leland", "Dragon's Lair 2: Time Warp (US v3.19)", GAME_IS_SKELETON ) | |
| 238 | GAME( 1991, dlair2_319e, dlair2, dlair2, dlair2, driver_device, 0, ROT0, "Leland", "Dragon's Lair 2: Time Warp (Euro v3.19)", GAME_IS_SKELETON ) | |
| 239 | GAME( 1991, dlair2_319s, dlair2, dlair2, dlair2, driver_device, 0, ROT0, "Leland", "Dragon's Lair 2: Time Warp (Spanish v3.19)", GAME_IS_SKELETON ) | |
| 240 | GAME( 1991, dlair2_318, dlair2, dlair2, dlair2, driver_device, 0, ROT0, "Leland", "Dragon's Lair 2: Time Warp (US v3.18)", GAME_IS_SKELETON ) | |
| 241 | GAME( 1991, dlair2_316e, dlair2, dlair2, dlair2, driver_device, 0, ROT0, "Leland", "Dragon's Lair 2: Time Warp (Euro v3.16)", GAME_IS_SKELETON ) | |
| 242 | GAME( 1991, dlair2_315, dlair2, dlair2, dlair2, driver_device, 0, ROT0, "Leland", "Dragon's Lair 2: Time Warp (US v3.15)", GAME_IS_SKELETON ) | |
| 243 | GAME( 1991, dlair2_315s, dlair2, dlair2, dlair2, driver_device, 0, ROT0, "Leland", "Dragon's Lair 2: Time Warp (Spanish v3.15)", GAME_IS_SKELETON ) | |
| 244 | GAME( 1991, dlair2_314, dlair2, dlair2, dlair2, driver_device, 0, ROT0, "Leland", "Dragon's Lair 2: Time Warp (US v3.14)", GAME_IS_SKELETON ) | |
| 245 | GAME( 1991, dlair2_312, dlair2, dlair2, dlair2, driver_device, 0, ROT0, "Leland", "Dragon's Lair 2: Time Warp (US v3.12)", GAME_IS_SKELETON ) | |
| 246 | GAME( 1991, dlair2_300, dlair2, dlair2, dlair2, driver_device, 0, ROT0, "Leland", "Dragon's Lair 2: Time Warp (US v3.00)", GAME_IS_SKELETON ) | |
| 247 | GAME( 1991, dlair2_211, dlair2, dlair2, dlair2, driver_device, 0, ROT0, "Leland", "Dragon's Lair 2: Time Warp (US v2.11)", GAME_IS_SKELETON ) | |
| 248 | GAME( 1991, spacea91, 0, dlair2, dlair2, driver_device, 0, ROT0, "Leland", "Space Ace (DL2 Conversion) (US v1.3)", GAME_IS_SKELETON ) | |
| 249 | GAME( 1991, spacea91_13e, spacea91, dlair2, dlair2, driver_device, 0, ROT0, "Leland", "Space Ace (DL2 Conversion) (Euro v1.3)", GAME_IS_SKELETON ) |
| r19343 | r19344 | |
|---|---|---|
| 3938 | 3938 | indyheat // (c) 1991 Leland |
| 3939 | 3939 | brutforc // (c) 1991 Leland |
| 3940 | 3940 | asylum // (c) 1991 Leland |
| 3941 | dlair2 // (c) 1991 Leland | |
| 3942 | dlair2_319e // (c) 1991 Leland | |
| 3943 | dlair2_319s // (c) 1991 Leland | |
| 3944 | dlair2_318 // (c) 1991 Leland | |
| 3945 | dlair2_316e // (c) 1991 Leland | |
| 3946 | dlair2_315 // (c) 1991 Leland | |
| 3947 | dlair2_315s // (c) 1991 Leland | |
| 3948 | dlair2_314 // (c) 1991 Leland | |
| 3949 | dlair2_312 // (c) 1991 Leland | |
| 3950 | dlair2_300 // (c) 1991 Leland | |
| 3951 | dlair2_211 // (c) 1991 Leland | |
| 3952 | spacea91 // (c) 1991 Leland | |
| 3953 | spacea91_13e // (c) 1991 Leland | |
| 3941 | 3954 | |
| 3942 | 3955 | // Gremlin 8080 games |
| 3943 | 3956 | // the numbers listed are the range of ROM part numbers |
| r19343 | r19344 | |
| 9511 | 9524 | spaceacea2 // (c) 1983 Cinematronics |
| 9512 | 9525 | spaceacea // (c) 1983 Cinematronics |
| 9513 | 9526 | spaceaceeuro // (c) 1983 Atari |
| 9514 | /* | |
| 9515 | dlair2 // (c) 1991 Cinematronics | |
| 9516 | dlair2_319e // (c) 1991 Cinematronics | |
| 9517 | dlair2_319s // (c) 1991 Cinematronics | |
| 9518 | dlair2_318 // (c) 1991 Cinematronics | |
| 9519 | dlair2_316e // (c) 1991 Cinematronics | |
| 9520 | dlair2_315 // (c) 1991 Cinematronics | |
| 9521 | dlair2_315s // (c) 1991 Cinematronics | |
| 9522 | dlair2_314 // (c) 1991 Cinematronics | |
| 9523 | dlair2_312 // (c) 1991 Cinematronics | |
| 9524 | dlair2_300 // (c) 1991 Cinematronics | |
| 9525 | dlair2_211 // (c) 1991 Cinematronics | |
| 9526 | */ | |
| 9527 | 9527 | aztarac // (c) 1983 Centuri (vector game) |
| 9528 | 9528 | mole // (c) 1982 Yachiyo Electronics, Ltd. |
| 9529 | 9529 | thehand // (c) 1981 T.I.C. |
| r19343 | r19344 | |
|---|---|---|
| 588 | 588 | $(DRIVERS)/cinemat.o $(AUDIO)/cinemat.o $(VIDEO)/cinemat.o \ |
| 589 | 589 | $(DRIVERS)/cchasm.o $(MACHINE)/cchasm.o $(AUDIO)/cchasm.o $(VIDEO)/cchasm.o \ |
| 590 | 590 | $(DRIVERS)/dlair.o \ |
| 591 | $(DRIVERS)/dlair2.o \ | |
| 591 | 592 | $(DRIVERS)/embargo.o \ |
| 592 | 593 | $(DRIVERS)/jack.o $(VIDEO)/jack.o \ |
| 593 | 594 | $(DRIVERS)/leland.o $(MACHINE)/leland.o $(AUDIO)/leland.o $(VIDEO)/leland.o \ |
| Previous | 199869 Revisions | Next |