mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
fmtowns: allow reading pcm mask, fixes pcm playback issues (nw)
This commit is contained in:
parent
b27d8aae25
commit
922c983f69
@ -849,6 +849,9 @@ READ8_MEMBER(towns_state::towns_sound_ctrl_r)
|
||||
if(m_towns_pcm_irq_flag)
|
||||
ret |= 0x08;
|
||||
break;
|
||||
case 0x02:
|
||||
ret = m_towns_pcm_channel_mask;
|
||||
break;
|
||||
case 0x03:
|
||||
ret = m_towns_pcm_channel_flag;
|
||||
m_towns_pcm_channel_flag = 0;
|
||||
@ -2211,7 +2214,7 @@ static ADDRESS_MAP_START(towns_mem, AS_PROGRAM, 32, towns_state)
|
||||
AM_RANGE(0xc2100000, 0xc213ffff) AM_ROM AM_REGION("user",0x180000) // FONT ROM
|
||||
AM_RANGE(0xc2140000, 0xc2141fff) AM_READWRITE8(towns_cmos_r,towns_cmos_w,0xffffffff) // CMOS (mirror?)
|
||||
AM_RANGE(0xc2180000, 0xc21fffff) AM_ROM AM_REGION("user",0x080000) // F20 ROM
|
||||
AM_RANGE(0xc2200000, 0xc220ffff) AM_DEVREADWRITE8("pcm", rf5c68_device, rf5c68_mem_r, rf5c68_mem_w, 0xffffffff) // WAVE RAM
|
||||
AM_RANGE(0xc2200000, 0xc2200fff) AM_DEVREADWRITE8("pcm", rf5c68_device, rf5c68_mem_r, rf5c68_mem_w, 0xffffffff) // WAVE RAM
|
||||
AM_RANGE(0xfffc0000, 0xffffffff) AM_ROM AM_REGION("user",0x200000) // SYSTEM ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -2236,7 +2239,7 @@ static ADDRESS_MAP_START(marty_mem, AS_PROGRAM, 16, towns_state)
|
||||
AM_RANGE(0x00d00000, 0x00dfffff) AM_DEVREADWRITE8("icmemcard", fmt_icmem_device, mem_read, mem_write, 0xffff)
|
||||
AM_RANGE(0x00e80000, 0x00efffff) AM_ROM AM_REGION("user",0x100000) // DIC ROM
|
||||
AM_RANGE(0x00f00000, 0x00f7ffff) AM_ROM AM_REGION("user",0x180000) // FONT
|
||||
AM_RANGE(0x00f80000, 0x00f8ffff) AM_DEVREADWRITE8("pcm", rf5c68_device, rf5c68_mem_r, rf5c68_mem_w, 0xffff) // WAVE RAM
|
||||
AM_RANGE(0x00f80000, 0x00f80fff) AM_DEVREADWRITE8("pcm", rf5c68_device, rf5c68_mem_r, rf5c68_mem_w, 0xffff) // WAVE RAM
|
||||
AM_RANGE(0x00fc0000, 0x00ffffff) AM_ROM AM_REGION("user",0x200000) // SYSTEM ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -2260,7 +2263,7 @@ static ADDRESS_MAP_START(ux_mem, AS_PROGRAM, 16, towns_state)
|
||||
AM_RANGE(0x00e00000, 0x00e7ffff) AM_ROM AM_REGION("user",0x000000) // OS
|
||||
AM_RANGE(0x00e80000, 0x00efffff) AM_ROM AM_REGION("user",0x100000) // DIC ROM
|
||||
AM_RANGE(0x00f00000, 0x00f7ffff) AM_ROM AM_REGION("user",0x180000) // FONT
|
||||
AM_RANGE(0x00f80000, 0x00f8ffff) AM_DEVREADWRITE8("pcm", rf5c68_device, rf5c68_mem_r, rf5c68_mem_w, 0xffff) // WAVE RAM
|
||||
AM_RANGE(0x00f80000, 0x00f80fff) AM_DEVREADWRITE8("pcm", rf5c68_device, rf5c68_mem_r, rf5c68_mem_w, 0xffff) // WAVE RAM
|
||||
AM_RANGE(0x00fc0000, 0x00ffffff) AM_ROM AM_REGION("user",0x200000) // SYSTEM ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -2708,6 +2711,10 @@ void towns_state::machine_reset()
|
||||
m_rtc_d = 0;
|
||||
m_rtc_busy = false;
|
||||
m_vram_mask_addr = 0;
|
||||
m_towns_pcm_channel_flag = 0;
|
||||
m_towns_pcm_channel_mask = 0xff;
|
||||
m_towns_pcm_irq_flag = 0;
|
||||
m_towns_fm_irq_flag = 0;
|
||||
}
|
||||
|
||||
READ8_MEMBER(towns_state::get_slave_ack)
|
||||
|
Loading…
Reference in New Issue
Block a user