Jump to content

XP running on a 486 cpu


Dietmar

Recommended Posts

Posted (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 by Dietmar
Link to comment
Share on other sites


Posted (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 by Dietmar
Link to comment
Share on other sites

Posted (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:thumbup

Dietmar

Edited by Dietmar
Link to comment
Share on other sites

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 

 

 

Link to comment
Share on other sites

Posted (edited)

It workkkkkkkkkkkkkkkkkkkkkkkkkkkkssssssssssssssssssssssss:cheerleader::cheerleader::cheerleader:

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 by Dietmar
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 by Cixert
Link to comment
Share on other sites

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)

Link to comment
Share on other sites

@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

 

Link to comment
Share on other sites

Here is the working XP SP3 for 486 cpu.

It also contains in an extra folder all the for 486 modded files.

It is after install in TXT-Setup before first reboot.

I tested it on an Amd 133 -p75 cpu.

As CD I use my german VL xp.iso with XP SP3

Dietmar

https://ufile.io/upxbmmse

Link to comment
Share on other sites

You can improve performance much better with MicroXP designed by experience. The iso file is 63MB, so it would fit on 128MB usb flash drive or minidisc (aka mini cd-rom).

The link for this is here

https://archive.org/details/ListOfEXPer1enceMicroXPTinyXPVersionsApr2018

and there's the ISO that is more than 100MB

https://archive.org/details/MicroXP-0.82/MicroXP Screenshot 3.png

 

I think you should try it and see if it works

Edited by ProgramHacker
Additional info
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...