diff --git a/missingFunctions.txt b/missingFunctions.txt
index 0314506..7dde79f 100644
--- a/missingFunctions.txt
+++ b/missingFunctions.txt
@@ -8,6 +8,7 @@ Holding the buttons emulates pressing them like a turbo button(may be caused by
Screenshots use window size and that makes them blurry from filtering
Fixed:
+State menu jitters when made too small(smallest size is now 30x40)
Screen scales wrong when paused
Memory is only 8mb(expected since only 1/2 the chipselect lines are emulated properly)
RTC doesnt seem to work
diff --git a/qtBuildSystem/Mu/statemanager.ui b/qtBuildSystem/Mu/statemanager.ui
index c55e3e3..0829dd2 100644
--- a/qtBuildSystem/Mu/statemanager.ui
+++ b/qtBuildSystem/Mu/statemanager.ui
@@ -52,6 +52,12 @@
0
+
+
+ 30
+ 40
+
+
diff --git a/src/debug/sandbox.c b/src/debug/sandbox.c
index 83f0876..8ad91a8 100644
--- a/src/debug/sandbox.c
+++ b/src/debug/sandbox.c
@@ -427,22 +427,25 @@ void sandboxTest(uint32_t test){
break;
case SANDBOX_SEND_OS_TOUCH:{
- //the hack only seems to work when in an interrupt, a hack for a hack :(
- m68k_set_irq(5);
+ if(!m68k_read_memory_8(0x00000253)){
+ //0x00000253 seems to be a mutex for accessing the event queue
+ //the hack only seems to work when in an interrupt, a hack for a hack :(
+ m68k_set_irq(5);
- if(palmInput.touchscreenTouched){
- //press
- m68k_write_memory_16(0xFFFFFFE0 - 4, palmInput.touchscreenX);
- m68k_write_memory_16(0xFFFFFFE0 - 2, palmInput.touchscreenY);
- callFunction(false, 0x00000000, "PenScreenToRaw", "w(p)", 0xFFFFFFE0 - 4);
- callFunction(false, 0x00000000, "EvtEnqueuePenPoint", "w(p)", 0xFFFFFFE0 - 4);
- }
- else{
- //release
- m68k_write_memory_16(0xFFFFFFE0 - 4, (uint16_t)-1);
- m68k_write_memory_16(0xFFFFFFE0 - 2, (uint16_t)-1);
- callFunction(false, 0x00000000, "PenScreenToRaw", "w(p)", 0xFFFFFFE0 - 4);
- callFunction(false, 0x00000000, "EvtEnqueuePenPoint", "w(p)", 0xFFFFFFE0 - 4);
+ if(palmInput.touchscreenTouched){
+ //press
+ m68k_write_memory_16(0xFFFFFFE0 - 4, palmInput.touchscreenX);
+ m68k_write_memory_16(0xFFFFFFE0 - 2, palmInput.touchscreenY);
+ callFunction(false, 0x00000000, "PenScreenToRaw", "w(p)", 0xFFFFFFE0 - 4);
+ callFunction(false, 0x00000000, "EvtEnqueuePenPoint", "w(p)", 0xFFFFFFE0 - 4);
+ }
+ else{
+ //release
+ m68k_write_memory_16(0xFFFFFFE0 - 4, (uint16_t)-1);
+ m68k_write_memory_16(0xFFFFFFE0 - 2, (uint16_t)-1);
+ callFunction(false, 0x00000000, "PenScreenToRaw", "w(p)", 0xFFFFFFE0 - 4);
+ callFunction(false, 0x00000000, "EvtEnqueuePenPoint", "w(p)", 0xFFFFFFE0 - 4);
+ }
}
}
break;