Jump to content

KernelEx - Call for support


Recommended Posts

Hi! :hello:

First of all, I'd like to appologize for the lack of any signs of life from me for such a long time.

As you've propably already noticed, there is no development currently going on KernelEx.

While it was fun to work on the project for all those years, the time has finally come to move on and focus on new challenges.

I'm not going to dicuss why I decided to leave the project and not to continue further development.

The decision has been already made and is irreversible. I don't care too much whether you accept it or not.

It's enough to say that the work on this project has always been an extreme time-eater and now I have different priorities and no time to dedicate on the project any longer.

However, KernelEx is my creation and I don't want to just let it die and disappear.

So... KernelEx needs your developer skills in order to survive.

This is a call for support.

Without you KernelEx won't evolve any further and die eventually... :(

If there will be someone interested in development, then I will write tutorials on how to set up development environment,

how get started and how to write new / expand existing API calls, and also describe the architecture and inner workings of KernelEx.

What you need to dig into the project:

  • Love Windows 9x platform :wub:
  • Stong WIN32 API knowledge
  • Extraordinary skills to deduce and solve problems on your own
  • Very good knowledge of C
  • Ability to read and understand x86 assembly
  • Ability to debug assembly
  • Patience
  • Lots of free time to spend

Please try to write answers here and not via PMs.

Link to comment
Share on other sites


I'd häppily sign up but my C is non-existant, nor am I good friends with Windows. however I am very good at assembly

