summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-11-23 03:16:04 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-11-23 03:16:04 +0000
commit61347380f2aedd41852174cd383c7d10413982a7 (patch)
tree32ce0dc65f136202bd3dceb628b16f1dc2622cf8 /src
parent987696750afa8749fcb1adc8b4e3a38fc8c7feb0 (diff)
Began removal of program_* calls from drivers.
Diffstat (limited to 'src')
-rw-r--r--src/emu/sound/nes_apu.c9
-rw-r--r--src/emu/sound/nes_defs.h2
-rw-r--r--src/emu/sound/vrender0.c4
-rw-r--r--src/mame/drivers/cham24.c2
-rw-r--r--src/mame/drivers/crystal.c3
-rw-r--r--src/mame/drivers/model3.c11
-rw-r--r--src/mame/drivers/multigam.c2
-rw-r--r--src/mame/drivers/playch10.c2
-rw-r--r--src/mame/drivers/vsnes.c4
-rw-r--r--src/mame/includes/model3.h10
-rw-r--r--src/mame/video/dc.c25
-rw-r--r--src/mame/video/genesis.c22
-rw-r--r--src/mame/video/model3.c34
-rw-r--r--src/mame/video/ppu2c0x.c4
-rw-r--r--src/mame/video/ppu2c0x.h2
-rw-r--r--src/mame/video/vrender0.c4
-rw-r--r--src/mame/video/vrender0.h2
-rw-r--r--src/mame/video/williams.c22
-rw-r--r--src/mame/video/zaxxon.c10
19 files changed, 89 insertions, 85 deletions
diff --git a/src/emu/sound/nes_apu.c b/src/emu/sound/nes_apu.c
index 27faf585219..852b553f957 100644
--- a/src/emu/sound/nes_apu.c
+++ b/src/emu/sound/nes_apu.c
@@ -45,6 +45,7 @@
*****************************************************************************/
#include "sndintrf.h"
+#include "cpuexec.h"
#include "streams.h"
#include "deprecat.h"
#include "nes_apu.h"
@@ -366,7 +367,7 @@ static int8 apu_dpcm(struct nesapu_info *info, dpcm_t *chan)
if (chan->regs[0] & 0x80) /* IRQ Generator */
{
chan->irq_occurred = TRUE;
- n2a03_irq(Machine->cpu[info->APU.dpcm.cpu_num]);
+ n2a03_irq(info->APU.dpcm.memory->cpu);
}
break;
}
@@ -377,7 +378,7 @@ static int8 apu_dpcm(struct nesapu_info *info, dpcm_t *chan)
bit_pos = 7 - (chan->bits_left & 7);
if (7 == bit_pos)
{
- chan->cur_byte = program_read_byte(chan->address);
+ chan->cur_byte = memory_read_byte(info->APU.dpcm.memory, chan->address);
chan->address++;
chan->length--;
}
@@ -601,7 +602,7 @@ INLINE void apu_update(struct nesapu_info *info, stream_sample_t *buffer16, int
{
int accum;
- cpu_push_context( Machine->cpu[info->APU.dpcm.cpu_num ]);
+ cpu_push_context( info->APU.dpcm.memory->cpu );
while (samples--)
{
accum = apu_square(info, &info->APU.squ[0]);
@@ -694,7 +695,7 @@ static SND_START( nesapu )
info->buffer_size+=info->samps_per_sync;
/* Initialize individual chips */
- (info->APU.dpcm).cpu_num= mame_find_cpu_index(Machine, intf->cpu_tag);
+ (info->APU.dpcm).memory = cputag_get_address_space(Machine, intf->cpu_tag, ADDRESS_SPACE_PROGRAM);
info->stream = stream_create(0, 1, rate, info, nes_psg_update_sound);
diff --git a/src/emu/sound/nes_defs.h b/src/emu/sound/nes_defs.h
index e8de4eb4537..af708394558 100644
--- a/src/emu/sound/nes_defs.h
+++ b/src/emu/sound/nes_defs.h
@@ -137,7 +137,7 @@ typedef struct dpcm_s
uint8 cur_byte;
boolean enabled;
boolean irq_occurred;
- int cpu_num;
+ const address_space *memory;
signed char vol;
} dpcm_t;
diff --git a/src/emu/sound/vrender0.c b/src/emu/sound/vrender0.c
index 1bb267e53af..4e77dd33908 100644
--- a/src/emu/sound/vrender0.c
+++ b/src/emu/sound/vrender0.c
@@ -78,8 +78,8 @@ static const unsigned short ULawTo16[]=
#define ENVVOL(chan) (VR0->SOUNDREGS[(0x20/4)*chan+0x04/4]&0xffffff)
/*
-#define GETSOUNDREG16(Chan,Offs) program_read_word_32le(VR0->Intf.reg_base+0x20*Chan+Offs)
-#define GETSOUNDREG32(Chan,Offs) program_read_dword_32le(VR0->Intf.reg_base+0x20*Chan+Offs)
+#define GETSOUNDREG16(Chan,Offs) memory_read_word_32le(space,VR0->Intf.reg_base+0x20*Chan+Offs)
+#define GETSOUNDREG32(Chan,Offs) memory_read_dword_32le(space,VR0->Intf.reg_base+0x20*Chan+Offs)
#define CURSADDR(chan) GETSOUNDREG32(chan,0x00)
#define DSADDR(chan) GETSOUNDREG16(chan,0x08)
diff --git a/src/mame/drivers/cham24.c b/src/mame/drivers/cham24.c
index adc2a738305..03580e5d0b5 100644
--- a/src/mame/drivers/cham24.c
+++ b/src/mame/drivers/cham24.c
@@ -63,7 +63,7 @@ Notes:
static WRITE8_HANDLER( sprite_dma_w )
{
int source = ( data & 7 );
- ppu2c0x_spriteram_dma( 0, source );
+ ppu2c0x_spriteram_dma( space, 0, source );
}
static READ8_HANDLER( psg_4015_r )
diff --git a/src/mame/drivers/crystal.c b/src/mame/drivers/crystal.c
index 3a8d336426a..5610b37dad9 100644
--- a/src/mame/drivers/crystal.c
+++ b/src/mame/drivers/crystal.c
@@ -554,6 +554,7 @@ static void SetVidReg(UINT16 reg,UINT16 val)
static VIDEO_UPDATE(crystal)
{
+ const address_space *space = cpu_get_address_space(screen->machine->cpu[0], ADDRESS_SPACE_PROGRAM);
int DoFlip;
@@ -595,7 +596,7 @@ static VIDEO_UPDATE(crystal)
tail=GetVidReg(0x80);
while((head&0x7ff)!=(tail&0x7ff))
{
- DoFlip=vrender0_ProcessPacket(0x03800000+head*64,DrawDest,(UINT8*)textureram);
+ DoFlip=vrender0_ProcessPacket(space,0x03800000+head*64,DrawDest,(UINT8*)textureram);
head++;
head&=0x7ff;
if(DoFlip)
diff --git a/src/mame/drivers/model3.c b/src/mame/drivers/model3.c
index 0f4a9e2b0fa..8eff47ea7c9 100644
--- a/src/mame/drivers/model3.c
+++ b/src/mame/drivers/model3.c
@@ -872,25 +872,26 @@ static WRITE64_HANDLER( real3d_dma_w )
static void real3d_dma_callback(UINT32 src, UINT32 dst, int length, int byteswap)
{
+ const address_space *space = cpu_get_address_space(Machine->activecpu, ADDRESS_SPACE_PROGRAM);
switch(dst >> 24)
{
case 0x88: /* Display List End Trigger */
real3d_display_list_end();
break;
case 0x8c: /* Display List RAM 2 */
- real3d_display_list2_dma(src, dst, length, byteswap);
+ real3d_display_list2_dma(space, src, dst, length, byteswap);
break;
case 0x8e: /* Display List RAM 1 */
- real3d_display_list1_dma(src, dst, length, byteswap);
+ real3d_display_list1_dma(space, src, dst, length, byteswap);
break;
case 0x90: /* VROM Texture Download */
- real3d_vrom_texture_dma(src, dst, length, byteswap);
+ real3d_vrom_texture_dma(space, src, dst, length, byteswap);
break;
case 0x94: /* Texture FIFO */
- real3d_texture_fifo_dma(src, length, byteswap);
+ real3d_texture_fifo_dma(space, src, length, byteswap);
break;
case 0x98: /* Polygon RAM */
- real3d_polygon_ram_dma(src, dst, length, byteswap);
+ real3d_polygon_ram_dma(space, src, dst, length, byteswap);
break;
case 0x9c: /* Unknown */
break;
diff --git a/src/mame/drivers/multigam.c b/src/mame/drivers/multigam.c
index 5262b69793c..132e6bfac2e 100644
--- a/src/mame/drivers/multigam.c
+++ b/src/mame/drivers/multigam.c
@@ -54,7 +54,7 @@
static WRITE8_HANDLER( sprite_dma_w )
{
int source = ( data & 7 );
- ppu2c0x_spriteram_dma( 0, source );
+ ppu2c0x_spriteram_dma( space, 0, source );
}
static READ8_HANDLER( psg_4015_r )
diff --git a/src/mame/drivers/playch10.c b/src/mame/drivers/playch10.c
index 00994e2592d..6f0b042d9bb 100644
--- a/src/mame/drivers/playch10.c
+++ b/src/mame/drivers/playch10.c
@@ -332,7 +332,7 @@ static WRITE8_HANDLER( ram_8w_w )
static WRITE8_HANDLER( sprite_dma_w )
{
int source = ( data & 7 );
- ppu2c0x_spriteram_dma( 0, source );
+ ppu2c0x_spriteram_dma( space, 0, source );
}
static NVRAM_HANDLER( playch10 )
diff --git a/src/mame/drivers/vsnes.c b/src/mame/drivers/vsnes.c
index 9280d409680..6b870d43430 100644
--- a/src/mame/drivers/vsnes.c
+++ b/src/mame/drivers/vsnes.c
@@ -151,13 +151,13 @@ static int coin;
static WRITE8_HANDLER( sprite_dma_0_w )
{
int source = ( data & 7 );
- ppu2c0x_spriteram_dma( 0, source );
+ ppu2c0x_spriteram_dma( space, 0, source );
}
static WRITE8_HANDLER( sprite_dma_1_w )
{
int source = ( data & 7 );
- ppu2c0x_spriteram_dma( 1, source );
+ ppu2c0x_spriteram_dma( space, 1, source );
}
static WRITE8_HANDLER( vsnes_coin_counter_w )
diff --git a/src/mame/includes/model3.h b/src/mame/includes/model3.h
index e255aecb3e4..3b7f15f66ba 100644
--- a/src/mame/includes/model3.h
+++ b/src/mame/includes/model3.h
@@ -36,8 +36,8 @@ WRITE64_HANDLER(real3d_cmd_w);
WRITE64_HANDLER(real3d_display_list_w);
WRITE64_HANDLER(real3d_polygon_ram_w);
void real3d_display_list_end(void);
-void real3d_display_list1_dma(UINT32 src, UINT32 dst, int length, int byteswap);
-void real3d_display_list2_dma(UINT32 src, UINT32 dst, int length, int byteswap);
-void real3d_vrom_texture_dma(UINT32 src, UINT32 dst, int length, int byteswap);
-void real3d_texture_fifo_dma(UINT32 src, int length, int byteswap);
-void real3d_polygon_ram_dma(UINT32 src, UINT32 dst, int length, int byteswap);
+void real3d_display_list1_dma(const address_space *space, UINT32 src, UINT32 dst, int length, int byteswap);
+void real3d_display_list2_dma(const address_space *space, UINT32 src, UINT32 dst, int length, int byteswap);
+void real3d_vrom_texture_dma(const address_space *space, UINT32 src, UINT32 dst, int length, int byteswap);
+void real3d_texture_fifo_dma(const address_space *space, UINT32 src, int length, int byteswap);
+void real3d_polygon_ram_dma(const address_space *space, UINT32 src, UINT32 dst, int length, int byteswap);
diff --git a/src/mame/video/dc.c b/src/mame/video/dc.c
index e966701eb49..c003a06db36 100644
--- a/src/mame/video/dc.c
+++ b/src/mame/video/dc.c
@@ -215,28 +215,28 @@ WRITE64_HANDLER( pvr_ta_w )
offsetra=pvrta_regs[REGION_BASE];
for (;;)
{
- v=program_read_dword_64le(0x05000000+offsetra);
+ v=memory_read_dword(space,0x05000000+offsetra);
mame_printf_verbose("Tile X:%d Y:%d\n ", (v >> 2) & 0x3f, (v >> 8) & 0x3f);
offsetra = offsetra+4;
- v=program_read_dword_64le(0x05000000+offsetra);
+ v=memory_read_dword(space,0x05000000+offsetra);
if (!(v & 0x80000000))
mame_printf_verbose("OLP %d ",v & 0xFFFFFC);
offsetra = offsetra+4;
- v=program_read_dword_64le(0x05000000+offsetra);
+ v=memory_read_dword(space,0x05000000+offsetra);
if (!(v & 0x80000000))
mame_printf_verbose("OMVLP %d ",v & 0xFFFFFC);
offsetra = offsetra+4;
- v=program_read_dword_64le(0x05000000+offsetra);
+ v=memory_read_dword(space,0x05000000+offsetra);
if (!(v & 0x80000000))
mame_printf_verbose("TLP %d ",v & 0xFFFFFC);
offsetra = offsetra+4;
- v=program_read_dword_64le(0x05000000+offsetra);
+ v=memory_read_dword(space,0x05000000+offsetra);
if (!(v & 0x80000000))
mame_printf_verbose("TMVLP %d ",v & 0xFFFFFC);
if (sizera == 6)
{
offsetra = offsetra+4;
- v=program_read_dword_64le(0x05000000+offsetra);
+ v=memory_read_dword(space,0x05000000+offsetra);
if (!(v & 0x80000000))
mame_printf_verbose("PTLP %d ",v & 0xFFFFFC);
}
@@ -744,8 +744,9 @@ INLINE UINT32 alpha_blend_r16_565(UINT32 d, UINT32 s, UINT8 level)
}
#endif
-static void testdrawscreen(bitmap_t *bitmap,const rectangle *cliprect)
+static void testdrawscreen(const running_machine *machine,bitmap_t *bitmap,const rectangle *cliprect)
{
+ const address_space *space = cpu_get_address_space(machine->cpu[0], ADDRESS_SPACE_PROGRAM);
int cs,x,y,dx,dy,xi,yi,a,rs,ns;
float iu,iv,u,v;
UINT32 addrp;
@@ -762,7 +763,7 @@ static void testdrawscreen(bitmap_t *bitmap,const rectangle *cliprect)
return;
rs=state_ta.renderselect;
c=pvrta_regs[ISP_BACKGND_T];
- c=program_read_dword_64le(0x05000000+((c&0xfffff8)>>1)+(3+3)*4);
+ c=memory_read_dword(space,0x05000000+((c&0xfffff8)>>1)+(3+3)*4);
fillbitmap(bitmap,c,cliprect);
#if 0
stride=pvrta_regs[FB_W_LINESTRIDE] << 3;
@@ -770,9 +771,9 @@ static void testdrawscreen(bitmap_t *bitmap,const rectangle *cliprect)
a=(c & 0xfffff8) >> 1;
cs=(c >> 24) & 7;
cs=cs+3; // cs*2+3
- c=program_read_dword_64le(0x05000000+a+3*4+(cs-1)*4);
- dx=(int)u2f(program_read_dword_64le(0x05000000+a+3*4+cs*4+0));
- dy=(int)u2f(program_read_dword_64le(0x05000000+a+3*4+2*cs*4+4));
+ c=memory_read_dword(space,0x05000000+a+3*4+(cs-1)*4);
+ dx=(int)u2f(memory_read_dword(space,0x05000000+a+3*4+cs*4+0));
+ dy=(int)u2f(memory_read_dword(space,0x05000000+a+3*4+2*cs*4+4));
for (y=0;y < dy;y++)
{
addrp=state_ta.grab[rs].fbwsof1+y*stride;
@@ -1074,7 +1075,7 @@ static int useframebuffer=1;
if (state_ta.start_render_received)
{
useframebuffer=0;
- testdrawscreen(bitmap,cliprect);
+ testdrawscreen(screen->machine,bitmap,cliprect);
if (pvrta_regs[VO_CONTROL] & (1 << 3))
fillbitmap(bitmap,pvrta_regs[VO_BORDER_COL] & 0xFFFFFF,cliprect);
state_ta.start_render_received=0;
diff --git a/src/mame/video/genesis.c b/src/mame/video/genesis.c
index 23c058db71f..f6b1f8e967d 100644
--- a/src/mame/video/genesis.c
+++ b/src/mame/video/genesis.c
@@ -51,10 +51,10 @@ static const device_config *genesis_screen;
static int vdp_data_r(running_machine *machine);
static void vdp_data_w(running_machine *machine, int data);
static int vdp_control_r(running_machine *machine);
-static void vdp_control_w(running_machine *machine, int data);
+static void vdp_control_w(const address_space *space, int data);
static void vdp_register_w(running_machine *machine, int data, int vblank);
-static void vdp_control_dma(running_machine *machine, int data);
-static void vdp_dma_68k(running_machine *machine);
+static void vdp_control_dma(const address_space *space, int data);
+static void vdp_dma_68k(const address_space *space);
static void vdp_dma_fill(int);
static void vdp_dma_copy(void);
@@ -390,7 +390,7 @@ WRITE16_HANDLER( genesis_vdp_w )
else
data |= data << 8;
}
- vdp_control_w(space->machine, data);
+ vdp_control_w(space, data);
break;
case 0x08: /* SN76489 Write */
@@ -561,14 +561,14 @@ static int vdp_control_r(running_machine *machine)
}
-static void vdp_control_w(running_machine *machine, int data)
+static void vdp_control_w(const address_space *space, int data)
{
/* case 1: we're not expecting the 2nd half of a command */
if (!vdp_cmdpart)
{
/* if 10xxxxxx xxxxxxxx this is a register setting command */
if ((data & 0xc000) == 0x8000)
- vdp_register_w(machine, data, video_screen_get_vblank(machine->primary_screen));
+ vdp_register_w(space->machine, data, video_screen_get_vblank(space->machine->primary_screen));
/* otherwise this is the First part of a mode setting command */
else
@@ -585,7 +585,7 @@ static void vdp_control_w(running_machine *machine, int data)
vdp_code = (vdp_code & 0x03) | ((data >> 2) & 0x3c);
vdp_address = (vdp_address & 0x3fff) | ((data << 14) & 0xc000);
vdp_cmdpart = 0;
- vdp_control_dma(machine, data);
+ vdp_control_dma(space, data);
}
}
@@ -700,7 +700,7 @@ static void vdp_register_w(running_machine *machine, int data, int vblank)
}
-static void vdp_control_dma(running_machine *machine, int data)
+static void vdp_control_dma(const address_space *space, int data)
{
if ((vdp_code & 0x20) && (genesis_vdp_regs[1] & 0x10))
{
@@ -708,7 +708,7 @@ static void vdp_control_dma(running_machine *machine, int data)
{
case 0x00:
case 0x40: /* 68k -> VRAM Tranfser */
- vdp_dma_68k(machine);
+ vdp_dma_68k(space);
break;
case 0x80: /* VRAM fill, can't be done here, requires data write */
@@ -732,7 +732,7 @@ static void vdp_control_dma(running_machine *machine, int data)
******************************************************************************/
-static void vdp_dma_68k(running_machine *machine)
+static void vdp_dma_68k(const address_space *space)
{
int length = genesis_vdp_regs[19] | (genesis_vdp_regs[20] << 8);
int source = (genesis_vdp_regs[21] << 1) | (genesis_vdp_regs[22] << 9) | ((genesis_vdp_regs[23] & 0x7f) << 17);
@@ -745,7 +745,7 @@ static void vdp_dma_68k(running_machine *machine)
/* handle the DMA */
for (count = 0; count < length; count++)
{
- vdp_data_w(machine, program_read_word(source));
+ vdp_data_w(space->machine, memory_read_word(space, source));
source += 2;
}
}
diff --git a/src/mame/video/model3.c b/src/mame/video/model3.c
index aa75fccf66a..3cf6508fb99 100644
--- a/src/mame/video/model3.c
+++ b/src/mame/video/model3.c
@@ -826,64 +826,64 @@ void real3d_display_list_end(void)
// real3d_display_list = 1;
}
-void real3d_display_list1_dma(UINT32 src, UINT32 dst, int length, int byteswap)
+void real3d_display_list1_dma(const address_space *space, UINT32 src, UINT32 dst, int length, int byteswap)
{
int i;
int d = (dst & 0xffffff) / 4;
for(i=0; i < length; i+=4) {
UINT32 w;
if (byteswap) {
- w = BYTE_REVERSE32(program_read_dword_64le(src^4));
+ w = BYTE_REVERSE32(memory_read_dword(space, src^4));
} else {
- w = program_read_dword_64le(src^4);
+ w = memory_read_dword(space, src^4);
}
display_list_ram[d++] = w;
src += 4;
}
}
-void real3d_display_list2_dma(UINT32 src, UINT32 dst, int length, int byteswap)
+void real3d_display_list2_dma(const address_space *space, UINT32 src, UINT32 dst, int length, int byteswap)
{
int i;
int d = (dst & 0xffffff) / 4;
for(i=0; i < length; i+=4) {
UINT32 w;
if (byteswap) {
- w = BYTE_REVERSE32(program_read_dword_64le(src^4));
+ w = BYTE_REVERSE32(memory_read_dword(space, src^4));
} else {
- w = program_read_dword_64le(src^4);
+ w = memory_read_dword(space, src^4);
}
culling_ram[d++] = w;
src += 4;
}
}
-void real3d_vrom_texture_dma(UINT32 src, UINT32 dst, int length, int byteswap)
+void real3d_vrom_texture_dma(const address_space *space, UINT32 src, UINT32 dst, int length, int byteswap)
{
if((dst & 0xff) == 0) {
UINT32 address, header;
if (byteswap) {
- address = BYTE_REVERSE32(program_read_dword_64le((src+0)^4));
- header = BYTE_REVERSE32(program_read_dword_64le((src+4)^4));
+ address = BYTE_REVERSE32(memory_read_dword(space, (src+0)^4));
+ header = BYTE_REVERSE32(memory_read_dword(space, (src+4)^4));
} else {
- address = program_read_dword_64le((src+0)^4);
- header = program_read_dword_64le((src+4)^4);
+ address = memory_read_dword(space, (src+0)^4);
+ header = memory_read_dword(space, (src+4)^4);
}
real3d_upload_texture(header, (UINT32*)&model3_vrom[address]);
}
}
-void real3d_texture_fifo_dma(UINT32 src, int length, int byteswap)
+void real3d_texture_fifo_dma(const address_space *space, UINT32 src, int length, int byteswap)
{
int i;
for(i=0; i < length; i+=4) {
UINT32 w;
if (byteswap) {
- w = BYTE_REVERSE32(program_read_dword_64le(src^4));
+ w = BYTE_REVERSE32(memory_read_dword(space, src^4));
} else {
- w = program_read_dword_64le(src^4);
+ w = memory_read_dword(space, src^4);
}
texture_fifo[texture_fifo_pos] = w;
texture_fifo_pos++;
@@ -891,16 +891,16 @@ void real3d_texture_fifo_dma(UINT32 src, int length, int byteswap)
}
}
-void real3d_polygon_ram_dma(UINT32 src, UINT32 dst, int length, int byteswap)
+void real3d_polygon_ram_dma(const address_space *space, UINT32 src, UINT32 dst, int length, int byteswap)
{
int i;
int d = (dst & 0xffffff) / 4;
for(i=0; i < length; i+=4) {
UINT32 w;
if (byteswap) {
- w = BYTE_REVERSE32(program_read_dword_64le(src^4));
+ w = BYTE_REVERSE32(memory_read_dword(space, src^4));
} else {
- w = program_read_dword_64le(src^4);
+ w = memory_read_dword(space, src^4);
}
polygon_ram[d++] = w;
src += 4;
diff --git a/src/mame/video/ppu2c0x.c b/src/mame/video/ppu2c0x.c
index 2f06f7ed104..c1df7f74bc1 100644
--- a/src/mame/video/ppu2c0x.c
+++ b/src/mame/video/ppu2c0x.c
@@ -1313,7 +1313,7 @@ void ppu2c0x_w( int num, offs_t offset, UINT8 data )
* Sprite DMA
*
*************************************/
-void ppu2c0x_spriteram_dma (int num, const UINT8 page)
+void ppu2c0x_spriteram_dma (const address_space *space, int num, const UINT8 page)
{
int i;
int address = page << 8;
@@ -1328,7 +1328,7 @@ void ppu2c0x_spriteram_dma (int num, const UINT8 page)
//logerror(" sprite DMA: %d (scanline: %d)\n", page, chips[num].scanline);
for (i = 0; i < SPRITERAM_SIZE; i++)
{
- UINT8 spriteData = program_read_byte(address + i);
+ UINT8 spriteData = memory_read_byte(space, address + i);
ppu2c0x_w (num, PPU_SPRITE_DATA, spriteData);
}
diff --git a/src/mame/video/ppu2c0x.h b/src/mame/video/ppu2c0x.h
index 773d3849d16..1cac122c16f 100644
--- a/src/mame/video/ppu2c0x.h
+++ b/src/mame/video/ppu2c0x.h
@@ -104,7 +104,7 @@ void ppu2c0x_init(running_machine *machine, const ppu2c0x_interface *interface )
void ppu2c0x_reset( running_machine *machine, int num, int scan_scale );
void ppu2c0x_set_videorom_bank( int num, int start_page, int num_pages, int bank, int bank_size );
void ppu2c0x_set_videoram_bank( int num, int start_page, int num_pages, int bank, int bank_size );
-void ppu2c0x_spriteram_dma(int num, const UINT8 page );
+void ppu2c0x_spriteram_dma(const address_space *space, int num, const UINT8 page );
void ppu2c0x_render( int num, bitmap_t *bitmap, int flipx, int flipy, int sx, int sy );
int ppu2c0x_get_pixel( int num, int x, int y );
int ppu2c0x_get_colorbase( int num );
diff --git a/src/mame/video/vrender0.c b/src/mame/video/vrender0.c
index 2f87ec3e272..d94974b3878 100644
--- a/src/mame/video/vrender0.c
+++ b/src/mame/video/vrender0.c
@@ -362,10 +362,10 @@ static const _DrawTemplate DrawTile[]=
TILENAME(16,1,2),
};
-#define Packet(i) program_read_word_32le(PacketPtr+2*i)
+#define Packet(i) memory_read_word(space, PacketPtr+2*i)
//Returns TRUE if the operation was a flip (sync or async)
-int vrender0_ProcessPacket(UINT32 PacketPtr,UINT16 *Dest,UINT8 *TEXTURE)
+int vrender0_ProcessPacket(const address_space *space, UINT32 PacketPtr,UINT16 *Dest,UINT8 *TEXTURE)
{
UINT32 Dx=Packet(1)&0x3ff;
UINT32 Dy=Packet(2)&0x1ff;
diff --git a/src/mame/video/vrender0.h b/src/mame/video/vrender0.h
index 4165b9e3a11..811ec33ac45 100644
--- a/src/mame/video/vrender0.h
+++ b/src/mame/video/vrender0.h
@@ -1,2 +1,2 @@
-extern int vrender0_ProcessPacket(UINT32 PacketPtr,UINT16 *Dest,UINT8 *TEXTURE);
+extern int vrender0_ProcessPacket(const address_space *space, UINT32 PacketPtr,UINT16 *Dest,UINT8 *TEXTURE);
diff --git a/src/mame/video/williams.c b/src/mame/video/williams.c
index 1e47c9d62f1..5bf630afdb0 100644
--- a/src/mame/video/williams.c
+++ b/src/mame/video/williams.c
@@ -158,7 +158,7 @@ static UINT8 williams2_fg_color;
static void blitter_init(int blitter_config, const UINT8 *remap_prom);
static void create_palette_lookup(void);
static TILE_GET_INFO( get_tile_info );
-static int blitter_core(int sstart, int dstart, int w, int h, int data);
+static int blitter_core(const address_space *space, int sstart, int dstart, int w, int h, int data);
@@ -572,7 +572,7 @@ WRITE8_HANDLER( williams_blitter_w )
if (h == 255) h = 256;
/* do the actual blit */
- accesses = blitter_core(sstart, dstart, w, h, data);
+ accesses = blitter_core(space, sstart, dstart, w, h, data);
/* based on the number of memory accesses needed to do the blit, compute how long the blit will take */
/* this is just a guess */
@@ -603,10 +603,10 @@ WRITE8_HANDLER( williams2_blit_window_enable_w )
*
*************************************/
-INLINE void blit_pixel(int offset, int srcdata, int data, int mask, int solid)
+INLINE void blit_pixel(const address_space *space, int offset, int srcdata, int data, int mask, int solid)
{
/* always read from video RAM regardless of the bank setting */
- int pix = (offset < 0xc000) ? williams_videoram[offset] : program_read_byte(offset);
+ int pix = (offset < 0xc000) ? williams_videoram[offset] : memory_read_byte(space, offset);
/* handle transparency */
if (data & 0x08)
@@ -630,7 +630,7 @@ INLINE void blit_pixel(int offset, int srcdata, int data, int mask, int solid)
}
-static int blitter_core(int sstart, int dstart, int w, int h, int data)
+static int blitter_core(const address_space *space, int sstart, int dstart, int w, int h, int data)
{
int source, sxadv, syadv;
int dest, dxadv, dyadv;
@@ -666,7 +666,7 @@ static int blitter_core(int sstart, int dstart, int w, int h, int data)
/* loop over the width */
for (j = w; j > 0; j--)
{
- blit_pixel(dest, blitter_remap[program_read_byte(source)], data, keepmask, solid);
+ blit_pixel(space, dest, blitter_remap[memory_read_byte(space, source)], data, keepmask, solid);
accesses += 2;
/* advance */
@@ -700,8 +700,8 @@ static int blitter_core(int sstart, int dstart, int w, int h, int data)
dest = dstart & 0xffff;
/* left edge case */
- pixdata = blitter_remap[program_read_byte(source)];
- blit_pixel(dest, (pixdata >> 4) & 0x0f, data, keepmask | 0xf0, solid);
+ pixdata = blitter_remap[memory_read_byte(space, source)];
+ blit_pixel(space, dest, (pixdata >> 4) & 0x0f, data, keepmask | 0xf0, solid);
accesses += 2;
source = (source + sxadv) & 0xffff;
@@ -710,8 +710,8 @@ static int blitter_core(int sstart, int dstart, int w, int h, int data)
/* loop over the width */
for (j = w - 1; j > 0; j--)
{
- pixdata = (pixdata << 8) | blitter_remap[program_read_byte(source)];
- blit_pixel(dest, (pixdata >> 4) & 0xff, data, keepmask, solid);
+ pixdata = (pixdata << 8) | blitter_remap[memory_read_byte(space, source)];
+ blit_pixel(space, dest, (pixdata >> 4) & 0xff, data, keepmask, solid);
accesses += 2;
source = (source + sxadv) & 0xffff;
@@ -719,7 +719,7 @@ static int blitter_core(int sstart, int dstart, int w, int h, int data)
}
/* right edge case */
- blit_pixel(dest, (pixdata << 4) & 0xf0, data, keepmask | 0x0f, solid);
+ blit_pixel(space, dest, (pixdata << 4) & 0xf0, data, keepmask | 0x0f, solid);
accesses++;
sstart += syadv;
diff --git a/src/mame/video/zaxxon.c b/src/mame/video/zaxxon.c
index 14e8bc5e5da..a203d540eca 100644
--- a/src/mame/video/zaxxon.c
+++ b/src/mame/video/zaxxon.c
@@ -286,11 +286,11 @@ WRITE8_HANDLER( congo_sprite_custom_w )
/* this is just a guess; the chip is hardwired to the spriteram */
while (count-- >= 0)
{
- UINT8 daddr = program_read_byte(saddr + 0) * 4;
- spriteram[(daddr + 0) & 0xff] = program_read_byte(saddr + 1);
- spriteram[(daddr + 1) & 0xff] = program_read_byte(saddr + 2);
- spriteram[(daddr + 2) & 0xff] = program_read_byte(saddr + 3);
- spriteram[(daddr + 3) & 0xff] = program_read_byte(saddr + 4);
+ UINT8 daddr = memory_read_byte(space, saddr + 0) * 4;
+ spriteram[(daddr + 0) & 0xff] = memory_read_byte(space, saddr + 1);
+ spriteram[(daddr + 1) & 0xff] = memory_read_byte(space, saddr + 2);
+ spriteram[(daddr + 2) & 0xff] = memory_read_byte(space, saddr + 3);
+ spriteram[(daddr + 3) & 0xff] = memory_read_byte(space, saddr + 4);
saddr += 0x20;
}
}