X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fjagdasm.cpp;h=fb0652c1f52c48718a90c1d6a0b9e22489ca3fac;hb=c2f778cea7c1e7bc6507a5749d74267babc2a232;hp=eaeceebf3bfa9dc0933ab90229608e04fe579c13;hpb=86bd0f2592c3cd674239532247276bd2d579a857;p=virtualjaguar diff --git a/src/jagdasm.cpp b/src/jagdasm.cpp index eaeceeb..fb0652c 100644 --- a/src/jagdasm.cpp +++ b/src/jagdasm.cpp @@ -1,11 +1,11 @@ -#include "include/jaguar.h" +#include "jaguar.h" #define ROPCODE(a) jaguar_word_read(a) uint8 convert_zero[32] = { 32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 }; -char *condition[32] = +char * condition[32] = { "", "nz,", @@ -15,6 +15,7 @@ char *condition[32] = "nc nz,", "nc z,", "???,", + "c,", "c nz,", "c z,", @@ -32,6 +33,7 @@ char *condition[32] = "nn nz,", "nn z,", "???,", + "n,", "n nz,", "n z,", @@ -44,17 +46,19 @@ char *condition[32] = -char *signed_16bit(INT16 val) +char * signed_16bit(INT16 val) { static char temp[10]; + if (val < 0) - sprintf(temp, "-$%x", -val); + sprintf(temp, "-$%X", -val); else - sprintf(temp, "$%x", val); + sprintf(temp, "$%X", val); + return temp; } -unsigned dasmjag(int dsp_type, char *buffer, unsigned pc) +unsigned dasmjag(int dsp_type, char * buffer, unsigned pc) { int op = ROPCODE(pc); int reg1 = (op >> 5) & 31; @@ -155,6 +159,7 @@ unsigned dasmjag(int dsp_type, char *buffer, unsigned pc) sprintf(buffer, "addqmod $%x,r%d", convert_zero[reg1], reg2); break; } - sprintf(buffer,"%s (0x%.4x)",buffer,op); + sprintf(buffer,"%s (%04X)", buffer, op); + return size; }