mirror of
https://github.com/holub/mame
synced 2025-06-01 10:31:48 +03:00
New clones marked as NOT_WORKING
-------------------------------- Dead or Alive (Model 2A) [Trol] - arkanoid.cpp, snk.cpp: minor documentation updates - funworld.cpp: demoted multiwina to MIG - jack.cpp: corrected ROM lables [Brian Troha] - nmk16.cpp: fixed missing sprites in attract mode for tdragonb3, thanks to info from hammy - sidearms.cpp: dumped PROMs, added hardware info and correcte clocks for Turtle Ship [Guru] - vamphalf.cpp: improved hardware info [Guru] - xain.cpp: corrected audio CPU clock to match measurements - yunsun16.cpp: used standard ROM loading macros and other minor cleanups
This commit is contained in:
parent
a683ea2d1a
commit
f3e93eff6a
@ -4529,8 +4529,6 @@ files {
|
||||
MAME_DIR .. "src/mame/drivers/paradise.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/yunsung8.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/yunsun16.cpp",
|
||||
MAME_DIR .. "src/mame/includes/yunsun16.h",
|
||||
MAME_DIR .. "src/mame/video/yunsun16.cpp",
|
||||
}
|
||||
|
||||
createMAMEProjects(_target, _subtarget, "zaccaria")
|
||||
|
@ -1534,8 +1534,9 @@ void arkanoid_state::brixian(machine_config &config)
|
||||
A75 33 = PROM red Tournament
|
||||
A75 34 = PROM green Tournament
|
||||
A75 35 = PROM blue Tournament
|
||||
A75 36 = Z80 code 1/2 (Tournament v2.0?) (NOT DUMPED)
|
||||
A75 37 = Z80 code 2/2 (Tournament v2.0?) (NOT DUMPED)
|
||||
A75 36 = Z80 code 1/2 (Tournament v2.0?)
|
||||
A75 37 = Z80 code 2/2 (Tournament v2.0?)
|
||||
A75 38 = MC68705P5 MCU code (NOT DUMPED)
|
||||
*/
|
||||
|
||||
ROM_START( arkanoid ) // v1.0 World
|
||||
|
@ -8755,7 +8755,7 @@ GAMEL( 199?, jolyjokrm, jolyjokr, fw1stpal, funworld, funworld_state, empty_in
|
||||
|
||||
// Encrypted games...
|
||||
GAME( 1992, multiwin, 0, multiwin, funworld, multiwin_state, driver_init, ROT0, "Fun World", "Multi Win (Ver.0167, encrypted)", 0 ) // original funworld, encrypted.
|
||||
GAME( 1991, multiwina, multiwin, multiwina,funworld, multiwina_state,empty_init, ROT0, "Fun World", "Multi Win (Ver.0091, encrypted)", 0 ) // different encryption scheme.
|
||||
GAME( 1991, multiwina, multiwin, multiwina,funworld, multiwina_state,empty_init, ROT0, "Fun World", "Multi Win (Ver.0091, encrypted)", MACHINE_IMPERFECT_GRAPHICS ) // different encryption scheme, different tilemap / screen parameters
|
||||
GAME( 2001, multiwinb, multiwin, fw2ndpal, funworld, funworld_state, empty_init, ROT0, "Amatic", "Multi Win (EPM7032, encrypted)", MACHINE_NOT_WORKING ) // daughterboard with R65C02 + Altera EPM7032.
|
||||
GAME( 1993, powercrd, 0, multiwina,funworld, multiwina_state,empty_init, ROT0, "Fun World", "Power Card (Ver 0263, encrypted)", 0 ) // clone of Bonus Card.
|
||||
GAME( 1993, megacard, 0, multiwina,funworld, multiwina_state,empty_init, ROT0, "Fun World", "Mega Card (Ver.0210, encrypted)", 0 )
|
||||
|
@ -1153,26 +1153,26 @@ ROM_START( zzyzzyxx2 )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( brix )
|
||||
ROM_START( brix ) // P-1244-1A PCB
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "a", 0x0000, 0x1000, CRC(050e0d70) SHA1(f5e0ed0845443701233de194d9ce24ec35e03a27) )
|
||||
ROM_LOAD( "b", 0x1000, 0x1000, CRC(668118ae) SHA1(688d6f79d30186bade15dbb1f08e8b25cbefa852) )
|
||||
ROM_LOAD( "c", 0x2000, 0x1000, CRC(ff5ed6cf) SHA1(b6309ed322c2bb12626dfaca705e296723ee7e47) )
|
||||
ROM_LOAD( "d", 0x3000, 0x1000, CRC(c3ae45a9) SHA1(879f0a495d9de855ffcbb0907b9b733ca626a7ef) )
|
||||
ROM_LOAD( "e", 0xc000, 0x1000, CRC(def99fa9) SHA1(e28d32934e1ad31595ec6097befd8518178c9d51) )
|
||||
ROM_LOAD( "f", 0xd000, 0x1000, CRC(dde717ed) SHA1(cf9063aa25faf2027770a4b27831e2e20d1801a0) )
|
||||
ROM_LOAD( "g", 0xe000, 0x1000, CRC(adca02d8) SHA1(75703a6f6d8b5eeb609ed5829d12b97b62309ba4) )
|
||||
ROM_LOAD( "h", 0xf000, 0x1000, CRC(bc3b878c) SHA1(91a5daa90a4c46a354f4ef64730b4a0a8348b6a0) )
|
||||
ROM_LOAD( "brix_a.2f", 0x0000, 0x1000, CRC(050e0d70) SHA1(f5e0ed0845443701233de194d9ce24ec35e03a27) )
|
||||
ROM_LOAD( "brix_b.3f", 0x1000, 0x1000, CRC(668118ae) SHA1(688d6f79d30186bade15dbb1f08e8b25cbefa852) )
|
||||
ROM_LOAD( "brix_c.4f", 0x2000, 0x1000, CRC(ff5ed6cf) SHA1(b6309ed322c2bb12626dfaca705e296723ee7e47) )
|
||||
ROM_LOAD( "brix_d.6f", 0x3000, 0x1000, CRC(c3ae45a9) SHA1(879f0a495d9de855ffcbb0907b9b733ca626a7ef) )
|
||||
ROM_LOAD( "brix_e.7f", 0xc000, 0x1000, CRC(def99fa9) SHA1(e28d32934e1ad31595ec6097befd8518178c9d51) )
|
||||
ROM_LOAD( "brix_f.7e", 0xd000, 0x1000, CRC(dde717ed) SHA1(cf9063aa25faf2027770a4b27831e2e20d1801a0) )
|
||||
ROM_LOAD( "brix_g.6e", 0xe000, 0x1000, CRC(adca02d8) SHA1(75703a6f6d8b5eeb609ed5829d12b97b62309ba4) )
|
||||
ROM_LOAD( "brix_h.4e", 0xf000, 0x1000, CRC(bc3b878c) SHA1(91a5daa90a4c46a354f4ef64730b4a0a8348b6a0) )
|
||||
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "i.5a", 0x0000, 0x1000, CRC(c7742460) SHA1(1dbf0f5be1e2666feef83f256e2993a6c23d7cfc) )
|
||||
ROM_LOAD( "j.6a", 0x1000, 0x1000, CRC(72166ccd) SHA1(4f4efcd8ed7f729f4630446607b0e9c93098aa3a) )
|
||||
ROM_LOAD( "brix_i.5a", 0x0000, 0x1000, CRC(c7742460) SHA1(1dbf0f5be1e2666feef83f256e2993a6c23d7cfc) )
|
||||
ROM_LOAD( "brix_j.6a", 0x1000, 0x1000, CRC(72166ccd) SHA1(4f4efcd8ed7f729f4630446607b0e9c93098aa3a) )
|
||||
|
||||
ROM_REGION( 0x4000, "gfx1", 0 )
|
||||
ROM_LOAD( "n", 0x0000, 0x1000, CRC(8064910e) SHA1(331048e30604ef2a0ae0d7ee5ca5c230b601aec7) )
|
||||
ROM_LOAD( "m.1d", 0x1000, 0x1000, CRC(217b1402) SHA1(b842b2bde8ff5be6b240ccfb35c7a9f701dab5f4) )
|
||||
ROM_LOAD( "k", 0x2000, 0x1000, CRC(c7d7e2a0) SHA1(9790e78abf4f57ddfcef8e5632699152f9440a67) )
|
||||
ROM_LOAD( "l.1a", 0x3000, 0x1000, CRC(ab421a83) SHA1(1cc3e1bcf9e90ffbf7bfeeb0caa8a4f63b34146a) )
|
||||
ROM_LOAD( "brix_n.1c", 0x0000, 0x1000, CRC(8064910e) SHA1(331048e30604ef2a0ae0d7ee5ca5c230b601aec7) )
|
||||
ROM_LOAD( "brix_m.1d", 0x1000, 0x1000, CRC(217b1402) SHA1(b842b2bde8ff5be6b240ccfb35c7a9f701dab5f4) )
|
||||
ROM_LOAD( "brix_k.1b", 0x2000, 0x1000, CRC(c7d7e2a0) SHA1(9790e78abf4f57ddfcef8e5632699152f9440a67) )
|
||||
ROM_LOAD( "brix_l.1a", 0x3000, 0x1000, CRC(ab421a83) SHA1(1cc3e1bcf9e90ffbf7bfeeb0caa8a4f63b34146a) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
@ -21,7 +21,6 @@
|
||||
culprit is a wrong command parameter in geo_parse texture data opcode;
|
||||
- daytona: car glasses doesn't get loaded during gameplay;
|
||||
- doa, doaa: corrupted sound, eventually becomes silent;
|
||||
- doa, doaa: Kasumi model has many culled polygons;
|
||||
- dynamcopc: corrupts palette for 2d (most likely unrelated with the lack of DSP);
|
||||
- fvipers, schamp: rasterizer has issues displaying some characters @see video/model2.cpp
|
||||
- fvipers: enables timers, but then irq register is empty, hence it crashes with an "interrupt halt" at POST (regression);
|
||||
@ -5763,6 +5762,7 @@ ROM_END
|
||||
|
||||
/*
|
||||
The Dead or Alive set below is also known to have genuine Tecmo labels:
|
||||
|
||||
PROJECT PROJECT
|
||||
EPR-AK EPR-AK
|
||||
ROM No. & ROM No.
|
||||
@ -5772,9 +5772,15 @@ The Dead or Alive set below is also known to have genuine Tecmo labels:
|
||||
|
||||
Sega ID# 836-12884 DEAD OR ALIVE
|
||||
|
||||
For all DOA sets, internal information in the 0x2800 to 0x2A00 range shows: TECMO LTD. DEAD OR ALIVE 1996.10.22 VER. 1.00
|
||||
|
||||
Like the Model 2B version with mislabeled ROMs, the above labels with the 97/1/10 date might indicate a currently
|
||||
undumped set of EPR-19310A & EPR-19311A based on the Jan 10, 1997 revised code as shown for the DOA set below
|
||||
|
||||
*/
|
||||
ROM_START( doaa ) /* Dead or Alive Revision A, Model 2A, Sega Game ID# 836-12884 DEAD OR ALIVE, ROM board ID# 838-12885, 837-12880 security board */
|
||||
ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
|
||||
// internal information shows source files names and revision dates. In this case Dec 4 1996
|
||||
ROM_LOAD32_WORD("epr-19310a.12", 0x000000, 0x080000, CRC(06486f7a) SHA1(b3e14103570e5f45aed16e1c158e469bc85002ae) ) // Game Mode Settings : Nation : defaults to Japan, can select Japan, U.S.A. & Export
|
||||
ROM_LOAD32_WORD("epr-19311a.13", 0x000002, 0x080000, CRC(1be62912) SHA1(dcc2df8e28e1a107867f74248e6ffcac83afe7c0) )
|
||||
|
||||
@ -5816,8 +5822,53 @@ ROM_START( doaa ) /* Dead or Alive Revision A, Model 2A, Sega Game ID# 836-12884
|
||||
MODEL2A_VID_BOARD
|
||||
ROM_END
|
||||
|
||||
ROM_START( doaab ) /* Dead or Alive Revision A, Model 2A, Sega Game ID# 836-12884-02 DEAD OR ALIVE, ROM board ID# 838-12885-02, 837-12880 security board */
|
||||
ROM_START( doaab ) /* Dead or Alive Revision A, Model 2A, Sega Game ID# 836-12884 DEAD OR ALIVE, ROM board ID# 838-12885, 837-12880 security board */
|
||||
ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
|
||||
// internal information shows source files names and revision dates. In this case Nov 3 1996
|
||||
ROM_LOAD32_WORD("epr-19310.12", 0x000000, 0x080000, CRC(3c571e75) SHA1(63371275b7cc4889b4f43d3ae27a55728bb2e89d) ) // Game Mode Settings : Nation : defaults to Japan, can select Japan, U.S.A. & Export
|
||||
ROM_LOAD32_WORD("epr-19311.13", 0x000002, 0x080000, CRC(8818363d) SHA1(c10e07d4d90d5b975056f53bd5284de8cabd136a) )
|
||||
|
||||
ROM_REGION32_LE( 0x2000000, "main_data", 0 ) // Data
|
||||
ROM_LOAD32_WORD("mpr-19318.10", 0x0000000, 0x400000, CRC(ab431bfe) SHA1(45b5ccf67c91014daf6bf3c4bd8ec372b246e404) )
|
||||
ROM_LOAD32_WORD("mpr-19319.11", 0x0000002, 0x400000, CRC(c5cb694d) SHA1(448b45d30cc7a71395a49a2c5789989fd7b7b4e7) )
|
||||
ROM_LOAD32_WORD("mpr-19316.8", 0x0800000, 0x400000, CRC(2d2d1b1a) SHA1(77ce5d8aa98bdbc97ae08a452f584b30d8885cfc) )
|
||||
ROM_LOAD32_WORD("mpr-19317.9", 0x0800002, 0x400000, CRC(96b17bcf) SHA1(3aa9d2f8afad74b5626ce2cf2d7a86aef8cac80b) )
|
||||
ROM_LOAD32_WORD("mpr-19314.6", 0x1000000, 0x400000, CRC(a8d963fb) SHA1(6a1680d6380321279b0d701e4b47d4ae712f3b72) )
|
||||
ROM_LOAD32_WORD("mpr-19315.7", 0x1000002, 0x400000, CRC(90ae5682) SHA1(ec56df14f0847daf9bd0435f785a8946c94d2988) )
|
||||
ROM_LOAD32_WORD("mpr-19312.4", 0x1800000, 0x200000, CRC(1dcedb10) SHA1(a60fb9e7c0731004d0f0ff28c4cde272b21dd658) )
|
||||
ROM_LOAD32_WORD("mpr-19313.5", 0x1800002, 0x200000, CRC(8c63055e) SHA1(9f375b3f4a8884163ffcf364989499f2cd21e18b) )
|
||||
ROM_COPY("main_data", 0x1800000, 0x1c00000, 0x400000 )
|
||||
|
||||
ROM_REGION32_LE( 0x800000, "copro_data", ROMREGION_ERASE00 ) // Copro extra data (collision/height map/etc)
|
||||
|
||||
ROM_REGION( 0x2000000, "polygons", ROMREGION_ERASEFF ) // Models
|
||||
ROM_LOAD32_WORD("mpr-19322.16", 0x0000000, 0x400000, CRC(d0e6ecf0) SHA1(1b87f6337b4286fd738856da899462e7baa92601) )
|
||||
ROM_LOAD32_WORD("mpr-19325.20", 0x0000002, 0x400000, CRC(7cbe432d) SHA1(8b31e292160b88df9c77b36096914d09ab8b6086) )
|
||||
ROM_LOAD32_WORD("mpr-19323.17", 0x0800000, 0x400000, CRC(453d3f4a) SHA1(8c0530824bb8ecb007021ee6e93412597bb0ecd6) )
|
||||
ROM_LOAD32_WORD("mpr-19326.21", 0x0800002, 0x400000, CRC(b976da02) SHA1(a154eb128604aac9e35438d8811971133eab94a1) )
|
||||
ROM_LOAD32_WORD("mpr-19324.18", 0x1000000, 0x400000, CRC(0d6bf454) SHA1(4cf48f19128d728c4ec7e9ec7014223a6c0f2362) )
|
||||
ROM_LOAD32_WORD("mpr-19327.22", 0x1000002, 0x400000, CRC(6a75634c) SHA1(8ed74c7afd95fc7a4df0f01a47479b6f44e3073c) )
|
||||
|
||||
ROM_REGION( 0x800000, "textures", 0 ) // Textures
|
||||
ROM_LOAD32_WORD("mpr-19321.25", 0x000000, 0x400000, CRC(9c49e845) SHA1(344839640d9814263fa5ed00c2043cd6f18d5cb2) )
|
||||
ROM_LOAD32_WORD("mpr-19320.24", 0x000002, 0x400000, CRC(190c017f) SHA1(4c3250b9abe39fc5c8fd0fcdb5fb7ea131434516) )
|
||||
|
||||
ROM_REGION( 0x080000, "audiocpu", 0 ) // Sound program
|
||||
ROM_LOAD16_WORD_SWAP("epr-19328.30", 0x000000, 0x080000, CRC(400bdbfb) SHA1(54db969fa54cf3c502d77aa6a6aaeef5d7db9f04) )
|
||||
|
||||
ROM_REGION16_BE( 0x800000, "samples", 0 ) // Samples
|
||||
ROM_LOAD16_WORD_SWAP("mpr-19329.31", 0x000000, 0x200000, CRC(8fd2708a) SHA1(7a341b15afa489aa95af70cb34ac3934b1a7d887) )
|
||||
ROM_LOAD16_WORD_SWAP("mpr-19330.32", 0x200000, 0x200000, CRC(0c69787d) SHA1(dc5870cd93da2babe5fc9c03b252fc6ea6e45721) )
|
||||
ROM_LOAD16_WORD_SWAP("mpr-19331.36", 0x400000, 0x200000, CRC(c18ea0b8) SHA1(0f42458829ae85fffcedd42cd9f728a7a3d75f1c) )
|
||||
ROM_LOAD16_WORD_SWAP("mpr-19332.37", 0x600000, 0x200000, CRC(2877f96f) SHA1(00e5677da30527b862e238f10762a5cbfbabde2b) )
|
||||
|
||||
MODEL2_CPU_BOARD
|
||||
MODEL2A_VID_BOARD
|
||||
ROM_END
|
||||
|
||||
ROM_START( doaae ) /* Dead or Alive Revision A, Model 2A, Sega Game ID# 836-12884-02 DEAD OR ALIVE, ROM board ID# 838-12885-02, 837-12880 security board */
|
||||
ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
|
||||
// internal information shows source files names and revision dates. In this case Nov 3 1996
|
||||
ROM_LOAD32_WORD("epr-19383a.12", 0x000000, 0x080000, CRC(42e61481) SHA1(ecee88b17d60924c63d01ff72acb186350265e0a) ) // Game Mode Settings : Nation : defaults to Export and can't be changed in test mode
|
||||
ROM_LOAD32_WORD("epr-19384a.13", 0x000002, 0x080000, CRC(034a3ab9) SHA1(a01d2f0a4accfdf892228b65c25e2ad9144ecf59) )
|
||||
|
||||
@ -5862,6 +5913,7 @@ ROM_END
|
||||
ROM_START( doa ) /* Dead or Alive Jan 10 1997, probably Revision C, Model 2B, 837-12880 security board */
|
||||
ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
|
||||
// ROMs have hand written labels - "EPR-19379B / EPR-19380B, 96/12/6", probably was reused and reprogrammed to newer revision
|
||||
// internal information shows source files names and revision dates. In this case Jan 10 1997
|
||||
ROM_LOAD32_WORD("epr-19379c.15", 0x000000, 0x080000, CRC(5cc62fbe) SHA1(a1489b92f32bcd16cca10017975beb62fc27a060) ) // Game Mode Settings : Nation : defaults to Japan, can select Japan, U.S.A. & Export
|
||||
ROM_LOAD32_WORD("epr-19380c.16", 0x000002, 0x080000, CRC(58cfeaa9) SHA1(4319c22b8ebcff152676b62b5b1d4c1c7ce64fa6) )
|
||||
|
||||
@ -5900,8 +5952,21 @@ ROM_START( doa ) /* Dead or Alive Jan 10 1997, probably Revision C, Model 2B, 83
|
||||
ROM_LOAD16_WORD_SWAP("mpr-19332.34", 0x600000, 0x200000, CRC(2877f96f) SHA1(00e5677da30527b862e238f10762a5cbfbabde2b) )
|
||||
ROM_END
|
||||
|
||||
|
||||
/*
|
||||
The Dead or Alive set below is also known to have genuine Tecmo labels:
|
||||
|
||||
PROJECT PROJECT
|
||||
EPR-AK EPR-AK
|
||||
ROM No. & ROM No.
|
||||
19379B 19380B
|
||||
DATE DATE
|
||||
96/12/6 96/12/6
|
||||
|
||||
*/
|
||||
ROM_START( doab ) /* Dead or Alive Dec 6 1996, Revision B, Model 2B, 837-12880 security board */
|
||||
ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program
|
||||
// internal information shows source files names and revision dates. In this case Dec 4 1996
|
||||
ROM_LOAD32_WORD("epr-19379b.15", 0x000000, 0x080000, CRC(8a10a944) SHA1(c675a344f74d0118907fb5292495883c0c30c719) ) // Game Mode Settings : Nation : defaults to Japan, can select Japan, U.S.A. & Export
|
||||
ROM_LOAD32_WORD("epr-19380b.16", 0x000002, 0x080000, CRC(766c1ec8) SHA1(49250886f66db9fd37d88bc22c8f22046f74f043) )
|
||||
|
||||
@ -7249,7 +7314,8 @@ GAME( 1995, srallycdxa, srallyc, srallyc, srallyc, model2a_state, empty_
|
||||
GAME( 1995, vcop2, 0, vcop2, vcop2, model2a_state, empty_init, ROT0, "Sega", "Virtua Cop 2", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1995, skytargt, 0, skytargt, skytargt, model2a_state, empty_init, ROT0, "Sega", "Sky Target", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1996, doaa, doa, model2a_0229, doa, model2a_state, init_doa, ROT0, "Tecmo", "Dead or Alive (Model 2A, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) // Dec 4 1996, defaults to Japan but can be changed in test mode
|
||||
GAME( 1996, doaab, doa, model2a_0229, doa, model2a_state, init_doa, ROT0, "Tecmo", "Dead or Alive (Export, Model 2A, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) // Nov 3 1996, fixed on Export
|
||||
GAME( 1996, doaab, doa, model2a_0229, doa, model2a_state, init_doa, ROT0, "Tecmo", "Dead or Alive (Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) // Nov 3 1996, defaults to Japan but can be changed in test mode
|
||||
GAME( 1996, doaae, doa, model2a_0229, doa, model2a_state, init_doa, ROT0, "Tecmo", "Dead or Alive (Export, Model 2A, Revision A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS ) // Nov 3 1996, locked to Export
|
||||
GAME( 1997, zeroguna, zerogun, zeroguna, zerogun, model2a_state, init_zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, zerogunaj, zerogun, zeroguna, zerogun, model2a_state, init_zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2A)", MACHINE_NOT_WORKING|MACHINE_IMPERFECT_GRAPHICS )
|
||||
GAME( 1997, motoraid, 0, manxtt, motoraid, model2a_state, empty_init, ROT0, "Sega", "Motor Raid - Twin", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
|
||||
|
@ -1075,6 +1075,14 @@ void nmk16_state::tdragonb_map(address_map &map)
|
||||
map(0x0d0000, 0x0d07ff).ram().w(FUNC(nmk16_state::txvideoram_w)).share("txvideoram");
|
||||
}
|
||||
|
||||
void nmk16_state::tdragonb3_map(address_map &map)
|
||||
{
|
||||
tdragonb_map(map);
|
||||
|
||||
map(0x044022, 0x044023).unmapr();
|
||||
map(0x060000, 0x060021).lr16(NAME([] () -> u16 { return 0xee; })); // No sprites in attract mode without this. Is it actually protection? See routine at PC 260
|
||||
}
|
||||
|
||||
void nmk16_state::tdragonb2_map(address_map &map)
|
||||
{
|
||||
map(0x000000, 0x03ffff).rom();
|
||||
@ -4567,6 +4575,13 @@ void nmk16_state::tdragonb(machine_config &config) // bootleg using Raiden so
|
||||
seibu_sound.ym_write_callback().set("ymsnd", FUNC(ym3812_device::write));
|
||||
}
|
||||
|
||||
void nmk16_state::tdragonb3(machine_config &config)
|
||||
{
|
||||
tdragonb(config);
|
||||
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &nmk16_state::tdragonb3_map);
|
||||
}
|
||||
|
||||
void nmk16_state::tdragonb2(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
@ -9095,7 +9110,7 @@ GAME( 1997, tomagic, 0, tomagic, tomagic, nmk16_tomagic_stat
|
||||
GAME( 1990, mustangb, mustang, mustangb, mustang, nmk16_state, empty_init, ROT0, "bootleg", "US AAF Mustang (bootleg, set 1)", 0 )
|
||||
GAME( 1990, mustangb2, mustang, mustangb, mustang, nmk16_state, empty_init, ROT0, "bootleg (TAB Austria)", "US AAF Mustang (TAB Austria bootleg)", 0 ) // PCB and ROMs have TAB Austria stickers
|
||||
GAME( 1991, tdragonb, tdragon, tdragonb, tdragonb, nmk16_state, init_tdragonb, ROT270, "bootleg", "Thunder Dragon (bootleg with Raiden sounds, encrypted)", 0 )
|
||||
GAME( 1991, tdragonb3, tdragon, tdragonb, tdragonb, nmk16_state, empty_init, ROT270, "bootleg", "Thunder Dragon (bootleg with Raiden sounds, unencrypted)", 0 )
|
||||
GAME( 1991, tdragonb3, tdragon, tdragonb3, tdragonb, nmk16_state, empty_init, ROT270, "bootleg", "Thunder Dragon (bootleg with Raiden sounds, unencrypted)", 0 )
|
||||
GAME( 1992, strahljbl, strahl, strahljbl, strahljbl, nmk16_state, empty_init, ROT0, "bootleg", "Koutetsu Yousai Strahl (Japan, bootleg)", 0 )
|
||||
|
||||
// these are bootlegs with tharrier like sound hw
|
||||
|
@ -654,11 +654,11 @@ void sidearms_state::sidearms(machine_config &config)
|
||||
void sidearms_state::turtship(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
Z80(config, m_maincpu, 4000000); /* 4 MHz (?) */
|
||||
Z80(config, m_maincpu, 16_MHz_XTAL / 4);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &sidearms_state::turtship_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(sidearms_state::irq0_line_hold));
|
||||
|
||||
Z80(config, m_audiocpu, 4000000); /* 4 MHz (?) */
|
||||
Z80(config, m_audiocpu, 16_MHz_XTAL / 2); // strangely it runs double the clock of the main CPU, but verified on PCB
|
||||
m_audiocpu->set_addrmap(AS_PROGRAM, &sidearms_state::sidearms_sound_map);
|
||||
|
||||
WATCHDOG_TIMER(config, "watchdog");
|
||||
@ -667,7 +667,7 @@ void sidearms_state::turtship(machine_config &config)
|
||||
BUFFERED_SPRITERAM8(config, m_spriteram);
|
||||
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(60);
|
||||
screen.set_refresh_hz(61.0338);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
|
||||
screen.set_size(64*8, 32*8);
|
||||
screen.set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1);
|
||||
@ -683,14 +683,14 @@ void sidearms_state::turtship(machine_config &config)
|
||||
|
||||
GENERIC_LATCH_8(config, "soundlatch");
|
||||
|
||||
ym2203_device &ym1(YM2203(config, "ym1", 4000000));
|
||||
ym2203_device &ym1(YM2203(config, "ym1", 16_MHz_XTAL / 4));
|
||||
ym1.irq_handler().set_inputline(m_audiocpu, 0);
|
||||
ym1.add_route(0, "mono", 0.15);
|
||||
ym1.add_route(1, "mono", 0.15);
|
||||
ym1.add_route(2, "mono", 0.15);
|
||||
ym1.add_route(3, "mono", 0.25);
|
||||
|
||||
ym2203_device &ym2(YM2203(config, "ym2", 4000000));
|
||||
ym2203_device &ym2(YM2203(config, "ym2", 16_MHz_XTAL / 4));
|
||||
ym2.add_route(0, "mono", 0.15);
|
||||
ym2.add_route(1, "mono", 0.15);
|
||||
ym2.add_route(2, "mono", 0.15);
|
||||
@ -922,9 +922,9 @@ ROM_END
|
||||
|
||||
ROM_START( turtship )
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for code + banked ROMs images */
|
||||
ROM_LOAD( "t-3.bin", 0x00000, 0x08000, CRC(b73ed7f2) SHA1(bb98fe41b989d6568fe8cf1900a0d15c176b61a0) )
|
||||
ROM_LOAD( "t-2.3g", 0x08000, 0x08000, CRC(2327b35a) SHA1(bf7b5e11c3f75aff7d09c0fc4ad61fb4bcb38100) )
|
||||
ROM_LOAD( "t-1.bin", 0x10000, 0x08000, CRC(a258ffec) SHA1(caa689607ebe450a68736933dbfaf6bf9b6d3487) )
|
||||
ROM_LOAD( "t-3.5g", 0x00000, 0x08000, CRC(b73ed7f2) SHA1(bb98fe41b989d6568fe8cf1900a0d15c176b61a0) )
|
||||
ROM_LOAD( "t-2.3g", 0x08000, 0x08000, CRC(2327b35a) SHA1(bf7b5e11c3f75aff7d09c0fc4ad61fb4bcb38100) )
|
||||
ROM_LOAD( "t-1.3e", 0x10000, 0x08000, CRC(a258ffec) SHA1(caa689607ebe450a68736933dbfaf6bf9b6d3487) )
|
||||
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "t-4.8a", 0x00000, 0x08000, CRC(1cbe48e8) SHA1(6ac5981d36a44595bb8dc847c54c7be7b374f82c) )
|
||||
@ -944,15 +944,118 @@ ROM_START( turtship )
|
||||
ROM_LOAD( "t-9.3a", 0x60000, 0x10000, CRC(44762916) SHA1(3427066fc02d1b9b71a59ac41d3332d5cd8d1423) )
|
||||
|
||||
ROM_REGION( 0x40000, "gfx3", 0 )
|
||||
ROM_LOAD( "t-13.1i", 0x00000, 0x10000, CRC(599f5246) SHA1(b7e5bbff3b6117613744970c8680b7bc171516bd) ) /* sprites */
|
||||
ROM_LOAD( "t-15.bin", 0x10000, 0x10000, CRC(6489b7b4) SHA1(438d088db131f5bb4ef2124eee814b25c92115e3) )
|
||||
ROM_LOAD( "t-12.1g", 0x20000, 0x10000, CRC(fb54cd33) SHA1(49f7b728a4de8b93f5fd929f59a65509e4556161) )
|
||||
ROM_LOAD( "t-14.bin", 0x30000, 0x10000, CRC(1b67b674) SHA1(a77ef1b4ba4d544aa230acf779f9c339d0fc55db) )
|
||||
ROM_LOAD( "t-13.1i", 0x00000, 0x10000, CRC(599f5246) SHA1(b7e5bbff3b6117613744970c8680b7bc171516bd) ) /* sprites */
|
||||
ROM_LOAD( "t-15.3i", 0x10000, 0x10000, CRC(6489b7b4) SHA1(438d088db131f5bb4ef2124eee814b25c92115e3) )
|
||||
ROM_LOAD( "t-12.1g", 0x20000, 0x10000, CRC(fb54cd33) SHA1(49f7b728a4de8b93f5fd929f59a65509e4556161) )
|
||||
ROM_LOAD( "t-14.3g", 0x30000, 0x10000, CRC(1b67b674) SHA1(a77ef1b4ba4d544aa230acf779f9c339d0fc55db) )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx4", 0 ) /* background tilemaps */
|
||||
ROM_LOAD( "t-16.9f", 0x00000, 0x08000, CRC(1a5a45d7) SHA1(51ceeae938fbda207c3f8ce65593d271dc8c4a41) )
|
||||
|
||||
ROM_REGION( 0x220, "proms", 0 )
|
||||
ROM_LOAD( "82s129.11p", 0x000, 0x100, CRC(75af3553) SHA1(14da009592877a6097b34ea844fa897ceda7465e) ) // vertical timing
|
||||
ROM_LOAD( "82s129.11r", 0x100, 0x100, CRC(c47c182a) SHA1(47d6139256e6838f633a04084bd0a7a84912f7fb) ) // horizontal timing
|
||||
ROM_LOAD( "82s123.9e", 0x200, 0x020, CRC(c5817816) SHA1(cc642daafa0bcb160ee04e74e2d168fd44087608) ) // tied to the sound Z80 and without it there's no sound on the real PCB
|
||||
ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Turtle Ship (Philko / Pacific Games license (Japan region), 1988)
|
||||
Hardware info by Guru
|
||||
|
||||
Philko's hardware is very bootleg-like and most probably
|
||||
made in the same factory that made other bootlegs.
|
||||
The sound circuit looks very close to the sound circuit
|
||||
on Sidearms and 1943. You could say the entire Turtle
|
||||
Ship board is a bootleg of Side Arms with different
|
||||
graphics. They disguised the board by shuffling parts
|
||||
around and putting the video board on top to make it
|
||||
look like different hardware. However a dump of the
|
||||
bi-polar PROMs reveals they are the same as Side Arms
|
||||
which makes this just another bootleg ;-)
|
||||
|
||||
PCB Layout
|
||||
----------
|
||||
|
||||
CPU Board
|
||||
|
||||
20-40-2 PHILKO
|
||||
|---------------------------------------------------|
|
||||
|LA4460 VOL YM3014 YM2203 T-4.8A LC3517(1)|
|
||||
| VOL LM324 YM3014 YM2203 |
|
||||
| Z80A |
|
||||
|ULN2003 16MHz|
|
||||
| Z80B T-1.3E HY6264 82S123.9E |
|
||||
| T-2.3G T-3.5G |
|
||||
| |
|
||||
|J HY6264 |
|
||||
|A LC3517(2) |
|
||||
|M T-5.8K |
|
||||
|M LC3517(2) |
|
||||
|A |
|
||||
| DIP-SW1 |
|
||||
| DIP-SW2 PAL16L8 82S129.11P|
|
||||
| 82S129.11R|
|
||||
|--------------------|---------|-----|---------|----|
|
||||
|---------| |---------|
|
||||
Notes:
|
||||
Z80A - ZILOG Z80A CPU. Clock 4.000MHz [16/4] (sound CPU)
|
||||
Z80B - ZILOG Z80B CPU. Clock 8.000MHz [16/2] (main CPU)
|
||||
YM2203 - Yamaha YM2203 FM Operator Type-N(OPN) sound chip. Clock 4.000MHz [16/4]
|
||||
YM3014 - Yamaha YM3014 Serial Input Floating D/A Converter. Clock 1.3333MHz [16/4/3]
|
||||
HY6264(1) - Hyundai HY6264 8kBx8-bit SRAM (main program RAM)
|
||||
HY6264(2) - Hyundai HY6264 8kBx8-bit SRAM (character/text layer RAM)
|
||||
LC3517(1) - Sanyo LC3517 2kBx8-bit SRAM (sound CPU RAM)
|
||||
LC3517(2) - Sanyo LC3517 2kBx8-bit SRAM (color RAM)
|
||||
LA4460 - Sanyo LA4460 12W AF Audio Power Amplifier
|
||||
LM324 - Texas Instruments LM324 Quad Operational Amplifier
|
||||
SW1/2 - 8-position DIP switch labelled on the board as 'DIP-SW1' and 'DIP-SW2'
|
||||
HSync - 15.6246kHz. Measured on horizontal timing PROM at 11R
|
||||
VSync - 61.0338Hz. Measured on vertical timing PROM at 11P
|
||||
T-1.3E \
|
||||
T-2.3G | 27256 OTP EPROM (main program)
|
||||
T-3.5G /
|
||||
T-4.8A - 27256 OTP EPROM (sound program)
|
||||
T-5.8K - 27256 OTP EPROM (characters / text layer). A14 is tied high on the PCB
|
||||
effectively making this chip a 27128
|
||||
82S123.9E - Signetics 82S123 32x8-bit Bi-Polar PROM (sound CPU-related)
|
||||
The address lines are tied to the sound CPU and when removed there is no sound.
|
||||
82S129.11P - Signetics 82S129 256x4-bit Bi-Polar PROM (vertical timing PROM)
|
||||
82S129.11R - Signetics 82S129 256x4-bit Bi-Polar PROM (horizontal timing PROM)
|
||||
|
||||
|
||||
Top Board
|
||||
|
||||
20-41-1
|
||||
|-----------------------------------|
|
||||
|T-6.1A T-8.1D T-12.1G T-13.1I|
|
||||
| T-7.1B T-14.3G T-15.3I|
|
||||
|T-9.3A T-11.3D |
|
||||
| T-10.3B |
|
||||
| |
|
||||
| |
|
||||
| T-16.9F |
|
||||
| 2018 2018 |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |------| |
|
||||
| LC3517 |PK8808| |
|
||||
| LC3517 | | |
|
||||
| LC3517 |------| |
|
||||
|----|---------|-----|---------|----|
|
||||
|---------| |---------|
|
||||
Notes:
|
||||
PK8808 - Altera EP1800LC Erasable Programmable Logic Device (EPLD in PLCC68 package) acting as the sprite generator chip.
|
||||
This is clearly a clone of Capcom's custom 86S105 sprite chip but without the internal RAM.
|
||||
LC3517 - Sanyo LC3517 2kBx8-bit SRAM (sprite RAM for the PK8808 i.e. the internal RAM on the 86S105)
|
||||
2018 - Toshiba TMM2018 2kBx8-bit SRAM (sprite RAM)
|
||||
T-12 to T-15 - 27512 OTP EPROM (sprites)
|
||||
T6 to T11 - 27512 OTP EPROM (tiles)
|
||||
T16 - 27256 OTP EPROM (background tiles)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( turtshipj )
|
||||
ROM_REGION( 0x20000, "maincpu", 0 ) /* 64k for code + banked ROMs images */
|
||||
ROM_LOAD( "t-3.5g", 0x00000, 0x08000, CRC(0863fc1c) SHA1(b583e06e05e466c2344a4a420a47227c9ab8705c) )
|
||||
@ -985,6 +1088,11 @@ ROM_START( turtshipj )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx4", 0 ) /* background tilemaps */
|
||||
ROM_LOAD( "t-16.9f", 0x00000, 0x08000, CRC(1a5a45d7) SHA1(51ceeae938fbda207c3f8ce65593d271dc8c4a41) )
|
||||
|
||||
ROM_REGION( 0x220, "proms", 0 )
|
||||
ROM_LOAD( "82s129.11p", 0x000, 0x100, CRC(75af3553) SHA1(14da009592877a6097b34ea844fa897ceda7465e) ) // vertical timing
|
||||
ROM_LOAD( "82s129.11r", 0x100, 0x100, CRC(c47c182a) SHA1(47d6139256e6838f633a04084bd0a7a84912f7fb) ) // horizontal timing
|
||||
ROM_LOAD( "82s123.9e", 0x200, 0x020, CRC(c5817816) SHA1(cc642daafa0bcb160ee04e74e2d168fd44087608) ) // tied to the sound Z80 and without it there's no sound on the real PCB
|
||||
ROM_END
|
||||
|
||||
ROM_START( turtshipk )
|
||||
@ -1017,6 +1125,11 @@ ROM_START( turtshipk )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx4", 0 ) /* background tilemaps */
|
||||
ROM_LOAD( "turtship.016", 0x00000, 0x08000, CRC(affd51dd) SHA1(3338aa1fdd6b9926acc215f7f3656d70803f1832) )
|
||||
|
||||
ROM_REGION( 0x220, "proms", 0 )
|
||||
ROM_LOAD( "82s129.11p", 0x000, 0x100, CRC(75af3553) SHA1(14da009592877a6097b34ea844fa897ceda7465e) ) // vertical timing
|
||||
ROM_LOAD( "82s129.11r", 0x100, 0x100, CRC(c47c182a) SHA1(47d6139256e6838f633a04084bd0a7a84912f7fb) ) // horizontal timing
|
||||
ROM_LOAD( "82s123.9e", 0x200, 0x020, CRC(c5817816) SHA1(cc642daafa0bcb160ee04e74e2d168fd44087608) ) // tied to the sound Z80 and without it there's no sound on the real PCB
|
||||
ROM_END
|
||||
|
||||
ROM_START( turtshipko )
|
||||
@ -1050,6 +1163,11 @@ ROM_START( turtshipko )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx4", 0 ) /* background tilemaps */
|
||||
ROM_LOAD( "t-16.f9", 0x00000, 0x08000, CRC(9b377277) SHA1(4858560e35144727aea958023f3df785baa994a8) )
|
||||
|
||||
ROM_REGION( 0x220, "proms", 0 )
|
||||
ROM_LOAD( "82s129.11p", 0x000, 0x100, CRC(75af3553) SHA1(14da009592877a6097b34ea844fa897ceda7465e) ) // vertical timing
|
||||
ROM_LOAD( "82s129.11r", 0x100, 0x100, CRC(c47c182a) SHA1(47d6139256e6838f633a04084bd0a7a84912f7fb) ) // horizontal timing
|
||||
ROM_LOAD( "82s123.9e", 0x200, 0x020, CRC(c5817816) SHA1(cc642daafa0bcb160ee04e74e2d168fd44087608) ) // tied to the sound Z80 and without it there's no sound on the real PCB
|
||||
ROM_END
|
||||
|
||||
ROM_START( turtshipkn )
|
||||
@ -1083,6 +1201,11 @@ ROM_START( turtshipkn )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx4", 0 ) /* background tilemaps */
|
||||
ROM_LOAD( "t-16.f9", 0x00000, 0x08000, CRC(9b377277) SHA1(4858560e35144727aea958023f3df785baa994a8) )
|
||||
|
||||
ROM_REGION( 0x220, "proms", 0 )
|
||||
ROM_LOAD( "82s129.11p", 0x000, 0x100, CRC(75af3553) SHA1(14da009592877a6097b34ea844fa897ceda7465e) ) // vertical timing
|
||||
ROM_LOAD( "82s129.11r", 0x100, 0x100, CRC(c47c182a) SHA1(47d6139256e6838f633a04084bd0a7a84912f7fb) ) // horizontal timing
|
||||
ROM_LOAD( "82s123.9e", 0x200, 0x020, CRC(c5817816) SHA1(cc642daafa0bcb160ee04e74e2d168fd44087608) ) // tied to the sound Z80 and without it there's no sound on the real PCB
|
||||
ROM_END
|
||||
|
||||
|
||||
|
@ -48,9 +48,9 @@ Fighting Golf, Country Club YM3812
|
||||
Fighting Soccer Y8950
|
||||
|
||||
|
||||
Sound Board (used by TANK/TNKIII)
|
||||
Sound Board
|
||||
-----------
|
||||
no number?
|
||||
A5001UP04-0 (used by TANK/TNKIII)
|
||||
|---------------------|
|
||||
| VOL AMP 1458 1458|
|
||||
|-| |
|
||||
|
@ -1389,36 +1389,57 @@ void vamphalf_qdsp_state::yorijori(machine_config &config)
|
||||
|
||||
/*
|
||||
|
||||
Vamp 1/2 (Semi Vamp)
|
||||
Danbi, 1999
|
||||
Vamp x1/2 (Danbi, 1999)
|
||||
Hardware info by Guru
|
||||
|
||||
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 |
|
||||
+-----------------------------------------------+
|
||||
|
||||
CPU: Hyperstone E1-16T
|
||||
Graphics: QuickLogic QL2003-XPL84
|
||||
Sound: Oki M6295 rebadged as AD-65
|
||||
YM3012/YM2151 rebadged as KA12/BS901
|
||||
ROMs: ROML00/01, ROMU00/01 - Macronix MX29F1610MC-12 SOP44 16MBit FlashROM
|
||||
DRAM1: TM T2316162A 1M x16 EDO DRAM (SOJ44)
|
||||
DANBI (no PCB number)
|
||||
|----------------------------------------------|
|
||||
|uPC1241 VOL KA12 VROM1 |
|
||||
| LM324 LM324 |
|
||||
| 7805 BS901 AD-65 ROML01 ROMU01 |
|
||||
| ROML00 ROMU00 |
|
||||
| 52258 |
|
||||
| 52258 |--------| |
|
||||
| |------| | | |
|
||||
|J T2316162 |E1-16T| ROM1 | QL2003 | |
|
||||
|A |------| | | |
|
||||
|M 52258 |--------| |
|
||||
|M 52258 |
|
||||
|A PALCE22V10H |--------| |
|
||||
| 93C46 | | 52258 |
|
||||
|T518A | QL2003 | 52258 |
|
||||
| RESET 50MHz | | 52258 |
|
||||
|SERV SETUP EMUIO1|--------|28MHz 52258 |
|
||||
|----------------------------------------------|
|
||||
Notes:
|
||||
E1-16T - Hyperstone E1-16T 32-bit RISC/DSP Microprocessor. Clock 50.000MHz
|
||||
AD-65 - OKI M6295 rebadged as AD-65. Clock 1.750MHz [28/16]. Pin 7 HIGH
|
||||
BS109 - Yamaha YM2151 8-Channel 4-Operator OPM (FM Operator Type-M) sound chip rebadged as BS109. Clock 3.500MHz [28/8]
|
||||
KA12 - Yamaha YM3012 DAC. Clock 1.750MHz [28/8/2]. Source = YM2151 pin 23
|
||||
LM324 - Texas Instruments LM324 Quad Operational Amplifier
|
||||
uPC1241 - NEC uPC1241 7W AF Audio Power Amplifier
|
||||
52258 - Sharp LH52258 32kBx8-bit SRAM or HMC HM2H256 32kBx8-bit SRAM in SOJ28 package
|
||||
T2316162 - Taiwan Memory Technology T2316162 1MBx16-bit EDO Page-Mode DRAM
|
||||
or Samsung KM416C1200 1MBx16-bit EDO Page-Mode DRAM in SOJ42 package
|
||||
T518A - Mitsumi Electric PST518A System Reset IC with low voltage detection reset 4.2V
|
||||
QL2003 - QuickLogic QL2003-XPL84C pASIC-family FPGA in PLCC84 package
|
||||
SERV - Push button tact switch for service credit
|
||||
SETUP - Push button tact switch for test mode
|
||||
RESET - Push button tact switch for manual reset
|
||||
EMUIO1 - Not-populated 20 pin header. Possible for extra controls.
|
||||
PALCE22V10H - AMD PALCE22V10H Programmable Array Logic (PAL)
|
||||
93C46 - ST Microelectronics ST93C46 128x8 / 64x16 Serial EEPROM
|
||||
ORG pin is tied high on the PCB so the x16 mode is selected
|
||||
ROM1 - Texas Instruments TMS27C040 512kBx8-bit EPROM (main program)
|
||||
VROM1 - AMIC A278308 256kBx8-bit OTP EPROM, compatible with 27C020 etc (OKI samples)
|
||||
ROML00 \
|
||||
ROML01 |
|
||||
ROMU00 | Macronix MX29F1610MC-12 SOP44 16Mbit FlashROM (sprites)
|
||||
ROMU01 /
|
||||
HSync - 15.6249kHz
|
||||
VSync - 59.1855Hz
|
||||
|
||||
***************************************************************************
|
||||
|
||||
Ealier DANBI PCB:
|
||||
+-----------------------------------------------+
|
||||
@ -1448,10 +1469,6 @@ Graphics: Actel A40MX04-F PL84
|
||||
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
|
||||
|
||||
|
@ -500,7 +500,7 @@ void xain_state::xsleena(machine_config &config)
|
||||
MC6809E(config, m_subcpu, CPU_CLOCK); // 68B09E
|
||||
m_subcpu->set_addrmap(AS_PROGRAM, &xain_state::cpu_map_B);
|
||||
|
||||
MC6809(config, m_audiocpu, PIXEL_CLOCK); // 68A09
|
||||
MC6809(config, m_audiocpu, CPU_CLOCK); // 68A09
|
||||
m_audiocpu->set_addrmap(AS_PROGRAM, &xain_state::sound_map);
|
||||
|
||||
TAITO68705_MCU(config, m_mcu, MCU_CLOCK);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -52,6 +52,7 @@ public:
|
||||
void tdragon(machine_config &config);
|
||||
void tdragonb(machine_config &config);
|
||||
void tdragonb2(machine_config &config);
|
||||
void tdragonb3(machine_config &config);
|
||||
void gunnail(machine_config &config);
|
||||
void gunnailb(machine_config &config);
|
||||
void hachamf(machine_config &config);
|
||||
@ -231,6 +232,7 @@ protected:
|
||||
void tdragon_map(address_map &map);
|
||||
void tdragonb_map(address_map &map);
|
||||
void tdragonb2_map(address_map &map);
|
||||
void tdragonb3_map(address_map &map);
|
||||
void tharrier_map(address_map &map);
|
||||
void tharrier_sound_io_map(address_map &map);
|
||||
void tharrier_sound_map(address_map &map);
|
||||
|
@ -1,119 +0,0 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Luca Elia
|
||||
|
||||
/*************************************************************************
|
||||
|
||||
Yun Sung 16 Bit Games
|
||||
|
||||
*************************************************************************/
|
||||
#ifndef MAME_INCLUDES_YUNSUN16_H
|
||||
#define MAME_INCLUDES_YUNSUN16_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "machine/gen_latch.h"
|
||||
#include "screen.h"
|
||||
#include "emupal.h"
|
||||
#include "tilemap.h"
|
||||
|
||||
class yunsun16_state : public driver_device
|
||||
{
|
||||
protected:
|
||||
yunsun16_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_screen(*this, "screen"),
|
||||
m_palette(*this, "palette"),
|
||||
m_vram(*this, "vram_%u", 0U),
|
||||
m_scrollram(*this, "scrollram_%u", 0U),
|
||||
m_priorityram(*this, "priorityram"),
|
||||
m_spriteram(*this, "spriteram")
|
||||
{ }
|
||||
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
virtual void video_start() override;
|
||||
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
void main_map(address_map &map);
|
||||
|
||||
/* devices */
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<screen_device> m_screen;
|
||||
required_device<palette_device> m_palette;
|
||||
|
||||
private:
|
||||
void int_ack_w(uint8_t data);
|
||||
|
||||
/* memory pointers */
|
||||
required_shared_ptr_array<uint16_t, 2> m_vram;
|
||||
required_shared_ptr_array<uint16_t, 2> m_scrollram;
|
||||
required_shared_ptr<uint16_t> m_priorityram;
|
||||
required_shared_ptr<uint16_t> m_spriteram;
|
||||
|
||||
/* other video-related elements */
|
||||
tilemap_t *m_tilemap[2]{};
|
||||
int m_sprites_scrolldx = 0;
|
||||
int m_sprites_scrolldy = 0;
|
||||
|
||||
template<int Layer> void vram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
|
||||
|
||||
TILEMAP_MAPPER_MEMBER(tilemap_scan_pages);
|
||||
template<int Layer> TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
};
|
||||
|
||||
|
||||
class magicbub_state : public yunsun16_state
|
||||
{
|
||||
public:
|
||||
magicbub_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
yunsun16_state(mconfig, type, tag),
|
||||
m_audiocpu(*this, "audiocpu"),
|
||||
m_soundlatch(*this, "soundlatch")
|
||||
{ }
|
||||
|
||||
void magicbub(machine_config &config);
|
||||
|
||||
protected:
|
||||
void main_map(address_map &map);
|
||||
|
||||
private:
|
||||
void magicbub_sound_command_w(uint8_t data);
|
||||
|
||||
void sound_map(address_map &map);
|
||||
void sound_port_map(address_map &map);
|
||||
|
||||
required_device<cpu_device> m_audiocpu;
|
||||
required_device<generic_latch_8_device> m_soundlatch;
|
||||
};
|
||||
|
||||
|
||||
class shocking_state : public yunsun16_state
|
||||
{
|
||||
public:
|
||||
shocking_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
yunsun16_state(mconfig, type, tag),
|
||||
m_okibank(*this, "okibank")
|
||||
{ }
|
||||
|
||||
void shocking(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
void main_map(address_map &map);
|
||||
|
||||
private:
|
||||
void sound_bank_w(uint8_t data);
|
||||
|
||||
void oki_map(address_map &map);
|
||||
|
||||
required_memory_bank m_okibank;
|
||||
};
|
||||
|
||||
#endif // MAME_INCLUDES_YUNSUN16_H
|
@ -24057,9 +24057,10 @@ daytonata // 1994? Kyle Hodgetts hack
|
||||
daytonagtx // 2004 Kyle Hodgetts hack
|
||||
desert // 1994.07 Desert Tank
|
||||
doa // 1997.01 Dead or Alive (Revision C)
|
||||
doab // 1996.12 Dead or Alive (Revision B)
|
||||
doaa // 1996.11 Dead or Alive (Revision A)
|
||||
doaa // 1996.12 Dead or Alive (Revision A)
|
||||
doaab // 1996.11 Dead or Alive (Revision A)
|
||||
doaae // 1996.11 Dead or Alive (Revision A)
|
||||
doab // 1996.12 Dead or Alive (Revision B)
|
||||
dynabb // 1996.08 Dynamite Baseball
|
||||
dynabb97 // 1997.04 Dynamite Baseball 97 (Revision A)
|
||||
dynamcop // 1998.09 Dynamic Cop (Export)
|
||||
|
@ -1,201 +0,0 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Luca Elia
|
||||
/***************************************************************************
|
||||
|
||||
-= Yun Sung 16 Bit Games =-
|
||||
|
||||
driver by Luca Elia (l.elia@tin.it)
|
||||
|
||||
|
||||
[ 2 Scrolling Layers ]
|
||||
|
||||
Tiles are 16 x 16 x 8. The layout of the tilemap is a bit weird:
|
||||
16 consecutive tile codes define a vertical column.
|
||||
16 columns form a page (256 x 256).
|
||||
The tilemap is made of 4 x 4 pages (1024 x 1024)
|
||||
|
||||
[ 512? Sprites ]
|
||||
|
||||
Sprites are 16 x 16 x 4 in size. There's RAM for 512, but
|
||||
the game just copies 384 entries.
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "includes/yunsun16.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
|
||||
Tilemaps
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
/*
|
||||
#define TILES_PER_PAGE_X (0x10)
|
||||
#define TILES_PER_PAGE_Y (0x10)
|
||||
#define PAGES_PER_TMAP_X (0x4)
|
||||
#define PAGES_PER_TMAP_Y (0x4)
|
||||
*/
|
||||
|
||||
TILEMAP_MAPPER_MEMBER(yunsun16_state::tilemap_scan_pages)
|
||||
{
|
||||
return ((row & 0x30) << 6) | ((col & 0x3f) << 4) | (row & 0xf);
|
||||
}
|
||||
|
||||
template<int Layer>
|
||||
TILE_GET_INFO_MEMBER(yunsun16_state::get_tile_info)
|
||||
{
|
||||
uint16_t code = m_vram[Layer][2 * tile_index + 0];
|
||||
uint16_t attr = m_vram[Layer][2 * tile_index + 1];
|
||||
tileinfo.set(0,
|
||||
code,
|
||||
attr & 0xf,
|
||||
(attr & 0x20) ? TILE_FLIPX : 0);
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
|
||||
Video Hardware Init
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
void yunsun16_state::video_start()
|
||||
{
|
||||
m_tilemap[0] = &machine().tilemap().create(
|
||||
*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(yunsun16_state::get_tile_info<0>)), tilemap_mapper_delegate(*this, FUNC(yunsun16_state::tilemap_scan_pages)),
|
||||
16, 16, 0x40, 0x40);
|
||||
m_tilemap[1] = &machine().tilemap().create(
|
||||
*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(yunsun16_state::get_tile_info<1>)), tilemap_mapper_delegate(*this, FUNC(yunsun16_state::tilemap_scan_pages)),
|
||||
16, 16, 0x40, 0x40);
|
||||
|
||||
m_tilemap[0]->set_scrolldx(-0x34, 0);
|
||||
m_tilemap[1]->set_scrolldx(-0x38, 0);
|
||||
|
||||
m_tilemap[0]->set_scrolldy(-0x10, 0);
|
||||
m_tilemap[1]->set_scrolldy(-0x10, 0);
|
||||
|
||||
m_tilemap[0]->set_transparent_pen(0xff);
|
||||
m_tilemap[1]->set_transparent_pen(0xff);
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
|
||||
Sprites Drawing
|
||||
|
||||
|
||||
0.w X
|
||||
|
||||
2.w Y
|
||||
|
||||
4.w Code
|
||||
|
||||
6.w fedc ba98 7--- ----
|
||||
---- ---- -6-- ---- Flip Y
|
||||
---- ---- --5- ---- Flip X
|
||||
---- ---- ---4 3210 Color
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
void yunsun16_state::draw_sprites( screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect )
|
||||
{
|
||||
int offs;
|
||||
const rectangle &visarea = m_screen->visible_area();
|
||||
|
||||
int max_x = visarea.max_x + 1;
|
||||
int max_y = visarea.max_y + 1;
|
||||
|
||||
int pri = *m_priorityram & 3;
|
||||
int pri_mask;
|
||||
|
||||
switch (pri)
|
||||
{
|
||||
case 1:
|
||||
pri_mask = (1 << 1) | (1 << 2) | (1 << 3);
|
||||
break;
|
||||
case 2:
|
||||
pri_mask = (1 << 2) | (1 << 3);
|
||||
break;
|
||||
case 3:
|
||||
default:
|
||||
pri_mask = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
for (offs = (m_spriteram.bytes() - 8) / 2 ; offs >= 0; offs -= 8 / 2)
|
||||
{
|
||||
int x = m_spriteram[offs + 0];
|
||||
int y = m_spriteram[offs + 1];
|
||||
int code = m_spriteram[offs + 2];
|
||||
int attr = m_spriteram[offs + 3];
|
||||
int flipx = attr & 0x20;
|
||||
int flipy = attr & 0x40;
|
||||
|
||||
x += m_sprites_scrolldx;
|
||||
y += m_sprites_scrolldy;
|
||||
|
||||
if (flip_screen()) // not used?
|
||||
{
|
||||
flipx = !flipx; x = max_x - x - 16;
|
||||
flipy = !flipy; y = max_y - y - 16;
|
||||
}
|
||||
|
||||
m_gfxdecode->gfx(1)->prio_transpen(bitmap,cliprect,
|
||||
code,
|
||||
attr & 0x1f,
|
||||
flipx, flipy,
|
||||
x,y,
|
||||
screen.priority(),
|
||||
pri_mask,15);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
|
||||
Screen Drawing
|
||||
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
uint32_t yunsun16_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
m_tilemap[0]->set_scrollx(0, m_scrollram[0][0]);
|
||||
m_tilemap[0]->set_scrolly(0, m_scrollram[0][1]);
|
||||
|
||||
m_tilemap[1]->set_scrollx(0, m_scrollram[1][0]);
|
||||
m_tilemap[1]->set_scrolly(0, m_scrollram[1][1]);
|
||||
|
||||
//popmessage("%04X", *m_priorityram);
|
||||
|
||||
screen.priority().fill(0, cliprect);
|
||||
|
||||
if ((*m_priorityram & 0x0c) == 4)
|
||||
{
|
||||
/* The color of the this layer's transparent pen goes below everything */
|
||||
m_tilemap[0]->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 1);
|
||||
m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 2);
|
||||
}
|
||||
else if ((*m_priorityram & 0x0c) == 8)
|
||||
{
|
||||
/* The color of the this layer's transparent pen goes below everything */
|
||||
m_tilemap[1]->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
|
||||
m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 1);
|
||||
m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 2);
|
||||
}
|
||||
|
||||
draw_sprites(screen, bitmap, cliprect);
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user