diff --git a/src/pinproc.cpp b/src/pinproc.cpp index 7a594cf..4ba0164 100644 --- a/src/pinproc.cpp +++ b/src/pinproc.cpp @@ -278,7 +278,7 @@ PR_EXPORT uint16_t PRDecode(PRMachineType machineType, const char *str) } } } - else if (machineType == kPRMachineStern) + else if (machineType == kPRMachineSternSAM) { switch (str[0]) { @@ -307,6 +307,32 @@ PR_EXPORT uint16_t PRDecode(PRMachineType machineType, const char *str) } } } + else if (machineType == kPRMachineSternWhitestar) + { + switch (str[0]) + { + case 'L': + case 'l': + return 80 + 16 * (7 - ((x - 1) % 8)) + (x - 1) / 8; + case 'C': + case 'c': + return x + 31; + case 'S': + case 's': + { + switch (str[1]) + { + case 'D': + case 'd': + if (strlen(str) == 3) + return (str[2]-'0') + 7; + else return x + 7; + default: + return 32 + 16 * (((x-1) / 8)) + (7-((x-1) % 8)); + } + } + } + } return atoi(str); }