17
17
#define MCLK 16000000
19
static WRITE8_HANDLER( quizdna_rombank_w )
19
WRITE8_MEMBER(quizdna_state::quizdna_rombank_w)
21
UINT8 *ROM = space->machine().region("maincpu")->base();
22
memory_set_bankptr(space->machine(), "bank1",&ROM[0x10000+0x4000*(data & 0x3f)]);
21
UINT8 *ROM = memregion("maincpu")->base();
22
membank("bank1")->set_base(&ROM[0x10000+0x4000*(data & 0x3f)]);
25
static WRITE8_HANDLER( gekiretu_rombank_w )
25
WRITE8_MEMBER(quizdna_state::gekiretu_rombank_w)
27
UINT8 *ROM = space->machine().region("maincpu")->base();
28
memory_set_bankptr(space->machine(), "bank1",&ROM[0x10000+0x4000*((data & 0x3f) ^ 0x0a)]);
27
UINT8 *ROM = memregion("maincpu")->base();
28
membank("bank1")->set_base(&ROM[0x10000+0x4000*((data & 0x3f) ^ 0x0a)]);
31
31
/****************************************************************************/
33
static ADDRESS_MAP_START( quizdna_map, AS_PROGRAM, 8 )
33
static ADDRESS_MAP_START( quizdna_map, AS_PROGRAM, 8, quizdna_state )
34
34
AM_RANGE(0x0000, 0x7fff) AM_ROM
35
35
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
36
36
AM_RANGE(0x8000, 0x9fff) AM_WRITE(quizdna_fg_ram_w)
37
37
AM_RANGE(0xa000, 0xbfff) AM_WRITE(quizdna_bg_ram_w)
38
38
AM_RANGE(0xc000, 0xdfff) AM_RAM
39
AM_RANGE(0xe000, 0xe1ff) AM_RAM AM_BASE_SIZE_MEMBER(quizdna_state, m_spriteram, m_spriteram_size)
39
AM_RANGE(0xe000, 0xe1ff) AM_RAM AM_SHARE("spriteram")
40
40
AM_RANGE(0xe200, 0xefff) AM_RAM
41
AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(paletteram_xBGR_RRRR_GGGG_BBBB_w) AM_BASE_GENERIC(paletteram)
41
AM_RANGE(0xf000, 0xffff) AM_RAM_WRITE(paletteram_xBGR_RRRR_GGGG_BBBB_w) AM_SHARE("paletteram")
44
static ADDRESS_MAP_START( gekiretu_map, AS_PROGRAM, 8 )
44
static ADDRESS_MAP_START( gekiretu_map, AS_PROGRAM, 8, quizdna_state )
45
45
AM_RANGE(0x0000, 0x7fff) AM_ROM
46
46
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
47
47
AM_RANGE(0x8000, 0x9fff) AM_WRITE(quizdna_fg_ram_w)
48
48
AM_RANGE(0xa000, 0xbfff) AM_WRITE(quizdna_bg_ram_w)
49
49
AM_RANGE(0xc000, 0xdfff) AM_RAM
50
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(paletteram_xBGR_RRRR_GGGG_BBBB_w) AM_BASE_GENERIC(paletteram)
51
AM_RANGE(0xf000, 0xf1ff) AM_RAM AM_BASE_SIZE_MEMBER(quizdna_state, m_spriteram, m_spriteram_size)
50
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(paletteram_xBGR_RRRR_GGGG_BBBB_w) AM_SHARE("paletteram")
51
AM_RANGE(0xf000, 0xf1ff) AM_RAM AM_SHARE("spriteram")
52
52
AM_RANGE(0xf200, 0xffff) AM_RAM
55
static ADDRESS_MAP_START( quizdna_io_map, AS_IO, 8 )
55
static ADDRESS_MAP_START( quizdna_io_map, AS_IO, 8, quizdna_state )
56
56
ADDRESS_MAP_GLOBAL_MASK(0xff)
57
57
AM_RANGE(0x02, 0x03) AM_WRITE(quizdna_bg_xscroll_w)
58
58
AM_RANGE(0x04, 0x04) AM_WRITE(quizdna_bg_yscroll_w)
63
63
AM_RANGE(0x91, 0x91) AM_READ_PORT("SERVICE")
64
64
AM_RANGE(0xc0, 0xc0) AM_WRITE(quizdna_rombank_w)
65
65
AM_RANGE(0xd0, 0xd0) AM_WRITE(quizdna_screen_ctrl_w)
66
AM_RANGE(0xe0, 0xe1) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
67
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
66
AM_RANGE(0xe0, 0xe1) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
67
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("oki", okim6295_device, read, write)
70
static ADDRESS_MAP_START( gakupara_io_map, AS_IO, 8 )
70
static ADDRESS_MAP_START( gakupara_io_map, AS_IO, 8, quizdna_state )
71
71
ADDRESS_MAP_GLOBAL_MASK(0xff)
72
72
AM_RANGE(0x00, 0x01) AM_WRITE(quizdna_bg_xscroll_w)
73
73
AM_RANGE(0x02, 0x02) AM_WRITE(quizdna_bg_yscroll_w)
78
78
AM_RANGE(0x91, 0x91) AM_READ_PORT("SERVICE")
79
79
AM_RANGE(0xc0, 0xc0) AM_WRITE(quizdna_rombank_w)
80
80
AM_RANGE(0xd0, 0xd0) AM_WRITE(quizdna_screen_ctrl_w)
81
AM_RANGE(0xe0, 0xe1) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
82
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
81
AM_RANGE(0xe0, 0xe1) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
82
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("oki", okim6295_device, read, write)
85
static ADDRESS_MAP_START( gekiretu_io_map, AS_IO, 8 )
85
static ADDRESS_MAP_START( gekiretu_io_map, AS_IO, 8, quizdna_state )
86
86
ADDRESS_MAP_GLOBAL_MASK(0xff)
87
87
AM_RANGE(0x02, 0x03) AM_WRITE(quizdna_bg_xscroll_w)
88
88
AM_RANGE(0x04, 0x04) AM_WRITE(quizdna_bg_yscroll_w)
93
93
AM_RANGE(0x91, 0x91) AM_READ_PORT("SERVICE")
94
94
AM_RANGE(0xc0, 0xc0) AM_WRITE(gekiretu_rombank_w)
95
95
AM_RANGE(0xd0, 0xd0) AM_WRITE(quizdna_screen_ctrl_w)
96
AM_RANGE(0xe0, 0xe1) AM_DEVREADWRITE("ymsnd", ym2203_r, ym2203_w)
97
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE_MODERN("oki", okim6295_device, read, write)
96
AM_RANGE(0xe0, 0xe1) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
97
AM_RANGE(0xf0, 0xf0) AM_DEVREADWRITE("oki", okim6295_device, read, write)