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

« back to all changes in this revision

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

  • Committer: Package Import Robot
  • Author(s): Jordi Mallach, Emmanuel Kasper, Jordi Mallach
  • Date: 2012-06-05 20:02:23 UTC
  • mfrom: (0.3.1) (0.1.4)
  • Revision ID: package-import@ubuntu.com-20120605200223-gnlpogjrg6oqe9md
Tags: 0.146-1
[ Emmanuel Kasper ]
* New upstream release
* Drop patch to fix man pages section and patches to link with flac 
  and jpeg system lib: all this has been pushed upstream by Cesare Falco
* Add DM-Upload-Allowed: yes field.

[ Jordi Mallach ]
* Create a "gnu" TARGETOS stanza that defines NO_AFFINITY_NP.
* Stop setting TARGETOS to "unix" in d/rules. It should be autodetected,
  and set to the appropriate value.
* mame_manpage_section.patch: Change mame's manpage section to 6 (games),
  in the TH declaration.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
/*******************************************************************/
24
24
 
25
25
 
26
 
static READ16_HANDLER( m68k_shared_word_r )
 
26
READ16_MEMBER(tceptor_state::m68k_shared_word_r)
27
27
{
28
 
        tceptor_state *state = space->machine().driver_data<tceptor_state>();
29
 
        return state->m_m68k_shared_ram[offset];
 
28
        return m_m68k_shared_ram[offset];
30
29
}
31
30
 
32
 
static WRITE16_HANDLER( m68k_shared_word_w )
 
31
WRITE16_MEMBER(tceptor_state::m68k_shared_word_w)
33
32
{
34
 
        tceptor_state *state = space->machine().driver_data<tceptor_state>();
35
33
        if (ACCESSING_BITS_0_7)
36
 
                state->m_m68k_shared_ram[offset] = data & 0xff;
 
34
                m_m68k_shared_ram[offset] = data & 0xff;
37
35
}
38
36
 
39
37
 
48
46
                state->m_m6809_irq_enable = 1;
49
47
}
50
48
 
51
 
static WRITE8_HANDLER( m6809_irq_enable_w )
 
49
WRITE8_MEMBER(tceptor_state::m6809_irq_enable_w)
52
50
{
53
 
        tceptor_state *state = space->machine().driver_data<tceptor_state>();
54
 
        state->m_m6809_irq_enable = 1;
 
51
        m_m6809_irq_enable = 1;
55
52
}
56
53
 
57
 
static WRITE8_HANDLER( m6809_irq_disable_w )
 
54
WRITE8_MEMBER(tceptor_state::m6809_irq_disable_w)
58
55
{
59
 
        tceptor_state *state = space->machine().driver_data<tceptor_state>();
60
 
        state->m_m6809_irq_enable = 0;
 
56
        m_m6809_irq_enable = 0;
61
57
}
62
58
 
63
59
 
68
64
                device_set_input_line(device, M68K_IRQ_1, HOLD_LINE);
69
65
}
70
66
 
71
 
static WRITE16_HANDLER( m68k_irq_enable_w )
 
67
WRITE16_MEMBER(tceptor_state::m68k_irq_enable_w)
72
68
{
73
 
        tceptor_state *state = space->machine().driver_data<tceptor_state>();
74
 
        state->m_m68k_irq_enable = data;
 
69
        m_m68k_irq_enable = data;
75
70
}
76
71
 
77
72
 
84
79
                state->m_mcu_irq_enable = 1;
85
80
}
86
81
 
87
 
static WRITE8_HANDLER( mcu_irq_enable_w )
 
82
WRITE8_MEMBER(tceptor_state::mcu_irq_enable_w)
88
83
{
89
 
        tceptor_state *state = space->machine().driver_data<tceptor_state>();
90
 
        state->m_mcu_irq_enable = 1;
 
84
        m_mcu_irq_enable = 1;
91
85
}
92
86
 
93
 
static WRITE8_HANDLER( mcu_irq_disable_w )
 
87
WRITE8_MEMBER(tceptor_state::mcu_irq_disable_w)
94
88
{
95
 
        tceptor_state *state = space->machine().driver_data<tceptor_state>();
96
 
        state->m_mcu_irq_enable = 0;
 
89
        m_mcu_irq_enable = 0;
97
90
}
98
91
 
99
92
 
136
129
        return r;
137
130
}
138
131
 
139
 
static READ8_HANDLER( dsw0_r )
140
 
{
141
 
        return fix_input0(input_port_read(space->machine(), "DSW1"), input_port_read(space->machine(), "DSW2"));
142
 
}
143
 
 
144
 
static READ8_HANDLER( dsw1_r )
145
 
{
146
 
        return fix_input1(input_port_read(space->machine(), "DSW1"), input_port_read(space->machine(), "DSW2"));
147
 
}
148
 
 
149
 
