diff options
author | 987123879113 <63495610+987123879113@users.noreply.github.com> | 2022-11-23 04:08:59 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-23 06:08:59 +1100 |
commit | 8ad1d602df15d407aa4c403efbd9b4adbfff2308 (patch) | |
tree | 76ee15063a9d320a6687a70224bb502d7de35455 /src/devices | |
parent | f9930288555c75c4cab823973997e026b3e3629a (diff) |
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]
Diffstat (limited to 'src/devices')
-rw-r--r-- | src/devices/machine/k033906.cpp | 8 | ||||
-rw-r--r-- | src/devices/machine/k033906.h | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/devices/machine/k033906.cpp b/src/devices/machine/k033906.cpp index 5ffad3b74eb..2ce9992ea7a 100644 --- a/src/devices/machine/k033906.cpp +++ b/src/devices/machine/k033906.cpp @@ -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) : device_t(mconfig, K033906, tag, owner, clock) , 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_reg(nullptr) , m_ram(nullptr) @@ -55,10 +56,11 @@ uint32_t k033906_device::reg_r(int 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 0x04: return m_reg[0x04]; // memBaseAddr 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: 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 break; + case 0x14: // ??? + m_reg[reg] = data; + break; + case 0x38: // ??? break; diff --git a/src/devices/machine/k033906.h b/src/devices/machine/k033906.h index 21187ad0541..7bc9fb3b9aa 100644 --- a/src/devices/machine/k033906.h +++ b/src/devices/machine/k033906.h @@ -26,6 +26,8 @@ public: 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); void write(offs_t offset, u32 data); DECLARE_WRITE_LINE_MEMBER(set_reg); @@ -44,6 +46,7 @@ private: /* i/o lines */ int m_reg_set; // 1 = access reg / 0 = access ram + uint32_t m_voodoo_pciid; required_device<generic_voodoo_device> m_voodoo; |