src/emu/video/pc_vga.c
| r14217 | r14218 | |
| 27 | 27 | per-game issues: |
| 28 | 28 | - The Incredible Machine: fix partial updates |
| 29 | 29 | - MAME 0.01: fix 92 Hz refresh rate bug (uses VESA register?). |
| 30 | - Bio Menace: jerky H scrolling (uses EGA mode) |
| 30 | 31 | |
| 31 | 32 | ROM declarations: |
| 32 | 33 | |
| r14217 | r14218 | |
| 290 | 291 | UINT32 *bitmapline; |
| 291 | 292 | pen_t pen; |
| 292 | 293 | |
| 294 | popmessage("%08x",EGA_START_ADDRESS); |
| 295 | |
| 293 | 296 | for (addr=EGA_START_ADDRESS, pos=0, line=0; line<LINES; |
| 294 | 297 | line += height, addr += EGA_LINE_LENGTH) |
| 295 | 298 | { |
| r14217 | r14218 | |
| 297 | 300 | { |
| 298 | 301 | bitmapline = &bitmap.pix32(line + yi); |
| 299 | 302 | |
| 300 | | for (pos=addr, c=0, column=0; column<EGA_COLUMNS; column++, c+=8, pos=(pos+1)&0x3ffff) |
| 303 | for (pos=addr, c=0, column=0; column<EGA_COLUMNS; column++, c+=8, pos=(pos+1)&0xffff) |
| 301 | 304 | { |
| 302 | 305 | int data[4]; |
| 303 | 306 | |
| 304 | | data[0]=vga.memory[(pos & 0x1ffff)]; |
| 305 | | data[1]=vga.memory[(pos & 0x1ffff)+0x20000]<<1; |
| 306 | | data[2]=vga.memory[(pos & 0x1ffff)+0x40000]<<2; |
| 307 | | data[3]=vga.memory[(pos & 0x1ffff)+0x60000]<<3; |
| 307 | data[0]=vga.memory[(pos & 0xffff)]; |
| 308 | data[1]=vga.memory[(pos & 0xffff)+0x20000]<<1; |
| 309 | data[2]=vga.memory[(pos & 0xffff)+0x40000]<<2; |
| 310 | data[3]=vga.memory[(pos & 0xffff)+0x60000]<<3; |
| 308 | 311 | |
| 309 | 312 | for (i = 7; i >= 0; i--) |
| 310 | 313 | { |
| r14217 | r14218 | |
| 901 | 904 | |
| 902 | 905 | crtc_reg_write(space->machine(),vga.crtc.index,data); |
| 903 | 906 | //space->machine().primary_screen->update_partial(space->machine().primary_screen->vpos()); |
| 904 | | //printf("%02x %02x %d\n",vga.crtc.index,data,space->machine().primary_screen->vpos()); |
| 907 | #if 0 |
| 908 | if((vga.crtc.index & 0xfe) != 0x0e) |
| 909 | printf("%02x %02x %d\n",vga.crtc.index,data,space->machine().primary_screen->vpos()); |
| 910 | #endif |
| 905 | 911 | break; |
| 906 | 912 | } |
| 907 | 913 | } |