35
35
***************************************************************************/
37
37
#include "cpu/z80/z80.h"
38
#include "audio/wiping.h"
38
39
#include "includes/wiping.h"
41
static UINT8 *sharedram1,*sharedram2;
43
42
static READ8_HANDLER( shared1_r )
45
return sharedram1[offset];
44
wiping_state *state = space->machine().driver_data<wiping_state>();
45
return state->m_sharedram1[offset];
48
48
static READ8_HANDLER( shared2_r )
50
return sharedram2[offset];
50
wiping_state *state = space->machine().driver_data<wiping_state>();
51
return state->m_sharedram2[offset];
53
54
static WRITE8_HANDLER( shared1_w )
55
sharedram1[offset] = data;
56
wiping_state *state = space->machine().driver_data<wiping_state>();
57
state->m_sharedram1[offset] = data;
58
60
static WRITE8_HANDLER( shared2_w )
60
sharedram2[offset] = data;
62
wiping_state *state = space->machine().driver_data<wiping_state>();
63
state->m_sharedram2[offset] = data;
77
80
static WRITE8_HANDLER( subcpu_reset_w )
80
cputag_set_input_line(space->machine, "audiocpu", INPUT_LINE_RESET, CLEAR_LINE);
83
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_RESET, CLEAR_LINE);
82
cputag_set_input_line(space->machine, "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
85
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_RESET, ASSERT_LINE);
86
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
89
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8 )
87
90
AM_RANGE(0x0000, 0x5fff) AM_ROM
88
AM_RANGE(0x8000, 0x83ff) AM_BASE(&wiping_videoram)
89
AM_RANGE(0x8400, 0x87ff) AM_BASE(&wiping_colorram)
90
AM_RANGE(0x8800, 0x88ff) AM_BASE_SIZE_GENERIC(spriteram)
91
AM_RANGE(0x8000, 0x83ff) AM_BASE_MEMBER(wiping_state, m_videoram)
92
AM_RANGE(0x8400, 0x87ff) AM_BASE_MEMBER(wiping_state, m_colorram)
93
AM_RANGE(0x8800, 0x88ff) AM_BASE_SIZE_MEMBER(wiping_state, m_spriteram, m_spriteram_size)
91
94
AM_RANGE(0x8000, 0x8bff) AM_RAM
92
AM_RANGE(0x9000, 0x93ff) AM_READWRITE(shared1_r,shared1_w) AM_BASE(&sharedram1)
93
AM_RANGE(0x9800, 0x9bff) AM_READWRITE(shared2_r,shared2_w) AM_BASE(&sharedram2)
95
AM_RANGE(0x9000, 0x93ff) AM_READWRITE(shared1_r,shared1_w) AM_BASE_MEMBER(wiping_state, m_sharedram1)
96
AM_RANGE(0x9800, 0x9bff) AM_READWRITE(shared2_r,shared2_w) AM_BASE_MEMBER(wiping_state, m_sharedram2)
94
97
AM_RANGE(0xa000, 0xa000) AM_WRITE(interrupt_enable_w)
95
98
AM_RANGE(0xa002, 0xa002) AM_WRITE(wiping_flipscreen_w)
96
99
AM_RANGE(0xa003, 0xa003) AM_WRITE(subcpu_reset_w)
99
102
AM_RANGE(0xb800, 0xb800) AM_WRITE(watchdog_reset_w)
102
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
105
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8 )
103
106
AM_RANGE(0x0000, 0x1fff) AM_ROM
104
107
AM_RANGE(0x4000, 0x7fff) AM_DEVWRITE("wiping", wiping_sound_w)
105
108
AM_RANGE(0x9000, 0x93ff) AM_READWRITE(shared1_r,shared1_w)
281
static MACHINE_CONFIG_START( wiping, driver_device )
284
static MACHINE_CONFIG_START( wiping, wiping_state )
283
286
/* basic machine hardware */
284
287
MCFG_CPU_ADD("maincpu", Z80,18432000/6) /* 3.072 MHz */
296
299
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
297
300
MCFG_SCREEN_SIZE(36*8, 28*8)
298
301
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1)
302
MCFG_SCREEN_UPDATE(wiping)
300
304
MCFG_GFXDECODE(wiping)
301
305
MCFG_PALETTE_LENGTH(64*4+64*4)
303
307
MCFG_PALETTE_INIT(wiping)
304
MCFG_VIDEO_UPDATE(wiping)
306
309
/* sound hardware */
307
310
MCFG_SPEAKER_STANDARD_MONO("mono")