From 95d1c8cf2d1d34c6edb6ebaba22925d602020479 Mon Sep 17 00:00:00 2001 From: meepingsnesroms Date: Sat, 28 Jul 2018 14:42:38 -0700 Subject: [PATCH] Clean ups, add picture --- missingFunctions.txt | 10 +++++++++ qtBuildSystem/Mu/Mu.pro.user | 2 +- src/debug/sandbox.c | 39 ------------------------------------ src/debug/sandbox.h | 3 +-- src/emulator.c | 14 ------------- 5 files changed, 12 insertions(+), 56 deletions(-) create mode 100644 missingFunctions.txt diff --git a/missingFunctions.txt b/missingFunctions.txt new file mode 100644 index 0000000..3e4226c --- /dev/null +++ b/missingFunctions.txt @@ -0,0 +1,10 @@ +This is like unimplementedHardware.txt but only lists things that have functionality issues not accuracy issues. + +RTC doesnt seem to work +Memory is only 8mb(expected since only 1/2 the chipselect lines are emulated properly) +Sound(those cute little PWM beeps) +The touchscreen pixels do not correspond to the device pixels in the QT version +Nothing can be installed(theres no memory card, hotsync emulation or direct installation hack) +When running OS commands through callFunction() it can crash +Only runs in debug mode because the touchscreen can only be pushed with a jump to OS function hack +Holding the buttons emulates pressing them like a turbo button \ No newline at end of file diff --git a/qtBuildSystem/Mu/Mu.pro.user b/qtBuildSystem/Mu/Mu.pro.user index eaece40..0a03b89 100644 --- a/qtBuildSystem/Mu/Mu.pro.user +++ b/qtBuildSystem/Mu/Mu.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/src/debug/sandbox.c b/src/debug/sandbox.c index aa87cf3..2f28d01 100644 --- a/src/debug/sandbox.c +++ b/src/debug/sandbox.c @@ -439,45 +439,6 @@ void sandboxTest(uint32_t test){ callFunction(false, 0x00000000, "EvtEnqueuePenPoint", "w(p)", 0xFFFFFFE0 - 4); } break; - - case SANDBOX_SEND_OS_TOUCH_CALIBRATE:{ - //press, top left - m68k_write_memory_16(0xFFFFFFE0 - 4, 10/*x*/); - m68k_write_memory_16(0xFFFFFFE0 - 2, 10/*y*/); - callFunction(false, 0x00000000, "PenScreenToRaw", "w(p)", 0xFFFFFFE0 - 4); - callFunction(false, 0x00000000, "EvtEnqueuePenPoint", "w(p)", 0xFFFFFFE0 - 4); - - //release - m68k_write_memory_16(0xFFFFFFE0 - 4, (uint16_t)-1/*x*/); - m68k_write_memory_16(0xFFFFFFE0 - 2, (uint16_t)-1/*y*/); - callFunction(false, 0x00000000, "PenScreenToRaw", "w(p)", 0xFFFFFFE0 - 4); - callFunction(false, 0x00000000, "EvtEnqueuePenPoint", "w(p)", 0xFFFFFFE0 - 4); - - //press, bottom right - m68k_write_memory_16(0xFFFFFFE0 - 4, 159 - 10/*x*/); - m68k_write_memory_16(0xFFFFFFE0 - 2, 159 - 10/*y*/); - callFunction(false, 0x00000000, "PenScreenToRaw", "w(p)", 0xFFFFFFE0 - 4); - callFunction(false, 0x00000000, "EvtEnqueuePenPoint", "w(p)", 0xFFFFFFE0 - 4); - - //release - m68k_write_memory_16(0xFFFFFFE0 - 4, (uint16_t)-1/*x*/); - m68k_write_memory_16(0xFFFFFFE0 - 2, (uint16_t)-1/*y*/); - callFunction(false, 0x00000000, "PenScreenToRaw", "w(p)", 0xFFFFFFE0 - 4); - callFunction(false, 0x00000000, "EvtEnqueuePenPoint", "w(p)", 0xFFFFFFE0 - 4); - - //press, upper middle - m68k_write_memory_16(0xFFFFFFE0 - 4, 159 / 2/*x*/); - m68k_write_memory_16(0xFFFFFFE0 - 2, 159 / 2 - 13/*y*/); - callFunction(false, 0x00000000, "PenScreenToRaw", "w(p)", 0xFFFFFFE0 - 4); - callFunction(false, 0x00000000, "EvtEnqueuePenPoint", "w(p)", 0xFFFFFFE0 - 4); - - //release - m68k_write_memory_16(0xFFFFFFE0 - 4, (uint16_t)-1/*x*/); - m68k_write_memory_16(0xFFFFFFE0 - 2, (uint16_t)-1/*y*/); - callFunction(false, 0x00000000, "PenScreenToRaw", "w(p)", 0xFFFFFFE0 - 4); - callFunction(false, 0x00000000, "EvtEnqueuePenPoint", "w(p)", 0xFFFFFFE0 - 4); - } - break; } debugLog("Sandbox: Test %d finished\n", test); diff --git a/src/debug/sandbox.h b/src/debug/sandbox.h index 123d2e6..1d93d0f 100644 --- a/src/debug/sandbox.h +++ b/src/debug/sandbox.h @@ -6,8 +6,7 @@ enum{ SANDBOX_TEST_OS_VER = 0, SANDBOX_TEST_TOUCH_READ, - SANDBOX_SEND_OS_TOUCH, - SANDBOX_SEND_OS_TOUCH_CALIBRATE + SANDBOX_SEND_OS_TOUCH }; typedef struct{ diff --git a/src/emulator.c b/src/emulator.c index 81346bb..abbcf29 100644 --- a/src/emulator.c +++ b/src/emulator.c @@ -536,8 +536,6 @@ void emulateFrame(){ //hack, this is just an easy way to use the sandbox without attaching it to the emulator frontend static bool allowRun1 = true; - static bool allowRun2 = true; - if(palmInput.buttonUp){ palmInput.buttonUp = false; @@ -550,18 +548,6 @@ void emulateFrame(){ allowRun1 = true; } - if(palmInput.buttonDown){ - palmInput.buttonDown = false; - - if(allowRun2){ - sandboxTest(SANDBOX_SEND_OS_TOUCH_CALIBRATE); - allowRun2 = false; - } - } - else{ - allowRun2 = true; - } - while(palmCycleCounter < CRYSTAL_FREQUENCY / EMU_FPS){ if(palmCrystalCycles != 0.0 && !lowPowerStopActive){ //the frequency can change mid frame and get stuck in an infinite loop because of a divide by 0.0