diff options
Diffstat (limited to 'src/mame/drivers/bk.cpp')
-rw-r--r-- | src/mame/drivers/bk.cpp | 58 |
1 files changed, 30 insertions, 28 deletions
diff --git a/src/mame/drivers/bk.cpp b/src/mame/drivers/bk.cpp index 1af4b29ef11..a85fef41078 100644 --- a/src/mame/drivers/bk.cpp +++ b/src/mame/drivers/bk.cpp @@ -22,34 +22,36 @@ /* Address maps */ -ADDRESS_MAP_START(bk_state::bk0010_mem) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE( 0x0000, 0x3fff ) AM_RAM // RAM - AM_RANGE( 0x4000, 0x7fff ) AM_RAM AM_SHARE("video_ram") // Video RAM - AM_RANGE( 0x8000, 0x9fff ) AM_ROM // ROM - AM_RANGE( 0xa000, 0xbfff ) AM_ROM // ROM - AM_RANGE( 0xc000, 0xdfff ) AM_ROM // ROM - AM_RANGE( 0xe000, 0xfeff ) AM_ROM // ROM - AM_RANGE( 0xffb0, 0xffb1 ) AM_READWRITE(bk_key_state_r,bk_key_state_w) - AM_RANGE( 0xffb2, 0xffb3 ) AM_READ(bk_key_code_r) - AM_RANGE( 0xffb4, 0xffb5 ) AM_READWRITE(bk_vid_scrool_r,bk_vid_scrool_w) - AM_RANGE( 0xffce, 0xffcf ) AM_READWRITE(bk_key_press_r,bk_key_press_w) -ADDRESS_MAP_END - -ADDRESS_MAP_START(bk_state::bk0010fd_mem) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE( 0x0000, 0x3fff ) AM_RAM // RAM - AM_RANGE( 0x4000, 0x7fff ) AM_RAM AM_SHARE("video_ram") // Video RAM - AM_RANGE( 0x8000, 0x9fff ) AM_ROM // ROM - AM_RANGE( 0xa000, 0xdfff ) AM_RAM // RAM - AM_RANGE( 0xe000, 0xfdff ) AM_ROM // ROM - AM_RANGE( 0xfe58, 0xfe59 ) AM_READWRITE(bk_floppy_cmd_r,bk_floppy_cmd_w) - AM_RANGE( 0xfe5a, 0xfe5b ) AM_READWRITE(bk_floppy_data_r,bk_floppy_data_w) - AM_RANGE( 0xffb0, 0xffb1 ) AM_READWRITE(bk_key_state_r,bk_key_state_w) - AM_RANGE( 0xffb2, 0xffb3 ) AM_READ(bk_key_code_r) - AM_RANGE( 0xffb4, 0xffb5 ) AM_READWRITE(bk_vid_scrool_r,bk_vid_scrool_w) - AM_RANGE( 0xffce, 0xffcf ) AM_READWRITE(bk_key_press_r,bk_key_press_w) -ADDRESS_MAP_END +void bk_state::bk0010_mem(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x3fff).ram(); // RAM + map(0x4000, 0x7fff).ram().share("video_ram"); // Video RAM + map(0x8000, 0x9fff).rom(); // ROM + map(0xa000, 0xbfff).rom(); // ROM + map(0xc000, 0xdfff).rom(); // ROM + map(0xe000, 0xfeff).rom(); // ROM + map(0xffb0, 0xffb1).rw(this, FUNC(bk_state::bk_key_state_r), FUNC(bk_state::bk_key_state_w)); + map(0xffb2, 0xffb3).r(this, FUNC(bk_state::bk_key_code_r)); + map(0xffb4, 0xffb5).rw(this, FUNC(bk_state::bk_vid_scrool_r), FUNC(bk_state::bk_vid_scrool_w)); + map(0xffce, 0xffcf).rw(this, FUNC(bk_state::bk_key_press_r), FUNC(bk_state::bk_key_press_w)); +} + +void bk_state::bk0010fd_mem(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x3fff).ram(); // RAM + map(0x4000, 0x7fff).ram().share("video_ram"); // Video RAM + map(0x8000, 0x9fff).rom(); // ROM + map(0xa000, 0xdfff).ram(); // RAM + map(0xe000, 0xfdff).rom(); // ROM + map(0xfe58, 0xfe59).rw(this, FUNC(bk_state::bk_floppy_cmd_r), FUNC(bk_state::bk_floppy_cmd_w)); + map(0xfe5a, 0xfe5b).rw(this, FUNC(bk_state::bk_floppy_data_r), FUNC(bk_state::bk_floppy_data_w)); + map(0xffb0, 0xffb1).rw(this, FUNC(bk_state::bk_key_state_r), FUNC(bk_state::bk_key_state_w)); + map(0xffb2, 0xffb3).r(this, FUNC(bk_state::bk_key_code_r)); + map(0xffb4, 0xffb5).rw(this, FUNC(bk_state::bk_vid_scrool_r), FUNC(bk_state::bk_vid_scrool_w)); + map(0xffce, 0xffcf).rw(this, FUNC(bk_state::bk_key_press_r), FUNC(bk_state::bk_key_press_w)); +} /* Input ports */ static INPUT_PORTS_START( bk0010 ) |