mirror of
https://github.com/holub/mame
synced 2025-07-02 08:39:21 +03:00
(note)
This commit is contained in:
parent
b73aab8d66
commit
7611b2728e
@ -17,6 +17,8 @@
|
|||||||
- Src B and Src NOTE bits
|
- Src B and Src NOTE bits
|
||||||
- statusreg Busy and End bits
|
- statusreg Busy and End bits
|
||||||
- timer register 0x11
|
- 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...
|
- oh, and a lot more...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -1338,12 +1340,12 @@ UINT8 ymf271_device::ymf271_read_memory(UINT32 offset)
|
|||||||
{
|
{
|
||||||
if (m_ext_read_handler.isnull())
|
if (m_ext_read_handler.isnull())
|
||||||
{
|
{
|
||||||
if (offset < m_region_size)
|
if (offset < m_mem_size)
|
||||||
return m_region_base[offset];
|
return m_mem_base[offset];
|
||||||
|
|
||||||
/* 8MB chip limit (shouldn't happen) */
|
/* 8MB chip limit (shouldn't happen) */
|
||||||
else if (offset > 0x7fffff)
|
else if (offset > 0x7fffff)
|
||||||
return m_region_base[offset & 0x7fffff];
|
return m_mem_base[offset & 0x7fffff];
|
||||||
|
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
@ -1686,8 +1688,8 @@ void ymf271_device::device_start()
|
|||||||
m_timA = timer_alloc(0);
|
m_timA = timer_alloc(0);
|
||||||
m_timB = timer_alloc(1);
|
m_timB = timer_alloc(1);
|
||||||
|
|
||||||
m_region_base = *region();
|
m_mem_base = *region();
|
||||||
m_region_size = region()->bytes();
|
m_mem_size = region()->bytes();
|
||||||
m_irq_handler.resolve();
|
m_irq_handler.resolve();
|
||||||
|
|
||||||
m_ext_read_handler.resolve();
|
m_ext_read_handler.resolve();
|
||||||
|
@ -132,8 +132,8 @@ private:
|
|||||||
UINT8 m_ext_rw;
|
UINT8 m_ext_rw;
|
||||||
UINT8 m_ext_readlatch;
|
UINT8 m_ext_readlatch;
|
||||||
|
|
||||||
UINT8 *m_region_base;
|
UINT8 *m_mem_base;
|
||||||
UINT32 m_region_size;
|
UINT32 m_mem_size;
|
||||||
UINT32 m_clock;
|
UINT32 m_clock;
|
||||||
|
|
||||||
emu_timer *m_timA, *m_timB;
|
emu_timer *m_timA, *m_timB;
|
||||||
|
@ -18,6 +18,11 @@
|
|||||||
256 steps total level and 16 steps panpot can be set
|
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
|
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 (m_ext_read_handler.isnull())
|
||||||
{
|
{
|
||||||
if (offset < m_region_size)
|
if (offset < m_mem_size)
|
||||||
return m_region_base[offset];
|
return m_mem_base[offset];
|
||||||
|
|
||||||
/* 16MB chip limit (shouldn't happen) */
|
/* 16MB chip limit (shouldn't happen) */
|
||||||
else if (offset > 0xffffff)
|
else if (offset > 0xffffff)
|
||||||
return m_region_base[offset & 0xffffff];
|
return m_mem_base[offset & 0xffffff];
|
||||||
|
|
||||||
else
|
else
|
||||||
return 0;
|
return 0;
|
||||||
@ -583,8 +588,8 @@ void ymz280b_device::device_start()
|
|||||||
|
|
||||||
/* initialize the rest of the structure */
|
/* initialize the rest of the structure */
|
||||||
m_master_clock = (double)clock() / 384.0;
|
m_master_clock = (double)clock() / 384.0;
|
||||||
m_region_base = *region();
|
m_mem_base = *region();
|
||||||
m_region_size = region()->bytes();
|
m_mem_size = region()->bytes();
|
||||||
m_irq_handler.resolve();
|
m_irq_handler.resolve();
|
||||||
|
|
||||||
for (int i = 0; i < 8; i++)
|
for (int i = 0; i < 8; i++)
|
||||||
|
@ -115,8 +115,8 @@ private:
|
|||||||
devcb2_write8 m_ext_write_handler;/* external RAM write handler */
|
devcb2_write8 m_ext_write_handler;/* external RAM write handler */
|
||||||
|
|
||||||
double m_master_clock; /* master clock frequency */
|
double m_master_clock; /* master clock frequency */
|
||||||
UINT8 *m_region_base; /* pointer to the base of the region */
|
UINT8 *m_mem_base; /* pointer to the base of external memory */
|
||||||
UINT32 m_region_size;
|
UINT32 m_mem_size;
|
||||||
sound_stream *m_stream; /* which stream are we using */
|
sound_stream *m_stream; /* which stream are we using */
|
||||||
INT16 *m_scratch;
|
INT16 *m_scratch;
|
||||||
#if MAKE_WAVS
|
#if MAKE_WAVS
|
||||||
|
Loading…
Reference in New Issue
Block a user