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

« back to all changes in this revision

Viewing changes to src/mame/drivers/skullxbo.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:
65
65
}
66
66
 
67
67
 
68
 
static WRITE16_HANDLER( skullxbo_halt_until_hblank_0_w )
 
68
WRITE16_MEMBER(skullxbo_state::skullxbo_halt_until_hblank_0_w)
69
69
{
70
 
        atarigen_halt_until_hblank_0(*space->machine().primary_screen);
 
70
        atarigen_halt_until_hblank_0(*machine().primary_screen);
71
71
}
72
72
 
73
73
 
95
95
 *
96
96
 *************************************/
97
97
 
98
 
static READ16_HANDLER( special_port1_r )
 
98
READ16_MEMBER(skullxbo_state::special_port1_r)
99
99
{
100
 
        skullxbo_state *state = space->machine().driver_data<skullxbo_state>();
101
 
        int temp = input_port_read(space->machine(), "FF5802");
102
 
        if (state->m_cpu_to_sound_ready) temp ^= 0x0040;
103
 
        if (atarigen_get_hblank(*space->machine().primary_screen)) temp ^= 0x0010;
 
100
        int temp = ioport("FF5802")->read();
 
101
        if (m_cpu_to_sound_ready) temp ^= 0x0040;
 
102
        if (atarigen_get_hblank(*machine().primary_screen)) temp ^= 0x0010;
104
103
        return temp;
105
104
}
106
105
 
112
111
 *
113
112
 *************************************/
114
113
 
115
 
static WRITE16_HANDLER( skullxbo_mobwr_w )
 
114
WRITE16_MEMBER(skullxbo_state::skullxbo_mobwr_w)
116
115
{
117
116
        logerror("MOBWR[%02X] = %04X\n", offset, data);
118
117
}
125
124
 *
126
125
 *************************************/
127
126
 
128
 
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16 )
 
127
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, skullxbo_state )
129
128
        AM_RANGE(0x000000, 0x07ffff) AM_ROM
130
 
        AM_RANGE(0xff0000, 0xff07ff) AM_WRITE(skullxbo_mobmsb_w)
 
129
        AM_RANGE(0xff0000, 0xff07ff) AM_WRITE_LEGACY(skullxbo_mobmsb_w)
131
130
        AM_RANGE(0xff0800, 0xff0bff) AM_WRITE(skullxbo_halt_until_hblank_0_w)
132
 
        AM_RANGE(0xff0c00, 0xff0fff) AM_WRITE(atarigen_eeprom_enable_w)
133
 
        AM_RANGE(0xff1000, 0xff13ff) AM_WRITE(atarigen_video_int_ack_w)
134
 
        AM_RANGE(0xff1400, 0xff17ff) AM_WRITE(atarigen_sound_w)
135
 
        AM_RANGE(0xff1800, 0xff1bff) AM_WRITE(atarigen_sound_reset_w)
136
 
        AM_RANGE(0xff1c00, 0xff1c7f) AM_WRITE(skullxbo_playfieldlatch_w)
137
 
        AM_RANGE(0xff1c80, 0xff1cff) AM_WRITE(skullxbo_xscroll_w) AM_BASE_MEMBER(skullxbo_state, m_xscroll)
138
 
        AM_RANGE(0xff1d00, 0xff1d7f) AM_WRITE(atarigen_scanline_int_ack_w)
 
131
        AM_RANGE(0xff0c00, 0xff0fff) AM_WRITE_LEGACY(atarigen_eeprom_enable_w)
 
132
        AM_RANGE(0xff1000, 0xff13ff) AM_WRITE_LEGACY(atarigen_video_int_ack_w)
 
133
        AM_RANGE(0xff1400, 0xff17ff) AM_WRITE_LEGACY(atarigen_sound_w)
 
134
        AM_RANGE(0xff1800, 0xff1bff) AM_WRITE_LEGACY(atarigen_sound_reset_w)
 
135
        AM_RANGE(0xff1c00, 0xff1c7f) AM_WRITE_LEGACY(skullxbo_playfieldlatch_w)
 
136
        AM_RANGE(0xff1c80, 0xff1cff) AM_WRITE_LEGACY(skullxbo_xscroll_w) AM_SHARE("xscroll")
 
137
        AM_RANGE(0xff1d00, 0xff1d7f) AM_WRITE_LEGACY(atarigen_scanline_int_ack_w)
139
138
        AM_RANGE(0xff1d80, 0xff1dff) AM_WRITE(watchdog_reset16_w)
140
 
        AM_RANGE(0xff1e00, 0xff1e7f) AM_WRITE(skullxbo_playfieldlatch_w)
141
 
        AM_RANGE(0xff1e80, 0xff1eff) AM_WRITE(skullxbo_xscroll_w)
142
 
        AM_RANGE(0xff1f00, 0xff1f7f) AM_WRITE(atarigen_scanline_int_ack_w)
 
