mirror of
https://github.com/holub/mame
synced 2025-07-02 08:39:21 +03:00
konami/hornet.cpp: Added x76 security chip, and added new regional variants of games (#10578)
* Added security EEPROM data for NBA Play by Play/All The Way. * Added security EEPROM and NVRAM data for Gradius 4. * Added NVRAM data for Teraburst. * Added NVRAM data for Silent Scope series. * machine/k033906.cpp: Fix usage for Voodoo 2. New clones marked as WORKING -------------------------------- Gradius IV: Fukkatsu (ver JAA) [windyfairy] Gradius IV (ver UAC) [windyfairy] Gradius IV (ver AAC) [windyfairy] Gradius IV (ver AAA) [windyfairy] NBA Play By Play (ver UAB) [windyfairy] NBA Play By Play (ver JAB) [windyfairy] NBA Play By Play (ver UAA) [windyfairy] NBA Play By Play (ver AAA) [windyfairy] NBA All The Way (ver EAB) [windyfairy] NBA All The Way (ver EAA) [windyfairy] New clones marked as NOT_WORKING -------------------------------- Teraburst (1998/07/17 ver JEL) [windyfairy] Teraburst (1998/07/17 ver HEL) [windyfairy] Teraburst (1998/02/25 ver UAA) [windyfairy] Teraburst (1998/02/25 ver JAA) [windyfairy] Teraburst (1998/02/25 ver HAA) [windyfairy] Silent Scope (ver EAD, Ver 1.33) [windyfairy] Silent Scope (ver AAD, Ver 1.33) [windyfairy] Silent Scope (ver EAC, Ver 1.30) [windyfairy] Silent Scope (ver AAC, Ver 1.30) [windyfairy] Silent Scope (ver EAB, Ver 1.20) [windyfairy] Silent Scope (ver AAB, Ver 1.20) [windyfairy] Silent Scope (ver JAB, Ver 1.20) [windyfairy] Silent Scope (ver EAA, Ver 1.00) [windyfairy] Silent Scope (ver AAA, Ver 1.00) [windyfairy] Silent Scope (ver JAA, Ver 1.00) [windyfairy] Silent Scope (ver EAD, Ver 1.33, GQ871 Voodoo 2 video board) [windyfairy] Silent Scope (ver AAD, Ver 1.33, GQ871 Voodoo 2 video board) [windyfairy] Silent Scope (ver UAC, Ver 1.30, GQ871 Voodoo 2 video board) [windyfairy] Silent Scope (ver EAC, Ver 1.30, GQ871 Voodoo 2 video board) [windyfairy] Silent Scope (ver AAC, Ver 1.30, GQ871 Voodoo 2 video board) [windyfairy] Silent Scope 2 : Innocent Sweeper (ver JAD, Ver 1.03) [windyfairy] Silent Scope 2 : Innocent Sweeper (ver AAD, Ver 1.03) [windyfairy] Silent Scope 2 : Dark Silhouette (ver UAC, Ver 1.02) [windyfairy] Silent Scope 2 : Fatal Judgement (ver EAC, Ver 1.02) [windyfairy] Silent Scope 2 : Innocent Sweeper (ver JAC, Ver 1.02) [windyfairy] Silent Scope 2 : Innocent Sweeper (ver AAC, Ver 1.02) [windyfairy] Silent Scope 2 : Dark Silhouette (ver UAB, Ver 1.01) [windyfairy] Silent Scope 2 : Fatal Judgement (ver EAB, Ver 1.01) [windyfairy] Silent Scope 2 : Innocent Sweeper (ver JAB, Ver 1.01) [windyfairy] Silent Scope 2 : Innocent Sweeper (ver AAB, Ver 1.01) [windyfairy] Silent Scope 2 : Dark Silhouette (ver UAD, Ver 1.03, GN715 Voodoo 1 video board) [windyfairy] Silent Scope 2 : Fatal Judgement (ver EAD, Ver 1.03, GN715 Voodoo 1 video board) [windyfairy] Silent Scope 2 : Innocent Sweeper (ver JAD, Ver 1.03, GN715 Voodoo 1 video board) [windyfairy] Silent Scope 2 : Innocent Sweeper (ver AAD, Ver 1.03, GN715 Voodoo 1 video board) [windyfairy] Silent Scope 2 : Dark Silhouette (ver UAC, Ver 1.02, GN715 Voodoo 1 video board) [windyfairy] Silent Scope 2 : Fatal Judgement (ver EAC, Ver 1.02, GN715 Voodoo 1 video board) [windyfairy] Silent Scope 2 : Innocent Sweeper (ver JAC, Ver 1.02, GN715 Voodoo 1 video board) [windyfairy] Silent Scope 2 : Innocent Sweeper (ver AAC, Ver 1.02, GN715 Voodoo 1 video board) [windyfairy] Silent Scope 2 : Dark Silhouette (ver UAB, Ver 1.01, GN715 Voodoo 1 video board) [windyfairy] Silent Scope 2 : Fatal Judgement (ver EAB, Ver 1.01, GN715 Voodoo 1 video board) [windyfairy] Silent Scope 2 : Innocent Sweeper (ver JAB, Ver 1.01, GN715 Voodoo 1 video board) [windyfairy] Silent Scope 2 : Innocent Sweeper (ver AAB, Ver 1.01, GN715 Voodoo 1 video board) [windyfairy]
This commit is contained in:
parent
f993028855
commit
8ad1d602df
@ -24,6 +24,7 @@ DEFINE_DEVICE_TYPE(K033906, k033906_device, "k033906", "K033906 PCI bridge")
|
|||||||
k033906_device::k033906_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
k033906_device::k033906_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||||
: device_t(mconfig, K033906, tag, owner, clock)
|
: device_t(mconfig, K033906, tag, owner, clock)
|
||||||
, m_reg_set(0)
|
, m_reg_set(0)
|
||||||
|
, m_voodoo_pciid(0x0001121a) // PCI Vendor ID (0x121a = 3dfx), Device ID (0x0001 = Voodoo 1)
|
||||||
, m_voodoo(*this, finder_base::DUMMY_TAG)
|
, m_voodoo(*this, finder_base::DUMMY_TAG)
|
||||||
, m_reg(nullptr)
|
, m_reg(nullptr)
|
||||||
, m_ram(nullptr)
|
, m_ram(nullptr)
|
||||||
@ -55,10 +56,11 @@ uint32_t k033906_device::reg_r(int reg)
|
|||||||
{
|
{
|
||||||
switch (reg)
|
switch (reg)
|
||||||
{
|
{
|
||||||
case 0x00: return 0x0001121a; // PCI Vendor ID (0x121a = 3dfx), Device ID (0x0001 = Voodoo)
|
case 0x00: return m_voodoo_pciid;
|
||||||
case 0x02: return 0x04000000; // Revision ID
|
case 0x02: return 0x04000000; // Revision ID
|
||||||
case 0x04: return m_reg[0x04]; // memBaseAddr
|
case 0x04: return m_reg[0x04]; // memBaseAddr
|
||||||
case 0x0f: return m_reg[0x0f]; // interrupt_line, interrupt_pin, min_gnt, max_lat
|
case 0x0f: return m_reg[0x0f]; // interrupt_line, interrupt_pin, min_gnt, max_lat
|
||||||
|
case 0x14: return m_reg[0x14]; // ??? must be able to read the same value (0xf47c6451) that was written, used by Silent Scope when using Voodoo 2
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fatalerror("%s: k033906_reg_r: %08X\n", machine().describe_context().c_str(), reg);
|
fatalerror("%s: k033906_reg_r: %08X\n", machine().describe_context().c_str(), reg);
|
||||||
@ -106,6 +108,10 @@ void k033906_device::reg_w(int reg, uint32_t data)
|
|||||||
case 0x12: // busSnoop1
|
case 0x12: // busSnoop1
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 0x14: // ???
|
||||||
|
m_reg[reg] = data;
|
||||||
|
break;
|
||||||
|
|
||||||
case 0x38: // ???
|
case 0x38: // ???
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -26,6 +26,8 @@ public:
|
|||||||
|
|
||||||
k033906_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
k033906_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
|
||||||
|
void set_pciid(uint32_t pciid) { m_voodoo_pciid = pciid; }
|
||||||
|
|
||||||
u32 read(offs_t offset);
|
u32 read(offs_t offset);
|
||||||
void write(offs_t offset, u32 data);
|
void write(offs_t offset, u32 data);
|
||||||
DECLARE_WRITE_LINE_MEMBER(set_reg);
|
DECLARE_WRITE_LINE_MEMBER(set_reg);
|
||||||
@ -44,6 +46,7 @@ private:
|
|||||||
/* i/o lines */
|
/* i/o lines */
|
||||||
|
|
||||||
int m_reg_set; // 1 = access reg / 0 = access ram
|
int m_reg_set; // 1 = access reg / 0 = access ram
|
||||||
|
uint32_t m_voodoo_pciid;
|
||||||
|
|
||||||
required_device<generic_voodoo_device> m_voodoo;
|
required_device<generic_voodoo_device> m_voodoo;
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -17118,19 +17118,69 @@ vector1 //
|
|||||||
@source:konami/hornet.cpp
|
@source:konami/hornet.cpp
|
||||||
gradius4 // GX837 (c)1999
|
gradius4 // GX837 (c)1999
|
||||||
gradius4a // GX837 (c)1999
|
gradius4a // GX837 (c)1999
|
||||||
|
gradius4aa // GX837 (c)1999
|
||||||
|
gradius4ja // GX837 (c)1999
|
||||||
|
gradius4u // GX837 (c)1999
|
||||||
|
gradius4ua // GX837 (c)1999
|
||||||
|
nbaatw // GX778 (c)1998
|
||||||
|
nbaatwa // GX778 (c)1998
|
||||||
nbapbp // GX778 (c)1998
|
nbapbp // GX778 (c)1998
|
||||||
nbapbpa // GX778 (c)1998
|
nbapbpa // GX778 (c)1998
|
||||||
|
nbapbpa // GX778 (c)1998
|
||||||
|
nbapbpaa // GX778 (c)1998
|
||||||
|
nbapbpj // GX778 (c)1998
|
||||||
|
nbapbpja // GX778 (c)1998
|
||||||
|
nbapbpua // GX778 (c)1998
|
||||||
sscope // GX830 (c)1999
|
sscope // GX830 (c)1999
|
||||||
sscope2 // GX931 (c)2000
|
sscope2 // GX931 (c)2000
|
||||||
|
sscope2a // GX931 (c)2000
|
||||||
|
sscope2ab // GX931 (c)2000
|
||||||
|
sscope2abvd1 // GX931 (c)2000
|
||||||
|
sscope2ac // GX931 (c)2000
|
||||||
|
sscope2acvd1 // GX931 (c)2000
|
||||||
|
sscope2avd1 // GX931 (c)2000
|
||||||
sscope2e // GX931 (c)2000
|
sscope2e // GX931 (c)2000
|
||||||
|
sscope2eb // GX931 (c)2000
|
||||||
|
sscope2ebvd1 // GX931 (c)2000
|
||||||
|
sscope2ec // GX931 (c)2000
|
||||||
|
sscope2ecvd1 // GX931 (c)2000
|
||||||
|
sscope2evd1 // GX931 (c)2000
|
||||||
|
sscope2j // GX931 (c)2000
|
||||||
|
sscope2jb // GX931 (c)2000
|
||||||
|
sscope2jbvd1 // GX931 (c)2000
|
||||||
|
sscope2jc // GX931 (c)2000
|
||||||
|
sscope2jcvd1 // GX931 (c)2000
|
||||||
|
sscope2jvd1 // GX931 (c)2000
|
||||||
|
sscope2ub // GX931 (c)2000
|
||||||
|
sscope2ubvd1 // GX931 (c)2000
|
||||||
|
sscope2uc // GX931 (c)2000
|
||||||
|
sscope2ucvd1 // GX931 (c)2000
|
||||||
|
sscope2vd1 // GX931 (c)2000
|
||||||
sscopea // GX830 (c)1999
|
sscopea // GX830 (c)1999
|
||||||
sscopeb // GX830 (c)1999
|
sscopeaa // GX830 (c)1999
|
||||||
sscopec // GX830 (c)1999
|
sscopeab // GX830 (c)1999
|
||||||
sscoped // GX830 (c)1999
|
sscopeac // GX830 (c)1999
|
||||||
sscope2b // GX931 (c)2000
|
sscopeacvd2 // GX830 (c)1999
|
||||||
sscope2c // GX931 (c)2000
|
sscopeavd2 // GX830 (c)1999
|
||||||
|
sscopee // GX830 (c)1999
|
||||||
|
sscopeea // GX830 (c)1999
|
||||||
|
sscopeeb // GX830 (c)1999
|
||||||
|
sscopeec // GX830 (c)1999
|
||||||
|
sscopeecvd2 // GX830 (c)1999
|
||||||
|
sscopeevd2 // GX830 (c)1999
|
||||||
|
sscopeja // GX830 (c)1999
|
||||||
|
sscopejb // GX830 (c)1999
|
||||||
|
sscopeua // GX830 (c)1999
|
||||||
|
sscopeub // GX830 (c)1999
|
||||||
|
sscopeuc // GX830 (c)1999
|
||||||
|
sscopeucvd2 // GX830 (c)1999
|
||||||
|
sscopevd2 // GX830 (c)1999
|
||||||
terabrst // GX715 (c)1998 USA UEL 1998/07/17
|
terabrst // GX715 (c)1998 USA UEL 1998/07/17
|
||||||
terabrsta // GX715 (c)1998 Asia AAA 1998/02/25
|
terabrsta // GX715 (c)1998 Asia HEL 1998/07/17
|
||||||
|
terabrstaa // GX715 (c)1998 Asia HAA 1998/02/25
|
||||||
|
terabrstj // GX715 (c)1998 Japan JEL 1998/07/17
|
||||||
|
terabrstja // GX715 (c)1998 Japan JAA 1998/02/25
|
||||||
|
terabrstua // GX715 (c)1998 USA UAA 1998/02/25
|
||||||
thrilldbu // GE713UF (c)1998 ?AB
|
thrilldbu // GE713UF (c)1998 ?AB
|
||||||
|
|
||||||
@source:misc/hotblock.cpp
|
@source:misc/hotblock.cpp
|
||||||
|
Loading…
Reference in New Issue
Block a user