From 45b9cb1980c1c443e15c076d4c7e18ec3ea7702a Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Sat, 3 Feb 2024 15:27:46 +0600 Subject: [PATCH] Part 2 of quadword alignment fixing --- src/video/vid_c&t_69000.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/video/vid_c&t_69000.c b/src/video/vid_c&t_69000.c index 0f058b592..6fb3ad2a5 100644 --- a/src/video/vid_c&t_69000.c +++ b/src/video/vid_c&t_69000.c @@ -1002,7 +1002,6 @@ chips_69000_bitblt_write(chips_69000_t* chips, uint8_t data) { if (!chips->engine_active) return; - chips->bitblt_running.bytes_counter++; if (chips->bitblt_running.bytes_counter <= (chips->bitblt_running.bitblt.source_addr & 7)) return; @@ -1021,8 +1020,12 @@ chips_69000_bitblt_write(chips_69000_t* chips, uint8_t data) { if (++chips->bitblt_running.count_x >= chips->bitblt_running.actual_destination_width) { if (chips->bitblt_running.bitblt.destination_width & 7) chips->bitblt_running.bitblt.source_addr = 8 - (chips->bitblt_running.bitblt.destination_width & 7); + else + chips->bitblt_running.bitblt.source_addr = 0; + chips->bitblt_running.y += chips->bitblt_running.y_dir; chips->bitblt_running.count_y++; + chips->bitblt_running.bytes_counter = 0; chips->bitblt_running.count_x = 0; if (chips->bitblt_running.bitblt.bitblt_control & (1 << 8)) {