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 5 ... 12
Programming / Re: ES/2 development
« on: November 05, 2017, 06:03:51 am »
Nov.05.2017 12:55am
I've been going back through my various hardware books.  I've found code samples / templates for writing EPP+ECP parallel drivers (2+ MB/s) as well as serial drivers (12 KB/s).  I'm going to try to get them both working in DOS first.  Once working, I'll attempt them in OS/2, and code them successfully in ES/2. :-)

I have a terminal app I wrote back in the 90s called "2.It" (because it connected to it -- BBS sites back in the day).  It has solid serial protocols already debugged.  For EPP+ECP it will be new development.

I won't spend too much time on it right now.  My kernel is only about 180 KB including 128 KB for the kernel debugger.  So a full cold boot over serial would be under 20 seconds.  And updates while running would only be a few seconds.  With EPP+ECP it would be a couple seconds for cold boot and instantaneous updates while running.

I'll be using second IDE hard drives for my OS/2 and ES/2 machines, both with a target of IBM PC DOS 7.1, and probably Digital Mars for a compiler.  Should be a good test environment.

Applications / Re: Gimp on OS/2
« on: November 04, 2017, 08:51:44 pm »
Does anybody know the status of this project?  Could GIMP be built using any recent advancements / ports that are available in 2017?

I've been able to get GIMP built from sources in Linux, but have never tried in another OS.  I have C/C++ development skills, so if there is some code that someone knows is preventing it from moving forward, I could help.

Programming / ES/2 development
« on: November 04, 2017, 01:10:06 pm »
Would anyone be interested in me posting about ES/2 development?

Here's the type of thing I have in mind.  If it's boring or of no interest please let me know.  I'll keep the same thing as a, so people could just go there and see it as well.

I've been reviewing some of my hardware books.  Since I'll now be using an OS/2 machine for development, and a separate ES/2 machine for testing, I've decide to abandon the floppy disk method of writing changes and then booting.  Instead, I'm going to write a tiny loader program for the ES/2 machine which resides on the hard drive and is loaded automatically by BIOS.  It will then continue loading a slightly larger program which is designed to do one thing:  send and receive signals through the serial or parallel port to the OS/2 machine.

The OS/2 machine will maintain a virtual hard drive of what files are on the ES/2 machine, and these will be updated during development.  It will run a background process which monitors the serial or parallel port and fills requests as they come in during boot, along with becoming a go-between for debugging abilities on the OS/2 machine, and debugger modules on the ES/2 machines which can convey information about the ES/2 machine state.

During boot, the ES/2 machine will basically just be in "data receive" mode and the OS/2 machine will send the whole kernel image to the ES/2 machine, which will receive that data and route it to various portions of memory just as if it had been loaded from the floppy or hard disk.  Once everything's been received, the OS/2 machine will send a "go xyz" command, which will have the ES/2 machine jump to the xyz location and begin the real ES/2 kernel boot process.

By employing this system, I'll have a simple protocol to allow for very fast reboots, and the ability to change things running in memory, to be able to monitor the ES/2 machine state, to be able to remotely control the ES/2 machine from the OS/2 machine through custom built debuggers and machine reset programs, etc.

Everything will reside only in memory on the ES/2 machine for now, but will be permanent on disk on the OS/2 machine.  I'll be able to recompile software on the OS/2 machine and send live updates to the ES/2 machine to correct bugs while the ES/2 OS instance is live and running.  I'll be able to do all necessary remote debugging and monitoring, and create and extend a host of other kernel-level monitoring and control features that will be exposed and available during development.

Once I get my kernel booting and developed properly using this methodology, I'll use it to develop the network stack, and then ultimately switch over to a full network TCP/IP-based system to allow remote debugging at much faster speeds, and even over the Internet at that point.

