mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
(note)
This commit is contained in:
parent
b73aab8d66
commit
7611b2728e
@ -17,6 +17,8 @@
|
||||
- Src B and Src NOTE bits
|
||||
- statusreg Busy and End bits
|
||||
- timer register 0x11
|
||||
- Is memory handling 100% correct? At the moment, seibuspi.c is the only
|
||||
hardware currently emulated that uses external handlers.
|
||||
- oh, and a lot more...
|
||||
*/
|
||||
|
||||
@ -1338,12 +1340,12 @@ UINT8 ymf271_device::ymf271_read_memory(UINT32 offset)
|
||||
{
|
||||
if (m_ext_read_handler.isnull())
|
||||
{
|
||||
if (offset < m_region_size)
|
||||
return m_region_base[offset];
|
||||
if (offset < m_mem_size)
|
||||
return m_mem_base[offset];
|
||||
|
||||
/* 8MB chip limit (shouldn't happen) */
|
||||
else if (offset > 0x7fffff)
|
||||
return m_region_base[offset & 0x7fffff];
|
||||
return m_mem_base[offset & 0x7fffff];
|
||||
|
||||
else
|
||||
return 0;
|
||||
@ -1686,8 +1688,8 @@ void ymf271_device::device_start()
|
||||
m_timA = timer_alloc(0);
|
||||
m_timB = timer_alloc(1);
|
||||
|
||||
m_region_base = *region();
|
||||
m_region_size = region()->bytes();
|
||||
m_mem_base = *region();
|
||||
m_mem_size = region()->bytes();
|
||||
m_irq_handler.resolve();
|
||||
|
||||
m_ext_read_handler.resolve();
|
||||
|
@ -132,8 +132,8 @@ private:
|
||||
UINT8 m_ext_rw;
|
||||
UINT8 m_ext_readlatch;
|
||||
|
||||
UINT8 *m_region_base;
|
||||
UINT32 m_region_size;
|
||||
UINT8 *m_mem_base;
|
||||
UINT32 m_mem_size;
|
||||
UINT32 m_clock;
|
||||
|
||||
emu_timer *m_timA, *m_timB;
|
||||
|
@ -17,6 +17,11 @@
|
||||
8-bit PCM, 16-bit PCM ...... 0.172 to 88.2kHz in 512 steps
|
||||
256 steps total level and 16 steps panpot can be set
|
||||
Voice signal is output in stereo 16-bit 2's complement MSB-first format
|
||||
|
||||
TODO:
|
||||
- Is memory handling 100% correct? At the moment, Konami firewave.c is the only
|
||||
hardware currently emulated that uses external handlers.
|
||||
It also happens to be the only one using 16-bit PCM.
|
||||
|
||||
*/
|
||||
|
||||
@ -51,12 +56,12 @@ UINT8 ymz280b_device::ymz280b_read_memory(UINT32 offset)
|
||||
{
|
||||
if (m_ext_read_handler.isnull())
|
||||
{
|
||||
if (offset < m_region_size)
|
||||
return m_region_base[offset];
|
||||
if (offset < m_mem_size)
|
||||
return m_mem_base[offset];
|
||||
|
||||
/* 16MB chip limit (shouldn't happen) */
|
||||
else if (offset > 0xffffff)
|
||||
return m_region_base[offset & 0xffffff];
|
||||
return m_mem_base[offset & 0xffffff];
|
||||
|
||||
else
|
||||
return 0;
|
||||
@ -583,8 +588,8 @@ void ymz280b_device::device_start()
|
||||
|
||||
/* initialize the rest of the structure */
|
||||
m_master_clock = (double)clock() / 384.0;
|
||||
m_region_base = *region();
|
||||
m_region_size = region()->bytes();
|
||||
m_mem_base = *region();
|
||||
m_mem_size = region()->bytes();
|
||||
m_irq_handler.resolve();
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
|
@ -115,8 +115,8 @@ private:
|
||||
devcb2_write8 m_ext_write_handler;/* external RAM write handler */
|
||||
|
||||
double m_master_clock; /* master clock frequency */
|
||||
UINT8 *m_region_base; /* pointer to the base of the region */
|
||||
UINT32 m_region_size;
|
||||
UINT8 *m_mem_base; /* pointer to the base of external memory */
|
||||
UINT32 m_mem_size;
|
||||
sound_stream *m_stream; /* which stream are we using */
|
||||
INT16 *m_scratch;
|
||||
#if MAKE_WAVS
|
||||
|
Loading…
Reference in New Issue
Block a user