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*

trunk/src/mame/drivers/dlair2.c
r0r19344
1/***************************************************************************
2
3Skeleton driver for Dragon's Lair II: Time Warp
4by Leland
5
6Some information from
7http://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
31class dlair2_state : public driver_device
32{
33public:
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
44protected:
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
53void dlair2_state::video_start()
54{
55
56}
57
58UINT32 dlair2_state::screen_update( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
59{
60   return 0;
61}
62
63static ADDRESS_MAP_START( dlair2_map, AS_PROGRAM, 8, dlair2_state )
64   AM_RANGE(0x00000, 0x0ffff) AM_ROM
65   AM_RANGE(0x10000, 0xfffff) AM_RAM
66ADDRESS_MAP_END
67
68static 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 ) )
122INPUT_PORTS_END
123
124/*
125static 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
136static GFXDECODE_START( dlair2 )
137   GFXDECODE_ENTRY( "gfx1", 0, charlayout,     0, 1 )
138GFXDECODE_END
139*/
140
141void dlair2_state::machine_start()
142{
143}
144
145void dlair2_state::machine_reset()
146{
147}
148
149void dlair2_state::palette_init()
150{
151}
152
153static 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")
173MACHINE_CONFIG_END
174
175
176/***************************************************************************
177
178  Game driver(s)
179
180***************************************************************************/
181
182ROM_START( dlair2 )
183   ROM_REGION( 0x10000, "maincpu", 0 )
184   ROM_LOAD( "dl2_319.bin",     0x00000, 0x10000, CRC(e9453a1b) SHA1(eb1201abd0124f6edbabd49bec81af827369cb2c) )
185ROM_END
186ROM_START( dlair2_319e )
187   ROM_REGION( 0x10000, "maincpu", 0 )
188   ROM_LOAD( "dl2euro3.19.bin", 0x00000, 0x10000, CRC(cc23ad9f) SHA1(24add8f03749dcc27b1b166dc2e5d346534a0088) )
189ROM_END
190ROM_START( dlair2_319s )
191   ROM_REGION( 0x10000, "maincpu", 0 )
192   ROM_LOAD( "dl2-span.bin",    0x00000, 0x10000, CRC(4b9a811d) SHA1(6fe580f541305422f89edbbf475f7c5f17153738) )
193ROM_END
194ROM_START( dlair2_318 )
195   ROM_REGION( 0x10000, "maincpu", 0 )
196   ROM_LOAD( "dl2_318.bin",     0x00000, 0x10000, CRC(64706492) SHA1(99c92572c59ce1206847a5363d3791196fccd742) )
197ROM_END
198ROM_START( dlair2_316e )
199   ROM_REGION( 0x10000, "maincpu", 0 )
200   ROM_LOAD( "dl2euro.bin",     0x00000, 0x10000, CRC(d68f1b13) SHA1(cc9ee307b4d3caba049be6226163c810cf89ab44) )
201ROM_END
202ROM_START( dlair2_315 )
203   ROM_REGION( 0x10000, "maincpu", 0 )
204   ROM_LOAD( "dl2_315.rom",     0x00000, 0x10000, CRC(13ec0600) SHA1(9366dfac4508c4a723d688016b8cddb57aa6f5f1) )
205ROM_END
206ROM_START( dlair2_315s )
207   ROM_REGION( 0x10000, "maincpu", 0 )
208   ROM_LOAD( "315spi.bin",      0x00000, 0x10000, CRC(75d8861a) SHA1(56ab31a760f43f98fa40396ee7d7af7ce982d28d) )
209ROM_END
210ROM_START( dlair2_314 )
211   ROM_REGION( 0x10000, "maincpu", 0 )
212   ROM_LOAD( "dl2_314.bin",     0x00000, 0x10000, CRC(af92b612) SHA1(a0b986fa8a0f2206beedf1dcaed4d108599947ff) )
213ROM_END
214ROM_START( dlair2_312 )
215   ROM_REGION( 0x10000, "maincpu", 0 )
216   ROM_LOAD( "312.bin",         0x00000, 0x10000, CRC(c842be6b) SHA1(bf548ea3c6e98cd93f79408c3b9f0e1e22cc8bd1) )
217ROM_END
218ROM_START( dlair2_300 )
219   ROM_REGION( 0x10000, "maincpu", 0 )
220   ROM_LOAD( "dl2_300.bin",     0x00000, 0x10000, CRC(dec4f2e3) SHA1(fd96378c78df4aacd4b2190823ec5c1591199d44) )
221ROM_END
222ROM_START( dlair2_211 )
223   ROM_REGION( 0x10000, "maincpu", 0 )
224   ROM_LOAD( "dl2_211.bin",     0x00000, 0x10000, CRC(9f2660a3) SHA1(bf35356aab0138f86e6ea18c7bcf4f3f3c428d98) )
225ROM_END
226
227ROM_START( spacea91 )
228   ROM_REGION( 0x10000, "maincpu", 0 )
229   ROM_LOAD( "ace.dat",         0x00000, 0x10000, CRC(de93a213) SHA1(1c95d5f45292f08149d749e1f7b5d9409d3a266e) )
230ROM_END
231ROM_START( spacea91_13e )
232   ROM_REGION( 0x10000, "maincpu", 0 )
233   ROM_LOAD( "sa91euro1.3.bin", 0x00000, 0x10000, CRC(27dd0486) SHA1(8a57510b466381d9962e5397d89a7a3e73d757b0) )
234ROM_END
235
236
237GAME( 1991, dlair2,       0,        dlair2,  dlair2, driver_device,  0,       ROT0, "Leland",      "Dragon's Lair 2: Time Warp (US v3.19)", GAME_IS_SKELETON )
238GAME( 1991, dlair2_319e,  dlair2,   dlair2,  dlair2, driver_device,  0,       ROT0, "Leland",      "Dragon's Lair 2: Time Warp (Euro v3.19)", GAME_IS_SKELETON )
239GAME( 1991, dlair2_319s,  dlair2,   dlair2,  dlair2, driver_device,  0,       ROT0, "Leland",      "Dragon's Lair 2: Time Warp (Spanish v3.19)", GAME_IS_SKELETON )
240GAME( 1991, dlair2_318,   dlair2,   dlair2,  dlair2, driver_device,  0,       ROT0, "Leland",      "Dragon's Lair 2: Time Warp (US v3.18)", GAME_IS_SKELETON )
241GAME( 1991, dlair2_316e,  dlair2,   dlair2,  dlair2, driver_device,  0,       ROT0, "Leland",      "Dragon's Lair 2: Time Warp (Euro v3.16)", GAME_IS_SKELETON )
242GAME( 1991, dlair2_315,   dlair2,   dlair2,  dlair2, driver_device,  0,       ROT0, "Leland",      "Dragon's Lair 2: Time Warp (US v3.15)", GAME_IS_SKELETON )
243GAME( 1991, dlair2_315s,  dlair2,   dlair2,  dlair2, driver_device,  0,       ROT0, "Leland",      "Dragon's Lair 2: Time Warp (Spanish v3.15)", GAME_IS_SKELETON )
244GAME( 1991, dlair2_314,   dlair2,   dlair2,  dlair2, driver_device,  0,       ROT0, "Leland",      "Dragon's Lair 2: Time Warp (US v3.14)", GAME_IS_SKELETON )
245GAME( 1991, dlair2_312,   dlair2,   dlair2,  dlair2, driver_device,  0,       ROT0, "Leland",      "Dragon's Lair 2: Time Warp (US v3.12)", GAME_IS_SKELETON )
246GAME( 1991, dlair2_300,   dlair2,   dlair2,  dlair2, driver_device,  0,       ROT0, "Leland",      "Dragon's Lair 2: Time Warp (US v3.00)", GAME_IS_SKELETON )
247GAME( 1991, dlair2_211,   dlair2,   dlair2,  dlair2, driver_device,  0,       ROT0, "Leland",      "Dragon's Lair 2: Time Warp (US v2.11)", GAME_IS_SKELETON )
248GAME( 1991, spacea91,     0,        dlair2,  dlair2, driver_device,  0,       ROT0, "Leland",      "Space Ace (DL2 Conversion) (US v1.3)", GAME_IS_SKELETON )
249GAME( 1991, spacea91_13e, spacea91, dlair2,  dlair2, driver_device,  0,       ROT0, "Leland",      "Space Ace (DL2 Conversion) (Euro v1.3)", GAME_IS_SKELETON )
trunk/src/mame/mame.lst
r19343r19344
39383938indyheat      // (c) 1991 Leland
39393939brutforc      // (c) 1991 Leland
39403940asylum         // (c) 1991 Leland
3941dlair2         // (c) 1991 Leland
3942dlair2_319e      // (c) 1991 Leland
3943dlair2_319s      // (c) 1991 Leland
3944dlair2_318      // (c) 1991 Leland
3945dlair2_316e      // (c) 1991 Leland
3946dlair2_315      // (c) 1991 Leland
3947dlair2_315s      // (c) 1991 Leland
3948dlair2_314      // (c) 1991 Leland
3949dlair2_312      // (c) 1991 Leland
3950dlair2_300      // (c) 1991 Leland
3951dlair2_211      // (c) 1991 Leland
3952spacea91      // (c) 1991 Leland
3953spacea91_13e      // (c) 1991 Leland
39413954
39423955// Gremlin 8080 games
39433956// the numbers listed are the range of ROM part numbers
r19343r19344
95119524spaceacea2      // (c) 1983 Cinematronics
95129525spaceacea      // (c) 1983 Cinematronics
95139526spaceaceeuro   // (c) 1983 Atari
9514/*
9515dlair2         // (c) 1991 Cinematronics
9516dlair2_319e      // (c) 1991 Cinematronics
9517dlair2_319s      // (c) 1991 Cinematronics
9518dlair2_318      // (c) 1991 Cinematronics
9519dlair2_316e      // (c) 1991 Cinematronics
9520dlair2_315      // (c) 1991 Cinematronics
9521dlair2_315s      // (c) 1991 Cinematronics
9522dlair2_314      // (c) 1991 Cinematronics
9523dlair2_312      // (c) 1991 Cinematronics
9524dlair2_300      // (c) 1991 Cinematronics
9525dlair2_211      // (c) 1991 Cinematronics
9526*/
95279527aztarac         // (c) 1983 Centuri (vector game)
95289528mole         // (c) 1982 Yachiyo Electronics, Ltd.
95299529thehand         // (c) 1981 T.I.C.
trunk/src/mame/mame.mak
r19343r19344
588588   $(DRIVERS)/cinemat.o $(AUDIO)/cinemat.o $(VIDEO)/cinemat.o \
589589   $(DRIVERS)/cchasm.o $(MACHINE)/cchasm.o $(AUDIO)/cchasm.o $(VIDEO)/cchasm.o \
590590   $(DRIVERS)/dlair.o \
591   $(DRIVERS)/dlair2.o \
591592   $(DRIVERS)/embargo.o \
592593   $(DRIVERS)/jack.o $(VIDEO)/jack.o \
593594   $(DRIVERS)/leland.o $(MACHINE)/leland.o $(AUDIO)/leland.o $(VIDEO)/leland.o \

Previous 199869 Revisions Next


© 1997-2024 The MAME Team