139
        AM_RANGE(0xff1e00, 0xff1e7f) AM_WRITE_LEGACY(skullxbo_playfieldlatch_w)
 
140
        AM_RANGE(0xff1e80, 0xff1eff) AM_WRITE_LEGACY(skullxbo_xscroll_w)
 
141
        AM_RANGE(0xff1f00, 0xff1f7f) AM_WRITE_LEGACY(atarigen_scanline_int_ack_w)
143
142
        AM_RANGE(0xff1f80, 0xff1fff) AM_WRITE(watchdog_reset16_w)
144
 
        AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE(atarigen_666_paletteram_w) AM_BASE_GENERIC(paletteram)
145
 
        AM_RANGE(0xff4000, 0xff47ff) AM_WRITE(skullxbo_yscroll_w) AM_BASE_MEMBER(skullxbo_state, m_yscroll)
 
143
        AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE_LEGACY(atarigen_666_paletteram_w) AM_SHARE("paletteram")
 
144
        AM_RANGE(0xff4000, 0xff47ff) AM_WRITE_LEGACY(skullxbo_yscroll_w) AM_SHARE("yscroll")
146
145
        AM_RANGE(0xff4800, 0xff4fff) AM_WRITE(skullxbo_mobwr_w)
147
 
        AM_RANGE(0xff6000, 0xff6fff) AM_WRITE(atarigen_eeprom_w) AM_SHARE("eeprom")
148
 
        AM_RANGE(0xff5000, 0xff5001) AM_READ(atarigen_sound_r)
 
146
        AM_RANGE(0xff6000, 0xff6fff) AM_WRITE_LEGACY(atarigen_eeprom_w) AM_SHARE("eeprom")
 
147
        AM_RANGE(0xff5000, 0xff5001) AM_READ_LEGACY(atarigen_sound_r)
149
148
        AM_RANGE(0xff5800, 0xff5801) AM_READ_PORT("FF5800")
150
149
        AM_RANGE(0xff5802, 0xff5803) AM_READ(special_port1_r)
151
 
        AM_RANGE(0xff6000, 0xff6fff) AM_READ(atarigen_eeprom_r)
152
 
        AM_RANGE(0xff8000, 0xff9fff) AM_RAM_WRITE(atarigen_playfield_latched_lsb_w) AM_BASE_MEMBER(skullxbo_state, m_playfield)
153
 
        AM_RANGE(0xffa000, 0xffbfff) AM_RAM_WRITE(atarigen_playfield_upper_w) AM_BASE_MEMBER(skullxbo_state, m_playfield_upper)
154
 
        AM_RANGE(0xffc000, 0xffcf7f) AM_RAM_WRITE(atarigen_alpha_w) AM_BASE_MEMBER(skullxbo_state, m_alpha)
155
 
        AM_RANGE(0xffcf80, 0xffcfff) AM_READWRITE(atarimo_0_slipram_r, atarimo_0_slipram_w)
156
 
        AM_RANGE(0xffd000, 0xffdfff) AM_READWRITE(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
 
150
        AM_RANGE(0xff6000, 0xff6fff) AM_READ_LEGACY(atarigen_eeprom_r)
 
151
        AM_RANGE(0xff8000, 0xff9fff) AM_RAM_WRITE_LEGACY(atarigen_playfield_latched_lsb_w) AM_SHARE("playfield")
 
152
        AM_RANGE(0xffa000, 0xffbfff) AM_RAM_WRITE_LEGACY(atarigen_playfield_upper_w) AM_SHARE("playfield_up")
 
153
        AM_RANGE(0xffc000, 0xffcf7f) AM_RAM_WRITE_LEGACY(atarigen_alpha_w) AM_SHARE("alpha")
 
154
        AM_RANGE(0xffcf80, 0xffcfff) AM_READWRITE_LEGACY(atarimo_0_slipram_r, atarimo_0_slipram_w)
 
155
        AM_RANGE(0xffd000, 0xffdfff) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
157
156
        AM_RANGE(0xffe000, 0xffffff) AM_RAM
158
157
ADDRESS_MAP_END
159
158
 
180
179
        PORT_START("FF5802")
181
180
        PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED )
182
181
        PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_UNUSED )  /* HBLANK */
183
 
        PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_VBLANK )
 
182
        PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
184
183
        PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )   /* /AUDBUSY */
185
184
        PORT_SERVICE( 0x0080, IP_ACTIVE_LOW )
186
185
        PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
620
619
static DRIVER_INIT( skullxbo )
621
620
{
622
621
        atarijsa_init(machine, "FF5802", 0x0080);
623
 
        memset(machine.region("gfx1")->base() + 0x170000, 0, 0x20000);
 
622
        memset(machine.root_device().memregion("gfx1")->base() + 0x170000, 0, 0x20000);
624
623
}
625
624
 
626
625