~ubuntu-branches/ubuntu/lucid/sdlmame/lucid

« back to all changes in this revision

Viewing changes to src/mame/drivers/albazg.c

  • Committer: Bazaar Package Importer
  • Author(s): Cesare Falco
  • Date: 2009-11-03 17:10:15 UTC
  • mfrom: (1.1.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20091103171015-6hop4ory5lxnumpn
Tags: 0.135-0ubuntu1
* New upstream release - Closes (LP: #403212)
* debian/watch: unstable releases are no longer detected
* mame.ini: added the cheat subdirectories to cheatpath so zipped
  cheatfiles will be searched too
* renamed crsshair subdirectory to crosshair to reflect upstream change
* mame.ini: renamed references to crosshair subdirectory (see above)

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
 from 1991.
11
11
 
12
12
TODO:
13
 
-Add coin counter,coin lock etc.;
14
 
-Controls dynamically changes if you turn on the Panel Type DIP-SW,I'd imagine that the "royal
15
 
 panel" is just a dedicated panel for this game;
 
13
-Player-2 inputs are unemulated;
16
14
-"Custom RAM" emulation: might be a (weak) protection device or related to the "Back-up RAM NG"
17
15
 msg that pops up at every start-up.
18
 
-Video emulation requires a major conversion to the HD46505SP C.R.T. chip (MC6845 clone)
 
16
-Video emulation requires a major conversion to the HD46505SP C.R.T. chip (MC6845 clone),
 
17
 there's an heavy x offsetting with the flip screen right now due of that (sets register
 
18
 0x0d to 0x80 when the screen is upside-down)
 
19
-You can actually configure the coin chutes / coin lockout active high/low (!), obviously
 
20
 MAME isn't really suitable for it at the current time;
19
21
 
20
22
============================================================================================
21
23
Code disassembling
55
57
#include "cpu/z80/z80.h"
56
58
#include "machine/eeprom.h"
57
59
#include "sound/ay8910.h"
 
60
#include "video/mc6845.h"
 
61
#include "machine/8255ppi.h"
58
62
 
59
63
static tilemap *bg_tilemap;
60
64
static UINT8 mux_data;
62
66
static UINT8 *cus_ram;
63
67
static UINT8 prot_lock;
64
68
 
65
 
 
 
69
#define MASTER_CLOCK XTAL_12MHz
66
70
 
67
71
static TILE_GET_INFO( y_get_bg_tile_info )
68
72
{
102
106
};
103
107
 
104
108
static GFXDECODE_START( yumefuda )
105
 
        GFXDECODE_ENTRY( "gfx1", 0x0000, charlayout,   0, 0x10 )
 
109
        GFXDECODE_ENTRY( "gfx1", 0x0000, charlayout,   0, 8 )
106
110
GFXDECODE_END
107
111
 
108
112
 
118
122
        tilemap_mark_tile_dirty(bg_tilemap,offset);
119
123
}
120
124
 
121
 
/*Custom RAM (Protection)*/
 
125
/*Custom RAM (Thrash Protection)*/
122
126
static READ8_HANDLER( custom_ram_r )
123
127
{
124
128
//  logerror("Custom RAM read at %02x PC = %x\n",offset+0xaf80,cpu_get_pc(space->cpu));
128
132
static WRITE8_HANDLER( custom_ram_w )
129
133
{
130
134
//  logerror("Custom RAM write at %02x : %02x PC = %x\n",offset+0xaf80,data,cpu_get_pc(space->cpu));
131
 
        if(prot_lock)   { cus_ram[offset] = data; }
 
135
        if(prot_lock) { cus_ram[offset] = data; }
132
136
}
133
137
 
134
138
/*this might be used as NVRAM commands btw*/
145
149
        eeprom_set_clock_line((data & 0x08) ? ASSERT_LINE : CLEAR_LINE);
146
150
}
147
151
 
148
 
static WRITE8_HANDLER( port_c0_w )
149
 
