Exemplo n.º 1
0
DRIVER_INIT_MEMBER(deco156_state,wcvol95)
{
	deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
	deco156_decrypt(machine());
	descramble_sound("ymz");
}
Exemplo n.º 2
0
ROM_END


/*
  Cannon Dancer / Osman are odd, they don't init their own Eeprom...
  Roms on boths games are identical, and the Eeprom contains several settings the user isn't
  permitted to change, including region and button config..  the first 2 bytes must match the
  last first 2 bytes in the last block of 8 bytes, and the at 0x20 there must be 0088 or the
  game won't boot

  The second byte of Eeprom contains the following

  (Switch 0 in test mode)

   -bss llfr (byte 0x01 / 0x79 of eeprom)

  *- = unknown / unused  (no observed effect)
  *b = button config (2 buttons, or 3 buttons)
   s = number of special weapons (bombs)
   l = lives
   f = flip (screen rotation)
  *r = region


  other settings

  Switch 1  (byte 0x00 / 0x78 of eeprom)

  ppdd -ecs

  p = number of players (health bar?)
  d = difficulty
 *- = unknown / unused  (no observed effect)
  e = extend score
  c = continue
  s = demo sound

 Switch 2  (byte 0x7d of eeprom)

  cccC CCxb

  ccc = coin1
  CCC = coin 2
 *x = breaks attract mode / game..
  b = blood


  items marked * the user can't configure in test mode

  I don't know if any of the other bytes in the eeprom are tested / used.

  1 in eeprom is 0 in test mode

  Both games are currently configured to 3 buttons, its possible the game was never
  released with a 2 button configuration.

   NOTE: an actual read of the eeprom appears to be byteswapped vs. this data / the file
         MAME outputs

*/


DRIVER_INIT_MEMBER(simpl156_state,simpl156)
{
	UINT8 *rom = memregion("okimusic")->base();
	int length = memregion("okimusic")->bytes();
	dynamic_buffer buf1(length);

	UINT32 x;

	/* hmm low address line goes to banking chip instead? */
	for (x = 0; x < length; x++)
	{
		UINT32 addr;

		addr = BITSWAP24 (x,23,22,21,0, 20,
							19,18,17,16,
							15,14,13,12,
							11,10,9, 8,
							7, 6, 5, 4,
							3, 2, 1 );

		buf1[addr] = rom[x];
	}

	memcpy(rom, &buf1[0], length);

	deco56_decrypt_gfx(machine(), "gfx1");
	deco156_decrypt(machine());
}
Exemplo n.º 3
0
DRIVER_INIT_MEMBER(deco156_state,hvysmsh)
{
	deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
	deco156_decrypt(machine());
	descramble_sound("oki2");
}
Exemplo n.º 4
0
static DRIVER_INIT( wcvol95 )
{
	deco56_decrypt_gfx(machine, "gfx1"); /* 141 */
	deco156_decrypt(machine);
	descramble_sound(machine, "ymz");
}
Exemplo n.º 5
0
static DRIVER_INIT( hvysmsh )
{
	deco56_decrypt_gfx(machine, "gfx1"); /* 141 */
	deco156_decrypt(machine);
	descramble_sound(machine, "oki2");
}
Exemplo n.º 6
0
void deco156_state::init_wcvol95()
{
	deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
	deco156_decrypt(machine());
	descramble_sound("ymz");
}
Exemplo n.º 7
0
void deco156_state::init_hvysmsh()
{
	deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
	deco156_decrypt(machine());
	descramble_sound("oki2");
}