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++;