mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
New working clone
Out of whatsnew: Current parent set relabeled as Wyvern F-0 (Rev 1) as per the program ROM labels indicate. New working clones ------------------ Wyvern F-0 [jordigahan, ClawGrip, The Dumping Union]
This commit is contained in:
parent
33ac8f68fc
commit
1f77bd3f98
@ -10,7 +10,7 @@ Typical Taito mid-80s hardware but with dual video output.
|
||||
|
||||
Sound board: Z80, 2 x YM2149, OKI M5232
|
||||
CPU board: Z80, ROM and RAM, 68705P5 MCU (protected)
|
||||
OBJ board: ROMs and RAM
|
||||
OBJ board: 48MHz OSC, ROMs and RAM
|
||||
Video board: ROMs and RAM, 4 x Fujitsu MB112S146 (also used on arkanoid, lkage)
|
||||
|
||||
The rest is just common logic, there are no custom chips.
|
||||
@ -651,15 +651,15 @@ void wyvernf0_state::machine_reset()
|
||||
void wyvernf0_state::wyvernf0(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
Z80(config, m_maincpu, 6000000); // ?
|
||||
Z80(config, m_maincpu, 48_MHz_XTAL/8); // 6MHz D780C-2 - Clock not verified
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &wyvernf0_state::wyvernf0_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(wyvernf0_state::irq0_line_hold));
|
||||
|
||||
Z80(config, m_audiocpu, 4000000); // ?
|
||||
Z80(config, m_audiocpu, 48_MHz_XTAL/12); // 4MHz - Clock not verified
|
||||
m_audiocpu->set_addrmap(AS_PROGRAM, &wyvernf0_state::sound_map);
|
||||
m_audiocpu->set_periodic_int(FUNC(wyvernf0_state::irq0_line_hold), attotime::from_hz(60*2)); // IRQ generated by ??? (drives music tempo), NMI by main cpu
|
||||
|
||||
// M68705P5(config, "mcu", 4000000); // ?
|
||||
// M68705P5(config, "mcu", 48_MHz_XTAL/12); // 4MHz - Clock not verified
|
||||
|
||||
// config.m_minimum_quantum = attotime::from_hz(6000); // 100 CPU slices per second to synchronize between the MCU and the main CPU
|
||||
|
||||
@ -682,13 +682,13 @@ void wyvernf0_state::wyvernf0(machine_config &config)
|
||||
GENERIC_LATCH_8(config, m_soundlatch);
|
||||
|
||||
// coin, fire, lift-off
|
||||
YM2149(config, "ay1", 3000000).add_route(ALL_OUTPUTS, "mono", 0.25); // YM2149 clock ??, pin 26 ??
|
||||
YM2149(config, "ay1", 48_MHz_XTAL/16).add_route(ALL_OUTPUTS, "mono", 0.25); // YM2149 3MHz clock ??, pin 26 ??
|
||||
|
||||
// lift-off, explosion (saucers), boss alarm
|
||||
YM2149(config, "ay2", 3000000).add_route(ALL_OUTPUTS, "mono", 0.25); // YM2149 clock ??, pin 26 ??
|
||||
YM2149(config, "ay2", 48_MHz_XTAL/16).add_route(ALL_OUTPUTS, "mono", 0.25); // YM2149 3MHz clock ??, pin 26 ??
|
||||
|
||||
// music
|
||||
msm5232_device &msm(MSM5232(config, "msm", 2000000)); // ?
|
||||
msm5232_device &msm(MSM5232(config, "msm", 48_MHz_XTAL/24)); // 2MHz - Clock not verified
|
||||
msm.set_capacitors(0.39e-6, 0.39e-6, 0.39e-6, 0.39e-6, 0.39e-6, 0.39e-6, 0.39e-6, 0.39e-6); /* default 0.39 uF capacitors (not verified) */
|
||||
msm.add_route(0, "mono", 0.5); // pin 28 2'-1
|
||||
msm.add_route(1, "mono", 0.5); // pin 29 4'-1
|
||||
@ -730,7 +730,7 @@ ROM_START( wyvernf0 )
|
||||
ROM_FILL( 0xe000, 0x2000, 0xff ) // diagnostics ROM
|
||||
|
||||
ROM_REGION( 0x0800, "mcu", 0 ) // protected 68705P5 MCU
|
||||
ROM_LOAD( "a39_mcu.icxx", 0x0000, 0x0800, NO_DUMP )
|
||||
ROM_LOAD( "a39_mcu.ic23", 0x0000, 0x0800, NO_DUMP )
|
||||
|
||||
ROM_REGION( 0x10000, "sprites", 0 ) // sprites
|
||||
ROM_LOAD( "a39_11.ic99", 0x0000, 0x4000, CRC(af70e1dc) SHA1(98dba673750cdfdf25c119c24da10428eff6591b) )
|
||||
@ -739,10 +739,42 @@ ROM_START( wyvernf0 )
|
||||
ROM_LOAD( "a39_08.ic75", 0xc000, 0x4000, CRC(0ad69501) SHA1(29037c60bed9435568e997689d193f161f6a4f5b) )
|
||||
|
||||
ROM_REGION( 0x8000, "tiles", 0 ) // tilemaps
|
||||
ROM_LOAD( "a39_14.ic99", 0x0000, 0x2000, CRC(90a66147) SHA1(8515c43980b7fa55933ca74fb23172e8c832a830) ) // wrong name?
|
||||
ROM_LOAD( "a39_15.ic99", 0x0000, 0x2000, CRC(90a66147) SHA1(8515c43980b7fa55933ca74fb23172e8c832a830) ) // was listed as a39_14,ic99 but changed to a39_15.ic99
|
||||
ROM_LOAD( "a39_14.ic73", 0x2000, 0x2000, CRC(a31f3507) SHA1(f72e089dbd700639d64e418812d4b6f4dc1dff75) )
|
||||
ROM_LOAD( "a39_13.ic100", 0x4000, 0x2000, CRC(be708238) SHA1(f12d433af7bf6010dea9454a1b3bb2990a42a372) )
|
||||
ROM_LOAD( "a39_12.ic74", 0x6000, 0x2000, CRC(1cc389de) SHA1(4213484d3a82688f312811e7a5c4d128e40584c3) )
|
||||
ROM_END
|
||||
|
||||
GAME( 1985, wyvernf0, 0, wyvernf0, wyvernf0, wyvernf0_state, empty_init, ROT270, "Taito", "Wyvern F-0", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_SOUND)
|
||||
ROM_START( wyvernf0a ) /* Possibly the first version or even an earlier development version as A39 06 above isn't labeled as A39 06-1 */
|
||||
ROM_REGION( 0x8000, "maincpu", 0 )
|
||||
ROM_LOAD( "soft1_c2a0.ic37", 0x0000, 0x4000, CRC(15f0beb8) SHA1(4105f7064bf94460a020aecca8795553870e3fdc) ) /* Hand written label SOFT1 C2A0 */
|
||||
ROM_LOAD( "soft2_7b60.ic36", 0x4000, 0x4000, CRC(569a40c4) SHA1(5391b6cdc854277e63e4658f79889da4a941ee42) ) /* Hand written label SOFT2 7B60 */
|
||||
|
||||
ROM_REGION( 0x10000, "rombank", 0 ) /* Only EXT 4 label was hand written, the others were printed */
|
||||
ROM_LOAD( "a39_03.ic35", 0x0000, 0x4000, CRC(50314281) SHA1(0f4805f06b92c170469b7bc2c0342db919107a91) ) /* Labeled EXT 1 == A39 03 */
|
||||
ROM_LOAD( "a39_04.ic34", 0x4000, 0x4000, CRC(7a225bf9) SHA1(4f0c287051e27f5bc936736225003a685cdf8ad3) ) /* Labeled EXT 2 == A39 04 */
|
||||
ROM_LOAD( "a39_05.ic33", 0x8000, 0x4000, CRC(41f21a67) SHA1(bee4a692259c727baf5fc4f47e09efb953b1c94e) ) /* Labeled EXT 3 == A39 05 */
|
||||
ROM_LOAD( "ext4_8ca8.ic32", 0xc000, 0x4000, CRC(793e36de) SHA1(2a316d832ce524250c36602ca910bb4c8befa15d) ) /* Hand written label EXT 4 8CA8 */
|
||||
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "a39_16.ic26", 0x0000, 0x4000, CRC(5a681fb4) SHA1(e31e751a54fa9853acb462ce22dd2ff5286808f0) ) /* Hand written label SOUND 4182 == A39 16 */
|
||||
ROM_FILL( 0xe000, 0x2000, 0xff ) // diagnostics ROM
|
||||
|
||||
ROM_REGION( 0x0800, "mcu", 0 ) // protected 68705P5 MCU
|
||||
ROM_LOAD( "mc68705p5s.ic23", 0x0000, 0x0800, NO_DUMP ) /* hand written label P5 5/1 */
|
||||
|
||||
ROM_REGION( 0x10000, "sprites", 0 ) // sprites
|
||||
ROM_LOAD( "a39_11.ic99", 0x0000, 0x4000, CRC(af70e1dc) SHA1(98dba673750cdfdf25c119c24da10428eff6591b) ) /* Hand written label OBJ4 D979 == A39 11 */
|
||||
ROM_LOAD( "a39_10.ic78", 0x4000, 0x4000, CRC(a84380fb) SHA1(ed77892c1a789040fdfecd5903a23b8cbc1df1da) ) /* Hand written label OBJ3 5852 == A39 10 */
|
||||
ROM_LOAD( "a39_09.ic96", 0x8000, 0x4000, CRC(c0cee243) SHA1(97f66dde552c7a011ecc7ca8da0e62bc83ef8102) ) /* Hand written label OBJ2 50FD == A39 09 */
|
||||
ROM_LOAD( "a39_08.ic75", 0xc000, 0x4000, CRC(0ad69501) SHA1(29037c60bed9435568e997689d193f161f6a4f5b) ) /* Hand written label OBJ1 BD50 == A39 08 */
|
||||
|
||||
ROM_REGION( 0x8000, "tiles", 0 ) // tilemaps
|
||||
ROM_LOAD( "a39_15.ic99", 0x0000, 0x2000, CRC(90a66147) SHA1(8515c43980b7fa55933ca74fb23172e8c832a830) ) /* Labeled SCH 4 == A39 15 */
|
||||
ROM_LOAD( "a39_14.ic73", 0x2000, 0x2000, CRC(a31f3507) SHA1(f72e089dbd700639d64e418812d4b6f4dc1dff75) ) /* Labeled SCH 3 == A39 14 */
|
||||
ROM_LOAD( "a39_13.ic100", 0x4000, 0x2000, CRC(be708238) SHA1(f12d433af7bf6010dea9454a1b3bb2990a42a372) ) /* Labeled SCH 2 == A39 13 */
|
||||
ROM_LOAD( "a39_12.ic74", 0x6000, 0x2000, CRC(1cc389de) SHA1(4213484d3a82688f312811e7a5c4d128e40584c3) ) /* Labeled SCH 1 == A39 12 */
|
||||
ROM_END
|
||||
|
||||
GAME( 1985, wyvernf0, 0, wyvernf0, wyvernf0, wyvernf0_state, empty_init, ROT270, "Taito Corporation", "Wyvern F-0 (Rev 1)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_SOUND)
|
||||
GAME( 1985, wyvernf0a, wyvernf0, wyvernf0, wyvernf0, wyvernf0_state, empty_init, ROT270, "Taito Corporation", "Wyvern F-0", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_COLORS | MACHINE_IMPERFECT_SOUND) // First version or earlier dev version?
|
||||
|
@ -40193,6 +40193,7 @@ wy85 // WY-85
|
||||
|
||||
@source:wyvernf0.cpp
|
||||
wyvernf0 // A39 (c) 1985 Taito Corporation (Japan)
|
||||
wyvernf0a // A39 (c) 1985 Taito Corporation (Japan)
|
||||
|
||||
@source:x07.cpp
|
||||
x07 //
|
||||
|
Loading…
Reference in New Issue
Block a user