From 9aa8503cdc9933350f14299d326ec7ee379721b8 Mon Sep 17 00:00:00 2001 From: Shamus Hammons Date: Mon, 27 Jun 2022 08:44:00 -0500 Subject: [PATCH] Minor fix to kill unnecessary field YPOS in gpuobj in the OP assembler. Turns out that the documentation we relied on was bogus; SCPCD confirmed this (from the Jaguar netlists) as well. Thanks to Bastian (42bs) for the patch! :-) --- op.c | 25 ++----------------------- version.h | 2 +- 2 files changed, 3 insertions(+), 24 deletions(-) diff --git a/op.c b/op.c index 3833bfb..9a4cc78 100644 --- a/op.c +++ b/op.c @@ -37,7 +37,6 @@ static TOKEN fixupExpr[4] = { CONST, 0, 0, ENDEXPR }; //static PTR fixupPtr = { .tk = (fixupExpr + 1) }; // C99 \o/ static PTR fixupPtr = { (uint8_t *)(fixupExpr + 1) }; // meh, it works - // // The main Object Processor assembler. Basically just calls the sub functions // to generate the appropriate code. @@ -68,7 +67,6 @@ int GenerateOPCode(int state) return error("unknown OP opcode"); } - static inline void GetSymbolUCFromTokenStream(char * s) { strcpy(s, string[tok[1]]); @@ -76,7 +74,6 @@ static inline void GetSymbolUCFromTokenStream(char * s) tok += 2; } - static inline uint64_t CheckFlags(char * s) { GetSymbolUCFromTokenStream(s); @@ -93,7 +90,6 @@ static inline uint64_t CheckFlags(char * s) return 0; } - // // Define a bitmap object // Form: bitmap , , , , , , , @@ -191,7 +187,6 @@ static int HandleBitmap(void) return OK; } - // // Define a scaled bitmap object // Form: scbitmap , , , , , , @@ -319,10 +314,9 @@ static int HandleScaledBitmap(void) return OK; } - // // Insert GPU object -// Form: gpuobj , (bits 14-63 of this object) +// Form: gpuobj (bits 3-63 of this object) // static int HandleGPUObject(void) { @@ -330,16 +324,6 @@ static int HandleGPUObject(void) uint16_t eattr; SYM * esym = 0; - if (expr(exprbuf, &eval, &eattr, &esym) != OK) - return ERROR; - - if (!(eattr & DEFINED)) - return error("bad expression in y position"); - - uint64_t ypos = eval; - - CHECK_COMMA; - if (expr(exprbuf, &eval, &eattr, &esym) != OK) return ERROR; @@ -348,7 +332,7 @@ static int HandleGPUObject(void) ErrorIfNotAtEOL(); - uint64_t p1 = 0x02 | ((ypos * 2) << 3) | (eval << 14); + uint64_t p1 = 0x02 | (eval << 3); lastObjType = 2; D_quad(p1); @@ -356,7 +340,6 @@ static int HandleGPUObject(void) return OK; } - // // Insert a branch object // Form: branch VC )> , @@ -421,7 +404,6 @@ static int HandleBranch(void) return OK; } - // // Insert a stop object // Form: stop @@ -434,7 +416,6 @@ static int HandleStop(void) return OK; } - // // Insert a phrase sized "NOP" in the object list (psuedo-op) // Form: nop @@ -452,7 +433,6 @@ static int HandleNOP(void) return OK; } - // // Insert an unconditional jump in the object list (psuedo-op) // Form: jump @@ -479,4 +459,3 @@ static int HandleJump(void) return OK; } - diff --git a/version.h b/version.h index 11a3a17..46bf58b 100644 --- a/version.h +++ b/version.h @@ -15,6 +15,6 @@ #define MAJOR 2 // Major version number #define MINOR 2 // Minor version number -#define PATCH 2 // Patch release number +#define PATCH 3 // Patch release number #endif // __VERSION_H__ -- 2.37.2