static READ8_HANDLER( input0_r )
150
 
{
151
 
        return fix_input0(input_port_read(space->machine(), "BUTTONS"), input_port_read(space->machine(), "SERVICE"));
152
 
}
153
 
 
154
 
static READ8_HANDLER( input1_r )
155
 
{
156
 
        return fix_input1(input_port_read(space->machine(), "BUTTONS"), input_port_read(space->machine(), "SERVICE"));
157
 
}
158
 
 
159
 
static READ8_HANDLER( readFF )
 
132
READ8_MEMBER(tceptor_state::dsw0_r)
 
133
{
 
134
        return fix_input0(ioport("DSW1")->read(), ioport("DSW2")->read());
 
135
}
 
136
 
 
137
READ8_MEMBER(tceptor_state::dsw1_r)
 
138
{
 
139
        return fix_input1(ioport("DSW1")->read(), ioport("DSW2")->read());
 
140
}
 
141
 
 
142
READ8_MEMBER(tceptor_state::input0_r)
 
143
{
 
144
        return fix_input0(ioport("BUTTONS")->read(), ioport("SERVICE")->read());
 
145
}
 
146
 
 
147
READ8_MEMBER(tceptor_state::input1_r)
 
148
{
 
149
        return fix_input1(ioport("BUTTONS")->read(), ioport("SERVICE")->read());
 
150
}
 
151
 
 
152
READ8_MEMBER(tceptor_state::readFF)
160
153
{
161
154
        return 0xff;
162
155
}
163
156
 
164
157
/*******************************************************************/
165
158
 
166
 
static ADDRESS_MAP_START( m6809_map, AS_PROGRAM, 8 )
 
159
static ADDRESS_MAP_START( m6809_map, AS_PROGRAM, 8, tceptor_state )
167
160
        AM_RANGE(0x0000, 0x17ff) AM_RAM
168
 
        AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(tceptor_tile_ram_w) AM_BASE_MEMBER(tceptor_state, m_tile_ram)
169
 
        AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(tceptor_tile_attr_w) AM_BASE_MEMBER(tceptor_state, m_tile_attr)
170
 
        AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(tceptor_bg_ram_w) AM_BASE_MEMBER(tceptor_state, m_bg_ram) // background (VIEW RAM)
171
 
        AM_RANGE(0x4000, 0x43ff) AM_DEVREADWRITE("namco", namcos1_cus30_r, namcos1_cus30_w)
 
161
        AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(tceptor_tile_ram_w) AM_SHARE("tile_ram")
 
162
        AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(tceptor_tile_attr_w) AM_SHARE("tile_attr")
 
163
        AM_RANGE(0x2000, 0x3fff) AM_RAM_WRITE(tceptor_bg_ram_w) AM_SHARE("bg_ram")      // background (VIEW RAM)
 
164
        AM_RANGE(0x4000, 0x43ff) AM_DEVREADWRITE_LEGACY("namco", namcos1_cus30_r, namcos1_cus30_w)
172
165
        AM_RANGE(0x4800, 0x4800) AM_WRITENOP                            // 3D scope left/right?
173
166
        AM_RANGE(0x4f00, 0x4f00) AM_READNOP                             // unknown
174
167
        AM_RANGE(0x4f01, 0x4f01) AM_READ_PORT("PEDAL")                  // analog input (accel)
176
169
        AM_RANGE(0x4f03, 0x4f03) AM_READ_PORT("STICKY")                 // analog input (up/down)
177
170
        AM_RANGE(0x4f00, 0x4f03) AM_WRITENOP                            // analog input control?
178
171
        AM_RANGE(0x5000, 0x5006) AM_WRITE(tceptor_bg_scroll_w)  // bg scroll
179
 
        AM_RANGE(0x6000, 0x7fff) AM_RAM AM_SHARE("share1") AM_BASE_MEMBER(tceptor_state, m_m68k_shared_ram) // COM RAM
 
172
        AM_RANGE(0x6000, 0x7fff) AM_RAM AM_SHARE("m68k_shared_ram") // COM RAM
180
173
        AM_RANGE(0x8000, 0x8000) AM_WRITE(m6809_irq_disable_w)
181
174
        AM_RANGE(0x8800, 0x8800) AM_WRITE(m6809_irq_enable_w)
182
175
        AM_RANGE(0x8000, 0xffff) AM_ROM
183
176
ADDRESS_MAP_END
184
177
 
185
178
 
186
 
static ADDRESS_MAP_START( m6502_a_map, AS_PROGRAM, 8 )
 
179
static ADDRESS_MAP_START( m6502_a_map, AS_PROGRAM, 8, tceptor_state )
187
180
        AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE("share2")
188
181
        AM_RANGE(0x0100, 0x01ff) AM_RAM
