user57 Posted April 11 Share Posted April 11 you dont have to neccesary use a near jmp, short jump it is distance based with signed byte (-127 +127) Link to comment Share on other sites More sharing options...
roytam1 Posted April 12 Share Posted April 12 just tested with my NM27 IA32 package, some DLLs has CX8 so it can't run on 486: D3DCompiler_43.dll :: 100ac750: 0f c7 0a cmpxchg8b (%edx) mozjs.dll :: 1026832e: f0 0f c7 0e lock cmpxchg8b (%esi) 10268367: f0 0f c7 0e lock cmpxchg8b (%esi) msvcr120.dll :: 10075087: f0 0f c7 0f lock cmpxchg8b (%edi) vcomp120.dll :: 10007483: f0 0f c7 0e lock cmpxchg8b (%esi) 10007631: f0 0f c7 0e lock cmpxchg8b (%esi) 1000a60f: f0 0f c7 0f lock cmpxchg8b (%edi) 1000a674: f0 0f c7 0f lock cmpxchg8b (%edi) 1000a6e2: f0 0f c7 0f lock cmpxchg8b (%edi) 1000a75c: f0 0f c7 0f lock cmpxchg8b (%edi) 1000a7d6: f0 0f c7 0f lock cmpxchg8b (%edi) 1000a847: f0 0f c7 0f lock cmpxchg8b (%edi) 1000a8ac: f0 0f c7 0f lock cmpxchg8b (%edi) 1000a911: f0 0f c7 0f lock cmpxchg8b (%edi) 1000a97e: f0 0f c7 0f lock cmpxchg8b (%edi) 1000a9f2: f0 0f c7 0f lock cmpxchg8b (%edi) 1000aa66: f0 0f c7 0f lock cmpxchg8b (%edi) 1000ac31: f0 0f c7 0f lock cmpxchg8b (%edi) 1000aca7: f0 0f c7 0f lock cmpxchg8b (%edi) 1000ad1d: f0 0f c7 0f lock cmpxchg8b (%edi) 1000ad93: f0 0f c7 0f lock cmpxchg8b (%edi) xul.dll :: 10230f1e: f0 0f c7 0e lock cmpxchg8b (%esi) 10230f57: f0 0f c7 0e lock cmpxchg8b (%esi) 10230f87: f0 0f c7 0e lock cmpxchg8b (%esi) Link to comment Share on other sites More sharing options...
Dietmar Posted April 12 Author Share Posted April 12 @Mov AX, 0xDEAD Is there a PCI Lan card, that works for Windbg on XP on a 486 board Dietmar Link to comment Share on other sites More sharing options...
Dietmar Posted April 12 Author Share Posted April 12 (edited) @roytam1 Thanks, I will check Dietmar EDIT: No one from this files is on my XP SP3 install. Edited April 12 by Dietmar Link to comment Share on other sites More sharing options...
Dietmar Posted April 12 Author Share Posted April 12 (edited) @Mov AX, 0xDEAD I think, I get reboot of my modded XP SP3, because of CPUID check in ntoskrnl.exe, opcode 0F A2. Do you know, how to fake this, Dietmar Edited April 12 by Dietmar Link to comment Share on other sites More sharing options...
user57 Posted April 12 Share Posted April 12 cpuid not an essential command however you should set this command to values the OS/WINXP can act related to a 4x86 cpu https://www.felixcloutier.com/x86/cpuid ttps://en.m.wikipedia.org/wiki/CPUID Link to comment Share on other sites More sharing options...
Dietmar Posted April 12 Author Share Posted April 12 (edited) @user57 Until now I do not succeed to set up a Windbg session on my 486 board for XP SP3. May be, that the address of the COM1 port does not match? And I start to think, that not the CPUID of the 486 cpu is the reason for crash Dietmar Edited April 12 by Dietmar Link to comment Share on other sites More sharing options...
roytam1 Posted April 12 Share Posted April 12 4 hours ago, Dietmar said: @roytam1 Thanks, I will check Dietmar EDIT: No one from this files is on my XP SP3 install. MSVCR120 and VCOMP120 are from MSVC 2013 runtime (I already patched CMOV from MSVCR120 here) D3DCompiler_43 is from DirectX 9 runtime others are just compiled from source with MSVC2013, but I can't find a way to tell compiler NOT to compile with CMPXCHG8B. Link to comment Share on other sites More sharing options...
roytam1 Posted April 12 Share Posted April 12 4 hours ago, Dietmar said: @Mov AX, 0xDEAD I think, I get reboot of my modded XP SP3, because of CPUID check in ntoskrnl.exe, opcode 0F A2. Do you know, how to fake this, Dietmar but all 486 should support CPUID opcode. https://www.ardent-tool.com/CPU/486_Step.html Link to comment Share on other sites More sharing options...
user57 Posted April 13 Share Posted April 13 this is a good time to talk about the CPUID command that command returns info about the processor it stores that information in EAX, EBX, ECX, and EDX very interesting for WINXP might be the PSE flag and the PAE flag with this interesting result as we always have it around somewhere "32 bits or wires are the limit for 32 bits" that guy actually wrote it like this: "Summary of 32-bit paging": "This allows a maximum RAM configuration of 252 bytes, or 4 petabytes (about 4.5×1015 bytes)." and it tells us win2k actually used up these methods "Windows 2000 Datacenter Memory Limit 32 GB RAM" https://en.wikipedia.org/wiki/Physical_Address_Extension https://en.wikipedia.org/wiki/PSE-36 https://en.m.wikipedia.org/wiki/Page_Size_Extension we might can but OS, CPU and BUS/RAM have to do so but back to the cpuid command it has information what commands can be used or what "technology" is available for this cpu this includes if it can make that cmpxchg8b command in EDX MMX (flag 23), cx8(flag 8 = cmpxchg8b), (pse(page size extension) flag 3), pae ((physical address extension)flag 6) , in ECX (AVX (28), sse4.2 , sse4.1, sse3) and so on the operating system useally should know if that command in invalid if it just continue it might use SSE or the MMX commands, what should cause a BSOD so rather be safe and store them up with a CPU result you actually made with a cpuid command script from a old CPU (a script for cpuid is easy to write and around in web) maybe from a late 486 cpu (what we can google that those are to be said to have the cpuid command) then you know for sure what those CPU actually gave back as result (the few flags maybe if that cmpxchg8b was avaiable you can just delete up) then you fill up either the registers or where windows store that information, then the OS/WINXP can react to that information, if WINXP actually dont have a reaction, if the command was not correctly reconized, failed, ect Link to comment Share on other sites More sharing options...
roytam1 Posted April 13 Share Posted April 13 On 4/11/2024 at 3:55 PM, Dietmar said: Whole fun https://ufile.io/yn65co18 tried to replace them in my ENG installation in 86box: but it stalls right before showing boot screen: Link to comment Share on other sites More sharing options...
Dietmar Posted April 13 Author Share Posted April 13 (edited) @roytam1 Windbg session in that x86 box? 1.) Very early Bsod 0x0000005D, (unknown processor), no running bar of XP. 2.) My serial connection does not work for this board. May be, because it does not use the standard configuration 0x3F8, IRQ 4 for the COM1 port. Dietmar Edited April 13 by Dietmar Link to comment Share on other sites More sharing options...
roytam1 Posted April 13 Share Posted April 13 (edited) 16 minutes ago, Dietmar said: @roytam1 Windbg session in that x86 box? 1.) Very early Bsod 0x0000005D, (unknown processor), no running bar of XP. 2.) My serial connection does not work for this board. May be, because it does not use the standard configuration 0x3F8, IRQ 4 for the COM1 port. Dietmar yeah it seems to be (1) here. I patched out 0F 89 CC DB 00 00 to 90 90 90 90 90 90 and it shows XP running bar now. and it works here! Edited April 13 by roytam1 1 Link to comment Share on other sites More sharing options...
Dietmar Posted April 13 Author Share Posted April 13 (edited) @roytam1 Yesssssaaa, I got it, XP SP3 on my Shuttle Hot 433 board and AMD 100MHZ 486 cpu Dietmar PS: Boot time to desktop is about 2 min. Via F8 you have to enable VGA modus. New ntoskrnl.exe with modd from @roytam1 https://ufile.io/peux59x6 Edited April 13 by Dietmar Link to comment Share on other sites More sharing options...
roytam1 Posted April 13 Share Posted April 13 48 minutes ago, Dietmar said: PS: Boot time to desktop is about 2 min. Via F8 you have to enable VGA modus. emulated GD5446 and PCNet-III works fine here. since its harddisk image is on a 10000rpm WD VelociRaptor drive, it boots quite fast, within 1 minute. BTW can you patch out D3DCompiler_43.dll's cmpxchg8b? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now