Previous 199869 Revisions Next

r21662 Wednesday 6th March, 2013 at 20:03:19 UTC by David Haywood
added sounds, inputs, promoted to working
new WORKING
Dream Ball [same credits as last time]

could do with lamps, and hopper hookup so you don't get a payout error tho.
[src/mame/drivers]dreambal.c

trunk/src/mame/drivers/dreambal.c
r21661r21662
8859 (68000 CPU)
99141 (Tilemap GFX)
101071 (usually sprites? or mixer?)
11HD63B50P in I/O section (maybe hopper comms?)
1112
13--
14todo:
15emulate hopper
16lamps?
17
18
1219*/
1320
1421#include "emu.h"
r21661r21662
2633   dreambal_state(const machine_config &mconfig, device_type type, const char *tag)
2734      : driver_device(mconfig, type, tag),
2835         m_eeprom(*this, "eeprom")
29
30      /* ,
31
32      m_pf1_rowscroll(*this, "pf1_rowscroll"),
33      m_pf2_rowscroll(*this, "pf2_rowscroll"),
34*/
3536   { }
3637
37   /* memory pointers */
38   /*
39   required_shared_ptr<UINT16> m_pf1_rowscroll;
40   required_shared_ptr<UINT16> m_pf2_rowscroll;
41   required_shared_ptr<UINT16> m_spriteram;
42   */
4338   required_device<eeprom_device> m_eeprom;
4439
4540   /* devices */
r21661r21662
9893   AM_RANGE(0x140000, 0x1403ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_word_w) AM_SHARE("paletteram")
9994   AM_RANGE(0x161000, 0x16100f) AM_DEVWRITE_LEGACY("tilegen1", deco16ic_pf_control_w)
10095
101   AM_RANGE(0x160088, 0x160089) AM_READ_PORT("UNK1")
102   AM_RANGE(0x160292, 0x160293) AM_READ_PORT("UNK2")
103   AM_RANGE(0x16036C, 0x16036D) AM_READ_PORT("UNK3")
104   AM_RANGE(0x180000, 0x180001) AM_NOP // OKI?
96   AM_RANGE(0x160088, 0x160089) AM_READ_PORT("INP")
97   AM_RANGE(0x160292, 0x160293) AM_READ_PORT("SYS")
98   AM_RANGE(0x16036C, 0x16036D) AM_READ_PORT("COIN")
99
100
101   AM_RANGE(0x180000, 0x180001) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)
102
103   AM_RANGE(0x162000, 0x162001) AM_WRITENOP // writes 0003 on startup
104   AM_RANGE(0x163000, 0x163001) AM_WRITENOP // something on bit 1
105   AM_RANGE(0x164000, 0x164001) AM_WRITENOP // something on bit 1
105106   
106107   AM_RANGE(0x165000, 0x165001) AM_WRITE( dreambal_eeprom_w ) // EEP Write?
107108
109   AM_RANGE(0x16c002, 0x16c00d) AM_WRITENOP // writes 0000 to 0005 on startup
110   AM_RANGE(0x1a0000, 0x1a0001) AM_WRITENOP // writes 33 and 1a on startup
111
108112ADDRESS_MAP_END
109113
110114
r21661r21662
137141GFXDECODE_END
138142
139143static INPUT_PORTS_START( dreambal )
140   PORT_START("UNK1")
141   PORT_DIPNAME( 0x0001, 0x0001, "2" )
142   PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
143   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
144   PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
145   PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
146   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
147   PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
148   PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
149   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
150   PORT_DIPNAME( 0x0008, 0x0000, DEF_STR( Unknown ) )
151   PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
152   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
153   PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
154   PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
155   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
156   PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
157   PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
158   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
144   PORT_START("INP")
145   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE )
146   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // currently causes hopper error
147   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_POKER_CANCEL ) // fold?
148   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Double Up")
149   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Small")
150   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5")
159151   PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
160152   PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
161153   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
r21661r21662
165157   PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
166158   PORT_DIPSETTING(      0x0100, DEF_STR( Off ) )
167159   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
168   PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
169   PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
170   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
171   PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
172   PORT_DIPSETTING(      0x0400, DEF_STR( Off ) )
173   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
174   PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
175   PORT_DIPSETTING(      0x0800, DEF_STR( Off ) )
176   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
177   PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
178   PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
179   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
160   PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_GAMBLE_BET )
161   PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START1) PORT_NAME("Start / Proceed")
162   PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Big")
163   PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4")
180164   PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
181165   PORT_DIPSETTING(      0x2000, DEF_STR( Off ) )
182166   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
r21661r21662
187171   PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
188172   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
189173
190   PORT_START("UNK2")
174   PORT_START("SYS")
191175   PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)
192176   PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
193177   PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
r21661r21662
235219   PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
236220   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
237221
238   PORT_START("UNK3")
239   PORT_DIPNAME( 0x0001, 0x0001, "2" )
240   PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
241   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
242   PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
243   PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
244   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
245   PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
222   PORT_START("COIN")
223   PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
224   PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
225   PORT_DIPNAME( 0x0004, 0x0004, "3" ) // freeze / vbl?
246226   PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
247227   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
248228   PORT_DIPNAME( 0x0008, 0x0000, DEF_STR( Unknown ) )
r21661r21662
284264   PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
285265   PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
286266   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
287
288   PORT_START("UNK4")
289   PORT_DIPNAME( 0x0001, 0x0001, "2" )
290   PORT_DIPSETTING(      0x0001, DEF_STR( Off ) )
291   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
292   PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
293   PORT_DIPSETTING(      0x0002, DEF_STR( Off ) )
294   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
295   PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
296   PORT_DIPSETTING(      0x0004, DEF_STR( Off ) )
297   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
298   PORT_DIPNAME( 0x0008, 0x0000, DEF_STR( Unknown ) )
299   PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
300   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
301   PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
302   PORT_DIPSETTING(      0x0010, DEF_STR( Off ) )
303   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
304   PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
305   PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
306   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
307   PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
308   PORT_DIPSETTING(      0x0040, DEF_STR( Off ) )
309   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
310   PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
311   PORT_DIPSETTING(      0x0080, DEF_STR( Off ) )
312   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
313   PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
314   PORT_DIPSETTING(      0x0100, DEF_STR( Off ) )
315   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
316   PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
317   PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
318   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
319   PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
320   PORT_DIPSETTING(      0x0400, DEF_STR( Off ) )
321   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
322   PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
323   PORT_DIPSETTING(      0x0800, DEF_STR( Off ) )
324   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
325   PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
326   PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
327   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
328   PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
329   PORT_DIPSETTING(      0x2000, DEF_STR( Off ) )
330   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
331   PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
332   PORT_DIPSETTING(      0x4000, DEF_STR( Off ) )
333   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
334   PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
335   PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
336   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
337267INPUT_PORTS_END
338268
339269static int dreambal_bank_callback( const int bank )
r21661r21662
416346}
417347
418348// Ver 2.4 JPN 93.12.02
419GAME( 1993, dreambal, 0,     dreambal, dreambal, dreambal_state,  dreambal,  ROT0, "Data East", "Dream Ball (Japan V2.4)", GAME_NOT_WORKING )
349GAME( 1993, dreambal, 0,     dreambal, dreambal, dreambal_state,  dreambal,  ROT0, "NDK / Data East", "Dream Ball (Japan V2.4)", 0 ) // copyright shows NDK, board is Data East, code seems Data East-like too

Previous 199869 Revisions Next


© 1997-2024 The MAME Team