From aea3279d8730b9e921c7c23387ee3a803d91a7cc Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Mon, 16 May 2022 18:21:56 +0200 Subject: Update uxn-core with OP order changes --- src/main.c | 6 ++--- src/uxn.c | 80 +++++++++++++++++++++++++++++++------------------------------- 2 files changed, 43 insertions(+), 43 deletions(-) (limited to 'src') 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) { uxn_port(u, 0x7, "---", nil_talk); devctrl = uxn_port(u, 0x8, "controller", nil_talk); devmouse = uxn_port(u, 0x9, "mouse", nil_talk); - uxn_port(u, 0xa, "file", file_talk); - uxn_port(u, 0xb, "datetime", datetime_talk); - uxn_port(u, 0xc, "---", nil_talk); + uxn_port(u, 0xa, "file1", file_talk); + uxn_port(u, 0xb, "file2", file_talk); // TODO: support second file device + uxn_port(u, 0xc, "datetime", datetime_talk); uxn_port(u, 0xd, "---", nil_talk); uxn_port(u, 0xe, "---", nil_talk); 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) u->wst.ptr -= 1; } break; - case 0x03: /* DUP */ + case 0x06: /* DUP */ __asm__("evaluxn_03_DUP:"); { u8 a = u->wst.dat[u->wst.ptr - 1]; @@ -100,7 +100,7 @@ uxn_eval(Uxn *u, u16 vec) u->wst.ptr += 1; } break; - case 0x04: /* NIP */ + case 0x03: /* NIP */ __asm__("evaluxn_04_NIP:"); { u8 a = u->wst.dat[u->wst.ptr - 1]; @@ -115,7 +115,7 @@ uxn_eval(Uxn *u, u16 vec) u->wst.ptr -= 1; } break; - case 0x05: /* SWP */ + case 0x04: /* SWP */ __asm__("evaluxn_05_SWP:"); { 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) #endif } break; - case 0x06: /* OVR */ + case 0x07: /* OVR */ __asm__("evaluxn_06_OVR:"); { 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) u->wst.ptr += 1; } break; - case 0x07: /* ROT */ + case 0x05: /* ROT */ __asm__("evaluxn_07_ROT:"); { 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) u->wst.ptr -= 2; } break; - case 0x23: /* DUP2 */ + case 0x26: /* DUP2 */ __asm__("evaluxn_23_DUP2:"); { 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) u->wst.ptr += 2; } break; - case 0x24: /* NIP2 */ + case 0x23: /* NIP2 */ __asm__("evaluxn_24_NIP2:"); { 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) u->wst.ptr -= 2; } break; - case 0x25: /* SWP2 */ + case 0x24: /* SWP2 */ __asm__("evaluxn_25_SWP2:"); { 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) #endif } break; - case 0x26: /* OVR2 */ + case 0x27: /* OVR2 */ __asm__("evaluxn_26_OVR2:"); { 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) u->wst.ptr += 2; } break; - case 0x27: /* ROT2 */ + case 0x25: /* ROT2 */ __asm__("evaluxn_27_ROT2:"); { 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) u->rst.ptr -= 1; } break; - case 0x43: /* DUPr */ + case 0x46: /* DUPr */ __asm__("evaluxn_43_DUPr:"); { u8 a = u->rst.dat[u->rst.ptr - 1]; @@ -1095,7 +1095,7 @@ uxn_eval(Uxn *u, u16 vec) u->rst.ptr += 1; } break; - case 0x44: /* NIPr */ + case 0x43: /* NIPr */ __asm__("evaluxn_44_NIPr:"); { u8 a = u->rst.dat[u->rst.ptr - 1]; @@ -1110,7 +1110,7 @@ uxn_eval(Uxn *u, u16 vec) u->rst.ptr -= 1; } break; - case 0x45: /* SWPr */ + case 0x44: /* SWPr */ __asm__("evaluxn_45_SWPr:"); { 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) #endif } break; - case 0x46: /* OVRr */ + case 0x47: /* OVRr */ __asm__("evaluxn_46_OVRr:"); { 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) u->rst.ptr += 1; } break; - case 0x47: /* ROTr */ + case 0x45: /* ROTr */ __asm__("evaluxn_47_ROTr:"); { 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) u->rst.ptr -= 2; } break; - case 0x63: /* DUP2r */ + case 0x66: /* DUP2r */ __asm__("evaluxn_63_DUP2r:"); { 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) u->rst.ptr += 2; } break; - case 0x64: /* NIP2r */ + case 0x63: /* NIP2r */ __asm__("evaluxn_64_NIP2r:"); { 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) u->rst.ptr -= 2; } break; - case 0x65: /* SWP2r */ + case 0x64: /* SWP2r */ __asm__("evaluxn_65_SWP2r:"); { 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) #endif } break; - case 0x66: /* OVR2r */ + case 0x67: /* OVR2r */ __asm__("evaluxn_66_OVR2r:"); { 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) u->rst.ptr += 2; } break; - case 0x67: /* ROT2r */ + case 0x65: /* ROT2r */ __asm__("evaluxn_67_ROT2r:"); { 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) #endif } break; - case 0x83: /* DUPk */ + case 0x86: /* DUPk */ __asm__("evaluxn_83_DUPk:"); { u8 a = u->wst.dat[u->wst.ptr - 1]; @@ -2081,7 +2081,7 @@ uxn_eval(Uxn *u, u16 vec) u->wst.ptr += 2; } break; - case 0x84: /* NIPk */ + case 0x83: /* NIPk */ __asm__("evaluxn_84_NIPk:"); { u8 a = u->wst.dat[u->wst.ptr - 1]; @@ -2100,7 +2100,7 @@ uxn_eval(Uxn *u, u16 vec) u->wst.ptr += 1; } break; - case 0x85: /* SWPk */ + case 0x84: /* SWPk */ __asm__("evaluxn_85_SWPk:"); { 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) u->wst.ptr += 2; } break; - case 0x86: /* OVRk */ + case 0x87: /* OVRk */ __asm__("evaluxn_86_OVRk:"); { 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) u->wst.ptr += 3; } break; - case 0x87: /* ROTk */ + case 0x85: /* ROTk */ __asm__("evaluxn_87_ROTk:"); { 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) #endif } break; - case 0xa3: /* DUP2k */ + case 0xa6: /* DUP2k */ __asm__("evaluxn_a3_DUP2k:"); { 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) u->wst.ptr += 4; } break; - case 0xa4: /* NIP2k */ + case 0xa3: /* NIP2k */ __asm__("evaluxn_a4_NIP2k:"); { 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) u->wst.ptr += 2; } break; - case 0xa5: /* SWP2k */ + case 0xa4: /* SWP2k */ __asm__("evaluxn_a5_SWP2k:"); { 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) u->wst.ptr += 4; } break; - case 0xa6: /* OVR2k */ + case 0xa7: /* OVR2k */ __asm__("evaluxn_a6_OVR2k:"); { 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) u->wst.ptr += 6; } break; - case 0xa7: /* ROT2k */ + case 0xa5: /* ROT2k */ __asm__("evaluxn_a7_ROT2k:"); { 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) #endif } break; - case 0xc3: /* DUPkr */ + case 0xc6: /* DUPkr */ __asm__("evaluxn_c3_DUPkr:"); { u8 a = u->rst.dat[u->rst.ptr - 1]; @@ -3188,7 +3188,7 @@ uxn_eval(Uxn *u, u16 vec) u->rst.ptr += 2; } break; - case 0xc4: /* NIPkr */ + case 0xc3: /* NIPkr */ __asm__("evaluxn_c4_NIPkr:"); { u8 a = u->rst.dat[u->rst.ptr - 1]; @@ -3207,7 +3207,7 @@ uxn_eval(Uxn *u, u16 vec) u->rst.ptr += 1; } break; - case 0xc5: /* SWPkr */ + case 0xc4: /* SWPkr */ __asm__("evaluxn_c5_SWPkr:"); { 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) u->rst.ptr += 2; } break; - case 0xc6: /* OVRkr */ + case 0xc7: /* OVRkr */ __asm__("evaluxn_c6_OVRkr:"); { 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) u->rst.ptr += 3; } break; - case 0xc7: /* ROTkr */ + case 0xc5: /* ROTkr */ __asm__("evaluxn_c7_ROTkr:"); { 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) #endif } break; - case 0xe3: /* DUP2kr */ + case 0xe6: /* DUP2kr */ __asm__("evaluxn_e3_DUP2kr:"); { 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) u->rst.ptr += 4; } break; - case 0xe4: /* NIP2kr */ + case 0xe3: /* NIP2kr */ __asm__("evaluxn_e4_NIP2kr:"); { 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) u->rst.ptr += 2; } break; - case 0xe5: /* SWP2kr */ + case 0xe4: /* SWP2kr */ __asm__("evaluxn_e5_SWP2kr:"); { 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) u->rst.ptr += 4; } break; - case 0xe6: /* OVR2kr */ + case 0xe7: /* OVR2kr */ __asm__("evaluxn_e6_OVR2kr:"); { 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) u->rst.ptr += 6; } break; - case 0xe7: /* ROT2kr */ + case 0xe5: /* ROT2kr */ __asm__("evaluxn_e7_ROT2kr:"); { 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]; -- cgit v1.2.1