예제 #1
0
파일: c8280.cpp 프로젝트: system11b/mame
void c8280_device::c8280_fdc_mem(address_map &map)
{
	map.global_mask(0x1fff);
	map(0x0000, 0x007f).mirror(0x300).ram();
	map(0x0080, 0x0083).mirror(0x37c).rw(WD1797_TAG, FUNC(fd1797_device::read), FUNC(fd1797_device::write));
	map(0x0400, 0x07ff).ram().share("share1");
	map(0x0800, 0x0bff).ram().share("share2");
	map(0x0c00, 0x0fff).ram().share("share3");
	map(0x1000, 0x13ff).ram().share("share4");
	map(0x1400, 0x1400).mirror(0x3ff).rw(this, FUNC(c8280_device::fk5_r), FUNC(c8280_device::fk5_w));
	map(0x1800, 0x1fff).rom().region(M6502_FDC_TAG, 0);
}
예제 #2
0
void speglsht_state::st0016_io(address_map &map)
{
	map.global_mask(0xff);
	//AM_RANGE(0x00, 0xbf) AM_READ(st0016_vregs_r) AM_WRITE(st0016_vregs_w)
	map(0xe1, 0xe1).w(FUNC(speglsht_state::st0016_rom_bank_w));
	//AM_RANGE(0xe2, 0xe2) AM_WRITE(st0016_sprite_bank_w)
	//AM_RANGE(0xe3, 0xe4) AM_WRITE(st0016_character_bank_w)
	//AM_RANGE(0xe5, 0xe5) AM_WRITE(st0016_palette_bank_w)
	map(0xe6, 0xe6).nopw();
	map(0xe7, 0xe7).nopw();
	//AM_RANGE(0xf0, 0xf0) AM_READ(st0016_dma_r)
}
예제 #3
0
파일: kron.cpp 프로젝트: SailorSat/cabmame
/*   IO decoding
 *
 *   A7 A6 A5 A4 A3 A2 A1 A0
 *    0  x  x  x  x  x  x  x - 74138 selected
 *    0  0  0  0  x  x  x  x - 74259 selected
 *    0  0  0  0  D  0  0  0 - EEPROM Data In
 *    0  0  0  0  D  0  0  1 - COMDTR
 *    0  0  0  0  D  0  1  0 - EEPROM CS
 *    0  0  0  0  D  0  1  1 - Vertical Sync
 *    0  0  0  0  D  1  0  0 - TBRQ and BLANK set
 *    0  0  0  0  D  1  0  1 - BLINK
 *    0  0  0  0  D  1  1  0 - CSTR
 *    0  0  0  0  D  1  1  1 - EEPROM CLK
 *    0  0  0  1  x  x  x  x - AP5
 *    0  0  1  0  x  x  x  x - WKB
 *    0  0  1  1  x  x  x  x - 74299 G1+G2
 *    0  1  0  0  x  x  x  x - Reset of 74299
 *    0  1  0  1  x  x  x  x - Enable TX?
 *    0  1  1  0  x  x  x  x - Reset KBD
 *    0  1  1  1  x  x  x  x - DKA/DREQ0 Z180 = D0
 *
 * Now, in parallel there is a lot of stuff going on in the upper I/O address lines
 * they are driving the character generator and some other signals
 *  A19 - not available on the DIP64 package
 *  A18 - multiplexed pin used as Tout pulsing the VT1 signal
 *  A17 - WA on DD17 (74670) and DD18 (74670)
 *  A16 - WB on DD 17 (74670) and DD18 (74670)
 *
 * At the moment we emulate the screen at a high level so I just disregard the special functions on A16 - A18 by mirroring the mapping below
 */
