Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Rick C. Hodgin

Pages: 1 [2] 3 4 ... 16
General Discussion / Re: ES/1 open source kernel
« on: December 09, 2017, 11:41:39 pm »
I have the mouse pointer working correctly, on text and graphics modes.  Am developing the flashing caret algorithms now.

Once completed, I'll finish development on the Vio algorithms for the menu and input fields.

This will give us a solid framework for text-based UI in a text or GUI wrapper.  I will use that base for developing all ES/1 apps.  The first will be kernel code support for FAT12/16 disks, and memory allocation algorithms.  The second will be my Debi debugger.  The third will be cmd.exe and supporting algorithms (copy, move, md, rd, etc.).

Here's to great success (James 4:15 -- Lord willing) !

Note:  I will say that programming back in text-based consoles in DOS these many days really makes me appreciate GUI interfaces and TrueType fonts. :-). I may bump my DSF implementation up a few notches and give myself a GUI with proportional fonts.

General Discussion / Re: ES/1 and ES/2 development hardware
« on: December 08, 2017, 09:05:49 pm »
To be clear and succinct:  My goals are to create the Al-x kernel as a stand-alone kernel.

Once created it can serve as a springboard into any other operating system people want to develop.

I will create a fork off Al-x which will then be used to create the ES/2 kernel, which I intend to be a fully compatible kernel with OS/2's kernel.  I'm currently looking through much literature to get a comprehensive view of what the kernel requires.  I am finding a lot of documentation, and even a lot of documentation on internal data structures, so it's looking like it's going to be possible.

My goals are (1) get Al-x working stand-alone.  (2) Port Al-x to es2krnl, and get OS/2 booting with the ES/2 kernel.  (3) Begin writing replacements for all of the OS/2 programs one-by-one.

Part of (1) will include working on base compilers and assemblers to allow compatible ES/2 binaries to be built for (3).

Polls / Re: Compatibility with OS/2
« on: December 08, 2017, 09:01:29 pm »
I think just making a Linux distribution that mimics OS/2-like functionality...

I have not worked with Linux or GNU for matters of conscience.  When I look at Linux I see Linus Torvalds, who is by all accounts a vile, crass, mean, spiteful, insulting, profane individual who thinks nothing of giving people the finger on camera, or using all manner of profane words to yell at people online.  And when I look at GNU I see Richard Stallman, who is by all accounts, a complete pervert who believes that pedophilia and necrophilia should be legalized, among many other odd things.

I had planned in 2012 to go to GNU and complete the GNU HURD kernel for them, but then I learned those things about Stallman.  I had already decided not to work on Linux, which is why I was moving toward the HURD kernel.

I'm sorry, but I cannot support Linux or GNU for those reasons.  It's why I'm creating everything from scratch.  I want to have an offering based on holiness, on a real giving unto God purposefully, and not just creation for the sake of creation, and not for money, not for fame, but to honestly give the world something wonderful they can use, and without the negative aspects of mankind associated with existing offerings apart from forgiveness and repentance through Christ.

My intention with ES/2 is to give people the best we can create, and to do so to empower them.  Full source code.  Full legal rights.  Full everything.

General Discussion / Re: Happy Birthday OS/2
« on: December 07, 2017, 03:44:28 pm »
OS/2 will be 30 in December, that's 6 months away. Are there any plans to celebrate this event?

At least one person is.

General Discussion / Re: ReactOS 0.4.7 released
« on: December 07, 2017, 07:53:57 am »
ReactOS 0.4.7 was released:

I'm amazed by the progress made of this OS. I remember that the first versions sucked very bad and all the people were taking it as a joke. We may disagree if the OS is ready or not for non experimental use, but it is moving forward.

I envy their organization and will to create an open source clone of their favorite OS. (which sadly was not OS/2).

I downloaded and installed it in VirtualBox.  It ran without a hitch.  Was speedy.  Very nice.  I did have one issue trying to use gmail with Opera 12.  It came up being rendered incorrectly.  But it's quite an assemblage of Windowsesque power.

