~ubuntu-branches/debian/wheezy/mame/wheezy

« back to all changes in this revision

Viewing changes to src/mame/drivers/jackal.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:
85
85
 
86
86
static READ8_HANDLER( topgunbl_rotary_r )
87
87
{
88
 
        return (1 << input_port_read_safe(space->machine, offset ? "DIAL1" : "DIAL0", 0x00)) ^ 0xff;
 
88
        return (1 << input_port_read_safe(space->machine(), offset ? "DIAL1" : "DIAL0", 0x00)) ^ 0xff;
89
89
}
90
90
 
91
91
static WRITE8_HANDLER( jackal_flipscreen_w )
92
92
{
93
 
        jackal_state *state = space->machine->driver_data<jackal_state>();
94
 
        state->irq_enable = data & 0x02;
95
 
        flip_screen_set(space->machine, data & 0x08);
 
93
        jackal_state *state = space->machine().driver_data<jackal_state>();
 
94
        state->m_irq_enable = data & 0x02;
 
95
        flip_screen_set(space->machine(), data & 0x08);
96
96
}
97
97
 
98
98
static READ8_HANDLER( jackal_zram_r )
99
99
{
100
 
        jackal_state *state = space->machine->driver_data<jackal_state>();
101
 
        return state->rambank[0x0020 + offset];
 
100
        jackal_state *state = space->machine().driver_data<jackal_state>();
 
101
        return state->m_rambank[0x0020 + offset];
102
102
}
103
103
 
104
104
 
105
105
static READ8_HANDLER( jackal_voram_r )
106
106
{
107
 
        jackal_state *state = space->machine->driver_data<jackal_state>();
108
 
        return state->rambank[0x2000 + offset];
 
107
        jackal_state *state = space->machine().driver_data<jackal_state>();
 
108
        return state->m_rambank[0x2000 + offset];
109
109
}
110
110
 
111
111
 
112
112
static READ8_HANDLER( jackal_spriteram_r )
113
113
{
114
 
        jackal_state *state = space->machine->driver_data<jackal_state>();
115
 
        return state->spritebank[0x3000 + offset];
 
114
        jackal_state *state = space->machine().driver_data<jackal_state>();
 
115
        return state->m_spritebank[0x3000 + offset];
116
116
}
117
117
 
118
118
 
119
119
static WRITE8_HANDLER( jackal_rambank_w )
120
120
{
121
 
        jackal_state *state = space->machine->driver_data<jackal_state>();
122
 
        UINT8 *rgn = space->machine->region("master")->base();
 
121
        jackal_state *state = space->machine().driver_data<jackal_state>();
 
122
        UINT8 *rgn = space->machine().region("master")->base();
123
123
 
124
124
        if (data & 0x04)
125
125
                popmessage("jackal_rambank_w %02x", data);
126
126
 
127
 
        coin_counter_w(space->machine, 0, data & 0x01);
128
 
        coin_counter_w(space->machine, 1, data & 0x02);
 
127
        coin_counter_w(space->machine(), 0, data & 0x01);
 
128
        coin_counter_w(space->machine(), 1, data & 0x02);
129
129
 
130
 
        state->spritebank = &rgn[((data & 0x08) << 13)];
131
 
        state->rambank = &rgn[((data & 0x10) << 12)];
132
 
        memory_set_bank(space->machine, "bank1", (data & 0x20) ? 1 : 0);
 
130
        state->m_spritebank = &rgn[((data & 0x08) << 13)];
 
131
        state->m_rambank = &rgn[((data & 0x10) << 12)];
 
132
        memory_set_bank(space->machine(), "bank1", (data & 0x20) ? 1 : 0);
133
133
}
134
134
 
135
135
 
136
136
static WRITE8_HANDLER( jackal_zram_w )
137
137
{
138
 
        jackal_state *state = space->machine->driver_data<jackal_state>();
139
 
        state->rambank[0x0020 + offset] = data;
 
138
        jackal_state *state = space->machine().driver_data<jackal_state>();
 
139
        state->m_rambank[0x0020 + offset] = data;
140
140
}
141
141
 
142
142
 
143
143
static WRITE8_HANDLER( jackal_voram_w )
144
144
{
145
 
        jackal_state *state = space->machine->driver_data<jackal_state>();
 
145
        jackal_state *state = space->machine().driver_data<jackal_state>();
146
146
 
147
147
        if ((offset & 0xf800) == 0)
148
 
                jackal_mark_tile_dirty(space->machine, offset & 0x3ff);
 
148
                jackal_mark_tile_dirty(space->machine(), offset & 0x3ff);
149
149
 
150
 
        state->rambank[0x2000 + offset] = data;
 
150
        state->m_rambank[0x2000 + offset] = data;
151
151
}
152
152
 
153
153
 
154
154
static WRITE8_HANDLER( jackal_spriteram_w )
155
155
{
156
 
        jackal_state *state = space->machine->driver_data<jackal_state>();
157
 
        state->spritebank[0x3000 + offset] = data;
 
156
        jackal_state *state = space->machine().driver_data<jackal_state>();
 
157
        state->m_spritebank[0x3000 + offset] = data;
158
158
}
159
159
 
160
160
/*************************************
163
163
 *
164
164
 *************************************/
165
165
 
166
 
static ADDRESS_MAP_START( master_map, ADDRESS_SPACE_PROGRAM, 8 )
167
 
        AM_RANGE(0x0000, 0x0003) AM_RAM AM_BASE_MEMBER(jackal_state, videoctrl) // scroll + other things
 
166
static ADDRESS_MAP_START( master_map, AS_PROGRAM, 8 )
 