void kron180_state::kron180_iomap(address_map &map)
{
	map.global_mask(0xff);
	map(0x0000, 0x000f).w(FUNC(kron180_state::sn74259_w));
	map(0x0010, 0x001f).rw(FUNC(kron180_state::ap5_r), FUNC(kron180_state::ap5_w));
	map(0x0020, 0x002f).w(FUNC(kron180_state::wkb_w));
	map(0x0030, 0x003f).r(FUNC(kron180_state::sn74299_r));
	map(0x0040, 0x004f).w(FUNC(kron180_state::sn74299_w));
	map(0x0050, 0x005f).w(FUNC(kron180_state::txen_w));
	map(0x0060, 0x006f).w(FUNC(kron180_state::kbd_reset_w));
	map(0x0070, 0x007f).w(FUNC(kron180_state::dreq_w));
}
예제 #4
0
파일: b2m.cpp 프로젝트: fesh0r/mame-full
void b2m_state::b2m_io(address_map &map)
{
	map.global_mask(0x1f);
	map(0x00, 0x03).rw(m_pit, FUNC(pit8253_device::read), FUNC(pit8253_device::write));
	map(0x04, 0x07).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write));
	map(0x08, 0x0b).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write));
	map(0x0c, 0x0c).rw(FUNC(b2m_state::b2m_localmachine_r), FUNC(b2m_state::b2m_localmachine_w));
	map(0x10, 0x13).rw(FUNC(b2m_state::b2m_palette_r), FUNC(b2m_state::b2m_palette_w));
	map(0x14, 0x15).rw(m_pic, FUNC(pic8259_device::read), FUNC(pic8259_device::write));
	map(0x18, 0x19).rw("uart", FUNC(i8251_device::read), FUNC(i8251_device::write));
	map(0x1c, 0x1f).rw(m_fdc, FUNC(fd1793_device::read), FUNC(fd1793_device::write));
}
예제 #5
0
파일: djboy.cpp 프로젝트: PugsyMAME/mame
void djboy_state::slavecpu_port_am(address_map &map)
{
	map.global_mask(0xff);
	map(0x00, 0x00).w(FUNC(djboy_state::slavecpu_bankswitch_w));
	map(0x02, 0x02).w(m_soundlatch, FUNC(generic_latch_8_device::write));
	map(0x04, 0x04).r(m_slavelatch, FUNC(generic_latch_8_device::read)).w(m_beastlatch, FUNC(generic_latch_8_device::write));
	map(0x06, 0x06).w(FUNC(djboy_state::djboy_scrolly_w));
	map(0x08, 0x08).w(FUNC(djboy_state::djboy_scrollx_w));
	map(0x0a, 0x0a).w(FUNC(djboy_state::trigger_nmi_on_mastercpu));
	map(0x0c, 0x0c).r(FUNC(djboy_state::beast_status_r));
	map(0x0e, 0x0e).w(FUNC(djboy_state::coin_count_w));
}
예제 #6
0
파일: c2040.cpp 프로젝트: RafTacker/mame
void c2040_device::c2040_fdc_mem(address_map &map)
{
	map.global_mask(0x1fff);
	map(0x0000, 0x003f).mirror(0x0300).m(M6530_TAG, FUNC(mos6530_new_device::ram_map));
	map(0x0040, 0x004f).mirror(0x0330).m(M6522_TAG, FUNC(via6522_device::map));
	map(0x0080, 0x008f).mirror(0x0330).m(M6530_TAG, FUNC(mos6530_new_device::io_map));
	map(0x0400, 0x07ff).ram().share("share1");
	map(0x0800, 0x0bff).ram().share("share2");
	map(0x0c00, 0x0fff).ram().share("share3");
	map(0x1000, 0x13ff).ram().share("share4");
	map(0x1c00, 0x1fff).rom().region(M6504_TAG, 0);
}
예제 #7
0
파일: cop01.cpp 프로젝트: MASHinfo/mame
void mightguy_state::mightguy_io_map(address_map &map)
{
	map.global_mask(0xff);
	map(0x00, 0x00).portr("P1");
	map(0x01, 0x01).portr("P2");
	map(0x02, 0x02).portr("SYSTEM");
	map(0x03, 0x03).portr("DSW1");
	map(0x04, 0x04).portr("DSW2");
	map(0x40, 0x43).w(FUNC(cop01_state::cop01_vreg_w));
	map(0x44, 0x44).w(FUNC(cop01_state::cop01_sound_command_w));
	map(0x45, 0x45).w(FUNC(cop01_state::cop01_irq_ack_w)); /* ? */
}
예제 #8
0
파일: ojankohs.cpp 프로젝트: PugsyMAME/mame
void ojankohs_state::ojankoc_io_map(address_map &map)
{
	map.global_mask(0xff);
	map(0x00, 0x1f).w(FUNC(ojankohs_state::ojankoc_palette_w));
	map(0xf9, 0xf9).w(FUNC(ojankohs_state::ojankohs_msm5205_w));
	map(0xfb, 0xfb).w(FUNC(ojankohs_state::ojankoc_ctrl_w));
	map(0xfc, 0xfc).r(FUNC(ojankohs_state::ojankoc_keymatrix_p1_r));
	map(0xfd, 0xfd).r(FUNC(ojankohs_state::ojankoc_keymatrix_p2_r));
	map(0xfd, 0xfd).w(FUNC(ojankohs_state::port_select_w));
	map(0xfe, 0xff).w("aysnd", FUNC(ay8910_device::data_address_w));
	map(0xff, 0xff).r("aysnd", FUNC(ay8910_device::data_r));
}
예제 #9
0
파일: mw18w.cpp 프로젝트: SailorSat/cabmame
void mw18w_state::mw18w_portmap(address_map &map)
{
	map.unmap_value_high();
	map.global_mask(0xff);
	map(0x00, 0x00).portr("IN0").w(FUNC(mw18w_state::mw18w_sound0_w));
	map(0x01, 0x01).portr("IN1").w(FUNC(mw18w_state::mw18w_sound1_w));
	map(0x02, 0x02).portr("IN2").w(FUNC(mw18w_state::mw18w_lamps_w));
	map(0x03, 0x03).portr("DSW").w(FUNC(mw18w_state::mw18w_led_display_w));
	map(0x04, 0x04).portr("IN4");
	map(0x06, 0x06).w("watchdog", FUNC(watchdog_timer_device::reset_w));
	map(0x07, 0x07).w(FUNC(mw18w_state::mw18w_irq0_clear_w));
}
예제 #10
0
void dsb46_state::dsb46_io(address_map &map)
{
	map.global_mask(0xff);
	map.unmap_value_high();
	map(0x00, 0x03).rw("sio", FUNC(z80sio_device::ba_cd_r), FUNC(z80sio_device::ba_cd_w));
	map(0x08, 0x0b).rw("ctc1", FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
	map(0x1a, 0x1a).w(FUNC(dsb46_state::port1a_w));
	//AM_RANGE(0x10, 0x10) disk related
	//AM_RANGE(0x14, 0x14) ?? (read after CTC1 TRG3)
	//AM_RANGE(0x18, 0x18) ??
	//AM_RANGE(0x1c, 0x1c) disk data
	//AM_RANGE(0x1d, 0x1d) disk status (FF = no fdc)
}
예제 #11
0
파일: p2000t.cpp 프로젝트: PugsyMAME/mame
/* port i/o functions */
void p2000t_state::p2000t_io(address_map &map)
{
	map.global_mask(0xff);
	map(0x00, 0x0f).r(FUNC(p2000t_state::p2000t_port_000f_r));
	map(0x10, 0x1f).w(FUNC(p2000t_state::p2000t_port_101f_w));
	map(0x20, 0x2f).r(FUNC(p2000t_state::p2000t_port_202f_r));
	map(0x30, 0x3f).w(FUNC(p2000t_state::p2000t_port_303f_w));
	map(0x50, 0x5f).w(FUNC(p2000t_state::p2000t_port_505f_w));
	map(0x70, 0x7f).w(FUNC(p2000t_state::p2000t_port_707f_w));
	map(0x88, 0x8b).w(FUNC(p2000t_state::p2000t_port_888b_w));
	map(0x8c, 0x90).w(FUNC(p2000t_state::p2000t_port_8c90_w));
	map(0x94, 0x94).w(FUNC(p2000t_state::p2000t_port_9494_w));
}
예제 #12
0
파일: avalnche.cpp 프로젝트: rfka01/mame
void avalnche_state::main_map(address_map &map)
{
	map.global_mask(0x7fff);
	map(0x0000, 0x1fff).ram().share("videoram");
	map(0x2000, 0x2000).mirror(0x0ffc).portr("IN0");
	map(0x2001, 0x2001).mirror(0x0ffc).portr("IN1");
	map(0x2002, 0x2002).mirror(0x0ffc).portr("PADDLE");
	map(0x2003, 0x2003).mirror(0x0ffc).nopr();
	map(0x3000, 0x3000).mirror(0x0fff).w("watchdog", FUNC(watchdog_timer_device::reset_w));
	map(0x4000, 0x4007).mirror(0x0ff8).w("latch", FUNC(f9334_device::write_d0));
	map(0x5000, 0x5000).mirror(0x0fff).w(FUNC(avalnche_state::avalnche_noise_amplitude_w));
	map(0x6000, 0x7fff).rom();
}
예제 #13
0
파일: divebomb.cpp 프로젝트: MASHinfo/mame
void divebomb_state::divebomb_rozcpu_iomap(address_map &map)
{
	map.global_mask(0xff);
	map(0x00, 0x00).w(FUNC(divebomb_state::rozcpu_bank_w));
	map(0x10, 0x10).w(FUNC(divebomb_state::rozcpu_wrap_enable_w<1>));
	map(0x12, 0x12).w(FUNC(divebomb_state::rozcpu_enable_w<0>));
	map(0x13, 0x13).w(FUNC(divebomb_state::rozcpu_enable_w<1>));
	map(0x14, 0x14).w(FUNC(divebomb_state::rozcpu_wrap_enable_w<0>));
	map(0x20, 0x2f).w(m_k051316[0], FUNC(k051316_device::ctrl_w));
	map(0x30, 0x3f).w(m_k051316[1], FUNC(k051316_device::ctrl_w));
	map(0x40, 0x40).r("fg2roz", FUNC(generic_latch_8_device::read)).w(m_roz2fg_latch, FUNC(generic_latch_8_device::write));
	map(0x50, 0x50).w(FUNC(divebomb_state::rozcpu_pal_w));
}
예제 #14
0
파일: mazerbla.cpp 프로젝트: rfka01/mame
void mazerbla_state::mazerbla_io_map(address_map &map)
{
	map.global_mask(0xff);
	map(0x4c, 0x4f).rw(FUNC(mazerbla_state::ls670_1_r), FUNC(mazerbla_state::ls670_0_w));
	map(0x60, 0x60).w(FUNC(mazerbla_state::zpu_bcd_decoder_w)); // AM_READ from protection pal, if populated
	map(0x62, 0x62).r(FUNC(mazerbla_state::zpu_inputs_r));
	// 64 is some sort of output latch, unpopulated?
	// 66 is some sort of output latch, unpopulated?
	map(0x68, 0x68).w(FUNC(mazerbla_state::zpu_coin_counter_w));
	map(0x6a, 0x6a).w(FUNC(mazerbla_state::zpu_lamps_w));
	// 6c RW is a 6850 acia for communication with another cabinet or debug console? unpopulated?
	map(0x6e, 0x6f).w(FUNC(mazerbla_state::zpu_led_w));
}
예제 #15
0
파일: c2040.cpp 프로젝트: RafTacker/mame
void c2040_device::c2040_main_mem(address_map &map)
{
	map.global_mask(0x7fff);
	map(0x0000, 0x007f).mirror(0x0100).m(M6532_0_TAG, FUNC(mos6532_new_device::ram_map));
	map(0x0080, 0x00ff).mirror(0x0100).m(M6532_1_TAG, FUNC(mos6532_new_device::ram_map));
	map(0x0200, 0x021f).mirror(0x0d60).m(M6532_0_TAG, FUNC(mos6532_new_device::io_map));
	map(0x0280, 0x029f).mirror(0x0d60).m(M6532_1_TAG, FUNC(mos6532_new_device::io_map));
	map(0x1000, 0x13ff).mirror(0x0c00).ram().share("share1");
	map(0x2000, 0x23ff).mirror(0x0c00).ram().share("share2");
	map(0x3000, 0x33ff).mirror(0x0c00).ram().share("share3");
	map(0x4000, 0x43ff).mirror(0x0c00).ram().share("share4");
	map(0x5000, 0x7fff).rom().region(M6502_TAG, 0);
}
예제 #16
0
void mc1000_state::mc1000_io(address_map &map)
{
	map.global_mask(0xff);
	map(0x04, 0x04).rw(FUNC(mc1000_state::printer_r), FUNC(mc1000_state::printer_w));
	map(0x05, 0x05).w("cent_data_out", FUNC(output_latch_device::bus_w));
//  map(0x10, 0x10).w(m_crtc, FUNC(mc6845_device::address_w));
//  map(0x11, 0x11).rw(m_crtc, FUNC(mc6845_device::register_r), FUNC(mc6845_device::register_w));
	map(0x12, 0x12).w(FUNC(mc1000_state::mc6845_ctrl_w));
	map(0x20, 0x20).w(AY8910_TAG, FUNC(ay8910_device::address_w));
	map(0x40, 0x40).r(AY8910_TAG, FUNC(ay8910_device::data_r));
	map(0x60, 0x60).w(AY8910_TAG, FUNC(ay8910_device::data_w));
	map(0x80, 0x80).w(FUNC(mc1000_state::mc6847_attr_w));
}
예제 #17
0
파일: byvid.cpp 프로젝트: SailorSat/cabmame
void by133_state::main_map(address_map &map)
{ // U9 MPU
	map.global_mask(0x7fff);
	map(0x0000, 0x007f).ram(); // 128x8 in MC6810 U7 MPU
	map(0x0088, 0x008b).rw(m_pia_u10, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); // PIA U10 MPU
	map(0x0090, 0x0093).rw(m_pia_u11, FUNC(pia6821_device::read), FUNC(pia6821_device::write)); // PIA U11 MPU
	map(0x0200, 0x03ff).ram().share("nvram"); // 256x4 in 5101L U8 MPU, battery backed (D4-7 are data, A4-8 are address)
	map(0x1000, 0x17ff).rom().region("roms", 0x0000);
	map(0x1800, 0x1fff).rom().region("roms", 0x1000);
	map(0x5000, 0x57ff).rom().region("roms", 0x0800);
	map(0x5800, 0x5fff).rom().region("roms", 0x1800);
	map(0x7000, 0x7fff).rom().region("roms", 0x1000);
}
예제 #18
0
파일: ojankohs.cpp 프로젝트: PugsyMAME/mame
void ojankohs_state::ojankohs_io_map(address_map &map)
{
	map.global_mask(0xff);
	map(0x00, 0x00).portr("system").w(FUNC(ojankohs_state::port_select_w));
	map(0x01, 0x01).rw(FUNC(ojankohs_state::keymatrix_p1_r), FUNC(ojankohs_state::ojankohs_rombank_w));
	map(0x02, 0x02).rw(FUNC(ojankohs_state::keymatrix_p2_r), FUNC(ojankohs_state::ojankohs_gfxreg_w));
	map(0x03, 0x03).w(FUNC(ojankohs_state::ojankohs_adpcm_reset_w));
	map(0x04, 0x04).w(FUNC(ojankohs_state::ojankohs_flipscreen_w));
	map(0x05, 0x05).w(FUNC(ojankohs_state::ojankohs_msm5205_w));
	map(0x06, 0x06).r("aysnd", FUNC(ym2149_device::data_r));
	map(0x06, 0x07).w("aysnd", FUNC(ym2149_device::data_address_w));
	map(0x10, 0x11).w("gga", FUNC(vsystem_gga_device::write));
}
예제 #19
0
void fromance_state::fromance_sub_io_map(address_map &map)
{
	map.global_mask(0xff);
	map(0x10, 0x11).w(m_gga, FUNC(vsystem_gga_device::write));
	map(0x12, 0x12).nopr();             // unknown
	map(0x20, 0x20).w(FUNC(fromance_state::fromance_rombank_w));
	map(0x21, 0x21).r(FUNC(fromance_state::fromance_busycheck_sub_r)).w(FUNC(fromance_state::fromance_gfxreg_w));
	map(0x22, 0x25).w(FUNC(fromance_state::fromance_scroll_w));
	map(0x26, 0x26).rw(m_sublatch, FUNC(generic_latch_8_device::read), FUNC(generic_latch_8_device::acknowledge_w));
	map(0x27, 0x27).w(FUNC(fromance_state::fromance_adpcm_reset_w));
	map(0x28, 0x28).w(FUNC(fromance_state::fromance_adpcm_w));
	map(0x2a, 0x2b).w("ymsnd", FUNC(ym2413_device::write));
}
예제 #20
0
파일: altos5.cpp 프로젝트: MASHinfo/mame
void altos5_state::io_map(address_map &map)
{
	map.global_mask(0xff);
	map(0x00, 0x03).rw(m_dma, FUNC(z80dma_device::bus_r), FUNC(z80dma_device::bus_w));
	map(0x04, 0x07).rw(m_fdc, FUNC(fd1797_device::read), FUNC(fd1797_device::write));
	map(0x08, 0x0b).rw(m_pio0, FUNC(z80pio_device::read), FUNC(z80pio_device::write));
	map(0x0c, 0x0f).rw("ctc", FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
	map(0x10, 0x13).rw("pio1", FUNC(z80pio_device::read), FUNC(z80pio_device::write));
	map(0x14, 0x17).w(FUNC(altos5_state::port14_w));
	map(0x1c, 0x1f).rw("dart", FUNC(z80dart_device::ba_cd_r), FUNC(z80dart_device::ba_cd_w));
	//AM_RANGE(0x20, 0x23) // Hard drive
	map(0x2c, 0x2f).rw("sio", FUNC(z80sio_device::ba_cd_r), FUNC(z80sio_device::ba_cd_w));
}
예제 #21
0
void fromance_state::nekkyoku_sub_io_map(address_map &map)
{
	map.global_mask(0xff);
	map(0x10, 0x11).w(m_gga, FUNC(vsystem_gga_device::write));
	map(0x12, 0x12).nopr();             // unknown
	map(0xe0, 0xe0).w(FUNC(fromance_state::fromance_rombank_w));
	map(0xe1, 0xe1).r(FUNC(fromance_state::fromance_busycheck_sub_r)).w(FUNC(fromance_state::fromance_gfxreg_w));
	map(0xe2, 0xe5).w(FUNC(fromance_state::fromance_scroll_w));
	map(0xe6, 0xe6).rw(m_sublatch, FUNC(generic_latch_8_device::read), FUNC(generic_latch_8_device::acknowledge_w));
	map(0xe7, 0xe7).w(FUNC(fromance_state::fromance_adpcm_reset_w));
	map(0xe8, 0xe8).w(FUNC(fromance_state::fromance_adpcm_w));
	map(0xe9, 0xea).w("aysnd", FUNC(ay8910_device::data_address_w));
}
예제 #22
0
void stargame_state::maincpu_io(address_map &map)
{
	map.unmap_value_high();
	map.global_mask(0xff);
	map(0x00, 0x00).mirror(0x09).w("soundlatch", FUNC(generic_latch_8_device::write)); // CSON - command to the sound cpu - NMI to sound cpu
	map(0x10, 0x1f).w("watchdog", FUNC(watchdog_timer_device::reset_w));
	map(0x20, 0x2f); // CSW2 - input lines: P0 to D4; P1 to D5; DAPRI to D6; TEST to D7
	map(0x30, 0x3f); // CSW1 - input lines
	map(0x40, 0x4f); // CDIG - score display
	map(0x50, 0x5f); // CDRIV
	map(0x60, 0x67).w("mainlatch", FUNC(ls259_device::write_d0)); // CPOR
	map(0x68, 0x69).mirror(0x06); // CPOR : 68=CKPRI; 69=CKDIS
	map(0x70, 0x73).mirror(0x0c).rw(m_ctc, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
}
예제 #23
0
void atari_s1_state::atarians_map(address_map &map)
{ // more ram
	map.global_mask(0x7fff);
	map(0x0000, 0x01ff).ram().share("ram");
	map(0x1080, 0x1083).rw(FUNC(atari_s1_state::m1080_r), FUNC(atari_s1_state::m1080_w));
	map(0x1084, 0x1087).rw(FUNC(atari_s1_state::m1084_r), FUNC(atari_s1_state::m1084_w));
	map(0x1088, 0x108b).rw(FUNC(atari_s1_state::m1088_r), FUNC(atari_s1_state::m1088_w));
	map(0x108c, 0x108f).rw(FUNC(atari_s1_state::m108c_r), FUNC(atari_s1_state::m108c_w));
	map(0x2000, 0x204f).mirror(0x0F80).r(FUNC(atari_s1_state::switch_r));
	map(0x3000, 0x3fff).w(FUNC(atari_s1_state::audioen_w)); // audio enable
	map(0x4000, 0x4fff).w("watchdog", FUNC(watchdog_timer_device::reset_w));
	map(0x6000, 0x6fff).w(FUNC(atari_s1_state::audiores_w)); // audio reset
	map(0x7000, 0x7fff).rom();
}
예제 #24
0
파일: lux21056.cpp 프로젝트: RafTacker/mame
void luxor_55_21056_device::luxor_55_21056_io(address_map &map)
{
	map.unmap_value_high();
	map.global_mask(0xf8);
	map(0x00, 0x00).mirror(0xf0).rw(Z80DMA_TAG, FUNC(z80dma_device::read), FUNC(z80dma_device::write));
	map(0x08, 0x08).r(this, FUNC(luxor_55_21056_device::sasi_status_r));
	map(0x18, 0x18).w(this, FUNC(luxor_55_21056_device::stat_w));
	map(0x28, 0x28).r(this, FUNC(luxor_55_21056_device::out_r));
	map(0x38, 0x38).w(this, FUNC(luxor_55_21056_device::inp_w));
	map(0x48, 0x48).rw(this, FUNC(luxor_55_21056_device::sasi_data_r), FUNC(luxor_55_21056_device::sasi_data_w));
	map(0x58, 0x58).rw(this, FUNC(luxor_55_21056_device::rdy_reset_r), FUNC(luxor_55_21056_device::rdy_reset_w));
	map(0x68, 0x68).rw(this, FUNC(luxor_55_21056_device::sasi_sel_r), FUNC(luxor_55_21056_device::sasi_sel_w));
	map(0x78, 0x78).rw(this, FUNC(luxor_55_21056_device::sasi_rst_r), FUNC(luxor_55_21056_device::sasi_rst_w));
}
예제 #25
0
파일: bullet.cpp 프로젝트: PugsyMAME/mame
void bulletf_state::bulletf_io(address_map &map)
{
	map.global_mask(0x3f);
	map(0x00, 0x03).rw(m_dart, FUNC(z80dart_device::ba_cd_r), FUNC(z80dart_device::ba_cd_w));
	map(0x04, 0x07).rw(Z80PIO_TAG, FUNC(z80pio_device::read), FUNC(z80pio_device::write));
	map(0x08, 0x0b).rw(m_ctc, FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
	map(0x10, 0x13).rw(m_fdc, FUNC(mb8877_device::read), FUNC(mb8877_device::write));
	map(0x14, 0x14).w(FUNC(bulletf_state::xdma0_w));
	map(0x16, 0x16).w(FUNC(bulletf_state::xfdc_w));
	map(0x17, 0x17).w(FUNC(bulletf_state::mbank_w));
	map(0x19, 0x19).rw(FUNC(bulletf_state::scsi_r), FUNC(bulletf_state::scsi_w));
	map(0x1a, 0x1a).rw(m_dmac, FUNC(z80dma_device::bus_r), FUNC(z80dma_device::bus_w));
	map(0x1b, 0x1b).r(FUNC(bulletf_state::hwsts_r));
}
예제 #26
0
파일: konin.cpp 프로젝트: MASHinfo/mame
void konin_state::konin_io(address_map &map)
{
	map.unmap_value_high();
	map.global_mask(0xff);
	map(0x24, 0x24).w(FUNC(konin_state::picu_b_w));
	map(0x80, 0x83).lrw8("ioppi_rw",
		[this](offs_t offset) { return m_ioppi->read(offset^3); },
		[this](offs_t offset, u8 data) { m_ioppi->write(offset^3, data); });
	map(0xf6, 0xf6).rw("uart", FUNC(i8251_device::status_r), FUNC(i8251_device::control_w));
	map(0xf7, 0xf7).rw("uart", FUNC(i8251_device::data_r), FUNC(i8251_device::data_w));
	map(0xf8, 0xfb).lrw8("iopit_rw",
		[this](offs_t offset) { return m_iopit->read(offset^3); },
		[this](offs_t offset, u8 data) { m_iopit->write(offset^3, data); });
}
예제 #27
0
파일: pcxt.cpp 프로젝트: MASHinfo/mame
void pcxt_state::filetto_io(address_map &map)
{
	map.global_mask(0x3ff);
	map(0x0000, 0x00ff).m(m_mb, FUNC(pc_noppi_mb_device::map));
	map(0x0060, 0x0060).r(FUNC(pcxt_state::port_a_r));  //not a real 8255
	map(0x0061, 0x0061).rw(FUNC(pcxt_state::port_b_r), FUNC(pcxt_state::port_b_w));
	map(0x0062, 0x0062).r(FUNC(pcxt_state::port_c_r));
	map(0x0201, 0x0201).portr("COIN"); //game port
	map(0x0310, 0x0311).rw(FUNC(pcxt_state::disk_iobank_r), FUNC(pcxt_state::disk_iobank_w)); //Prototyping card
	map(0x0312, 0x0312).portr("IN0"); //Prototyping card,read only
	map(0x03f2, 0x03f2).w(FUNC(pcxt_state::fdc_dor_w));
	map(0x03f4, 0x03f4).r(FUNC(pcxt_state::fdc765_status_r)); //765 Floppy Disk Controller (FDC) Status
	map(0x03f5, 0x03f5).rw(FUNC(pcxt_state::fdc765_data_r), FUNC(pcxt_state::fdc765_data_w));//FDC Data
}
예제 #28
0
파일: rx78.cpp 프로젝트: SailorSat/cabmame
void rx78_state::rx78_io(address_map &map)
{
	map.unmap_value_high();
	map.global_mask(0xff);
//  AM_RANGE(0xe2, 0xe2) AM_READNOP AM_WRITENOP //printer
//  AM_RANGE(0xe3, 0xe3) AM_WRITENOP //printer
	map(0xf0, 0xf0).rw(FUNC(rx78_state::cass_r), FUNC(rx78_state::cass_w)); //cmt
	map(0xf1, 0xf1).w(FUNC(rx78_state::vram_read_bank_w));
	map(0xf2, 0xf2).w(FUNC(rx78_state::vram_write_bank_w));
	map(0xf4, 0xf4).rw(FUNC(rx78_state::key_r), FUNC(rx78_state::key_w)); //keyboard
	map(0xf5, 0xfb).w(FUNC(rx78_state::vdp_reg_w)); //vdp
	map(0xfc, 0xfc).w(FUNC(rx78_state::vdp_bg_reg_w)); //vdp
	map(0xfe, 0xfe).w(FUNC(rx78_state::vdp_pri_mask_w));
	map(0xff, 0xff).w("sn1", FUNC(sn76489a_device::write)); //psg
}
예제 #29
0
void atari_s1_state::atari_s1_map(address_map &map)
{
	map.global_mask(0x7fff);
	map(0x0000, 0x00ff).ram().share("ram");
	map(0x1080, 0x1083).rw(FUNC(atari_s1_state::m1080_r), FUNC(atari_s1_state::m1080_w));
	map(0x1084, 0x1087).rw(FUNC(atari_s1_state::m1084_r), FUNC(atari_s1_state::m1084_w));
	map(0x1088, 0x108b).rw(FUNC(atari_s1_state::m1088_r), FUNC(atari_s1_state::m1088_w));
	map(0x108c, 0x108f).rw(FUNC(atari_s1_state::m108c_r), FUNC(atari_s1_state::m108c_w));
	map(0x2000, 0x204f).mirror(0x0F80).r(FUNC(atari_s1_state::switch_r)).nopw(); // aavenger ROL 200B causes a spurious write
	map(0x3000, 0x3fff).w(FUNC(atari_s1_state::audioen_w)); // audio enable
	map(0x4000, 0x4fff).w("watchdog", FUNC(watchdog_timer_device::reset_w));
	map(0x5080, 0x508f).w(FUNC(atari_s1_state::meter_w)); // time2000 only
	map(0x6000, 0x6fff).w(FUNC(atari_s1_state::audiores_w)); // audio reset
	map(0x7000, 0x7fff).rom();
}
예제 #30
0
void hvyunit_state::slave_io(address_map &map)
{
	map.global_mask(0xff);
	map(0x00, 0x00).w(FUNC(hvyunit_state::slave_bankswitch_w));
	map(0x02, 0x02).w(m_soundlatch, FUNC(generic_latch_8_device::write));
	map(0x04, 0x04).r(m_slavelatch, FUNC(generic_latch_8_device::read));
	map(0x04, 0x04).w(m_mermaidlatch, FUNC(generic_latch_8_device::write));
	map(0x06, 0x06).w(FUNC(hvyunit_state::scrolly_w));
	map(0x08, 0x08).w(FUNC(hvyunit_state::scrollx_w));
	map(0x0c, 0x0c).r(FUNC(hvyunit_state::mermaid_status_r));
	map(0x0e, 0x0e).w(FUNC(hvyunit_state::coin_count_w));

//  AM_RANGE(0x22, 0x22) AM_READ(hu_scrolly_hi_reset) //22/a2 taken from ram $f065
//  AM_RANGE(0xa2, 0xa2) AM_READ(hu_scrolly_hi_set)
}