summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/emu/cpu/alph8201/alph8201.c5
-rw-r--r--src/emu/cpu/drcbex64.c3
-rw-r--r--src/emu/cpu/drcbex86.c5
-rw-r--r--src/emu/cpu/drcuml.c24
-rw-r--r--src/emu/cpu/mips/mips3drc.c5
-rw-r--r--src/emu/cpu/pdp1/pdp1.c3
-rw-r--r--src/emu/cpu/powerpc/ppccom.c11
-rw-r--r--src/emu/cpu/powerpc/ppcdrc.c5
-rw-r--r--src/emu/cpu/rsp/rsp.c1
-rw-r--r--src/emu/cpu/saturn/saturn.c1
-rw-r--r--src/emu/cpu/sh2/sh2drc.c3
-rw-r--r--src/emu/cpu/sh4/sh4.c15
-rw-r--r--src/emu/cpu/sh4/sh4comn.c3
-rw-r--r--src/emu/debug/debugcmt.c11
-rw-r--r--src/emu/sound/2203intf.c5
-rw-r--r--src/emu/sound/2608intf.c6
-rw-r--r--src/emu/sound/2610intf.c6
-rw-r--r--src/emu/sound/2612intf.c5
-rw-r--r--src/emu/sound/262intf.c5
-rw-r--r--src/emu/sound/3812intf.c29
-rw-r--r--src/emu/sound/aica.c13
-rw-r--r--src/emu/sound/ay8910.c11
-rw-r--r--src/emu/sound/c6280.c21
-rw-r--r--src/emu/sound/cdp1869.c7
-rw-r--r--src/emu/sound/es5503.c5
-rw-r--r--src/emu/sound/es5506.c51
-rw-r--r--src/emu/sound/flt_rc.c5
-rw-r--r--src/emu/sound/ics2115.c78
-rw-r--r--src/emu/sound/k053260.c17
-rw-r--r--src/emu/sound/msm5205.c3
-rw-r--r--src/emu/sound/saa1099.c15
-rw-r--r--src/emu/sound/samples.c9
-rw-r--r--src/emu/sound/scsp.c12
-rw-r--r--src/emu/sound/tms5220.c9
-rw-r--r--src/emu/sound/vlm5030.c5
-rw-r--r--src/emu/sound/votrax.c5
-rw-r--r--src/emu/sound/ymf271.c9
-rw-r--r--src/emu/sound/ymz280b.c11
-rw-r--r--src/mame/audio/dcs.c2
-rw-r--r--src/mame/drivers/megadriv.c4
-rw-r--r--src/mame/drivers/viper.c1
-rw-r--r--src/mame/machine/n64.c3
42 files changed, 232 insertions, 215 deletions
diff --git a/src/emu/cpu/alph8201/alph8201.c b/src/emu/cpu/alph8201/alph8201.c
index 75b7323fdf9..44816844294 100644
--- a/src/emu/cpu/alph8201/alph8201.c
+++ b/src/emu/cpu/alph8201/alph8201.c
@@ -148,7 +148,6 @@ Timming
****************************************************************************/
#include "debugger.h"
-#include "deprecat.h"
#include "alph8201.h"
/* instruction cycle count */
@@ -289,7 +288,7 @@ INLINE void M_UNDEFINED(alpha8201_state *cpustate)
mame_printf_debug("alpha8201: cpustate->PC = %03x, Unimplemented opcode = %02x\n", cpustate->PC-1, M_RDMEM(cpustate->PC-1));
#endif
#if BREAK_ON_UNKNOWN_OPCODE
- debugger_break(Machine);
+ debugger_break(cpustate->device->machine);
#endif
}
@@ -302,7 +301,7 @@ INLINE void M_UNDEFINED2(alpha8201_state *cpustate)
mame_printf_debug("alpha8201: cpustate->PC = %03x, Unimplemented opcode = %02x,%02x\n", cpustate->PC-2, op,imm);
#endif
#if BREAK_ON_UNKNOWN_OPCODE
- debugger_break(Machine);
+ debugger_break(cpustate->device->machine);
#endif
}
diff --git a/src/emu/cpu/drcbex64.c b/src/emu/cpu/drcbex64.c
index c4a424c28fd..4ebbbe907c1 100644
--- a/src/emu/cpu/drcbex64.c
+++ b/src/emu/cpu/drcbex64.c
@@ -173,7 +173,6 @@
#include "drcuml.h"
#include "drcbeut.h"
#include "debugger.h"
-#include "deprecat.h"
#include "x86emit.h"
#include "eminline.h"
#undef REG_SP
@@ -3093,7 +3092,7 @@ static x86code *op_debug(drcbe_state *drcbe, x86code *dst, const drcuml_instruct
assert_no_condition(inst);
assert_no_flags(inst);
- if ((Machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ if ((drcbe->device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
{
drcuml_parameter pcp;
diff --git a/src/emu/cpu/drcbex86.c b/src/emu/cpu/drcbex86.c
index 2dfa9f7ce4b..3f4dd2e5790 100644
--- a/src/emu/cpu/drcbex86.c
+++ b/src/emu/cpu/drcbex86.c
@@ -89,7 +89,6 @@
#include "drcuml.h"
#include "drcbeut.h"
#include "debugger.h"
-#include "deprecat.h"
#include "x86emit.h"
#include "eminline.h"
#undef REG_SP
@@ -3221,7 +3220,7 @@ static x86code *op_debug(drcbe_state *drcbe, x86code *dst, const drcuml_instruct
assert_no_condition(inst);
assert_no_flags(inst);
- if ((Machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ if ((drcbe->device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
{
drcuml_parameter pcp;
@@ -3229,7 +3228,7 @@ static x86code *op_debug(drcbe_state *drcbe, x86code *dst, const drcuml_instruct
param_normalize_1(drcbe, inst, &pcp, PTYPE_MRI);
/* test and branch */
- emit_test_m32_imm(&dst, MABS(&Machine->debug_flags), DEBUG_FLAG_CALL_HOOK); // test [Machine->debug_flags],DEBUG_FLAG_CALL_HOOK
+ emit_test_m32_imm(&dst, MABS(&drcbe->device->machine->debug_flags), DEBUG_FLAG_CALL_HOOK); // test [debug_flags],DEBUG_FLAG_CALL_HOOK
emit_jcc_short_link(&dst, COND_Z, &skip); // jz skip
/* push the parameter */
diff --git a/src/emu/cpu/drcuml.c b/src/emu/cpu/drcuml.c
index 272d58de4b5..e114103c097 100644
--- a/src/emu/cpu/drcuml.c
+++ b/src/emu/cpu/drcuml.c
@@ -38,7 +38,6 @@
#include "drcuml.h"
#include "drcumlsh.h"
-#include "deprecat.h"
#include "eminline.h"
#include "mame.h"
#include <stdarg.h>
@@ -323,7 +322,7 @@ static void validate_backend(drcuml_state *drcuml);
static void bevalidate_iterate_over_params(drcuml_state *drcuml, drcuml_codehandle **handles, const bevalidate_test *test, drcuml_parameter *paramlist, int pnum);
static void bevalidate_iterate_over_flags(drcuml_state *drcuml, drcuml_codehandle **handles, const bevalidate_test *test, drcuml_parameter *paramlist);
static void bevalidate_execute(drcuml_state *drcuml, drcuml_codehandle **handles, const bevalidate_test *test, const drcuml_parameter *paramlist, UINT8 flagmask);
-static void bevalidate_initialize_random_state(drcuml_block *block, drcuml_machine_state *state);
+static void bevalidate_initialize_random_state(drcuml_state *drcuml, drcuml_block *block, drcuml_machine_state *state);
static int bevalidate_populate_state(drcuml_block *block, drcuml_machine_state *state, const bevalidate_test *test, const drcuml_parameter *paramlist, drcuml_parameter *params, UINT64 *parammem);
static int bevalidate_verify_state(drcuml_state *drcuml, const drcuml_machine_state *istate, drcuml_machine_state *state, const bevalidate_test *test, UINT32 flags, const drcuml_parameter *params, const drcuml_instruction *testinst, drccodeptr codestart, drccodeptr codeend, UINT8 flagmask);
@@ -2188,7 +2187,7 @@ static void bevalidate_execute(drcuml_state *drcuml, drcuml_codehandle **handles
UML_HANDLE(block, handles[0]);
/* set up a random initial state */
- bevalidate_initialize_random_state(block, &istate);
+ bevalidate_initialize_random_state(drcuml, block, &istate);
/* then populate the state with the parameters */
numparams = bevalidate_populate_state(block, &istate, test, paramlist, params, parammem);
@@ -2243,32 +2242,33 @@ static void bevalidate_execute(drcuml_state *drcuml, drcuml_codehandle **handles
initialize the machine state to randomness
-------------------------------------------------*/
-static void bevalidate_initialize_random_state(drcuml_block *block, drcuml_machine_state *state)
+static void bevalidate_initialize_random_state(drcuml_state *drcuml, drcuml_block *block, drcuml_machine_state *state)
{
+ running_machine *machine = drcuml->device->machine;
int regnum;
/* initialize core state to random values */
- state->fmod = mame_rand(Machine) & 0x03;
- state->flags = mame_rand(Machine) & 0x1f;
- state->exp = mame_rand(Machine);
+ state->fmod = mame_rand(machine) & 0x03;
+ state->flags = mame_rand(machine) & 0x1f;
+ state->exp = mame_rand(machine);
/* initialize integer registers to random values */
for (regnum = 0; regnum < ARRAY_LENGTH(state->r); regnum++)
{
- state->r[regnum].w.h = mame_rand(Machine);
- state->r[regnum].w.l = mame_rand(Machine);
+ state->r[regnum].w.h = mame_rand(machine);
+ state->r[regnum].w.l = mame_rand(machine);
}
/* initialize float registers to random values */
for (regnum = 0; regnum < ARRAY_LENGTH(state->f); regnum++)
{
- *(UINT32 *)&state->f[regnum].s.h = mame_rand(Machine);
- *(UINT32 *)&state->f[regnum].s.l = mame_rand(Machine);
+ *(UINT32 *)&state->f[regnum].s.h = mame_rand(machine);
+ *(UINT32 *)&state->f[regnum].s.l = mame_rand(machine);
}
/* initialize map variables to random values */
for (regnum = 0; regnum < DRCUML_MAPVAR_END - DRCUML_MAPVAR_M0; regnum++)
- UML_MAPVAR(block, MVAR(regnum), mame_rand(Machine));
+ UML_MAPVAR(block, MVAR(regnum), mame_rand(machine));
}
diff --git a/src/emu/cpu/mips/mips3drc.c b/src/emu/cpu/mips/mips3drc.c
index b14f0b4b0a8..dda84cb6c39 100644
--- a/src/emu/cpu/mips/mips3drc.c
+++ b/src/emu/cpu/mips/mips3drc.c
@@ -31,7 +31,6 @@
#include "cpuexec.h"
#include "mips3com.h"
#include "mips3fe.h"
-#include "deprecat.h"
#include "cpu/drcfe.h"
#include "cpu/drcuml.h"
#include "cpu/drcumlsh.h"
@@ -1220,7 +1219,7 @@ static void static_generate_memory_accessor(mips3_state *mips3, int mode, int si
UML_JMPc(block, IF_Z, tlbmiss = label++); // jmp tlbmiss,z
UML_ROLINS(block, IREG(0), IREG(3), IMM(0), IMM(0xfffff000)); // rolins i0,i3,0,0xfffff000
- if ((Machine->debug_flags & DEBUG_FLAG_ENABLED) == 0)
+ if ((mips3->device->machine->debug_flags & DEBUG_FLAG_ENABLED) == 0)
for (ramnum = 0; ramnum < MIPS3_MAX_FASTRAM; ramnum++)
if (mips3->impstate->fastram[ramnum].base != NULL && (!iswrite || !mips3->impstate->fastram[ramnum].readonly))
{
@@ -1551,7 +1550,7 @@ static void generate_sequence_instruction(mips3_state *mips3, drcuml_block *bloc
}
/* if we are debugging, call the debugger */
- if ((Machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ if ((mips3->device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
{
UML_MOV(block, MEM(&mips3->pc), IMM(desc->pc)); // mov [pc],desc->pc
save_fast_iregs(mips3, block);
diff --git a/src/emu/cpu/pdp1/pdp1.c b/src/emu/cpu/pdp1/pdp1.c
index 18d8f9f5ab9..8db3ae211ed 100644
--- a/src/emu/cpu/pdp1/pdp1.c
+++ b/src/emu/cpu/pdp1/pdp1.c
@@ -336,7 +336,6 @@
#include "debugger.h"
-#include "deprecat.h"
#include "pdp1.h"
#define LOG 0
@@ -1703,7 +1702,7 @@ static void null_iot(const device_config *device, int op2, int nac, int mb, int
if (LOG_IOT_EXTRA)
{
if (op2 == 000)
- logerror("IOT sync instruction: mb=0%06o, pc=0%06o\n", (unsigned) mb, (unsigned) cpu_get_reg(Machine->cpu[0], PDP1_PC));
+ logerror("IOT sync instruction: mb=0%06o, pc=0%06o\n", (unsigned) mb, (unsigned) cpu_get_reg(device->machine->cpu[0], PDP1_PC));
}
if (LOG)
{
diff --git a/src/emu/cpu/powerpc/ppccom.c b/src/emu/cpu/powerpc/ppccom.c
index d70f55fbb4b..db624ca042c 100644
--- a/src/emu/cpu/powerpc/ppccom.c
+++ b/src/emu/cpu/powerpc/ppccom.c
@@ -9,7 +9,6 @@
#include "ppccom.h"
#include "cpuexec.h"
#include "mame.h"
-#include "deprecat.h"
/***************************************************************************
@@ -280,7 +279,7 @@ void ppccom_reset(powerpc_state *ppc)
/* reset the decrementer */
ppc->dec_zero_cycles = cpu_get_total_cycles(ppc->device);
- decrementer_int_callback(Machine, ppc, 0);
+ decrementer_int_callback(ppc->device->machine, ppc, 0);
}
/* initialize the 4XX state */
@@ -546,7 +545,7 @@ void ppccom_execute_tlbl(powerpc_state *ppc)
int entrynum;
/* determine entry number; we use rand() for associativity */
- entrynum = ((address >> 12) & 0x1f) | (mame_rand(Machine) & 0x20) | (isitlb ? 0x40 : 0);
+ entrynum = ((address >> 12) & 0x1f) | (mame_rand(ppc->device->machine) & 0x20) | (isitlb ? 0x40 : 0);
/* determine the flags */
flags = VTLB_FLAG_VALID | VTLB_READ_ALLOWED | VTLB_FETCH_ALLOWED;
@@ -816,9 +815,9 @@ void ppccom_execute_mtspr(powerpc_state *ppc)
case SPR4XX_TCR:
ppc->spr[SPR4XX_TCR] = ppc->param1 | (oldval & PPC4XX_TCR_WRC_MASK);
if ((oldval ^ ppc->spr[SPR4XX_TCR]) & PPC4XX_TCR_FIE)
- ppc4xx_fit_callback(Machine, ppc, FALSE);
+ ppc4xx_fit_callback(ppc->device->machine, ppc, FALSE);
if ((oldval ^ ppc->spr[SPR4XX_TCR]) & PPC4XX_TCR_PIE)
- ppc4xx_pit_callback(Machine, ppc, FALSE);
+ ppc4xx_pit_callback(ppc->device->machine, ppc, FALSE);
return;
/* timer status register */
@@ -831,7 +830,7 @@ void ppccom_execute_mtspr(powerpc_state *ppc)
case SPR4XX_PIT:
ppc->spr[SPR4XX_PIT] = ppc->param1;
ppc->pit_reload = ppc->param1;
- ppc4xx_pit_callback(Machine, ppc, FALSE);
+ ppc4xx_pit_callback(ppc->device->machine, ppc, FALSE);
return;
/* timebase */
diff --git a/src/emu/cpu/powerpc/ppcdrc.c b/src/emu/cpu/powerpc/ppcdrc.c
index f963e8eda83..a7fe35c72c9 100644
--- a/src/emu/cpu/powerpc/ppcdrc.c
+++ b/src/emu/cpu/powerpc/ppcdrc.c
@@ -21,7 +21,6 @@
#include "debugger.h"
#include "ppccom.h"
#include "ppcfe.h"
-#include "deprecat.h"
#include "cpu/drcfe.h"
#include "cpu/drcuml.h"
#include "cpu/drcumlsh.h"
@@ -1499,7 +1498,7 @@ static void static_generate_memory_accessor(powerpc_state *ppc, int mode, int si
UML_AND(block, IREG(0), IREG(0), IMM(0x7fffffff)); // and i0,i0,0x7fffffff
UML_XOR(block, IREG(0), IREG(0), IMM((mode & MODE_LITTLE_ENDIAN) ? (8 - size) : 0)); // xor i0,i0,8-size
- if ((Machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ if ((ppc->device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
for (ramnum = 0; ramnum < PPC_MAX_FASTRAM; ramnum++)
if (ppc->impstate->fastram[ramnum].base != NULL && (!iswrite || !ppc->impstate->fastram[ramnum].readonly))
{
@@ -2132,7 +2131,7 @@ static void generate_sequence_instruction(powerpc_state *ppc, drcuml_block *bloc
}
/* if we are debugging, call the debugger */
- if ((Machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ if ((ppc->device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
{
UML_MOV(block, MEM(&ppc->pc), IMM(desc->pc)); // mov [pc],desc->pc
save_fast_iregs(ppc, block); // <save fastregs>
diff --git a/src/emu/cpu/rsp/rsp.c b/src/emu/cpu/rsp/rsp.c
index 88405e1147d..086abdced0e 100644
--- a/src/emu/cpu/rsp/rsp.c
+++ b/src/emu/cpu/rsp/rsp.c
@@ -6,7 +6,6 @@
#include "cpuintrf.h"
#include "debugger.h"
-#include "deprecat.h"
#include "rsp.h"
#define LOG_INSTRUCTION_EXECUTION 0
diff --git a/src/emu/cpu/saturn/saturn.c b/src/emu/cpu/saturn/saturn.c
index d385d47e210..cbad90404e7 100644
--- a/src/emu/cpu/saturn/saturn.c
+++ b/src/emu/cpu/saturn/saturn.c
@@ -23,7 +23,6 @@
*****************************************************************************/
#include "debugger.h"
-#include "deprecat.h"
#include "saturn.h"
diff --git a/src/emu/cpu/sh2/sh2drc.c b/src/emu/cpu/sh2/sh2drc.c
index c80519fc122..769fd2e531a 100644
--- a/src/emu/cpu/sh2/sh2drc.c
+++ b/src/emu/cpu/sh2/sh2drc.c
@@ -16,7 +16,6 @@
***************************************************************************/
#include "debugger.h"
-#include "deprecat.h"
#include "sh2.h"
#include "sh2comn.h"
#include "eminline.h"
@@ -1572,7 +1571,7 @@ static void generate_sequence_instruction(SH2 *sh2, drcuml_block *block, compile
}
/* if we are debugging, call the debugger */
- if ((Machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ if ((sh2->device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
{
UML_MOV(block, MEM(&sh2->pc), IMM(desc->pc)); // mov [pc],desc->pc
save_fast_iregs(sh2, block);
diff --git a/src/emu/cpu/sh4/sh4.c b/src/emu/cpu/sh4/sh4.c
index f669cb08a9c..f41fa311868 100644
--- a/src/emu/cpu/sh4/sh4.c
+++ b/src/emu/cpu/sh4/sh4.c
@@ -26,7 +26,6 @@
#include "sh4.h"
#include "sh4regs.h"
#include "sh4comn.h"
-#include "deprecat.h"
/* Called for unimplemented opcodes */
static void TODO(SH4 *sh4)
@@ -834,7 +833,7 @@ INLINE void LDCSR(SH4 *sh4, UINT32 m)
UINT32 reg;
reg = sh4->r[m];
- if ((Machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ if ((sh4->device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
sh4_syncronize_register_bank(sh4, (sh4->sr & sRB) >> 29);
if ((sh4->r[m] & sRB) != (sh4->sr & sRB))
sh4_change_register_bank(sh4, sh4->r[m] & sRB ? 1 : 0);
@@ -862,7 +861,7 @@ UINT32 old;
old = sh4->sr;
sh4->ea = sh4->r[m];
sh4->sr = RL(sh4, sh4->ea ) & FLAGS;
- if ((Machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ if ((sh4->device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
sh4_syncronize_register_bank(sh4, (old & sRB) >> 29);
if ((old & sRB) != (sh4->sr & sRB))
sh4_change_register_bank(sh4, sh4->sr & sRB ? 1 : 0);
@@ -1448,7 +1447,7 @@ INLINE void RTE(SH4 *sh4)
{
sh4->delay = sh4->pc;
sh4->pc = sh4->ea = sh4->spc;
- if ((Machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ if ((sh4->device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
sh4_syncronize_register_bank(sh4, (sh4->sr & sRB) >> 29);
if ((sh4->ssr & sRB) != (sh4->sr & sRB))
sh4_change_register_bank(sh4, sh4->ssr & sRB ? 1 : 0);
@@ -1731,7 +1730,7 @@ INLINE void TRAPA(SH4 *sh4, UINT32 i)
sh4->sgr = sh4->r[15];
sh4->sr |= MD;
- if ((Machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ if ((sh4->device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
sh4_syncronize_register_bank(sh4, (sh4->sr & sRB) >> 29);
if (!(sh4->sr & sRB))
sh4_change_register_bank(sh4, 1);
@@ -3206,7 +3205,7 @@ INLINE void op1111(SH4 *sh4, UINT16 opcode)
FRCHG(sh4);
break;
default:
- debugger_break(Machine);
+ debugger_break(sh4->device->machine);
break;
}
} else {
@@ -3217,7 +3216,7 @@ INLINE void op1111(SH4 *sh4, UINT16 opcode)
}
break;
default:
- debugger_break(Machine);
+ debugger_break(sh4->device->machine);
break;
}
break;
@@ -3225,7 +3224,7 @@ INLINE void op1111(SH4 *sh4, UINT16 opcode)
FMAC(sh4, Rm,Rn);
break;
default:
- debugger_break(Machine);
+ debugger_break(sh4->device->machine);
break;
}
}
diff --git a/src/emu/cpu/sh4/sh4comn.c b/src/emu/cpu/sh4/sh4comn.c
index 3cb5f110cac..91ce7acf4a0 100644
--- a/src/emu/cpu/sh4/sh4comn.c
+++ b/src/emu/cpu/sh4/sh4comn.c
@@ -7,7 +7,6 @@
*****************************************************************************/
#include "debugger.h"
-#include "deprecat.h"
#include "cpuexec.h"
#include "sh4.h"
#include "sh4regs.h"
@@ -194,7 +193,7 @@ void sh4_exception(SH4 *sh4, const char *message, int exception) // handle excep
sh4->sgr = sh4->r[15];
sh4->sr |= MD;
- if ((Machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
+ if ((sh4->device->machine->debug_flags & DEBUG_FLAG_ENABLED) != 0)
sh4_syncronize_register_bank(sh4, (sh4->sr & sRB) >> 29);
if (!(sh4->sr & sRB))
sh4_change_register_bank(sh4, 1);
diff --git a/src/emu/debug/debugcmt.c b/src/emu/debug/debugcmt.c
index e60d3580e5e..8b7912dc5d8 100644
--- a/src/emu/debug/debugcmt.c
+++ b/src/emu/debug/debugcmt.c
@@ -21,7 +21,6 @@
***************************************************************************/
#include "driver.h"
-#include "deprecat.h"
#include "xmlfile.h"
#include "debugcmt.h"
#include "debugcpu.h"
@@ -86,7 +85,7 @@ static comment_group *debug_comments;
static int debug_comment_load_xml(running_machine *machine, mame_file *file);
static void debug_comment_exit(running_machine *machine);
-static void debug_comment_free(void);
+static void debug_comment_free(running_machine *machine);
@@ -556,7 +555,7 @@ error:
static void debug_comment_exit(running_machine *machine)
{
debug_comment_save(machine);
- debug_comment_free();
+ debug_comment_free(machine);
}
@@ -564,12 +563,12 @@ static void debug_comment_exit(running_machine *machine)
debug_comment_free - cleans up memory
-------------------------------------------------------------------------*/
-static void debug_comment_free(void)
+static void debug_comment_free(running_machine *machine)
{
int i, j;
- for (i = 0; i < ARRAY_LENGTH(Machine->cpu); i++)
- if (Machine->cpu[i] != NULL)
+ for (i = 0; i < ARRAY_LENGTH(machine->cpu); i++)
+ if (machine->cpu[i] != NULL)
{
for (j = 0; j < debug_comments[i].comment_count; j++)
{
diff --git a/src/emu/sound/2203intf.c b/src/emu/sound/2203intf.c
index 1f887b5a913..8b37cd5d173 100644
--- a/src/emu/sound/2203intf.c
+++ b/src/emu/sound/2203intf.c
@@ -1,6 +1,5 @@
#include <math.h>
#include "sndintrf.h"
-#include "deprecat.h"
#include "streams.h"
#include "2203intf.h"
#include "fm.h"
@@ -13,6 +12,7 @@ struct ym2203_info
void * chip;
void * psg;
const ym2203_interface *intf;
+ const device_config *device;
};
@@ -52,7 +52,7 @@ static const ssg_callbacks psgintf =
static void IRQHandler(void *param,int irq)
{
struct ym2203_info *info = param;
- if(info->intf->handler) info->intf->handler(Machine, irq);
+ if(info->intf->handler) info->intf->handler(info->device->machine, irq);
}
/* Timer overflow callback from timer.c */
@@ -124,6 +124,7 @@ static SND_START( ym2203 )
memset(info, 0, sizeof(*info));
info->intf = intf;
+ info->device = device;
info->psg = ay8910_start_ym(SOUND_YM2203, device, clock, &intf->ay8910_intf);
if (!info->psg) return NULL;
diff --git a/src/emu/sound/2608intf.c b/src/emu/sound/2608intf.c
index 743a55a2237..17df778c71e 100644
--- a/src/emu/sound/2608intf.c
+++ b/src/emu/sound/2608intf.c
@@ -12,7 +12,6 @@
***************************************************************************/
#include "sndintrf.h"
-#include "deprecat.h"
#include "streams.h"
#include "ay8910.h"
#include "2608intf.h"
@@ -25,6 +24,7 @@ struct ym2608_info
void * chip;
void * psg;
const ym2608_interface *intf;
+ const device_config *device;
};
@@ -66,7 +66,7 @@ static const ssg_callbacks psgintf =
static void IRQHandler(void *param,int irq)
{
struct ym2608_info *info = param;
- if(info->intf->handler) info->intf->handler(Machine, irq);
+ if(info->intf->handler) info->intf->handler(info->device->machine, irq);
}
/* Timer overflow callback from timer.c */
@@ -140,6 +140,8 @@ static SND_START( ym2608 )
memset(info, 0, sizeof(*info));
info->intf = intf;
+ info->device = device;
+
/* FIXME: Force to use simgle output */
info->psg = ay8910_start_ym(SOUND_YM2608, device, clock, &intf->ay8910_intf);
if (!info->psg) return NULL;
diff --git a/src/emu/sound/2610intf.c b/src/emu/sound/2610intf.c
index bae38911a10..e512c3eef04 100644
--- a/src/emu/sound/2610intf.c
+++ b/src/emu/sound/2610intf.c
@@ -12,7 +12,6 @@
***************************************************************************/
#include "sndintrf.h"
-#include "deprecat.h"
#include "streams.h"
#include "ay8910.h"
#include "2610intf.h"
@@ -26,6 +25,7 @@ struct ym2610_info
void * chip;
void * psg;
const ym2610_interface *intf;
+ const device_config *device;
};
@@ -66,7 +66,7 @@ static const ssg_callbacks psgintf =
static void IRQHandler(void *param,int irq)
{
struct ym2610_info *info = param;
- if(info->intf->handler) info->intf->handler(Machine, irq);
+ if(info->intf->handler) info->intf->handler(info->device->machine, irq);
}
/* Timer overflow callback from timer.c */
@@ -142,6 +142,7 @@ static SND_START( ym2610 )
memset(info, 0, sizeof(*info));
info->intf = intf;
+ info->device = device;
info->psg = ay8910_start_ym(SOUND_YM2610, device, clock, &generic_ay8910);
if (!info->psg) return NULL;
@@ -208,6 +209,7 @@ static SND_START( ym2610b )
memset(info, 0, sizeof(*info));
info->intf = intf;
+ info->device = device;
info->psg = ay8910_start_ym(SOUND_YM2610B, device, clock, &generic_ay8910);
if (!info->psg) return NULL;
diff --git a/src/emu/sound/2612intf.c b/src/emu/sound/2612intf.c
index f11a395aa90..68d3e7ccdb7 100644
--- a/src/emu/sound/2612intf.c
+++ b/src/emu/sound/2612intf.c
@@ -12,7 +12,6 @@
***************************************************************************/
#include "sndintrf.h"
-#include "deprecat.h"
#include "streams.h"
#include "sound/fm.h"
#include "sound/2612intf.h"
@@ -24,6 +23,7 @@ struct ym2612_info
emu_timer * timer[2];
void * chip;
const ym2612_interface *intf;
+ const device_config *device;
};
/*------------------------- TM2612 -------------------------------*/
@@ -31,7 +31,7 @@ struct ym2612_info
static void IRQHandler(void *param,int irq)
{
struct ym2612_info *info = param;
- if(info->intf->handler) info->intf->handler(Machine, irq);
+ if(info->intf->handler) info->intf->handler(info->device->machine, irq);
}
/* Timer overflow callback from timer.c */
@@ -97,6 +97,7 @@ static SND_START( ym2612 )
memset(info, 0, sizeof(*info));
info->intf = config ? config : &dummy;
+ info->device = device;
/* FM init */
/* Timer Handler set */
diff --git a/src/emu/sound/262intf.c b/src/emu/sound/262intf.c
index 0bdbea0afeb..ecfe3945d35 100644
--- a/src/emu/sound/262intf.c
+++ b/src/emu/sound/262intf.c
@@ -6,7 +6,6 @@
***************************************************************************/
#include "sndintrf.h"
-#include "deprecat.h"
#include "streams.h"
#include "262intf.h"
#include "ymf262.h"
@@ -18,6 +17,7 @@ struct ymf262_info
emu_timer * timer[2];
void * chip;
const ymf262_interface *intf;
+ const device_config *device;
};
@@ -26,7 +26,7 @@ struct ymf262_info
static void IRQHandler_262(void *param,int irq)
{
struct ymf262_info *info = param;
- if (info->intf->handler) (info->intf->handler)(Machine, irq);
+ if (info->intf->handler) (info->intf->handler)(info->device->machine, irq);
}
static TIMER_CALLBACK( timer_callback_262_0 )
@@ -77,6 +77,7 @@ static SND_START( ymf262 )
memset(info, 0, sizeof(*info));
info->intf = config ? config : &dummy;
+ info->device = device;
/* stream system initialize */
info->chip = ymf262_init(clock,rate);
diff --git a/src/emu/sound/3812intf.c b/src/emu/sound/3812intf.c
index be1888837c4..e91b9d467f4 100644
--- a/src/emu/sound/3812intf.c
+++ b/src/emu/sound/3812intf.c
@@ -17,7 +17,6 @@
*
******************************************************************************/
#include "sndintrf.h"
-#include "deprecat.h"
#include "streams.h"
#include "cpuintrf.h"
#include "3812intf.h"
@@ -33,12 +32,13 @@ struct ym3812_info
emu_timer * timer[2];
void * chip;
const ym3812_interface *intf;
+ const device_config *device;
};
static void IRQHandler_3812(void *param,int irq)
{
struct ym3812_info *info = param;
- if (info->intf->handler) (info->intf->handler)(Machine, irq ? ASSERT_LINE : CLEAR_LINE);
+ if (info->intf->handler) (info->intf->handler)(info->device->machine, irq ? ASSERT_LINE : CLEAR_LINE);
}
static TIMER_CALLBACK( timer_callback_3812_0 )
{
@@ -89,6 +89,7 @@ static SND_START( ym3812 )
memset(info, 0, sizeof(*info));
info->intf = config ? config : &dummy;
+ info->device = device;
/* stream system initialize */
info->chip = ym3812_init(device,clock,rate);
@@ -200,6 +201,7 @@ struct ym3526_info
emu_timer * timer[2];
void * chip;
const ym3526_interface *intf;
+ const device_config *device;
};
@@ -207,7 +209,7 @@ struct ym3526_info
static void IRQHandler_3526(void *param,int irq)
{
struct ym3526_info *info = param;
- if (info->intf->handler) (info->intf->handler)(Machine, irq ? ASSERT_LINE : CLEAR_LINE);
+ if (info->intf->handler) (info->intf->handler)(info->device->machine, irq ? ASSERT_LINE : CLEAR_LINE);
}
/* Timer overflow callback from timer.c */
static TIMER_CALLBACK( timer_callback_3526_0 )
@@ -258,6 +260,7 @@ static SND_START( ym3526 )
memset(info, 0, sizeof(*info));
info->intf = config ? config : &dummy;
+ info->device = device;
/* stream system initialize */
info->chip = ym3526_init(device,clock,rate);
@@ -368,13 +371,14 @@ struct y8950_info
emu_timer * timer[2];
void * chip;
const y8950_interface *intf;
+ const device_config *device;
int index;
};
static void IRQHandler_8950(void *param,int irq)
{
struct y8950_info *info = param;
- if (info->intf->handler) (info->intf->handler)(Machine, irq ? ASSERT_LINE : CLEAR_LINE);
+ if (info->intf->handler) (info->intf->handler)(info->device->machine, irq ? ASSERT_LINE : CLEAR_LINE);
}
static TIMER_CALLBACK( timer_callback_8950_0 )
{
@@ -402,9 +406,9 @@ static void TimerHandler_8950(void *param,int c,attotime period)
static unsigned char Y8950PortHandler_r(void *param)
{
- /* temporary hack until this is converted to a device */
- const address_space *space = cpu_get_address_space(Machine->cpu[0], ADDRESS_SPACE_PROGRAM);
struct y8950_info *info = param;
+ /* temporary hack until this is converted to a device */
+ const address_space *space = cpu_get_address_space(info->device->machine->cpu[0], ADDRESS_SPACE_PROGRAM);
if (info->intf->portread)
return info->intf->portread(space,info->index);
return 0;
@@ -412,18 +416,18 @@ static unsigned char Y8950PortHandler_r(void *param)
static void Y8950PortHandler_w(void *param,unsigned char data)
{
- /* temporary hack until this is converted to a device */
- const address_space *space = cpu_get_address_space(Machine->cpu[0], ADDRESS_SPACE_PROGRAM);
struct y8950_info *info = param;
+ /* temporary hack until this is converted to a device */
+ const address_space *space = cpu_get_address_space(info->device->machine->cpu[0], ADDRESS_SPACE_PROGRAM);
if (info->intf->portwrite)
info->intf->portwrite(space,info->index,data);
}
static unsigned char Y8950KeyboardHandler_r(void *param)
{
- /* temporary hack until this is converted to a device */
- const address_space *space = cpu_get_address_space(Machine->cpu[0], ADDRESS_SPACE_PROGRAM);
struct y8950_info *info = param;
+ /* temporary hack until this is converted to a device */
+ const address_space *space = cpu_get_address_space(info->device->machine->cpu[0], ADDRESS_SPACE_PROGRAM);
if (info->intf->keyboardread)
return info->intf->keyboardread(space,info->index);
return 0;
@@ -431,9 +435,9 @@ static unsigned char Y8950KeyboardHandler_r(void *param)
static void Y8950KeyboardHandler_w(void *param,unsigned char data)
{
- /* temporary hack until this is converted to a device */
- const address_space *space = cpu_get_address_space(Machine->cpu[0], ADDRESS_SPACE_PROGRAM);
struct y8950_info *info = param;
+ /* temporary hack until this is converted to a device */
+ const address_space *space = cpu_get_address_space(info->device->machine->cpu[0], ADDRESS_SPACE_PROGRAM);
if (info->intf->keyboardwrite)
info->intf->keyboardwrite(space,info->index,data);
}
@@ -461,6 +465,7 @@ static SND_START( y8950 )
memset(info, 0, sizeof(*info));
info->intf = config ? config : &dummy;
+ info->device = device;
info->index = sndindex;
/* stream system initialize */
diff --git a/src/emu/sound/aica.c b/src/emu/sound/aica.c
index 324353b38a5..a451b5124e4 100644
--- a/src/emu/sound/aica.c
+++ b/src/emu/sound/aica.c
@@ -14,7 +14,6 @@
#include "sndintrf.h"
#include "streams.h"
#include "cpuintrf.h"
-#include "deprecat.h"
#include "aica.h"
#include "aicadsp.h"
@@ -203,6 +202,7 @@ struct _AICA
int ARTABLE[64], DRTABLE[64];
struct _AICADSP DSP;
+ const device_config *device;
};
static const float SDLT[16]={-1000000.0,-42.0,-39.0,-36.0,-33.0,-30.0,-27.0,-24.0,-21.0,-18.0,-15.0,-12.0,-9.0,-6.0,-3.0,0.0};
@@ -231,7 +231,7 @@ static void ResetInterrupts(struct _AICA *AICA)
{
#if 0
UINT32 reset = AICA->udata.data[0xa4/2];
- running_machine *machine = Machine;
+ running_machine *machine = AICA->device->machine;
if (reset & 0x40)
AICA->IntARMCB(machine, -AICA->IrqTimA);
@@ -244,7 +244,7 @@ static void CheckPendingIRQ(struct _AICA *AICA)
{
UINT32 pend=AICA->udata.data[0xa0/2];
UINT32 en=AICA->udata.data[0x9c/2];
- running_machine *machine = Machine;
+ running_machine *machine = AICA->device->machine;
if(AICA->MidiW!=AICA->MidiR)
{
@@ -517,6 +517,7 @@ static void AICA_Init(const device_config *device, struct _AICA *AICA, const aic
{
int i;
+ AICA->device = device;
AICA->IrqTimA = AICA->IrqTimBC = AICA->IrqMidi = 0;
AICA->MidiR=AICA->MidiW=0;
AICA->MidiOutR=AICA->MidiOutW=0;
@@ -719,7 +720,7 @@ static void AICA_UpdateSlotReg(struct _AICA *AICA,int s,int r)
static void AICA_UpdateReg(struct _AICA *AICA, int reg)
{
/* temporary hack until this is converted to a device */
- const address_space *space = cpu_get_address_space(Machine->cpu[0], ADDRESS_SPACE_PROGRAM);
+ const address_space *space = cpu_get_address_space(AICA->device->machine->cpu[0], ADDRESS_SPACE_PROGRAM);
switch(reg&0xff)
{
case 0x4:
@@ -860,7 +861,7 @@ static void AICA_UpdateRegR(struct _AICA *AICA, int reg)
unsigned short v=AICA->udata.data[0x8/2];
v&=0xff00;
v|=AICA->MidiStack[AICA->MidiR];
- AICA->IntARMCB(Machine, 0); // cancel the IRQ
+ AICA->IntARMCB(AICA->device->machine, 0); // cancel the IRQ
if(AICA->MidiR!=AICA->MidiW)
{
++AICA->MidiR;
@@ -926,7 +927,7 @@ static void AICA_w16(struct _AICA *AICA,unsigned int addr,unsigned short val)
if (val)
{
- AICA->IntARMCB(Machine, 0);
+ AICA->IntARMCB(AICA->device->machine, 0);
}
}
}
diff --git a/src/emu/sound/ay8910.c b/src/emu/sound/ay8910.c
index e63b81ec0a5..26133022e0c 100644
--- a/src/emu/sound/ay8910.c
+++ b/src/emu/sound/ay8910.c
@@ -101,7 +101,6 @@ has twice the steps, happening twice as fast.
***************************************************************************/
#include "sndintrf.h"
-#include "deprecat.h"
#include "streams.h"
#include "cpuintrf.h"
#include "cpuexec.h"
@@ -388,7 +387,7 @@ INLINE UINT16 mix_3D(ay8910_context *psg)
static void ay8910_write_reg(ay8910_context *psg, int r, int v)
{
/* temporary hack until this is converted to a device */
- const address_space *space = cpu_get_address_space(Machine->cpu[0], ADDRESS_SPACE_PROGRAM);
+ const address_space *space = cpu_get_address_space(psg->device->machine->cpu[0], ADDRESS_SPACE_PROGRAM);
//if (r >= 11 && r <= 13 ) printf("%d %x %02x\n", PSG->index, r, v);
psg->regs[r] = v;
@@ -782,9 +781,9 @@ void ay8910_write_ym(void *chip, int addr, int data)
int ay8910_read_ym(void *chip)
{
- /* temporary hack until this is converted to a device */
- const address_space *space = cpu_get_address_space(Machine->cpu[0], ADDRESS_SPACE_PROGRAM);
ay8910_context *psg = chip;
+ /* temporary hack until this is converted to a device */
+ const address_space *space = cpu_get_address_space(psg->device->machine->cpu[0], ADDRESS_SPACE_PROGRAM);
int r = psg->register_latch;
if (r > 15) return 0;
@@ -801,7 +800,7 @@ int ay8910_read_ym(void *chip)
if (psg->intf->portAread)
psg->regs[AY_PORTA] = (*psg->intf->portAread)(space, 0);
else
- logerror("%s: warning - read 8910 '%s' Port A\n",cpuexec_describe_context(Machine),psg->device->tag);
+ logerror("%s: warning - read 8910 '%s' Port A\n",cpuexec_describe_context(psg->device->machine),psg->device->tag);
break;
case AY_PORTB:
if ((psg->regs[AY_ENABLE] & 0x80) != 0)
@@ -809,7 +808,7 @@ int ay8910_read_ym(void *chip)
if (psg->intf->portBread)
psg->regs[AY_PORTB] = (*psg->intf->portBread)(space, 0);
else
- logerror("%s: warning - read 8910 '%s' Port B\n",cpuexec_describe_context(Machine),psg->device->tag);
+ logerror("%s: warning - read 8910 '%s' Port B\n",cpuexec_describe_context(psg->device->machine),psg->device->tag);
break;
}
return psg->regs[r];
diff --git a/src/emu/sound/c6280.c b/src/emu/sound/c6280.c
index f9cac74350a..3bd394b3964 100644
--- a/src/emu/sound/c6280.c
+++ b/src/emu/sound/c6280.c
@@ -55,7 +55,6 @@
#include "sndintrf.h"
#include "streams.h"
-#include "deprecat.h"
#include "c6280.h"
typedef struct {
@@ -72,6 +71,7 @@ typedef struct {
typedef struct {
sound_stream *stream;
+ const device_config *device;
UINT8 select;
UINT8 balance;
UINT8 lfo_frequency;
@@ -85,13 +85,8 @@ typedef struct {
/* only needed for io_buffer */
#include "cpu/h6280/h6280.h"
-/* Local function prototypes */
-static void c6280_init(c6280_t *p, double clk, double rate);
-static void c6280_write(c6280_t *p, int offset, int data);
-static void c6280_update(void *param, stream_sample_t **inputs, stream_sample_t **buffer, int length);
-
-static void c6280_init(c6280_t *p, double clk, double rate)
+static void c6280_init(const device_config *device, c6280_t *p, double clk, double rate)
{
int i;
double step;
@@ -102,6 +97,8 @@ static void c6280_init(c6280_t *p, double clk, double rate)
/* Clear context */
memset(p, 0, sizeof(c6280_t));
+ p->device = device;
+
/* Make waveform frequency table */
for(i = 0; i < 4096; i += 1)
{
@@ -268,7 +265,7 @@ static void c6280_update(void *param, stream_sample_t **inputs, stream_sample_t
p->channel[ch].noise_counter += step;
if(p->channel[ch].noise_counter >= 0x800)
{
- data = (mame_rand(Machine) & 1) ? 0x1F : 0;
+ data = (mame_rand(p->device->machine) & 1) ? 0x1F : 0;
}
p->channel[ch].noise_counter &= 0x7FF;
buffer[0][i] += (INT16)(vll * (data - 16));
@@ -318,11 +315,11 @@ static SND_START( c6280 )
info = auto_malloc(sizeof(*info));
memset(info, 0, sizeof(*info));
- /* Initialize PSG emulator */
- c6280_init(info, clock, rate);
+ /* Initialize PSG emulator */
+ c6280_init(device, info, clock, rate);
- /* Create stereo stream */
- info->stream = stream_create(device, 0, 2, rate, info, c6280_update);
+ /* Create stereo stream */
+ info->stream = stream_create(device, 0, 2, rate, info, c6280_update);
return info;
}
diff --git a/src/emu/sound/cdp1869.c b/src/emu/sound/cdp1869.c
index 87c783f2f6c..4c24c9db19d 100644
--- a/src/emu/sound/cdp1869.c
+++ b/src/emu/sound/cdp1869.c
@@ -12,11 +12,11 @@
#include "sndintrf.h"
#include "streams.h"
-#include "deprecat.h"
#include "sound/cdp1869.h"
struct CDP1869
{
+ const device_config *device;
sound_stream *stream; /* returned by stream_create() */
int clock; /* chip's base frequency */
@@ -42,7 +42,7 @@ struct CDP1869
static void cdp1869_update(void *param, stream_sample_t **inputs, stream_sample_t **_buffer, int length)
{
- struct CDP1869 *info = (struct CDP1869 *) param;
+ struct CDP1869 *info = param;
INT16 signal = info->signal;
stream_sample_t *buffer = _buffer[0];
@@ -53,7 +53,7 @@ static void cdp1869_update(void *param, stream_sample_t **inputs, stream_sample_
double frequency = (info->clock / 2) / (512 >> info->tonefreq) / (info->tonediv + 1);
// double amplitude = info->toneamp * ((0.78*5) / 15);
- int rate = Machine->sample_rate / 2;
+ int rate = info->device->machine->sample_rate / 2;
/* get progress through wave */
int incr = info->incr;
@@ -110,6 +110,7 @@ static SND_START( cdp1869 )
info = auto_malloc(sizeof(*info));
memset(info, 0, sizeof(*info));
+ info->device = device;
info->stream = stream_create(device, 0, 1, device->machine->sample_rate, info, cdp1869_update );
info->incr = 0;
info->signal = 0x07fff;
diff --git a/src/emu/sound/es5503.c b/src/emu/sound/es5503.c
index 379442364e5..4b984b27c2c 100644
--- a/src/emu/sound/es5503.c
+++ b/src/emu/sound/es5503.c
@@ -36,7 +36,6 @@
#include <math.h>
#include "sndintrf.h"
#include "cpuintrf.h"
-#include "deprecat.h"
#include "es5503.h"
#include "streams.h"
#include "state.h"
@@ -78,6 +77,7 @@ typedef struct
UINT32 clock;
UINT32 output_rate;
+ const device_config *device;
} ES5503Chip;
static const UINT16 wavesizes[8] = { 256, 512, 1024, 2048, 4096, 8192, 16384, 32768 };
@@ -128,7 +128,7 @@ static void es5503_halt_osc(ES5503Chip *chip, int onum, int type, UINT32 *accumu
if (chip->irq_callback)
{
- chip->irq_callback(Machine, 1);
+ chip->irq_callback(chip->device->machine, 1);
}
}
}
@@ -240,6 +240,7 @@ static SND_START( es5503 )
chip->adc_read = intf->adc_read;
chip->docram = intf->wave_memory;
chip->clock = clock;
+ chip->device = device;
chip->rege0 = 0x80;
diff --git a/src/emu/sound/es5506.c b/src/emu/sound/es5506.c
index a21e9e32140..0412119f4c0 100644
--- a/src/emu/sound/es5506.c
+++ b/src/emu/sound/es5506.c
@@ -9,7 +9,6 @@
#include <math.h>
#include "sndintrf.h"
-#include "deprecat.h"
#include "streams.h"
#include "cpuintrf.h"
#include "cpuexec.h"
@@ -123,6 +122,7 @@ struct ES5506Chip
INT16 * ulaw_lookup;
UINT16 * volume_lookup;
+ const device_config *device;
#if MAKE_WAVS
void * wavraw; /* raw waveform */
@@ -151,7 +151,7 @@ static void update_irq_state(struct ES5506Chip *chip)
{
/* ES5505/6 irq line has been set high - inform the host */
if (chip->irq_callback)
- (*chip->irq_callback)(Machine, 1); /* IRQB set high */
+ (*chip->irq_callback)(chip->device->machine, 1); /* IRQB set high */
}
static void update_internal_irq_state(struct ES5506Chip *chip)
@@ -168,7 +168,7 @@ static void update_internal_irq_state(struct ES5506Chip *chip)
chip->irqv=0x80;
if (chip->irq_callback)
- (*chip->irq_callback)(Machine, 0); /* IRQB set low */
+ (*chip->irq_callback)(chip->device->machine, 0); /* IRQB set low */
}
/**********************************************************************************************
@@ -849,6 +849,7 @@ static void *es5506_start_common(const device_config *device, int sndindex, int
chip->region_base[3] = intf->region3 ? (UINT16 *)memory_region(device->machine, intf->region3) : NULL;
/* initialize the rest of the structure */
+ chip->device = device;
chip->master_clock = clock;
chip->irq_callback = intf->irq_callback;
chip->irqv = 0x80;
@@ -1544,6 +1545,8 @@ static SND_RESET( es5505 )
INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset, UINT16 data, UINT16 mem_mask)
{
+ running_machine *machine = chip->device->machine;
+
switch (offset)
{
case 0x00: /* CR */
@@ -1565,7 +1568,7 @@ INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *vo
}
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, control=%04x (raw=%04x & %04x)\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->control, data, mem_mask ^ 0xffff);
+ fprintf(eslog, "%s:voice %d, control=%04x (raw=%04x & %04x)\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->control, data, mem_mask ^ 0xffff);
break;
case 0x01: /* FC */
@@ -1574,7 +1577,7 @@ INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *vo
if (ACCESSING_BITS_8_15)
voice->freqcount = (voice->freqcount & ~0x1fe00) | ((data & 0xff00) << 1);
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, freq count=%08x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->freqcount);
+ fprintf(eslog, "%s:voice %d, freq count=%08x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->freqcount);
break;
case 0x02: /* STRT (hi) */
@@ -1583,7 +1586,7 @@ INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *vo
if (ACCESSING_BITS_8_15)
voice->start = (voice->start & ~0x7c000000) | ((data & 0x1f00) << 18);
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, loop start=%08x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->start);
+ fprintf(eslog, "%s:voice %d, loop start=%08x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->start);
break;
case 0x03: /* STRT (lo) */
@@ -1592,7 +1595,7 @@ INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *vo
if (ACCESSING_BITS_8_15)
voice->start = (voice->start & ~0x0003fc00) | ((data & 0xff00) << 2);
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, loop start=%08x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->start);
+ fprintf(eslog, "%s:voice %d, loop start=%08x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->start);
break;
case 0x04: /* END (hi) */
@@ -1604,7 +1607,7 @@ INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *vo
voice->control |= CONTROL_STOP0;
#endif
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, loop end=%08x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->end);
+ fprintf(eslog, "%s:voice %d, loop end=%08x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->end);
break;
case 0x05: /* END (lo) */
@@ -1616,7 +1619,7 @@ INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *vo
voice->control |= CONTROL_STOP0;
#endif
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, loop end=%08x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->end);
+ fprintf(eslog, "%s:voice %d, loop end=%08x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->end);
break;
case 0x06: /* K2 */
@@ -1625,7 +1628,7 @@ INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *vo
if (ACCESSING_BITS_8_15)
voice->k2 = (voice->k2 & ~0xff00) | (data & 0xff00);
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, K2=%04x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->k2);
+ fprintf(eslog, "%s:voice %d, K2=%04x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->k2);
break;
case 0x07: /* K1 */
@@ -1634,21 +1637,21 @@ INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *vo
if (ACCESSING_BITS_8_15)
voice->k1 = (voice->k1 & ~0xff00) | (data & 0xff00);
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, K1=%04x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->k1);
+ fprintf(eslog, "%s:voice %d, K1=%04x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->k1);
break;
case 0x08: /* LVOL */
if (ACCESSING_BITS_8_15)
voice->lvol = (voice->lvol & ~0xff00) | (data & 0xff00);
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, left vol=%04x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->lvol);
+ fprintf(eslog, "%s:voice %d, left vol=%04x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->lvol);
break;
case 0x09: /* RVOL */
if (ACCESSING_BITS_8_15)
voice->rvol = (voice->rvol & ~0xff00) | (data & 0xff00);
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, right vol=%04x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->rvol);
+ fprintf(eslog, "%s:voice %d, right vol=%04x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->rvol);
break;
case 0x0a: /* ACC (hi) */
@@ -1657,7 +1660,7 @@ INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *vo
if (ACCESSING_BITS_8_15)
voice->accum = (voice->accum & ~0x7c000000) | ((data & 0x1f00) << 18);
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, accum=%08x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->accum);
+ fprintf(eslog, "%s:voice %d, accum=%08x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->accum);
break;
case 0x0b: /* ACC (lo) */
@@ -1666,7 +1669,7 @@ INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *vo
if (ACCESSING_BITS_8_15)
voice->accum = (voice->accum & ~0x0003fc00) | ((data & 0xff00) << 2);
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, accum=%08x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->accum);
+ fprintf(eslog, "%s:voice %d, accum=%08x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->accum);
break;
case 0x0c: /* unused */
@@ -1697,6 +1700,8 @@ INLINE void es5505_reg_write_low(struct ES5506Chip *chip, struct ES5506Voice *vo
INLINE void es5505_reg_write_high(struct ES5506Chip *chip, struct ES5506Voice *voice, offs_t offset, UINT16 data, UINT16 mem_mask)
{
+ running_machine *machine = chip->device->machine;
+
switch (offset)
{
case 0x00: /* CR */
@@ -1713,7 +1718,7 @@ INLINE void es5505_reg_write_high(struct ES5506Chip *chip, struct ES5506Voice *v
((data << 2) & (CONTROL_CA0 | CONTROL_CA1));
}
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, control=%04x (raw=%04x & %04x)\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->control, data, mem_mask);
+ fprintf(eslog, "%s:voice %d, control=%04x (raw=%04x & %04x)\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->control, data, mem_mask);
break;
case 0x01: /* O4(n-1) */
@@ -1722,7 +1727,7 @@ INLINE void es5505_reg_write_high(struct ES5506Chip *chip, struct ES5506Voice *v
if (ACCESSING_BITS_8_15)
voice->o4n1 = (INT16)((voice->o4n1 & ~0xff00) | (data & 0xff00));
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, O4(n-1)=%05x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->o4n1 & 0x3ffff);
+ fprintf(eslog, "%s:voice %d, O4(n-1)=%05x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->o4n1 & 0x3ffff);
break;
case 0x02: /* O3(n-1) */
@@ -1731,7 +1736,7 @@ INLINE void es5505_reg_write_high(struct ES5506Chip *chip, struct ES5506Voice *v
if (ACCESSING_BITS_8_15)
voice->o3n1 = (INT16)((voice->o3n1 & ~0xff00) | (data & 0xff00));
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, O3(n-1)=%05x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->o3n1 & 0x3ffff);
+ fprintf(eslog, "%s:voice %d, O3(n-1)=%05x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->o3n1 & 0x3ffff);
break;
case 0x03: /* O3(n-2) */
@@ -1740,7 +1745,7 @@ INLINE void es5505_reg_write_high(struct ES5506Chip *chip, struct ES5506Voice *v
if (ACCESSING_BITS_8_15)
voice->o3n2 = (INT16)((voice->o3n2 & ~0xff00) | (data & 0xff00));
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, O3(n-2)=%05x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->o3n2 & 0x3ffff);
+ fprintf(eslog, "%s:voice %d, O3(n-2)=%05x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->o3n2 & 0x3ffff);
break;
case 0x04: /* O2(n-1) */
@@ -1749,7 +1754,7 @@ INLINE void es5505_reg_write_high(struct ES5506Chip *chip, struct ES5506Voice *v
if (ACCESSING_BITS_8_15)
voice->o2n1 = (INT16)((voice->o2n1 & ~0xff00) | (data & 0xff00));
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, O2(n-1)=%05x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->o2n1 & 0x3ffff);
+ fprintf(eslog, "%s:voice %d, O2(n-1)=%05x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->o2n1 & 0x3ffff);
break;
case 0x05: /* O2(n-2) */
@@ -1758,7 +1763,7 @@ INLINE void es5505_reg_write_high(struct ES5506Chip *chip, struct ES5506Voice *v
if (ACCESSING_BITS_8_15)
voice->o2n2 = (INT16)((voice->o2n2 & ~0xff00) | (data & 0xff00));
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, O2(n-2)=%05x\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->o2n2 & 0x3ffff);
+ fprintf(eslog, "%s:voice %d, O2(n-2)=%05x\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->o2n2 & 0x3ffff);
break;
case 0x06: /* O1(n-1) */
@@ -1767,7 +1772,7 @@ INLINE void es5505_reg_write_high(struct ES5506Chip *chip, struct ES5506Voice *v
if (ACCESSING_BITS_8_15)
voice->o1n1 = (INT16)((voice->o1n1 & ~0xff00) | (data & 0xff00));
if (LOG_COMMANDS && eslog)
- fprintf(eslog, "%s:voice %d, O1(n-1)=%05x (accum=%08x)\n", cpuexec_describe_context(Machine), chip->current_page & 0x1f, voice->o2n1 & 0x3ffff, voice->accum);
+ fprintf(eslog, "%s:voice %d, O1(n-1)=%05x (accum=%08x)\n", cpuexec_describe_context(machine), chip->current_page & 0x1f, voice->o2n1 & 0x3ffff, voice->accum);
break;
case 0x07:
@@ -1849,7 +1854,7 @@ static void es5505_reg_write(struct ES5506Chip *chip, offs_t offset, UINT16 data
{
struct ES5506Voice *voice = &chip->voice[chip->current_page & 0x1f];
-// logerror("%s:ES5505 write %02x/%02x = %04x & %04x\n", cpuexec_describe_context(Machine), chip->current_page, offset, data, mem_mask);
+// logerror("%s:ES5505 write %02x/%02x = %04x & %04x\n", cpuexec_describe_context(machine), chip->current_page, offset, data, mem_mask);
/* force an update */
stream_update(chip->stream);
diff --git a/src/emu/sound/flt_rc.c b/src/emu/sound/flt_rc.c
index ea576abbb62..58088e4c06f 100644
--- a/src/emu/sound/flt_rc.c
+++ b/src/emu/sound/flt_rc.c
@@ -1,10 +1,10 @@
#include "sndintrf.h"
#include "streams.h"
-#include "deprecat.h"
#include "flt_rc.h"
struct filter_rc_info
{
+ const device_config *device;
sound_stream * stream;
int k;
int memory;
@@ -76,7 +76,7 @@ static void set_RC_info(struct filter_rc_info *info, int type, double R1, double
/* Cut Frequency = 1/(2*Pi*Req*C) */
/* k = (1-(EXP(-TIMEDELTA/RC))) */
- info->k = 0x10000 - 0x10000 * (exp(-1 / (Req * C) / Machine->sample_rate));
+ info->k = 0x10000 - 0x10000 * (exp(-1 / (Req * C) / info->device->machine->sample_rate));
}
@@ -88,6 +88,7 @@ static SND_START( filter_rc )
info = auto_malloc(sizeof(*info));
memset(info, 0, sizeof(*info));
+ info->device = device;
info->stream = stream_create(device, 1, 1, device->machine->sample_rate, info, filter_rc_update);
if (conf)
set_RC_info(info, conf->type, conf->R1, conf->R2, conf->R3, conf->C);
diff --git a/src/emu/sound/ics2115.c b/src/emu/sound/ics2115.c
index abfee0ce406..89debf2ea9f 100644
--- a/src/emu/sound/ics2115.c
+++ b/src/emu/sound/ics2115.c
@@ -7,7 +7,6 @@
#include <math.h>
#include "sndintrf.h"
-#include "deprecat.h"
#include "streams.h"
#include "cpuintrf.h"
#include "cpuexec.h"
@@ -42,8 +41,10 @@
enum { V_ON = 1, V_DONE = 2 };
-struct ics2115{
+struct ics2115
+{
const ics2115_interface *intf;
+ const device_config *device;
int index;
UINT8 *rom;
INT16 *ulaw;
@@ -79,7 +80,7 @@ static void recalc_irq(struct ics2115 *chip)
if(irq != chip->irq_on) {
chip->irq_on = irq;
if(chip->intf->irq_cb)
- chip->intf->irq_cb(Machine, irq ? ASSERT_LINE : CLEAR_LINE);
+ chip->intf->irq_cb(chip->device->machine, irq ? ASSERT_LINE : CLEAR_LINE);
}
}
@@ -192,11 +193,13 @@ static void recalc_timer(struct ics2115 *chip, int timer)
static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
{
+ running_machine *machine = chip->device->machine;
+
switch(reg) {
case 0x00: // [osc] Oscillator Configuration
if(msb) {
chip->voice[chip->osc].conf = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: conf = %02x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: conf = %02x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].conf);
}
break;
@@ -207,7 +210,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
chip->voice[chip->osc].fc = (chip->voice[chip->osc].fc & 0xff)|(data << 8);
else
chip->voice[chip->osc].fc = (chip->voice[chip->osc].fc & 0xff00)|data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: fc = %04x (%dHz)\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: fc = %04x (%dHz)\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].fc, chip->voice[chip->osc].fc*33075/1024);
break;
@@ -216,14 +219,14 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
chip->voice[chip->osc].strth = (chip->voice[chip->osc].strth & 0xff)|(data << 8);
else
chip->voice[chip->osc].strth = (chip->voice[chip->osc].strth & 0xff00)|data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: strth = %04x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: strth = %04x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].strth);
break;
case 0x03: // [osc] Wavesample loop start address 3-0.3-0
if(msb) {
chip->voice[chip->osc].strtl = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: strtl = %02x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: strtl = %02x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].strtl);
}
break;
@@ -233,14 +236,14 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
chip->voice[chip->osc].endh = (chip->voice[chip->osc].endh & 0xff)|(data << 8);
else
chip->voice[chip->osc].endh = (chip->voice[chip->osc].endh & 0xff00)|data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: endh = %04x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: endh = %04x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].endh);
break;
case 0x05: // [osc] Wavesample loop end address 3-0.3-0
if(msb) {
chip->voice[chip->osc].endl = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: endl = %02x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: endl = %02x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].endl);
}
break;
@@ -248,7 +251,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
case 0x07: // [osc] Volume Start
if(msb) {
chip->voice[chip->osc].vstart = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: vstart = %02x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: vstart = %02x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].vstart);
}
break;
@@ -256,7 +259,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
case 0x08: // [osc] Volume End
if(msb) {
chip->voice[chip->osc].vend = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: vend = %02x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: vend = %02x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].vend);
}
break;
@@ -266,7 +269,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
chip->voice[chip->osc].volacc = (chip->voice[chip->osc].volacc & 0xff)|(data << 8);
else
chip->voice[chip->osc].volacc = (chip->voice[chip->osc].volacc & 0xff00)|data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: volacc = %04x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: volacc = %04x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].volacc);
break;
@@ -275,7 +278,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
chip->voice[chip->osc].addrh = (chip->voice[chip->osc].addrh & 0xff)|(data << 8);
else
chip->voice[chip->osc].addrh = (chip->voice[chip->osc].addrh & 0xff00)|data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: addrh = %04x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: addrh = %04x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].addrh);
break;
@@ -284,7 +287,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
chip->voice[chip->osc].addrl = (chip->voice[chip->osc].addrl & 0xff)|(data << 8);
else
chip->voice[chip->osc].addrl = (chip->voice[chip->osc].addrl & 0xff00)|data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: addrl = %04x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: addrl = %04x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].addrl);
break;
@@ -292,7 +295,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
case 0x0c: // [osc] Pan
if(msb) {
chip->voice[chip->osc].pan = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: pan = %02x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: pan = %02x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].pan);
}
break;
@@ -300,7 +303,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
case 0x0d: // [osc] Volume Enveloppe Control
if(msb) {
chip->voice[chip->osc].vctl = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: vctl = %02x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: vctl = %02x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].vctl);
}
break;
@@ -308,7 +311,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
case 0x10: // [osc] Oscillator Control
if(msb) {
chip->voice[chip->osc].ctl = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: ctl = %02x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: ctl = %02x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].ctl);
if(data == 0)
keyon(chip, chip->osc);
@@ -318,7 +321,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
case 0x11: // [osc] Wavesample static address 27-20
if(msb) {
chip->voice[chip->osc].saddr = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: saddr = %02x\n", cpuexec_describe_context(Machine), chip->osc,
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: saddr = %02x\n", cpuexec_describe_context(machine), chip->osc,
chip->voice[chip->osc].saddr);
}
break;
@@ -326,7 +329,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
case 0x40: // Timer 1 Preset
if(!msb) {
chip->timer[0].preset = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: t1preset = %d\n", cpuexec_describe_context(Machine), chip->timer[0].preset);
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: t1preset = %d\n", cpuexec_describe_context(machine), chip->timer[0].preset);
recalc_timer(chip, 0);
}
break;
@@ -334,7 +337,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
case 0x41: // Timer 2 Preset
if(!msb) {
chip->timer[1].preset = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: t2preset = %d\n", cpuexec_describe_context(Machine), chip->timer[1].preset);
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: t2preset = %d\n", cpuexec_describe_context(machine), chip->timer[1].preset);
recalc_timer(chip, 1);
}
break;
@@ -342,7 +345,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
case 0x42: // Timer 1 Prescaler
if(!msb) {
chip->timer[0].scale = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: t1scale = %d\n", cpuexec_describe_context(Machine), chip->timer[0].scale);
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: t1scale = %d\n", cpuexec_describe_context(machine), chip->timer[0].scale);
recalc_timer(chip, 0);
}
break;
@@ -350,7 +353,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
case 0x43: // Timer 2 Prescaler
if(!msb) {
chip->timer[1].scale = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: t2scale = %d\n", cpuexec_describe_context(Machine), chip->timer[1].scale);
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: t2scale = %d\n", cpuexec_describe_context(machine), chip->timer[1].scale);
recalc_timer(chip, 1);
}
break;
@@ -358,7 +361,7 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
case 0x4a: // IRQ Enable
if(!msb) {
chip->irq_en = data;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: irq_en = %02x\n", cpuexec_describe_context(Machine), chip->irq_en);
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: irq_en = %02x\n", cpuexec_describe_context(machine), chip->irq_en);
recalc_irq(chip);
}
break;
@@ -366,20 +369,22 @@ static void ics2115_reg_w(struct ics2115 *chip, UINT8 reg, UINT8 data, int msb)
case 0x4f: // Oscillator Address being Programmed
if(!msb) {
chip->osc = data & 31;
- if (ICS2115LOGERROR) logerror("%s:ICS2115: oscnumber = %d\n", cpuexec_describe_context(Machine), chip->osc);
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: oscnumber = %d\n", cpuexec_describe_context(machine), chip->osc);
}
break;
default:
- if (ICS2115LOGERROR) logerror("%s:ICS2115: write %02x, %02x:%d\n", cpuexec_describe_context(Machine), reg, data, msb);
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: write %02x, %02x:%d\n", cpuexec_describe_context(machine), reg, data, msb);
}
}
static UINT16 ics2115_reg_r(struct ics2115 *chip, UINT8 reg)
{
+ running_machine *machine = chip->device->machine;
+
switch(reg) {
case 0x0d: // [osc] Volume Enveloppe Control
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: read vctl\n", cpuexec_describe_context(Machine), chip->osc);
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: read vctl\n", cpuexec_describe_context(machine), chip->osc);
// res = chip->voice[chip->osc].vctl << 8;
// may expect |8 on voice irq with &40 == 0
// may expect |8 on reg 0 on voice irq with &80 == 0
@@ -396,40 +401,40 @@ static UINT16 ics2115_reg_r(struct ics2115 *chip, UINT8 reg)
res = 0x40 | osc; // 0x40 ? 0x80 ?
break;
}
- if (ICS2115LOGERROR) logerror("%s:ICS2115: read irqv %02x\n", cpuexec_describe_context(Machine), res);
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: read irqv %02x\n", cpuexec_describe_context(machine), res);
return res << 8;
}
case 0x40: // Timer 0 clear irq
- // if (ICS2115LOGERROR) logerror("%s:ICS2115: clear timer 0\n", cpuexec_describe_context(Machine));
+ // if (ICS2115LOGERROR) logerror("%s:ICS2115: clear timer 0\n", cpuexec_describe_context(machine));
chip->irq_pend &= ~(1<<0);
recalc_irq(chip);
return chip->timer[0].preset;
case 0x41: // Timer 1 clear irq
- if (ICS2115LOGERROR) logerror("%s:ICS2115: clear timer 1\n", cpuexec_describe_context(Machine));
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: clear timer 1\n", cpuexec_describe_context(machine));
chip->irq_pend &= ~(1<<1);
recalc_irq(chip);
return chip->timer[1].preset;
case 0x43: // Timer status
- // if (ICS2115LOGERROR) logerror("%s:ICS2115: read timer status %02x\n", cpuexec_describe_context(Machine), chip->irq_pend & 3);
+ // if (ICS2115LOGERROR) logerror("%s:ICS2115: read timer status %02x\n", cpuexec_describe_context(machine), chip->irq_pend & 3);
return chip->irq_pend & 3;
case 0x4a: // IRQ Pending
- if (ICS2115LOGERROR) logerror("%s:ICS2115: read irq_pend %02x\n", cpuexec_describe_context(Machine), chip->irq_pend);
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: read irq_pend %02x\n", cpuexec_describe_context(machine), chip->irq_pend);
return chip->irq_pend;
case 0x4b: // Address of Interrupting Oscillator
- if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: read intoscaddr\n", cpuexec_describe_context(Machine), chip->osc);
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: %2d: read intoscaddr\n", cpuexec_describe_context(machine), chip->osc);
return 0x80;
case 0x4c: // Chip revision
- if (ICS2115LOGERROR) logerror("%s:ICS2115: read revision\n", cpuexec_describe_context(Machine));
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: read revision\n", cpuexec_describe_context(machine));
return 0x01;
default:
- if (ICS2115LOGERROR) logerror("%s:ICS2115: read %02x unmapped\n", cpuexec_describe_context(Machine), reg);
+ if (ICS2115LOGERROR) logerror("%s:ICS2115: read %02x unmapped\n", cpuexec_describe_context(machine), reg);
return 0;
}
}
@@ -443,6 +448,7 @@ static SND_START( ics2115 )
chip = auto_malloc(sizeof(*chip));
memset(chip, 0, sizeof(*chip));
+ chip->device = device;
chip->intf = config;
chip->index = sndindex;
chip->rom = device->region;
@@ -483,7 +489,7 @@ READ8_HANDLER( ics2115_r )
break;
}
}
- // if (ICS2115LOGERROR) logerror("%s:ICS2115: read status %02x\n", cpuexec_describe_context(Machine), res);
+ // if (ICS2115LOGERROR) logerror("%s:ICS2115: read status %02x\n", cpuexec_describe_context(space->machine), res);
return res;
}
@@ -511,7 +517,7 @@ WRITE8_HANDLER( ics2115_w )
ics2115_reg_w(chip, chip->reg, data, 1);
break;
}
- // if (ICS2115LOGERROR) logerror("ICS2115: wi %d, %02x\n", cpuexec_describe_context(Machine), offset, data);
+ // if (ICS2115LOGERROR) logerror("ICS2115: wi %d, %02x\n", cpuexec_describe_context(space->machine), offset, data);
}
static SND_RESET( ics2115 )
diff --git a/src/emu/sound/k053260.c b/src/emu/sound/k053260.c
index e53bd2be625..a3d7c073f3f 100644
--- a/src/emu/sound/k053260.c
+++ b/src/emu/sound/k053260.c
@@ -5,7 +5,6 @@
*********************************************************/
#include "sndintrf.h"
-#include "deprecat.h"
#include "streams.h"
#include "cpuintrf.h"
#include "cpuexec.h"
@@ -39,6 +38,7 @@ struct k053260_chip_def {
unsigned long *delta_table;
struct k053260_channel_def channels[4];
const k053260_interface *intf;
+ const device_config *device;
};
@@ -210,6 +210,7 @@ static SND_START( k053260 )
memset(ic, 0, sizeof(*ic));
/* Initialize our chip structure */
+ ic->device = device;
ic->intf = (config != NULL) ? config : &defintrf;
ic->mode = 0;
@@ -260,7 +261,7 @@ INLINE void check_bounds( struct k053260_chip_def *ic, int channel ) {
if (LOG) logerror("K053260: Sample Start = %06x, Sample End = %06x, Sample rate = %04lx, PPCM = %s\n", channel_start, channel_end, ic->channels[channel].rate, ic->channels[channel].ppcm ? "yes" : "no" );
}
-static void k053260_write( int chip, offs_t offset, UINT8 data )
+static void k053260_write( const address_space *space, offs_t offset, UINT8 data, int chip )
{
int i, t;
int r = offset;
@@ -377,7 +378,7 @@ static void k053260_write( int chip, offs_t offset, UINT8 data )
}
}
-static UINT8 k053260_read( int chip, offs_t offset )
+static UINT8 k053260_read( const address_space *space, offs_t offset, int chip )
{
struct k053260_chip_def *ic = sndti_token(SOUND_K053260, chip);
@@ -400,7 +401,7 @@ static UINT8 k053260_read( int chip, offs_t offset )
ic->channels[0].pos += ( 1 << 16 );
if ( offs > ic->rom_size ) {
- logerror("%s: K53260: Attempting to read past rom size in rom Read Mode (offs = %06x, size = %06x).\n", cpuexec_describe_context(Machine),offs,ic->rom_size );
+ logerror("%s: K53260: Attempting to read past rom size in rom Read Mode (offs = %06x, size = %06x).\n", cpuexec_describe_context(space->machine),offs,ic->rom_size );
return 0;
}
@@ -418,22 +419,22 @@ static UINT8 k053260_read( int chip, offs_t offset )
READ8_HANDLER( k053260_0_r )
{
- return k053260_read( 0, offset );
+ return k053260_read( space, offset, 0 );
}
WRITE8_HANDLER( k053260_0_w )
{
- k053260_write( 0, offset, data );
+ k053260_write( space, offset, data, 0 );
}
READ8_HANDLER( k053260_1_r )
{
- return k053260_read( 1, offset );
+ return k053260_read( space, offset, 1 );
}
WRITE8_HANDLER( k053260_1_w )
{
- k053260_write( 1, offset, data );
+ k053260_write( space, offset, data, 1 );
}
WRITE16_HANDLER( k053260_0_lsb_w )
diff --git a/src/emu/sound/msm5205.c b/src/emu/sound/msm5205.c
index a5c25913a5b..e7da4462402 100644
--- a/src/emu/sound/msm5205.c
+++ b/src/emu/sound/msm5205.c
@@ -16,7 +16,6 @@
#include "sndintrf.h"
#include "streams.h"
-#include "deprecat.h"
#include "msm5205.h"
/*
@@ -225,7 +224,7 @@ void msm5205_vclk_w (int num, int vclk)
if( voice->vclk != vclk)
{
voice->vclk = vclk;
- if( !vclk ) MSM5205_vclk_callback(Machine, voice, 0);
+ if( !vclk ) MSM5205_vclk_callback(voice->device->machine, voice, 0);
}
}
}
diff --git a/src/emu/sound/saa1099.c b/src/emu/sound/saa1099.c
index 62f5b5533fd..fa91d00b132 100644
--- a/src/emu/sound/saa1099.c
+++ b/src/emu/sound/saa1099.c
@@ -68,7 +68,6 @@
#include "cpuintrf.h"
#include "cpuexec.h"
#include "saa1099.h"
-#include "deprecat.h"
#include <math.h>
@@ -103,6 +102,7 @@ struct saa1099_noise
/* this structure defines a SAA1099 chip */
struct SAA1099
{
+ const device_config *device;
sound_stream * stream; /* our stream */
int noise_params[2]; /* noise generators parameters */
int env_enable[2]; /* envelope generators enable */
@@ -110,7 +110,7 @@ struct SAA1099
int env_mode[2]; /* envelope generators mode */
int env_bits[2]; /* non zero = 3 bits resolution */
int env_clock[2]; /* envelope clock mode (non-zero external) */
- int env_step[2]; /* current envelope step */
+ int env_step[2]; /* current envelope step */
int all_ch_enable; /* all channels enable */
int sync_state; /* sync all channels */
int selected_reg; /* selected register */
@@ -320,6 +320,7 @@ static SND_START( saa1099 )
memset(saa, 0, sizeof(*saa));
/* copy global parameters */
+ saa->device = device;
saa->sample_rate = clock / 256;
/* for each chip allocate one stream */
@@ -332,13 +333,13 @@ static void saa1099_control_port_w( int chip, int reg, int data )
{
struct SAA1099 *saa = sndti_token(SOUND_SAA1099, chip);
- if ((data & 0xff) > 0x1c)
+ if ((data & 0xff) > 0x1c)
{
/* Error! */
- logerror("%s: (SAA1099 #%d) Unknown register selected\n",cpuexec_describe_context(Machine), chip);
+ logerror("%s: (SAA1099 #%d) Unknown register selected\n",cpuexec_describe_context(saa->device->machine), chip);
}
- saa->selected_reg = data & 0x1f;
+ saa->selected_reg = data & 0x1f;
if (saa->selected_reg == 0x18 || saa->selected_reg == 0x19)
{
/* clock the envelope channels */
@@ -421,7 +422,7 @@ static void saa1099_write_port_w( int chip, int offset, int data )
int i;
/* Synch & Reset generators */
- logerror("%s: (SAA1099 #%d) -reg 0x1c- Chip reset\n",cpuexec_describe_context(Machine), chip);
+ logerror("%s: (SAA1099 #%d) -reg 0x1c- Chip reset\n",cpuexec_describe_context(saa->device->machine), chip);
for (i = 0; i < 6; i++)
{
saa->channels[i].level = 0;
@@ -430,7 +431,7 @@ static void saa1099_write_port_w( int chip, int offset, int data )
}
break;
default: /* Error! */
- logerror("%s: (SAA1099 #%d) Unknown operation (reg:%02x, data:%02x)\n",cpuexec_describe_context(Machine), chip, reg, data);
+ logerror("%s: (SAA1099 #%d) Unknown operation (reg:%02x, data:%02x)\n",cpuexec_describe_context(saa->device->machine), chip, reg, data);
}
}
diff --git a/src/emu/sound/samples.c b/src/emu/sound/samples.c
index b45190a767b..ca497e6bfb8 100644
--- a/src/emu/sound/samples.c
+++ b/src/emu/sound/samples.c
@@ -1,6 +1,5 @@
#include "driver.h"
#include "streams.h"
-#include "deprecat.h"
#include "samples.h"
@@ -20,6 +19,7 @@ struct sample_channel
struct samples_info
{
+ const device_config *device;
int numchannels; /* how many channels */
struct sample_channel *channel;/* array of channels */
struct loaded_samples *samples;/* array of samples */
@@ -261,7 +261,7 @@ void sample_start_n(int num,int channel,int samplenum,int loop)
chan->pos = 0;
chan->frac = 0;
chan->basefreq = sample->frequency;
- chan->step = ((INT64)chan->basefreq << FRAC_BITS) / Machine->sample_rate;
+ chan->step = ((INT64)chan->basefreq << FRAC_BITS) / info->device->machine->sample_rate;
chan->loop = loop;
}
@@ -290,7 +290,7 @@ void sample_start_raw_n(int num,int channel,const INT16 *sampledata,int samples,
chan->pos = 0;
chan->frac = 0;
chan->basefreq = frequency;
- chan->step = ((INT64)chan->basefreq << FRAC_BITS) / Machine->sample_rate;
+ chan->step = ((INT64)chan->basefreq << FRAC_BITS) / info->device->machine->sample_rate;
chan->loop = loop;
}
@@ -312,7 +312,7 @@ void sample_set_freq_n(int num,int channel,int freq)
/* force an update before we start */
stream_update(chan->stream);
- chan->step = ((INT64)freq << FRAC_BITS) / Machine->sample_rate;
+ chan->step = ((INT64)freq << FRAC_BITS) / info->device->machine->sample_rate;
}
void sample_set_freq(int channel,int freq)
@@ -537,6 +537,7 @@ static SND_START( samples )
info = auto_malloc(sizeof(*info));
memset(info, 0, sizeof(*info));
+ info->device = device;
sndintrf_register_token(info);
/* read audio samples */
diff --git a/src/emu/sound/scsp.c b/src/emu/sound/scsp.c
index d301bfb6090..39fb10900f1 100644
--- a/src/emu/sound/scsp.c
+++ b/src/emu/sound/scsp.c
@@ -29,7 +29,6 @@
#include "streams.h"
#include "cpuintrf.h"
#include "cpuexec.h"
-#include "deprecat.h"
#include "scsp.h"
#include "scspdsp.h"
@@ -225,6 +224,8 @@ struct _SCSP
int ARTABLE[64], DRTABLE[64];
struct _SCSPDSP DSP;
+
+ const device_config *device;
};
static void dma_scsp(const address_space *space, struct _SCSP *SCSP); /*SCSP DMA transfer function*/
@@ -260,7 +261,7 @@ static void CheckPendingIRQ(struct _SCSP *SCSP)
{
UINT32 pend=SCSP->udata.data[0x20/2];
UINT32 en=SCSP->udata.data[0x1e/2];
- running_machine *machine = Machine;
+ running_machine *machine = SCSP->device->machine;
if(SCSP->MidiW!=SCSP->MidiR)
{
@@ -301,7 +302,7 @@ static void CheckPendingIRQ(struct _SCSP *SCSP)
static void ResetInterrupts(struct _SCSP *SCSP)
{
UINT32 reset = SCSP->udata.data[0x22/2];
- running_machine *machine = Machine;
+ running_machine *machine = SCSP->device->machine;
if (reset & 0x40)
{
@@ -512,6 +513,7 @@ static void SCSP_Init(const device_config *device, struct _SCSP *SCSP, const scs
{
int i;
+ SCSP->device = device;
SCSP->IrqTimA = SCSP->IrqTimBC = SCSP->IrqMidi = 0;
SCSP->MidiR=SCSP->MidiW=0;
SCSP->MidiOutR=SCSP->MidiOutW=0;
@@ -698,7 +700,7 @@ static void SCSP_UpdateSlotReg(struct _SCSP *SCSP,int s,int r)
static void SCSP_UpdateReg(struct _SCSP *SCSP, int reg)
{
/* temporary hack until this is converted to a device */
- const address_space *space = cpu_get_address_space(Machine->cpu[0], ADDRESS_SPACE_PROGRAM);
+ const address_space *space = cpu_get_address_space(SCSP->device->machine->cpu[0], ADDRESS_SPACE_PROGRAM);
switch(reg&0x3f)
{
case 0x2:
@@ -839,7 +841,7 @@ static void SCSP_UpdateRegR(struct _SCSP *SCSP, int reg)
unsigned short v=SCSP->udata.data[0x5/2];
v&=0xff00;
v|=SCSP->MidiStack[SCSP->MidiR];
- SCSP[0].Int68kCB(Machine, -SCSP->IrqMidi); // cancel the IRQ
+ SCSP[0].Int68kCB(SCSP->device->machine, -SCSP->IrqMidi); // cancel the IRQ
if(SCSP->MidiR!=SCSP->MidiW)
{
++SCSP->MidiR;
diff --git a/src/emu/sound/tms5220.c b/src/emu/sound/tms5220.c
index cd56d513138..20274fb3802 100644
--- a/src/emu/sound/tms5220.c
+++ b/src/emu/sound/tms5220.c
@@ -41,7 +41,6 @@ TI's naming has D7 as LSB and D0 as MSB and is in uppercase
***********************************************************************************************/
#include "sndintrf.h"
-#include "deprecat.h"
#include "tms5220.h"
@@ -158,7 +157,8 @@ struct tms5220
funny clipping/clamping logic, while the digital pin gives full 12? bit
resolution of the output data.
*/
- UINT8 digital_select;
+ UINT8 digital_select;
+ const device_config *device;
};
@@ -182,6 +182,7 @@ void *tms5220_create(const device_config *device)
tms = malloc_or_die(sizeof(*tms));
memset(tms, 0, sizeof(*tms));
+ tms->device = device;
state_save_register_device_item_array(device, 0, tms->fifo);
state_save_register_device_item(device, 0, tms->fifo_head);
state_save_register_device_item(device, 0, tms->fifo_tail);
@@ -256,7 +257,7 @@ void tms5220_reset_chip(void *chip)
/* initialize the chip state */
/* Note that we do not actually clear IRQ on start-up : IRQ is even raised if tms->buffer_empty or tms->buffer_low are 0 */
tms->tms5220_speaking = tms->speak_external = tms->talk_status = tms->first_frame = tms->last_frame = tms->irq_pin = 0;
- if (tms->irq_func) tms->irq_func(Machine, 0);
+ if (tms->irq_func) tms->irq_func(tms->device->machine, 0);
tms->buffer_empty = tms->buffer_low = 1;
tms->RDB_flag = FALSE;
@@ -1193,6 +1194,6 @@ static void check_buffer_low(struct tms5220 *tms)
static void set_interrupt_state(struct tms5220 *tms, int state)
{
if (tms->irq_func && state != tms->irq_pin)
- tms->irq_func(Machine, state);
+ tms->irq_func(tms->device->machine, state);
tms->irq_pin = state;
}
diff --git a/src/emu/sound/vlm5030.c b/src/emu/sound/vlm5030.c
index 30d35bb14d1..7852f52d0cd 100644
--- a/src/emu/sound/vlm5030.c
+++ b/src/emu/sound/vlm5030.c
@@ -75,7 +75,6 @@ chirp 12-..: vokume 0 : silent
*/
#include "sndintrf.h"
#include "streams.h"
-#include "deprecat.h"
#include "vlm5030.h"
/* interpolator per frame */
@@ -89,6 +88,7 @@ chirp 12-..: vokume 0 : silent
struct vlm5030_info
{
+ const device_config *device;
const vlm5030_interface *intf;
sound_stream * channel;
@@ -369,7 +369,7 @@ static void vlm5030_update_callback(void *param,stream_sample_t **inputs, stream
}
else if (chip->old_pitch <= 1)
{ /* generate unvoiced samples here */
- current_val = (mame_rand(Machine)&1) ? chip->current_energy : -chip->current_energy;
+ current_val = (mame_rand(chip->device->machine)&1) ? chip->current_energy : -chip->current_energy;
}
else
{
@@ -646,6 +646,7 @@ static SND_START( vlm5030 )
chip = auto_malloc(sizeof(*chip));
memset(chip, 0, sizeof(*chip));
+ chip->device = device;
chip->intf = (config != NULL) ? config : &defintrf;
emulation_rate = clock / 440;
diff --git a/src/emu/sound/votrax.c b/src/emu/sound/votrax.c
index 8a6312457e8..fd49704ebaf 100644
--- a/src/emu/sound/votrax.c
+++ b/src/emu/sound/votrax.c
@@ -17,12 +17,12 @@ the variable VotraxBaseFrequency, this is defaulted to 8000
#include "sndintrf.h"
#include "streams.h"
-#include "deprecat.h"
#include "samples.h"
struct votrax_info
{
+ const device_config *device;
int stream;
int frequency; /* Some games (Qbert) change this */
int volume;
@@ -107,6 +107,7 @@ static SND_START( votrax )
votrax = auto_malloc(sizeof(*votrax));
memset(votrax, 0, sizeof(*votrax));
+ votrax->device = device;
votrax->samples = readsamples(VotraxTable,"votrax");
votrax->frequency = 8000;
votrax->volume = 230;
@@ -140,7 +141,7 @@ void votrax_w(int data)
info->sample = &info->samples->sample[Phoneme];
info->pos = 0;
info->frac = 0;
- info->step = ((INT64)(info->sample->frequency + (256*Intonation)) << FRAC_BITS) / Machine->sample_rate;
+ info->step = ((INT64)(info->sample->frequency + (256*Intonation)) << FRAC_BITS) / info->device->machine->sample_rate;
stream_set_output_gain(info->channel, 0, (info->volume + (8*Intonation)*100/255) / 100.0);
}
}
diff --git a/src/emu/sound/ymf271.c b/src/emu/sound/ymf271.c
index 5a926d20480..899a0a14741 100644
--- a/src/emu/sound/ymf271.c
+++ b/src/emu/sound/ymf271.c
@@ -14,7 +14,6 @@
#include <math.h>
#include "sndintrf.h"
-#include "deprecat.h"
#include "streams.h"
#include "ymf271.h"
@@ -114,6 +113,7 @@ typedef struct
UINT32 clock;
sound_stream * stream;
+ const device_config *device;
} YMF271Chip;
// slot mapping assists
@@ -1375,7 +1375,7 @@ static TIMER_CALLBACK( ymf271_timer_b_tick )
static UINT8 ymf271_read_ext_memory(YMF271Chip *chip, UINT32 address)
{
/* temporary hack until this is converted to a device */
- const address_space *space = cpu_get_address_space(Machine->cpu[0], ADDRESS_SPACE_PROGRAM);
+ const address_space *space = cpu_get_address_space(chip->device->machine->cpu[0], ADDRESS_SPACE_PROGRAM);
if( chip->ext_mem_read ) {
return chip->ext_mem_read(space,address);
} else {
@@ -1388,7 +1388,7 @@ static UINT8 ymf271_read_ext_memory(YMF271Chip *chip, UINT32 address)
static void ymf271_write_ext_memory(YMF271Chip *chip, UINT32 address, UINT8 data)
{
/* temporary hack until this is converted to a device */
- const address_space *space = cpu_get_address_space(Machine->cpu[0], ADDRESS_SPACE_PROGRAM);
+ const address_space *space = cpu_get_address_space(chip->device->machine->cpu[0], ADDRESS_SPACE_PROGRAM);
if( chip->ext_mem_write ) {
chip->ext_mem_write(space, address, data);
}
@@ -1399,7 +1399,7 @@ static void ymf271_write_timer(YMF271Chip *chip, int data)
int slotnum;
YMF271Group *group;
attotime period;
- running_machine *machine = Machine;
+ running_machine *machine = chip->device->machine;
slotnum = fm_tab[chip->timerreg & 0xf];
group = &chip->groups[slotnum];
@@ -1751,6 +1751,7 @@ static SND_START( ymf271 )
chip = auto_malloc(sizeof(*chip));
memset(chip, 0, sizeof(*chip));
+ chip->device = device;
chip->clock = clock;
intf = (config != NULL) ? config : &defintrf;
diff --git a/src/emu/sound/ymz280b.c b/src/emu/sound/ymz280b.c
index 19ce83ae373..53ae851c49d 100644
--- a/src/emu/sound/ymz280b.c
+++ b/src/emu/sound/ymz280b.c
@@ -24,7 +24,6 @@
#include <math.h>
#include "sndintrf.h"
-#include "deprecat.h"
#include "streams.h"
#include "ymz280b.h"
@@ -100,6 +99,7 @@ struct YMZ280BChip
#endif
INT16 *scratch;
+ const device_config *device;
};
/* step size index shift table */
@@ -145,14 +145,14 @@ INLINE void update_irq_state(struct YMZ280BChip *chip)
{
chip->irq_state = 1;
if (chip->irq_callback)
- (*chip->irq_callback)(Machine, 1);
+ (*chip->irq_callback)(chip->device->machine, 1);
else logerror("YMZ280B: IRQ generated, but no callback specified!");
}
else if (!irq_bits && chip->irq_state)
{
chip->irq_state = 0;
if (chip->irq_callback)
- (*chip->irq_callback)(Machine, 0);
+ (*chip->irq_callback)(chip->device->machine, 0);
else logerror("YMZ280B: IRQ generated, but no callback specified!");
}
}
@@ -576,7 +576,7 @@ static void ymz280b_update(void *param, stream_sample_t **inputs, stream_sample_
voice->playing = 0;
/* set update_irq_state_timer. IRQ is signaled on next CPU execution. */
- timer_set(Machine, attotime_zero, chip, 0, update_irq_state_cb[v]);
+ timer_set(chip->device->machine, attotime_zero, chip, 0, update_irq_state_cb[v]);
voice->irq_schedule = 1;
}
}
@@ -636,6 +636,7 @@ static SND_START( ymz280b )
chip = auto_malloc(sizeof(*chip));
memset(chip, 0, sizeof(*chip));
+ chip->device = device;
chip->ext_ram_read = intf->ext_read;
chip->ext_ram_write = intf->ext_write;
@@ -868,7 +869,7 @@ static void write_to_register(struct YMZ280BChip *chip, int data)
if (chip->ext_ram_write)
{
/* temporary hack until this is converted to a device */
- const address_space *space = cpu_get_address_space(Machine->cpu[0], ADDRESS_SPACE_PROGRAM);
+ const address_space *space = cpu_get_address_space(chip->device->machine->cpu[0], ADDRESS_SPACE_PROGRAM);
chip->ext_ram_write(space, chip->rom_readback_addr, data);
}
else
diff --git a/src/mame/audio/dcs.c b/src/mame/audio/dcs.c
index eac01fed9dc..eb0b1c99ee3 100644
--- a/src/mame/audio/dcs.c
+++ b/src/mame/audio/dcs.c
@@ -2018,7 +2018,7 @@ static void sound_tx_callback(const device_config *device, int port, INT32 data)
dcs.ireg_base = source;
/* recompute the sample rate and timer */
- recompute_sample_rate(Machine);
+ recompute_sample_rate(device->machine);
return;
}
else
diff --git a/src/mame/drivers/megadriv.c b/src/mame/drivers/megadriv.c
index 37453cf891a..d9081c5aed5 100644
--- a/src/mame/drivers/megadriv.c
+++ b/src/mame/drivers/megadriv.c
@@ -2105,7 +2105,7 @@ static void megadrive_io_write_data_port_6button(running_machine *machine, int p
if (((megadrive_io_data_regs[portnum]&0x40)==0x00) && ((data&0x40) == 0x40))
{
io_stage[portnum]++;
- timer_adjust_oneshot(io_timeout[portnum], cpu_clocks_to_attotime(Machine->cpu[0],8192), 0);
+ timer_adjust_oneshot(io_timeout[portnum], cpu_clocks_to_attotime(machine->cpu[0],8192), 0);
}
}
@@ -3916,7 +3916,7 @@ static UINT16 vdp_get_word_from_68k_mem_svp(UINT32 source)
/* emulate testmode plug */
static UINT8 megadrive_io_read_data_port_svp(running_machine *machine, int portnum)
{
- if (portnum == 0 && input_port_read_safe(Machine, "MEMORY_TEST", 0x00))
+ if (portnum == 0 && input_port_read_safe(machine, "MEMORY_TEST", 0x00))
{
return (megadrive_io_data_regs[0] & 0xc0);
}
diff --git a/src/mame/drivers/viper.c b/src/mame/drivers/viper.c
index 93c6ddd1358..833dfb41c30 100644
--- a/src/mame/drivers/viper.c
+++ b/src/mame/drivers/viper.c
@@ -28,7 +28,6 @@
*/
#include "driver.h"
-#include "deprecat.h"
#include "cpu/powerpc/ppc.h"
#include "machine/pci.h"
#include "memconv.h"
diff --git a/src/mame/machine/n64.c b/src/mame/machine/n64.c
index e40e0a5b868..502ea2d6887 100644
--- a/src/mame/machine/n64.c
+++ b/src/mame/machine/n64.c
@@ -1,7 +1,6 @@
/* machine/n64.c - contains N64 hardware emulation shared between MAME and MESS */
#include "driver.h"
-#include "deprecat.h"
#include "cpu/mips/mips3.h"
#include "sound/custom.h"
#include "streams.h"
@@ -209,7 +208,7 @@ static void sp_set_status(const device_config *device, UINT32 status)
{
if (status & 0x1)
{
- //cpuexec_trigger(Machine, 6789);
+ //cpuexec_trigger(device->machine, 6789);
cpu_set_input_line(device, INPUT_LINE_HALT, ASSERT_LINE);
cpu_set_reg(device, RSP_SR, cpu_get_reg(device, RSP_SR) | RSP_STATUS_HALT);