diff options
Diffstat (limited to 'src/mame/drivers/vamphalf.cpp')
-rw-r--r-- | src/mame/drivers/vamphalf.cpp | 136 |
1 files changed, 103 insertions, 33 deletions
diff --git a/src/mame/drivers/vamphalf.cpp b/src/mame/drivers/vamphalf.cpp index dd235214833..e466c314047 100644 --- a/src/mame/drivers/vamphalf.cpp +++ b/src/mame/drivers/vamphalf.cpp @@ -17,6 +17,7 @@ Puzzle Bang Bang (c) 1999 Omega System (version 2.8 and 2.9) Super Lup Lup Puzzle (c) 1999 Omega System (version 4.0) Vamf 1/2 (c) 1999 Danbi & F2 System (Europe version 1.1.0908) + Vamf 1/2 (c) 1999 Danbi & F2 System (Europe version 1.0.0903) Vamp 1/2 (c) 1999 Danbi & F2 System (Korea version 1.1.0908) Date Quiz Go Go Episode 2 (c) 2000 SemiCom Mission Craft (c) 2000 Sun (version 2.7 and 2.4) @@ -131,6 +132,7 @@ public: DECLARE_CUSTOM_INPUT_MEMBER(boonggab_photo_sensors_r); DECLARE_READ16_MEMBER(vamphalf_speedup_r); + DECLARE_READ16_MEMBER(vamphalfr1_speedup_r); DECLARE_READ16_MEMBER(vamphafk_speedup_r); DECLARE_READ16_MEMBER(misncrft_speedup_r); DECLARE_READ16_MEMBER(misncrfta_speedup_r); @@ -175,6 +177,7 @@ public: virtual void video_start() override; DECLARE_DRIVER_INIT(vamphalf); + DECLARE_DRIVER_INIT(vamphalfr1); DECLARE_DRIVER_INIT(vamphafk); DECLARE_DRIVER_INIT(coolmini); DECLARE_DRIVER_INIT(mrkickera); @@ -1184,41 +1187,74 @@ MACHINE_CONFIG_END Vamp 1/2 (Semi Vamp) Danbi, 1999 +Later DANBI PCB: ++-----------------------------------------------+ +| VR1 KA12 VROM1 | +| | +| BS901 AD-65 ROML01 ROMU01 | +| ROML00 ROMU00 | +| 62256 | +|J 62256 +----------+| +|A +------+ |Quicklogic|| +|M DRAM1 |E1-16T| ROM1 | QL2003 || +|M +------+ | XPL84C || +|A 62256 +----------+| +| GAL1 62256 | +| 93C46 +----------+ 62256 | +| |Quicklogic| 62256 | +| | QL2003 | 62256 | +| 50.000MHz | XPL84C | 62256 | +|B1 B2 B3 +----------+ 28.000MHz | ++-----------------------------------------------+ -PCB Layout ----------- - KA12 VROM1. - - BS901 AD-65 ROML01. ROMU01. - ROML00. ROMU00. - 62256 - 62256 - -T2316162A E1-16T PROM1. QL2003-XPL84C - - 62256 - 62256 62256 - 62256 - 93C46.IC3 62256 - 62256 - 50.000MHz QL2003-XPL84C -B1 B2 B3 28.000MHz - - - -Notes ------ -B1 B2 B3: Push buttons for SERV, RESET, TEST -T2316162A: Main program RAM -E1-16T: Hyperstone E1-16T CPU -QL2003-XPL84C: QuickLogic PLCC84 PLD -AD-65: Compatible to OKI M6295 -KA12: Compatible to Y3012 -BS901 Compatible to YM2151 -PROM1: Main program -VROM1: OKI samples -ROML* / U*: Graphics, device is MX29F1610ML (surface mounted SOP44 MASK ROM) + CPU: Hyperstone E1-16T +Graphics: QuickLogic QL2003-XPL84 + Sound: Oki M6295 rebaged as AD-65 + YM3012/YM2151 rebaged as KA12/BS901 + ROMs: ROML00/01, ROMU00/01 - Macronix MX29F1610MC-12 SOP44 16MBit FlashROM + DRAM1: TM T2316162A 1M x16 EDO DRAM (SOJ44) + + +Ealier DANBI PCB: ++-----------------------------------------------+ +| VR1 KA3002 VROM1 | +| | +| KA51 U6295 ELC EVI | +| ROML00* ROMU00*| +| 62256 | +| 62256 | +|J +----------+ +---------+ | +|A DRAM1 |GMS30C2116| ROM1 | Actel | | +|M +----------+ |A40MX04-F| | +|M 62256 | PL84 | | +|A GAL1 62256 +---------+ | +| 93C46 | +| +---------+ 62256 | +| | Actel | 62256 | +| |A40MX04-F| 62256 | +| 50.000MHz | PL84 | 62256 | +|B1 B2 B3 +---------+ 28.000MHz | ++-----------------------------------------------+ + + CPU: HYUNDAI GMS30C2116 +Graphics: Actel A40MX04-F PL84 + Sound: Oki M6295 rebaged as U6295 + YM3012/YM2151 rebaged as KA3002/KA51 + ROMs: ROML01, ROMU01 - SOP44 32MBit MASK ROM for ELC & EVI + ROML00, ROMU00 - unpopulated + DRAM1: LG Semi GM71C18163 1M x16 EDO DRAM (SOJ44) + + +Both PCBs: + VROM1: Macronix MX27C2000 2MBit DIP32 EPROM + ROM1: ST M27C4001 4MBit DIP32 EPROM + + RAMs: MEMx/CRAMx - HMC HM2H256AJ-15 32K x8 SRAM (SOJ28) + GAL1: PALCE22V10H + +B1 B2 B3: Push buttons for SERV, RESET, TEST + VR1: Volume adjust pot */ ROM_START( vamphalf ) @@ -1236,6 +1272,19 @@ ROM_START( vamphalf ) ROM_LOAD( "snd.vrom1", 0x00000, 0x40000, CRC(ee9e371e) SHA1(3ead5333121a77d76e4e40a0e0bf0dbc75f261eb) ) ROM_END +ROM_START( vamphalfr1 ) + ROM_REGION16_BE( 0x100000, "user1", ROMREGION_ERASE00 ) /* Hyperstone CPU Code */ + /* 0 - 0x80000 empty */ + ROM_LOAD( "ws1-01201.rom1", 0x80000, 0x80000, CRC(afa75c19) SHA1(5dac104d1b3c026b6fce4d1f9126c048ebb557ef) ) /* at 0x162B8: Europe Version 1.0.0903 */ + + ROM_REGION( 0x800000, "gfx1", 0 ) /* 16x16x8 Sprites */ + ROM_LOAD32_WORD( "elc.roml01", 0x000000, 0x400000, CRC(19df4056) SHA1(8b05769d8e245f8b25bf92013b98c9d7e5ab4548) ) /* only 2 roms, though twice as big as other sets */ + ROM_LOAD32_WORD( "evi.romu01", 0x000002, 0x400000, CRC(f9803923) SHA1(adc1d4fa2c6283bc24829f924b58fbd9d1bacdd2) ) + + ROM_REGION( 0x40000, "oki", 0 ) /* Oki Samples */ + ROM_LOAD( "ws1-01202.vrom1", 0x00000, 0x40000, CRC(ee9e371e) SHA1(3ead5333121a77d76e4e40a0e0bf0dbc75f261eb) ) /* same data as other sets */ +ROM_END + ROM_START( vamphalfk ) ROM_REGION16_BE( 0x100000, "user1", ROMREGION_ERASE00 ) /* Hyperstone CPU Code */ @@ -2517,6 +2566,18 @@ READ16_MEMBER(vamphalf_state::vamphalf_speedup_r) return m_wram[(0x4a840/2)+offset]; } +READ16_MEMBER(vamphalf_state::vamphalfr1_speedup_r) +{ + if(space.device().safe_pc() == 0x82de) + { + if(irq_active(space)) + space.device().execute().spin_until_interrupt(); + else + space.device().execute().eat_cycles(50); + } + + return m_wram[(0x4a4f0/2)+offset]; +} READ16_MEMBER(vamphalf_state::vamphafk_speedup_r) { @@ -2818,6 +2879,14 @@ DRIVER_INIT_MEMBER(vamphalf_state,vamphalf) m_flip_bit = 0x80; } +DRIVER_INIT_MEMBER(vamphalf_state,vamphalfr1) +{ + m_maincpu->space(AS_PROGRAM).install_read_handler(0x0004a4f0, 0x0004a4f3, read16_delegate(FUNC(vamphalf_state::vamphalf_speedup_r), this)); + + m_palshift = 0; + m_flip_bit = 0x80; +} + DRIVER_INIT_MEMBER(vamphalf_state,vamphafk) { m_maincpu->space(AS_PROGRAM).install_read_handler(0x0004a6d0, 0x0004a6d3, read16_delegate(FUNC(vamphalf_state::vamphafk_speedup_r), this)); @@ -3048,6 +3117,7 @@ GAME( 1999, luplup29, suplup, suplup, common, vamphalf_state, luplup29, GAME( 1999, puzlbang, suplup, suplup, common, vamphalf_state, puzlbang, ROT0, "Omega System", "Puzzle Bang Bang (Korea, version 2.9 / 990108)", MACHINE_SUPPORTS_SAVE ) GAME( 1999, puzlbanga, suplup, suplup, common, vamphalf_state, puzlbang, ROT0, "Omega System", "Puzzle Bang Bang (Korea, version 2.8 / 990106)", MACHINE_SUPPORTS_SAVE ) GAME( 1999, vamphalf, 0, vamphalf, common, vamphalf_state, vamphalf, ROT0, "Danbi / F2 System", "Vamf x1/2 (Europe, version 1.1.0908)", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, vamphalfr1,vamphalf, vamphalf, common, vamphalf_state, vamphalfr1,ROT0, "Danbi / F2 System", "Vamf x1/2 (Europe, version 1.0.0903)", MACHINE_SUPPORTS_SAVE ) GAME( 1999, vamphalfk, vamphalf, vamphalf, common, vamphalf_state, vamphafk, ROT0, "Danbi / F2 System", "Vamp x1/2 (Korea, version 1.1.0908)", MACHINE_SUPPORTS_SAVE ) GAME( 2000, dquizgo2, 0, coolmini, common, vamphalf_state, dquizgo2, ROT0, "SemiCom", "Date Quiz Go Go Episode 2" , MACHINE_SUPPORTS_SAVE ) GAME( 2000, misncrft, 0, misncrft, common, vamphalf_state, misncrft, ROT90, "Sun", "Mission Craft (version 2.7)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) |