Mike C Posted June 24, 2024 Posted June 24, 2024 (edited) Digging into it further, the 0x0000007E STOP code means SYSTEM_THREAD_EXCEPTION_NOT_HANDLED. Parameter 1, 0xC000001D, means STATUS_ILLEGAL_INSTRUCTION. According to https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-erref/596a1078-e883-4972-9bbc-49e60bebca55 So there's an opcode the 486 doesn't like getting executed somewhere. @Dietmar I hate to bother you again, but do you know what I should do to find what module is executing an illegal opcode? If I start it in safe mode, it goes further and actually initializes graphical mode for a few moments but then I get another illegal instruction crash in KSecDD.sys but I don't know if this is the same module that is causing a blue screen when booting in normal mode. Edited June 24, 2024 by Mike C
roytam1 Posted June 24, 2024 Posted June 24, 2024 2 hours ago, Mike C said: Digging into it further, the 0x0000007E STOP code means SYSTEM_THREAD_EXCEPTION_NOT_HANDLED. Parameter 1, 0xC000001D, means STATUS_ILLEGAL_INSTRUCTION. According to https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-erref/596a1078-e883-4972-9bbc-49e60bebca55 So there's an opcode the 486 doesn't like getting executed somewhere. @Dietmar I hate to bother you again, but do you know what I should do to find what module is executing an illegal opcode? If I start it in safe mode, it goes further and actually initializes graphical mode for a few moments but then I get another illegal instruction crash in KSecDD.sys but I don't know if this is the same module that is causing a blue screen when booting in normal mode. Base+1E27A in KSecDD.SYS is `CPUID` instruction. I do wonder if your CPU can run CPUID instruction or not?
Dietmar Posted June 24, 2024 Author Posted June 24, 2024 @Mike C I think, that something other goes wrong. Make a try with settings "Write Through" for Ram in Bios. Because "Write Back" halves your memory. And set all the memory timings to the most conservative Dietmar
roytam1 Posted June 24, 2024 Posted June 24, 2024 14 hours ago, Mike C said: I will try soon. you can try this on your current AMD CPU as well.
Mike C Posted June 24, 2024 Posted June 24, 2024 I will try this, but I'm at the work at the moment. In the mean time, does anyone have the model number of a 486 known to work with this XP? In case I need to buy another.
roytam1 Posted June 24, 2024 Posted June 24, 2024 (edited) 2 hours ago, Mike C said: I will try this, but I'm at the work at the moment. In the mean time, does anyone have the model number of a 486 known to work with this XP? In case I need to buy another. Am486DX4-100SV8B for 100MHz and Am486DX4-120SV8B for 120MHz Edited June 24, 2024 by roytam1
Mike C Posted June 24, 2024 Posted June 24, 2024 17 minutes ago, roytam1 said: Am486DX4-100SV8B for 100MHz and Am486DX4-120SV8B for 120MHz Thanks. I actually just happened to try replacing it with a 100 MHz SV8B a few minutes before seeing your message and it works!! The CPU that did NOT work is an Am80486DX4-100NV8T. All is well now, thanks for all of your replies! 1
user57 Posted June 28, 2024 Posted June 28, 2024 what roytram said was correct but, there is a cpuid instruction at that driver spot do we know if the CPU change actually has that cpuid command ? he said he changed his Am80486DX4-100NV8T to a 100 MHz SV8B a few minutes before seeing your message and it works!! that 8B i dont know what it stands for but that cmpxchg8b has that 8b in its name certainly there are specifications around somewhere if these CPU´s have that instructions or not - but how we know ? it might not be published, maybe lost/forgotten you actually often dont see what the CPU really can do if a 486 cpu might have 64 bit FPU registers you might can set 64 bit in 1 instruction i remember that different assembly commands have different cycles - also based on technolegy that being said it was common to show how many cycles an assembly command needs - or even if the cpu has solved it with less or more cycles there are some FPU commands that set quadwords (64 bit - and yes on 32 bit OS), but somehow you would have to load the bits into the FPU first the most common compilers just store 32 bits from the FPU (first you useally dont need more - second the FPU internal has more bits(im not certain about the 486 cpu)) in the end the instruction choose how many of that 64 bit floating point value is stored at the 32 bit location (the FPU then calculate the value for a 32 bit location with a bit less "precision") https://en.wikipedia.org/wiki/Single-precision_floating-point_format https://csrc.nist.gov/CSRC/media/projects/cryptographic-module-validation-program/documents/security-policies/140sp891.pdf
roytam1 Posted June 28, 2024 Posted June 28, 2024 8 minutes ago, user57 said: do we know if the CPU change actually has that cpuid command ? you have to test it in target machine. only some 486 processors have CPUID support. see https://www.prowaretech.com/articles/current/assembly/x86/check-for-cpuid-support#! 1
user57 Posted June 28, 2024 Posted June 28, 2024 hmm yes why not we could actually write a program that test for CPUID, and that cmpxchg8b command
roytam1 Posted June 28, 2024 Posted June 28, 2024 24 minutes ago, user57 said: hmm yes why not we could actually write a program that test for CPUID, and that cmpxchg8b command CMPXCHG8B is listed in CPUID result. if CPU doesn't support CPUID, it is unlikely to have CMPXCHG8B support.
user57 Posted June 29, 2024 Posted June 29, 2024 18 hours ago, roytam1 said: CMPXCHG8B is listed in CPUID result. if CPU doesn't support CPUID, it is unlikely to have CMPXCHG8B support. thats right, but i think we already mentioned that that flag test was for the CPUID command to be there and that it is in EDX bit 8, CMPXCHG8B (compare-and-swap) instruction however the emulated CPUID command needs more things to be set the SSE instruction set would be a such example, or XP belives it can use SSE commands, the cache dietmar already figured too https://en.wikipedia.org/wiki/CPUID you right if that eflag (bit 21 flag) is not available, like 99,99+ % CPU´s would not have the cmpxchg8b command but we should not make a false assumtion that the CPUID(or cmpxchg8b) command is not used on a different spot because it sounds like it would automatic not use that cmpxchg8b command - as microsoft said they didnt care so their compiler or code might just have used it anyways from what i remember cpuid can be a ring0 privileged command, it maybe cant be executed in usermode/ring3, if someone remember this exactly i would be happy to see me corrected that would not be a problem either as can write a programm that actually use a driver , that then sends the result back towards our usermode programm
Lrin94 Posted July 31, 2024 Posted July 31, 2024 On 6/24/2024 at 10:48 AM, Dietmar said: @Mike C I think, that something other goes wrong. Make a try with settings "Write Through" for Ram in Bios. Because "Write Back" halves your memory. And set all the memory timings to the most conservative Dietmar Hi, Dietmar! I have a suggestion for you: Install older versions of Windows on computers that are also below the minimum system requirements. For example: Windows 98 on 386, Windows 95 on 286, Windows 3.11 on 286; 8088/8086, Windows 3.1 on 8088/8086, what do you think?
user57 Posted August 11, 2024 Posted August 11, 2024 On 5/1/2024 at 1:35 AM, roytam1 said: booting in safe mode shows a device driver (ksecdd.sys) is in fault: https://msfn.org/board/topic/177500-upgrading-ie8-to-tls-12/page/6/#comment-1270411 we might have stuff to talk about this again, roytram was right about that ksecdd.sys driver its a crypto system file involved with tls 1.1/1.2, that also explains why the picture roytram posted has algo code inside a problem of using the data section, code section or maybe the others is that they are not used all the time - better is to extend the last section or adding a section here we know now why that problem apeared, the realted guy probaly used the IE8 with the TLS 1.1/1.2 upgrade (however often it is like that, they say "i installed xp and this error happens") - but no it probaly was due the IE8 website started up or at least having the IE8 with the tls upgrade installed - that what has triggered that a plain xp would not have the error so i would like to make the question to the guy who posted that error - did you actually start to webbrowsing and then that problem came up ?
Mike1978 Posted October 9, 2024 Posted October 9, 2024 (edited) On 7/31/2024 at 7:03 PM, Lrin94 said: Hi, Dietmar! I have a suggestion for you: Install older versions of Windows on computers that are also below the minimum system requirements. For example: Windows 98 on 386, Windows 95 on 286, Windows 3.11 on 286; 8088/8086, Windows 3.1 on 8088/8086, what do you think? @Dietmar @roytam1 amazing work I’ve held off trying the iso on real hardware as yet but look forward to doing so. As the above user has mentioned it would be good to try other O/S on unsupported hardware. I have a similar challenge where your expertise might be just what is needed to progress. Theres a group of XT owners with an Intel Inboard 386/PC which has 4mb ram on the same card. So far by modifying files that were released with the Inboard 386 Windows 286 version it has been possible to load Windows 3.1 and last year 3.11 WFW fully including being able to run Win32s so Freecell that came with that runs fine showing the setup is 32bit capable. The next challenge / hurdle was to try to get Windows 95 running but I think things then get more tricky due to the underlying XT architecture that the board is running in. So for example the IRQ 14 for disk and IRQ 8 for clock are in places that don’t exist on an XT. However it’s shown above the board is capable of 32bit within the card itself and has direct access to ram on the card. Theres been a number of attempts already to try and get past this limit by using BIOS extenders / virtualisation such as Netroom 3 and Syscloak or 2M ABIOS/ XBIOS respectively. As your above project shows that pushing the once impassible limits of hardware can be overcome by changing the software to adapt for these nuances. Disk can be overcome using XTIDE to provide 2GB. The CPU is also swapped out from a 386 to a CPU with 486 instructions also using a Cyrix CX486DRX2 (clocked doubled processor), also there’s SCSI CD rom, ad-lib sound and network all working within 3.11 even 1.44mb FDD using a card with rom to boot the support into place by Sergei Kiselev. The CPU can be fully clocked also to its full potential by changing the Crystal on the Inboard to get to 40Mhz some users have already done this modification successfully. The CPU is capable of running Win95 in a standard machine but the architecture it plugs into via the Inboard is proving a blocker though I’m convinced this is a software limitation over hardware. The Inboard itself has recently also been fully emulated so anyone could spin up an environment where this is emulated fully to develop against with a view then that it could be used to then build something that could run on real hardware. I feel there’s enough knowledge in this forum to perhaps make this possible. Emulator is found here written by a user called Superfury https://superfury.itch.io/unipcemu/devlog/515451/unipcemu-build-20230411-1833-is-now-live Would you perhaps be interested to help progress this further, it would of course be another thing that was said couldn’t be done much like XP on a 486 An image of 3.11 that works fully on the inboard 386 in a 5160 can be found here as described above. https://www.dropbox.com/scl/fi/60u4cep0r0bgeoskfur2o/InBoard_WFW_3.11_May2024_TCPIP_3c509_ATIGFXULTRA.zip?rlkey=1kg39x543kb7zswgz8b6grvux&dl=0 I would have reached out directly and not on the forum, but it appears that is not an option so I hope it’s OK that I post this here. Of course also that I post this up locally I can also get input by others here with sufficient experience who also may be able to advise if this is merely a pipe dream and not possible. I look forward to responses Thanks in advance Mike Edited October 9, 2024 by Mike1978 Add a photo of XT with inboard 386 in IBM 5160
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now