aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2022-05-16 18:21:56 +0200
committerBad Diode <bd@badd10de.dev>2022-05-16 18:21:56 +0200
commitaea3279d8730b9e921c7c23387ee3a803d91a7cc (patch)
tree666e1c9e4e4d257e81789ceb7079225d19fecbb4 /src
parent42ff1ee0915032819d769a16bd0048f11366d465 (diff)
downloaduxngba-aea3279d8730b9e921c7c23387ee3a803d91a7cc.tar.gz
uxngba-aea3279d8730b9e921c7c23387ee3a803d91a7cc.zip
Update uxn-core with OP order changes
Diffstat (limited to 'src')
-rw-r--r--src/main.c6
-rw-r--r--src/uxn.c80
2 files changed, 43 insertions, 43 deletions
diff --git a/src/main.c b/src/main.c
index c3a1115..1acae1b 100644
--- a/src/main.c
+++ b/src/main.c
@@ -286,9 +286,9 @@ init_uxn(Uxn *u) {
286 uxn_port(u, 0x7, "---", nil_talk); 286 uxn_port(u, 0x7, "---", nil_talk);
287 devctrl = uxn_port(u, 0x8, "controller", nil_talk); 287 devctrl = uxn_port(u, 0x8, "controller", nil_talk);
288 devmouse = uxn_port(u, 0x9, "mouse", nil_talk); 288 devmouse = uxn_port(u, 0x9, "mouse", nil_talk);
289 uxn_port(u, 0xa, "file", file_talk); 289 uxn_port(u, 0xa, "file1", file_talk);
290 uxn_port(u, 0xb, "datetime", datetime_talk); 290 uxn_port(u, 0xb, "file2", file_talk); // TODO: support second file device
291 uxn_port(u, 0xc, "---", nil_talk); 291 uxn_port(u, 0xc, "datetime", datetime_talk);
292 uxn_port(u, 0xd, "---", nil_talk); 292 uxn_port(u, 0xd, "---", nil_talk);
293 uxn_port(u, 0xe, "---", nil_talk); 293 uxn_port(u, 0xe, "---", nil_talk);
294 uxn_port(u, 0xf, "---", nil_talk); 294 uxn_port(u, 0xf, "---", nil_talk);
diff --git a/src/uxn.c b/src/uxn.c
index 3934e1b..a8fe7ac 100644
--- a/src/uxn.c
+++ b/src/uxn.c
@@ -82,7 +82,7 @@ uxn_eval(Uxn *u, u16 vec)
82 u->wst.ptr -= 1; 82 u->wst.ptr -= 1;
83 } 83 }
84 break; 84 break;
85 case 0x03: /* DUP */ 85 case 0x06: /* DUP */
86 __asm__("evaluxn_03_DUP:"); 86 __asm__("evaluxn_03_DUP:");
87 { 87 {
88 u8 a = u->wst.dat[u->wst.ptr - 1]; 88 u8 a = u->wst.dat[u->wst.ptr - 1];
@@ -100,7 +100,7 @@ uxn_eval(Uxn *u, u16 vec)
100 u->wst.ptr += 1; 100 u->wst.ptr += 1;
101 } 101 }
102 break; 102 break;
103 case 0x04: /* NIP */ 103 case 0x03: /* NIP */
104 __asm__("evaluxn_04_NIP:"); 104 __asm__("evaluxn_04_NIP:");
105 { 105 {
106 u8 a = u->wst.dat[u->wst.ptr - 1]; 106 u8 a = u->wst.dat[u->wst.ptr - 1];
@@ -115,7 +115,7 @@ uxn_eval(Uxn *u, u16 vec)
115 u->wst.ptr -= 1; 115 u->wst.ptr -= 1;
116 } 116 }
117 break; 117 break;
118 case 0x05: /* SWP */ 118 case 0x04: /* SWP */
119 __asm__("evaluxn_05_SWP:"); 119 __asm__("evaluxn_05_SWP:");
120 { 120 {
121 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2]; 121 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2];
@@ -129,7 +129,7 @@ uxn_eval(Uxn *u, u16 vec)
129#endif 129#endif
130 } 130 }
131 break; 131 break;
132 case 0x06: /* OVR */ 132 case 0x07: /* OVR */
133 __asm__("evaluxn_06_OVR:"); 133 __asm__("evaluxn_06_OVR:");
134 { 134 {
135 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2]; 135 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2];
@@ -147,7 +147,7 @@ uxn_eval(Uxn *u, u16 vec)
147 u->wst.ptr += 1; 147 u->wst.ptr += 1;
148 } 148 }
149 break; 149 break;
150 case 0x07: /* ROT */ 150 case 0x05: /* ROT */
151 __asm__("evaluxn_07_ROT:"); 151 __asm__("evaluxn_07_ROT:");
152 { 152 {
153 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3]; 153 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3];
@@ -563,7 +563,7 @@ uxn_eval(Uxn *u, u16 vec)
563 u->wst.ptr -= 2; 563 u->wst.ptr -= 2;
564 } 564 }
565 break; 565 break;
566 case 0x23: /* DUP2 */ 566 case 0x26: /* DUP2 */
567 __asm__("evaluxn_23_DUP2:"); 567 __asm__("evaluxn_23_DUP2:");
568 { 568 {
569 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2]; 569 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2];
@@ -582,7 +582,7 @@ uxn_eval(Uxn *u, u16 vec)
582 u->wst.ptr += 2; 582 u->wst.ptr += 2;
583 } 583 }
584 break; 584 break;
585 case 0x24: /* NIP2 */ 585 case 0x23: /* NIP2 */
586 __asm__("evaluxn_24_NIP2:"); 586 __asm__("evaluxn_24_NIP2:");
587 { 587 {
588 u16 a = (u->wst.dat[u->wst.ptr - 1] | (u->wst.dat[u->wst.ptr - 2] << 8)); 588 u16 a = (u->wst.dat[u->wst.ptr - 1] | (u->wst.dat[u->wst.ptr - 2] << 8));
@@ -598,7 +598,7 @@ uxn_eval(Uxn *u, u16 vec)
598 u->wst.ptr -= 2; 598 u->wst.ptr -= 2;
599 } 599 }
600 break; 600 break;
601 case 0x25: /* SWP2 */ 601 case 0x24: /* SWP2 */
602 __asm__("evaluxn_25_SWP2:"); 602 __asm__("evaluxn_25_SWP2:");
603 { 603 {
604 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4]; 604 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4];
@@ -614,7 +614,7 @@ uxn_eval(Uxn *u, u16 vec)
614#endif 614#endif
615 } 615 }
616 break; 616 break;
617 case 0x26: /* OVR2 */ 617 case 0x27: /* OVR2 */
618 __asm__("evaluxn_26_OVR2:"); 618 __asm__("evaluxn_26_OVR2:");
619 { 619 {
620 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4]; 620 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4];
@@ -633,7 +633,7 @@ uxn_eval(Uxn *u, u16 vec)
633 u->wst.ptr += 2; 633 u->wst.ptr += 2;
634 } 634 }
635 break; 635 break;
636 case 0x27: /* ROT2 */ 636 case 0x25: /* ROT2 */
637 __asm__("evaluxn_27_ROT2:"); 637 __asm__("evaluxn_27_ROT2:");
638 { 638 {
639 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4], e = u->wst.dat[u->wst.ptr - 5], f = u->wst.dat[u->wst.ptr - 6]; 639 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4], e = u->wst.dat[u->wst.ptr - 5], f = u->wst.dat[u->wst.ptr - 6];
@@ -1077,7 +1077,7 @@ uxn_eval(Uxn *u, u16 vec)
1077 u->rst.ptr -= 1; 1077 u->rst.ptr -= 1;
1078 } 1078 }
1079 break; 1079 break;
1080 case 0x43: /* DUPr */ 1080 case 0x46: /* DUPr */
1081 __asm__("evaluxn_43_DUPr:"); 1081 __asm__("evaluxn_43_DUPr:");
1082 { 1082 {
1083 u8 a = u->rst.dat[u->rst.ptr - 1]; 1083 u8 a = u->rst.dat[u->rst.ptr - 1];
@@ -1095,7 +1095,7 @@ uxn_eval(Uxn *u, u16 vec)
1095 u->rst.ptr += 1; 1095 u->rst.ptr += 1;
1096 } 1096 }
1097 break; 1097 break;
1098 case 0x44: /* NIPr */ 1098 case 0x43: /* NIPr */
1099 __asm__("evaluxn_44_NIPr:"); 1099 __asm__("evaluxn_44_NIPr:");
1100 { 1100 {
1101 u8 a = u->rst.dat[u->rst.ptr - 1]; 1101 u8 a = u->rst.dat[u->rst.ptr - 1];
@@ -1110,7 +1110,7 @@ uxn_eval(Uxn *u, u16 vec)
1110 u->rst.ptr -= 1; 1110 u->rst.ptr -= 1;
1111 } 1111 }
1112 break; 1112 break;
1113 case 0x45: /* SWPr */ 1113 case 0x44: /* SWPr */
1114 __asm__("evaluxn_45_SWPr:"); 1114 __asm__("evaluxn_45_SWPr:");
1115 { 1115 {
1116 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2]; 1116 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2];
@@ -1124,7 +1124,7 @@ uxn_eval(Uxn *u, u16 vec)
1124#endif 1124#endif
1125 } 1125 }
1126 break; 1126 break;
1127 case 0x46: /* OVRr */ 1127 case 0x47: /* OVRr */
1128 __asm__("evaluxn_46_OVRr:"); 1128 __asm__("evaluxn_46_OVRr:");
1129 { 1129 {
1130 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2]; 1130 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2];
@@ -1142,7 +1142,7 @@ uxn_eval(Uxn *u, u16 vec)
1142 u->rst.ptr += 1; 1142 u->rst.ptr += 1;
1143 } 1143 }
1144 break; 1144 break;
1145 case 0x47: /* ROTr */ 1145 case 0x45: /* ROTr */
1146 __asm__("evaluxn_47_ROTr:"); 1146 __asm__("evaluxn_47_ROTr:");
1147 { 1147 {
1148 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3]; 1148 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3];
@@ -1558,7 +1558,7 @@ uxn_eval(Uxn *u, u16 vec)
1558 u->rst.ptr -= 2; 1558 u->rst.ptr -= 2;
1559 } 1559 }
1560 break; 1560 break;
1561 case 0x63: /* DUP2r */ 1561 case 0x66: /* DUP2r */
1562 __asm__("evaluxn_63_DUP2r:"); 1562 __asm__("evaluxn_63_DUP2r:");
1563 { 1563 {
1564 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2]; 1564 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2];
@@ -1577,7 +1577,7 @@ uxn_eval(Uxn *u, u16 vec)
1577 u->rst.ptr += 2; 1577 u->rst.ptr += 2;
1578 } 1578 }
1579 break; 1579 break;
1580 case 0x64: /* NIP2r */ 1580 case 0x63: /* NIP2r */
1581 __asm__("evaluxn_64_NIP2r:"); 1581 __asm__("evaluxn_64_NIP2r:");
1582 { 1582 {
1583 u16 a = (u->rst.dat[u->rst.ptr - 1] | (u->rst.dat[u->rst.ptr - 2] << 8)); 1583 u16 a = (u->rst.dat[u->rst.ptr - 1] | (u->rst.dat[u->rst.ptr - 2] << 8));
@@ -1593,7 +1593,7 @@ uxn_eval(Uxn *u, u16 vec)
1593 u->rst.ptr -= 2; 1593 u->rst.ptr -= 2;
1594 } 1594 }
1595 break; 1595 break;
1596 case 0x65: /* SWP2r */ 1596 case 0x64: /* SWP2r */
1597 __asm__("evaluxn_65_SWP2r:"); 1597 __asm__("evaluxn_65_SWP2r:");
1598 { 1598 {
1599 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4]; 1599 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4];
@@ -1609,7 +1609,7 @@ uxn_eval(Uxn *u, u16 vec)
1609#endif 1609#endif
1610 } 1610 }
1611 break; 1611 break;
1612 case 0x66: /* OVR2r */ 1612 case 0x67: /* OVR2r */
1613 __asm__("evaluxn_66_OVR2r:"); 1613 __asm__("evaluxn_66_OVR2r:");
1614 { 1614 {
1615 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4]; 1615 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4];
@@ -1628,7 +1628,7 @@ uxn_eval(Uxn *u, u16 vec)
1628 u->rst.ptr += 2; 1628 u->rst.ptr += 2;
1629 } 1629 }
1630 break; 1630 break;
1631 case 0x67: /* ROT2r */ 1631 case 0x65: /* ROT2r */
1632 __asm__("evaluxn_67_ROT2r:"); 1632 __asm__("evaluxn_67_ROT2r:");
1633 { 1633 {
1634 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4], e = u->rst.dat[u->rst.ptr - 5], f = u->rst.dat[u->rst.ptr - 6]; 1634 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4], e = u->rst.dat[u->rst.ptr - 5], f = u->rst.dat[u->rst.ptr - 6];
@@ -2062,7 +2062,7 @@ uxn_eval(Uxn *u, u16 vec)
2062#endif 2062#endif
2063 } 2063 }
2064 break; 2064 break;
2065 case 0x83: /* DUPk */ 2065 case 0x86: /* DUPk */
2066 __asm__("evaluxn_83_DUPk:"); 2066 __asm__("evaluxn_83_DUPk:");
2067 { 2067 {
2068 u8 a = u->wst.dat[u->wst.ptr - 1]; 2068 u8 a = u->wst.dat[u->wst.ptr - 1];
@@ -2081,7 +2081,7 @@ uxn_eval(Uxn *u, u16 vec)
2081 u->wst.ptr += 2; 2081 u->wst.ptr += 2;
2082 } 2082 }
2083 break; 2083 break;
2084 case 0x84: /* NIPk */ 2084 case 0x83: /* NIPk */
2085 __asm__("evaluxn_84_NIPk:"); 2085 __asm__("evaluxn_84_NIPk:");
2086 { 2086 {
2087 u8 a = u->wst.dat[u->wst.ptr - 1]; 2087 u8 a = u->wst.dat[u->wst.ptr - 1];
@@ -2100,7 +2100,7 @@ uxn_eval(Uxn *u, u16 vec)
2100 u->wst.ptr += 1; 2100 u->wst.ptr += 1;
2101 } 2101 }
2102 break; 2102 break;
2103 case 0x85: /* SWPk */ 2103 case 0x84: /* SWPk */
2104 __asm__("evaluxn_85_SWPk:"); 2104 __asm__("evaluxn_85_SWPk:");
2105 { 2105 {
2106 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2]; 2106 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2];
@@ -2119,7 +2119,7 @@ uxn_eval(Uxn *u, u16 vec)
2119 u->wst.ptr += 2; 2119 u->wst.ptr += 2;
2120 } 2120 }
2121 break; 2121 break;
2122 case 0x86: /* OVRk */ 2122 case 0x87: /* OVRk */
2123 __asm__("evaluxn_86_OVRk:"); 2123 __asm__("evaluxn_86_OVRk:");
2124 { 2124 {
2125 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2]; 2125 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2];
@@ -2139,7 +2139,7 @@ uxn_eval(Uxn *u, u16 vec)
2139 u->wst.ptr += 3; 2139 u->wst.ptr += 3;
2140 } 2140 }
2141 break; 2141 break;
2142 case 0x87: /* ROTk */ 2142 case 0x85: /* ROTk */
2143 __asm__("evaluxn_87_ROTk:"); 2143 __asm__("evaluxn_87_ROTk:");
2144 { 2144 {
2145 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3]; 2145 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3];
@@ -2604,7 +2604,7 @@ uxn_eval(Uxn *u, u16 vec)
2604#endif 2604#endif
2605 } 2605 }
2606 break; 2606 break;
2607 case 0xa3: /* DUP2k */ 2607 case 0xa6: /* DUP2k */
2608 __asm__("evaluxn_a3_DUP2k:"); 2608 __asm__("evaluxn_a3_DUP2k:");
2609 { 2609 {
2610 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2]; 2610 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2];
@@ -2625,7 +2625,7 @@ uxn_eval(Uxn *u, u16 vec)
2625 u->wst.ptr += 4; 2625 u->wst.ptr += 4;
2626 } 2626 }
2627 break; 2627 break;
2628 case 0xa4: /* NIP2k */ 2628 case 0xa3: /* NIP2k */
2629 __asm__("evaluxn_a4_NIP2k:"); 2629 __asm__("evaluxn_a4_NIP2k:");
2630 { 2630 {
2631 u16 a = (u->wst.dat[u->wst.ptr - 1] | (u->wst.dat[u->wst.ptr - 2] << 8)); 2631 u16 a = (u->wst.dat[u->wst.ptr - 1] | (u->wst.dat[u->wst.ptr - 2] << 8));
@@ -2645,7 +2645,7 @@ uxn_eval(Uxn *u, u16 vec)
2645 u->wst.ptr += 2; 2645 u->wst.ptr += 2;
2646 } 2646 }
2647 break; 2647 break;
2648 case 0xa5: /* SWP2k */ 2648 case 0xa4: /* SWP2k */
2649 __asm__("evaluxn_a5_SWP2k:"); 2649 __asm__("evaluxn_a5_SWP2k:");
2650 { 2650 {
2651 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4]; 2651 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4];
@@ -2666,7 +2666,7 @@ uxn_eval(Uxn *u, u16 vec)
2666 u->wst.ptr += 4; 2666 u->wst.ptr += 4;
2667 } 2667 }
2668 break; 2668 break;
2669 case 0xa6: /* OVR2k */ 2669 case 0xa7: /* OVR2k */
2670 __asm__("evaluxn_a6_OVR2k:"); 2670 __asm__("evaluxn_a6_OVR2k:");
2671 { 2671 {
2672 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4]; 2672 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4];
@@ -2689,7 +2689,7 @@ uxn_eval(Uxn *u, u16 vec)
2689 u->wst.ptr += 6; 2689 u->wst.ptr += 6;
2690 } 2690 }
2691 break; 2691 break;
2692 case 0xa7: /* ROT2k */ 2692 case 0xa5: /* ROT2k */
2693 __asm__("evaluxn_a7_ROT2k:"); 2693 __asm__("evaluxn_a7_ROT2k:");
2694 { 2694 {
2695 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4], e = u->wst.dat[u->wst.ptr - 5], f = u->wst.dat[u->wst.ptr - 6]; 2695 u8 a = u->wst.dat[u->wst.ptr - 1], b = u->wst.dat[u->wst.ptr - 2], c = u->wst.dat[u->wst.ptr - 3], d = u->wst.dat[u->wst.ptr - 4], e = u->wst.dat[u->wst.ptr - 5], f = u->wst.dat[u->wst.ptr - 6];
@@ -3169,7 +3169,7 @@ uxn_eval(Uxn *u, u16 vec)
3169#endif 3169#endif
3170 } 3170 }
3171 break; 3171 break;
3172 case 0xc3: /* DUPkr */ 3172 case 0xc6: /* DUPkr */
3173 __asm__("evaluxn_c3_DUPkr:"); 3173 __asm__("evaluxn_c3_DUPkr:");
3174 { 3174 {
3175 u8 a = u->rst.dat[u->rst.ptr - 1]; 3175 u8 a = u->rst.dat[u->rst.ptr - 1];
@@ -3188,7 +3188,7 @@ uxn_eval(Uxn *u, u16 vec)
3188 u->rst.ptr += 2; 3188 u->rst.ptr += 2;
3189 } 3189 }
3190 break; 3190 break;
3191 case 0xc4: /* NIPkr */ 3191 case 0xc3: /* NIPkr */
3192 __asm__("evaluxn_c4_NIPkr:"); 3192 __asm__("evaluxn_c4_NIPkr:");
3193 { 3193 {
3194 u8 a = u->rst.dat[u->rst.ptr - 1]; 3194 u8 a = u->rst.dat[u->rst.ptr - 1];
@@ -3207,7 +3207,7 @@ uxn_eval(Uxn *u, u16 vec)
3207 u->rst.ptr += 1; 3207 u->rst.ptr += 1;
3208 } 3208 }
3209 break; 3209 break;
3210 case 0xc5: /* SWPkr */ 3210 case 0xc4: /* SWPkr */
3211 __asm__("evaluxn_c5_SWPkr:"); 3211 __asm__("evaluxn_c5_SWPkr:");
3212 { 3212 {
3213 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2]; 3213 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2];
@@ -3226,7 +3226,7 @@ uxn_eval(Uxn *u, u16 vec)
3226 u->rst.ptr += 2; 3226 u->rst.ptr += 2;
3227 } 3227 }
3228 break; 3228 break;
3229 case 0xc6: /* OVRkr */ 3229 case 0xc7: /* OVRkr */
3230 __asm__("evaluxn_c6_OVRkr:"); 3230 __asm__("evaluxn_c6_OVRkr:");
3231 { 3231 {
3232 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2]; 3232 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2];
@@ -3246,7 +3246,7 @@ uxn_eval(Uxn *u, u16 vec)
3246 u->rst.ptr += 3; 3246 u->rst.ptr += 3;
3247 } 3247 }
3248 break; 3248 break;
3249 case 0xc7: /* ROTkr */ 3249 case 0xc5: /* ROTkr */
3250 __asm__("evaluxn_c7_ROTkr:"); 3250 __asm__("evaluxn_c7_ROTkr:");
3251 { 3251 {
3252 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3]; 3252 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3];
@@ -3711,7 +3711,7 @@ uxn_eval(Uxn *u, u16 vec)
3711#endif 3711#endif
3712 } 3712 }
3713 break; 3713 break;
3714 case 0xe3: /* DUP2kr */ 3714 case 0xe6: /* DUP2kr */
3715 __asm__("evaluxn_e3_DUP2kr:"); 3715 __asm__("evaluxn_e3_DUP2kr:");
3716 { 3716 {
3717 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2]; 3717 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2];
@@ -3732,7 +3732,7 @@ uxn_eval(Uxn *u, u16 vec)
3732 u->rst.ptr += 4; 3732 u->rst.ptr += 4;
3733 } 3733 }
3734 break; 3734 break;
3735 case 0xe4: /* NIP2kr */ 3735 case 0xe3: /* NIP2kr */
3736 __asm__("evaluxn_e4_NIP2kr:"); 3736 __asm__("evaluxn_e4_NIP2kr:");
3737 { 3737 {
3738 u16 a = (u->rst.dat[u->rst.ptr - 1] | (u->rst.dat[u->rst.ptr - 2] << 8)); 3738 u16 a = (u->rst.dat[u->rst.ptr - 1] | (u->rst.dat[u->rst.ptr - 2] << 8));
@@ -3752,7 +3752,7 @@ uxn_eval(Uxn *u, u16 vec)
3752 u->rst.ptr += 2; 3752 u->rst.ptr += 2;
3753 } 3753 }
3754 break; 3754 break;
3755 case 0xe5: /* SWP2kr */ 3755 case 0xe4: /* SWP2kr */
3756 __asm__("evaluxn_e5_SWP2kr:"); 3756 __asm__("evaluxn_e5_SWP2kr:");
3757 { 3757 {
3758 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4]; 3758 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4];
@@ -3773,7 +3773,7 @@ uxn_eval(Uxn *u, u16 vec)
3773 u->rst.ptr += 4; 3773 u->rst.ptr += 4;
3774 } 3774 }
3775 break; 3775 break;
3776 case 0xe6: /* OVR2kr */ 3776 case 0xe7: /* OVR2kr */
3777 __asm__("evaluxn_e6_OVR2kr:"); 3777 __asm__("evaluxn_e6_OVR2kr:");
3778 { 3778 {
3779 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4]; 3779 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4];
@@ -3796,7 +3796,7 @@ uxn_eval(Uxn *u, u16 vec)
3796 u->rst.ptr += 6; 3796 u->rst.ptr += 6;
3797 } 3797 }
3798 break; 3798 break;
3799 case 0xe7: /* ROT2kr */ 3799 case 0xe5: /* ROT2kr */
3800 __asm__("evaluxn_e7_ROT2kr:"); 3800 __asm__("evaluxn_e7_ROT2kr:");
3801 { 3801 {
3802 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4], e = u->rst.dat[u->rst.ptr - 5], f = u->rst.dat[u->rst.ptr - 6]; 3802 u8 a = u->rst.dat[u->rst.ptr - 1], b = u->rst.dat[u->rst.ptr - 2], c = u->rst.dat[u->rst.ptr - 3], d = u->rst.dat[u->rst.ptr - 4], e = u->rst.dat[u->rst.ptr - 5], f = u->rst.dat[u->rst.ptr - 6];