From 5dbbd5cc8fcf1bd9e6f97281e7d2802584b06977 Mon Sep 17 00:00:00 2001 From: meepingsnesroms Date: Tue, 3 Apr 2018 11:19:43 -0700 Subject: [PATCH] Clean up more c89 and Palm OS int length crap --- hwTestSuite/testSuite.c | 1 - hwTestSuite/tests.c | 23 ++++++++++-------- hwTestSuite/viewer.c | 20 ++++++++------- ...TstSuite(starting to load subprograms).prc | Bin 0 -> 22651 bytes 4 files changed, 24 insertions(+), 20 deletions(-) create mode 100644 tests/hwTestSuiteVersions/TstSuite(starting to load subprograms).prc diff --git a/hwTestSuite/testSuite.c b/hwTestSuite/testSuite.c index c77f4de..1ef7e5d 100644 --- a/hwTestSuite/testSuite.c +++ b/hwTestSuite/testSuite.c @@ -249,7 +249,6 @@ static Boolean testerInit(){ lastSubprogramReturnValue = makeVar(LENGTH_0, TYPE_NULL, 0); subprogramArgs = makeVar(LENGTH_0, TYPE_NULL, 0); currentSubprogram = testPicker; - /*currentSubprogram = hexRamBrowser;*/ return true; } diff --git a/hwTestSuite/tests.c b/hwTestSuite/tests.c index 68790b7..20faf77 100644 --- a/hwTestSuite/tests.c +++ b/hwTestSuite/tests.c @@ -2,44 +2,47 @@ #include "viewer.h" #include "ugui.h" + var hexRamBrowser(){ static Boolean clearScreen = true; - static uint32_t column = 0;/*what column to change with up/down keys*/ - static uint32_t pointerValue = 0x00000000; + static uint32_t nibble = 0;/*what column to change with up/down keys*/ + static uint32_t pointerValue = UINT32_C(0x77777777);/*in the middle of everything*/ static char hexString[100]; - if(getButtonPressed(buttonUp)){ - pointerValue += 0x1 << (4 * (7 - column)); + pointerValue += 0x1 << (4 * (7 - nibble)); } if(getButtonPressed(buttonDown)){ - pointerValue -= 0x1 << (4 * (7 - column)); + pointerValue -= 0x1 << (4 * (7 - nibble)); } if(getButtonPressed(buttonLeft)){ - if(column > 0) - column--; + if(nibble > 0) + nibble--; } if(getButtonPressed(buttonRight)){ - if(column < 7) - column++; + if(nibble < 7) + nibble++; } if(getButtonPressed(buttonSelect)){ /*open hex viewer*/ + nibble = 0; clearScreen = true; setSubprogramArgs(makeVar(LENGTH_ANY, TYPE_PTR, pointerValue));/*length doesnt matter*/ execSubprogram(hexViewer); } if(getButtonPressed(buttonBack)){ + nibble = 0; clearScreen = true; exitSubprogram(); } - StrPrintF(hexString, "Open Hex Viewer At:\n0x%08X", pointerValue); + /*Palm OS sprintf only supports 16 bit ints*/ + StrPrintF(hexString, "Open Hex Viewer At:\n0x%04X%04X", (uint16_t)(pointerValue >> 16), (uint16_t)pointerValue); if(clearScreen){ UG_FillScreen(C_WHITE); diff --git a/hwTestSuite/viewer.c b/hwTestSuite/viewer.c index ed71112..0e4e921 100644 --- a/hwTestSuite/viewer.c +++ b/hwTestSuite/viewer.c @@ -28,8 +28,8 @@ /*tests*/ -static test_t hwTests[TESTS_AVAILABLE]; -static uint32_t totalHwTests; +static test_t hwTests[TESTS_AVAILABLE]; +static uint32_t totalHwTests; /*graphics*/ static UG_WINDOW fbWindow; @@ -38,13 +38,13 @@ static UG_TEXTBOX listEntrys[ITEM_LIST_ENTRYS]; static char textboxString[ITEM_LIST_ENTRYS][ITEM_STRING_SIZE]; /*list handler variables*/ -static uint32_t page = 0; -static uint32_t index = 0; -static uint32_t lastIndex = 0; -static uint32_t lastPage = 0; -static uint32_t listLength = 0; -static uint32_t selectedEntry = 0; -static Boolean forceListRefresh = true; +static uint32_t page; +static uint32_t index; +static uint32_t lastIndex; +static uint32_t lastPage; +static uint32_t listLength; +static uint32_t selectedEntry; +static Boolean forceListRefresh; static void (*listHandler)(uint32_t command); /*specific handler variables*/ @@ -163,6 +163,8 @@ static var listModeFrame(){ lastIndex = index; lastPage = page; + //forceTextEntryRefresh(0); + fbWindow.state |= WND_STATE_UPDATE; UG_Update(); UG_PutString(0, 50, "subprogram exec worked"); diff --git a/tests/hwTestSuiteVersions/TstSuite(starting to load subprograms).prc b/tests/hwTestSuiteVersions/TstSuite(starting to load subprograms).prc new file mode 100644 index 0000000000000000000000000000000000000000..5a87924e4bfd141e7a18ebaa3e0ddf82c3ab3272 GIT binary patch literal 22651 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 literal 0 HcmV?d00001