summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/nmk16.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/nmk16.cpp')
-rw-r--r--src/mame/drivers/nmk16.cpp180
1 files changed, 90 insertions, 90 deletions
diff --git a/src/mame/drivers/nmk16.cpp b/src/mame/drivers/nmk16.cpp
index b177ff13509..d4c53f5ecb3 100644
--- a/src/mame/drivers/nmk16.cpp
+++ b/src/mame/drivers/nmk16.cpp
@@ -4843,23 +4843,23 @@ void nmk16_state::decode_ssmissin()
}
-DRIVER_INIT_MEMBER(nmk16_state,nmk)
+void nmk16_state::init_nmk()
{
decode_gfx();
}
-DRIVER_INIT_MEMBER(nmk16_state,banked_audiocpu)
+void nmk16_state::init_banked_audiocpu()
{
m_audiobank->configure_entries(0, 8, memregion("audiocpu")->base(), 0x4000);
}
-DRIVER_INIT_MEMBER(nmk16_state,tharrier)
+void nmk16_state::init_tharrier()
{
m_okibank[0]->configure_entries(0, 4, memregion("oki1")->base() + 0x20000, 0x20000);
m_okibank[1]->configure_entries(0, 4, memregion("oki2")->base() + 0x20000, 0x20000);
}
-DRIVER_INIT_MEMBER(nmk16_state,hachamf_prot)
+void nmk16_state::init_hachamf_prot()
{
uint16_t *rom = (uint16_t *)memregion("maincpu")->base();
@@ -4872,12 +4872,12 @@ DRIVER_INIT_MEMBER(nmk16_state,hachamf_prot)
m_maincpu->space(AS_PROGRAM).install_write_handler(0x0f0000, 0x0fffff, write16_delegate(FUNC(nmk16_state::hachamf_mainram_w),this));
}
-DRIVER_INIT_MEMBER(nmk16_state,tdragonb)
+void nmk16_state::init_tdragonb()
{
decode_tdragonb();
}
-DRIVER_INIT_MEMBER(nmk16_state,tdragon_prot)
+void nmk16_state::init_tdragon_prot()
{
uint16_t *rom = (uint16_t *)memregion("maincpu")->base();
@@ -4891,14 +4891,14 @@ DRIVER_INIT_MEMBER(nmk16_state,tdragon_prot)
m_maincpu->space(AS_PROGRAM).install_write_handler(0x0b0000, 0x0bffff, write16_delegate(FUNC(nmk16_state::tdragon_mainram_w),this));
}
-DRIVER_INIT_MEMBER(nmk16_state,ssmissin)
+void nmk16_state::init_ssmissin()
{
decode_ssmissin();
m_okibank[0]->configure_entries(0, 4, memregion("oki1")->base() + 0x80000, 0x20000);
}
-DRIVER_INIT_MEMBER(nmk16_state,bjtwin)
+void nmk16_state::init_bjtwin()
{
/* Patch rom to enable test mode */
@@ -4921,13 +4921,13 @@ DRIVER_INIT_MEMBER(nmk16_state,bjtwin)
rom[0x08f74/2] = 0x4e71;
#endif
- DRIVER_INIT_CALL(nmk);
+ init_nmk();
}
/* NO NMK004, it has a PIC instead */
READ16_MEMBER(nmk16_state::vandykeb_r){ return 0x0000; }
-DRIVER_INIT_MEMBER(nmk16_state,vandykeb)
+void nmk16_state::init_vandykeb()
{
m_okibank[0]->configure_entries(0, 4, memregion("oki1")->base() + 0x20000, 0x20000);
m_maincpu->space(AS_PROGRAM).install_read_handler(0x08000e, 0x08000f, read16_delegate(FUNC(nmk16_state::vandykeb_r),this));
@@ -6943,7 +6943,7 @@ Other: Lattice pLSI 1032 x 2
***************************************************************************/
-DRIVER_INIT_MEMBER(nmk16_state,redhawk)
+void nmk16_state::init_redhawk()
{
decryptcode( machine(), 23, 22, 21, 20, 19, 18, 16, 15, 14, 17, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
}
@@ -7192,7 +7192,7 @@ AF1-B1.UC3 MASK ROM read as 27C160 - Backgrounds
***************************************************************************/
-DRIVER_INIT_MEMBER(nmk16_state,grdnstrm)
+void nmk16_state::init_grdnstrm()
{
decryptcode( machine(), 23, 22, 21, 20, 19, 18, 16, 17, 14, 15, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
}
@@ -7285,7 +7285,7 @@ ROM_START( grdnstrmv ) /* Apples Industries license - Vertical version */
ROM_LOAD( "afega1.u95", 0x00000, 0x40000, CRC(e911ce33) SHA1(a29c4dea98a22235122303325c63c15fadd3431d) )
ROM_END
-DRIVER_INIT_MEMBER(nmk16_state,grdnstrmg)
+void nmk16_state::init_grdnstrmg()
{
// todo collapse to one bitswap
decryptcode( machine(),23, 22, 21, 20, 19, 18, 13,17, 16,15, 14, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
@@ -7347,7 +7347,7 @@ ROM_START( redfoxwp2 )
ROM_LOAD( "afega1.u95", 0x00000, 0x40000, CRC(e911ce33) SHA1(a29c4dea98a22235122303325c63c15fadd3431d) )
ROM_END
-DRIVER_INIT_MEMBER(nmk16_state,redfoxwp2a)
+void nmk16_state::init_redfoxwp2a()
{
// todo collapse to one bitswap
decryptcode( machine(),23, 22, 21, 20, 19, 18, 17, 16, /* */ 13,15, 14, /* */ 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
@@ -7497,7 +7497,7 @@ rom11.107 27C040 /
***************************************************************************/
-DRIVER_INIT_MEMBER(nmk16_state,bubl2000)
+void nmk16_state::init_bubl2000()
{
decryptcode( machine(), 23, 22, 21, 20, 19, 18, 13, 14, 15, 16, 17, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
}
@@ -7825,7 +7825,7 @@ UC1, UC2 & UC3 have solder pads for both MX29F1610 Flash & 27C160 EPROMs
***************************************************************************/
-DRIVER_INIT_MEMBER(nmk16_state,spec2k)
+void nmk16_state::init_spec2k()
{
decryptcode( machine(), 23, 22, 21, 20, 19, 18, 17, 13, 14, 15, 16, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
}
@@ -7939,114 +7939,114 @@ ROM_END
***************************************************************************/
-GAME( 1989, tharrier, 0, tharrier, tharrier, nmk16_state, tharrier, ROT270, "UPL", "Task Force Harrier", 0 )
-GAME( 1989, tharrieru, tharrier, tharrier, tharrier, nmk16_state, tharrier, ROT270, "UPL (American Sammy license)", "Task Force Harrier (US)", 0 ) // US version but no regional notice
+GAME( 1989, tharrier, 0, tharrier, tharrier, nmk16_state, init_tharrier, ROT270, "UPL", "Task Force Harrier", 0 )
+GAME( 1989, tharrieru, tharrier, tharrier, tharrier, nmk16_state, init_tharrier, ROT270, "UPL (American Sammy license)", "Task Force Harrier (US)", 0 ) // US version but no regional notice
-GAME( 1990, mustang, 0, mustang, mustang, nmk16_state, 0, ROT0, "UPL", "US AAF Mustang (25th May. 1990)", 0 )
-GAME( 1990, mustangs, mustang, mustang, mustang, nmk16_state, 0, ROT0, "UPL (Seoul Trading license)", "US AAF Mustang (25th May. 1990 / Seoul Trading)", 0 )
+GAME( 1990, mustang, 0, mustang, mustang, nmk16_state, empty_init, ROT0, "UPL", "US AAF Mustang (25th May. 1990)", 0 )
+GAME( 1990, mustangs, mustang, mustang, mustang, nmk16_state, empty_init, ROT0, "UPL (Seoul Trading license)", "US AAF Mustang (25th May. 1990 / Seoul Trading)", 0 )
-GAME( 1990, bioship, 0, bioship, bioship, nmk16_state, 0, ROT0, "UPL (American Sammy license)", "Bio-ship Paladin", 0 ) // US version but no regional notice
-GAME( 1990, sbsgomo, bioship, bioship, bioship, nmk16_state, 0, ROT0, "UPL", "Space Battle Ship Gomorrah", 0 )
+GAME( 1990, bioship, 0, bioship, bioship, nmk16_state, empty_init, ROT0, "UPL (American Sammy license)", "Bio-ship Paladin", 0 ) // US version but no regional notice
+GAME( 1990, sbsgomo, bioship, bioship, bioship, nmk16_state, empty_init, ROT0, "UPL", "Space Battle Ship Gomorrah", 0 )
-GAME( 1990, vandyke, 0, vandyke, vandyke, nmk16_state, 0, ROT270, "UPL", "Vandyke (Japan)", 0 )
-GAME( 1990, vandykejal, vandyke, vandyke, vandyke, nmk16_state, 0, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 1)", 0 )
-GAME( 1990, vandykejal2,vandyke, vandyke, vandyke, nmk16_state, 0, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 2)", 0 )
-GAME( 1990, vandykeb, vandyke, vandykeb, vandykeb, nmk16_state, vandykeb, ROT270, "bootleg", "Vandyke (bootleg with PIC16c57)", MACHINE_NO_SOUND )
+GAME( 1990, vandyke, 0, vandyke, vandyke, nmk16_state, empty_init, ROT270, "UPL", "Vandyke (Japan)", 0 )
+GAME( 1990, vandykejal, vandyke, vandyke, vandyke, nmk16_state, empty_init, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 1)", 0 )
+GAME( 1990, vandykejal2,vandyke, vandyke, vandyke, nmk16_state, empty_init, ROT270, "UPL (Jaleco license)", "Vandyke (Jaleco, set 2)", 0 )
+GAME( 1990, vandykeb, vandyke, vandykeb, vandykeb, nmk16_state, init_vandykeb, ROT270, "bootleg", "Vandyke (bootleg with PIC16c57)", MACHINE_NO_SOUND )
-GAME( 1991, blkheart, 0, blkheart, blkheart, nmk16_state, 0, ROT0, "UPL", "Black Heart", 0 )
-GAME( 1991, blkheartj, blkheart, blkheart, blkheart, nmk16_state, 0, ROT0, "UPL", "Black Heart (Japan)", 0 )
+GAME( 1991, blkheart, 0, blkheart, blkheart, nmk16_state, empty_init, ROT0, "UPL", "Black Heart", 0 )
+GAME( 1991, blkheartj, blkheart, blkheart, blkheart, nmk16_state, empty_init, ROT0, "UPL", "Black Heart (Japan)", 0 )
-GAME( 1991, acrobatm, 0, acrobatm, acrobatm, nmk16_state, 0, ROT270, "UPL (Taito license)", "Acrobat Mission", 0 )
+GAME( 1991, acrobatm, 0, acrobatm, acrobatm, nmk16_state, empty_init, ROT270, "UPL (Taito license)", "Acrobat Mission", 0 )
-GAME( 1992, strahl, 0, strahl, strahl, nmk16_state, 0, ROT0, "UPL", "Koutetsu Yousai Strahl (Japan set 1)", 0 )
-GAME( 1992, strahla, strahl, strahl, strahl, nmk16_state, 0, ROT0, "UPL", "Koutetsu Yousai Strahl (Japan set 2)", 0 )
+GAME( 1992, strahl, 0, strahl, strahl, nmk16_state, empty_init, ROT0, "UPL", "Koutetsu Yousai Strahl (Japan set 1)", 0 )
+GAME( 1992, strahla, strahl, strahl, strahl, nmk16_state, empty_init, ROT0, "UPL", "Koutetsu Yousai Strahl (Japan set 2)", 0 )
-GAME( 1991, tdragon, 0, tdragon, tdragon, nmk16_state, 0, ROT270, "NMK (Tecmo license)", "Thunder Dragon (8th Jan. 1992, unprotected)", 0 )
-GAME( 1991, tdragon1, tdragon, tdragon_prot, tdragon_prot, nmk16_state, tdragon_prot, ROT270, "NMK (Tecmo license)", "Thunder Dragon (4th Jun. 1991, protected)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND )
+GAME( 1991, tdragon, 0, tdragon, tdragon, nmk16_state, empty_init, ROT270, "NMK (Tecmo license)", "Thunder Dragon (8th Jan. 1992, unprotected)", 0 )
+GAME( 1991, tdragon1, tdragon, tdragon_prot, tdragon_prot, nmk16_state, init_tdragon_prot, ROT270, "NMK (Tecmo license)", "Thunder Dragon (4th Jun. 1991, protected)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND )
-GAME( 1991, hachamf, 0, hachamf_prot, hachamf_prot, nmk16_state, hachamf_prot, ROT0, "NMK", "Hacha Mecha Fighter (19th Sep. 1991, protected)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND ) // lots of things wrong due to protection
-GAME( 1991, hachamfb, hachamf, hachamf, hachamfb, nmk16_state, 0, ROT0, "bootleg", "Hacha Mecha Fighter (19th Sep. 1991, unprotected, bootleg Thunder Dragon conversion)", 0 ) // appears to be a Thunder Dragon conversion, could be bootleg?
+GAME( 1991, hachamf, 0, hachamf_prot, hachamf_prot, nmk16_state, init_hachamf_prot, ROT0, "NMK", "Hacha Mecha Fighter (19th Sep. 1991, protected)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND ) // lots of things wrong due to protection
+GAME( 1991, hachamfb, hachamf, hachamf, hachamfb, nmk16_state, empty_init, ROT0, "bootleg", "Hacha Mecha Fighter (19th Sep. 1991, unprotected, bootleg Thunder Dragon conversion)", 0 ) // appears to be a Thunder Dragon conversion, could be bootleg?
-GAME( 1992, macross, 0, macross, macross, nmk16_state, nmk, ROT270, "Banpresto", "Super Spacefortress Macross / Chou-Jikuu Yousai Macross", 0 )
+GAME( 1992, macross, 0, macross, macross, nmk16_state, init_nmk, ROT270, "Banpresto", "Super Spacefortress Macross / Chou-Jikuu Yousai Macross", 0 )
-GAME( 1993, gunnail, 0, gunnail, gunnail, nmk16_state, nmk, ROT270, "NMK / Tecmo", "GunNail (28th May. 1992)", 0 ) // Tecmo is displayed only when set to Japan
+GAME( 1993, gunnail, 0, gunnail, gunnail, nmk16_state, init_nmk, ROT270, "NMK / Tecmo", "GunNail (28th May. 1992)", 0 ) // Tecmo is displayed only when set to Japan
// a 1992 version of Gunnail exists, see https://www.youtube.com/watch?v=tf15Wz0zUiA 3:10
-GAME( 1993, macross2, 0, macross2, macross2, nmk16_state, banked_audiocpu, ROT0, "Banpresto", "Super Spacefortress Macross II / Chou-Jikuu Yousai Macross II", MACHINE_NO_COCKTAIL )
-GAME( 1993, macross2g, macross2, macross2, macross2, nmk16_state, banked_audiocpu, ROT0, "Banpresto", "Super Spacefortress Macross II / Chou-Jikuu Yousai Macross II (GAMEST review build)", MACHINE_NO_COCKTAIL ) // Service switch pauses game
-GAME( 1993, macross2k, macross2, macross2, macross2, nmk16_state, banked_audiocpu, ROT0, "Banpresto", "Macross II (Korea)", MACHINE_NO_COCKTAIL ) // Title screen only shows Macross II
+GAME( 1993, macross2, 0, macross2, macross2, nmk16_state, init_banked_audiocpu, ROT0, "Banpresto", "Super Spacefortress Macross II / Chou-Jikuu Yousai Macross II", MACHINE_NO_COCKTAIL )
+GAME( 1993, macross2g, macross2, macross2, macross2, nmk16_state, init_banked_audiocpu, ROT0, "Banpresto", "Super Spacefortress Macross II / Chou-Jikuu Yousai Macross II (GAMEST review build)", MACHINE_NO_COCKTAIL ) // Service switch pauses game
+GAME( 1993, macross2k, macross2, macross2, macross2, nmk16_state, init_banked_audiocpu, ROT0, "Banpresto", "Macross II (Korea)", MACHINE_NO_COCKTAIL ) // Title screen only shows Macross II
-GAME( 1993, tdragon2, 0, tdragon2, tdragon2, nmk16_state, banked_audiocpu, ROT270, "NMK", "Thunder Dragon 2 (9th Nov. 1993)", MACHINE_NO_COCKTAIL )
-GAME( 1993, tdragon2a, tdragon2, tdragon2, tdragon2, nmk16_state, banked_audiocpu, ROT270, "NMK", "Thunder Dragon 2 (1st Oct. 1993)", MACHINE_NO_COCKTAIL )
-GAME( 1993, bigbang, tdragon2, tdragon2, tdragon2, nmk16_state, banked_audiocpu, ROT270, "NMK", "Big Bang (9th Nov. 1993)", MACHINE_NO_COCKTAIL )
-GAME( 1996, tdragon3h, tdragon2, tdragon3h, tdragon2, nmk16_state, banked_audiocpu, ROT270, "bootleg (Conny Co Ltd.)", "Thunder Dragon 3 (bootleg of Thunder Dragon 2)", MACHINE_IMPERFECT_SOUND | MACHINE_NO_COCKTAIL ) // based on 1st Oct. 1993 set, Sound system isn't hooked up correctly for this set
+GAME( 1993, tdragon2, 0, tdragon2, tdragon2, nmk16_state, init_banked_audiocpu, ROT270, "NMK", "Thunder Dragon 2 (9th Nov. 1993)", MACHINE_NO_COCKTAIL )
+GAME( 1993, tdragon2a, tdragon2, tdragon2, tdragon2, nmk16_state, init_banked_audiocpu, ROT270, "NMK", "Thunder Dragon 2 (1st Oct. 1993)", MACHINE_NO_COCKTAIL )
+GAME( 1993, bigbang, tdragon2, tdragon2, tdragon2, nmk16_state, init_banked_audiocpu, ROT270, "NMK", "Big Bang (9th Nov. 1993)", MACHINE_NO_COCKTAIL )
+GAME( 1996, tdragon3h, tdragon2, tdragon3h, tdragon2, nmk16_state, init_banked_audiocpu, ROT270, "bootleg (Conny Co Ltd.)", "Thunder Dragon 3 (bootleg of Thunder Dragon 2)", MACHINE_IMPERFECT_SOUND | MACHINE_NO_COCKTAIL ) // based on 1st Oct. 1993 set, Sound system isn't hooked up correctly for this set
/* arcadia was a name conflict to the Emerson Arcadia 2001 in mess */
-GAME( 1994, arcadian, 0, raphero, raphero, nmk16_state, banked_audiocpu, ROT270, "NMK", "Arcadia (NMK)", 0 ) // 23rd July 1993 in test mode, (c)1994 on title screen
-GAME( 1994, raphero, arcadian, raphero, raphero, nmk16_state, banked_audiocpu, ROT270, "NMK (Media Trading license)", "Rapid Hero", 0 ) // ^^
+GAME( 1994, arcadian, 0, raphero, raphero, nmk16_state, init_banked_audiocpu, ROT270, "NMK", "Arcadia (NMK)", 0 ) // 23rd July 1993 in test mode, (c)1994 on title screen
+GAME( 1994, raphero, arcadian, raphero, raphero, nmk16_state, init_banked_audiocpu, ROT270, "NMK (Media Trading license)", "Rapid Hero", 0 ) // ^^
/* both sets of both these games show a date of 9th Mar 1992 in the test mode, they look like different revisions so I doubt this is accurate */
-GAME( 1992, sabotenb, 0, bjtwin, sabotenb, nmk16_state, nmk, ROT0, "NMK / Tecmo", "Saboten Bombers (set 1)", MACHINE_NO_COCKTAIL )
-GAME( 1992, sabotenba,sabotenb, bjtwin, sabotenb, nmk16_state, nmk, ROT0, "NMK / Tecmo", "Saboten Bombers (set 2)", MACHINE_NO_COCKTAIL )
-GAME( 1992, cactus, sabotenb, bjtwin, sabotenb, nmk16_state, nmk, ROT0, "bootleg", "Cactus (bootleg of Saboten Bombers)", MACHINE_NO_COCKTAIL ) // PCB marked 'Cactus', no title screen
+GAME( 1992, sabotenb, 0, bjtwin, sabotenb, nmk16_state, init_nmk, ROT0, "NMK / Tecmo", "Saboten Bombers (set 1)", MACHINE_NO_COCKTAIL )
+GAME( 1992, sabotenba, sabotenb, bjtwin, sabotenb, nmk16_state, init_nmk, ROT0, "NMK / Tecmo", "Saboten Bombers (set 2)", MACHINE_NO_COCKTAIL )
+GAME( 1992, cactus, sabotenb, bjtwin, sabotenb, nmk16_state, init_nmk, ROT0, "bootleg", "Cactus (bootleg of Saboten Bombers)", MACHINE_NO_COCKTAIL ) // PCB marked 'Cactus', no title screen
-GAME( 1993, bjtwin, 0, bjtwin, bjtwin, nmk16_state, bjtwin, ROT270, "NMK", "Bombjack Twin (set 1)", MACHINE_NO_COCKTAIL )
-GAME( 1993, bjtwina, bjtwin, bjtwin, bjtwin, nmk16_state, bjtwin, ROT270, "NMK", "Bombjack Twin (set 2)", MACHINE_NO_COCKTAIL )
-GAME( 1993, bjtwinp, bjtwin, bjtwin, bjtwin, nmk16_state, 0, ROT270, "NMK", "Bombjack Twin (prototype? with adult pictures, set 1)", MACHINE_NO_COCKTAIL ) // Cheap looking PCB, but Genuine NMK PCB, GFX aren't encrypted (maybe Korean version not proto?)
-GAME( 1993, bjtwinpa, bjtwin, bjtwin, bjtwin, nmk16_state, bjtwin, ROT270, "NMK", "Bombjack Twin (prototype? with adult pictures, set 2)", MACHINE_NO_COCKTAIL ) // same PCB as above, different program revision, GFX are encrypted
+GAME( 1993, bjtwin, 0, bjtwin, bjtwin, nmk16_state, init_bjtwin, ROT270, "NMK", "Bombjack Twin (set 1)", MACHINE_NO_COCKTAIL )
+GAME( 1993, bjtwina, bjtwin, bjtwin, bjtwin, nmk16_state, init_bjtwin, ROT270, "NMK", "Bombjack Twin (set 2)", MACHINE_NO_COCKTAIL )
+GAME( 1993, bjtwinp, bjtwin, bjtwin, bjtwin, nmk16_state, empty_init, ROT270, "NMK", "Bombjack Twin (prototype? with adult pictures, set 1)", MACHINE_NO_COCKTAIL ) // Cheap looking PCB, but Genuine NMK PCB, GFX aren't encrypted (maybe Korean version not proto?)
+GAME( 1993, bjtwinpa, bjtwin, bjtwin, bjtwin, nmk16_state, init_bjtwin, ROT270, "NMK", "Bombjack Twin (prototype? with adult pictures, set 2)", MACHINE_NO_COCKTAIL ) // same PCB as above, different program revision, GFX are encrypted
-GAME( 1995, nouryoku, 0, bjtwin, nouryoku, nmk16_state, nmk, ROT0, "Tecmo", "Nouryoku Koujou Iinkai", MACHINE_NO_COCKTAIL )
-GAME( 1995, nouryokup,nouryoku, bjtwin, nouryoku, nmk16_state, 0, ROT0, "Tecmo", "Nouryoku Koujou Iinkai (prototype)", MACHINE_NO_COCKTAIL ) // GFX aren't encrypted
+GAME( 1995, nouryoku, 0, bjtwin, nouryoku, nmk16_state, init_nmk, ROT0, "Tecmo", "Nouryoku Koujou Iinkai", MACHINE_NO_COCKTAIL )
+GAME( 1995, nouryokup, nouryoku, bjtwin, nouryoku, nmk16_state, empty_init, ROT0, "Tecmo", "Nouryoku Koujou Iinkai (prototype)", MACHINE_NO_COCKTAIL ) // GFX aren't encrypted
/* Non NMK boards */
// these use the seibu sound system (sound / music stolen from Raiden) rather than the bootleggers copying the nmk004
-GAME( 1990, mustangb, mustang, mustangb, mustang, nmk16_state, 0, ROT0, "bootleg", "US AAF Mustang (bootleg)", 0 )
-GAME( 1990, mustangb2,mustang, mustangb, mustang, nmk16_state, 0, 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, tdragonb, ROT270, "bootleg", "Thunder Dragon (bootleg)", 0 )
+GAME( 1990, mustangb, mustang, mustangb, mustang, nmk16_state, empty_init, ROT0, "bootleg", "US AAF Mustang (bootleg)", 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)", 0 )
// these are from Comad, based on the Thunder Dragon code?
-GAME( 1992, ssmissin, 0, ssmissin, ssmissin, nmk16_state, ssmissin, ROT270, "Comad", "S.S. Mission", MACHINE_NO_COCKTAIL )
+GAME( 1992, ssmissin, 0, ssmissin, ssmissin, nmk16_state, init_ssmissin, ROT270, "Comad", "S.S. Mission", MACHINE_NO_COCKTAIL )
-GAME( 1996, airattck, 0, ssmissin, airattck, nmk16_state, ssmissin, ROT270, "Comad", "Air Attack (set 1)", MACHINE_NO_COCKTAIL )
-GAME( 1996, airattcka,airattck, ssmissin, airattck, nmk16_state, ssmissin, ROT270, "Comad", "Air Attack (set 2)", MACHINE_NO_COCKTAIL )
+GAME( 1996, airattck, 0, ssmissin, airattck, nmk16_state, init_ssmissin, ROT270, "Comad", "Air Attack (set 1)", MACHINE_NO_COCKTAIL )
+GAME( 1996, airattcka, airattck, ssmissin, airattck, nmk16_state, init_ssmissin, ROT270, "Comad", "Air Attack (set 2)", MACHINE_NO_COCKTAIL )
// afega & clones
-GAME( 1995, twinactn, 0, twinactn, twinactn, nmk16_state, 0, ROT0, "Afega", "Twin Action", 0 ) // hacked from USSAF Mustang
-
-GAME( 1995, dolmen, 0, twinactn, dolmen, nmk16_state, 0, ROT0, "Afega", "Dolmen", 0 )
-
-GAME( 1998, stagger1, 0, stagger1, stagger1, nmk16_state, 0, ROT270, "Afega", "Stagger I (Japan)", 0 )
-GAME( 1997, redhawk, stagger1, stagger1, stagger1, nmk16_state, redhawk, ROT270, "Afega (New Vision Ent. license)", "Red Hawk (US)", 0 )
-GAME( 1997, redhawki, stagger1, redhawki, stagger1, nmk16_state, 0, ROT0, "Afega (Hea Dong Corp license)", "Red Hawk (Italy)", 0 ) // bootleg? strange scroll regs
-GAME( 1997, redhawkg, stagger1, redhawki, stagger1, nmk16_state, 0, ROT0, "Afega", "Red Hawk (Greece)", 0 )
-GAME( 1997, redhawke, stagger1, stagger1, stagger1, nmk16_state, 0, ROT270, "Afega (Excellent Co. license)", "Red Hawk (Excellent Co., Ltd)", 0 )
-GAME( 1997, redhawkk, stagger1, stagger1, stagger1, nmk16_state, 0, ROT270, "Afega", "Red Hawk (Korea)", 0 )
-GAME( 1997, redhawkb, stagger1, redhawkb, redhawkb, nmk16_state, 0, ROT0, "bootleg", "Vince (bootleg of Red Hawk)", 0 )
-
-GAME( 1998, grdnstrm, 0, grdnstrm, grdnstrm, nmk16_state, 0, ORIENTATION_FLIP_Y, "Afega (Apples Industries license)", "Guardian Storm (horizontal, not encrypted)", 0 )
-GAME( 1998, grdnstrmv,grdnstrm, grdnstrmk,grdnstrk, nmk16_state, grdnstrm, ROT270, "Afega (Apples Industries license)", "Guardian Storm (vertical)", 0 )
-GAME( 1998, grdnstrmj,grdnstrm, grdnstrmk,grdnstrk, nmk16_state, grdnstrmg, ROT270, "Afega", "Sen Jing - Guardian Storm (Japan)", 0 )
-GAME( 1998, grdnstrmk,grdnstrm, grdnstrmk,grdnstrk, nmk16_state, grdnstrm, ROT270, "Afega", "Jeon Sin - Guardian Storm (Korea)", 0 )
-GAME( 1998, redfoxwp2,grdnstrm, grdnstrmk,grdnstrk, nmk16_state, grdnstrm, ROT270, "Afega", "Hong Hu Zhanji II (China, set 1)", 0 )
-GAME( 1998, redfoxwp2a,grdnstrm,grdnstrmk,grdnstrk, nmk16_state, redfoxwp2a,ROT270, "Afega", "Hong Hu Zhanji II (China, set 2)", 0 )
-GAME( 1998, grdnstrmg,grdnstrm, grdnstrmk,grdnstrk, nmk16_state, grdnstrmg, ROT270, "Afega", "Guardian Storm (Germany)", 0 )
+GAME( 1995, twinactn, 0, twinactn, twinactn, nmk16_state, empty_init, ROT0, "Afega", "Twin Action", 0 ) // hacked from USSAF Mustang
+
+GAME( 1995, dolmen, 0, twinactn, dolmen, nmk16_state, empty_init, ROT0, "Afega", "Dolmen", 0 )
+
+GAME( 1998, stagger1, 0, stagger1, stagger1, nmk16_state, empty_init, ROT270, "Afega", "Stagger I (Japan)", 0 )
+GAME( 1997, redhawk, stagger1, stagger1, stagger1, nmk16_state, init_redhawk, ROT270, "Afega (New Vision Ent. license)", "Red Hawk (US)", 0 )
+GAME( 1997, redhawki, stagger1, redhawki, stagger1, nmk16_state, empty_init, ROT0, "Afega (Hea Dong Corp license)", "Red Hawk (Italy)", 0 ) // bootleg? strange scroll regs
+GAME( 1997, redhawkg, stagger1, redhawki, stagger1, nmk16_state, empty_init, ROT0, "Afega", "Red Hawk (Greece)", 0 )
+GAME( 1997, redhawke, stagger1, stagger1, stagger1, nmk16_state, empty_init, ROT270, "Afega (Excellent Co. license)", "Red Hawk (Excellent Co., Ltd)", 0 )
+GAME( 1997, redhawkk, stagger1, stagger1, stagger1, nmk16_state, empty_init, ROT270, "Afega", "Red Hawk (Korea)", 0 )
+GAME( 1997, redhawkb, stagger1, redhawkb, redhawkb, nmk16_state, empty_init, ROT0, "bootleg", "Vince (bootleg of Red Hawk)", 0 )
+
+GAME( 1998, grdnstrm, 0, grdnstrm, grdnstrm, nmk16_state, empty_init, ORIENTATION_FLIP_Y, "Afega (Apples Industries license)", "Guardian Storm (horizontal, not encrypted)", 0 )
+GAME( 1998, grdnstrmv, grdnstrm, grdnstrmk, grdnstrk, nmk16_state, init_grdnstrm, ROT270, "Afega (Apples Industries license)", "Guardian Storm (vertical)", 0 )
+GAME( 1998, grdnstrmj, grdnstrm, grdnstrmk, grdnstrk, nmk16_state, init_grdnstrmg, ROT270, "Afega", "Sen Jing - Guardian Storm (Japan)", 0 )
+GAME( 1998, grdnstrmk, grdnstrm, grdnstrmk, grdnstrk, nmk16_state, init_grdnstrm, ROT270, "Afega", "Jeon Sin - Guardian Storm (Korea)", 0 )
+GAME( 1998, redfoxwp2, grdnstrm, grdnstrmk, grdnstrk, nmk16_state, init_grdnstrm, ROT270, "Afega", "Hong Hu Zhanji II (China, set 1)", 0 )
+GAME( 1998, redfoxwp2a, grdnstrm, grdnstrmk, grdnstrk, nmk16_state, init_redfoxwp2a, ROT270, "Afega", "Hong Hu Zhanji II (China, set 2)", 0 )
+GAME( 1998, grdnstrmg, grdnstrm, grdnstrmk, grdnstrk, nmk16_state, init_grdnstrmg, ROT270, "Afega", "Guardian Storm (Germany)", 0 )
// is there a 'bubble 2000' / 'hot bubble' version with Afega copyright, or is the only Afega release dolmen above, this seems like a sequel, not a clone?
-GAME( 1998, bubl2000, 0, popspops, bubl2000, nmk16_state, bubl2000, ROT0, "Afega (Tuning license)", "Bubble 2000", 0 ) // on a tuning board (bootleg?)
-GAME( 1998, hotbubl, bubl2000, popspops, bubl2000, nmk16_state, bubl2000, ROT0, "Afega (Pandora license)", "Hot Bubble (Korea, with adult pictures)" , 0 ) // on an afega board ..
-GAME( 1998, hotbubla, bubl2000, popspops, bubl2000, nmk16_state, bubl2000, ROT0, "Afega (Pandora license)", "Hot Bubble (Korea)" , 0 ) // on an afega board ..
+GAME( 1998, bubl2000, 0, popspops, bubl2000, nmk16_state, init_bubl2000, ROT0, "Afega (Tuning license)", "Bubble 2000", 0 ) // on a tuning board (bootleg?)
+GAME( 1998, hotbubl, bubl2000, popspops, bubl2000, nmk16_state, init_bubl2000, ROT0, "Afega (Pandora license)", "Hot Bubble (Korea, with adult pictures)" , 0 ) // on an afega board ..
+GAME( 1998, hotbubla, bubl2000, popspops, bubl2000, nmk16_state, init_bubl2000, ROT0, "Afega (Pandora license)", "Hot Bubble (Korea)" , 0 ) // on an afega board ..
-GAME( 1999, popspops, 0, popspops, popspops, nmk16_state, grdnstrm, ROT0, "Afega", "Pop's Pop's", 0 )
+GAME( 1999, popspops, 0, popspops, popspops, nmk16_state, init_grdnstrm, ROT0, "Afega", "Pop's Pop's", 0 )
-GAME( 2000, mangchi, 0, popspops, mangchi, nmk16_state, bubl2000, ROT0, "Afega", "Mang-Chi", 0 )
+GAME( 2000, mangchi, 0, popspops, mangchi, nmk16_state, init_bubl2000, ROT0, "Afega", "Mang-Chi", 0 )
// these two are very similar games, but the exact parent/clone relationship is unknown
-GAME( 2000, spec2k, 0, spec2k, spec2k, nmk16_state, spec2k, ROT270, "Yona Tech", "Spectrum 2000 (vertical)", MACHINE_IMPERFECT_GRAPHICS ) // the ships sometimes scroll off the screen if you insert a coin during the attract demo? verify it doesn't happen on real hw(!)
-GAME( 2000, spec2kh, spec2k, spec2k, spec2k, nmk16_state, spec2k, ORIENTATION_FLIP_Y, "Yona Tech", "Spectrum 2000 (horizontal, buggy) (Europe)", 0 ) // this has odd bugs even on real hardware, eg glitchy 3 step destruction sequence of some larger enemies
-GAME( 2001, firehawk, spec2k, firehawk, firehawk, nmk16_state, 0, ORIENTATION_FLIP_Y, "ESD", "Fire Hawk (World) / Huohu Chuanshuo (China) (horizontal)", 0 )
-GAME( 2001, firehawkv,spec2k, firehawk, firehawkv,nmk16_state, 0, ORIENTATION_FLIP_Y, "ESD", "Fire Hawk (World) / Huohu Chuanshuo (China) (switchable orientation)", MACHINE_NOT_WORKING ) // incomplete dump, vertical mode gfx not dumped
+GAME( 2000, spec2k, 0, spec2k, spec2k, nmk16_state, init_spec2k, ROT270, "Yona Tech", "Spectrum 2000 (vertical)", MACHINE_IMPERFECT_GRAPHICS ) // the ships sometimes scroll off the screen if you insert a coin during the attract demo? verify it doesn't happen on real hw(!)
+GAME( 2000, spec2kh, spec2k, spec2k, spec2k, nmk16_state, init_spec2k, ORIENTATION_FLIP_Y, "Yona Tech", "Spectrum 2000 (horizontal, buggy) (Europe)", 0 ) // this has odd bugs even on real hardware, eg glitchy 3 step destruction sequence of some larger enemies
+GAME( 2001, firehawk, spec2k, firehawk, firehawk, nmk16_state, empty_init, ORIENTATION_FLIP_Y, "ESD", "Fire Hawk (World) / Huohu Chuanshuo (China) (horizontal)", 0 )
+GAME( 2001, firehawkv, spec2k, firehawk, firehawkv, nmk16_state, empty_init, ORIENTATION_FLIP_Y, "ESD", "Fire Hawk (World) / Huohu Chuanshuo (China) (switchable orientation)", MACHINE_NOT_WORKING ) // incomplete dump, vertical mode gfx not dumped
// bee-oh board - different display / interrupt timing to others?
-GAME( 1991, manybloc, 0, manybloc, manybloc, nmk16_state, tharrier, ROT270, "Bee-Oh", "Many Block", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND )
+GAME( 1991, manybloc, 0, manybloc, manybloc, nmk16_state, init_tharrier, ROT270, "Bee-Oh", "Many Block", MACHINE_NO_COCKTAIL | MACHINE_IMPERFECT_SOUND )