summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2021-03-15 18:12:03 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2021-03-15 18:12:03 +0100
commit6cb15599912c1d0d20b15f9d7ae6417f360d193d (patch)
tree9c5c710da87541de78c0be321e7e908284e79ad4
parent82a88e10a8408008b145a0d781c9e6e9f38b5c4e (diff)
New machines marked as NOT_WORKING
---------------------------------- Super Mario All-Stars (Nintendo Super System) [Mike Ortizz]
-rw-r--r--src/mame/drivers/nss.cpp72
-rw-r--r--src/mame/mame.lst1
2 files changed, 53 insertions, 20 deletions
diff --git a/src/mame/drivers/nss.cpp b/src/mame/drivers/nss.cpp
index aabebcc5ade..bf04705faa8 100644
--- a/src/mame/drivers/nss.cpp
+++ b/src/mame/drivers/nss.cpp
@@ -249,16 +249,17 @@ Notes:
IC8 - Instruction ROM
IC10 - Unknown DIP8 chip
-Game Name IC2 IC2 Type IC3 IC3 Type IC8 IC8 Type Jumpers
+Game Name IC2 IC2 Type IC3 IC3 Type IC8 IC8 Type Jumpers
---------------------------------------------------------------------------------------------------------------------------------------------------------
-Actraiser NSS-R_IC2_AR TC574000 NSS-R_IC3_AR TC574000 NSS-R_IC8_AR 27C256 CL2 CL3 CL4 CL5 CL6 CL12 CL13 CL15 CL17 CL18 CL19 - Short
+Actraiser NSS-R_IC2_AR TC574000 NSS-R_IC3_AR TC574000 NSS-R_IC8_AR 27C256 CL2 CL3 CL4 CL5 CL6 CL12 CL13 CL15 CL17 CL18 CL19 - Short
SL1 SL7 SL8 SL9 SL10 SL11 SL12 SL14 SL16 SL20 SL21 SL22 - Open
-Addams Family NSS-R_IC2_AF TC574000 NSS-R_IC3_AF TC574000 NSS-R_IC8_AF 27C256 All games use the above jumper configuration.
-Amazing Tennis NSS-R_IC2_AT TC574000 NSS-R_IC3_AT TC574000 NSS-R_IC8_AT 27C256
-Irem Skins Game NSS-R_IC2_MT TC574000 NSS-R_IC3_MT TC574000 NSS-R_IC8_MT 27C256
-Lethal Weapon NSS-R_IC2_L3 TC574000 NSS-R_IC3_L3 TC574000 NSS-R_IC8_L3 27C256
-NCAA Basketball NSS-R_IC2_DU TC574000 NSS-R_IC3_DU TC574000 NSS-R_IC8_DU 27C256
-Robocop 3 NSS-R_IC2_R3 TC574000 NSS-R_IC3_R3 TC574000 NSS-R_IC8_R3 27C256
+Addams Family NSS-R_IC2_AF TC574000 NSS-R_IC3_AF TC574000 NSS-R_IC8_AF 27C256 All games use the above jumper configuration.
+Amazing Tennis NSS-R_IC2_AT TC574000 NSS-R_IC3_AT TC574000 NSS-R_IC8_AT 27C256
+Irem Skins Game NSS-R_IC2_MT TC574000 NSS-R_IC3_MT TC574000 NSS-R_IC8_MT 27C256
+Lethal Weapon NSS-R_IC2_L3 TC574000 NSS-R_IC3_L3 TC574000 NSS-R_IC8_L3 27C256
+NCAA Basketball NSS-R_IC2_DU TC574000 NSS-R_IC3_DU TC574000 NSS-R_IC8_DU 27C256
+Robocop 3 NSS-R_IC2_R3 TC574000 NSS-R_IC3_R3 TC574000 NSS-R_IC8_R3 27C256
+Super Mario All-Stars NSS-R_IC2_4M HN62318 NSS-R_IC3_4M HN62318 NSS-R_IC8_4M 27C256
---------------------------------------------------------------------------------------------------------------------------------------------------------
NSS-01-ROM-C
@@ -306,6 +307,8 @@ Contra III CONTRA_III_1 TC574000 CONTRA_III_0 TC574000 GAME1_NSSU
#include "speaker.h"
+namespace {
+
class nss_state : public snes_state
{
public:
@@ -315,7 +318,9 @@ public:
, m_m50458(*this, "m50458")
, m_s3520cf(*this, "s3520cf")
, m_rp5h01(*this, "rp5h01")
- , m_palette(*this, "palette")
+ , m_eepromout(*this, "EEPROMOUT")
+ , m_serial1_data1(*this, "SERIAL1_DATA1")
+ , m_rtc_osd(*this, "RTC_OSD")
{ }
void nss(machine_config &config);
@@ -324,12 +329,18 @@ public:
DECLARE_READ_LINE_MEMBER(game_over_flag_r);
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
private:
required_device<cpu_device> m_bioscpu;
required_device<m50458_device> m_m50458;
required_device<s3520cf_device> m_s3520cf;
required_device<rp5h01_device> m_rp5h01;
- optional_device<palette_device> m_palette;
+ required_ioport m_eepromout;
+ required_ioport m_serial1_data1;
+ required_ioport m_rtc_osd;
uint8_t m_wram_wp_flag;
std::unique_ptr<uint8_t[]> m_wram;
@@ -350,8 +361,6 @@ private:
void port_04_w(uint8_t data);
void port_07_w(uint8_t data);
- virtual void machine_start() override;
- virtual void machine_reset() override;
DECLARE_WRITE_LINE_MEMBER(nss_vblank_irq);
void bios_io_map(address_map &map);
void bios_map(address_map &map);
@@ -494,7 +503,7 @@ void nss_state::nss_prot_w(uint8_t data)
m_rp5h01->cs_w(~data & 0x01);
}
- ioport("EEPROMOUT")->write(data, 0xff);
+ m_eepromout->write(data, 0xff);
}
@@ -525,12 +534,12 @@ uint8_t nss_state::port_00_r()
res = (m_joy_flag) << 7;
// TODO: reads from SNES screen output, correct?
res|= (m_screen->vblank() & 1) << 6;
- res|= (BIT(ioport("SERIAL1_DATA1")->read(), 15) << 5);
- res|= (BIT(ioport("SERIAL1_DATA1")->read(), 7) << 4);
- res|= (BIT(ioport("SERIAL1_DATA1")->read(), 10) << 3);
- res|= (BIT(ioport("SERIAL1_DATA1")->read(), 11) << 2);
- res|= (BIT(ioport("SERIAL1_DATA1")->read(), 9) << 1);
- res|= (BIT(ioport("SERIAL1_DATA1")->read(), 8) << 0);
+ res|= (BIT(m_serial1_data1->read(), 15) << 5);
+ res|= (BIT(m_serial1_data1->read(), 7) << 4);
+ res|= (BIT(m_serial1_data1->read(), 10) << 3);
+ res|= (BIT(m_serial1_data1->read(), 11) << 2);
+ res|= (BIT(m_serial1_data1->read(), 9) << 1);
+ res|= (BIT(m_serial1_data1->read(), 8) << 0);
return res;
}
@@ -589,7 +598,7 @@ void nss_state::port_02_w(uint8_t data)
---- ---x RTC /CS (0=Low/Select, 1=High/No)
*/
// printf("%02x\n",data & 0xf);
- ioport("RTC_OSD")->write(data, 0xff);
+ m_rtc_osd->write(data, 0xff);
}
void nss_state::port_03_w(uint8_t data)
@@ -635,6 +644,11 @@ void nss_state::machine_start()
m_is_nss = 1;
m_wram = make_unique_clear<uint8_t[]>(0x1000);
+
+ save_item(NAME(m_wram_wp_flag));
+ save_pointer(NAME(m_wram), 0x1000);
+ save_item(NAME(m_nmi_enable));
+ save_item(NAME(m_cart_sel));
}
@@ -1065,6 +1079,20 @@ ROM_START( nss_sten )
ROM_LOAD( "security.prm", 0x00, 0x10, CRC(2fd8475b) SHA1(38af97734649b90e0ea74cb1daeaa431e4295eb9) )
ROM_END
+ROM_START( nss_smas )
+ NSS_BIOS
+ ROM_REGION( 0x200000, "user3", 0 ) // believed bad dumps as they are 0x00 filled in ranges 0x40000-0x7ffff and 0xc0000-0xfffff. Comparison with the SNES ROMs seems to confirm the suspects.
+ ROM_LOAD( "nss-r ic3 4m.ic3", 0x000000, 0x100000, BAD_DUMP CRC(e071405a) SHA1(e2a4b849c225a637d1f7481f24d9162da29c4905) )
+ ROM_LOAD( "nss-r ic3 4m.ic2", 0x100000, 0x100000, BAD_DUMP CRC(a46eed6e) SHA1(b9ac1f1d1f8aa5276238a65003c25a3916a4a0c2) )
+
+ // instruction / data rom for bios
+ ROM_REGION( 0x8000, "ibios_rom", 0 )
+ ROM_LOAD( "nss-r ic3 4m.ic8", 0x0000, 0x8000, CRC(bb46c507) SHA1(e753043b70541a4298d0af21781ecc2640a4d554) )
+
+ ROM_REGION( 0x10, "rp5h01", 0 )
+ ROM_LOAD( "security.prm", 0x00, 0x10, NO_DUMP )
+ROM_END
+
void nss_state::init_nss()
{
uint8_t *PROM = memregion("rp5h01")->base();
@@ -1075,6 +1103,9 @@ void nss_state::init_nss()
init_snes();
}
+} // Anonymous namespace
+
+
GAME( 199?, nss, 0, nss, snes, nss_state, init_snes, ROT0, "Nintendo", "Nintendo Super System BIOS", MACHINE_IS_BIOS_ROOT )
GAME( 1992, nss_actr, nss, nss, snes, nss_state, init_nss, ROT0, "Enix", "Act Raiser (Nintendo Super System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
GAME( 1992, nss_adam, nss, nss, snes, nss_state, init_nss, ROT0, "Ocean", "The Addams Family (Nintendo Super System)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
@@ -1088,3 +1119,4 @@ GAME( 1992, nss_ssoc, nss, nss, snes, nss_state, init_nss, ROT0, "Human
GAME( 1991, nss_smw, nss, nss, snes, nss_state, init_nss, ROT0, "Nintendo", "Super Mario World (Nintendo Super System)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
GAME( 1991, nss_fzer, nss, nss, snes, nss_state, init_nss, ROT0, "Nintendo", "F-Zero (Nintendo Super System)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
GAME( 1991, nss_sten, nss, nss, snes, nss_state, init_nss, ROT0, "Nintendo", "Super Tennis (Nintendo Super System)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
+GAME( 1993, nss_smas, nss, nss, snes, nss_state, init_nss, ROT0, "Nintendo", "Super Mario All-Stars (Nintendo Super System)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // bad dump
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 0055b6f2f57..e619f9426ff 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -32988,6 +32988,7 @@ nss_lwep // 1992 Nintendo
nss_ncaa // 1992 Sculptured Software Inc.
nss_rob3 // 1992 Ocean
nss_skin // 1992 Irem
+nss_smas // 1993 Nintendo
nss_smw // 1991 Nintendo
nss_ssoc // 1992 Human Inc.
nss_sten // 199? Nintendo