summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/fm7.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/fm7.cpp')
-rw-r--r--src/mame/drivers/fm7.cpp312
1 files changed, 156 insertions, 156 deletions
diff --git a/src/mame/drivers/fm7.cpp b/src/mame/drivers/fm7.cpp
index eb5f21c793d..39ee24f2d33 100644
--- a/src/mame/drivers/fm7.cpp
+++ b/src/mame/drivers/fm7.cpp
@@ -824,7 +824,7 @@ WRITE8_MEMBER(fm7_state::fm7_cassette_printer_w)
break;
case 1:
// Printer data
- m_cent_data_out->write(space, 0, data);
+ m_cent_data_out->write(data);
break;
}
}
@@ -1432,28 +1432,28 @@ void fm7_state::fm7_mem(address_map &map)
map(0x0000, 0x7fff).ram();
map(0x8000, 0xfbff).bankr("bank1").bankw("bank2"); // also F-BASIC ROM, when enabled
map(0xfc00, 0xfc7f).ram();
- map(0xfc80, 0xfcff).rw(this, FUNC(fm7_state::fm7_main_shared_r), FUNC(fm7_state::fm7_main_shared_w));
+ map(0xfc80, 0xfcff).rw(FUNC(fm7_state::fm7_main_shared_r), FUNC(fm7_state::fm7_main_shared_w));
// I/O space (FD00-FDFF)
- map(0xfd00, 0xfd01).rw(this, FUNC(fm7_state::fm7_keyboard_r), FUNC(fm7_state::fm7_cassette_printer_w));
- map(0xfd02, 0xfd02).rw(this, FUNC(fm7_state::fm7_cassette_printer_r), FUNC(fm7_state::fm7_irq_mask_w)); // IRQ mask
- map(0xfd03, 0xfd03).rw(this, FUNC(fm7_state::fm7_irq_cause_r), FUNC(fm7_state::fm7_beeper_w)); // IRQ flags
- map(0xfd04, 0xfd04).r(this, FUNC(fm7_state::fm7_fd04_r));
- map(0xfd05, 0xfd05).rw(this, FUNC(fm7_state::fm7_subintf_r), FUNC(fm7_state::fm7_subintf_w));
- map(0xfd06, 0xfd0c).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd0d, 0xfd0d).rw(this, FUNC(fm7_state::fm7_psg_select_r), FUNC(fm7_state::fm7_psg_select_w));
- map(0xfd0e, 0xfd0e).rw(this, FUNC(fm7_state::fm7_psg_data_r), FUNC(fm7_state::fm7_psg_data_w));
- map(0xfd0f, 0xfd0f).rw(this, FUNC(fm7_state::fm7_rom_en_r), FUNC(fm7_state::fm7_rom_en_w));
- map(0xfd10, 0xfd17).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd18, 0xfd1f).rw(this, FUNC(fm7_state::fm7_fdc_r), FUNC(fm7_state::fm7_fdc_w));
- map(0xfd20, 0xfd23).rw(this, FUNC(fm7_state::fm7_kanji_r), FUNC(fm7_state::fm7_kanji_w));
- map(0xfd24, 0xfd36).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd37, 0xfd37).w(this, FUNC(fm7_state::fm7_multipage_w));
- map(0xfd38, 0xfd3f).rw(this, FUNC(fm7_state::fm7_palette_r), FUNC(fm7_state::fm7_palette_w));
- map(0xfd40, 0xfdff).r(this, FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd00, 0xfd01).rw(FUNC(fm7_state::fm7_keyboard_r), FUNC(fm7_state::fm7_cassette_printer_w));
+ map(0xfd02, 0xfd02).rw(FUNC(fm7_state::fm7_cassette_printer_r), FUNC(fm7_state::fm7_irq_mask_w)); // IRQ mask
+ map(0xfd03, 0xfd03).rw(FUNC(fm7_state::fm7_irq_cause_r), FUNC(fm7_state::fm7_beeper_w)); // IRQ flags
+ map(0xfd04, 0xfd04).r(FUNC(fm7_state::fm7_fd04_r));
+ map(0xfd05, 0xfd05).rw(FUNC(fm7_state::fm7_subintf_r), FUNC(fm7_state::fm7_subintf_w));
+ map(0xfd06, 0xfd0c).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd0d, 0xfd0d).rw(FUNC(fm7_state::fm7_psg_select_r), FUNC(fm7_state::fm7_psg_select_w));
+ map(0xfd0e, 0xfd0e).rw(FUNC(fm7_state::fm7_psg_data_r), FUNC(fm7_state::fm7_psg_data_w));
+ map(0xfd0f, 0xfd0f).rw(FUNC(fm7_state::fm7_rom_en_r), FUNC(fm7_state::fm7_rom_en_w));
+ map(0xfd10, 0xfd17).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd18, 0xfd1f).rw(FUNC(fm7_state::fm7_fdc_r), FUNC(fm7_state::fm7_fdc_w));
+ map(0xfd20, 0xfd23).rw(FUNC(fm7_state::fm7_kanji_r), FUNC(fm7_state::fm7_kanji_w));
+ map(0xfd24, 0xfd36).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd37, 0xfd37).w(FUNC(fm7_state::fm7_multipage_w));
+ map(0xfd38, 0xfd3f).rw(FUNC(fm7_state::fm7_palette_r), FUNC(fm7_state::fm7_palette_w));
+ map(0xfd40, 0xfdff).r(FUNC(fm7_state::fm7_unknown_r));
// Boot ROM
map(0xfe00, 0xffdf).bankr("bank17");
map(0xffe0, 0xffef).ram();
- map(0xfff0, 0xffff).rw(this, FUNC(fm7_state::vector_r), FUNC(fm7_state::vector_w));
+ map(0xfff0, 0xffff).rw(FUNC(fm7_state::vector_r), FUNC(fm7_state::vector_w));
}
void fm7_state::fm8_mem(address_map &map)
@@ -1461,26 +1461,26 @@ void fm7_state::fm8_mem(address_map &map)
map(0x0000, 0x7fff).ram();
map(0x8000, 0xfbff).bankr("bank1").bankw("bank2"); // also F-BASIC ROM, when enabled
map(0xfc00, 0xfc7f).ram();
- map(0xfc80, 0xfcff).rw(this, FUNC(fm7_state::fm7_main_shared_r), FUNC(fm7_state::fm7_main_shared_w));
+ map(0xfc80, 0xfcff).rw(FUNC(fm7_state::fm7_main_shared_r), FUNC(fm7_state::fm7_main_shared_w));
// I/O space (FD00-FDFF)
- map(0xfd00, 0xfd01).rw(this, FUNC(fm7_state::fm7_keyboard_r), FUNC(fm7_state::fm7_cassette_printer_w));
- map(0xfd02, 0xfd02).rw(this, FUNC(fm7_state::fm7_cassette_printer_r), FUNC(fm7_state::fm7_irq_mask_w)); // IRQ mask
- map(0xfd03, 0xfd03).rw(this, FUNC(fm7_state::fm7_irq_cause_r), FUNC(fm7_state::fm7_beeper_w)); // IRQ flags
- map(0xfd04, 0xfd04).r(this, FUNC(fm7_state::fm7_fd04_r));
- map(0xfd05, 0xfd05).rw(this, FUNC(fm7_state::fm7_subintf_r), FUNC(fm7_state::fm7_subintf_w));
- map(0xfd06, 0xfd0c).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd0f, 0xfd0f).rw(this, FUNC(fm7_state::fm7_rom_en_r), FUNC(fm7_state::fm7_rom_en_w));
- map(0xfd10, 0xfd17).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd18, 0xfd1f).rw(this, FUNC(fm7_state::fm7_fdc_r), FUNC(fm7_state::fm7_fdc_w));
- map(0xfd20, 0xfd23).rw(this, FUNC(fm7_state::fm7_kanji_r), FUNC(fm7_state::fm7_kanji_w));
- map(0xfd24, 0xfd36).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd37, 0xfd37).w(this, FUNC(fm7_state::fm7_multipage_w));
- map(0xfd38, 0xfd3f).rw(this, FUNC(fm7_state::fm7_palette_r), FUNC(fm7_state::fm7_palette_w));
- map(0xfd40, 0xfdff).r(this, FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd00, 0xfd01).rw(FUNC(fm7_state::fm7_keyboard_r), FUNC(fm7_state::fm7_cassette_printer_w));
+ map(0xfd02, 0xfd02).rw(FUNC(fm7_state::fm7_cassette_printer_r), FUNC(fm7_state::fm7_irq_mask_w)); // IRQ mask
+ map(0xfd03, 0xfd03).rw(FUNC(fm7_state::fm7_irq_cause_r), FUNC(fm7_state::fm7_beeper_w)); // IRQ flags
+ map(0xfd04, 0xfd04).r(FUNC(fm7_state::fm7_fd04_r));
+ map(0xfd05, 0xfd05).rw(FUNC(fm7_state::fm7_subintf_r), FUNC(fm7_state::fm7_subintf_w));
+ map(0xfd06, 0xfd0c).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd0f, 0xfd0f).rw(FUNC(fm7_state::fm7_rom_en_r), FUNC(fm7_state::fm7_rom_en_w));
+ map(0xfd10, 0xfd17).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd18, 0xfd1f).rw(FUNC(fm7_state::fm7_fdc_r), FUNC(fm7_state::fm7_fdc_w));
+ map(0xfd20, 0xfd23).rw(FUNC(fm7_state::fm7_kanji_r), FUNC(fm7_state::fm7_kanji_w));
+ map(0xfd24, 0xfd36).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd37, 0xfd37).w(FUNC(fm7_state::fm7_multipage_w));
+ map(0xfd38, 0xfd3f).rw(FUNC(fm7_state::fm7_palette_r), FUNC(fm7_state::fm7_palette_w));
+ map(0xfd40, 0xfdff).r(FUNC(fm7_state::fm7_unknown_r));
// Boot ROM
map(0xfe00, 0xffdf).bankr("bank17");
map(0xffe0, 0xffef).ram();
- map(0xfff0, 0xffff).rw(this, FUNC(fm7_state::vector_r), FUNC(fm7_state::vector_w));
+ map(0xfff0, 0xffff).rw(FUNC(fm7_state::vector_r), FUNC(fm7_state::vector_w));
}
/*
@@ -1496,19 +1496,19 @@ void fm7_state::fm8_mem(address_map &map)
void fm7_state::fm7_sub_mem(address_map &map)
{
- map(0x0000, 0xbfff).rw(this, FUNC(fm7_state::fm7_vram_r), FUNC(fm7_state::fm7_vram_w)); // VRAM
+ map(0x0000, 0xbfff).rw(FUNC(fm7_state::fm7_vram_r), FUNC(fm7_state::fm7_vram_w)); // VRAM
map(0xc000, 0xcfff).ram(); // Console RAM
map(0xd000, 0xd37f).ram(); // Work RAM
map(0xd380, 0xd3ff).ram().share("shared_ram");
// I/O space (D400-D4FF)
- map(0xd400, 0xd401).r(this, FUNC(fm7_state::fm7_sub_keyboard_r));
- map(0xd402, 0xd402).r(this, FUNC(fm7_state::fm7_cancel_ack));
- map(0xd403, 0xd403).r(this, FUNC(fm7_state::fm7_sub_beeper_r));
- map(0xd404, 0xd404).r(this, FUNC(fm7_state::fm7_attn_irq_r));
- map(0xd408, 0xd408).rw(this, FUNC(fm7_state::fm7_crt_r), FUNC(fm7_state::fm7_crt_w));
- map(0xd409, 0xd409).rw(this, FUNC(fm7_state::fm7_vram_access_r), FUNC(fm7_state::fm7_vram_access_w));
- map(0xd40a, 0xd40a).rw(this, FUNC(fm7_state::fm7_sub_busyflag_r), FUNC(fm7_state::fm7_sub_busyflag_w));
- map(0xd40e, 0xd40f).w(this, FUNC(fm7_state::fm7_vram_offset_w));
+ map(0xd400, 0xd401).r(FUNC(fm7_state::fm7_sub_keyboard_r));
+ map(0xd402, 0xd402).r(FUNC(fm7_state::fm7_cancel_ack));
+ map(0xd403, 0xd403).r(FUNC(fm7_state::fm7_sub_beeper_r));
+ map(0xd404, 0xd404).r(FUNC(fm7_state::fm7_attn_irq_r));
+ map(0xd408, 0xd408).rw(FUNC(fm7_state::fm7_crt_r), FUNC(fm7_state::fm7_crt_w));
+ map(0xd409, 0xd409).rw(FUNC(fm7_state::fm7_vram_access_r), FUNC(fm7_state::fm7_vram_access_w));
+ map(0xd40a, 0xd40a).rw(FUNC(fm7_state::fm7_sub_busyflag_r), FUNC(fm7_state::fm7_sub_busyflag_w));
+ map(0xd40e, 0xd40f).w(FUNC(fm7_state::fm7_vram_offset_w));
map(0xd800, 0xffff).rom();
}
@@ -1531,49 +1531,49 @@ void fm7_state::fm11_mem(address_map &map)
map(0xe000, 0xefff).rw("av_bank15", FUNC(address_map_bank_device::read8), FUNC(address_map_bank_device::write8));
map(0xf000, 0xfbff).rw("av_bank16", FUNC(address_map_bank_device::read8), FUNC(address_map_bank_device::write8));
map(0xfc00, 0xfc7f).ram();
- map(0xfc80, 0xfcff).rw(this, FUNC(fm7_state::fm7_main_shared_r), FUNC(fm7_state::fm7_main_shared_w));
+ map(0xfc80, 0xfcff).rw(FUNC(fm7_state::fm7_main_shared_r), FUNC(fm7_state::fm7_main_shared_w));
// I/O space (FD00-FDFF)
- map(0xfd00, 0xfd01).rw(this, FUNC(fm7_state::fm7_keyboard_r), FUNC(fm7_state::fm7_cassette_printer_w));
- map(0xfd02, 0xfd02).rw(this, FUNC(fm7_state::fm7_cassette_printer_r), FUNC(fm7_state::fm7_irq_mask_w)); // IRQ mask
- map(0xfd03, 0xfd03).rw(this, FUNC(fm7_state::fm7_irq_cause_r), FUNC(fm7_state::fm7_beeper_w)); // IRQ flags
- map(0xfd04, 0xfd04).r(this, FUNC(fm7_state::fm7_fd04_r));
- map(0xfd05, 0xfd05).rw(this, FUNC(fm7_state::fm7_subintf_r), FUNC(fm7_state::fm7_subintf_w));
- map(0xfd06, 0xfd0a).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd0b, 0xfd0b).r(this, FUNC(fm7_state::fm77av_boot_mode_r));
- map(0xfd0c, 0xfd0c).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd0f, 0xfd0f).rw(this, FUNC(fm7_state::fm7_rom_en_r), FUNC(fm7_state::fm7_rom_en_w));
- map(0xfd10, 0xfd10).w(this, FUNC(fm7_state::fm7_init_en_w));
- map(0xfd11, 0xfd11).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd12, 0xfd12).rw(this, FUNC(fm7_state::fm77av_sub_modestatus_r), FUNC(fm7_state::fm77av_sub_modestatus_w));
- map(0xfd13, 0xfd13).w(this, FUNC(fm7_state::fm77av_sub_bank_w));
- map(0xfd14, 0xfd14).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd17, 0xfd17).r(this, FUNC(fm7_state::fm7_fmirq_r));
- map(0xfd18, 0xfd1f).rw(this, FUNC(fm7_state::fm7_fdc_r), FUNC(fm7_state::fm7_fdc_w));
- map(0xfd20, 0xfd23).rw(this, FUNC(fm7_state::fm7_kanji_r), FUNC(fm7_state::fm7_kanji_w));
- map(0xfd24, 0xfd2b).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd30, 0xfd34).w(this, FUNC(fm7_state::fm77av_analog_palette_w));
- map(0xfd35, 0xfd36).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd37, 0xfd37).w(this, FUNC(fm7_state::fm7_multipage_w));
- map(0xfd38, 0xfd3f).rw(this, FUNC(fm7_state::fm7_palette_r), FUNC(fm7_state::fm7_palette_w));
- map(0xfd40, 0xfd7f).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd80, 0xfd93).rw(this, FUNC(fm7_state::fm7_mmr_r), FUNC(fm7_state::fm7_mmr_w));
- map(0xfd94, 0xfdff).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfe00, 0xffdf).ram().w(this, FUNC(fm7_state::fm77av_bootram_w)).share("boot_ram");
+ map(0xfd00, 0xfd01).rw(FUNC(fm7_state::fm7_keyboard_r), FUNC(fm7_state::fm7_cassette_printer_w));
+ map(0xfd02, 0xfd02).rw(FUNC(fm7_state::fm7_cassette_printer_r), FUNC(fm7_state::fm7_irq_mask_w)); // IRQ mask
+ map(0xfd03, 0xfd03).rw(FUNC(fm7_state::fm7_irq_cause_r), FUNC(fm7_state::fm7_beeper_w)); // IRQ flags
+ map(0xfd04, 0xfd04).r(FUNC(fm7_state::fm7_fd04_r));
+ map(0xfd05, 0xfd05).rw(FUNC(fm7_state::fm7_subintf_r), FUNC(fm7_state::fm7_subintf_w));
+ map(0xfd06, 0xfd0a).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd0b, 0xfd0b).r(FUNC(fm7_state::fm77av_boot_mode_r));
+ map(0xfd0c, 0xfd0c).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd0f, 0xfd0f).rw(FUNC(fm7_state::fm7_rom_en_r), FUNC(fm7_state::fm7_rom_en_w));
+ map(0xfd10, 0xfd10).w(FUNC(fm7_state::fm7_init_en_w));
+ map(0xfd11, 0xfd11).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd12, 0xfd12).rw(FUNC(fm7_state::fm77av_sub_modestatus_r), FUNC(fm7_state::fm77av_sub_modestatus_w));
+ map(0xfd13, 0xfd13).w(FUNC(fm7_state::fm77av_sub_bank_w));
+ map(0xfd14, 0xfd14).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd17, 0xfd17).r(FUNC(fm7_state::fm7_fmirq_r));
+ map(0xfd18, 0xfd1f).rw(FUNC(fm7_state::fm7_fdc_r), FUNC(fm7_state::fm7_fdc_w));
+ map(0xfd20, 0xfd23).rw(FUNC(fm7_state::fm7_kanji_r), FUNC(fm7_state::fm7_kanji_w));
+ map(0xfd24, 0xfd2b).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd30, 0xfd34).w(FUNC(fm7_state::fm77av_analog_palette_w));
+ map(0xfd35, 0xfd36).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd37, 0xfd37).w(FUNC(fm7_state::fm7_multipage_w));
+ map(0xfd38, 0xfd3f).rw(FUNC(fm7_state::fm7_palette_r), FUNC(fm7_state::fm7_palette_w));
+ map(0xfd40, 0xfd7f).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd80, 0xfd93).rw(FUNC(fm7_state::fm7_mmr_r), FUNC(fm7_state::fm7_mmr_w));
+ map(0xfd94, 0xfdff).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfe00, 0xffdf).ram().w(FUNC(fm7_state::fm77av_bootram_w)).share("boot_ram");
map(0xffe0, 0xffef).ram();
- map(0xfff0, 0xffff).rw(this, FUNC(fm7_state::vector_r), FUNC(fm7_state::vector_w));
+ map(0xfff0, 0xffff).rw(FUNC(fm7_state::vector_r), FUNC(fm7_state::vector_w));
}
// Much of this is guesswork at the moment
void fm7_state::fm11_sub_mem(address_map &map)
{
- map(0x0000, 0x7fff).rw(this, FUNC(fm7_state::fm7_vram_r), FUNC(fm7_state::fm7_vram_w)); // VRAM
+ map(0x0000, 0x7fff).rw(FUNC(fm7_state::fm7_vram_r), FUNC(fm7_state::fm7_vram_w)); // VRAM
map(0x8000, 0x8fff).ram(); // Console RAM(?)
map(0x9000, 0x9f7f).ram(); // Work RAM(?)
map(0x9f80, 0x9fff).ram().share("shared_ram");
map(0xafe0, 0xafe3).ram();
// AM_RANGE(0xafe4,0xafe4) AM_READWRITE(fm7_sub_busyflag_r,fm7_sub_busyflag_w)
- map(0xafe6, 0xafe6).rw(this, FUNC(fm7_state::fm77av_video_flags_r), FUNC(fm7_state::fm77av_video_flags_w));
- map(0xaff0, 0xaff0).rw(this, FUNC(fm7_state::fm7_sub_busyflag_r), FUNC(fm7_state::fm7_sub_busyflag_w));
+ map(0xafe6, 0xafe6).rw(FUNC(fm7_state::fm77av_video_flags_r), FUNC(fm7_state::fm77av_video_flags_w));
+ map(0xaff0, 0xaff0).rw(FUNC(fm7_state::fm7_sub_busyflag_r), FUNC(fm7_state::fm7_sub_busyflag_w));
map(0xc000, 0xffff).rom(); // sybsystem ROM
}
@@ -1586,20 +1586,20 @@ void fm7_state::fm11_x86_mem(address_map &map)
void fm7_state::fm11_x86_io(address_map &map)
{
- map(0xfd00, 0xfd01).rw(this, FUNC(fm7_state::fm7_keyboard_r), FUNC(fm7_state::fm7_cassette_printer_w));
- map(0xfd02, 0xfd02).rw(this, FUNC(fm7_state::fm7_cassette_printer_r), FUNC(fm7_state::fm7_irq_mask_w)); // IRQ mask
- map(0xfd03, 0xfd03).rw(this, FUNC(fm7_state::fm7_irq_cause_r), FUNC(fm7_state::fm7_beeper_w)); // IRQ flags
- map(0xfd04, 0xfd04).r(this, FUNC(fm7_state::fm7_fd04_r));
- map(0xfd05, 0xfd05).rw(this, FUNC(fm7_state::fm7_subintf_r), FUNC(fm7_state::fm7_subintf_w));
- map(0xfd06, 0xfd0c).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd0f, 0xfd0f).rw(this, FUNC(fm7_state::fm7_rom_en_r), FUNC(fm7_state::fm7_rom_en_w));
- map(0xfd10, 0xfd17).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd18, 0xfd1f).rw(this, FUNC(fm7_state::fm7_fdc_r), FUNC(fm7_state::fm7_fdc_w));
- map(0xfd20, 0xfd23).rw(this, FUNC(fm7_state::fm7_kanji_r), FUNC(fm7_state::fm7_kanji_w));
- map(0xfd24, 0xfd36).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd37, 0xfd37).w(this, FUNC(fm7_state::fm7_multipage_w));
- map(0xfd38, 0xfd3f).rw(this, FUNC(fm7_state::fm7_palette_r), FUNC(fm7_state::fm7_palette_w));
- map(0xfd40, 0xfdff).r(this, FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd00, 0xfd01).rw(FUNC(fm7_state::fm7_keyboard_r), FUNC(fm7_state::fm7_cassette_printer_w));
+ map(0xfd02, 0xfd02).rw(FUNC(fm7_state::fm7_cassette_printer_r), FUNC(fm7_state::fm7_irq_mask_w)); // IRQ mask
+ map(0xfd03, 0xfd03).rw(FUNC(fm7_state::fm7_irq_cause_r), FUNC(fm7_state::fm7_beeper_w)); // IRQ flags
+ map(0xfd04, 0xfd04).r(FUNC(fm7_state::fm7_fd04_r));
+ map(0xfd05, 0xfd05).rw(FUNC(fm7_state::fm7_subintf_r), FUNC(fm7_state::fm7_subintf_w));
+ map(0xfd06, 0xfd0c).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd0f, 0xfd0f).rw(FUNC(fm7_state::fm7_rom_en_r), FUNC(fm7_state::fm7_rom_en_w));
+ map(0xfd10, 0xfd17).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd18, 0xfd1f).rw(FUNC(fm7_state::fm7_fdc_r), FUNC(fm7_state::fm7_fdc_w));
+ map(0xfd20, 0xfd23).rw(FUNC(fm7_state::fm7_kanji_r), FUNC(fm7_state::fm7_kanji_w));
+ map(0xfd24, 0xfd36).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd37, 0xfd37).w(FUNC(fm7_state::fm7_multipage_w));
+ map(0xfd38, 0xfd3f).rw(FUNC(fm7_state::fm7_palette_r), FUNC(fm7_state::fm7_palette_w));
+ map(0xfd40, 0xfdff).r(FUNC(fm7_state::fm7_unknown_r));
}
void fm7_state::fm16_mem(address_map &map)
@@ -1610,25 +1610,25 @@ void fm7_state::fm16_mem(address_map &map)
void fm7_state::fm16_io(address_map &map)
{
- map(0xfd00, 0xfd01).rw(this, FUNC(fm7_state::fm7_keyboard_r), FUNC(fm7_state::fm7_cassette_printer_w));
- map(0xfd02, 0xfd02).rw(this, FUNC(fm7_state::fm7_cassette_printer_r), FUNC(fm7_state::fm7_irq_mask_w)); // IRQ mask
- map(0xfd03, 0xfd03).rw(this, FUNC(fm7_state::fm7_irq_cause_r), FUNC(fm7_state::fm7_beeper_w)); // IRQ flags
- map(0xfd04, 0xfd04).r(this, FUNC(fm7_state::fm7_fd04_r));
- map(0xfd05, 0xfd05).rw(this, FUNC(fm7_state::fm7_subintf_r), FUNC(fm7_state::fm7_subintf_w));
+ map(0xfd00, 0xfd01).rw(FUNC(fm7_state::fm7_keyboard_r), FUNC(fm7_state::fm7_cassette_printer_w));
+ map(0xfd02, 0xfd02).rw(FUNC(fm7_state::fm7_cassette_printer_r), FUNC(fm7_state::fm7_irq_mask_w)); // IRQ mask
+ map(0xfd03, 0xfd03).rw(FUNC(fm7_state::fm7_irq_cause_r), FUNC(fm7_state::fm7_beeper_w)); // IRQ flags
+ map(0xfd04, 0xfd04).r(FUNC(fm7_state::fm7_fd04_r));
+ map(0xfd05, 0xfd05).rw(FUNC(fm7_state::fm7_subintf_r), FUNC(fm7_state::fm7_subintf_w));
// AM_RANGE(0xfd06,0xfd0c) AM_READ8(fm7_unknown_r,0xffff)
- map(0xfd0f, 0xfd0f).rw(this, FUNC(fm7_state::fm7_rom_en_r), FUNC(fm7_state::fm7_rom_en_w));
+ map(0xfd0f, 0xfd0f).rw(FUNC(fm7_state::fm7_rom_en_r), FUNC(fm7_state::fm7_rom_en_w));
// AM_RANGE(0xfd10,0xfd17) AM_READ8(fm7_unknown_r,0xffff)
- map(0xfd18, 0xfd1f).rw(this, FUNC(fm7_state::fm7_fdc_r), FUNC(fm7_state::fm7_fdc_w));
- map(0xfd20, 0xfd23).rw(this, FUNC(fm7_state::fm7_kanji_r), FUNC(fm7_state::fm7_kanji_w));
+ map(0xfd18, 0xfd1f).rw(FUNC(fm7_state::fm7_fdc_r), FUNC(fm7_state::fm7_fdc_w));
+ map(0xfd20, 0xfd23).rw(FUNC(fm7_state::fm7_kanji_r), FUNC(fm7_state::fm7_kanji_w));
// AM_RANGE(0xfd24,0xfd36) AM_READ8(fm7_unknown_r,0xffff)
- map(0xfd37, 0xfd37).w(this, FUNC(fm7_state::fm7_multipage_w));
- map(0xfd38, 0xfd3f).rw(this, FUNC(fm7_state::fm7_palette_r), FUNC(fm7_state::fm7_palette_w));
+ map(0xfd37, 0xfd37).w(FUNC(fm7_state::fm7_multipage_w));
+ map(0xfd38, 0xfd3f).rw(FUNC(fm7_state::fm7_palette_r), FUNC(fm7_state::fm7_palette_w));
// AM_RANGE(0xfd40,0xfdff) AM_READ8(fm7_unknown_r,0xffff)
}
void fm7_state::fm16_sub_mem(address_map &map)
{
- map(0x0000, 0xafff).rw(this, FUNC(fm7_state::fm7_vram_r), FUNC(fm7_state::fm7_vram_w)); // VRAM
+ map(0x0000, 0xafff).rw(FUNC(fm7_state::fm7_vram_r), FUNC(fm7_state::fm7_vram_w)); // VRAM
map(0xb000, 0xffff).rom(); // subsystem ROM
}
@@ -1651,61 +1651,61 @@ void fm7_state::fm77av_mem(address_map &map)
map(0xe000, 0xefff).rw("av_bank15", FUNC(address_map_bank_device::read8), FUNC(address_map_bank_device::write8));
map(0xf000, 0xfbff).rw("av_bank16", FUNC(address_map_bank_device::read8), FUNC(address_map_bank_device::write8));
map(0xfc00, 0xfc7f).ram();
- map(0xfc80, 0xfcff).rw(this, FUNC(fm7_state::fm7_main_shared_r), FUNC(fm7_state::fm7_main_shared_w));
+ map(0xfc80, 0xfcff).rw(FUNC(fm7_state::fm7_main_shared_r), FUNC(fm7_state::fm7_main_shared_w));
// I/O space (FD00-FDFF)
- map(0xfd00, 0xfd01).rw(this, FUNC(fm7_state::fm7_keyboard_r), FUNC(fm7_state::fm7_cassette_printer_w));
- map(0xfd02, 0xfd02).rw(this, FUNC(fm7_state::fm7_cassette_printer_r), FUNC(fm7_state::fm7_irq_mask_w)); // IRQ mask
- map(0xfd03, 0xfd03).rw(this, FUNC(fm7_state::fm7_irq_cause_r), FUNC(fm7_state::fm7_beeper_w)); // IRQ flags
- map(0xfd04, 0xfd04).r(this, FUNC(fm7_state::fm7_fd04_r));
- map(0xfd05, 0xfd05).rw(this, FUNC(fm7_state::fm7_subintf_r), FUNC(fm7_state::fm7_subintf_w));
- map(0xfd06, 0xfd0a).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd0b, 0xfd0b).r(this, FUNC(fm7_state::fm77av_boot_mode_r));
- map(0xfd0c, 0xfd0c).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd0d, 0xfd0d).rw(this, FUNC(fm7_state::fm7_psg_select_r), FUNC(fm7_state::fm7_psg_select_w));
- map(0xfd0e, 0xfd0e).rw(this, FUNC(fm7_state::fm7_psg_data_r), FUNC(fm7_state::fm7_psg_data_w));
- map(0xfd0f, 0xfd0f).rw(this, FUNC(fm7_state::fm7_rom_en_r), FUNC(fm7_state::fm7_rom_en_w));
- map(0xfd10, 0xfd10).w(this, FUNC(fm7_state::fm7_init_en_w));
- map(0xfd11, 0xfd11).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd12, 0xfd12).rw(this, FUNC(fm7_state::fm77av_sub_modestatus_r), FUNC(fm7_state::fm77av_sub_modestatus_w));
- map(0xfd13, 0xfd13).w(this, FUNC(fm7_state::fm77av_sub_bank_w));
- map(0xfd14, 0xfd14).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd15, 0xfd15).rw(this, FUNC(fm7_state::fm7_psg_select_r), FUNC(fm7_state::fm77av_ym_select_w));
- map(0xfd16, 0xfd16).rw(this, FUNC(fm7_state::fm7_psg_data_r), FUNC(fm7_state::fm7_psg_data_w));
- map(0xfd17, 0xfd17).r(this, FUNC(fm7_state::fm7_fmirq_r));
- map(0xfd18, 0xfd1f).rw(this, FUNC(fm7_state::fm7_fdc_r), FUNC(fm7_state::fm7_fdc_w));
- map(0xfd20, 0xfd23).rw(this, FUNC(fm7_state::fm7_kanji_r), FUNC(fm7_state::fm7_kanji_w));
- map(0xfd24, 0xfd2b).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd30, 0xfd34).w(this, FUNC(fm7_state::fm77av_analog_palette_w));
- map(0xfd35, 0xfd36).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd37, 0xfd37).w(this, FUNC(fm7_state::fm7_multipage_w));
- map(0xfd38, 0xfd3f).rw(this, FUNC(fm7_state::fm7_palette_r), FUNC(fm7_state::fm7_palette_w));
- map(0xfd40, 0xfd7f).r(this, FUNC(fm7_state::fm7_unknown_r));
- map(0xfd80, 0xfd93).rw(this, FUNC(fm7_state::fm7_mmr_r), FUNC(fm7_state::fm7_mmr_w));
- map(0xfd94, 0xfdff).r(this, FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd00, 0xfd01).rw(FUNC(fm7_state::fm7_keyboard_r), FUNC(fm7_state::fm7_cassette_printer_w));
+ map(0xfd02, 0xfd02).rw(FUNC(fm7_state::fm7_cassette_printer_r), FUNC(fm7_state::fm7_irq_mask_w)); // IRQ mask
+ map(0xfd03, 0xfd03).rw(FUNC(fm7_state::fm7_irq_cause_r), FUNC(fm7_state::fm7_beeper_w)); // IRQ flags
+ map(0xfd04, 0xfd04).r(FUNC(fm7_state::fm7_fd04_r));
+ map(0xfd05, 0xfd05).rw(FUNC(fm7_state::fm7_subintf_r), FUNC(fm7_state::fm7_subintf_w));
+ map(0xfd06, 0xfd0a).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd0b, 0xfd0b).r(FUNC(fm7_state::fm77av_boot_mode_r));
+ map(0xfd0c, 0xfd0c).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd0d, 0xfd0d).rw(FUNC(fm7_state::fm7_psg_select_r), FUNC(fm7_state::fm7_psg_select_w));
+ map(0xfd0e, 0xfd0e).rw(FUNC(fm7_state::fm7_psg_data_r), FUNC(fm7_state::fm7_psg_data_w));
+ map(0xfd0f, 0xfd0f).rw(FUNC(fm7_state::fm7_rom_en_r), FUNC(fm7_state::fm7_rom_en_w));
+ map(0xfd10, 0xfd10).w(FUNC(fm7_state::fm7_init_en_w));
+ map(0xfd11, 0xfd11).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd12, 0xfd12).rw(FUNC(fm7_state::fm77av_sub_modestatus_r), FUNC(fm7_state::fm77av_sub_modestatus_w));
+ map(0xfd13, 0xfd13).w(FUNC(fm7_state::fm77av_sub_bank_w));
+ map(0xfd14, 0xfd14).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd15, 0xfd15).rw(FUNC(fm7_state::fm7_psg_select_r), FUNC(fm7_state::fm77av_ym_select_w));
+ map(0xfd16, 0xfd16).rw(FUNC(fm7_state::fm7_psg_data_r), FUNC(fm7_state::fm7_psg_data_w));
+ map(0xfd17, 0xfd17).r(FUNC(fm7_state::fm7_fmirq_r));
+ map(0xfd18, 0xfd1f).rw(FUNC(fm7_state::fm7_fdc_r), FUNC(fm7_state::fm7_fdc_w));
+ map(0xfd20, 0xfd23).rw(FUNC(fm7_state::fm7_kanji_r), FUNC(fm7_state::fm7_kanji_w));
+ map(0xfd24, 0xfd2b).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd30, 0xfd34).w(FUNC(fm7_state::fm77av_analog_palette_w));
+ map(0xfd35, 0xfd36).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd37, 0xfd37).w(FUNC(fm7_state::fm7_multipage_w));
+ map(0xfd38, 0xfd3f).rw(FUNC(fm7_state::fm7_palette_r), FUNC(fm7_state::fm7_palette_w));
+ map(0xfd40, 0xfd7f).r(FUNC(fm7_state::fm7_unknown_r));
+ map(0xfd80, 0xfd93).rw(FUNC(fm7_state::fm7_mmr_r), FUNC(fm7_state::fm7_mmr_w));
+ map(0xfd94, 0xfdff).r(FUNC(fm7_state::fm7_unknown_r));
// Boot ROM (RAM on FM77AV and later)
- map(0xfe00, 0xffdf).ram().w(this, FUNC(fm7_state::fm77av_bootram_w)).share("boot_ram");
+ map(0xfe00, 0xffdf).ram().w(FUNC(fm7_state::fm77av_bootram_w)).share("boot_ram");
map(0xffe0, 0xffef).ram();
- map(0xfff0, 0xffff).rw(this, FUNC(fm7_state::vector_r), FUNC(fm7_state::vector_w));
+ map(0xfff0, 0xffff).rw(FUNC(fm7_state::vector_r), FUNC(fm7_state::vector_w));
}
void fm7_state::fm77av_sub_mem(address_map &map)
{
- map(0x0000, 0xbfff).rw(this, FUNC(fm7_state::fm7_vram_r), FUNC(fm7_state::fm7_vram_w)); // VRAM
+ map(0x0000, 0xbfff).rw(FUNC(fm7_state::fm7_vram_r), FUNC(fm7_state::fm7_vram_w)); // VRAM
map(0xc000, 0xcfff).ram().region("maincpu", 0x1c000); // Console RAM
map(0xd000, 0xd37f).ram().region("maincpu", 0x1d000); // Work RAM
map(0xd380, 0xd3ff).ram().share("shared_ram");
// I/O space (D400-D4FF)
- map(0xd400, 0xd401).r(this, FUNC(fm7_state::fm7_sub_keyboard_r));
- map(0xd402, 0xd402).r(this, FUNC(fm7_state::fm7_cancel_ack));
- map(0xd403, 0xd403).r(this, FUNC(fm7_state::fm7_sub_beeper_r));
- map(0xd404, 0xd404).r(this, FUNC(fm7_state::fm7_attn_irq_r));
- map(0xd408, 0xd408).rw(this, FUNC(fm7_state::fm7_crt_r), FUNC(fm7_state::fm7_crt_w));
- map(0xd409, 0xd409).rw(this, FUNC(fm7_state::fm7_vram_access_r), FUNC(fm7_state::fm7_vram_access_w));
- map(0xd40a, 0xd40a).rw(this, FUNC(fm7_state::fm7_sub_busyflag_r), FUNC(fm7_state::fm7_sub_busyflag_w));
- map(0xd40e, 0xd40f).w(this, FUNC(fm7_state::fm7_vram_offset_w));
- map(0xd410, 0xd42b).rw(this, FUNC(fm7_state::fm77av_alu_r), FUNC(fm7_state::fm77av_alu_w));
- map(0xd430, 0xd430).rw(this, FUNC(fm7_state::fm77av_video_flags_r), FUNC(fm7_state::fm77av_video_flags_w));
- map(0xd431, 0xd432).rw(this, FUNC(fm7_state::fm77av_key_encoder_r), FUNC(fm7_state::fm77av_key_encoder_w));
+ map(0xd400, 0xd401).r(FUNC(fm7_state::fm7_sub_keyboard_r));
+ map(0xd402, 0xd402).r(FUNC(fm7_state::fm7_cancel_ack));
+ map(0xd403, 0xd403).r(FUNC(fm7_state::fm7_sub_beeper_r));
+ map(0xd404, 0xd404).r(FUNC(fm7_state::fm7_attn_irq_r));
+ map(0xd408, 0xd408).rw(FUNC(fm7_state::fm7_crt_r), FUNC(fm7_state::fm7_crt_w));
+ map(0xd409, 0xd409).rw(FUNC(fm7_state::fm7_vram_access_r), FUNC(fm7_state::fm7_vram_access_w));
+ map(0xd40a, 0xd40a).rw(FUNC(fm7_state::fm7_sub_busyflag_r), FUNC(fm7_state::fm7_sub_busyflag_w));
+ map(0xd40e, 0xd40f).w(FUNC(fm7_state::fm7_vram_offset_w));
+ map(0xd410, 0xd42b).rw(FUNC(fm7_state::fm77av_alu_r), FUNC(fm7_state::fm77av_alu_w));
+ map(0xd430, 0xd430).rw(FUNC(fm7_state::fm77av_video_flags_r), FUNC(fm7_state::fm77av_video_flags_w));
+ map(0xd431, 0xd432).rw(FUNC(fm7_state::fm77av_key_encoder_r), FUNC(fm7_state::fm77av_key_encoder_w));
map(0xd500, 0xd7ff).ram().region("maincpu", 0x1d500); // Work RAM
map(0xd800, 0xdfff).bankr("bank20");
map(0xe000, 0xffff).bankr("bank21");
@@ -1717,22 +1717,22 @@ void fm7_state::fm7_banked_mem(address_map &map)
map(0x00000, 0x0ffff).ram().region("maincpu", 0x00000);
// Sub CPU space
- map(0x10000, 0x1bfff).rw(this, FUNC(fm7_state::fm7_vram_r), FUNC(fm7_state::fm7_vram_w)); // VRAM
+ map(0x10000, 0x1bfff).rw(FUNC(fm7_state::fm7_vram_r), FUNC(fm7_state::fm7_vram_w)); // VRAM
map(0x1c000, 0x1cfff).ram().region("maincpu", 0x1c000); // Console RAM
map(0x1d000, 0x1d37f).ram().region("maincpu", 0x1d000); // Work RAM
map(0x1d380, 0x1d3ff).ram().share("shared_ram");
// I/O space (D400-D4FF)
- map(0x1d400, 0x1d401).r(this, FUNC(fm7_state::fm7_sub_keyboard_r));
- map(0x1d402, 0x1d402).r(this, FUNC(fm7_state::fm7_cancel_ack));
- map(0x1d403, 0x1d403).r(this, FUNC(fm7_state::fm7_sub_beeper_r));
- map(0x1d404, 0x1d404).r(this, FUNC(fm7_state::fm7_attn_irq_r));
- map(0x1d408, 0x1d408).rw(this, FUNC(fm7_state::fm7_crt_r), FUNC(fm7_state::fm7_crt_w));
- map(0x1d409, 0x1d409).rw(this, FUNC(fm7_state::fm7_vram_access_r), FUNC(fm7_state::fm7_vram_access_w));
- map(0x1d40a, 0x1d40a).rw(this, FUNC(fm7_state::fm7_sub_busyflag_r), FUNC(fm7_state::fm7_sub_busyflag_w));
- map(0x1d40e, 0x1d40f).w(this, FUNC(fm7_state::fm7_vram_offset_w));
- map(0x1d410, 0x1d42b).rw(this, FUNC(fm7_state::fm77av_alu_r), FUNC(fm7_state::fm77av_alu_w));
- map(0x1d430, 0x1d430).rw(this, FUNC(fm7_state::fm77av_video_flags_r), FUNC(fm7_state::fm77av_video_flags_w));
- map(0x1d431, 0x1d432).rw(this, FUNC(fm7_state::fm77av_key_encoder_r), FUNC(fm7_state::fm77av_key_encoder_w));
+ map(0x1d400, 0x1d401).r(FUNC(fm7_state::fm7_sub_keyboard_r));
+ map(0x1d402, 0x1d402).r(FUNC(fm7_state::fm7_cancel_ack));
+ map(0x1d403, 0x1d403).r(FUNC(fm7_state::fm7_sub_beeper_r));
+ map(0x1d404, 0x1d404).r(FUNC(fm7_state::fm7_attn_irq_r));
+ map(0x1d408, 0x1d408).rw(FUNC(fm7_state::fm7_crt_r), FUNC(fm7_state::fm7_crt_w));
+ map(0x1d409, 0x1d409).rw(FUNC(fm7_state::fm7_vram_access_r), FUNC(fm7_state::fm7_vram_access_w));
+ map(0x1d40a, 0x1d40a).rw(FUNC(fm7_state::fm7_sub_busyflag_r), FUNC(fm7_state::fm7_sub_busyflag_w));
+ map(0x1d40e, 0x1d40f).w(FUNC(fm7_state::fm7_vram_offset_w));
+ map(0x1d410, 0x1d42b).rw(FUNC(fm7_state::fm77av_alu_r), FUNC(fm7_state::fm77av_alu_w));
+ map(0x1d430, 0x1d430).rw(FUNC(fm7_state::fm77av_video_flags_r), FUNC(fm7_state::fm77av_video_flags_w));
+ map(0x1d431, 0x1d432).rw(FUNC(fm7_state::fm77av_key_encoder_r), FUNC(fm7_state::fm77av_key_encoder_w));
map(0x1d500, 0x1d7ff).ram().region("maincpu", 0x1d500); // Work RAM
map(0x1d800, 0x1dfff).bankr("bank20");
map(0x1e000, 0x1ffff).bankr("bank21");