189
182
        AM_RANGE(0x0200, 0x02ff) AM_RAM
190
183
        AM_RANGE(0x0300, 0x030f) AM_RAM
191
 
        AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym2151_r, ym2151_w)
 
184
        AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
192
185
        AM_RANGE(0x3000, 0x30ff) AM_RAM AM_SHARE("share3")
193
186
        AM_RANGE(0x3c01, 0x3c01) AM_WRITEONLY
194
187
        AM_RANGE(0x8000, 0xffff) AM_ROM
195
188
ADDRESS_MAP_END
196
189
 
197
190
 
198
 
static ADDRESS_MAP_START( m6502_b_map, AS_PROGRAM, 8 )
 
191
static ADDRESS_MAP_START( m6502_b_map, AS_PROGRAM, 8, tceptor_state )
199
192
        AM_RANGE(0x0000, 0x00ff) AM_RAM AM_SHARE("share2")
200
193
        AM_RANGE(0x0100, 0x01ff) AM_RAM
201
 
        AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("dac", voice_w)                    // voice data
 
194
        AM_RANGE(0x4000, 0x4000) AM_DEVWRITE_LEGACY("dac", voice_w)                     // voice data
202
195
        AM_RANGE(0x5000, 0x5000) AM_WRITEONLY                   // voice ctrl??
203
196
        AM_RANGE(0x8000, 0xffff) AM_ROM
204
197
ADDRESS_MAP_END
205
198
 
206
199
 
207
 
static ADDRESS_MAP_START( m68k_map, AS_PROGRAM, 16 )
 
200
static ADDRESS_MAP_START( m68k_map, AS_PROGRAM, 16, tceptor_state )
208
201
        AM_RANGE(0x000000, 0x00ffff) AM_ROM                     // M68K ERROR 1
209
202
        AM_RANGE(0x100000, 0x10ffff) AM_ROM                     // not sure
210
203
        AM_RANGE(0x200000, 0x203fff) AM_RAM                     // M68K ERROR 0
211
204
        AM_RANGE(0x300000, 0x300001) AM_WRITEONLY
212
 
        AM_RANGE(0x400000, 0x4001ff) AM_WRITEONLY AM_BASE_MEMBER(tceptor_state, m_sprite_ram)
213
 
        AM_RANGE(0x500000, 0x51ffff) AM_WRITE(namco_road16_w)
 
205
        AM_RANGE(0x400000, 0x4001ff) AM_WRITEONLY AM_SHARE("sprite_ram")
 
206
        AM_RANGE(0x500000, 0x51ffff) AM_WRITE_LEGACY(namco_road16_w)
214
207
        AM_RANGE(0x600000, 0x600001) AM_WRITE(m68k_irq_enable_w)        // not sure
215
 
        AM_RANGE(0x700000, 0x703fff) AM_READWRITE(m68k_shared_word_r, m68k_shared_word_w) AM_SHARE("share1")
 
208
        AM_RANGE(0x700000, 0x703fff) AM_READWRITE(m68k_shared_word_r, m68k_shared_word_w) AM_SHARE("m68k_shared_ram")
216
209
ADDRESS_MAP_END
217
210
 
218
211
 
219
 
static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8 )
220
 
        AM_RANGE(0x0000, 0x001f) AM_READWRITE(m6801_io_r, m6801_io_w)
 
212
static ADDRESS_MAP_START( mcu_map, AS_PROGRAM, 8, tceptor_state )
 
213
        AM_RANGE(0x0000, 0x001f) AM_READWRITE_LEGACY(m6801_io_r, m6801_io_w)
221
214
        AM_RANGE(0x0080, 0x00ff) AM_RAM
222
 
        AM_RANGE(0x1000, 0x13ff) AM_DEVREADWRITE("namco", namcos1_cus30_r, namcos1_cus30_w)
 
215
        AM_RANGE(0x1000, 0x13ff) AM_DEVREADWRITE_LEGACY("namco", namcos1_cus30_r, namcos1_cus30_w)
223
216
        AM_RANGE(0x1400, 0x154d) AM_RAM
224
217
        AM_RANGE(0x17c0, 0x17ff) AM_RAM
225
218
        AM_RANGE(0x2000, 0x20ff) AM_RAM AM_SHARE("share3")
236
229
ADDRESS_MAP_END
237
230
 
238
231
 
239
 
static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8 )
 
232
static ADDRESS_MAP_START( mcu_io_map, AS_IO, 8, tceptor_state )
240
233
        AM_RANGE(M6801_PORT1, M6801_PORT1) AM_READ(readFF) AM_WRITENOP
241
234
        AM_RANGE(M6801_PORT2, M6801_PORT2) AM_READ(readFF) AM_WRITENOP
242
235
ADDRESS_MAP_END