コード例 #1
0
ファイル: deco156.c プロジェクト: crazii/mameplus
DRIVER_INIT_MEMBER(deco156_state,wcvol95)
{
	deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
	deco156_decrypt(machine());
	descramble_sound("ymz");
}
コード例 #2
0
ファイル: simpl156.c プロジェクト: andysarcade/mame
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());
}
コード例 #3
0
ファイル: deco156.c プロジェクト: crazii/mameplus
DRIVER_INIT_MEMBER(deco156_state,hvysmsh)
{
	deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
	deco156_decrypt(machine());
	descramble_sound("oki2");
}
コード例 #4
0
static DRIVER_INIT( wcvol95 )
{
	deco56_decrypt_gfx(machine, "gfx1"); /* 141 */
	deco156_decrypt(machine);
	descramble_sound(machine, "ymz");
}
コード例 #5
0
static DRIVER_INIT( hvysmsh )
{
	deco56_decrypt_gfx(machine, "gfx1"); /* 141 */
	deco156_decrypt(machine);
	descramble_sound(machine, "oki2");
}
コード例 #6
0
ファイル: deco156.cpp プロジェクト: Octocontrabass/mame
void deco156_state::init_wcvol95()
{
	deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
	deco156_decrypt(machine());
	descramble_sound("ymz");
}
コード例 #7
0
ファイル: deco156.cpp プロジェクト: Octocontrabass/mame
void deco156_state::init_hvysmsh()
{
	deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
	deco156_decrypt(machine());
	descramble_sound("oki2");
}