summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/pyson.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/pyson.cpp')
-rw-r--r--src/mame/drivers/pyson.cpp255
1 files changed, 255 insertions, 0 deletions
diff --git a/src/mame/drivers/pyson.cpp b/src/mame/drivers/pyson.cpp
new file mode 100644
index 00000000000..b4c51157db2
--- /dev/null
+++ b/src/mame/drivers/pyson.cpp
@@ -0,0 +1,255 @@
+// license:BSD-3-Clause
+// copyright-holders:Guru, Scott Stone
+/***************************************************************************
+
+Konami Pyson Hardware Overview
+Konami 2001-2005
+
+This system uses a standard GH-006 PS2 main board (the older Playstation 2 square type) with a
+Sony-supplied PS2 power supply which bolts onto the top of the main board. This power supply
+has a single 12 volt power input and creates all of the voltages for the PS2. The same 12 volt input
+extends via a splitter to the Konami interface PCB into CN3. The PS2 main board is connected to the
+custom Konami interface PCB via the PS2 main board AV connector and the IEEE 1394 'i.LINK' connector.
+A security dongle with no label on the top which looks like a PS2 memory card is plugged into the left
+PS2 memory card slot. This card is identical to the dongles used in Namco System 246/256. Note that the
+two games dumped so far have the same label on the security dongle (KN00002) but the ROM inside is not
+identical. So far all the Konami game software resides on a 128M CF card. However there are probably
+HDD/CDROM/DVDROM-based games too since the Konami interface board has connectors for IDE drives.
+
+Games known to run on this system include.... DIN5
+ CF Card Dongle PS2 Cart
+Game Title Label Label Label (bottom)
+---------------------------------------------------------------------------------------------------------
+*Baseball Heroes 2005
+*Battle Climaxx!
+*Battle Climaxx! 2
+*Dog Station
+*Dog Station Deluxe
+*Hawaiian De Golf
+*Monster Gate Online
+*Monster Gate Online 2
+*Nice Smash!
+*Paintball Mania
+*Perfect Pool
+*Pool Pocket Fortunes
+*R.P.M. Red
+World Soccer Winning Eleven Arcade Game Style C18JAA03 DIN5 dongle GCC27JA KN00002
+World Soccer Winning Eleven Arcade Game Style 2003 C27JAA03 not used KN00002
+---------------------------------------------------------------------------------------------------------
+
+* denotes not dumped.
+
+Konami PCB Layout
+-----------------
+
+PWB0000106626
+KONAMI 2001
+ |-----------------------------------------|
+ | CN5 CN7 CN2 CN3|
+|-| |
+| TD62064 LM358 |------| BA7078 |
+| 3793 |VS218 | 25MHz |
+| 056879 LM358 | | CN9|
+|J |------| LED3|
+|A LED4|
+|M LM358 D72872GC LED5|
+|M 24MHz |
+|A ADC0838 6379 CN12|
+| LM358 |
+| |
+| LED6-13 CN13|
+|-| |
+ | |--------| |
+ | |TOSHIBA | |
+|-| |TMPR3927| |
+| DS14C232 | | |
+| |--------| |
+| 8.4MHz |
+|C |
+|N 48LC2M32B2 |
+|1 CN16 |
+|5 XC9536 B22A01.U42 CN17|
+| XCS10XL |
+| M48T58Y.U48 |
+| DS2430 |
+| DS14C232 |
+|-| |
+ |SW4 CN19 CN20 CN21 |
+ |-----------------------------------------|
+Notes:
+ LM358 - National LM358 Dual Operational Amplifier (SOIC8)
+ 6379 - NEC uPD6379A 2-Channel 16-bit D/A Cconverter (SOIC8)
+ 3793 - Fujitsu MB3793-A Power Voltage Monitoring IC with Watchdog Timer (SOIC8)
+ TD62064 - Toshiba TDA62064 Darlington Transistor Array
+ BA7078 - ROHM BA7078 Sync Separator / Sync Detection IC (SOIC18)
+ VS218 - National VS218ALC4 (video-related?) (TQFP144)
+ D72872GC - NEC D72872GC IEEE 1394 controller (TQFP120)
+ 056879 - Konami custom 056879 (QFP120)
+ ADC0838 - National ADC0838 8-Bit Serial I/O A/D Converter with Multiplexer Option (SOIC20)
+ DS14C232 - National DS14C232 Low Power +5V Powered TIA/EIA-232 Dual Driver/Receiver (SOIC16)
+ TMPR3927 - Toshiba TMPR3927 32-bit R3000A-based RISC micro-controller (QFP240)
+ 48LC2M32B2 - Micron 48LC2M32B2 512k x32-bit x4-banks (64MBit) SDRAM (TSOP86)
+ XC9536 - Xilinx XC9536XL CPLD stamped 'QB22A1' (PLCC44)
+ B22A01.U42 - Fujitsu MBM29F400 512k x8-bit flash ROM stamped 'B22A01' (TSOP48). This is probably
+ the common-to-all-games Pyson BIOS for the TMPR3927
+ XCS10XL - Xilinx Spartan XCS10XL FPGA (TQFP144)
+ M48T58Y - ST Microelectronics M48T58Y 8k Timekeeper/NVRAM (DIP28). As well as being used for protection
+ with the Konami game code/year etc (the usual first 16 bytes) it also seems to contain code
+ or other data in some of the games, meaning it's not possible to hand-create the NVRAMs.
+ The same 'extended usage' of this chip is also present on Konami Viper PCBs.
+ DS2430 - Dallas DS2430 256-bit EEPROM and silicon serial number (3 pin TO-92 package)
+ CN2 - RJ45 network connector
+ CN3 - 5 pin power input connector (12 volts only)
+ CN5/7 - RCA jacks for unamplified stereo audio output
+ CN9 - 13 pin audio/video connector joined with a cable to the PS2 main board AV connector
+ CN12 - IEEE 1394 connector joined with a cable to the PS2 main board 'i.LINK' connector
+ CN13 - 4 pin power connector (unused)
+ CN15 - 28 way edge connector which connects to the filter board along with the JAMMA edge connector
+ CN16 - 40 pin standard IDE connector (for CDROM/DVDROM or 3.5" IDE HDD)
+ CN17 - 44 pin standard IDE connector (for 2.5" IDE HDD)
+ CN19 - DIN5 connector for plug-in security module. The module contains a Dallas DS2430 which
+ effectively replaces the common-to-most-games one on the main board (same a Viper h/w)
+ CN20 - 4 pin connector
+ CN21 - Standard Compact Flash card slot
+ SW4 - 4 position DIP switch
+
+
+Filter Board
+------------
+
+This plugs into the Konami interface board at 90 degrees via the 2x 28-way female connectors
+All components face the Konami interface PCB. Only the JVS power connectors, JAMMA and CN* are externally accessible.
+
+PWB0000121667 2002 KONAMI
+|----------------------------| |------------------------------|
+| CN4 CN5 CN7 CN14 |------| JAMMA |------|
+| |
+| LMH6643 DS485 8PIN_JVS|
+| HD64F3664 XC9536 |
+|CN1 14MHz |
+| LMH6643 TPC8013 6PIN_JVS|
+| |
+| 28-WAY-FEMALE 28-WAY-FEMALE |
+|-------------------------------------------------------------------------|
+Notes:
+ CN4 - 8-pin mini-DIN connector
+ CN5/7 - 15-pin VGA connectors
+ CN14 - Standard USB connector. This connects to a standard JVS I/O board. It was tested with
+ a common Sega JVS I/O and works fine however Konami probably have their own JVS I/O board
+ for use with this system
+ HD64F3664 - Hitachi HD64F3664 H8/3664 micro-controller stamped 'C18B6' or 'C18A6' (QFP64)
+ XC9536 - Xilinx XC9536 CPLD stamped 'EC18B1' (PLCC44)
+ DS485 - National DS485 Low-Power Transceiver for RS-485 and RS-422 Communication (SOIC8)
+ LMH6643 - National LMH6643 3V, Low Power, 130MHz, 75mA Rail-to-Rail Output Amplifier (SOIC8)
+ TPC8013 - Toshiba TPC8013 Silicon N Channel MOS Type Field Effect Transistor (SOIC8)
+ 28-WAY* - 28-Way Female connectors. These both plug into the Konami interface board
+ JAMMA - Standard Jamma Edge Connector (not used)
+ 8PIN_JVS - Common JVS Power Connectors (on other side of the PCB)
+ 6PIN_JVS /
+
+***************************************************************************/
+
+
+#include "emu.h"
+#include "cpu/mips/mips3.h"
+#include "cpu/mips/r3000.h"
+
+
+class pyson_state : public driver_device
+{
+public:
+ pyson_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag),
+ m_maincpu(*this, "maincpu")
+ { }
+
+ UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+
+protected:
+
+ // devices
+ required_device<cpu_device> m_maincpu;
+
+ // driver_device overrides
+ virtual void video_start();
+};
+
+
+void pyson_state::video_start()
+{
+}
+
+UINT32 pyson_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+{
+ return 0;
+}
+
+static ADDRESS_MAP_START(ps2_map, AS_PROGRAM, 32, pyson_state)
+ AM_RANGE(0x00000000, 0x01ffffff) AM_RAM // 32 MB RAM in consumer PS2s, do these have more?
+ AM_RANGE(0x1fc00000, 0x1fdfffff) AM_ROM AM_REGION("bios", 0)
+ADDRESS_MAP_END
+
+static INPUT_PORTS_START( pyson )
+INPUT_PORTS_END
+
+static MACHINE_CONFIG_START( pyson, pyson_state )
+ MCFG_CPU_ADD("maincpu", R5000LE, 294000000) // imported from namcops2.c driver
+ MCFG_MIPS3_ICACHE_SIZE(16384)
+ MCFG_MIPS3_DCACHE_SIZE(16384)
+ MCFG_CPU_PROGRAM_MAP(ps2_map)
+
+ /* video hardware */
+ MCFG_SCREEN_ADD("screen", RASTER)
+ MCFG_SCREEN_REFRESH_RATE(60)
+ MCFG_SCREEN_UPDATE_DRIVER(pyson_state, screen_update)
+ MCFG_SCREEN_SIZE(640, 480)
+ MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 479)
+
+ MCFG_PALETTE_ADD("palette", 65536)
+MACHINE_CONFIG_END
+
+#define PYSON_BIOS \
+ ROM_LOAD( "b22a01.u42", 0x000000, 0x080000, CRC(98de405e) SHA1(4bc268a996825c1bdf6ae277d331fe7bdc0cc00c) )
+
+ROM_START( pyson )
+ ROM_REGION(0x200000, "bios", 0)
+ PYSON_BIOS
+
+ ROM_REGION(0x840000, "key", ROMREGION_ERASE00)
+ DISK_REGION( "ide:0:hdd:image" )
+ROM_END
+
+ROM_START( wswe )
+ ROM_REGION(0x200000, "bios", 0)
+ PYSON_BIOS
+
+ ROM_REGION(0x840000, "key", ROMREGION_ERASE00)
+ ROM_LOAD( "kn00002.ic002", 0x000000, 0x800000, CRC(bd1770aa) SHA1(be217d6d7648e529953ea25caad904394919644c) )
+ ROM_LOAD( "kn00002_spr.ic002", 0x800000, 0x040000, CRC(296c8436) SHA1(c0da440b50dba4ca8eb2b1ee7b6de681769fcf65) )
+
+ ROM_REGION(0x2000, "timekeeper", ROMREGION_ERASE00)
+ ROM_LOAD( "m48t58y.u48", 0x000000, 0x002000, CRC(d4181cb5) SHA1(c5560d1ac043bfe2527fac3fb1989fa8fc53cf8a) )
+
+ DISK_REGION( "ide:0:hdd:image" )
+ DISK_IMAGE_READONLY( "c18jaa03", 0, SHA1(b47190aa38f1f3a499b817758e3f29fac54391bd) )
+ROM_END
+
+ROM_START( wswe2k3 )
+ ROM_REGION(0x200000, "bios", 0)
+ PYSON_BIOS
+
+ ROM_REGION(0x840000, "key", ROMREGION_ERASE00)
+ ROM_LOAD( "kn00002.ic002", 0x000000, 0x800000, CRC(6f5b7309) SHA1(5e9d75497c3a3a92af41b20e41991c9c5837d50a) )
+ ROM_LOAD( "kn00002_spr.ic002", 0x800000, 0x040000, CRC(433f7ad9) SHA1(4fd05124d59cdbedd781580e49ff940c5df67d94) )
+
+ ROM_REGION(0x2000, "timekeeper", ROMREGION_ERASE00)
+ ROM_LOAD( "m48t58y.u48", 0x000000, 0x002000, CRC(76068de0) SHA1(5f75b88ad04871fb3799fe904658c87524bad94f) )
+
+ DISK_REGION( "ide:0:hdd:image" )
+ DISK_IMAGE_READONLY( "c27jaa03", 0, SHA1(9b2aa900711d88cf5effb3ba6be18726ea006ac4) )
+ROM_END
+
+
+GAME(2002, pyson, 0, pyson, pyson, driver_device, 0, ROT0, "Konami", "Konami Pyson BIOS", MACHINE_IS_SKELETON|MACHINE_IS_BIOS_ROOT)
+GAME(2002, wswe, pyson, pyson, pyson, driver_device, 0, ROT0, "Konami", "World Soccer Winning Eleven Arcade Game Style", MACHINE_IS_SKELETON)
+GAME(2003, wswe2k3, pyson, pyson, pyson, driver_device, 0, ROT0, "Konami", "World Soccer Winning Eleven Arcade Game 2003", MACHINE_IS_SKELETON)