コード例 #1
0
ファイル: d_aliens.cpp プロジェクト: EastonWoo/libafba
void __fastcall aliens_sound_write(UINT16 address, UINT8 data)
{
	if ((address & 0xfff0) == 0xe000) {
		K007232WriteReg(0, address & 0x0f, data);
		return;
	}

	switch (address)
	{
		case 0xa000:
			BurnYM2151SelectRegister(data);
		return;

		case 0xa001:
			BurnYM2151WriteRegister(data);
		return;
	}
}
コード例 #2
0
ファイル: d_hcastle.cpp プロジェクト: CaptainCPS/FBAlphaRL
void __fastcall hcastle_sound_write(UINT16 address, UINT8 data)
{
	if ((address & 0xff80) == 0x9800) {
		K051649WaveformWrite(address & 0x7f, data);
		return;
	}

	if ((address & 0xfff0) == 0x9880) {
		address &= 0x000f;

		if (address <= 0x09) {
			K051649FrequencyWrite(address & 0x0f, data);
			return;
		}

		if (address == 0x0f) {
			K051649KeyonoffWrite(data);
			return;
		}

		if (address >= 0x0a) {
			K051649VolumeWrite(address - 0x988a, data);
		}

		return;
	}

	if (address >= 0xb000 && address <= 0xb00d) {
		K007232WriteReg(0, address & 0x0f, data);
		return;
	}

	switch (address)
	{
		case 0xa000:
		case 0xa001:
			BurnYM3812Write(address & 1, data);
		return;

		case 0xc000:
			sound_bankswitch(data);
		return;
	}
}
コード例 #3
0
void __fastcall scontra_sound_write(unsigned short address, unsigned char data)
{
	if ((address & 0xfff0) == 0xb000) {
		K007232WriteReg(0, address & 0x0f, data);
		return;
	}

	switch (address)
	{
		case 0xc000:
			BurnYM2151SelectRegister(data);
		return;

		case 0xc001:
			BurnYM2151WriteRegister(data);
		return;

		case 0xf000:
			scontra_snd_bankswitch_w(data);
		return;
	}
}