Very impressive.  Thank you for posting about it.

General Discussion / Re: API documentation
« on: December 06, 2017, 06:13:51 pm »
The EDM/2 also has the links to the IBM API documentation.
Here it is the main page:

And you can check the documents at:

This information is invaluable.  Thank you, Martin.


    (1) The OS/2 Debugging Handbook (First Edition)
    (2) Kernel Debugger Reference.

I'm going to try to maintain some compatibility between my kernel debugger and the original one from IBM.  I like the syntax they use for the different addressing modes:

Code: [Select]
#1f:02c0   -- Protected mode address
&3450:1234 -- Real mode address
%310230    -- Linear address
%%310230   -- Physical address

Very straight-forward and concise.  I do plan to use color cues in my debugger as well.

General Discussion / Re: ES/1 open source kernel
« on: December 06, 2017, 02:46:46 pm »
I've contacted Sammy Mitchell who wrote The SemWare Editor, Jr. for DOS.  He's going to make me a special version that receives -rows and -cols command line parameters and uses those rather than BIOS and INT 10h services to determine the screen size.

He's going to modify TSE, Jr. for DOS to allow those parameters and write to text video memory at 0xb800000.  I will write a TSR which projects that memory into graphics mode, allowing a 200x75 console and editor.

Since I have my delta render working, it should be as fast as text in DOS.

Here is the source code.  It's missing some recent changes, but those will be pushed tonight.

General Discussion / Re: ES/1 open source kernel
« on: December 06, 2017, 08:40:14 am »
What object format are you using? Also what executable format?

Right now I'm doing all work in DOS with the Open Watcom for DOS compiler.  It uses OMF and ELF by default.

General Discussion / Re: ES/1 open source kernel
« on: December 06, 2017, 04:56:10 am »
I have been able to get the graphics working in 24-bit and 32-bit graphics modes.  The 3dfx card is in a PCI bus and takes about one second to redraw the screen in 1280x1024x24 mode.  The ATI card uses an AGP bus and updates a 1600x1200x32 screen in about 1/10th second in full-redraw mode.

I'll be moving entirely to a graphics mode for all future development.  Am working on adding mouse and flashing caret support.

ES/1 will support all apps, both text-based and graphics, as windows on the desktop.

UPDATE:  I have been able to get 16-bit working too.  I've also added a delta render function, allowing console windows to work in graphics mode by only rendering changed characters or attributes.  With delta render, on console windows it's as fast as text now.  Working on mouse pointer and flashing caret now.

General Discussion / Re: ES/1 open source kernel
« on: December 05, 2017, 06:05:37 pm »
I plan on creating a real-mode emulator that will run in 32-bit protected mode, allowing for all existing 16-bit code to run natively in ES/2 through emulation.
Sorry, but it sounds quite strange. Some wrong assumptions as usual.

Perhaps on your part as well, Andreas Kohl.

You claim that "all existing 16-bit code" should "run natively" by a fictive real-mode emulation. But on the other hand not "all existing 16-bit code" operates in real-mode and additionally you can write real-mode code that can deal with 32-bit registers. Every 386 compatible CPU has a virtual 8086 mode which also includes x86-64.

I am well aware of that.

General Discussion / Re: OS/2 history
« on: December 05, 2017, 03:10:32 pm »
What happened to them? How’d they go missing?
That is something that it is being told (rumors). I don't think we ever going to get a formal letter from IBM saying "We have lost the OS/2 source code" or "We have the OS/2 source code complete safe".

I read that IBM was offering fee-for-support for OS/2 (and here).  Are they still doing so in 2017?

I've read many banks used OS/2 for their ATMs and terminals.  If so, it would require that they at least have the full kernel and driver sources somewhere.

UPDATE:  I've emailed the contact to find out.  The email did not immediately bounce so we'll find out.

