~ubuntu-branches/debian/sid/mame/sid

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Jordi Mallach, Emmanuel Kasper, Félix Arreola Rodríguez, Jordi Mallach
  • Date: 2011-05-11 21:06:50 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20110511210650-jizvh8a6x117y9hr
Tags: 0.142-1
[ Emmanuel Kasper ]
* New upstream release
* Set NOWERROR=1 to allow compiling with gcc-4.6
* Remove fix_powerpc_build.patch, as upstream has taken it in this release
* Add gnome-video-arcade front end as a suggested package

[ Félix Arreola Rodríguez ]
* Add kfreebsd-build.patch to quilt series, to fix build on kfreebsd

[ Jordi Mallach ]
* Remove unneeded and bogus addition of --with-quilt to the dh invocation.
* Add Cesare Falco (long time Ubuntu maintainer) to Uploaders, and wrap
  them into multiple lines.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 
23
23
static INTERRUPT_GEN( flkatck_interrupt )
24
24
{
25
 
        flkatck_state *state = device->machine->driver_data<flkatck_state>();
 
25
        flkatck_state *state = device->machine().driver_data<flkatck_state>();
26
26
 
27
 
        if (state->irq_enabled)
28
 
                cpu_set_input_line(device, HD6309_IRQ_LINE, HOLD_LINE);
 
27
        if (state->m_irq_enabled)
 
28
                device_set_input_line(device, HD6309_IRQ_LINE, HOLD_LINE);
29
29
}
30
30
 
31
31
static WRITE8_HANDLER( flkatck_bankswitch_w )
32
32
{
33
33
        /* bits 3-4: coin counters */
34
 
        coin_counter_w(space->machine, 0, data & 0x08);
35
 
        coin_counter_w(space->machine, 1, data & 0x10);
 
34
        coin_counter_w(space->machine(), 0, data & 0x08);
 
35
        coin_counter_w(space->machine(), 1, data & 0x10);
36
36
 
37
37
        /* bits 0-1: bank # */
38
38
        if ((data & 0x03) != 0x03)      /* for safety */
39
 
                memory_set_bank(space->machine, "bank1", data & 0x03);
 
39
                memory_set_bank(space->machine(), "bank1", data & 0x03);
40
40
}
41
41
 
42
42
static READ8_HANDLER( flkatck_ls138_r )
47
47
        {
48
48
                case 0x00:
49
49
                        if (offset & 0x02)
50
 
                                data = input_port_read(space->machine, (offset & 0x01) ? "COIN" : "DSW3");
 
50
                                data = input_port_read(space->machine(), (offset & 0x01) ? "COIN" : "DSW3");
51
51
                        else
52
 
                                data = input_port_read(space->machine, (offset & 0x01) ? "P2" : "P1");
 
52
                                data = input_port_read(space->machine(), (offset & 0x01) ? "P2" : "P1");
53
53
                        break;
54
54
                case 0x01:
55
55
                        if (offset & 0x02)
56
 
                                data = input_port_read(space->machine, (offset & 0x01) ? "DSW1" : "DSW2");
 
56
                                data = input_port_read(space->machine(), (offset & 0x01) ? "DSW1" : "DSW2");
57
57
                        break;
58
58
        }
59
59
 
62
62
 
