Previous 199869 Revisions Next

r18111 Monday 24th September, 2012 at 13:15:50 UTC by Barry Rodewald
(MESS) svga_s3: added extra extended start address and banking registers (no whatsnew)
[src/emu/video]pc_vga.c

trunk/src/emu/video/pc_vga.c
r18110r18111
27552755         case 0x4f:
27562756            res = s3.cursor_pattern_y;
27572757            break;
2758         case 0x51:
2759            res = (vga.crtc.start_addr & 0x0c0000) >> 18;
2760            break;
27582761         case 0x55:
27592762            res = s3.extended_dac_ctrl;
27602763            break;
27612764         case 0x67:
27622765            res = s3.ext_misc_ctrl_2;
27632766            break;
2767         case 0x69:
2768            res = vga.crtc.start_addr >> 16;
2769            break;
27642770         case 0x6a:
27652771            res = svga.bank_r & 0x7f;
27662772            break;
r18110r18111
29642970         case 0x51:
29652971            vga.crtc.start_addr &= ~0xc0000;
29662972            vga.crtc.start_addr |= ((data & 0x3) << 18);
2973            svga.bank_w = (svga.bank_w & 0xcf) | ((data & 0x0c) << 2);
2974            svga.bank_r = svga.bank_r;
2975            s3_define_video_mode();
29672976            break;
29682977         case 0x53:
29692978            s3.cr53 = data;
r18110r18111
29963005            s3.ext_misc_ctrl_2 = data;
29973006            s3_define_video_mode();
29983007            //printf("%02x X\n",data);
2999            //debugger_break(machine);
30003008            break;
3009         case 0x69:
3010            vga.crtc.start_addr &= ~0x1f0000;
3011            vga.crtc.start_addr |= ((data & 0x1f) << 16);
3012            s3_define_video_mode();
3013            break;
30013014         case 0x6a:
3002            svga.bank_w = data & 0xf;
3015            svga.bank_w = data & 0x3f;
30033016            svga.bank_r = svga.bank_w;
30043017            if(data & 0x60)
30053018               fatalerror("TODO: s3 bank selects above 1M\n");

Previous 199869 Revisions Next


© 1997-2024 The MAME Team