Skip to content

Commit

Permalink
sun4.cpp: Added preliminary Sun4/25 support. (#8691)
Browse files Browse the repository at this point in the history
New clones marked as not working
-----------------------------
Sun Microsystems SPARCstation ELC (Sun 4/25) [Yvan Janssens]
  • Loading branch information
friedkiwi committed Oct 17, 2021
1 parent a7b07ba commit 7ed0317
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
33 changes: 33 additions & 0 deletions src/mame/drivers/sun4.cpp
Expand Up @@ -662,6 +662,7 @@ class sun4c_state : public sun4_base_state

void sun4c(machine_config &config);
void sun4_20(machine_config &config);
void sun4_25(machine_config &config);
void sun4_40(machine_config &config);
void sun4_50(machine_config &config);
void sun4_60(machine_config &config);
Expand Down Expand Up @@ -1513,6 +1514,31 @@ void sun4c_state::sun4_20(machine_config &config)
m_sbus_slot[2]->set_fixed(true);
}

void sun4c_state::sun4_25(machine_config& config)
{
sun4c(config);

m_ram->set_extra_options("16M,32M,48M,64M");

//m_mmu->set_ctx_mask(0xf);
m_mmu->set_pmeg_mask(0xff);
m_mmu->set_cache_line_size(32);
m_mmu->set_clock(33'000'000);
m_maincpu->set_clock(33'000'000);

m_ram->set_default_size("64M");

m_sbus->set_clock(25'000'000);
m_sbus_slot[0]->set_clock(25'000'000);
m_sbus_slot[1]->set_clock(25'000'000);
m_sbus_slot[2]->set_clock(25'000'000);

m_sbus_slot[0]->set_fixed(true);
m_sbus_slot[1]->set_fixed(true);
m_sbus_slot[2]->set_default_option("bwtwo");
m_sbus_slot[2]->set_fixed(true);
}

void sun4c_state::sun4_40(machine_config &config)
{
sun4c(config);
Expand Down Expand Up @@ -1741,6 +1767,12 @@ ROM_START( sun4_20 )
ROM_LOAD( "520-2748-04.rom", 0x0000, 0x20000, CRC(e85b3fd8) SHA1(4cbc088f589375e2d5983f481f7d4261a408702e))
ROM_END

// SPARCstation ELC (Sun 4/25)
ROM_START(sun4_25)
ROM_REGION32_BE( 0x80000, "user1", ROMREGION_ERASEFF )
ROM_LOAD( "520-3085-03.rom", 0x0000, 0x40000, CRC(faafaf0d) SHA1(23a1b78392883b06eff9f7828e955399b6daa3d6))
ROM_END

// SPARCstation 1 (Sun 4/60)
/* SCC init 1 for the keyboard is identical to Sun 4/75 init 3 */
ROM_START( sun4_60 )
Expand Down Expand Up @@ -1831,6 +1863,7 @@ COMP( 198?, sun4_400, 0, 0, sun4, sun4, sun4_state, empty_init,
COMP( 1990, sun4_40, sun4_300, 0, sun4_40, sun4, sun4c_state, empty_init, "Sun Microsystems", "SPARCstation IPC (Sun 4/40)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
COMP( 1991, sun4_50, sun4_300, 0, sun4_50, sun4, sun4c_state, empty_init, "Sun Microsystems", "SPARCstation IPX (Sun 4/50)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
COMP( 199?, sun4_20, sun4_300, 0, sun4_20, sun4, sun4c_state, empty_init, "Sun Microsystems", "SPARCstation SLC (Sun 4/20)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
COMP( 1992, sun4_25, sun4_300, 0, sun4_25, sun4, sun4c_state, empty_init, "Sun Microsystems", "SPARCstation ELC (Sun 4/25)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
COMP( 1989, sun4_60, sun4_300, 0, sun4_60, sun4, sun4c_state, empty_init, "Sun Microsystems", "SPARCstation 1 (Sun 4/60)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
COMP( 1990, sun4_65, sun4_300, 0, sun4_65, sun4, sun4c_state, empty_init, "Sun Microsystems", "SPARCstation 1+ (Sun 4/65)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
COMP( 1990, sun4_75, sun4_300, 0, sun4_75, sun4, sun4c_state, empty_init, "Sun Microsystems", "SPARCstation 2 (Sun 4/75)", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
Expand Down
1 change: 1 addition & 0 deletions src/mame/mame.lst
Expand Up @@ -39725,6 +39725,7 @@ sun3_460 //
sun_s10 //
sun_s20 //
sun4_20 //
sun4_25 //
sun4_110 //
sun4_300 //
sun4_400 //
Expand Down

0 comments on commit 7ed0317

Please sign in to comment.