Public Discussions > General Discussion

ES/1 open source kernel

(1/12) > >>

RickCHodgin:

--- Quote from: Rick C. Hodgin ---Nov.13.2017 -- A quick update:

I've begun coding a DOS-like ES/1 operating system as a precursor to my ES/2 kernel.  It will be a simple text-based kernel in real-mode allowing me to port compilers, assemblers, linkers, debuggers, to that system, allowing me to test code in a simple environment, one I can easily mimic in IBM PC DOS 7.

ES/1 will also be released as a simple public OS people will be able to download and use for FAT12 and FAT16 disks.  It will also natively allow serial port networks. :-)
--- End quote ---


--- Quote from: Rick C. Hodgin ---Nov.16.2017 -- I have a text-based forms mechanism.  I'm currently developing my own master boot record, partition, FAT12 and FAT16 drivers, as well as an ES/1 compiler, assembler, linker, and debugger.  A large portion of that code is being ported from my existing kernel code.

I still have to complete:  COM port I/O, the basic ES/1 command prompt.

I will send screenshots at some point.  I'm using a 3dfx Voodoo3 2000 card as it does a 132x60 text mode (at 0xb8000 for those who know what that means, allowing me to reclaim 0xa0000 - 0xb7fff for real mode memory).

ES/1 will boot like a basic 16-bit DOS running on an 80386 or higher, and have a developer environment.  It will be a springboard for 16-bit ES/2 development.

It will boot up as:

--- Code: ---ES/1 Operating System - Command Prompt
Nov.16.2017 06:30 am

[c:\es1\] _

--- End code ---

--- End quote ---

I've created this thread to discuss ES/1 development and to answer any questions.  ES/1 is basically a stand-alone self-bootable version of what will become the 16-bit components present in ES/2:

My goals:

* Get ES/1 developed sufficiently to boot stand-alone (on floppy or FAT16 hard disk)
* Release for public inspection and testing
* Develop compiler, assembler, linker, debugger, in ES/1
* Release for public inspection and testing
* Use ES/1 as a launching pad for all ES/2 development
Note also that ES/1 will have a nice set of basic abilities.  It will serve as a decent launching pad for any custom kernel efforts.  Since ES/1 will pretty much use only what BIOS has already established, you can load your kernel into 0x0000:0x7c00 and single-step debug your way through all real-mode code.  If you write it in my compiler and/or assembler, you'll have source-level debugging abilities to boot your own kernel.

--
Rick C. Hodgin

ak120:
So how it runs inside a VDM?

RickCHodgin:

--- Quote from: Andreas Kohl on November 16, 2017, 09:43:46 pm ---So how it runs inside a VDM?

--- End quote ---

I'm running it on native hardware, but it should run perfectly fine as it uses very basic BIOS services for keyboard, mouse, disk, video, timer, with pretty much everything else being completely custom developed.  It won't have any USB support, save any BIOS emulation of USB devices as standard devices (PS/2 keyboard + mouse, hard drives, etc).

I will use it to develop the ES/1 and ES/2 networking stack, and also the algorithms required for FAT32 and JFS file support.

RickCHodgin:
The user interface is becoming mature.  It will be integrated as a standard set of ES/1 DLLs available for linking against at runtime.  I'll try and post some screenshots this weekend.

My next goal is to get the disk services working.  These are internal support algorithms for these command line functions:


--- Code: ---DIR {/w /a: /p}      // Normal directory
CD target            // Change directory
MD target            // Make directory
RD target            // Remove directory
COPY src dst         // Copy one file to another
COPY CON target      // Copy console content to file
TYPE {/hex} target   // Display file content
program              // Load an ES/1 program, .BAT, or .REX into memory
DEBI program         // Load an ES/1 program into memory and launch the Debi debugger
DATE                 // System date
TIME                 // System time
REBOOT {/cold}       // Restart ES/1 either warm or cold

--- End code ---

At that point, the system will be usable (provided there are programs written in ES/1 to run).  After that, the compiler, assembler, linker, and debugger.

RickCHodgin:

--- Quote from: Andreas Kohl on November 16, 2017, 09:43:46 pm ---So how it runs inside a VDM?

--- End quote ---

I was able to verify it runs in dosbox 0.74 for Windows.  I haven't been able to figure out how to get it to use larger than an 80x25 text screen in dosbox, however, so it's limited.  VESA reports no extended 132xYY text modes, so it may not be possible.  The things I've been designing have been for my personal use and use 132x60 video modes.  I'm working on posting some screen shots right now.

Navigation

[0] Message Index

[#] Next page

Go to full version