summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
authorGravatarGravatar mahlemiut <mahlemiut@users.noreply.github.com>2012-09-13 00:53:00 +0000
committerGravatarGravatar mahlemiut <mahlemiut@users.noreply.github.com>2012-09-13 00:53:00 +0000
commit9d797a3ac55e49ce891dd1d597c0b5f50b859acc (patch)
tree4518d72fd0e96843a7df0f269b0a187dee18de4c /src
parentc76629afd46bcee8e020a3a6df70a7def5515d4e (diff)
(MESS) gfxultra: added extended bits for display start and cursor start. Expanded cursor_start to UINT32 to accomodate. (no whatsnew)
Diffstat (limited to 'src')
-rw-r--r--src/emu/video/pc_vga.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/emu/video/pc_vga.c b/src/emu/video/pc_vga.c
index e81f59e4115..d8c62bedbc8 100644
--- a/src/emu/video/pc_vga.c
+++ b/src/emu/video/pc_vga.c
@@ -94,7 +94,7 @@ static struct
/**/ UINT8 vert_retrace_end;
/**/ UINT16 vert_blank_start;
UINT16 line_compare;
-/**/ UINT16 cursor_addr;
+/**/ UINT32 cursor_addr;
/**/ UINT8 byte_panning;
/**/ UINT8 preset_row_scan;
UINT8 scan_doubling;
@@ -4993,6 +4993,10 @@ WRITE8_DEVICE_HANDLER(ati_port_ext_w)
ati.ext_reg[ati.ext_reg_select] = data;
switch(ati.ext_reg_select)
{
+ case 0x23:
+ vga.crtc.start_addr = (vga.crtc.start_addr & 0xfffdffff) | ((data & 0x10) << 13);
+ vga.crtc.cursor_addr = (vga.crtc.cursor_addr & 0xfffdffff) | ((data & 0x08) << 14);
+ break;
case 0x2d:
if(data & 0x08)
{
@@ -5002,6 +5006,10 @@ WRITE8_DEVICE_HANDLER(ati_port_ext_w)
logerror("ATI: ATI2D (extensions) write %02x\n",data);
}
break;
+ case 0x30:
+ vga.crtc.start_addr = (vga.crtc.start_addr & 0xfffeffff) | ((data & 0x40) << 10);
+ vga.crtc.cursor_addr = (vga.crtc.cursor_addr & 0xfffeffff) | ((data & 0x04) << 14);
+ break;
case 0x32: // memory page select
svga.bank_r = ((data & 0x01) << 3) | ((data & 0xe0) >> 5);
svga.bank_w = ((data & 0x1e) >> 1);