{
150
 
//  logerror("PC %04x (Port $c0) value written %02x\n",cpu_get_pc(space->cpu),data);
151
 
}
152
 
 
153
 
 
154
 
static READ8_HANDLER( eeprom_r )
155
 
{
156
 
        return ((~eeprom_read_bit() & 0x01)<<6) | (0xff & ~0x40);
157
 
}
158
 
 
159
 
static READ8_HANDLER( mux_r )
 
152
 
 
153
static READ8_DEVICE_HANDLER( eeprom_r )
 
154
{
 
155
        return ((~eeprom_read_bit() & 0x01)<<6) | (input_port_read(device->machine, "SYSTEM") & ~0x40);
 
156
}
 
157
 
 
158
static READ8_DEVICE_HANDLER( mux_r )
160
159
{
161
160
        switch(mux_data)
162
161
        {
163
 
                case 0x00: return input_port_read(space->machine, "IN0");
164
 
                case 0x01: return input_port_read(space->machine, "IN1");
165
 
                case 0x02: return input_port_read(space->machine, "IN2");
166
 
                case 0x04: return input_port_read(space->machine, "IN3");
167
 
                case 0x08: return input_port_read(space->machine, "IN4");
168
 
                case 0x10: return input_port_read(space->machine, "IN5");
169
 
                case 0x20: return input_port_read(space->machine, "IN6");
 
162
                case 0x00: return input_port_read(device->machine, "IN0");
 
163
                case 0x01: return input_port_read(device->machine, "IN1");
 
164
                case 0x02: return input_port_read(device->machine, "IN2");
 
165
                case 0x04: return input_port_read(device->machine, "IN3");
 
166
                case 0x08: return input_port_read(device->machine, "IN4");
 
167
                case 0x10: return input_port_read(device->machine, "IN5");
 
168
                case 0x20: return input_port_read(device->machine, "IN6");
170
169
        }
171
170
 
172
 
        //popmessage("%02x",mux_data);
173
171
        return 0xff;
174
172
}
175
173
 
176
 
static WRITE8_HANDLER( mux_w )
 
174
static WRITE8_DEVICE_HANDLER( mux_w )
177
175
{
178
176
        int new_bank = (data&0xc0)>>6;
179
177
 
182
180
        //0x14000 bonus game
183
181
        //0x16000 ?
184
182
        if(bank!=new_bank) {
185
 
                UINT8 *ROM = memory_region(space->machine, "maincpu");
 
183
                UINT8 *ROM = memory_region(device->machine, "maincpu");
186
184
                UINT32 bankaddress;
187
185
 
188
186
                bank = new_bank;
189
187
                bankaddress = 0x10000 + 0x2000 * bank;
190
 
                memory_set_bankptr(space->machine, 1, &ROM[bankaddress]);
 
188
                memory_set_bankptr(device->machine, 1, &ROM[bankaddress]);
191
189
        }
192
190
 
193
191
        mux_data = data & ~0xc0;
194
192
}
195
193
 
196
 
static WRITE8_HANDLER( yumefuda_videoregs_w )
 
194
static WRITE8_DEVICE_HANDLER( yumefuda_output_w )
197
195
{
198
 
        static UINT8 address;
199
 
 
200
 
        if(offset == 0)
201
 
                address = data;
202
 
        else
203
 
        {
204
 
                switch(address)
205
 
                {
206
 
                        case 0x0d: flip_screen_set(space->machine, data & 0x80); break;
207
 
                        default:
208
 
                                logerror("Video Register %02x called with %02x data\n",address,data);
209
 
                }
210
 
        }
 
196
        coin_counter_w(0,~data & 4);
 
197
        coin_counter_w(1,~data & 2);
 
198
        coin_lockout_global_w(data & 1);
 
199
        //data & 0x10 hopper-c (active LOW)
 
200
        //data & 0x08 divider (active HIGH)
 
201
        flip_screen_set(device->machine, ~data & 0x20);
211
202
}
212
203
 
213
204
static const ay8910_interface ay8910_config =
216
207
        AY8910_DEFAULT_LOADS,
