From 7ed0317ddc0c0021f2e5ae0a50cd1d951d2b0137 Mon Sep 17 00:00:00 2001 From: Yvan Janssens Date: Sun, 17 Oct 2021 14:48:30 +0200 Subject: sun4.cpp: Added preliminary Sun4/25 support. (#8691) New clones marked as not working ----------------------------- Sun Microsystems SPARCstation ELC (Sun 4/25) [Yvan Janssens] --- src/mame/drivers/sun4.cpp | 33 +++++++++++++++++++++++++++++++++ src/mame/mame.lst | 1 + 2 files changed, 34 insertions(+) diff --git a/src/mame/drivers/sun4.cpp b/src/mame/drivers/sun4.cpp index aac17879b6c..94393031d67 100644 --- a/src/mame/drivers/sun4.cpp +++ b/src/mame/drivers/sun4.cpp @@ -662,6 +662,7 @@ public: 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); @@ -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); @@ -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 ) @@ -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 ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index f87acf27a06..9bbd9eecc3c 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -39725,6 +39725,7 @@ sun3_460 // sun_s10 // sun_s20 // sun4_20 // +sun4_25 // sun4_110 // sun4_300 // sun4_400 // -- cgit v1.2.3