Author Topic: ES/2 open source OS/2 kernel  (Read 8812 times)

Rick C. Hodgin

  • Full Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 2
  • Posts: 130
    • View Profile
    • Liberty Software Foundation
Re: Exodus/2 (ES/2)
« Reply #30 on: August 11, 2016, 02:02:58 pm »
I explicitly intend to write a complete replacement for OS/2 which is fully API compatible, and UI-identical, to the OS/2 PM, down to the full object model.

It is always good to validate it :)

Absolutely.  When I get to that point, I intend to stress test it.  I want to create a complete system that is server quality, ready to go into the most intense stressful 24/7/365 service.

Best regards,
Rick C. Hodgin

Rick C. Hodgin

  • Full Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 2
  • Posts: 130
    • View Profile
    • Liberty Software Foundation
Re: Exodus/2 (ES/2)
« Reply #31 on: August 23, 2016, 02:44:28 pm »
I will be offering a class online teaching C to xbase developers.

The approach comes from that knowledge background as I am trying to get those interested in having Visual FreePro, Jr. (a free open source Visual FoxPro follow-on) completed to come on board and help out with development.  There are 172 members in my Visual FreePro Facebook group, and about 20 of them have expressed interest in wanting to help me complete development, but not having strong enough C/C++ development skills.

I am hoping that from the class one, two or three people will gain enough development skills to help out.  It's why I'm devoting some of my time toward this goal, because if one or more can help me out, then together we'll be able to do far more than I can do alone:

Intro2C Tutorial

I began the class in 2013, but very few people were interested.  I mapped out and prepared several more lessons, but none of them were ever published.

Best regards,
Rick C. Hodgin

Rick C. Hodgin

  • Full Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 2
  • Posts: 130
    • View Profile
    • Liberty Software Foundation
Re: Exodus/2 (ES/2)
« Reply #32 on: September 21, 2016, 06:04:32 pm »
I've had a requirement come up at work which has taken my development time the past few weeks.  When it is completed I intend to return to my assembler development.

I made the decision to modify some of the support libraries I had previously developed for use in the assembler.  I had previously designed things to operate around a line + component model, such that "x = a + b" would be broken out into parts:
Code: [Select]
line ---> [x][whitespace][=][whitespace][a][whitespace][+][whitespace][b]

After simplification:
line ---> [x][=][a][+][b]

This model would probably work fine for an assembler, because most things in assembly are single-line syntax forms.  However, my next goal is my lsc C compiler and it needs syntax constructs which are entirely outside of line references.  As such, I've migrated the line+comp model to now use a comp-only model, which has an internal line reference, but is largely unimportant.

Code: [Select]
[[x] ---> line][[=] ---> line]...
By using this model, I can inject and delete components as needed, allowing for a far more robust and free form translation from C code to assembly code.

It may not seem like I'm making any progress, but I am.  It's just a lot of foundation to lay properly so that everything built atop is correct.

Best regards,
Rick C. Hodgin

Rick C. Hodgin

  • Full Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 2
  • Posts: 130
    • View Profile
    • Liberty Software Foundation
Re: Exodus/2 (ES/2)
« Reply #33 on: June 04, 2017, 01:49:44 am »
I may pick this effort back up (to create a drop-in replacement kernel for OS/2).  It's a big job, but I truly believe it's the right place to start.  We need a completely flexible base to build everything atop, which can also be tweaked and extended as needed.  We also need a full kernel debugger.

I'm going to give it some thought over the next week.

Thank you,
Rick C. Hodgin
« Last Edit: June 04, 2017, 02:00:02 am by Rick C. Hodgin »

Rick C. Hodgin

  • Full Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 2
  • Posts: 130
    • View Profile
    • Liberty Software Foundation
Re: ES/2 open source OS/2 kernel
« Reply #34 on: June 04, 2017, 11:00:33 pm »
I have discovered the OS/2 kernel API is not published anywhere, except through illegally leaked IBM original kernel source code, which I've been told is what the Phoenix OS/4 project is based on.

UPDATE:  I've been told by developers on #os2russian on EFnet that the Phoenix OS/4 kernel is not based on leaked IBM kernel sources.  So, my apologies for having written that.  However, they have also told me that the kernel is written in "poetic form" and is to simply be accepted "as-is" ... so it has me in a wondering state to be honest. :)

As such, I'm going to focus on a full ground-up new effort, similar to what Linux did for UNIX.  This will be the ES/2 project, and it will be a complete mimic / duplication of everything in OS/2, but it will be made from all new sources.  Every main exe, dll, file, file format, etc., will be replicated.  Except for the fact that it won't be binary compatible, I believe every piece of code written for OS/2 that has sources, will be able to be re-compiled in the new ES/2 environment and work without change.

This is going to be a very large effort.  And I'm going to need help.  I'm going to start trying to recruit developers.  If any of you are interested in trying to help out, I'm willing to teach a class on C/C++ programming and even assembly programming on x86-based CPUs so you learn enough to start port user apps, including even low-level things like cmd.exe, a text-based version of e.exe, etc.

Thank you,
Rick C. Hodgin
« Last Edit: June 05, 2017, 06:04:43 pm by Rick C. Hodgin »

Rick C. Hodgin

  • Full Member
  • ***
  • Thank You
  • -Given: 12
  • -Receive: 2
  • Posts: 130
    • View Profile
    • Liberty Software Foundation
Re: ES/2 open source OS/2 kernel
« Reply #35 on: June 05, 2017, 06:09:46 pm »
I began looking at my assembler last night, and when I stopped regular development last September, and worked only sporadically on the project since then (see blog), it was up to a point where the assembler was loading source code, expanding macros, and parsing top-down.  The parsing algorithms are partially complete, and development will continue from that point forward.  I've also since migrated my source code off of GitHub to my own Git server.  You can see the source code here.

My goals once again are to have the kernel up and running by the end of this year, first part of next year, and to be able to begin replicating the OS/2 command prompt on boot, as we add more and more abilities on top.

My first goals are to support the FAT32 and HPFS file systems, and a small range of video hardware devices, and to use BIOS for standard disk access.  This will allow more people to use the system in stages as it's being developed.  It will initially only be 16-bit and 32-bit, but eventually will be extended to be a true hybrid 32-bit / 64-bit kernel, capable of launching both from the single kernel.

My second goal is to have armies of developers come on board and begin helping write the lower-level drivers and devices, and then to begin porting apps from OS/2 to ES/2, as the API and compiler environment should be the same, but it will not be binary compatible any longer.

Here's to success!

Thank you, and God bless,
Rick C. Hodgin
« Last Edit: June 05, 2017, 06:23:20 pm by Rick C. Hodgin »