2020-05-23 16:20:56 +00:00
|
|
|
#include "th01/hardware/egcscopy.c"
|
2015-02-27 22:11:47 +00:00
|
|
|
|
2020-08-21 18:13:08 +00:00
|
|
|
void egc_copy_rect_1_to_0_16(screen_x_t x, vram_y_t y, pixel_t w, pixel_t h)
|
2015-02-27 22:11:47 +00:00
|
|
|
{
|
2020-08-20 19:59:45 +00:00
|
|
|
register screen_x_t x_end = x;
|
|
|
|
register screen_x_t x_floor = x_end;
|
2020-08-21 18:13:08 +00:00
|
|
|
pixel_t row;
|
2020-08-20 19:59:45 +00:00
|
|
|
screen_x_t col;
|
2020-08-21 17:18:28 +00:00
|
|
|
vram_offset_t row_p;
|
2020-03-06 23:25:03 +00:00
|
|
|
dots16_t dots;
|
2020-08-21 17:18:28 +00:00
|
|
|
vram_offset_t p;
|
2015-09-07 13:44:02 +00:00
|
|
|
|
2015-02-27 22:11:47 +00:00
|
|
|
x_end += w;
|
|
|
|
x_floor &= 0xFFF0;
|
2020-06-16 10:43:39 +00:00
|
|
|
row_p = vram_offset_shift(x_floor, y);
|
2015-02-27 22:11:47 +00:00
|
|
|
egc_start_copy();
|
|
|
|
for(row = 0; row < h; row++) {
|
|
|
|
for(col = x_floor, p = row_p; col < x_end; p += 2, col += 16) {
|
2020-03-06 23:25:03 +00:00
|
|
|
graph_accesspage_func(1); VRAM_SNAP(dots, B, p, 16);
|
|
|
|
graph_accesspage_func(0); VRAM_PUT(B, p, dots, 16);
|
2015-02-27 22:11:47 +00:00
|
|
|
}
|
2020-08-05 21:04:47 +00:00
|
|
|
row_p += ROW_SIZE;
|
2015-02-27 22:11:47 +00:00
|
|
|
}
|
|
|
|
egc_off();
|
|
|
|
}
|