summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/dynax.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/dynax.cpp')
-rw-r--r--src/mame/drivers/dynax.cpp169
1 files changed, 78 insertions, 91 deletions
diff --git a/src/mame/drivers/dynax.cpp b/src/mame/drivers/dynax.cpp
index e7c3bc6356e..047c731126f 100644
--- a/src/mame/drivers/dynax.cpp
+++ b/src/mame/drivers/dynax.cpp
@@ -5393,21 +5393,18 @@ ROM_START( blktouch )
ROM_LOAD( "u13", 0x000, 0x200, CRC(6984aaa9) SHA1(91645cd944cb21266edd13e55a8dc846f6edc419) )
ROM_END
-DRIVER_INIT_MEMBER(dynax_state,blktouch)
+void dynax_state::init_blktouch()
{
// fearsome encryption ;-)
- uint8_t *src = (uint8_t *)memregion("maincpu")->base();
- int i;
-
- for (i = 0; i < 0x90000; i++)
+ uint8_t *src = (uint8_t *)memregion("maincpu")->base();
+ for (int i = 0; i < 0x90000; i++)
{
src[i] = bitswap<8>(src[i], 7, 6, 5, 3, 4, 2, 1, 0);
}
src = (uint8_t *)memregion("gfx1")->base();
-
- for (i = 0; i < 0xc0000; i++)
+ for (int i = 0; i < 0xc0000; i++)
{
src[i] = bitswap<8>(src[i], 7, 6, 5, 3, 4, 2, 1, 0);
@@ -5415,10 +5412,10 @@ DRIVER_INIT_MEMBER(dynax_state,blktouch)
}
-DRIVER_INIT_MEMBER(dynax_state, maya_common)
+void dynax_state::init_maya_common()
{
/* Address lines scrambling on 1 z80 rom */
- uint8_t *rom = memregion("maincpu")->base() + 0x28000, *end = rom + 0x10000;
+ uint8_t *rom = memregion("maincpu")->base() + 0x28000, *end = rom + 0x10000;
for ( ; rom < end; rom += 8)
{
uint8_t temp[8];
@@ -5431,37 +5428,29 @@ DRIVER_INIT_MEMBER(dynax_state, maya_common)
}
-DRIVER_INIT_MEMBER(dynax_state,maya)
+void dynax_state::init_maya()
{
- DRIVER_INIT_CALL(maya_common);
-
- uint8_t *gfx = (uint8_t *)memregion("gfx1")->base();
- int i;
+ init_maya_common();
+ uint8_t *gfx = (uint8_t *)memregion("gfx1")->base();
/* Address lines scrambling on the blitter data roms */
- {
- std::vector<uint8_t> rom(0xc0000);
- memcpy(&rom[0], gfx, 0xc0000);
- for (i = 0; i < 0xc0000; i++)
- gfx[i] = rom[bitswap<24>(i, 23, 22, 21, 20, 19, 18, 14, 15, 16, 17, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)];
- }
+ std::vector<uint8_t> rom(0xc0000);
+ memcpy(&rom[0], gfx, 0xc0000);
+ for (int i = 0; i < 0xc0000; i++)
+ gfx[i] = rom[bitswap<24>(i, 23, 22, 21, 20, 19, 18, 14, 15, 16, 17, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)];
}
-DRIVER_INIT_MEMBER(dynax_state,mayac)
+void dynax_state::init_mayac()
{
- DRIVER_INIT_CALL(maya_common);
-
- uint8_t *gfx = (uint8_t *)memregion("gfx1")->base();
- int i;
+ init_maya_common();
+ uint8_t *gfx = (uint8_t *)memregion("gfx1")->base();
/* Address lines scrambling on the blitter data roms */
- {
- std::vector<uint8_t> rom(0xc0000);
- memcpy(&rom[0], gfx, 0xc0000);
- for (i = 0; i < 0xc0000; i++)
- gfx[i] = rom[bitswap<24>(i, 23, 22, 21, 20, 19, 18, 17, 14, 16, 15, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)];
- }
+ std::vector<uint8_t> rom(0xc0000);
+ memcpy(&rom[0], gfx, 0xc0000);
+ for (int i = 0; i < 0xc0000; i++)
+ gfx[i] = rom[bitswap<24>(i, 23, 22, 21, 20, 19, 18, 17, 14, 16, 15, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)];
}
@@ -6433,30 +6422,28 @@ ROM_START( intrgirl )
ROM_END
// Decrypted by yong
-DRIVER_INIT_MEMBER(dynax_state,mjelct3)
+void dynax_state::init_mjelct3()
{
- int i;
- uint8_t *rom = memregion("maincpu")->base();
+ uint8_t *rom = memregion("maincpu")->base();
size_t size = memregion("maincpu")->bytes();
std::vector<uint8_t> rom1(size);
memcpy(&rom1[0], rom, size);
- for (i = 0; i < size; i++)
+ for (int i = 0; i < size; i++)
rom[i] = bitswap<8>(rom1[bitswap<24>(i,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8, 1,6,5,4,3,2,7, 0)], 7,6, 1,4,3,2,5,0);
}
-DRIVER_INIT_MEMBER(dynax_state,mjelct3a)
+void dynax_state::init_mjelct3a()
{
- int i, j;
- uint8_t *rom = memregion("maincpu")->base();
+ uint8_t *rom = memregion("maincpu")->base();
size_t size = memregion("maincpu")->bytes();
std::vector<uint8_t> rom1(size);
memcpy(&rom1[0], rom, size);
- for (i = 0; i < size; i++)
+ for (int i = 0; i < size; i++)
{
- j = i & ~0x7e00;
- switch(i & 0x7000)
+ int j = i & ~0x7e00;
+ switch (i & 0x7000)
{
case 0x0000: j |= 0x0400; break;
case 0x1000: j |= 0x4400; break;
@@ -6467,7 +6454,7 @@ DRIVER_INIT_MEMBER(dynax_state,mjelct3a)
// case 0x6000: j |= 0x0000; break;
case 0x7000: j |= 0x0600; break;
}
- switch(i & 0x0e00)
+ switch (i & 0x0e00)
{
case 0x0000: j |= 0x2000; break;
case 0x0200: j |= 0x3800; break;
@@ -6481,7 +6468,7 @@ DRIVER_INIT_MEMBER(dynax_state,mjelct3a)
rom[j] = rom1[i];
}
- DRIVER_INIT_CALL(mjelct3);
+ init_mjelct3();
}
@@ -7453,52 +7440,52 @@ ROM_END
***************************************************************************/
-GAME( 1988, janyuki, 0, janyuki, janyuki, dynax_state, 0, ROT0, "Dynax", "Jong Yu Ki (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1989, hnkochou, 0, hanamai, hnkochou, dynax_state, 0, ROT180, "Dynax", "Hana Kochou (Japan, Bet)", MACHINE_SUPPORTS_SAVE )
-GAME( 1988, hanamai, hnkochou, hanamai, hanamai, dynax_state, 0, ROT180, "Dynax", "Hana no Mai (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1990, hjingi, 0, hjingi, hjingi, dynax_state, 0, ROT180, "Dynax", "Hana Jingi (Japan, Bet)", MACHINE_SUPPORTS_SAVE ) // 1990 05/01 11:58:24
-GAME( 1990, hjingia, hjingi, hjingi, hjingi, dynax_state, 0, ROT180, "Dynax", "Hana Jingi (Japan, Bet, alt.)", MACHINE_SUPPORTS_SAVE ) // 1990 05/01 11:58:24
-GAME( 1989, hnoridur, hjingi, hnoridur, hnoridur, dynax_state, 0, ROT180, "Dynax", "Hana Oriduru (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1989, drgpunch, 0, sprtmtch, drgpunch, dynax_state, 0, ROT0, "Dynax", "Dragon Punch (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1989, sprtmtch, drgpunch, sprtmtch, sprtmtch, dynax_state, 0, ROT0, "Dynax (Fabtek license)", "Sports Match", MACHINE_SUPPORTS_SAVE )
+GAME( 1988, janyuki, 0, janyuki, janyuki, dynax_state, empty_init, ROT0, "Dynax", "Jong Yu Ki (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1989, hnkochou, 0, hanamai, hnkochou, dynax_state, empty_init, ROT180, "Dynax", "Hana Kochou (Japan, Bet)", MACHINE_SUPPORTS_SAVE )
+GAME( 1988, hanamai, hnkochou, hanamai, hanamai, dynax_state, empty_init, ROT180, "Dynax", "Hana no Mai (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, hjingi, 0, hjingi, hjingi, dynax_state, empty_init, ROT180, "Dynax", "Hana Jingi (Japan, Bet)", MACHINE_SUPPORTS_SAVE ) // 1990 05/01 11:58:24
+GAME( 1990, hjingia, hjingi, hjingi, hjingi, dynax_state, empty_init, ROT180, "Dynax", "Hana Jingi (Japan, Bet, alt.)", MACHINE_SUPPORTS_SAVE ) // 1990 05/01 11:58:24
+GAME( 1989, hnoridur, hjingi, hnoridur, hnoridur, dynax_state, empty_init, ROT180, "Dynax", "Hana Oriduru (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1989, drgpunch, 0, sprtmtch, drgpunch, dynax_state, empty_init, ROT0, "Dynax", "Dragon Punch (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1989, sprtmtch, drgpunch, sprtmtch, sprtmtch, dynax_state, empty_init, ROT0, "Dynax (Fabtek license)", "Sports Match", MACHINE_SUPPORTS_SAVE )
/* these 3 are Korean hacks / bootlegs of Dragon Punch / Sports Match */
-GAME( 1994, maya, 0, sprtmtch, drgpunch, dynax_state, maya, ROT0, "Promat", "Maya (set 1)", MACHINE_SUPPORTS_SAVE ) // this set has backgrounds blacked out in attract
-GAME( 1994, mayaa, maya, sprtmtch, drgpunch, dynax_state, maya, ROT0, "Promat", "Maya (set 2)", MACHINE_SUPPORTS_SAVE ) // this set has backgrounds blacked out in attract
-GAME( 1994, mayab, maya, sprtmtch, drgpunch, dynax_state, maya, ROT0, "Promat", "Maya (set 3)", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, mayac, maya, sprtmtch, drgpunch, dynax_state, mayac, ROT0, "Promat", "Maya (set 4, clean)", MACHINE_SUPPORTS_SAVE )
-GAME( 199?, inca, 0, sprtmtch, drgpunch, dynax_state, maya, ROT0, "<unknown>", "Inca", MACHINE_SUPPORTS_SAVE )
-GAME( 199?, blktouch, 0, sprtmtch, drgpunch, dynax_state, blktouch, ROT0, "Yang Gi Co Ltd.", "Black Touch (Korea)", MACHINE_SUPPORTS_SAVE )
-
-GAME( 1989, mjfriday, 0, mjfriday, mjfriday, dynax_state, 0, ROT180, "Dynax", "Mahjong Friday (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1989, gekisha, 0, gekisha, gekisha, dynax_state, 0, ROT180, "Dynax", "Mahjong Gekisha", MACHINE_SUPPORTS_SAVE )
-GAME( 1990, mcnpshnt, 0, mcnpshnt, mcnpshnt, dynax_state, 0, ROT0, "Dynax", "Mahjong Campus Hunting (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1990, 7jigen, 0, nanajign, nanajign, dynax_state, 0, ROT180, "Dynax", "7jigen no Youseitachi - Mahjong 7 Dimensions (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1990, jantouki, 0, jantouki, jantouki, dynax_state, 0, ROT0, "Dynax", "Jong Tou Ki (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, mjdialq2, 0, mjdialq2, mjdialq2, dynax_state, 0, ROT180, "Dynax", "Mahjong Dial Q2 (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, mjdialq2a,mjdialq2, mjdialq2, mjdialq2, dynax_state, 0, ROT180, "Dynax", "Mahjong Dial Q2 (Japan, alt.)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, yarunara, 0, yarunara, yarunara, dynax_state, 0, ROT180, "Dynax", "Mahjong Yarunara (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, mjangels, 0, mjangels, yarunara, dynax_state, 0, ROT180, "Dynax", "Mahjong Angels - Comic Theater Vol.2 (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, warahana, 0, mjangels, warahana, dynax_state, 0, ROT180, "Dynax", "Warai no Hana Tenshi (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1992, quiztvqq, 0, quiztvqq, quiztvqq, dynax_state, 0, ROT180, "Dynax", "Quiz TV Gassyuukoku Q&Q (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1993, mjelctrn, 0, mjelctrn, mjelctrn, dynax_state, mjelct3, ROT180, "Dynax", "Mahjong Electron Base (parts 2 & 4, Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1989, mjembase, mjelctrn, mjembase, mjembase, dynax_state, mjelct3, ROT180, "Dynax", "Mahjong Electromagnetic Base", MACHINE_SUPPORTS_SAVE )
-GAME( 1990, mjelct3, mjelctrn, mjelctrn, mjelct3, dynax_state, mjelct3, ROT180, "Dynax", "Mahjong Electron Base (parts 2 & 3, Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1990, mjelct3a, mjelctrn, mjelctrn, mjelct3, dynax_state, mjelct3a, ROT180, "Dynax", "Mahjong Electron Base (parts 2 & 3, alt., Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1993, mjelctrb, mjelctrn, mjelctrn, mjelct3, dynax_state, mjelct3, ROT180, "bootleg", "Mahjong Electron Base (parts 2 & 4, Japan, bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1990, majxtal7, 0, neruton, majxtal7, dynax_state, mjelct3, ROT180, "Dynax", "Mahjong X-Tal 7 - Crystal Mahjong / Mahjong Diamond 7 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1990, neruton, 0, neruton, neruton, dynax_state, mjelct3, ROT180, "Dynax / Yukiyoshi Tokoro", "Mahjong Neruton Haikujiradan (Japan, Rev. B?)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1990, nerutona, neruton, neruton, neruton, dynax_state, mjelct3, ROT180, "Dynax / Yukiyoshi Tokoro", "Mahjong Neruton Haikujiradan (Japan, Rev. A?)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1991, hanayara, 0, yarunara, hanayara, dynax_state, 0, ROT180, "Dynax", "Hana wo Yaraneba! (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, mjcomv1, 0, mjangels, yarunara, dynax_state, 0, ROT180, "Dynax", "Mahjong Comic Gekijou Vol.1 (Japan)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, tenkai, 0, tenkai, tenkai, dynax_state, 0, ROT0, "Dynax", "Mahjong Tenkaigen", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, tenkai2b, tenkai, tenkai, tenkai, dynax_state, 0, ROT0, "bootleg", "Mahjong Tenkaigen Part 2 (bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1991, tenkaibb, tenkai, tenkai, tenkai, dynax_state, 0, ROT0, "bootleg", "Mahjong Tenkaigen (bootleg b)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, tenkaicb, tenkai, tenkai, tenkai, dynax_state, 0, ROT0, "bootleg", "Mahjong Tenkaigen (bootleg c)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, tenkaie, tenkai, tenkai, tenkai, dynax_state, 0, ROT0, "Dynax", "Mahjong Tenkaigen (set 2)", MACHINE_SUPPORTS_SAVE )
-GAME( 1991, ougonhai, 0, tenkai, tenkai, dynax_state, 0, ROT0, "Dynax", "Mahjong Ougon No Hai", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1991, ougonhaib,ougonhai, tenkai, tenkai, dynax_state, 0, ROT0, "bootleg", "Mahjong Ougon No Hai (bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1994, mjreach, 0, mjreach, mjreach, dynax_state, 0, ROT0, "bootleg / Dynax", "Mahjong Reach (bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, cdracula, 0, cdracula, cdracula, dynax_state, 0, ROT0, "Yun Sung (Escape license)","Castle Of Dracula", MACHINE_SUPPORTS_SAVE ) // not a dynax board
-GAME( 1995, shpeng, 0, sprtmtch, drgpunch, dynax_state, 0, ROT0, "WSAC Systems?", "Sea Hunter Penguin", MACHINE_NO_COCKTAIL | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // not a dynax board. proms?
-GAME( 1995, intrgirl, 0, sprtmtch, drgpunch, dynax_state, 0, ROT0, "Barko", "Intergirl", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // not a dynax board.
-GAME( 1996, majrjhdx, 0, majrjhdx, tenkai, dynax_state, 0, ROT0, "Dynax", "Mahjong Raijinhai DX", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 1994, maya, 0, sprtmtch, drgpunch, dynax_state, init_maya, ROT0, "Promat", "Maya (set 1)", MACHINE_SUPPORTS_SAVE ) // this set has backgrounds blacked out in attract
+GAME( 1994, mayaa, maya, sprtmtch, drgpunch, dynax_state, init_maya, ROT0, "Promat", "Maya (set 2)", MACHINE_SUPPORTS_SAVE ) // this set has backgrounds blacked out in attract
+GAME( 1994, mayab, maya, sprtmtch, drgpunch, dynax_state, init_maya, ROT0, "Promat", "Maya (set 3)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, mayac, maya, sprtmtch, drgpunch, dynax_state, init_mayac, ROT0, "Promat", "Maya (set 4, clean)", MACHINE_SUPPORTS_SAVE )
+GAME( 199?, inca, 0, sprtmtch, drgpunch, dynax_state, init_maya, ROT0, "<unknown>", "Inca", MACHINE_SUPPORTS_SAVE )
+GAME( 199?, blktouch, 0, sprtmtch, drgpunch, dynax_state, init_blktouch, ROT0, "Yang Gi Co Ltd.", "Black Touch (Korea)", MACHINE_SUPPORTS_SAVE )
+
+GAME( 1989, mjfriday, 0, mjfriday, mjfriday, dynax_state, empty_init, ROT180, "Dynax", "Mahjong Friday (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1989, gekisha, 0, gekisha, gekisha, dynax_state, empty_init, ROT180, "Dynax", "Mahjong Gekisha", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, mcnpshnt, 0, mcnpshnt, mcnpshnt, dynax_state, empty_init, ROT0, "Dynax", "Mahjong Campus Hunting (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, 7jigen, 0, nanajign, nanajign, dynax_state, empty_init, ROT180, "Dynax", "7jigen no Youseitachi - Mahjong 7 Dimensions (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+GAME( 1990, jantouki, 0, jantouki, jantouki, dynax_state, empty_init, ROT0, "Dynax", "Jong Tou Ki (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, mjdialq2, 0, mjdialq2, mjdialq2, dynax_state, empty_init, ROT180, "Dynax", "Mahjong Dial Q2 (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, mjdialq2a,mjdialq2, mjdialq2, mjdialq2, dynax_state, empty_init, ROT180, "Dynax", "Mahjong Dial Q2 (Japan, alt.)", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, yarunara, 0, yarunara, yarunara, dynax_state, empty_init, ROT180, "Dynax", "Mahjong Yarunara (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, mjangels, 0, mjangels, yarunara, dynax_state, empty_init, ROT180, "Dynax", "Mahjong Angels - Comic Theater Vol.2 (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, warahana, 0, mjangels, warahana, dynax_state, empty_init, ROT180, "Dynax", "Warai no Hana Tenshi (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1992, quiztvqq, 0, quiztvqq, quiztvqq, dynax_state, empty_init, ROT180, "Dynax", "Quiz TV Gassyuukoku Q&Q (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1993, mjelctrn, 0, mjelctrn, mjelctrn, dynax_state, init_mjelct3, ROT180, "Dynax", "Mahjong Electron Base (parts 2 & 4, Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1989, mjembase, mjelctrn, mjembase, mjembase, dynax_state, init_mjelct3, ROT180, "Dynax", "Mahjong Electromagnetic Base", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, mjelct3, mjelctrn, mjelctrn, mjelct3, dynax_state, init_mjelct3, ROT180, "Dynax", "Mahjong Electron Base (parts 2 & 3, Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, mjelct3a, mjelctrn, mjelctrn, mjelct3, dynax_state, init_mjelct3a, ROT180, "Dynax", "Mahjong Electron Base (parts 2 & 3, alt., Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1993, mjelctrb, mjelctrn, mjelctrn, mjelct3, dynax_state, init_mjelct3, ROT180, "bootleg", "Mahjong Electron Base (parts 2 & 4, Japan, bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1990, majxtal7, 0, neruton, majxtal7, dynax_state, init_mjelct3, ROT180, "Dynax", "Mahjong X-Tal 7 - Crystal Mahjong / Mahjong Diamond 7 (Japan)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+GAME( 1990, neruton, 0, neruton, neruton, dynax_state, init_mjelct3, ROT180, "Dynax / Yukiyoshi Tokoro", "Mahjong Neruton Haikujiradan (Japan, Rev. B?)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+GAME( 1990, nerutona, neruton, neruton, neruton, dynax_state, init_mjelct3, ROT180, "Dynax / Yukiyoshi Tokoro", "Mahjong Neruton Haikujiradan (Japan, Rev. A?)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+GAME( 1991, hanayara, 0, yarunara, hanayara, dynax_state, empty_init, ROT180, "Dynax", "Hana wo Yaraneba! (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, mjcomv1, 0, mjangels, yarunara, dynax_state, empty_init, ROT180, "Dynax", "Mahjong Comic Gekijou Vol.1 (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, tenkai, 0, tenkai, tenkai, dynax_state, empty_init, ROT0, "Dynax", "Mahjong Tenkaigen", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, tenkai2b, tenkai, tenkai, tenkai, dynax_state, empty_init, ROT0, "bootleg", "Mahjong Tenkaigen Part 2 (bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 1991, tenkaibb, tenkai, tenkai, tenkai, dynax_state, empty_init, ROT0, "bootleg", "Mahjong Tenkaigen (bootleg b)", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, tenkaicb, tenkai, tenkai, tenkai, dynax_state, empty_init, ROT0, "bootleg", "Mahjong Tenkaigen (bootleg c)", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, tenkaie, tenkai, tenkai, tenkai, dynax_state, empty_init, ROT0, "Dynax", "Mahjong Tenkaigen (set 2)", MACHINE_SUPPORTS_SAVE )
+GAME( 1991, ougonhai, 0, tenkai, tenkai, dynax_state, empty_init, ROT0, "Dynax", "Mahjong Ougon No Hai", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 1991, ougonhaib,ougonhai, tenkai, tenkai, dynax_state, empty_init, ROT0, "bootleg", "Mahjong Ougon No Hai (bootleg)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
+GAME( 1994, mjreach, 0, mjreach, mjreach, dynax_state, empty_init, ROT0, "bootleg / Dynax", "Mahjong Reach (bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, cdracula, 0, cdracula, cdracula, dynax_state, empty_init, ROT0, "Yun Sung (Escape license)","Castle Of Dracula", MACHINE_SUPPORTS_SAVE ) // not a dynax board
+GAME( 1995, shpeng, 0, sprtmtch, drgpunch, dynax_state, empty_init, ROT0, "WSAC Systems?", "Sea Hunter Penguin", MACHINE_NO_COCKTAIL | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // not a dynax board. proms?
+GAME( 1995, intrgirl, 0, sprtmtch, drgpunch, dynax_state, empty_init, ROT0, "Barko", "Intergirl", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // not a dynax board.
+GAME( 1996, majrjhdx, 0, majrjhdx, tenkai, dynax_state, empty_init, ROT0, "Dynax", "Mahjong Raijinhai DX", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )