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

« back to all changes in this revision

Viewing changes to src/mame/drivers/taotaido.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:
72
72
#define TAOTAIDO_SHOW_ALL_INPUTS        0
73
73
 
74
74
 
75
 
static READ16_HANDLER( pending_command_r )
 
75
READ16_MEMBER(taotaido_state::pending_command_r)
76
76
{
77
 
        taotaido_state *state = space->machine().driver_data<taotaido_state>();
78
77
        /* Only bit 0 is tested */
79
 
        return state->m_pending_command;
 
78
        return m_pending_command;
80
79
}
81
80
 
82
 
static WRITE16_HANDLER( sound_command_w )
 
81
WRITE16_MEMBER(taotaido_state::sound_command_w)
83
82
{
84
 
        taotaido_state *state = space->machine().driver_data<taotaido_state>();
85
83
        if (ACCESSING_BITS_0_7)
86
84
        {
87
 
                state->m_pending_command = 1;
88
 
                soundlatch_w(space, offset, data & 0xff);
89
 
                cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
 
85
                m_pending_command = 1;
 
86
                soundlatch_byte_w(space, offset, data & 0xff);
 
87
                cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
90
88
        }
91
89
}
92
 
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
 
90
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, taotaido_state )
93
91
        AM_RANGE(0x000000, 0x0fffff) AM_ROM
94
 
        AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(taotaido_bgvideoram_w) AM_BASE_MEMBER(taotaido_state, m_bgram)        // bg ram?
95
 
        AM_RANGE(0xa00000, 0xa01fff) AM_RAM AM_BASE_MEMBER(taotaido_state, m_spriteram)         // sprite ram
96
 
        AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_BASE_MEMBER(taotaido_state, m_spriteram2)                // sprite tile lookup ram
 
92
        AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(taotaido_bgvideoram_w) AM_SHARE("bgram")      // bg ram?
 
93
        AM_RANGE(0xa00000, 0xa01fff) AM_RAM AM_SHARE("spriteram")               // sprite ram
 
94
        AM_RANGE(0xc00000, 0xc0ffff) AM_RAM AM_SHARE("spriteram2")              // sprite tile lookup ram
97
95
        AM_RANGE(0xfe0000, 0xfeffff) AM_RAM                                                                             // main ram
98
 
        AM_RANGE(0xffc000, 0xffcfff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)     // palette ram
99
 
        AM_RANGE(0xffe000, 0xffe3ff) AM_RAM AM_BASE_MEMBER(taotaido_state, m_scrollram)         // rowscroll / rowselect / scroll ram
 
96
        AM_RANGE(0xffc000, 0xffcfff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")    // palette ram
 
97
        AM_RANGE(0xffe000, 0xffe3ff) AM_RAM AM_SHARE("scrollram")               // rowscroll / rowselect / scroll ram
100
98
        AM_RANGE(0xffff80, 0xffff81) AM_READ_PORT("P1")
101
99
        AM_RANGE(0xffff82, 0xffff83) AM_READ_PORT("P2")
102
100
        AM_RANGE(0xffff84, 0xffff85) AM_READ_PORT("SYSTEM")
118
116
/* sound cpu - same as aerofgt */
119
117
 
120
118
 
121
 
static WRITE8_HANDLER( pending_command_clear_w )
122
 
{
123
 
        taotaido_state *state = space->machine().driver_data<taotaido_state>();
124
 
        state->m_pending_command = 0;
125
 
}
126
 
 
127
 
static WRITE8_HANDLER( taotaido_sh_bankswitch_w )
128
 
{
129
 
        UINT8 *rom = space->machine().region("audiocpu")->base() + 0x10000;
130
 
 
131
 
        memory_set_bankptr(space->machine(), "bank1",rom + (data & 0x03) * 0x8000);
132
 
}
133
 
 
134
 
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8 )
 
119
WRITE8_MEMBER(taotaido_state::pending_command_clear_w)
 
120
{
 
121
        m_pending_command = 0;
 
122
}
 
123
 
 
124
WRITE8_MEMBER(taotaido_state::taotaido_sh_bankswitch_w)
 
125
{
 
126
        UINT8 *rom = memregion("audiocpu")->base() + 0x10000;
 
127
 
 
128
        membank("bank1")->set_base(rom + (data & 0x03) * 0x8000);
 
129
}
 
130
 
 
131
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taotaido_state )
135
132
        AM_RANGE(0x0000, 0x77ff) AM_ROM
136
133
        AM_RANGE(0x7800, 0x7fff) AM_RAM
137
134
        AM_RANGE(0x8000, 0xffff) AM_ROMBANK("bank1")
138
135
ADDRESS_MAP_END
139
136
 
140
 
static ADDRESS_MAP_START( sound_port_map, AS_IO, 8 )
 
137
static ADDRESS_MAP_START( sound_port_map, AS_IO, 8, taotaido_state )
141
138
        ADDRESS_MAP_GLOBAL_MASK(0xff)
142
 
        AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ymsnd", ym2610_r, ym2610_w)
 
139
        AM_RANGE(0x00, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
143
140
        AM_RANGE(0x04, 0x04) AM_WRITE(taotaido_sh_bankswitch_w)
144
141
        AM_RANGE(0x08, 0x08) AM_WRITE(pending_command_clear_w)
145
 
        AM_RANGE(0x0c, 0x0c) AM_READ(soundlatch_r)
 
142
        AM_RANGE(0x0c, 0x0c) AM_READ(soundlatch_byte_r)
146
143
ADDRESS_MAP_END
147
144
 
148
145