commit 15c5354
Devine Lu Linvega
·
2025-01-22 01:16:37 +0000 UTC
parent 265b5bb
Further optimization of expansion ports
1 files changed,
+4,
-9
+4,
-9
1@@ -95,15 +95,10 @@ system_deo(Uint8 port)
2 value = uxn.ram[addr + 7];
3 for(; a < b; uxn.ram[a++] = value);
4 } else if(uxn.ram[addr] == 0x1) {
5- unsigned int src_page = PEEK2(aptr + 3);
6- unsigned int src_addr = PEEK2(aptr + 5);
7- unsigned int dst_page = PEEK2(aptr + 7);
8- unsigned int dst_addr = PEEK2(aptr + 9);
9- unsigned int src = src_page * 0x10000;
10- unsigned int dst = dst_page * 0x10000;
11- if(src_page < RAM_PAGES && dst_page < RAM_PAGES)
12- for(i = 0; i < length; i++)
13- uxn.ram[dst + (Uint16)(dst_addr + i)] = uxn.ram[src + (Uint16)(src_addr + i)];
14+ unsigned int a = PEEK2(aptr + 3) * 0x10000 + PEEK2(aptr + 5);
15+ unsigned int b = a + length;
16+ unsigned int c = PEEK2(aptr + 7) * 0x10000 + PEEK2(aptr + 9);
17+ for(; a < b; uxn.ram[c++] = uxn.ram[a++]);
18 } else if(uxn.ram[addr] == 0x2) {
19 unsigned int src_page = PEEK2(aptr + 3);
20 unsigned int src_addr = PEEK2(aptr + 5);