Dietmar Posted April 27, 2024 Author Posted April 27, 2024 (edited) @user57 CPUID is really a lot of stuff, see at this https://www.sandpile.org/x86/cpuid.htm Yepp, the aim can be, to set all values correct for the 486 AMD 133 MHZ cpu, Am5x86, and with a fake bit for the CMPXCHG8B. This 486 cpu is cheap, has 16kB cache and can be overclocked to 160..(200) MHZ Dietmar PS: I get 486 cpu's to run stable XP SP3: AMD 100 MHZ and AMD 133 MHZ. Only install of XP SP3 for this cpu's is not so easy. Edited April 27, 2024 by Dietmar
Dietmar Posted April 27, 2024 Author Posted April 27, 2024 (edited) May be, that the check for the 9th bit in EDX for the present of CMPXCHG8B on a cpu can be faked via this Original test edx, 100h == F7 C2 00 01 00 00 replaced with or edx, 100h == 81 CA 00 01 00 00 It does not change any other in EDX, it just sets this 9th bit for CMPXCHG8B in EDX and the ZeroFlag behaves after this operation in both identically Dietmar Edited April 27, 2024 by Dietmar
Dietmar Posted April 27, 2024 Author Posted April 27, 2024 (edited) Problem is, that we have only 6 byte for all. May be this bts edx, 8 ; Set the 9th bit in EDX and update the zero flag == 0f ba ea 08 test edx, edx ; Test the value of EDX against itself to clear the zero flag == 85 d2 So, always the 9th bit in EDX will be set, no matter if it was set already or not. And the test edx, edx makes sure, that the zeroflag is cleared. No other value in EAX, EBX, ECX, EDX is disturbed from this hack waaoh Dietmar Edited April 27, 2024 by Dietmar
user57 Posted April 27, 2024 Posted April 27, 2024 well thats why i came up with the idea to use a older cpu to have the most of the results if some dont understand whats going on: the disassembly instruction code is useally shown with 2 methods: method 1 : hexadecimal the instruction set goes like this: (instead of 12345678 or 87654321) it go useally like this: 21435687 (memory storeage) for instruction it useally go like this : 12345678 to (real) 78563412 the disassembler dont show you this on the bit code therefore hex 00 01 translate to 0100 what is bit 9 (or classical if you have the 0 its 0 + 8 (9) bit 8 ) (because bit 1 has name bit 0 (and it still has 9 numbers))) thats why dietmar made it correct "test edx, 100h == F7 C2 00 01 00 00" and "or edx, 100h == 81 CA 00 01 00 00" dietmar pointed out that he has a cache problem actually that raise questions , the cpu dietmar use dont got that command but the OS (winxp) might have used up a cache setting, that CPUID command if present holds cache information i do not know how that interacts with the RAM memory - maybe thats some work for the WRK but i do not want to study the function
Dietmar Posted April 27, 2024 Author Posted April 27, 2024 (edited) It workkkkkkkkkkkkkkkkkkkkkkkkkkkkssssssssssssssssssssssss Just now I am installing XP SP3 via CD on an AMD 486 100MHZ cpu Dietmar EDIT: But 486 compi reboots at the place, Windows is starting, when the harddisk should be seen.. EDIT2: Rom also was not build in one day. So, for today it is a nice result to overcome the CMPXCHG8B check in XP. Here are all my files until now for 486 XP SP3 boot and install https://ufile.io/7bgj5rv1 Edited April 27, 2024 by Dietmar
Dietmar Posted April 27, 2024 Author Posted April 27, 2024 I think, that the reboot of the 486 compi during Setup happens, because CPUID gives values in all those registers, which tell Setup, that it is an unsupported cpu. The same happened when using a ready IDE install and can be overcome only with the nice hack from @roytam1 against Bsod 0x0000005D, Bug Check UNSUPPORTED_PROCESSOR. May be a working solution would be, to fake the 486 cpu with the CPUID settings of the Intel Overdrive 486 cpu podp5v83. But this needs to be checked careful. Anyway I get stable XP SP3 on 2 different Amd 486 cpu's, 100 MHZ and 133 MHZ. With updating the Cache to 1024 KB, may be, that XP uses all the memory and then it will be much faster Dietmar
Cixert Posted April 27, 2024 Posted April 27, 2024 (edited) Have you tried the HAL "Standard Equip with C-Step i486"? If you press F5 when starting the Windows XP installation CD, when it says press F6 to install hard drive drivers, a menu appears after a few seconds to choose the HAL layer and one of the options is that, if press F5. I am not very clear if this HAL is for a review of Intel 80486 processors or refers to other processors. Edited April 27, 2024 by Cixert
ProgramHacker Posted April 28, 2024 Posted April 28, 2024 7 hours ago, Cixert said: Have you tried the HAL "Standard Equip with C-Step i486"? If you press F5 when starting the Windows XP installation CD, when it says press F6 to install hard drive drivers, a menu appears after a few seconds to choose the HAL layer and one of the options is that, if press F5. I am not very clear if this HAL is for a review of Intel 80486 processors or refers to other processors. I tried it on an emulated 486, and it is laggy as hell even though it sort of support 486. Also I tried it on Pentium OverDrive 486 83mhz and it's not a fun experience. (86box)
UCyborg Posted April 28, 2024 Posted April 28, 2024 I ran XP on a 2 GHz Celeron machine back in the day and it was kinda mediocre.
Dietmar Posted April 28, 2024 Author Posted April 28, 2024 @Cixert Yes, I try also the 486-step3 hal.dll. Same reboot until now. @ProgramHacker With 256 MB cached ram and 160 MHZ, you can work with XP SP3 on a 486 cpu. It is still slow but enough for easy tasks. For me it is just fun as much as possible, to understand XP much better and how to speed it up Dietmar
Dietmar Posted April 28, 2024 Author Posted April 28, 2024 Here is the source for the 486 fun above Dietmar https://ufile.io/i3j8idk7
Dietmar Posted April 28, 2024 Author Posted April 28, 2024 After a new, full install of XP SP3 on a 486 cpu, I get a boottime from less than 2 min. Now XP uses full 256MB ram, cached with 1024 Cache memory. The load of the cpu goes down to 35%, when doing nothing. With this XP you can work, oh..soso much fun Dietmar 1
roytam1 Posted April 29, 2024 Posted April 29, 2024 21 hours ago, Dietmar said: Here is the source for the 486 fun above Dietmar https://ufile.io/i3j8idk7 I think you may need providing English version of modified files.
Dietmar Posted April 29, 2024 Author Posted April 29, 2024 (edited) @roytam1 Until now,all the 486 cpu's are treated as the Pentium Overdrive 486 Podp5v83.This makes the aktual Xp slow on the Amd processors.For to speed them up a lot,we need to build a real xp486.iso ,where the correct cpu is listened via Cpuid.For me this is hard work,because no Windbg during very first steps of Setup.May be,in this situation an emulation can help a lot,when this emulation can build a real amd486 cpu Dietmar Edit: A elegant solution for this would be,to use the Source for Xp Sp1, adding all 486 cpu's there and just compile a new setupldr.exe and *.bin Edited April 29, 2024 by Dietmar
roytam1 Posted April 29, 2024 Posted April 29, 2024 (edited) On 4/28/2024 at 4:52 AM, Dietmar said: The same happened when using a ready IDE install and can be overcome only with the nice hack from @roytam1 against Bsod 0x0000005D, Bug Check UNSUPPORTED_PROCESSOR. setupldr will boot NTKRNLMP.EXE, so you may need to replace it with our modded one. EDIT: modded NTDLL.DLL doesn't work with usetup and getting 0xC0000005. with unmodded NTDLL.DLL gets 0xC000001E as usual. Edited April 29, 2024 by roytam1
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now