diff options
author | mahlemiut <mahlemiut@users.noreply.github.com> | 2012-09-13 00:53:00 +0000 |
---|---|---|
committer | mahlemiut <mahlemiut@users.noreply.github.com> | 2012-09-13 00:53:00 +0000 |
commit | 9d797a3ac55e49ce891dd1d597c0b5f50b859acc (patch) | |
tree | 4518d72fd0e96843a7df0f269b0a187dee18de4c /src/emu | |
parent | c76629afd46bcee8e020a3a6df70a7def5515d4e (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/emu')
-rw-r--r-- | src/emu/video/pc_vga.c | 10 |
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); |