217
208
        DEVCB_INPUT_PORT("DSW1"),
218
209
        DEVCB_INPUT_PORT("DSW2"),
219
 
        DEVCB_NULL,
 
210
        DEVCB_HANDLER(yumefuda_output_w),
220
211
        DEVCB_NULL
221
212
};
222
213
 
 
214
static const mc6845_interface mc6845_intf =
 
215
{
 
216
        "screen",       /* screen we are acting on */
 
217
        8,                      /* number of pixels per video memory address */
 
218
        NULL,           /* before pixel update callback */
 
219
        NULL,           /* row update callback */
 
220
        NULL,           /* after pixel update callback */
 
221
        DEVCB_NULL,     /* callback for display state changes */
 
222
        DEVCB_NULL,     /* callback for cursor state changes */
 
223
        DEVCB_NULL,     /* HSYNC callback */
 
224
        DEVCB_NULL,     /* VSYNC callback */
 
225
        NULL            /* update address callback */
 
226
};
 
227
 
 
228
static const ppi8255_interface ppi8255_intf =
 
229
{
 
230
        DEVCB_NULL,                                             /* Port A read */
 
231
        DEVCB_HANDLER(eeprom_r),                /* Port B read */
 
232
        DEVCB_HANDLER(mux_r),                   /* Port C read */
 
233
        DEVCB_HANDLER(mux_w),                   /* Port A write */
 
234
        DEVCB_NULL,                                             /* Port B write */
 
235
        DEVCB_NULL                                              /* Port C write */
 
236
};
 
237
 
223
238
/***************************************************************************************/
224
239
 
225
240
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
237
252
 
238
253
static ADDRESS_MAP_START( port_map, ADDRESS_SPACE_IO, 8 )
239
254
        ADDRESS_MAP_GLOBAL_MASK(0xff)
240
 
        AM_RANGE(0x00, 0x01) AM_WRITE(yumefuda_videoregs_w) // HD46505SP video registers
 
255
        AM_RANGE(0x00, 0x00) AM_DEVWRITE("crtc", mc6845_address_w)
 
256
        AM_RANGE(0x01, 0x01) AM_DEVWRITE("crtc", mc6845_register_w)
241
257
        AM_RANGE(0x40, 0x40) AM_DEVREAD("ay", ay8910_r)
242
258
        AM_RANGE(0x40, 0x41) AM_DEVWRITE("ay", ay8910_address_data_w)
243
 
        AM_RANGE(0x80, 0x80) AM_WRITE(mux_w)
244
 
        AM_RANGE(0x81, 0x81) AM_READ(eeprom_r)
245
 
        AM_RANGE(0x82, 0x82) AM_READ(mux_r)
246
 
        AM_RANGE(0xc0, 0xc0) AM_WRITE(port_c0_w) // video timing
 
259
        AM_RANGE(0x80, 0x83) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
 
260
        AM_RANGE(0xc0, 0xc0) AM_WRITE(watchdog_reset_w)
247
261
ADDRESS_MAP_END
248
262
 
249
263
static MACHINE_RESET( yumefuda )
256
270
static MACHINE_DRIVER_START( yumefuda )
257
271
 
258
272
        /* basic machine hardware */
259
 
        MDRV_CPU_ADD("maincpu", Z80 , 6000000) /*???*/
 
273
        MDRV_CPU_ADD("maincpu", Z80 , MASTER_CLOCK/2) /* xtal is 12 Mhz, unknown divider*/
260
274
        MDRV_CPU_PROGRAM_MAP(main_map)
261
275
        MDRV_CPU_IO_MAP(port_map)
262
276
        MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
264
278
        MDRV_MACHINE_RESET(yumefuda)
265
279
        MDRV_NVRAM_HANDLER(93C46)
266
280
 
 
281
        MDRV_WATCHDOG_VBLANK_INIT(8) // timing is unknown
 
282
 
 
283
        MDRV_PPI8255_ADD( "ppi8255_0", ppi8255_intf )
 
284
 
267
285
        /* video hardware */
