trunk/src/emu/video/pc_vga.c
| r17849 | r17850 | |
| 94 | 94 | /**/ UINT8 vert_retrace_end; |
| 95 | 95 | /**/ UINT16 vert_blank_start; |
| 96 | 96 | UINT16 line_compare; |
| 97 | | /**/ UINT16 cursor_addr; |
| 97 | /**/ UINT32 cursor_addr; |
| 98 | 98 | /**/ UINT8 byte_panning; |
| 99 | 99 | /**/ UINT8 preset_row_scan; |
| 100 | 100 | UINT8 scan_doubling; |
| r17849 | r17850 | |
| 4993 | 4993 | ati.ext_reg[ati.ext_reg_select] = data; |
| 4994 | 4994 | switch(ati.ext_reg_select) |
| 4995 | 4995 | { |
| 4996 | case 0x23: |
| 4997 | vga.crtc.start_addr = (vga.crtc.start_addr & 0xfffdffff) | ((data & 0x10) << 13); |
| 4998 | vga.crtc.cursor_addr = (vga.crtc.cursor_addr & 0xfffdffff) | ((data & 0x08) << 14); |
| 4999 | break; |
| 4996 | 5000 | case 0x2d: |
| 4997 | 5001 | if(data & 0x08) |
| 4998 | 5002 | { |
| r17849 | r17850 | |
| 5002 | 5006 | logerror("ATI: ATI2D (extensions) write %02x\n",data); |
| 5003 | 5007 | } |
| 5004 | 5008 | break; |
| 5009 | case 0x30: |
| 5010 | vga.crtc.start_addr = (vga.crtc.start_addr & 0xfffeffff) | ((data & 0x40) << 10); |
| 5011 | vga.crtc.cursor_addr = (vga.crtc.cursor_addr & 0xfffeffff) | ((data & 0x04) << 14); |
| 5012 | break; |
| 5005 | 5013 | case 0x32: // memory page select |
| 5006 | 5014 | svga.bank_r = ((data & 0x01) << 3) | ((data & 0xe0) >> 5); |
| 5007 | 5015 | svga.bank_w = ((data & 0x1e) >> 1); |