mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
misc atari: correct 2804 eeprom address range
This commit is contained in:
parent
16e709ad82
commit
8835e5ad9a
@ -56,7 +56,7 @@
|
||||
W -------- x------- (ADPCM bank select)
|
||||
W -------- ---xxxxx (Volume)
|
||||
640060 W -------- -------- EEPROM enable
|
||||
641000-641FFF R/W -------- xxxxxxxx EEPROM
|
||||
641000-6413FF R/W -------- xxxxxxxx EEPROM
|
||||
642000-642001 R/W xxxxxxxx -------- MSM6295 communications
|
||||
646000 W -------- -------- 32V IRQ acknowledge
|
||||
647000 W -------- -------- Watchdog reset
|
||||
@ -159,7 +159,7 @@ void sparkz_state::main_map(address_map &map)
|
||||
map(0x640026, 0x640027).portr("TRACKY1");
|
||||
map(0x640041, 0x640041).mirror(0xe).w(FUNC(sparkz_state::latch_w));
|
||||
map(0x640060, 0x64006f).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write16));
|
||||
map(0x641000, 0x641fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x641000, 0x6413ff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x642000, 0x642000).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
|
||||
map(0x646000, 0x646001).mirror(0xffe).w(FUNC(sparkz_state::scanline_int_ack_w));
|
||||
map(0x647000, 0x647fff).w("watchdog", FUNC(watchdog_timer_device::reset16_w));
|
||||
|
@ -123,7 +123,7 @@
|
||||
B00200-B003FF R/W xxxxxxxx xxxxxxxx Motion object palette RAM (256 entries)
|
||||
B00400-B005FF R/W xxxxxxxx xxxxxxxx Playfield palette RAM (256 entries)
|
||||
B00600-B007FF R/W xxxxxxxx xxxxxxxx Translucency palette RAM (256 entries)
|
||||
F00000-F00FFF R/W -------- xxxxxxxx EEPROM
|
||||
F00000-F003FF R/W -------- xxxxxxxx EEPROM
|
||||
F20000-F20007 R -------- xxxxxxxx Analog inputs
|
||||
F40000-F4001F R -------- xxxxxxxx Joystick inputs
|
||||
F40000-F4001F W -------- -------- Joystick IRQ enable
|
||||
@ -420,7 +420,7 @@ void atarisy1_state::main_map(address_map &map)
|
||||
map(0xa02000, 0xa02fff).ram().w(FUNC(atarisy1_state::atarisy1_spriteram_w)).share("mob");
|
||||
map(0xa03000, 0xa03fff).ram().w(m_alpha_tilemap, FUNC(tilemap_device::write16)).share("alpha");
|
||||
map(0xb00000, 0xb007ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
|
||||
map(0xf00000, 0xf00fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0xf00000, 0xf003ff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0xf20000, 0xf20007).r(FUNC(atarisy1_state::trakball_r));
|
||||
map(0xf40000, 0xf4001f).rw(FUNC(atarisy1_state::adc_r), FUNC(atarisy1_state::adc_w)).umask16(0x00ff);
|
||||
map(0xf60000, 0xf60003).portr("F60000");
|
||||
|
@ -94,7 +94,7 @@
|
||||
SOUND CPU
|
||||
========================================================================
|
||||
0000-0FFF R/W xxxxxxxx Program RAM
|
||||
1000-17FF R/W xxxxxxxx EEPROM
|
||||
1000-11FF R/W xxxxxxxx EEPROM
|
||||
1800-180F R/W xxxxxxxx POKEY 1 (left) communications
|
||||
1810-1813 R xxxxxxxx LETA analog inputs
|
||||
1830-183F R/W xxxxxxxx POKEY 2 (right) communications
|
||||
@ -812,7 +812,7 @@ void atarisy2_state::main_map(address_map &map)
|
||||
void atarisy2_state::sound_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x0fff).mirror(0x2000).ram();
|
||||
map(0x1000, 0x17ff).mirror(0x2000).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write));
|
||||
map(0x1000, 0x11ff).mirror(0x2600).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write));
|
||||
map(0x1800, 0x180f).mirror(0x2780).rw(m_pokey[0], FUNC(pokey_device::read), FUNC(pokey_device::write));
|
||||
map(0x1810, 0x1813).mirror(0x278c).r(FUNC(atarisy2_state::leta_r));
|
||||
map(0x1830, 0x183f).mirror(0x2780).rw(m_pokey[1], FUNC(pokey_device::read), FUNC(pokey_device::write));
|
||||
|
@ -120,7 +120,7 @@ void cyberbal_state::p2_reset_w(uint16_t data)
|
||||
void cyberbal_state::main_map(address_map &map)
|
||||
{
|
||||
map(0x000000, 0x03ffff).rom();
|
||||
map(0xfc0000, 0xfc0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0xfc0000, 0xfc03ff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0xfc8000, 0xfcffff).r(m_sac, FUNC(atari_sac_device::main_response_r)).umask16(0xff00);
|
||||
map(0xfd0000, 0xfd1fff).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write16));
|
||||
map(0xfd2000, 0xfd3fff).w(m_sac, FUNC(atari_sac_device::sound_reset_w));
|
||||
@ -147,6 +147,7 @@ void cyberbal_state::tournament_map(address_map &map)
|
||||
{
|
||||
main_map(map);
|
||||
map(0x018000, 0x019fff).mirror(0x6000).bankr(m_slapstic_bank);
|
||||
map(0xfc0000, 0xfc0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
}
|
||||
|
||||
|
||||
@ -343,7 +344,7 @@ GFXDECODE_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
void cyberbal_state::cyberbal_base(machine_config &config)
|
||||
void cyberbal_state::cyberbal(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
M68000(config, m_maincpu, 14.318181_MHz_XTAL/2);
|
||||
@ -354,6 +355,8 @@ void cyberbal_state::cyberbal_base(machine_config &config)
|
||||
|
||||
config.set_maximum_quantum(attotime::from_hz(600));
|
||||
|
||||
EEPROM_2804(config, "eeprom").lock_after_write(true);
|
||||
|
||||
TIMER(config, "scantimer").configure_scanline(FUNC(cyberbal_state::scanline_update), m_lscreen, 0, 8);
|
||||
|
||||
WATCHDOG_TIMER(config, "watchdog");
|
||||
@ -408,17 +411,10 @@ void cyberbal_state::cyberbal_base(machine_config &config)
|
||||
m_sac->add_route(1, "rspeaker", 1.0);
|
||||
}
|
||||
|
||||
void cyberbal_state::cyberbal(machine_config &config)
|
||||
{
|
||||
cyberbal_base(config);
|
||||
|
||||
EEPROM_2804(config, "eeprom").lock_after_write(true);
|
||||
}
|
||||
|
||||
void cyberbal_state::cyberbalt(machine_config &config)
|
||||
{
|
||||
cyberbal_base(config);
|
||||
EEPROM_2816(config, "eeprom").lock_after_write(true);
|
||||
cyberbal(config);
|
||||
EEPROM_2816(config.replace(), "eeprom").lock_after_write(true);
|
||||
|
||||
SLAPSTIC(config, m_slapstic, 116);
|
||||
m_slapstic->set_range(m_maincpu, AS_PROGRAM, 0x18000, 0x1ffff, 0);
|
||||
|
@ -108,7 +108,6 @@ public:
|
||||
|
||||
void init_cyberbalt();
|
||||
void cyberbal(machine_config &config);
|
||||
void cyberbal_base(machine_config &config);
|
||||
void cyberbalt(machine_config &config);
|
||||
|
||||
protected:
|
||||
|
@ -130,7 +130,7 @@ template<bool maincpu> void eprom_state::sync_w(offs_t offset, uint16_t data, ui
|
||||
void eprom_state::main_map(address_map &map)
|
||||
{
|
||||
map(0x000000, 0x09ffff).rom();
|
||||
map(0x0e0000, 0x0e0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x0e0000, 0x0e03ff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x160000, 0x16ffff).ram().share("share1");
|
||||
map(0x16cc00, 0x16cc01).w(FUNC(eprom_state::sync_w<true>));
|
||||
map(0x1f0000, 0x1fffff).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write16));
|
||||
@ -156,7 +156,7 @@ void eprom_state::main_map(address_map &map)
|
||||
void eprom_state::guts_map(address_map &map)
|
||||
{
|
||||
map(0x000000, 0x09ffff).rom();
|
||||
map(0x0e0000, 0x0e0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x0e0000, 0x0e03ff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x160000, 0x16ffff).ram().share("share1");
|
||||
map(0x16cc00, 0x16cc01).w(FUNC(eprom_state::sync_w<true>));
|
||||
map(0x1f0000, 0x1fffff).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write16));
|
||||
|
@ -29,7 +29,7 @@
|
||||
038000-03FFFF R xxxxxxxx xxxxxxxx Slapstic-protected ROM
|
||||
040000-07FFFF R xxxxxxxx xxxxxxxx Program ROM
|
||||
800000-801FFF R/W xxxxxxxx xxxxxxxx Program RAM
|
||||
802000-802FFF R/W -------- xxxxxxxx EEPROM
|
||||
802000-8023FF R/W -------- xxxxxxxx EEPROM
|
||||
803000 R -------- xxxxxxxx Input port 1
|
||||
803002 R -------- xxxxxxxx Input port 2
|
||||
803004 R -------- xxxxxxxx Input port 3
|
||||
@ -264,7 +264,7 @@ void gauntlet_state::main_map(address_map &map)
|
||||
|
||||
// MBUS
|
||||
map(0x800000, 0x801fff).mirror(0x2fc000).ram();
|
||||
map(0x802000, 0x802fff).mirror(0x2fc000).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x802000, 0x8023ff).mirror(0x2fcc00).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x803000, 0x803001).mirror(0x2fcef0).portr("803000");
|
||||
map(0x803002, 0x803003).mirror(0x2fcef0).portr("803002");
|
||||
map(0x803004, 0x803005).mirror(0x2fcef0).portr("803004");
|
||||
|
@ -109,7 +109,7 @@ void toobin_state::main_map(address_map &map)
|
||||
map(0x828800, 0x828801).mirror(0x4507fe).portr("FF8800");
|
||||
map(0x829000, 0x829001).mirror(0x4507fe).portr("FF9000");
|
||||
map(0x829801, 0x829801).mirror(0x4507fe).r(m_jsa, FUNC(atari_jsa_i_device::main_response_r));
|
||||
map(0x82a000, 0x82afff).mirror(0x451000).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x82a000, 0x82a3ff).mirror(0x451c00).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x82c000, 0x82ffff).mirror(0x450000).ram();
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,7 @@ void vindictr_state::main_map(address_map &map)
|
||||
map.unmap_value_high();
|
||||
map.global_mask(0x3fffff);
|
||||
map(0x000000, 0x05ffff).rom();
|
||||
map(0x0e0000, 0x0e0fff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x0e0000, 0x0e03ff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x1f0000, 0x1fffff).w("eeprom", FUNC(eeprom_parallel_28xx_device::unlock_write16));
|
||||
map(0x260000, 0x26000f).portr("260000");
|
||||
map(0x260010, 0x26001f).r(FUNC(vindictr_state::port1_r));
|
||||
|
@ -76,7 +76,7 @@ void xybots_state::main_map(address_map &map)
|
||||
map(0x802e00, 0x802fff).mirror(0x7f8000).ram().share("mob");
|
||||
map(0x803000, 0x803fff).mirror(0x7f8000).ram().w(m_playfield_tilemap, FUNC(tilemap_device::write16)).share("playfield");
|
||||
map(0x804000, 0x8047ff).mirror(0x7f8800).ram().w("palette", FUNC(palette_device::write16)).share("palette");
|
||||
map(0x805000, 0x805fff).mirror(0x7f8000).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x805000, 0x8053ff).mirror(0x7f8c00).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).umask16(0x00ff);
|
||||
map(0x806000, 0x8060ff).mirror(0x7f8000).r(m_jsa, FUNC(atari_jsa_i_device::main_response_r)).umask16(0x00ff);
|
||||
map(0x806100, 0x8061ff).mirror(0x7f8000).portr("FFE100");
|
||||
map(0x806200, 0x8062ff).mirror(0x7f8000).r(FUNC(xybots_state::special_port1_r));
|
||||
|
Loading…
Reference in New Issue
Block a user