commit 2f06280

Devine Lu Linvega  ·  2025-12-30 22:00:55 +0000 UTC
parent 4e82f26
Use memset in exp port
1 files changed,  +5, -6
+5, -6
 1@@ -184,10 +184,8 @@ system_expansion(const Uint16 exp)
 2 	unsigned int addr = PEEK2(aptr + 5);
 3 	if(ram[exp] == 0x0) {
 4 		unsigned int dst_value = ram[exp + 7];
 5-		unsigned short a = addr;
 6 		if(bank < BANKS_CAP)
 7-			for(limit = a + length; a != limit; a++)
 8-				ram[bank + a] = dst_value;
 9+			memset(ram + bank + addr, dst_value, length);
10 	} else if(ram[exp] == 0x1) {
11 		unsigned int dst_bank = PEEK2(aptr + 7) * 0x10000;
12 		unsigned int dst_addr = PEEK2(aptr + 9);
13@@ -560,9 +558,10 @@ screen_draw_pixel(void)
14 	}
15 	/* pixel mode */
16 	else {
17-		if(rX >= 0 && rY >= 0 && rX < len && rY < screen_height) {
18-			const int ax = MAR(rX) + MAR(rY) * len;
19-			screen_layers[ax] = (screen_layers[ax] & layer_mask) | color;
20+		const unsigned int x = rX, y = rY;
21+		if(x < len && y < screen_height) {
22+			Uint8 *dst = &screen_layers[(x + 8) + (y + 8) * len];
23+			*dst = (*dst & layer_mask) | color;
24 		}
25 		screen_reqdraw = 1;
26 		if(rMX) rX++;