scan internal registers of the ymf278b
This commit is contained in:
parent
3d74c24112
commit
d88627268a
|
@ -258,4 +258,5 @@ void BurnYMF278BScan(INT32 nAction, INT32* pnMin)
|
|||
#endif
|
||||
|
||||
BurnTimerScan(nAction, pnMin);
|
||||
ymf278b_scan(nAction, pnMin);
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
|
||||
#ifdef FBA /* !!! FBA */
|
||||
#include "ymf278b.h"
|
||||
#include "state.h"
|
||||
typedef struct { int sample_rate; } MACHINE;
|
||||
MACHINE machine;
|
||||
MACHINE* Machine = &machine;
|
||||
|
@ -662,6 +663,29 @@ static void ymf278b_data_port_C_w(int num, UINT8 data)
|
|||
}
|
||||
|
||||
#ifdef FBA /* !!! FBA */
|
||||
void ymf278b_scan(INT32 nAction, INT32* pnMin)
|
||||
{
|
||||
if (nAction & ACB_DRIVER_DATA) {
|
||||
struct BurnArea ba;
|
||||
char szName[] = "YMF278b Data";
|
||||
const UINT8 *rom_save; void *irq_cb_save; void *timer_cb_save;
|
||||
|
||||
rom_save = YMF278B[0].rom;
|
||||
irq_cb_save = YMF278B[0].irq_callback;
|
||||
timer_cb_save = YMF278B[0].timer_callback;
|
||||
|
||||
ba.Data = &YMF278B[0];
|
||||
ba.nLen = sizeof(YMF278BChip);
|
||||
ba.nAddress = 0;
|
||||
ba.szName = szName;
|
||||
BurnAcb(&ba);
|
||||
|
||||
YMF278B[0].rom = rom_save;
|
||||
YMF278B[0].irq_callback = irq_cb_save;
|
||||
YMF278B[0].timer_callback = timer_cb_save;
|
||||
}
|
||||
}
|
||||
|
||||
int ymf278b_start(INT8 num, UINT8 *rom, void (*irq_cb)(int, int), void (*timer_cb)(int, int, double), int clock, int rate)
|
||||
{
|
||||
int i;
|
||||
|
|
|
@ -18,6 +18,7 @@ struct YMF278B_interface {
|
|||
};
|
||||
|
||||
#ifdef FBA /* !!! FBA */
|
||||
void ymf278b_scan(INT32 nAction, INT32* pnMin);
|
||||
void ymf278b_pcm_update(int num, INT16 **outputs, int length);
|
||||
int ymf278b_timer_over(int num, int timer);
|
||||
int ymf278b_start(INT8 num, UINT8 *rom, void (*irq_cb)(int, int), void (*timer_cb)(int, int, double), int clock, int rate);
|
||||
|
|
Loading…
Reference in New Issue