167
        AM_RANGE(0x0000, 0x0003) AM_RAM AM_BASE_MEMBER(jackal_state, m_videoctrl)       // scroll + other things
168
168
        AM_RANGE(0x0004, 0x0004) AM_WRITE(jackal_flipscreen_w)
169
169
        AM_RANGE(0x0010, 0x0010) AM_READ_PORT("DSW1")
170
170
        AM_RANGE(0x0011, 0x0011) AM_READ_PORT("IN1")
182
182
        AM_RANGE(0xc000, 0xffff) AM_ROM
183
183
ADDRESS_MAP_END
184
184
 
185
 
static ADDRESS_MAP_START( slave_map, ADDRESS_SPACE_PROGRAM, 8 )
 
185
static ADDRESS_MAP_START( slave_map, AS_PROGRAM, 8 )
186
186
        AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
187
 
        AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_MEMBER(jackal_state, paletteram)        // self test only checks 0x4000-0x423f, 007327 should actually go up to 4fff
 
187
        AM_RANGE(0x4000, 0x43ff) AM_RAM AM_BASE_MEMBER(jackal_state, m_paletteram)      // self test only checks 0x4000-0x423f, 007327 should actually go up to 4fff
188
188
        AM_RANGE(0x6000, 0x605f) AM_RAM                                         // SOUND RAM (Self test check 0x6000-605f, 0x7c00-0x7fff)
189
189
        AM_RANGE(0x6060, 0x7fff) AM_RAM AM_SHARE("share1")
190
190
        AM_RANGE(0x8000, 0xffff) AM_ROM
317
317
 
318
318
static INTERRUPT_GEN( jackal_interrupt )
319
319
{
320
 
        jackal_state *state = device->machine->driver_data<jackal_state>();
 
320
        jackal_state *state = device->machine().driver_data<jackal_state>();
321
321
 
322
 
        if (state->irq_enable)
 
322
        if (state->m_irq_enable)
323
323
        {
324
 
                cpu_set_input_line(device, 0, HOLD_LINE);
325
 
                cpu_set_input_line(state->slavecpu, INPUT_LINE_NMI, PULSE_LINE);
 
324
                device_set_input_line(device, 0, HOLD_LINE);
 
325
                device_set_input_line(state->m_slavecpu, INPUT_LINE_NMI, PULSE_LINE);
326
326
        }
327
327
}
328
328
 
335
335
 
336
336
static MACHINE_START( jackal )
337
337
{
338
 
        jackal_state *state = machine->driver_data<jackal_state>();
339
 
        UINT8 *ROM = machine->region("master")->base();
 
338
        jackal_state *state = machine.driver_data<jackal_state>();
 
339
        UINT8 *ROM = machine.region("master")->base();
340
340
 
341
341
        memory_configure_bank(machine, "bank1", 0, 1, &ROM[0x04000], 0x8000);
342
342
        memory_configure_bank(machine, "bank1", 1, 1, &ROM[0x14000], 0x8000);
343
343
        memory_set_bank(machine, "bank1", 0);
344
344
 
345
 
        state->mastercpu = machine->device("master");
346
 
        state->slavecpu = machine->device("slave");
 
345
        state->m_mastercpu = machine.device("master");
 
346
        state->m_slavecpu = machine.device("slave");
347
347
 
348
 
        state_save_register_global(machine, state->irq_enable);
 
348
        state->save_item(NAME(state->m_irq_enable));
349
349
}
350
350
 
351
351
static MACHINE_RESET( jackal )
352
352
{
353
 
        jackal_state *state = machine->driver_data<jackal_state>();
354
 
        UINT8 *rgn = machine->region("master")->base();
 
353
        jackal_state *state = machine.driver_data<jackal_state>();
 
354
        UINT8 *rgn = machine.region("master")->base();
355
355
 
356
356
        // HACK: running at the nominal clock rate, music stops working
357
357
        // at the beginning of the game. This fixes it.
358
 
        machine->device("slave")->set_clock_scale(1.2f);
359
 
 
360
 
        state->rambank = rgn;
361
 
        state->spritebank = rgn;
362
 
 
363
 
        state->irq_enable = 0;
 
358
        machine.device("slave")->set_clock_scale(1.2f);
 
359
 
 
360
        state->m_rambank = rgn;
 
361
        state->m_spritebank = rgn;
 
362
 
 
363
        state->m_irq_enable = 0;
364
364
}
365
365
 
366
366
static MACHINE_CONFIG_START( jackal, jackal_state )
373
373
        MCFG_CPU_ADD("slave", M6809, MASTER_CLOCK/12) // verified on pcb
374
374
        MCFG_CPU_PROGRAM_MAP(slave_map)
375
375
 
376
 
        MCFG_QUANTUM_TIME(HZ(6000))
 
376
        MCFG_QUANTUM_TIME(attotime::from_hz(6000))
377
377
 
378
378
        MCFG_MACHINE_START(jackal)
379
379
        MCFG_MACHINE_RESET(jackal)
385
385
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
386
386
        MCFG_SCREEN_SIZE(32*8, 32*8)
387
387
        MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
 
388
        MCFG_SCREEN_UPDATE(jackal)
388
389
 
389
390
        MCFG_GFXDECODE(jackal)
390
391
        MCFG_PALETTE_LENGTH(0x300)
391
392
 
392
393
        MCFG_PALETTE_INIT(jackal)
393
394
        MCFG_VIDEO_START(jackal)
394
 
        MCFG_VIDEO_UPDATE(jackal)
395
395
 
396
396
        /* sound hardware */
397
397
        MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")