src/mess/video/vdc.c
| r901 | r902 | |
| 331 | 331 | else |
| 332 | 332 | { |
| 333 | 333 | int pixel = 0; |
| 334 | | for(i=0;i<(vdc.physical_width >> 3);i++) |
| 334 | int phys_x = - ( scroll_x & 0x07 ); |
| 335 | for(i=0;i<(vdc.physical_width >> 3) + 1;i++) |
| 335 | 336 | { |
| 336 | 337 | nt_index = (i + (scroll_x >> 3)) & ((2 << (v_width-1))-1); |
| 337 | 338 | nt_index *= 2; |
| r901 | r902 | |
| 364 | 365 | if ( ! ( c & 0x0F ) ) |
| 365 | 366 | c &= 0x0F; |
| 366 | 367 | |
| 367 | | line_buffer[ pixel++ ] = Machine->pens[c]; |
| 368 | | if ( vdc.physical_width != 512 ) { |
| 369 | | if ( pixel < ( ( ( i * 8 + x + 1 ) * 512 ) / vdc.physical_width ) ) { |
| 370 | | line_buffer[ pixel++ ] = Machine->pens[c]; |
| 368 | if ( phys_x >= 0 && phys_x < vdc.physical_width ) { |
| 369 | line_buffer[ pixel ] = Machine->pens[c]; |
| 370 | pixel++; |
| 371 | if ( vdc.physical_width != 512 ) { |
| 372 | if ( pixel < ( ( ( phys_x + 1 ) * 512 ) / vdc.physical_width ) ) { |
| 373 | line_buffer[ pixel ] = Machine->pens[c]; |
| 374 | pixel++; |
| 375 | } |
| 371 | 376 | } |
| 372 | 377 | } |
| 378 | phys_x += 1; |
| 373 | 379 | } |
| 374 | 380 | } |
| 375 | 381 | } |