Skip to content
View in the app

A better way to browse. Learn more.

MSFN

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

XP running on a 486 cpu

Featured Replies

you dont have to neccesary use a near jmp, short jump it is distance based with signed byte (-127 +127)

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)

 

  • Author

@roytam1

Thanks, I will check

Dietmar

EDIT: No one from this files is on my XP SP3 install.

Edited by Dietmar

  • Author

@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 by Dietmar

  • Author

@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 by Dietmar

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.

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

  • Author

@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 by Dietmar

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!

image.png?ex=662cc0db&is=661a4bdb&hm=d4f

Edited by roytam1

  • Author

@roytam1

Yesssssaaa:cheerleader::cheerleader::cheerleader:,

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

XPSP3on486.jpg

Edited by Dietmar

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?

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.