UPDATE 7:03 pm:
I've been able to get the assembler and C compiler successfully compiling ES/2 source code.  I'm having some difficulty with the linker in an OS/2 environment.  It doesn't like some of the starting addresses.  And, I'm fairly new to REXX so converting .BAT files to .CMD files has proven interesting.  I need some help on how to single-step / debug REXX code.

General Discussion / Re: ES/2 open source OS/2 kernel
« on: November 04, 2017, 11:12:12 am »
As you say 'A fully open-source modern OS/2 running in 64-bits on modern hardware would be a thing of beauty.' I couldn't agree more.

Unfortunately I am a hardware engineer (now retired) so there is not much that I can do to help with the development other than testing whatever you produce.

You might find my L1 cache design of interest then:
 L1 cache cell

And my Arxoda CPU register model:
 40-bit registers, windowed access

I have long-term goals to design my own 40-bit 80386-like core, part of creating a full new hardware and software stack.  Removing legacy limitations, and making everything completely open source.  I am prepared to use older methodologies to work around patents, and to integrate / roll out newer features over time.

 Basic Arxoda CPU core design

It uses a pivot, which allows each core to come over and help the other core perform work on single-threaded apps, allowing serial performance gains.  I call it "love-threading" because it's how two people who love each other help the other out when one has a temporary need, "Honey, can you come here and help me a moment?"

 Pivoting CPU State "Love Threading"

I want to empower people.  Make them owners, not renters.

General Discussion / Re: ES/2 open source OS/2 kernel
« on: November 04, 2017, 01:48:03 am »
Keep up the good work.

When you get to the testing stage I have several new mini itx motherboard computers with AMD 2 and 4 core APUs as well as a couple of AMD multi processor, multi core HP server boxes that I can make available if that would help.

Will do.  Still have a long way to go.  One of my primary goals is to try and find developer recruits.  I will be pursuing that avenue with vigor as I want this project to succeed.  A fully open-source modern OS/2 running in 64-bits on modern hardware would be a thing of beauty.

General Discussion / Re: ES/2 open source OS/2 kernel
« on: November 04, 2017, 12:23:22 am »
On the machine I had to use (VIA-based chipset + AMD CPU), I couldn't get native IBM OS/2 Warp 4 or 4.52 to boot.  It got to the end of the third diskette and crashed.  I also had to reduce the RAM to 1 GB and enable an OS/2 option in BIOS to avoid SYS2025 and SYS2027 errors at Installation Diskette boot.

Ultimately, I was able to get my copy of ArcaOS to boot and install.  Everything worked there.  I was able to get my original kernel code copied over, and OS/2 versions of the assembler and C compiler installed.  I still have to migrate my DOS .BAT files to REXX scripts, and then it should be compiling.

I am also pleased to announce nearly everything I've written in my LibSF library for Windows, Linux, and FreeBSD will migrate with little modification to OS/2 and the Presentation Manager based on what I've researched thus far.

OS/2 programming with the PM is easier than Windows programming with the GDI.  However, I have greater knowledge of Windows so it will be a learning curve.

I'm looking forward to getting Visual FreePro, Jr. (VJr) running in OS/2.  It will serve as my primary developer base as it is well-developed for these purposes (meaning the facilities created to support VJr are generic, and can be used for other purposes).

It took me one day to make the migration, and it will take probably a week to get VJr all compiling, running, and ES/2 installing and booting natively on my second machine.  And a while to get the serial driver working.

I did verify the version of my kernel I had on that hard drive boots from floppy disk with the compiled code that's there, but I think the source code base there is about 10% behind my current version, so I will be switching to the newer one.

Am very pleased with how smooth the migration has gone thus far.

General Discussion / Re: ES/2 open source OS/2 kernel
« on: November 02, 2017, 08:14:59 pm »
I am migrating my ES/2 developer environment to a full OS/2 environment (previously it was on Windows).  It will be developed from this point forward in an OS/2 4.5 developer environment running on native hardware (not a VM), with a second native hardware machine used for testing the code.

