summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/video/pc_vga.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/video/pc_vga.cpp')
-rw-r--r--src/devices/video/pc_vga.cpp82
1 files changed, 40 insertions, 42 deletions
diff --git a/src/devices/video/pc_vga.cpp b/src/devices/video/pc_vga.cpp
index f5a7f7148e9..db89bd2fd78 100644
--- a/src/devices/video/pc_vga.cpp
+++ b/src/devices/video/pc_vga.cpp
@@ -2221,12 +2221,12 @@ WRITE8_MEMBER(vga_device::mem_w)
}
}
-READ8_MEMBER(vga_device::mem_linear_r)
+uint8_t vga_device::mem_linear_r(offs_t offset)
{
return vga.memory[offset % vga.svga_intf.vram_size];
}
-WRITE8_MEMBER(vga_device::mem_linear_w)
+void vga_device::mem_linear_w(offs_t offset, uint8_t data)
{
vga.memory[offset % vga.svga_intf.vram_size] = data;
}
@@ -3328,9 +3328,8 @@ READ8_MEMBER(ati_vga_device::port_03c0_r)
void ibm8514a_device::ibm8514_write_fg(uint32_t offset)
{
- address_space &space = machine().dummy_space();
offset %= m_vga->vga.svga_intf.vram_size;
- uint8_t dst = m_vga->mem_linear_r(space,offset,0xff);
+ uint8_t dst = m_vga->mem_linear_r(offset);
uint8_t src = 0;
// check clipping rectangle
@@ -3357,7 +3356,7 @@ void ibm8514a_device::ibm8514_write_fg(uint32_t offset)
break;
case 0x0060:
// video memory - presume the memory is sourced from the current X/Y co-ords
- src = m_vga->mem_linear_r(space,((ibm8514.curr_y * IBM8514_LINE_LENGTH) + ibm8514.curr_x),0xff);
+ src = m_vga->mem_linear_r(((ibm8514.curr_y * IBM8514_LINE_LENGTH) + ibm8514.curr_x));
break;
}
@@ -3365,61 +3364,60 @@ void ibm8514a_device::ibm8514_write_fg(uint32_t offset)
switch(ibm8514.fgmix & 0x000f)
{
case 0x0000:
- m_vga->mem_linear_w(space,offset,~dst,0xff);
+ m_vga->mem_linear_w(offset,~dst);
break;
case 0x0001:
- m_vga->mem_linear_w(space,offset,0x00,0xff);
+ m_vga->mem_linear_w(offset,0x00);
break;
case 0x0002:
- m_vga->mem_linear_w(space,offset,0xff,0xff);
+ m_vga->mem_linear_w(offset,0xff);
break;
case 0x0003:
- m_vga->mem_linear_w(space,offset,dst,0xff);
+ m_vga->mem_linear_w(offset,dst);
break;
case 0x0004:
- m_vga->mem_linear_w(space,offset,~src,0xff);
+ m_vga->mem_linear_w(offset,~src);
break;
case 0x0005:
- m_vga->mem_linear_w(space,offset,src ^ dst,0xff);
+ m_vga->mem_linear_w(offset,src ^ dst);
break;
case 0x0006:
- m_vga->mem_linear_w(space,offset,~(src ^ dst),0xff);
+ m_vga->mem_linear_w(offset,~(src ^ dst));
break;
case 0x0007:
- m_vga->mem_linear_w(space,offset,src,0xff);
+ m_vga->mem_linear_w(offset,src);
break;
case 0x0008:
- m_vga->mem_linear_w(space,offset,~(src & dst),0xff);
+ m_vga->mem_linear_w(offset,~(src & dst));
break;
case 0x0009:
- m_vga->mem_linear_w(space,offset,(~src) | dst,0xff);
+ m_vga->mem_linear_w(offset,(~src) | dst);
break;
case 0x000a:
- m_vga->mem_linear_w(space,offset,src | (~dst),0xff);
+ m_vga->mem_linear_w(offset,src | (~dst));
break;
case 0x000b:
- m_vga->mem_linear_w(space,offset,src | dst,0xff);
+ m_vga->mem_linear_w(offset,src | dst);
break;
case 0x000c:
- m_vga->mem_linear_w(space,offset,src & dst,0xff);
+ m_vga->mem_linear_w(offset,src & dst);
break;
case 0x000d:
- m_vga->mem_linear_w(space,offset,src & (~dst),0xff);
+ m_vga->mem_linear_w(offset,src & (~dst));
break;
case 0x000e:
- m_vga->mem_linear_w(space,offset,(~src) & dst,0xff);
+ m_vga->mem_linear_w(offset,(~src) & dst);
break;
case 0x000f:
- m_vga->mem_linear_w(space,offset,~(src | dst),0xff);
+ m_vga->mem_linear_w(offset,~(src | dst));
break;
}
}
void ibm8514a_device::ibm8514_write_bg(uint32_t offset)
{
- address_space &space = machine().dummy_space();
offset %= m_vga->vga.svga_intf.vram_size;
- uint8_t dst = m_vga->mem_linear_r(space,offset,0xff);
+ uint8_t dst = m_vga->mem_linear_r(offset);
uint8_t src = 0;
// check clipping rectangle
@@ -3446,7 +3444,7 @@ void ibm8514a_device::ibm8514_write_bg(uint32_t offset)
break;
case 0x0060:
// video memory - presume the memory is sourced from the current X/Y co-ords
- src = m_vga->mem_linear_r(space,((ibm8514.curr_y * IBM8514_LINE_LENGTH) + ibm8514.curr_x),0xff);
+ src = m_vga->mem_linear_r(((ibm8514.curr_y * IBM8514_LINE_LENGTH) + ibm8514.curr_x));
break;
}
@@ -3454,52 +3452,52 @@ void ibm8514a_device::ibm8514_write_bg(uint32_t offset)
switch(ibm8514.bgmix & 0x000f)
{
case 0x0000:
- m_vga->mem_linear_w(space,offset,~dst,0xff);
+ m_vga->mem_linear_w(offset,~dst);
break;
case 0x0001:
- m_vga->mem_linear_w(space,offset,0x00,0xff);
+ m_vga->mem_linear_w(offset,0x00);
break;
case 0x0002:
- m_vga->mem_linear_w(space,offset,0xff,0xff);
+ m_vga->mem_linear_w(offset,0xff);
break;
case 0x0003:
- m_vga->mem_linear_w(space,offset,dst,0xff);
+ m_vga->mem_linear_w(offset,dst);
break;
case 0x0004:
- m_vga->mem_linear_w(space,offset,~src,0xff);
+ m_vga->mem_linear_w(offset,~src);
break;
case 0x0005:
- m_vga->mem_linear_w(space,offset,src ^ dst,0xff);
+ m_vga->mem_linear_w(offset,src ^ dst);
break;
case 0x0006:
- m_vga->mem_linear_w(space,offset,~(src ^ dst),0xff);
+ m_vga->mem_linear_w(offset,~(src ^ dst));
break;
case 0x0007:
- m_vga->mem_linear_w(space,offset,src,0xff);
+ m_vga->mem_linear_w(offset,src);
break;
case 0x0008:
- m_vga->mem_linear_w(space,offset,~(src & dst),0xff);
+ m_vga->mem_linear_w(offset,~(src & dst));
break;
case 0x0009:
- m_vga->mem_linear_w(space,offset,(~src) | dst,0xff);
+ m_vga->mem_linear_w(offset,(~src) | dst);
break;
case 0x000a:
- m_vga->mem_linear_w(space,offset,src | (~dst),0xff);
+ m_vga->mem_linear_w(offset,src | (~dst));
break;
case 0x000b:
- m_vga->mem_linear_w(space,offset,src | dst,0xff);
+ m_vga->mem_linear_w(offset,src | dst);
break;
case 0x000c:
- m_vga->mem_linear_w(space,offset,src & dst,0xff);
+ m_vga->mem_linear_w(offset,src & dst);
break;
case 0x000d:
- m_vga->mem_linear_w(space,offset,src & (~dst),0xff);
+ m_vga->mem_linear_w(offset,src & (~dst));
break;
case 0x000e:
- m_vga->mem_linear_w(space,offset,(~src) & dst,0xff);
+ m_vga->mem_linear_w(offset,(~src) & dst);
break;
case 0x000f:
- m_vga->mem_linear_w(space,offset,~(src | dst),0xff);
+ m_vga->mem_linear_w(offset,~(src | dst));
break;
}
}
@@ -3547,7 +3545,7 @@ void ibm8514a_device::ibm8514_write(uint32_t offset, uint32_t src)
ibm8514.src_x = 0;
break;
case 0x00c0: // use source plane
- if (m_vga->mem_linear_r(machine().dummy_space(), src, 0xff) != 0x00)
+ if (m_vga->mem_linear_r(src) != 0x00)
ibm8514_write_fg(offset);
else
ibm8514_write_bg(offset);
@@ -3885,7 +3883,7 @@ WRITE16_MEMBER(ibm8514a_device::ibm8514_cmd_w)
if((ibm8514.pixel_control & 0xc0) == 0xc0)
{
// only check read mask if Mix Select is set to 11 (VRAM determines mix)
- if(m_vga->mem_linear_r(space,(src+x),0xff) & ~readmask)
+ if(m_vga->mem_linear_r((src+x)) & ~readmask)
{
// presumably every program is going to be smart enough to set the FG mix to use VRAM (0x6x)
if(data & 0x0020)