예제 #1
0
void dec0_aud_write_byte(unsigned short address, unsigned char data)
{
	if (address == 0x0800) // YM2203 write
	{
		BurnYM2203Write(0, 0, data);
		return ;
	}
	if ( address ==0x0801)
	{
		BurnYM2203Write(0, 1, data);
		return ;
	}
	if (address == 0x1000) // YM3812 write
	{
		BurnYM3812Write(0, data);
		return ;
	}
	if (address == 0x1001)
	{
		BurnYM3812Write(1, data);
		return ;
	}
	if (address == 0x3800) // OKI write
	{
		MSM6295Command(0, data);
		return ;
	}
	bprintf(PRINT_NORMAL, _T("unmapped audio write: %x: %x,\n"),address,data);
}
예제 #2
0
void __fastcall ashnojoe_sound_write_port(UINT16 p, UINT8 d)
{
	switch (p & 0xff)
	{
		case 0x00:
			BurnYM2203Write(0, 0, d);
		return;

		case 0x01:
			BurnYM2203Write(0, 1, d);
		return;

		case 0x02:
			adpcm_byte = d;
		return;
	}
}
예제 #3
0
void __fastcall scotrsht_sound_out(unsigned short port, unsigned char data)
{
	switch (port & 0xff)
	{
		case 0x00:
		case 0x01:
			BurnYM2203Write(0, port & 1, data);
		return;
	}
}
예제 #4
0
void __fastcall Wc90b1Write3(UINT16 a, UINT8 d)
{
	switch (a) {
		case 0xe000: {
			INT32 BankAddress;

			BankAddress = 0x8000 + ((d & 0x01) * 0x4000);
			ZetMapArea(0x8000, 0xbfff, 0, Wc90b1Z80Rom3 + BankAddress);
			ZetMapArea(0x8000, 0xbfff, 2, Wc90b1Z80Rom3 + BankAddress);
			
			MSM5205ResetWrite(0, d & 0x08);
			return;
		}
		
		case 0xe400: {
			Wc90b1MSM5205Next = d;
			return;
		}
		
		case 0xe800: {
			BurnYM2203Write(0, 0, d);
			return;
		}
		
		case 0xe801: {
			BurnYM2203Write(0, 1, d);
			return;
		}
		
		case 0xec00:
		case 0xec01: {
			// ???
			return;
		}
		
		default: {
			bprintf(PRINT_NORMAL, _T("Z80 #3 Write => %04X, %02X\n"), a, d);
		}
	}
}