diff --git a/src/CxbxKrnl/EmuKrnlKe.cpp b/src/CxbxKrnl/EmuKrnlKe.cpp index e3792129d..47df1b53e 100644 --- a/src/CxbxKrnl/EmuKrnlKe.cpp +++ b/src/CxbxKrnl/EmuKrnlKe.cpp @@ -454,6 +454,8 @@ XBSYSAPI EXPORTNUM(126) xboxkrnl::ULONGLONG NTAPI xboxkrnl::KeQueryPerformanceCo ::LARGE_INTEGER PerformanceCounter; + // TODO : When Cxbx emulates the RDTSC opcode, use the same handling here. + // Dxbx note : Xbox actually uses the RDTSC machine code instruction for this, // and we we're bound to a single core, so we could do that too, but on Windows // rdtsc is not a very stable counter, so instead, we'll use the native PeformanceCounter : diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl index fe8f5567d..f7758730e 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.3911.inl @@ -821,28 +821,6 @@ OOVPA_NO_XREF(SignalObjectAndWait_1_0_3911, 8) { 0x46, 0x00 }, OOVPA_END; -// ****************************************************************** -// * PulseEvent -// ****************************************************************** -OOVPA_NO_XREF(PulseEvent_1_0_3911, 11) - - // PulseEvent+0x00 : push 0 - { 0x00, 0x6A }, - { 0x01, 0x00 }, - // PulseEvent+0x02 : push [esp+8] - { 0x02, 0xFF }, - { 0x03, 0x74 }, - { 0x04, 0x24 }, - { 0x05, 0x08 }, - // PulseEvent+0x06 : call ds:NtPulseEvent - { 0x06, 0xFF }, - { 0x07, 0x15 }, - { 0x08, 0x54 }, - // PulseEvent+0x12 : test eax, eax - { 0x0C, 0x85 }, - { 0x0D, 0xC0 }, -OOVPA_END; - // ****************************************************************** // * QueueUserAPC // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl index 354b8015b..c900f6a6b 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4134.inl @@ -142,67 +142,6 @@ OOVPA_NO_XREF(XMountUtilityDrive_1_0_4134, 10) { 0xAC, 0xF0 }, // (Offset,Value)-Pair #10 OOVPA_END; -// ****************************************************************** -// * QueryPerformanceCounter -// ****************************************************************** -OOVPA_NO_XREF(QueryPerformanceCounter_1_0_4134, 12) - - // QueryPerformanceCounter+0x04 : rdtsc - { 0x04, 0x0F }, // (Offset,Value)-Pair #1 - { 0x05, 0x31 }, // (Offset,Value)-Pair #2 - - // QueryPerformanceCounter+0x06 : mov [ecx], eax - { 0x06, 0x89 }, // (Offset,Value)-Pair #3 - { 0x07, 0x01 }, // (Offset,Value)-Pair #4 - - // QueryPerformanceCounter+0x08 : mov [ecx+4], eax - { 0x08, 0x89 }, // (Offset,Value)-Pair #5 - { 0x09, 0x51 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x04 }, // (Offset,Value)-Pair #7 - - // QueryPerformanceCounter+0x0B : xor eax, eax - { 0x0B, 0x33 }, // (Offset,Value)-Pair #8 - { 0x0C, 0xC0 }, // (Offset,Value)-Pair #9 - - // QueryPerformanceCounter+0x0D : inc eax - { 0x0D, 0x40 }, // (Offset,Value)-Pair #10 - - // QueryPerformanceCounter+0x0E : retn 0x04 - { 0x0E, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x0F, 0x04 }, // (Offset,Value)-Pair #12 -OOVPA_END; - -// ****************************************************************** -// * QueryPerformanceFrequency -// ****************************************************************** -OOVPA_NO_XREF(QueryPerformanceFrequency_1_0_4134, 15) - - // QueryPerformanceFrequency+0x04 : and dword ptr [eax+4], 0 - { 0x04, 0x83 }, // (Offset,Value)-Pair #1 - { 0x05, 0x60 }, // (Offset,Value)-Pair #2 - { 0x06, 0x04 }, // (Offset,Value)-Pair #3 - { 0x07, 0x00 }, // (Offset,Value)-Pair #4 - - // QueryPerformanceFrequency+0x06 : mov dword ptr [eax], 0x2BB5C755 - { 0x08, 0xC7 }, // (Offset,Value)-Pair #5 - { 0x09, 0x00 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x55 }, // (Offset,Value)-Pair #7 - { 0x0B, 0xC7 }, // (Offset,Value)-Pair #8 - { 0x0C, 0xB5 }, // (Offset,Value)-Pair #9 - { 0x0D, 0x2B }, // (Offset,Value)-Pair #10 - - // QueryPerformanceFrequency+0x0E : xor eax, eax - { 0x0E, 0x33 }, // (Offset,Value)-Pair #11 - { 0x0F, 0xC0 }, // (Offset,Value)-Pair #12 - - // QueryPerformanceFrequency+0x10 : inc eax - { 0x10, 0x40 }, // (Offset,Value)-Pair #13 - - // QueryPerformanceFrequency+0x11 : retn 0x04 - { 0x11, 0xC2 }, // (Offset,Value)-Pair #14 - { 0x12, 0x04 }, // (Offset,Value)-Pair #15 -OOVPA_END; - // ****************************************************************** // * XInputPoll // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl index 18c6753d6..0cc1b6376 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4361.inl @@ -60,67 +60,6 @@ OOVPA_NO_XREF(RtlFreeHeap_1_0_4361, 12) { 0xA5, 0xE3 }, // (Offset,Value)-Pair #12 OOVPA_END; -// ****************************************************************** -// * QueryPerformanceCounter -// ****************************************************************** -OOVPA_NO_XREF(QueryPerformanceCounter_1_0_4361, 12) - - // QueryPerformanceCounter+0x04 : rdtsc - { 0x04, 0x0F }, // (Offset,Value)-Pair #1 - { 0x05, 0x31 }, // (Offset,Value)-Pair #2 - - // QueryPerformanceCounter+0x06 : mov [ecx], eax - { 0x06, 0x89 }, // (Offset,Value)-Pair #3 - { 0x07, 0x01 }, // (Offset,Value)-Pair #4 - - // QueryPerformanceCounter+0x08 : mov [ecx+4], eax - { 0x08, 0x89 }, // (Offset,Value)-Pair #5 - { 0x09, 0x51 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x04 }, // (Offset,Value)-Pair #7 - - // QueryPerformanceCounter+0x0B : xor eax, eax - { 0x0B, 0x33 }, // (Offset,Value)-Pair #8 - { 0x0C, 0xC0 }, // (Offset,Value)-Pair #9 - - // QueryPerformanceCounter+0x0D : inc eax - { 0x0D, 0x40 }, // (Offset,Value)-Pair #10 - - // QueryPerformanceCounter+0x0E : retn 0x04 - { 0x0E, 0xC2 }, // (Offset,Value)-Pair #11 - { 0x0F, 0x04 }, // (Offset,Value)-Pair #12 -OOVPA_END; - -// ****************************************************************** -// * QueryPerformanceFrequency -// ****************************************************************** -OOVPA_NO_XREF(QueryPerformanceFrequency_1_0_4361, 15) - - // QueryPerformanceFrequency+0x04 : and dword ptr [eax+4], 0 - { 0x04, 0x83 }, // (Offset,Value)-Pair #1 - { 0x05, 0x60 }, // (Offset,Value)-Pair #2 - { 0x06, 0x04 }, // (Offset,Value)-Pair #3 - { 0x07, 0x00 }, // (Offset,Value)-Pair #4 - - // QueryPerformanceFrequency+0x06 : mov dword ptr [eax], 0x2BB5C755 - { 0x08, 0xC7 }, // (Offset,Value)-Pair #5 - { 0x09, 0x00 }, // (Offset,Value)-Pair #6 - { 0x0A, 0x55 }, // (Offset,Value)-Pair #7 - { 0x0B, 0xC7 }, // (Offset,Value)-Pair #8 - { 0x0C, 0xB5 }, // (Offset,Value)-Pair #9 - { 0x0D, 0x2B }, // (Offset,Value)-Pair #10 - - // QueryPerformanceFrequency+0x0E : xor eax, eax - { 0x0E, 0x33 }, // (Offset,Value)-Pair #11 - { 0x0F, 0xC0 }, // (Offset,Value)-Pair #12 - - // QueryPerformanceFrequency+0x10 : inc eax - { 0x10, 0x40 }, // (Offset,Value)-Pair #13 - - // QueryPerformanceFrequency+0x11 : retn 0x04 - { 0x11, 0xC2 }, // (Offset,Value)-Pair #14 - { 0x12, 0x04 }, // (Offset,Value)-Pair #15 -OOVPA_END; - // ****************************************************************** // * XInputOpen // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl index 0374c0034..fb055c1b2 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.4627.inl @@ -690,19 +690,6 @@ OOVPA_NO_XREF(XUnmountAlternateTitleA_1_0_4627, 7) { 0x52, 0x50 }, OOVPA_END; -// ****************************************************************** -// * XGetFileCacheSize -// ****************************************************************** -OOVPA_NO_XREF(XGetFileCacheSize_1_0_4627, 6) - - { 0x00, 0xFF }, - { 0x01, 0x15 }, - { 0x06, 0xC1 }, - { 0x07, 0xE0 }, - { 0x08, 0x0C }, - { 0x09, 0xC3 }, -OOVPA_END; - // ****************************************************************** // * MoveFileA // ****************************************************************** diff --git a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl index dd1c6c6d8..36fbbc9fd 100644 --- a/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl +++ b/src/CxbxKrnl/HLEDataBase/Xapi.1.0.5233.inl @@ -93,19 +93,6 @@ OOVPA_NO_XREF(XInputSetState_1_0_5233, 7) { 0x30, 0xC2 }, OOVPA_END; -// ****************************************************************** -// * XGetFileCacheSize -// ****************************************************************** -OOVPA_NO_XREF(XGetFileCacheSize_1_0_5344, 6) - - { 0x00, 0xFF }, - { 0x01, 0x15 }, - { 0x06, 0xC1 }, - { 0x07, 0xE0 }, - { 0x08, 0x0C }, - { 0x09, 0xC3 }, -OOVPA_END; - // ****************************************************************** // * XAPI_1_0_5233 // ******************************************************************