Only check Local Object pointers

This commit is contained in:
G.K.MacGregor
2022-05-15 11:22:19 +01:00
parent a8798260dc
commit ec4bdd6f7f
2 changed files with 12 additions and 7 deletions

View File

@@ -27,6 +27,7 @@ class X26Triplet
public:
// x26model.h has the Plain English descriptions of these errors
enum X26TripletError { NoError, ActivePositionMovedUp, ActivePositionMovedLeft, InvokePointerInvalid, InvokeTypeMismatch, OriginModifierAlone };
enum ObjectSource { InvalidObjectSource, LocalObject, POPObject, GPOPObject };
X26Triplet() {}
// X26Triplet(const X26Triplet &other);
@@ -49,6 +50,8 @@ public:
void setAddressRow(int);
void setAddressColumn(int);
int objectSource() const { return (m_address & 0x18) >> 3; }
int objectLocalDesignationCode() const { return (((m_address & 0x01) << 3) | (m_data >> 4)); }
int objectLocalTripletNumber() const { return m_data & 0x0f; }
int objectLocalIndex() const { return objectLocalDesignationCode() * 13 + objectLocalTripletNumber(); }