summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/suna8.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/suna8.cpp')
-rw-r--r--src/mame/drivers/suna8.cpp122
1 files changed, 57 insertions, 65 deletions
diff --git a/src/mame/drivers/suna8.cpp b/src/mame/drivers/suna8.cpp
index ec7efc47795..e98b9af4049 100644
--- a/src/mame/drivers/suna8.cpp
+++ b/src/mame/drivers/suna8.cpp
@@ -62,12 +62,10 @@ Notes:
Hard Head
***************************************************************************/
-DRIVER_INIT_MEMBER(suna8_state,hardhead)
+void suna8_state::init_hardhead()
{
uint8_t *rom = memregion("maincpu")->base();
- int i;
-
- for (i = 0; i < 0x8000; i++)
+ for (int i = 0; i < 0x8000; i++)
{
static const uint8_t swaptable[8] =
{
@@ -84,7 +82,7 @@ DRIVER_INIT_MEMBER(suna8_state,hardhead)
}
/* Non encrypted bootleg */
-DRIVER_INIT_MEMBER(suna8_state,hardhedb)
+void suna8_state::init_hardhedb()
{
m_bank0d->set_base(memregion("maincpu")->base() + 0x48000);
m_bank1->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000);
@@ -138,7 +136,7 @@ uint8_t *suna8_state::brickzn_decrypt()
return decrypt;
}
-DRIVER_INIT_MEMBER(suna8_state, brickzn_common)
+void suna8_state::init_brickzn_common()
{
m_decrypt = brickzn_decrypt();
@@ -152,9 +150,9 @@ DRIVER_INIT_MEMBER(suna8_state, brickzn_common)
m_bank1d->configure_entries(16, 16, m_decrypt + 0x10000, 0x4000);
}
-DRIVER_INIT_MEMBER(suna8_state,brickzn)
+void suna8_state::init_brickzn()
{
- DRIVER_INIT_CALL(brickzn_common);
+ init_brickzn_common();
// !!!!!! PATCHES !!!!!!
// To do: ROM banking should be disabled here
@@ -170,9 +168,9 @@ DRIVER_INIT_MEMBER(suna8_state,brickzn)
m_decrypt[0x25A4] = 0x00; // HALT -> NOP
}
-DRIVER_INIT_MEMBER(suna8_state,brickznv5)
+void suna8_state::init_brickznv5()
{
- DRIVER_INIT_CALL(brickzn_common);
+ init_brickzn_common();
// !!!!!! PATCHES !!!!!!
// To do: ROM banking should be disabled here
@@ -188,9 +186,9 @@ DRIVER_INIT_MEMBER(suna8_state,brickznv5)
m_decrypt[0x2593] = 0x00; // HALT -> NOP
}
-DRIVER_INIT_MEMBER(suna8_state,brickznv4)
+void suna8_state::init_brickznv4()
{
- DRIVER_INIT_CALL(brickzn_common);
+ init_brickzn_common();
// !!!!!! PATCHES !!!!!!
// To do: ROM banking should be disabled here
@@ -206,7 +204,7 @@ DRIVER_INIT_MEMBER(suna8_state,brickznv4)
m_decrypt[0x256c] = 0x00; // HALT -> NOP
}
-DRIVER_INIT_MEMBER(suna8_state,brickzn11)
+void suna8_state::init_brickzn11()
{
m_bank1->configure_entries(0, 16*2, memregion("maincpu")->base() + 0x10000, 0x4000);
}
@@ -216,19 +214,17 @@ DRIVER_INIT_MEMBER(suna8_state,brickzn11)
Hard Head 2
***************************************************************************/
-DRIVER_INIT_MEMBER(suna8_state,hardhea2)
+void suna8_state::init_hardhea2()
{
- uint8_t *RAM = memregion("maincpu")->base();
- size_t size = memregion("maincpu")->bytes();
- uint8_t *decrypt = auto_alloc_array(machine(), uint8_t, size);
- uint8_t x;
- int i;
+ uint8_t *RAM = memregion("maincpu")->base();
+ size_t size = memregion("maincpu")->bytes();
+ uint8_t *decrypt = auto_alloc_array(machine(), uint8_t, size);
m_bank0d->set_base(decrypt);
/* Address lines scrambling */
memcpy(decrypt, RAM, size);
- for (i = 0x00000; i < 0x50000; i++)
+ for (int i = 0x00000; i < 0x50000; i++)
{
/*
0x1000 to scramble:
@@ -261,7 +257,7 @@ rom13: 0?, 1y, 2n, 3n ?,?,?,? (palettes)
}
/* Opcodes */
- for (i = 0; i < 0x8000; i++)
+ for (int i = 0; i < 0x8000; i++)
{
static const uint8_t swaptable[32] =
{
@@ -275,7 +271,7 @@ rom13: 0?, 1y, 2n, 3n ?,?,?,? (palettes)
};
int table = (i & 1) | ((i & 0x400) >> 9) | ((i & 0x7000) >> 10);
- x = RAM[i];
+ uint8_t x = RAM[i];
x = bitswap<8>(x, 7,6,5,3,4,2,1,0) ^ 0x41 ^ xortable[table];
if (swaptable[table])
@@ -285,7 +281,7 @@ rom13: 0?, 1y, 2n, 3n ?,?,?,? (palettes)
}
/* Data */
- for (i = 0; i < 0x8000; i++)
+ for (int i = 0; i < 0x8000; i++)
{
static const uint8_t swaptable[8] = { 1,1,0,1,0,1,1,0 };
@@ -297,7 +293,7 @@ rom13: 0?, 1y, 2n, 3n ?,?,?,? (palettes)
membank("bank2")->configure_entries(0, 2, auto_alloc_array(machine(), uint8_t, 0x2000 * 2), 0x2000);
}
-DRIVER_INIT_MEMBER(suna8_state, hardhea2b)
+void suna8_state::init_hardhea2b()
{
// no address scramble?
// code/data split in first ROM?
@@ -310,19 +306,17 @@ DRIVER_INIT_MEMBER(suna8_state, hardhea2b)
Star Fighter
***************************************************************************/
-DRIVER_INIT_MEMBER(suna8_state,starfigh)
+void suna8_state::init_starfigh()
{
- uint8_t *RAM = memregion("maincpu")->base();
- size_t size = memregion("maincpu")->bytes();
- uint8_t *decrypt = auto_alloc_array(machine(), uint8_t, size);
- uint8_t x;
- int i;
+ uint8_t *RAM = memregion("maincpu")->base();
+ size_t size = memregion("maincpu")->bytes();
+ uint8_t *decrypt = auto_alloc_array(machine(), uint8_t, size);
m_bank0d->set_base(decrypt);
/* Address lines scrambling */
memcpy(decrypt, RAM, size);
- for (i = 0; i < 0x50000; i++)
+ for (int i = 0; i < 0x50000; i++)
{
static const uint8_t swaptable[0x50] =
{
@@ -341,7 +335,7 @@ DRIVER_INIT_MEMBER(suna8_state,starfigh)
}
/* Opcodes */
- for (i = 0; i < 0x8000; i++)
+ for (int i = 0; i < 0x8000; i++)
{
static const uint8_t swaptable[32] =
{
@@ -355,7 +349,7 @@ DRIVER_INIT_MEMBER(suna8_state,starfigh)
};
int table = (i & 0x7c00) >> 10;
- x = RAM[i];
+ uint8_t x = RAM[i];
x = bitswap<8>(x, 5,6,7,3,4,2,1,0) ^ 0x45 ^ xortable[table];
if (swaptable[table])
@@ -365,7 +359,7 @@ DRIVER_INIT_MEMBER(suna8_state,starfigh)
}
/* Data */
- for (i = 0; i < 0x8000; i++)
+ for (int i = 0; i < 0x8000; i++)
{
static const uint8_t swaptable[8] = { 1,1,0,1,0,1,1,0 };
@@ -395,19 +389,17 @@ DRIVER_INIT_MEMBER(suna8_state,starfigh)
Spark Man
***************************************************************************/
-DRIVER_INIT_MEMBER(suna8_state,sparkman)
+void suna8_state::init_sparkman()
{
- uint8_t *RAM = memregion("maincpu")->base();
- size_t size = memregion("maincpu")->bytes();
- uint8_t *decrypt = auto_alloc_array(machine(), uint8_t, size);
- uint8_t x;
- int i;
+ uint8_t *RAM = memregion("maincpu")->base();
+ size_t size = memregion("maincpu")->bytes();
+ uint8_t *decrypt = auto_alloc_array(machine(), uint8_t, size);
m_bank0d->set_base(decrypt);
/* Address lines scrambling */
memcpy(decrypt, RAM, size);
- for (i = 0; i < 0x50000; i++)
+ for (int i = 0; i < 0x50000; i++)
{
static const uint8_t swaptable[0x50] =
{
@@ -426,7 +418,7 @@ DRIVER_INIT_MEMBER(suna8_state,sparkman)
}
/* Opcodes */
- for (i = 0; i < 0x8000; i++)
+ for (int i = 0; i < 0x8000; i++)
{
static const uint8_t swaptable[32] =
{
@@ -440,7 +432,7 @@ DRIVER_INIT_MEMBER(suna8_state,sparkman)
};
int table = (i & 0x7c00) >> 10;
- x = RAM[i];
+ uint8_t x = RAM[i];
x = bitswap<8>(x, 5,6,7,3,4,2,1,0) ^ 0x44 ^ xortable[table];
if (swaptable[table])
@@ -450,7 +442,7 @@ DRIVER_INIT_MEMBER(suna8_state,sparkman)
}
/* Data */
- for (i = 0; i < 0x8000; i++)
+ for (int i = 0; i < 0x8000; i++)
{
static const uint8_t swaptable[8] = { 1,1,1,0,1,1,0,1 };
@@ -3061,33 +3053,33 @@ ROM_END
***************************************************************************/
-DRIVER_INIT_MEMBER(suna8_state,suna8)
+void suna8_state::init_suna8()
{
m_bank1->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000);
}
-GAME( 1988, sranger, 0, rranger, rranger, suna8_state, suna8, ROT0, "SunA", "Super Ranger (v2.0)", MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1988, rranger, sranger, rranger, rranger, suna8_state, suna8, ROT0, "SunA (Sharp Image license)", "Rough Ranger (v2.0)", MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1988, rrangerb, sranger, rranger, rranger, suna8_state, suna8, ROT0, "bootleg", "Rough Ranger (v2.0, bootleg)", MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1988, srangero, sranger, rranger, rranger, suna8_state, suna8, ROT0, "SunA", "Super Ranger (older)", MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1988, srangern, sranger, rranger, rranger, suna8_state, suna8, ROT0, "SunA (NOVA license)", "Super Ranger (older, NOVA license)", MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1988, srangerw, sranger, rranger, rranger, suna8_state, suna8, ROT0, "SunA (WDK license)", "Super Ranger (older, WDK license)", MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1988, srangerb, sranger, rranger, rranger, suna8_state, suna8, ROT0, "bootleg (NYWA)", "Super Ranger (older, bootleg)", MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1988, sranger, 0, rranger, rranger, suna8_state, init_suna8, ROT0, "SunA", "Super Ranger (v2.0)", MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1988, rranger, sranger, rranger, rranger, suna8_state, init_suna8, ROT0, "SunA (Sharp Image license)", "Rough Ranger (v2.0)", MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1988, rrangerb, sranger, rranger, rranger, suna8_state, init_suna8, ROT0, "bootleg", "Rough Ranger (v2.0, bootleg)", MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1988, srangero, sranger, rranger, rranger, suna8_state, init_suna8, ROT0, "SunA", "Super Ranger (older)", MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1988, srangern, sranger, rranger, rranger, suna8_state, init_suna8, ROT0, "SunA (NOVA license)", "Super Ranger (older, NOVA license)", MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1988, srangerw, sranger, rranger, rranger, suna8_state, init_suna8, ROT0, "SunA (WDK license)", "Super Ranger (older, WDK license)", MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1988, srangerb, sranger, rranger, rranger, suna8_state, init_suna8, ROT0, "bootleg (NYWA)", "Super Ranger (older, bootleg)", MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1988, hardhead, 0, hardhead, hardhead, suna8_state, hardhead, ROT0, "SunA", "Hard Head", 0 )
-GAME( 1988, hardheadb, hardhead, hardhead, hardhead, suna8_state, hardhedb, ROT0, "bootleg", "Hard Head (bootleg, set 1)", 0 )
-GAME( 1988, hardheadb2,hardhead, hardhead, hardhead, suna8_state, hardhedb, ROT0, "bootleg", "Hard Head (bootleg, set 2)", MACHINE_NOT_WORKING )
-GAME( 1988, pop_hh, hardhead, hardhead, hardhead, suna8_state, hardhedb, ROT0, "bootleg", "Popper (Hard Head bootleg)", 0 )
+GAME( 1988, hardhead, 0, hardhead, hardhead, suna8_state, init_hardhead, ROT0, "SunA", "Hard Head", 0 )
+GAME( 1988, hardheadb, hardhead, hardhead, hardhead, suna8_state, init_hardhedb, ROT0, "bootleg", "Hard Head (bootleg, set 1)", 0 )
+GAME( 1988, hardheadb2,hardhead, hardhead, hardhead, suna8_state, init_hardhedb, ROT0, "bootleg", "Hard Head (bootleg, set 2)", MACHINE_NOT_WORKING )
+GAME( 1988, pop_hh, hardhead, hardhead, hardhead, suna8_state, init_hardhedb, ROT0, "bootleg", "Popper (Hard Head bootleg)", 0 )
-GAME( 1989, sparkman, 0, sparkman, sparkman, suna8_state, sparkman, ROT0, "SunA", "Spark Man (v2.0, set 1)", 0 )
-GAME( 1989, sparkmana, sparkman, sparkman, sparkman, suna8_state, sparkman, ROT0, "SunA", "Spark Man (v2.0, set 2)", 0 )
+GAME( 1989, sparkman, 0, sparkman, sparkman, suna8_state, init_sparkman, ROT0, "SunA", "Spark Man (v2.0, set 1)", 0 )
+GAME( 1989, sparkmana, sparkman, sparkman, sparkman, suna8_state, init_sparkman, ROT0, "SunA", "Spark Man (v2.0, set 2)", 0 )
-GAME( 1990, starfigh, 0, starfigh, starfigh, suna8_state, starfigh, ROT90, "SunA", "Star Fighter (v1)", MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1990, starfigh, 0, starfigh, starfigh, suna8_state, init_starfigh, ROT90, "SunA", "Star Fighter (v1)", MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1991, hardhea2, 0, hardhea2, hardhea2, suna8_state, hardhea2, ROT0, "SunA", "Hard Head 2 (v2.0)", 0 )
-GAME( 1991, hardhea2b, hardhea2, hardhea2b,hardhea2, suna8_state, hardhea2b, ROT0, "bootleg", "Hard Head 2 (v2.0, bootleg)", MACHINE_NOT_WORKING )
+GAME( 1991, hardhea2, 0, hardhea2, hardhea2, suna8_state, init_hardhea2, ROT0, "SunA", "Hard Head 2 (v2.0)", 0 )
+GAME( 1991, hardhea2b, hardhea2, hardhea2b,hardhea2, suna8_state, init_hardhea2b, ROT0, "bootleg", "Hard Head 2 (v2.0, bootleg)", MACHINE_NOT_WORKING )
-GAME( 1992, brickzn, 0, brickzn, brickznv6,suna8_state, brickzn, ROT90, "SunA", "Brick Zone (v6.0, Joystick)", 0 )
-GAME( 1992, brickznv5, brickzn, brickzn, brickzn, suna8_state, brickznv5, ROT90, "SunA", "Brick Zone (v5.0, Joystick)", 0 )
-GAME( 1992, brickznv4, brickzn, brickzn, brickzn, suna8_state, brickznv4, ROT90, "SunA", "Brick Zone (v4.0, Spinner)", 0 )
-GAME( 1992, brickzn11, brickzn, brickzn11,brickzn, suna8_state, brickzn11, ROT90, "SunA", "Brick Zone (v1.1, Spinner)", 0 )
+GAME( 1992, brickzn, 0, brickzn, brickznv6,suna8_state, init_brickzn, ROT90, "SunA", "Brick Zone (v6.0, Joystick)", 0 )
+GAME( 1992, brickznv5, brickzn, brickzn, brickzn, suna8_state, init_brickznv5, ROT90, "SunA", "Brick Zone (v5.0, Joystick)", 0 )
+GAME( 1992, brickznv4, brickzn, brickzn, brickzn, suna8_state, init_brickznv4, ROT90, "SunA", "Brick Zone (v4.0, Spinner)", 0 )
+GAME( 1992, brickzn11, brickzn, brickzn11,brickzn, suna8_state, init_brickzn11, ROT90, "SunA", "Brick Zone (v1.1, Spinner)", 0 )