General Discussion / Re: ES/1 open source kernel
« on: December 05, 2017, 02:50:09 pm »
I plan on creating a real-mode emulator that will run in 32-bit protected mode, allowing for all existing 16-bit code to run natively in ES/2 through emulation.  Drivers can be supported, but not the full BIOS machine state.  We'll address each limiting factor one-by-one as they come up, and will support everything necessary to make all existing OS/2 drivers work, but it won't be a full machine emulation.  Just enough to make everything that currently exists work properly.

I will begin development on the 16-bit emulator as a later part of ES/1 development.  It will be called Em86+, and will serve as one of the assets available to ES/2 in moving forward.

I also plan a full flat 32-bit 386-like ISA emulator (an 80386 environment with some ISA extensions, called Em386+) which will allow code to be written for a virtual 386+ machine that can be suspended, and resumed at any state.  It will not run at native machine speed but in emulation at probably 30-50% machine speed, but it would be able to run as required, in a known environment, and on every type of hardware natively.

Em386+ will be a much simpler and somewhat extended 80386 environment, with additional instructions, 3x the number of registers, and a flat address space beginning at offset 0 and continuing up.  The ES/1 and ES/2 compilers will be able to write code which targets this environment.

One advantage of using Em86+ and Em386+ will be when there is an error, the machine state can be saved at that very point.  You can also enable debug traces to diagnose the last several thousand instructions to figure out what sequence of events allowed something to arrive at an error state.

I eventually plan to incorporate these new 86+ and 386+ environments into my Arxoda CPU design, allowing them to eventually run on native hardware at full machine speed.  They will also include debug trace abilities.  Long term goals.

General Discussion / Re: ES/1 and ES/2 development hardware
« on: December 05, 2017, 02:39:50 pm »
My goals are to get ES/2 working well on this lower-end system, so that it will really zoom on faster computers.

If any of you would like to purchase this machine, then you can become testers for me throughout ES/1 and ES/2 development.  The first pre-alpha release is planned to be ready sometime early next year (James 4:15).

The first versions of a pre-ES/2 kernel (codenamed "Al-x" (pronounced "Alex")) should ready several months after that, and will include a basic environment to test and stress the various kernel components.  This will include developing all of the features that OS/2's kernel supports today, plus extensions and allowances for those abilities it does not provide for.  The stress testing will be comprehensive and rigorous.  At that point, Al-x will be a stand-alone kernel in and of its own right suitable for branching off into any new OS that people want to design from that base.

And then after I get to that point, focus will be made to provide the full API interface necessary to let the existing OS/2 binaries boot and run natively as they do in OS/2 today, but when running in the ES/2 kernel.  My goal is 100% compatibility, 100% support of all existing software, 100% ability to run on any PentiumPro-or-later CPU.

I would like to ask for developers to come on board and help me when I get to the point where I'm developing Al-x and ES/2.  I know together we can achieve that which will give us a real and powerful open source 64-bit OS/2 future (through ES/2).

Note:  I am doing all of this because the Lord has blessed me with these abilities, and I am giving the best of what He first gave me back to Him.  I am doing it expressly and purposefully in His name, striving with great passion to do it right, and to do a fantastic job at all points.  My goal is nothing less than the best I have to offer.  No shortcuts.  No half-thought-out ideas.  And I'm not above admitting where I've made mistakes, back-tracking, and coming back and doing it right.  I want eyes on what I'm doing so people can help steer and guide me.  I am one man and I can make mistakes, but with many working together it's much harder to make mistakes over the long haul.

Note:  Please consider helping in a like manner.  Even if you don't know low-level software development, if you have a desire to work on a project like this, and a desire to learn, I can teach you.  I'm more than happy to put in the time for serious individuals.

General Discussion / ES/1 and ES/2 development hardware
« on: December 04, 2017, 10:49:03 pm »
I'm planning to purchase this system to continue development on:

    VIA EPIA-M910 for US$250.

If anybody has a different machine they'd like me to do development on please let me know.  I'll be placing the order before Christmas.

General Discussion / Re: ES/1 open source kernel
« on: December 04, 2017, 02:23:08 pm »
If any of you want to follow along with my development and test out what I'm doing on your local machine, do these steps:

