-
-//void rtg_p2c_broken(int16_t sx, int16_t sy, int16_t dx, int16_t dy, int16_t w, int16_t h, uint16_t pitch, uint8_t mask, uint8_t minterm, uint8_t depth, uint16_t planemask_) {
- /*uint8_t *planeptr_src = &rtg_mem[rtg_address_adj[1]];
- uint8_t *dptr = &rtg_mem[rtg_address_adj[0] + (dy * pitch)];
-
- uint8_t cur_bit, base_bit, base_byte;
- uint16_t cur_byte = 0;//, color = 0;
- uint16_t srcpitch = rtg_user[1];
- uint32_t plane_size = srcpitch * rtg_y[3];
- uint32_t color_mask = 0x00FFFFFF;
- uint8_t color = 0;
-
- uint8_t planemask = planemask_ & 0xFF;
- uint8_t planemask_0 = (planemask_ >> 8);
-
- cur_bit = base_bit = (0x80 >> (sx % 8));
- cur_byte = base_byte = ((sx / 8) % srcpitch);
-
- planeptr_src += (srcpitch * sy);
-
- if (realtime_graphics_debug) {
- uint8_t *sptr = NULL;
-
- printf("P2C: %d,%d - %d,%d (%dx%d) %d, %.4X\n", sx, sy, dx, dy, w, h, depth, planemask_);
- printf("Mask: %.2X Minterm: %.2X\n", mask, minterm);
- printf("Pitch: %d Src Pitch: %d (!!!: %d)\n", pitch, srcpitch, rtg_user[1]);
- printf("Curbyte: %d Curbit: %d\n", cur_byte, cur_bit);
- printf("Plane size: %d Total size: %d (%X)\n", plane_size, plane_size * depth, plane_size * depth);
- printf("Source: %.8X - %.8X\n", rtg_address[1], rtg_address_adj[1]);
- printf("Target: %.8X - %.8X\n", rtg_address[0], rtg_address_adj[0]);
- fflush(stdout);
-
- printf("Origin: %.8X\n", rtg_address[2]);
- printf("Grabbing data from RTG memory.\nData:\n");
- for (int i = 0; i < h; i++) {
- for (int k = 0; k < depth; k++) {
- for (int j = 0; j < srcpitch; j++) {
- printf("%.2X", planeptr_src[j + (i * srcpitch) + (plane_size * k)]);
- }
- printf(" ");
- }
- printf("\n");
- }
-#ifndef FAKESTORM
- printf("Data available at origin:\n");
- for (int i = 0; i < h; i++) {
- for (int k = 0; k < depth; k++) {
- for (int j = 0; j < srcpitch; j++) {
- printf("%.2X", read8(rtg_address[2] + j + (i * srcpitch) + (plane_size * k)));
- }
- printf(" ");
- }
- printf("\n");
- }
-#endif
- }
-
- for (int16_t line_y = 0; line_y < h; line_y++) {
- for (int16_t xs = dx; xs < dx + w; xs++) {
- color = 0;
- if (minterm & 0x01) {
- //printf("Decode inverted planar pixel.\n");
- DECODE_INVERTED_PLANAR_PIXEL(color, planeptr_src);
- }
- else {
- //printf("Decode planar pixel.\n");
- DECODE_PLANAR_PIXEL(color, planeptr_src);
- }
-
- if (mask == 0xFF && (minterm == MINTERM_SRC || minterm == MINTERM_NOTSRC)) {
- dptr[xs << rtg_display_format] = color;
- goto skip;
- }
-
- //printf("Place pixel.\n");
- HANDLE_MINTERM_PIXEL_8(color, dptr[xs << rtg_display_format], rtg_display_format);
-
- skip:;
- if ((cur_bit >>= 1) == 0) {
- cur_bit = 0x80;
- cur_byte++;
- cur_byte %= srcpitch;
- }
- }
- dptr += pitch;
- //if (line_y + sy + 1 == rtg_y[3])
- //planeptr_src = &rtg_mem[rtg_address_adj[1]];// + (srcpitch * sy);
- //else
- planeptr_src += srcpitch;
- cur_bit = base_bit;
- cur_byte = base_byte;
- }*/
-//}