Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Microsoft Windows 98 to recognize Dual-Core processors (project?)

Recommended Posts

Azvareth    0

Another possible thing is the HP's InsydeH20 BIOS This commie BIOS restricts Windows 2000's access to the second core. If you want a Win2k system, avoid HP laptops at all cost! Dell and ASUS laptops will work for you.

I know this is an old post and perhaps should not be reactivated but...  I think I need to share my thoughts as well.

If a bios (that is software in a chip) could program in some way a NT machine to not "see" a second (or more?) core, then this might be able to do at startup in dos before win9x start as well and therefore it might be possible to run Win9x (on one core) on a "newer" multicore machine...

If this theoretical "thing" (above) that prohibit w9x to see other cores, also have an API, that stand alone applications could call and see, dont ask me how cuz Im a lamer, then that core theoretical should be able to access all memory range outside of W9x knowledge I guess.

Problem is, such an API or whatever, would need to have some sort of memory manager that coexist with w9x to register allocated mem, devices and stuff processed from that core, this must be registered and known by w9x system as well. Secondly, you would need to have some sort of taskmanager to taskswitch processes on that core.

Seems like a big job. And in the end. it looks like it would be an early NT system hacked together from 9x, perhaps it is better to let w9x be just w9x, you might wish to do the first "bios" thing though, but still there might not be drivers for such a new computer anyway.

So to something that may look like a review of my machine, well it is but I have a point I would like to adress below it.

My test machine (and for nostalgic reasons) today, a Dell GX60 with Celeron 2.4 GhZ 1 core CPU, 1GB physical mem with 999Mb usable memory (31% used at startup) and no swapfile active, Internal Intel 82845G Graphics (dedicated 8MB of ram to that), ethernet (internal), sound & joystick, 200GB HD part(10, 25+, 150+)gb.

This machine is running Windows ME with all KernelEx stuff and updates to allow it to run somewhat updated internet related software.

It was not an easy task to find drivers to get it to work - as the machine was designed for XP by Dell. Can't imagine newer hardware would be any easier, thus rendering the topic obsolete even if it is possible, more or less.

The machine speed?

Works great with local applications, but when it comes to webbrowsing, it will not handle the burden, even if using k-melon. other networking apps like torrent client ABC is fine

Games: HALO, AoE, Swat3, Half Life 1, Doom, Centurion and such works great, no lag, fine graphic speed

Development: Visual Studio 6, Delphi 6 PE working perfectly and fine

Office: MSXP and MS97 did not work well here none of them, had to turn to OoO 2.4 smoth and fine here

... and a lot of other things, like WMP 10 streaming from online radio tuner, great with no lag, playing local files works great as well.

Point is: are there really a need to use one or more core(s) with w9x? specially as said before, computers with that many cores might not have drivers for the rest of the hardware. Even if - as also said above, it was possible to lock out cores from W9x but still have a faster CPU speed.

The solution if one wan'ts more core's might be to move onto w2k? personally I did not like that myself and would actually go for w2k3 (or XP) and strip it down as much as possible... but then it is even more OT then before, so see solutions mentioned at the beginning of post.

Well thank you for interesting reading, no need to flame me, I would most likely not read it, I just stumbled on the post and wished to give my point of view.

Share this post

Link to post
Share on other sites

rloew    93

Windows 9x does not know about multiple cores so it will run just fine regardless of the number of cores. It will just use one.

I have already written an API that can run Threads in the other cores. It is also possible to move Windows 9x to a different core.

Share this post

Link to post
Share on other sites
Azvareth    0

yes I saw that.. And it is a great approach..

But again that would not let any application of user choice run in a second thread (as someone wanted to)...

I was perhaps in misstake as I thought I read somewhere that Windows 9x would not run at all with more cores then two, good to se there is no limits.

But if any application should be able to run inside another core, then there would need to be some sort of mechanism that maps win resources, memory and perhaps win api to that core, so a process on that core could call the first W9x core's system API, kind of like an system debugger a la softIce on that core breaking out and do some remap for certain tasks (as I said I am a lamer and do not know the internals, just guessing on how it possible would work)...

However this is a big task and I do not think it is something that would happen even if it where possible... perhaps redesigning DOSBox as a virtual machine running in other cores?.

Anyway I like the idea I read about the API implementation you have, is it available for free or do it cost something where if available could one (I?) read more about it?

Share this post

Link to post
Share on other sites
rloew    93

Windows 9x only has one set of Thread Management Tables and no Core level Synchronization Code so running generic Threads simultaneously is not practical.

My API is not free. There is an older Demo on my website that might run and has documentation.

Basically it locks and maps a programs memory to other cores, sets them up and runs code in them.

Intercore synchronization Functions are provided to manage them.

A core emulator is also provided so that the same code can be used to run in the original core as in the other cores or if the program is run on a single core system.

Byt writing a Program that uses the first Core offered by the API, you can make an app that will by default run in another Core and not tie up Windows CPU time. If you run more of these apps then Cores, the extras will be run in the main core as before. If you run the same app in XP or later, it will allocate them to cores as always.

Share this post

Link to post
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.