My goals are to use the OS/2 developer environment to get my kernel compiled, to create a stable serial interface between the OS/2 machine and my ES/2 machine so I can rapidly send updates to my kernel while it's running, to do remote debugging, and so on.

The code I've previously written in Windows will be ported to OS/2 and the Presentation Manager.  I've written it generically all along as I originally was targeting Windows, Linux, and FreeBSD, so there is nothing Windows-specific to it that shouldn't be easily adapted to integrate well with OS/2.

Again, if you have the skills, I would like to invite you to come and help out on this project.  It's to be an offering of the skills and abilities God first gave us, and the opportunities He's given us since then to harness and hone them, to return them back to Him directly, and not for money, not for fame, not for personal glory, but because we have these interests, and we recognize all of our abilities come from Him.

If someone gave you $10 million to build a company and some large campus, you would begin work and invite that person to be a part of all of your project, opening ceremonies, you'd give speeches which include parts like, "Without so-and-so, we wouldn't be here today."  You would name a building after that person, or the whole campus even.  There would be plaques commemorating that individual, with their picture here and there all around.  The "About us..." documentation within the company would include references to that individual's generosity.  And so on.

All I'm trying to do here with these projects of mine is give God His proper place in my life.  He made the Earth, Sun, air, trees, animals, plants, everything, including me and you.  It is desirous, and proper, to give Him all that He is rightly due with our lives.

ES/2 is to be a ground-up open-source OS/2-like operating system.  The compilers I'm writing are ground-up open-source creations using some familiar languages as a starting point (assembly, C, Java, Julia, and others), but then extending them forward.  And the same holds true for apps that will be developed which are similar to other apps.

All of these are ground-up, sanctified, purposeful efforts given over to Him acknowledging His rightful place in our lives.

Please ... look up to God.  Look within your heart.  And come and be a part of this project.  Let His gifts to you shine outwardly to others in this endeavor, so that you can receive from Him the reward of your efforts given over to Him here in this world.

Rick C. Hodgin

General Discussion / Re: OS/2 history
« on: October 25, 2017, 03:15:22 am »
I worked for IBM (not related to OS/2 development) for several years.

Did you know David Barnes?  He looks like someone I would definitely like to meet.

However, I did at one time know the General Manager that owned OS/2 and he had said the MS told IBM that they did not care if IBM open sourced OS/2 but IBM was unwilling because it would cost them $500K on top of lawyer costs.

If that information had been made public, I think many ISVs would've come together and figured out a way to fund that cost to obtain the code base.

General Discussion / Re: Trying to get the forums back.
« on: September 22, 2017, 01:51:40 am »
Back in my Apple II days, I was transwarped ... Replaced the 1Mhz 6502 with a 3.6Mhz 65C02 and included 256MBs of ram. With a bit pf patching, the old Apple II could run Apple //E software at a blazing 3Mhz and access most all the ram. Now I'm running a 2.4Ghz dual core CPU with 4GBs of ram and yet am only warped  :)

Well transwarp never did quite work properly for the Federation.  We're pretty much been stuck with warp drive.  Voyager gave us quantum slipstream drive though.

General Discussion / Re: Trying to get the forums back.
« on: September 21, 2017, 08:55:26 pm »

Applications / Re: Java applications
« on: June 21, 2017, 10:08:59 pm »
Awesome work, Joop.  Very impressive.

Thank you,
Rick C. Hodgin

Storage / Re: HPFS and JFS internal definition specifications
« on: June 21, 2017, 12:30:19 am »
I've been thinking about it.  I can no reason whatsoever to not work with a journaling file system in moving forward.  It is the only path that makes sense for a long-term system.

I'll be looking at JFS in moving forward.

Thank you,
Rick C. Hodgin

General Discussion / Re: ES/2 open source OS/2 kernel
« 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

General Discussion / Re: ES/2 open source OS/2 kernel
« 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

General Discussion / Re: Exodus/2 (ES/2)
« 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

Pages: 1 2 [3] 4 5 ... 12