92
92
#include "includes/jailbrek.h"
95
static WRITE8_HANDLER( ctrl_w )
95
WRITE8_MEMBER(jailbrek_state::ctrl_w)
97
jailbrek_state *state = space->machine().driver_data<jailbrek_state>();
99
state->m_nmi_enable = data & 0x01;
100
state->m_irq_enable = data & 0x02;
101
flip_screen_set(space->machine(), data & 0x08);
98
m_nmi_enable = data & 0x01;
99
m_irq_enable = data & 0x02;
100
flip_screen_set(data & 0x08);
104
103
static INTERRUPT_GEN( jb_interrupt )
130
129
vlm5030_rst(device, (data >> 2) & 1);
133
static ADDRESS_MAP_START( jailbrek_map, AS_PROGRAM, 8 )
134
AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(jailbrek_colorram_w) AM_BASE_MEMBER(jailbrek_state, m_colorram)
135
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(jailbrek_videoram_w) AM_BASE_MEMBER(jailbrek_state, m_videoram)
136
AM_RANGE(0x1000, 0x10bf) AM_RAM AM_BASE_SIZE_MEMBER(jailbrek_state, m_spriteram, m_spriteram_size)
132
static ADDRESS_MAP_START( jailbrek_map, AS_PROGRAM, 8, jailbrek_state )
133
AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(jailbrek_colorram_w) AM_SHARE("colorram")
134
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(jailbrek_videoram_w) AM_SHARE("videoram")
135
AM_RANGE(0x1000, 0x10bf) AM_RAM AM_SHARE("spriteram")
137
136
AM_RANGE(0x10c0, 0x14ff) AM_RAM /* ??? */
138
137
AM_RANGE(0x1500, 0x1fff) AM_RAM /* work ram */
139
AM_RANGE(0x2000, 0x203f) AM_RAM AM_BASE_MEMBER(jailbrek_state, m_scroll_x)
138
AM_RANGE(0x2000, 0x203f) AM_RAM AM_SHARE("scroll_x")
140
139
AM_RANGE(0x2040, 0x2040) AM_WRITENOP /* ??? */
141
140
AM_RANGE(0x2041, 0x2041) AM_WRITENOP /* ??? */
142
AM_RANGE(0x2042, 0x2042) AM_RAM AM_BASE_MEMBER(jailbrek_state, m_scroll_dir) /* bit 2 = scroll direction */
141
AM_RANGE(0x2042, 0x2042) AM_RAM AM_SHARE("scroll_dir") /* bit 2 = scroll direction */
143
142
AM_RANGE(0x2043, 0x2043) AM_WRITENOP /* ??? */
144
143
AM_RANGE(0x2044, 0x2044) AM_WRITE(ctrl_w) /* irq, nmi enable, screen flip */
145
144
AM_RANGE(0x3000, 0x307f) AM_RAM /* related to sprites? */
146
AM_RANGE(0x3100, 0x3100) AM_READ_PORT("DSW2") AM_DEVWRITE("snsnd", sn76496_w)
145
AM_RANGE(0x3100, 0x3100) AM_READ_PORT("DSW2") AM_DEVWRITE_LEGACY("snsnd", sn76496_w)
147
146
AM_RANGE(0x3200, 0x3200) AM_READ_PORT("DSW3") AM_WRITENOP /* mirror of the previous? */
148
147
AM_RANGE(0x3300, 0x3300) AM_READ_PORT("SYSTEM") AM_WRITE(watchdog_reset_w)
149
148
AM_RANGE(0x3301, 0x3301) AM_READ_PORT("P1")
150
149
AM_RANGE(0x3302, 0x3302) AM_READ_PORT("P2")
151
150
AM_RANGE(0x3303, 0x3303) AM_READ_PORT("DSW1")
152
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE("vlm", jailbrek_speech_w) /* speech pins */
153
AM_RANGE(0x5000, 0x5000) AM_DEVWRITE("vlm", vlm5030_data_w) /* speech data */
154
AM_RANGE(0x6000, 0x6000) AM_DEVREAD("vlm", jailbrek_speech_r)
151
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE_LEGACY("vlm", jailbrek_speech_w) /* speech pins */
152
AM_RANGE(0x5000, 0x5000) AM_DEVWRITE_LEGACY("vlm", vlm5030_data_w) /* speech data */
153
AM_RANGE(0x6000, 0x6000) AM_DEVREAD_LEGACY("vlm", jailbrek_speech_r)
155
154
AM_RANGE(0x8000, 0xffff) AM_ROM