From 29dd8f10767ccf362235d6f9e0fbf4f557af3d27 Mon Sep 17 00:00:00 2001 From: Shamus Hammons Date: Tue, 3 Mar 2015 21:12:13 -0600 Subject: [PATCH] Fix for incorrect PACK/UNPACK generation. Thanks to A. Seed for reporting. --- riscasm.c | 6 +++--- version.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/riscasm.c b/riscasm.c index d2d594b..37e2922 100644 --- a/riscasm.c +++ b/riscasm.c @@ -101,8 +101,8 @@ const struct opcoderecord roptbl[] = { { MR_NORMI, RI_TWO, 56 }, { MR_NOP, RI_NONE, 57 }, { MR_SAT24, RI_ONE, 62 }, - { MR_UNPACK, RI_ONE, 63 + GPUONLY }, - { MR_PACK, RI_ONE, 63 + GPUONLY }, + { MR_UNPACK, RI_ONE, 63 + GPUONLY | (0 << 6) }, + { MR_PACK, RI_ONE, 63 + GPUONLY | (1 << 6) }, { MR_ADDQMOD, RI_NUM_32, 63 + DSPONLY }, { MR_MOVE, RI_MOVE, 0 }, { MR_LOAD, RI_LOAD, 0 }, @@ -140,13 +140,13 @@ void BuildRISCIntructionWord(unsigned short opcode, int reg1, int reg2) // Check for absolute address setting if (!orgwarning && !orgactive) { -// warn("GPU/DSP code outside of absolute section"); warn("RISC code generated with no origin defined"); orgwarning = 1; } int value = ((opcode & 0x3F) << 10) + ((reg1 & 0x1F) << 5) + (reg2 & 0x1F); D_word(value); +//printf("BuildRISC: opcode=$%X, reg1=$%X, reg2=$%X, final=$%04X\n", opcode, reg1, reg2, value); } diff --git a/version.h b/version.h index 8ebcaff..f59c0dd 100644 --- a/version.h +++ b/version.h @@ -13,6 +13,6 @@ #define MAJOR 1 // Major version number #define MINOR 3 // Minor version number -#define PATCH 5 // Patch release number +#define PATCH 6 // Patch release number #endif // __VERSION_H__ -- 2.37.2