What is this project about? It's a multi-os cross-platform developing kit including compilers, libraries and other tools based on an extended C language. And it's open source. Wanna learn more? Let's overview its history...
- In the beginning there was only a dream...
2.ECDK - Conquering MS Windows
3.MenuetOS - Exploring a new OS
4.OpenECDK - A new star is born
... a dream about the ideal compiler for game developers.
This project is based on the older XSCompiler, a self-compiled MS-DOS 32-bit protected mode compiler, started in 1997 by me (Victor Prodan).The XS Project started with a small compiler for a language similar with ANSI-C and C--, but unfortunately its sources were lost in the summer of 1997. The idea was to make a C-like compiler with more support for the low-level programming required at that time for making games like Doom or Duke Nukem.
In the fall of 1997 started the programming of the XS Compiler, which was based on a powerful scripted lexical analyzer (tokenizer) that made possible an easy modification of the programming language. That feature allowed adding different extensions to the standard C language (like the exchange operator <-> or the with instruction taken from Pascal).
Another very important feature of the XS Compiler was that it produced 32-bit protected-mode programs (running in a DOS environment), which made possible the use of all the resources of a 32-bit processor. The initialization of the protected mode was made by an own Extender, which provided a linear memory space (up to 4Gb) for the programs.
Also, another powerful argument in the favor of the XS Compiler was the large group of libraries included, which covered almost all of the domains of computer programming: hardware (serial/mouse driver, timer, ports, VESA driver), multimedia (sound blaster, graphics (pcx, gif) and animation (fli/flc) ), multitasking, compression, standard libraries (i/o, string, math etc).
Starting from the beginning of the 1999 the XS Compiler was published under a freeware license on the Internet and in the Simtel database. During the time, a positive feedback was received from programmers from all over the world, which was materialized in emails, and several proposals (to use the XSCompiler as the core compiler of a new OS, to add support for other programming languages (more or less known), the permission to use the compiler for a game etc.). Unfortunately, because of the lack of resources (time/support), the development of the XS Compiler stopped in 1999.
The Extended C Development Kit started at the end of the year 2000 with the development of a Windows version of the XS Compiler (which produced Windows applications). This version was built on the bases of the DOS version of the XS Compiler, but with a different philosophy and technology. This new compiler was the first version of the Extended C Compiler.
The ECDK was more ANSI-C compatible like XSCompiler and it even had a nice IDE, named AVATA, with many many features, like syntax highlighting, autocompletition, debugger, dockable bars and many more.
The compiler, named ECC, was able to produce Win32, Win32 Console and DOS Protected-Mode 32-bit Applications and had also support for Win32 (Visual C) static libraries.
Unfortunately, ECDK was put on hold in February 2002, because my lack of MFC skills (required for the IDE) :(
At the end of the 2002 the compiler (XS/ECC) was dug up and used to make a XSCompiler version for MenuetOS (a fully 32 bit assembly written, graphical OS for asm programming, distributed under General Public License). This compiler was improved and used (among other things) to make an OpenGL implementation (unfinished). You you wanna learn more about these, go here.
Going open source.... this was a step that could have been a long time ago, but the studies blurred my mind :-). As soon as I finished my university studies and became a computer engineer :-D I decided to make this bold step for the sake of my compiler's future, as I couldn''t find the time to work on it for several years :-(.
And here we are... What's new in this project?
If you wanna learn more about this project you should check the Docs section. If you want to join us, please check the Contact page.