it is sad to hear the development is not continuing anymore, at least not by you :(

Edited by TmEE
Link to comment
Share on other sites

Hi everyone :D

I think KernelEx should move towards some kind of community approach, in contrast to the current "The maintainer does everything" one.

KernelEx reached a state where many vital things already work. We're able to use modern browsers, modern media players, and various other things. There are some bugs, and surely there are enough applications that do not work. But KernelEx basically does its job.

Therefore, there isn't as much motivation left as there was back in the days. There is almost always the possibility to change some settings or use another program to get what you want. In some situations, it even got easier to modify the application itself than improving KernelEx, as with Firefox 4 and higher.

That doesn't mean that nobody should work on KernelEx anymore. In fact, the complete opposite is the case. But it has to get much easier to start hacking.

Setting up the required tools to build KernelEx isn't easy enough I think. Many old-school developers may still have VS 6 somewhere in their shelves, but most new potential developers have not. Getting the right PSDK 2003 version may also get somewhat tricky. I'm not completely sure about how we can fix that though.

Also, some place where users can easily report incompatibilities, give some hints(aceman's report for Firefox was very helpful) and just communicate with developers would be great. There is such a place already, KernelEx' SF bugtracker, but it's not widely used for some reason. That kind of blurs the future perspective. What feature is missing? What application does everybody want to see working after the next release? I don't know.

And finally, the biggest problem at the moment: We need much more documentation about KernelEx' internals. It's absolutely possible to get to the bottom if you read the code carefully, and maybe give your debugger a shot sometimes. But it's just unnecessary. It's so much work for new developers to get the big picture about how KernelEx is working, and where they have to change what to even do something without busting their whole system. It takes at least 1-2 days even for skilled developers to get used to the code. That's a lot of time that has to be spent before they can even do anything about the actual bug. It would be so much easier if there was a simple document somewhere in KernelEx' sourcecode archive explaining the general concepts and ideas, together with some details about the concrete implementation, as you suggested.

Once we fix at least 2 and 3, I think many part-time developers will gather around KernelEx and do many small changes. And that's the future perspective in my opinion. I can't imagine anyone who dedicates so much time to KernelEx as you did in the past(though I'm very happy you did!). But we have to realize that this may slow down development. It will keep the project alive at least.

What do you think? What does the community think? Is it really too hard for all those of you how want to participate to actually do so? That doesn't necessarily mean writing code, but also reporting bugs and proposing new features/applications. Or maybe there is a skilled developer out there who is willing to continue KernelEx in Xeno's fashion?

Raise your voices. They will keep a great project alive ;)

Edited by dencorso
Link to comment
Share on other sites

Xeno, I remember that in the past , two or three people were interested in helping you with this project but unfortunately you weren't at the time.

Right now, when you've decided that you couldn't work on it anymore, it would be difficult to find someone willing to take it over from you.

Among those whom I know from this forum, Tihiy (who used to help you) has got the required knowledge and skills.

Judging by the fact, that he hasn't updated his own project (Revolutions Pack) for over eight months, it is rather theoretical possibility.

Btw, no matter what happens with KEx in the future, I'm extremely grateful for all you've done! :)

Edited by rainyd
Link to comment
Share on other sites

The key is motivation, ambition and love for Windows 9X. Most of us have it, but it eventually dies inside some of us.

I started buying used laptops off craigslist just so I can always a have a system running Win98.

I have accumulated 3 desktops 3 laptops. Windows 98 is able to run on 5 of them. I have looked in other forums but this is where most of the Win98 action is.

It won't be long before its completely dead. I hate to say it but its true. Most of the sticky topics are unofficial packages with some bugs and has not be updated in months, some years. One thing you did, which you were not obligated to do was inform us, unlike some others. Thank you for your hard work and dedication.

Believe it or not, but same thing is happening to Win2000 + WinXP etc......

Edited by PROBLEMCHYLD
Link to comment
Share on other sites

Too bad :( , it means that death is coming for win98 :no:

^felicitas:

It would be so much easier if there was a simple document somewhere in KernelEx' sourcecode archive explaining the general concepts and ideas, together with some details about the concrete implementation, as you suggested.

I Agree...

@Xeno86

I think that a one man can not continue the development of this project because you're developing it for years,

and as developer you know how it can be hard to understand someone's code, i think it is necessary to include

more people.

^Xeno86

If there will be someone interested in development, then I will write tutorials on how to set up development environment,

how get started and how to write new / expand existing API calls, and also describe the architecture and inner workings of KernelEx.

So, do it.

I like the 9x platform, and I have VisualStudio 6 and I know C/C++ and Win32 API, so maybe I can implement a few things.

But here's what i can not do, i can not debugging and i can not make the installation packages because it is too boring for me :boring::zzz:

Edited by RFMaster
Link to comment
Share on other sites

If there will be someone interested in development, then I will write tutorials on how to set up development environment,

how get started and how to write new / expand existing API calls, and also describe the architecture and inner workings of KernelEx.

I don't think there will be a single individual that has all the skills and is willing to use them for 98. A group effort is probably the only real chance that KernelEx has to continue being developed.

Link to comment
Share on other sites

That doesn't mean that nobody should work on KernelEx anymore. In fact, the complete opposite is the case. But it has to get much easier to start hacking.

Setting up the required tools to build KernelEx isn't easy enough I think. Many old-school developers may still have VS 6 somewhere in their shelves, but most new potential developers have not. Getting the right PSDK 2003 version may also get somewhat tricky. I'm not completely sure about how we can fix that though.

Well it's not easy to choose a proper build environment for KernelEx.

Why not GCC?

No native delay-loading, no SEH (try/catch) support, no PDB symbol support (can't use kernel debuggers)

Why not MSVC 2010 Express?

Lots of dependencies upon various msvcr100.dll functions (and we can't use msvcrt, not even static in Core), resulting binaries require post-pocessing in order to be runnable under 9x (hint: platform = 5.0), IDE and compiler can't be run under 9x itself (no self-hosting), don't know what is the compatibility with kernel debuggers

Why not MSVC 98?

Antique, buggy, non-free, hard to obtain, requires hard to obtain PSDK version.

While MSVC 98 has been already outdated while I started development of KernelEx, it was more than sufficient for KernelEx needs, was easy to hack upon and compatible with debuggers, which made it a perfect choice. But, you're right that it might be hard to obtain it nowadays. The most realistic replacement appears to be new MSVC 2010 Express, but it requires some research in order to separate resulting binaries from dependencies upon bundled C-runtime (KernelEx lives mostly in shared memory and standard CRT isn't designed to work properly under such scenario, I had a lot of problems with CRT under MSVC98 that's why we have a custom minimal CRT - borrowed from Linux ;) ). GCC is easier to set-up but lacks some major features which are required, so I don't consider it as an option. Do we have any other options to choose from?

And finally, the biggest problem at the moment: We need much more documentation about KernelEx' internals. It's absolutely possible to get to the bottom if you read the code carefully, and maybe give your debugger a shot sometimes. But it's just unnecessary. It's so much work for new developers to get the big picture about how KernelEx is working, and where they have to change what to even do something without busting their whole system. It takes at least 1-2 days even for skilled developers to get used to the code. That's a lot of time that has to be spent before they can even do anything about the actual bug. It would be so much easier if there was a simple document somewhere in KernelEx' sourcecode archive explaining the general concepts and ideas, together with some details about the concrete implementation, as you suggested.

Well you're completely right, but as there has always been little interest in KernelEx from developers, I preferred to spend more time on actual development rather than proper docs. I'll try to find some time to fix that.

Link to comment
Share on other sites

Hi all,

I have all necessary environments for to build KernelEx and I am a professional developer.

c and c++ aren't my prefered environment but I have worked around 4 years with these languages.

I am also a fanatic of Win98SE but actually I don't use KernelEx because I want to mantain my system original and clean until I can, but I know that I will always have more problems with Firefox 2 and Flash 9 or IE6 in the future, so probably I will install KernelEx in a few months.

Maybe I can help KernelEx for little things if with some documentations... (I am also engaged in other projects).

aru

Link to comment
Share on other sites

I'd just like to offer a thank-you, as a decently-skilled 18-year-old Windows 98 and Me user, though I have no programming experience whatsoever. You did a fantastic job.

Have you ever considered maybe offering the project to a university class or something, where they'd have the resources to develop it far beyond what one person could do? I'm not majoring in computer science (civil engineering, actually) but that'd be a cool project. It could be hard to keep it going in the right direction I suppose, but it's worth a thought.

The only thing that concerns me is this IPv6 stuff. If internet ceases to work with 9x, then it might not be worth the effort anymore.

Link to comment
Share on other sites

The only thing that concerns me is this IPv6 stuff. If internet ceases to work with 9x, then it might not be worth the effort anymore.

IPv4 is not going away anytime soon. Anyway, your router should be able to translate IPv6 to IPv4.

Link to comment
Share on other sites

Xeno, honestly I'm a bit confused: as I see, you've committed yesterday a couple of new revisions on project page (on SourceForge) - it means, that you've started working on it again?

Edited by rainyd
Link to comment
Share on other sites

  • 4 weeks later...

Well it's not easy to choose a proper build environment for KernelEx.

Why not GCC?

No native delay-loading, no SEH (try/catch) support, no PDB symbol support (can't use kernel debuggers)

Why not MSVC 2010 Express?

Lots of dependencies upon various msvcr100.dll functions (and we can't use msvcrt, not even static in Core), resulting binaries require post-pocessing in order to be runnable under 9x (hint: platform = 5.0), IDE and compiler can't be run under 9x itself (no self-hosting), don't know what is the compatibility with kernel debuggers

Why not MSVC 98?

Antique, buggy, non-free, hard to obtain, requires hard to obtain PSDK version.

While MSVC 98 has been already outdated while I started development of KernelEx, it was more than sufficient for KernelEx needs, was easy to hack upon and compatible with debuggers, which made it a perfect choice. But, you're right that it might be hard to obtain it nowadays. The most realistic replacement appears to be new MSVC 2010 Express, but it requires some research in order to separate resulting binaries from dependencies upon bundled C-runtime (KernelEx lives mostly in shared memory and standard CRT isn't designed to work properly under such scenario, I had a lot of problems with CRT under MSVC98 that's why we have a custom minimal CRT - borrowed from Linux ;) ). GCC is easier to set-up but lacks some major features which are required, so I don't consider it as an option. Do we have any other options to choose from?

Well, I don't know what's suitable, but FWIW :

MSVC++4.2 is (was) available for free download if you know someone with a subscription to MSDN. (I think that's 1999 vintage.)

MSVC++6.0 is (was) available for free download if you know someone at an academic institution with access to the MSDNAA. (I think that's 2003 vintage.)

Any idea if open-watcom might be suitable?

Joe.

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...