63
63
static WRITE8_HANDLER( flkatck_ls138_w )
64
64
{
65
 
        flkatck_state *state = space->machine->driver_data<flkatck_state>();
 
65
        flkatck_state *state = space->machine().driver_data<flkatck_state>();
66
66
 
67
67
        switch ((offset & 0x1c) >> 2)
68
68
        {
73
73
                        soundlatch_w(space, 0, data);
74
74
                        break;
75
75
                case 0x06:      /* Cause interrupt on audio CPU */
76
 
                        cpu_set_input_line(state->audiocpu, 0, HOLD_LINE);
 
76
                        device_set_input_line(state->m_audiocpu, 0, HOLD_LINE);
77
77
                        break;
78
78
                case 0x07:      /* watchdog reset */
79
79
                        watchdog_reset_w(space, 0, data);
84
84
/* Protection - an external multiplyer connected to the sound CPU */
85
85
static READ8_HANDLER( multiply_r )
86
86
{
87
 
        flkatck_state *state = space->machine->driver_data<flkatck_state>();
88
 
        return (state->multiply_reg[0] * state->multiply_reg[1]) & 0xff;
 
87
        flkatck_state *state = space->machine().driver_data<flkatck_state>();
 
88
        return (state->m_multiply_reg[0] * state->m_multiply_reg[1]) & 0xff;
89
89
}
90
90
 
91
91
static WRITE8_HANDLER( multiply_w )
92
92
{
93
 
        flkatck_state *state = space->machine->driver_data<flkatck_state>();
94
 
        state->multiply_reg[offset] = data;
 
93
        flkatck_state *state = space->machine().driver_data<flkatck_state>();
 
94
        state->m_multiply_reg[offset] = data;
95
95
}
96
96
 
97
97
 
98
 
static ADDRESS_MAP_START( flkatck_map, ADDRESS_SPACE_PROGRAM, 8 )
 
98
static ADDRESS_MAP_START( flkatck_map, AS_PROGRAM, 8 )
99
99
        AM_RANGE(0x0000, 0x0007) AM_RAM_WRITE(flkatck_k007121_regs_w)                                                                   /* 007121 registers */
100
100
        AM_RANGE(0x0008, 0x03ff) AM_RAM                                                                                                                                 /* RAM */
101
101
        AM_RANGE(0x0400, 0x041f) AM_READWRITE(flkatck_ls138_r, flkatck_ls138_w)                                                 /* inputs, DIPS, bankswitch, counters, sound command */
102
102
        AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_le_w) AM_BASE_GENERIC(paletteram)     /* palette */
103
103
        AM_RANGE(0x1000, 0x1fff) AM_RAM                                                                                                                                 /* RAM */
104
 
        AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(flkatck_k007121_w) AM_BASE_MEMBER(flkatck_state, k007121_ram)                                     /* Video RAM (007121) */
 
104
        AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(flkatck_k007121_w) AM_BASE_MEMBER(flkatck_state, m_k007121_ram)                                   /* Video RAM (007121) */
105
105
        AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank1")                                                                                                                    /* banked ROM */
106
106
        AM_RANGE(0x6000, 0xffff) AM_ROM                                                                                                                                 /* ROM */
107
107
ADDRESS_MAP_END
108
108
 
109
 
static ADDRESS_MAP_START( flkatck_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
 
109
static ADDRESS_MAP_START( flkatck_sound_map, AS_PROGRAM, 8 )
110
110
        AM_RANGE(0x0000, 0x7fff) AM_ROM                                                                                         /* ROM */
111
111
        AM_RANGE(0x8000, 0x87ff) AM_RAM                                                                                         /* RAM */
112
112
        AM_RANGE(0x9000, 0x9000) AM_READWRITE(multiply_r, multiply_w)                           /* ??? */
197
197
 
198
198
static MACHINE_START( flkatck )
199
199
{
200
 
        flkatck_state *state = machine->driver_data<flkatck_state>();
201
 
        UINT8 *ROM = machine->region("maincpu")->base();
 
200
        flkatck_state *state = machine.driver_data<flkatck_state>();
 
201
        UINT8 *ROM = machine.region("maincpu")->base();
202
202
 
203
203
        memory_configure_bank(machine, "bank1", 0, 3, &ROM[0x10000], 0x2000);
204
204
 
205
 
        state->audiocpu = machine->device("audiocpu");
206
 
        state->k007121 = machine->device("k007121");
 
205
        state->m_audiocpu = machine.device("audiocpu");
 
206
        state->m_k007121 = machine.device("k007121");
207
207
 
208
 
        state_save_register_global(machine, state->irq_enabled);
209
 
        state_save_register_global_array(machine, state->multiply_reg);
210
 
        state_save_register_global(machine, state->flipscreen);
 
208
        state->save_item(NAME(state->m_irq_enabled));
 
209
        state->save_item(NAME(state->m_multiply_reg));
 
210
        state->save_item(NAME(state->m_flipscreen));
211
211
}
212
212
 
213
213
static MACHINE_RESET( flkatck )
214
214
{
215
 
        flkatck_state *state = machine->driver_data<flkatck_state>();
216
 
 
217
 
        k007232_set_bank(machine->device("konami"), 0, 1);
218
 
 
219
 
        state->irq_enabled = 0;
220
 
        state->multiply_reg[0] = 0;
221
 
        state->multiply_reg[1] = 0;
222
 
        state->flipscreen = 0;
 
215
        flkatck_state *state = machine.driver_data<flkatck_state>();
 
216
 
 
217
        k007232_set_bank(machine.device("konami"), 0, 1);
 
218
 
 
219
        state->m_irq_enabled = 0;
 
220
        state->m_multiply_reg[0] = 0;
 
221
        state->m_multiply_reg[1] = 0;
 
222
        state->m_flipscreen = 0;
223
223
}
224
224
 
225
225
static MACHINE_CONFIG_START( flkatck, flkatck_state )
232
232
        MCFG_CPU_ADD("audiocpu", Z80,3579545)   /* NEC D780C-1, 3.579545 MHz */
233
233
        MCFG_CPU_PROGRAM_MAP(flkatck_sound_map)
234
234
 
235
 
        MCFG_QUANTUM_TIME(HZ(600))
 
235
        MCFG_QUANTUM_TIME(attotime::from_hz(600))
236
236
 
237
237
        MCFG_MACHINE_START(flkatck)
238
238
        MCFG_MACHINE_RESET(flkatck)
244
244
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
245
245
        MCFG_SCREEN_SIZE(37*8, 32*8)
246
246
        MCFG_SCREEN_VISIBLE_AREA(0*8, 35*8-1, 2*8, 30*8-1)
 
247
        MCFG_SCREEN_UPDATE(flkatck)
247
248
 
248
249
        MCFG_GFXDECODE(flkatck)
249
250
        MCFG_PALETTE_LENGTH(512)
250
251
 
251
252
        MCFG_VIDEO_START(flkatck)
252
 
        MCFG_VIDEO_UPDATE(flkatck)
253
253
 
254
254
        MCFG_K007121_ADD("k007121")
255
255