268
286
        MDRV_SCREEN_ADD("screen", RASTER)
269
287
        MDRV_SCREEN_REFRESH_RATE(60)
272
290
        MDRV_SCREEN_SIZE(32*8, 32*8)
273
291
        MDRV_SCREEN_VISIBLE_AREA(0, 32*8-1, 0, 32*8-1)
274
292
 
 
293
        MDRV_MC6845_ADD("crtc", H46505, MASTER_CLOCK/16, mc6845_intf)   /* hand tuned to get ~60 fps */
 
294
 
275
295
        MDRV_GFXDECODE( yumefuda )
276
296
        MDRV_PALETTE_LENGTH(0x80)
277
297
 
281
301
        /* sound hardware */
282
302
        MDRV_SPEAKER_STANDARD_MONO("mono")
283
303
 
284
 
        MDRV_SOUND_ADD("ay", AY8910, 1500000)
 
304
        MDRV_SOUND_ADD("ay", AY8910, MASTER_CLOCK/16) /* guessed to use the same xtal as the crtc */
285
305
        MDRV_SOUND_CONFIG(ay8910_config)
286
306
        MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
287
307
MACHINE_DRIVER_END
289
309
/***************************************************************************************/
290
310
 
291
311
static INPUT_PORTS_START( yumefuda )
292
 
        PORT_START( "IN0")
 
312
        PORT_START("SYSTEM")
 
313
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Reset SW") //doesn't work?
 
314
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Meter SW")
 
315
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
 
316
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Coin Out")
 
317
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Pay Out")
 
318
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_NAME("Init SW")
 
319
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) //eeprom read bit
 
320
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
 
321
 
 
322
        PORT_START("IN0")
293
323
        PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 Flip-Flop")  PORT_CODE(KEYCODE_F)
294
 
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Coupon Credit") PORT_CODE(KEYCODE_7) PORT_IMPULSE(2) //coupon
295
 
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Note Credit")   PORT_CODE(KEYCODE_6) PORT_IMPULSE(2) //note
 
324
        PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Coupon") PORT_IMPULSE(2) //coupon
 
325
        PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note") PORT_IMPULSE(2)  //note
296
326
        PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2)
297
327
        PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
298
328
 
299
 
        PORT_START( "IN1")
 
329
        PORT_START("IN1")
300
330
        PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
301
331
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Button 1") PORT_CODE(KEYCODE_Z) PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x08)
302
332
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P1 Button 2") PORT_CODE(KEYCODE_X) PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x08)
307
337
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("P1 Start") PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x00)
308
338
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x00)
309
339
 
310
 
        PORT_START( "IN2")
 
340
        PORT_START("IN2")
311
341
        PORT_BIT( 0x0f, IP_ACTIVE_LOW, IPT_UNUSED )
312
342
        PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("P1 Button 5") PORT_CODE(KEYCODE_B) PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x08)
313
343
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("P1 No Button") PORT_CODE(KEYCODE_A) PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x08)
318
348
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Button 1") PORT_CODE(KEYCODE_Z) PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x00)
319
349
        PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("P1 Button 4") PORT_CODE(KEYCODE_V) PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x00)
320
350
 
321
 
        PORT_START( "IN3")
 
351
        PORT_START("IN3")
322
352
        PORT_BIT( 0x9f, IP_ACTIVE_LOW, IPT_UNUSED )
323
353
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("P1 Start") PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x08)
324
354
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("P1 BET Button") PORT_CODE(KEYCODE_2) PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x08)
326
356
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("P1 Button 5") PORT_CODE(KEYCODE_B) PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x00)
327
357
 
328
358
        /* Some bits of these three are actually used if you use the Royal Panel type */
329
 
        PORT_START( "IN4")
 
359
        PORT_START("IN4")
330
360
        PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
331
361
 
332
 
    PORT_START( "IN5")
 
362
        PORT_START("IN5")
333
363
        PORT_BIT( 0x9f, IP_ACTIVE_LOW, IPT_UNUSED )
