bool video_assert_out_of_range_pixels(running_machine &machine, bitmap_ind16 &bitmap) { #ifdef MAME_DEBUG // iterate over rows int maxindex = palette_get_max_index(machine.palette); for (int y = 0; y < bitmap.height(); y++) { UINT16 *rowbase = &bitmap.pix16(y); for (int x = 0; x < bitmap.width(); x++) if (rowbase[x] > maxindex) { osd_break_into_debugger("Out of range pixel"); return true; } } #endif return false; }
void video_assert_out_of_range_pixels(running_machine &machine, bitmap_t *bitmap) { #ifdef MAME_DEBUG int maxindex = palette_get_max_index(machine.palette); int x, y; // this only applies to indexed16 bitmaps if (bitmap->format != BITMAP_FORMAT_INDEXED16) return; // iterate over rows for (y = 0; y < bitmap->height; y++) { UINT16 *rowbase = BITMAP_ADDR16(bitmap, y, 0); for (x = 0; x < bitmap->width; x++) assert(rowbase[x] < maxindex); } #endif }