mirror of
https://github.com/libretro/Mu.git
synced 2026-09-23 07:05:37 +00:00
Clean ups, add picture
This commit is contained in:
10
missingFunctions.txt
Normal file
10
missingFunctions.txt
Normal file
@@ -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
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.7.0, 2018-07-28T08:50:28. -->
|
||||
<!-- Written by QtCreator 4.7.0, 2018-07-28T14:31:37. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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{
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user