334
364
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x08)
335
365
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x08)
336
366
        PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("P1 No Button") PORT_CODE(KEYCODE_A) PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x00)
337
367
        PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_NAME("P1 Yes Button") PORT_CODE(KEYCODE_Q) PORT_CONDITION("DSW2", 0x08, PORTCOND_EQUALS, 0x00)
338
368
 
339
 
    PORT_START( "IN6")
 
369
        PORT_START("IN6")
340
370
        PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
341
371
 
342
372
    /*Unused,on the PCB there's just one bank*/
343
 
    PORT_START("DSW1")
 
373
        PORT_START("DSW1")
344
374
        PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
345
375
 
346
376
        /*Added by translating the manual*/
347
 
    PORT_START("DSW2")
 
377
        PORT_START("DSW2")
348
378
        PORT_DIPNAME( 0x01, 0x01, "Learn Mode" )//SW Dip-Switches
349
379
        PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
350
380
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
351
 
        PORT_DIPNAME( 0x02, 0x02, DEF_STR( Service_Mode ) )
352
 
        PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
353
 
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
381
        PORT_SERVICE( 0x02, IP_ACTIVE_LOW )
354
382
        PORT_DIPNAME( 0x04, 0x04, "Hopper Payout" )
355
383
        PORT_DIPSETTING(    0x04, "Hanafuda Type" )//hanaawase
356
384
        PORT_DIPSETTING(    0x00, "Royal Type" )
357
 
        PORT_DIPNAME( 0x08, 0x08, "Panel Type" )
358
 
    PORT_DIPSETTING(    0x08, "Hanafuda Panel" )//hanaawase
359
 
    PORT_DIPSETTING(    0x00, "Royal Panel" )
360
 
    PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
361
 
    PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
362
 
    PORT_DIPSETTING(    0x00, DEF_STR( On ) )
363
 
    PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
364
 
    PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
365
 
    PORT_DIPSETTING(    0x00, DEF_STR( On ) )
366
 
    PORT_DIPNAME( 0x40, 0x00, DEF_STR( Flip_Screen ) )//Screen Orientation
367
 
    PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
368
 
    PORT_DIPSETTING(    0x00, DEF_STR( On ) )
369
 
    PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )//Screen Flip
370
 
    PORT_DIPSETTING(    0x80, DEF_STR( Upright ) )
371
 
    PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )//pressing Flip-Flop button makes the screen flip
 
385
        PORT_DIPNAME( 0x08, 0x08, "Panel Type" )
 
386
        PORT_DIPSETTING(    0x08, "Hanafuda Panel" )//hanaawase
 
387
        PORT_DIPSETTING(    0x00, "Royal Panel" )
 
388
        PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unused ) )
 
389
        PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
 
390
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
391
        PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unused ) )
 
392
        PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
 
393
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
394
        PORT_DIPNAME( 0x40, 0x40, DEF_STR( Flip_Screen ) )//Screen Orientation
 
395
        PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
 
396
        PORT_DIPSETTING(    0x00, DEF_STR( On ) )
 
397
        PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )//Screen Flip
 
398
        PORT_DIPSETTING(    0x80, DEF_STR( Upright ) )
 
399
        PORT_DIPSETTING(    0x00, DEF_STR( Cocktail ) )//pressing Flip-Flop button makes the screen flip
372
400
INPUT_PORTS_END
373
401
 
374
402
/***************************************************************************************/
386
414
        ROM_LOAD("zg001003.u3", 0xc000, 0x4000, CRC(5822ff27) SHA1(d40fa0790de3c912f770ef8f610bd8c42bc3500f))
387
415
ROM_END
388
416
 
389
 
GAME( 1991, yumefuda, 0, yumefuda, yumefuda, 0, ROT0, "Alba", "(Medal) Yumefuda [BET]", 0 )
 
417
GAME( 1991, yumefuda, 0, yumefuda, yumefuda, 0, ROT0, "Alba", "(Medal) Yumefuda [BET]", GAME_NO_COCKTAIL )