misc atari: correct 2804 eeprom address range

This commit is contained in:
hap 2022-11-05 17:29:35 +01:00
parent 16e709ad82
commit 8835e5ad9a
10 changed files with 20 additions and 25 deletions

View File

@ -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));

View File

@ -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");

View File

@ -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));

View File

@ -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);

View File

@ -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:

View File

@ -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));

View File

@ -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");

View File

@ -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();
}

View File

@ -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));

View File

@ -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));