summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2021-05-04 18:13:19 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2021-05-04 18:13:19 +0200
commit24eb07574ae5d8fd7bd51edfefcdf80eebc07366 (patch)
tree354270fd61454d4b1434fa995892a30ee9693ba2 /src/mame/drivers
parent107de20905a77755aafb37ca5b1c07c8d5d688e1 (diff)
hornet.cpp: added timekeeper dump for thrilldbu [Guru]
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/hornet.cpp66
1 files changed, 50 insertions, 16 deletions
diff --git a/src/mame/drivers/hornet.cpp b/src/mame/drivers/hornet.cpp
index e200fa76c95..362f282e79b 100644
--- a/src/mame/drivers/hornet.cpp
+++ b/src/mame/drivers/hornet.cpp
@@ -5,11 +5,14 @@
***************************************************************************
+
Konami 'Hornet' Hardware, Konami, 1997-2000
Hardware info by Guru
Last updated: 22nd April 2021
-----------------------------
+
Known games on this hardware include....
+
Game (C) Year
----------------------------------------------
Gradius 4 : Fukkatsu Konami 1998
@@ -18,13 +21,17 @@ Teraburst Konami 1998
Thrill Drive Konami 1999
Silent Scope Konami 1999
Silent Scope 2 Konami 2000
+
+
Quick hardware overview:
+
GN715 CPU Board:
----------------
IBM PowerPC 403GA at 32MHz (main CPU)
Motorola MC68EC000 at 16MHz (sound CPU)
Konami K056800 (MIRAC), sound system interface
Ricoh RF5c400 sound chip
+
GN715 GFX Board:
----------------
Analog Devices ADSP-21062 SHARC DSP at 36MHz
@@ -32,6 +39,7 @@ Konami 0000037122 (2D Tilemap)
Konami 0000033906 (PCI bridge)
3DFX 500-0003-03 (Voodoo) FBI with 2MB RAM
3DFX 500-0004-02 (Voodoo) TMU with 4MB RAM
+
GQ871 GFX Board:
----------------
Analog Devices ADSP-21062 SHARC DSP at 36MHz
@@ -39,8 +47,11 @@ Konami 0000037122 (2D Tilemap)
Konami 0000033906 (PCI bridge)
3DFX 500-0009-01 (Voodoo 2) FBI with 2MB RAM
3DFX 500-0010-01 (Voodoo 2) TMU with 4MB RAM
+
+
Specific game hardware configurations:
-------------------------------------
+
Game KONAMI ID CPU PCB GFX Board(s) notes
----------------------------------------------------------------------
Gradius 4 GX837 GN715(A) GN715(B)
@@ -49,8 +60,11 @@ Teraburst GX715 GN715(A) GN715(B) GN680(E) I/O board
Thrill Drive GE713UF GN715(A) GN715(B) GN676-PWB(H)A LAN PCB
Silent Scope GQ830 GN715(A) 2x GN715(B)
Silent Scope 2 GQ931 GN715(A) 2x GQ871(B) GQ931(H) LAN PCB
+
+
PCB Layouts
-----------
+
Top Board
GN715 PWB(A)A
|--------------------------------------------------------------|
@@ -131,6 +145,8 @@ Notes:
CN21 - 5-Pin Analog Controls Connector (Tied to USB Connector via the Filter Board)
CN18 - RCA Mono Audio OUT
CN14 & CN16 - RCA Stereo Audio OUT
+
+
ROM Usage
---------
|------------------------------- ROM Locations ---------------------------------------|
@@ -142,6 +158,8 @@ Teraburst - 715l02 715l03 715A09 715A10 - 778A12 715A04 715
Thrill Drive 713AB01 - - 713A09 713A10 - - 713A04 713A05 - - 713A08
S/Scope 830B01 - - 830A09 830A10 - - - - - - 830A08
S/Scope 2 931D01 - - 931A09 931A10 931A11 - 931A04 - - - 931A08
+
+
Bottom Board
GN715 PWB(B)A
|--------------------------------------------------------------|
@@ -202,6 +220,7 @@ Notes:
CN6 - 2-Pin Connector (Not Used)
CN7 - 15-Pin DSUB VGA Video MAIN OUT
CN8 - 6-Pin Connector (Not Used)
+
ROM Usage
---------
|------ ROM Locations -------|
@@ -213,10 +232,13 @@ Teraburst 715A13 715A15 778A14 715A16
Thrill Drive 713A13 - 713A14 -
S/Scope 830A13 - 830A14 -
S/Scope 2 - - - - (no ROMs, not used)
+
+
Teraburst uses a different variation of the I/O board used in Operation: Thunder Hurricane (see gticlub.cpp). Analog inputs are controlled by
two CCD cameras, one from each gun. This specific variation uses a K056800 which normally acts as a sound interface controller. Perhaps this
either sends analog inputs to the main pcb or isn't used at all. No network connection is involved in this setup as this board directly connects
to the main pcb via joining connector.
+
GN680 PWB(E)403381B
|------------------------------------------|
|CN11 CN12 CN8 CN9 CN10 DSW(4)|
@@ -242,10 +264,14 @@ Notes:
NRPS11 - Idec NRPS11 PC Board circuit protector
LM1881 - Video sync separator (DIP8)
056800 - Konami Custom (QFP80)
+
+
LAN PCB: GQ931 PWB(H) (C) 1999 Konami
------------------------------------------
+
2 x LAN ports, LANC(1) & LANC(2)
1 x 32.0000MHz Oscillator
+
HYC2485S SMC ARCNET Media Transceiver, RS485 5Mbps-2.5Mbps
8E 931A19 Konami 32meg masked ROM, ROM0 (compressed GFX data)
6E 931A20 Konami 32meg masked ROM, ROM1 (compressed GFX data)
@@ -254,21 +280,29 @@ LAN PCB: GQ931 PWB(H) (C) 1999 Konami
12B CY7C199 Cypress 32kx8 SRAM
8B AT93C46 Atmel 1K serial EEPROM, 8 pin SOP
16G DS2401 Dallas Silicon Serial Number IC, 6 pin SOP
+
Note: This PCB does more than just networking. The serial eeprom is used as a means to prevent region change.
The timekeeper region has to match the serial eeprom. The two mask roms serve as GFX roms as the game "downloads"
the data from those two roms.
+
+
GFX PCB: GQ871 PWB(B)A (C) 1999 Konami
--------------------------------------
+
There are no ROMs on the two GFX PCBs, all sockets are empty. They are located on the LAN PCB.
Prior to the game starting there is a message saying downloading data.
+
Jumpers set on GFX PCB to main monitor:
4A set to TWN (twin GFX PCBs)
37D set to Master
+
Jumpers set on GFX PCB to scope monitor:
4A set to TWN (twin GFX PCBs)
37D set to Slave
+
1x 64.0000MHz
1x 36.0000MHz (to 27L, ADSP)
+
21E AV9170 ICS, Clock synchroniser and multiplier
27L ADSP-21062 Analog Devices SHARC ADSP, 512k flash, Konami no. 022M16C
15T 0000033906 Konami Custom, 160 pin PQFP
@@ -308,6 +342,7 @@ Jumpers set on GFX PCB to scope monitor:
3R SM81C256K16CJ-25 Silicon Magic 100MHz EDO RAM, 4Meg
27G XC9536 Xilinx, CPLD, Konami no. Q830B1
21C MC44200FT Motorola, 3 Channel video D/A converter
+
***************************************************************************
*/
@@ -913,7 +948,7 @@ static INPUT_PORTS_START( hornet )
PORT_DIPNAME( 0x80, 0x00, "Skip Post" ) PORT_DIPLOCATION("SW:1")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
- PORT_DIPNAME( 0x40, 0x00, "Disable Machine Init" ) PORT_DIPLOCATION("SW:2") // Having this on disables the analog controls in terabrst, sscope and sscope2
+ PORT_DIPNAME( 0x40, 0x00, "Disable Machine Init" ) PORT_DIPLOCATION("SW:2") // Having this on disables the analog controls in terabrst, thrilldbu, sscope and sscope2
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) //they instead make them usable with JAMMA inputs
PORT_DIPNAME( 0x20, 0x20, "DIP3" ) PORT_DIPLOCATION("SW:3")
@@ -1350,7 +1385,7 @@ void hornet_state::jamma_jvs_cmd_exec()
rdata[rdata_ptr++] = 0x01; // normal
// handle the command
- switch (data[0])
+ switch (data[0]) // TODO: thrilldbu trips case 0x01
{
case 0xf0: // Reset
{
@@ -1422,8 +1457,8 @@ ROM_START(sscope)
ROM_LOAD16_WORD_SWAP("830a08.7s", 0x000000, 0x80000, CRC(2805ea1d) SHA1(2556a51ee98cb8f59bf081e916c69a24532196f1) )
ROM_REGION(0x1000000, "user5", 0) /* CG Board texture roms */
- ROM_LOAD32_WORD( "830a14.u32", 0x000000, 0x400000, CRC(335793e1) SHA1(d582b53c3853abd59bc728f619a30c27cfc9497c) )
- ROM_LOAD32_WORD( "830a13.u24", 0x000002, 0x400000, CRC(d6e7877e) SHA1(b4d0e17ada7dd126ec564a20e7140775b4b3fdb7) )
+ ROM_LOAD32_WORD( "830a14.32u", 0x000000, 0x400000, CRC(335793e1) SHA1(d582b53c3853abd59bc728f619a30c27cfc9497c) )
+ ROM_LOAD32_WORD( "830a13.24u", 0x000002, 0x400000, CRC(d6e7877e) SHA1(b4d0e17ada7dd126ec564a20e7140775b4b3fdb7) )
ROM_REGION16_LE(0x1000000, "rfsnd", 0) /* PCM sample roms */
ROM_LOAD( "830a09.16p", 0x000000, 0x400000, CRC(e4b9f305) SHA1(ce2c6f63bdc9374dde48d8359102b57e48b4fdeb) )
@@ -1445,8 +1480,8 @@ ROM_START(sscopec)
ROM_LOAD16_WORD_SWAP("830a08.7s", 0x000000, 0x80000, CRC(2805ea1d) SHA1(2556a51ee98cb8f59bf081e916c69a24532196f1) )
ROM_REGION(0x1000000, "user5", 0) /* CG Board texture roms */
- ROM_LOAD32_WORD( "830a14.u32", 0x000000, 0x400000, CRC(335793e1) SHA1(d582b53c3853abd59bc728f619a30c27cfc9497c) )
- ROM_LOAD32_WORD( "830a13.u24", 0x000002, 0x400000, CRC(d6e7877e) SHA1(b4d0e17ada7dd126ec564a20e7140775b4b3fdb7) )
+ ROM_LOAD32_WORD( "830a14.32u", 0x000000, 0x400000, CRC(335793e1) SHA1(d582b53c3853abd59bc728f619a30c27cfc9497c) )
+ ROM_LOAD32_WORD( "830a13.24u", 0x000002, 0x400000, CRC(d6e7877e) SHA1(b4d0e17ada7dd126ec564a20e7140775b4b3fdb7) )
ROM_REGION16_LE(0x1000000, "rfsnd", 0) /* PCM sample roms */
ROM_LOAD( "830a09.16p", 0x000000, 0x400000, CRC(e4b9f305) SHA1(ce2c6f63bdc9374dde48d8359102b57e48b4fdeb) )
@@ -1467,8 +1502,8 @@ ROM_START(sscopeb)
ROM_LOAD16_WORD_SWAP("830a08.7s", 0x000000, 0x80000, CRC(2805ea1d) SHA1(2556a51ee98cb8f59bf081e916c69a24532196f1) )
ROM_REGION(0x1000000, "user5", 0) /* CG Board texture roms */
- ROM_LOAD32_WORD( "830a14.u32", 0x000000, 0x400000, CRC(335793e1) SHA1(d582b53c3853abd59bc728f619a30c27cfc9497c) )
- ROM_LOAD32_WORD( "830a13.u24", 0x000002, 0x400000, CRC(d6e7877e) SHA1(b4d0e17ada7dd126ec564a20e7140775b4b3fdb7) )
+ ROM_LOAD32_WORD( "830a14.32u", 0x000000, 0x400000, CRC(335793e1) SHA1(d582b53c3853abd59bc728f619a30c27cfc9497c) )
+ ROM_LOAD32_WORD( "830a13.24u", 0x000002, 0x400000, CRC(d6e7877e) SHA1(b4d0e17ada7dd126ec564a20e7140775b4b3fdb7) )
ROM_REGION16_LE(0x1000000, "rfsnd", 0) /* PCM sample roms */
ROM_LOAD( "830a09.16p", 0x000000, 0x400000, CRC(e4b9f305) SHA1(ce2c6f63bdc9374dde48d8359102b57e48b4fdeb) )
@@ -1489,8 +1524,8 @@ ROM_START(sscopea)
ROM_LOAD16_WORD_SWAP("830a08.7s", 0x000000, 0x80000, CRC(2805ea1d) SHA1(2556a51ee98cb8f59bf081e916c69a24532196f1) )
ROM_REGION(0x1000000, "user5", 0) /* CG Board texture roms */
- ROM_LOAD32_WORD( "830a14.u32", 0x000000, 0x400000, CRC(335793e1) SHA1(d582b53c3853abd59bc728f619a30c27cfc9497c) )
- ROM_LOAD32_WORD( "830a13.u24", 0x000002, 0x400000, CRC(d6e7877e) SHA1(b4d0e17ada7dd126ec564a20e7140775b4b3fdb7) )
+ ROM_LOAD32_WORD( "830a14.32u", 0x000000, 0x400000, CRC(335793e1) SHA1(d582b53c3853abd59bc728f619a30c27cfc9497c) )
+ ROM_LOAD32_WORD( "830a13.24u", 0x000002, 0x400000, CRC(d6e7877e) SHA1(b4d0e17ada7dd126ec564a20e7140775b4b3fdb7) )
ROM_REGION16_LE(0x1000000, "rfsnd", 0) /* PCM sample roms */
ROM_LOAD( "830a09.16p", 0x000000, 0x400000, CRC(e4b9f305) SHA1(ce2c6f63bdc9374dde48d8359102b57e48b4fdeb) )
@@ -1678,8 +1713,8 @@ ROM_START(thrilldbu) // GE713UF sticker, does not have the chip at 2G since it u
ROM_LOAD32_WORD_SWAP("713a05.14t", 0x000002, 0x200000, CRC(6f1e6802) SHA1(91f8a170327e9b4ee6a64aee0c106b981a317e69) )
ROM_REGION32_BE(0x800000, "user5", 0) // CG Board texture roms
- ROM_LOAD32_WORD_SWAP( "713a13.8x", 0x000000, 0x400000, CRC(b795c66b) SHA1(6e50de0d5cc444ffaa0fec7ada8c07f643374bb2) )
- ROM_LOAD32_WORD_SWAP( "713a14.16x", 0x000002, 0x400000, CRC(5275a629) SHA1(16fadef06975f0f3625cac8f84e2e77ed7d75e15) )
+ ROM_LOAD32_WORD_SWAP( "713a13.24u", 0x000000, 0x400000, CRC(b795c66b) SHA1(6e50de0d5cc444ffaa0fec7ada8c07f643374bb2) )
+ ROM_LOAD32_WORD_SWAP( "713a14.32u", 0x000002, 0x400000, CRC(5275a629) SHA1(16fadef06975f0f3625cac8f84e2e77ed7d75e15) )
ROM_REGION(0x80000, "audiocpu", 0) // 68k program roms
ROM_LOAD16_WORD_SWAP( "713a08.7s", 0x000000, 0x080000, CRC(6a72a825) SHA1(abeac99c5343efacabcb0cdff6d34f9f967024db) )
@@ -1689,7 +1724,7 @@ ROM_START(thrilldbu) // GE713UF sticker, does not have the chip at 2G since it u
ROM_LOAD( "713a10.14p", 0x400000, 0x400000, CRC(27f9833e) SHA1(1540f00d2571ecb81b914c553682b67fca94bbbd) )
ROM_REGION(0x2000, "m48t58",0)
- ROM_LOAD( "713uab_m48t58y.35d", 0x000000, 0x002000, NO_DUMP )
+ ROM_LOAD( "713uab_m48t58y.35d", 0x000000, 0x002000, CRC(33a5250f) SHA1(3ffe2c812b341a9ed805c791c9dcfcb7587fbf3a) )
ROM_END
} // Anonymous namespace
@@ -1702,6 +1737,8 @@ GAME( 1998, nbapbp, 0, hornet, nbapbp, hornet_state, init_hornet,
GAME( 1998, nbapbpa, nbapbp, hornet, nbapbp, hornet_state, init_hornet, ROT0, "Konami", "NBA Play By Play (ver AAB)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1998, terabrst, 0, terabrst, terabrst, hornet_state, init_hornet, ROT0, "Konami", "Teraburst (1998/07/17 ver UEL)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1998, terabrsta, terabrst, terabrst, terabrst, hornet_state, init_hornet, ROT0, "Konami", "Teraburst (1998/02/25 ver AAA)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
+// identifies as NWK-LC system
+GAME( 1998, thrilldbu, thrilld, hornet, gradius4, hornet_state, init_hornet, ROT0, "Konami", "Thrill Drive (ver UFB)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NODEVICE_LAN ) // resets after checking wheels, needs proper analog inputs, but the reset probably isn't related
// The region comes from the Timekeeper NVRAM, without a valid default all sets except 'xxD, Ver 1.33' will init their NVRAM to UAx versions, the xxD set seems to incorrectly init it to JXD, which isn't a valid
// version, and thus can't be booted. If you copy the NVRAM from another already initialized set, it will boot as UAD.
@@ -1714,6 +1751,3 @@ GAMEL( 1999, sscopea, sscope, sscope, sscope, hornet_state, init_sscope,
GAMEL( 2000, sscope2, 0, sscope2, sscope2, hornet_state, init_sscope2, ROT0, "Konami", "Silent Scope 2 : Dark Silhouette (ver UAD)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE | MACHINE_NODEVICE_LAN , layout_dualhsxs )
//GAMEL( 2000, sscope2e, sscope2, sscope2, sscope2, hornet_state, init_sscope2, ROT0, "Konami", "Silent Scope 2 : Fatal Judgement (ver EAD)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE | MACHINE_NODEVICE_LAN , layout_dualhsxs )
//GAMEL( 2000, sscope2j, sscope2 sscope2, sscope2, hornet_state, init_sscope2, ROT0, "Konami", "Silent Scope 2 : Innocent Sweeper (ver JAD)", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE | MACHINE_NODEVICE_LAN , layout_dualhsxs )
-
-// identifies as NWK-LC system. Needs m48t58 dump, version to be verified when it boots
-GAME( 1998, thrilldbu, thrilld, hornet, gradius4, hornet_state, init_hornet, ROT0, "Konami", "Thrill Drive (?AB)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_NODEVICE_LAN )