Code: [Select]
(1)  Install IBM PC DOS 7 (or other DOS system) on one of your partitions
(2)  Install Open Watcom for DOS
(3)  Clone my libsf repository to your local C:\ drive in a Windows machine.
     Note:  It has more than just ES/1 and ES/2 in it, and it uses long filenames
(4)  Copy the \libsf\es2\ES1\ and \libsf\es2\ES2\ to your DOS partition's C:\ES1\ and C:\ES2\ folders.
     Note:  I always use a "g.bat" file and a "d.bat" in the current director for "go compile" and "debug".
     Note:  You can type "g" to begin compiling, and "d" to begin debugging.
     Note:  You'll need to setup your environment to C:\WATCOM\ or wherever you install Open Watcom.
     Note:  I will post my SETENV.BAT content when I get back on that machine.

If you don't have a copy of IBM PC DOS 7, it can still be found on places like eBay for sale.  IBM PC DOS is also available for download online.  MS-DOS will probably work as well as other versions of DOS.  It doesn't use anything fancy, though some versions of the Watcom compiler use DPMI and DOS4GW.

Download Open Watcom for DOS.  Note:  You'll want the "open-watcom-c-dos-1.9.exe" file for download, and you'll probably want to rename it "winstall.exe" for use in DOS.  Download it in Windows and copy to your DOS partition so when you reboot it's there.

The git repository to clone is here:
Code: [Select]
C:\> git clone
Cloning into libsf...

The folders to copy are here.  On your local hard-drive they will appear here:
Code: [Select]
C:\libsf\> CD ES2
C:\libsf\ES2\> DIR /A:D
 Volume in drive C is LABEL
 Volume Serial Number is 1234-5678

 Directory of c:\libsf\es2

11/19/2017  11:17 PM    <DIR>          .
11/19/2017  11:17 PM    <DIR>          ..
12/03/2017  12:57 AM    <DIR>          ES1
11/12/2017  06:51 PM    <DIR>          ES2
               0 File(s)              0 bytes
               4 Dir(s)   1,310,162,944 bytes free

You'll need to use Windows Explorer or execute these commands to copy it over (assuming D: is your DOS partition, but replace D: with whatever it is):
Code: [Select]
X:\> C:
C:\libsf\es2\> XCOPY /S ES*\*.* D:\*.*

In the end you'll want to have a DOS partition which has at least these folders:
Code: [Select]
C:\> DIR /A:D
 Volume in drive C is LABEL
 Volume Serial Number is 1234-5678

 Directory of c:\

11/19/2017  11:17 PM    <DIR>          .
11/19/2017  11:17 PM    <DIR>          ..
11/12/2017  06:51 PM    <DIR>          DOS
12/03/2017  12:57 AM    <DIR>          ES1     <=== ES/1 development
11/12/2017  06:51 PM    <DIR>          ES2     <=== ES/2 development
11/12/2017  06:51 PM    <DIR>          WATCOM
               0 File(s)              0 bytes
               6 Dir(s)   1,310,162,944 bytes free

Once there you can navigate to "\es1\disk\" and type "g.bat".  It probably won't work properly on your machine because it's hard-coded right now to the 3dfx voodoo3 2000 and VESA mode 0x11b is my 1280x1024x24 mode.  But, I will soon be removing the hard-codings and you can use the software.

In the mean-time you can examine the source code.  The main files are:
Code: [Select]

I'm using The SemWare Editor Jr. for DOS to do my editing, though I actually have an old version from the 1990s before the author made The SemWare Editor for Windows, so mine is actually just called The SemWare Editor.  It was written by a man name Sammy Edward Mitchell ("SEM" in SemWare), from Marietta, Georgia back in the late 80s.  It used to be sold under the name "QEdit" in the BBS days.

If any of you want to start up a dialogue with me and ask questions about development or how to do something, you can reach me at my email address.  It is rick.c.hodgin and I use GMail.  If you can put those together you'll be able to reach me. :-)

Pages: 1 [2] 3 4 ... 16