PCOS Development HQ

since December 2006                                                                                last updated 10/26/2009

News    PCOS Backstory    Frequently Asked Questions    Development Plan    How To Contribute    Downloads    Contacting Us     Version History    Screenshots






News!        -back to top-
10/26/09            Progress made on x86 disassembler.
Before any major work can be accomplished on the PCOS instruction execution core, a comprehensive disassembler must be completed which can take x86 object code and translate it into assembly code, similar to the old DEBUG tool included with many DOS systems. A working model of this has been developed, and is being pushed toward completion. Images are available in the Screenshots section. As you can see, most of the basic instructions have already been implemented but some work remains before completion.

10/5/09            Decision on future PCOS instruction set.
A conclusion has been reached on the issue of the PCOS kernel instruction set. Although, due to the speed hit which is incurred, the authors of the kernel initially wanted to stay away from instruction sets which involved manipulating individual bits to execute instructions, they settled on using the Intel x86 architecture due to several reasons, the foremost being the reusability of code compiled for other x86 platforms such as DOS. This means that development of fully functional applications for the PCOS platform will not be held up by the lack of an adequate compiler as has happened with the kernel series 1 releases. The move to x86 will, in essence, turn the PCOS kernel into a DOS multithreader of sorts, allowing developers can reuse code they have already compiled with their favorite language and IDE and have the programs execute directly on the PCOS kernel with the added benefits of multitasking, virtual memory and other trademarks of a modern operating system. Under this premise, traditional DOS apps will run as originally coded and programs designed to exploit the GUI and other features of PCOS will be able to do so as well. Since all interfacing with the PCOS GUI will be done via memory and/or interrupt calls, an application could also be designed in such a way so as to allow it to behave one way under plain DOS and behave as a PCOS app while running with PCOS.

9/7/09            Instruction set changes.
Recently the developers of PCOS have agreed that it may be beneficial to change the PCOS instruction to a clone of that a specific microprocessor or processor line. This would not only streamline developing, but would eliminate the need for a specific compiler since anything compiled for that chip would run natively in PCOS. The instruction set that will be adopted will be from a platform which uses whole bytes to describe registers, memory locations, and the like. Among the platforms being considered are the DragonBall processor, the ARM series, and Motorola's 68K family. We are initially not researching the Intel 8088 and others which would involve splitting the instructions into individual bits in order for the kernel to determine what to do. So in short, we want your vote. Which instruction set should become the standard for PCOS development? Let us know what you think.

5/22/09            The PCOS Development HQ moves again!
Well, not only has the Development HQ moved its physical location, but now its web location is changing as well. Due to Yahoo's decision to shut down Geocities, the project's site has been moved here to Tripod.

3/14/09            Rewrite of Memory Module scheduled.
The Memory Module, in its past design, had little more to do than keep track of which memory blocks were allocated to which applications, and depended on the underlying memory driver to perform the actual allocating, releasing, and compacting. In the scheduled rewrite of the Memory Module, it will take over all these jobs, allowing a multitude of extra handles to be allocated. Even under pure DOS with the standard XMS driver, handles eventually reach a short supply. The first release may have an upper memory limit of 64MB, but this will quickly be changed to the full 3.5GB that PCOS kernels past could work with.

2/14/09            New instruction set released.
Today marks another significant step in the development of the series 2 kernel. The new instruction set list has been completed and added to the Kernel 2 Series Specifications Document. The 61 instructions currently listed are definite at the time of this writing, but more may be added as development continues.

2/08/09            Work on the kernel resumes.
Even though the PCOS Development HQ is not yet settled into its new location, this hasn't stopped everything. Work began again recently on the Memory Module for the new series 2 kernel, and is scheduled to be completed by the end of the month.

1/09/09            The move begins...
The PCOS Development HQ has begun the moving process. Oh, for a simple MOV instruction to work in this case! After taking the majority of the month of December off for holiday activities, the staff will begin to assemble a collection of new hardware which will form the backbone of the new testing and development environment. Granted having to move the entirety of the PCOS HQ will take some time, especially since it's being done in the middle of Winter, (good timing on our part, eh?) but the end result should be well worth it. On completion, some time in the next few months, development will get up to speed, and return to the regular schedule.

11/01/08            PCOS Development HQ upgrades.
Some changes are in the wintry air! Over the next month the HQ will be relocating, so if updates to this site become a little sparse, don't worry, we're not disappearing! After the move, the HQ will be getting some new hardware for the explicit purpose of creating a more diverse environment for software testing. New test machines will be added to the existing ones already in use, allowing developers to test the upcoming series 2 kernel on desktops and laptops both new and old. So stay tuned!

10/21/08            We have a winner!
Just over two weeks after its release, the message has been cracked! We congratulate an obviously capable programmer known as Artelius, for being the first to obtain the solution to the ESEA encrypted text posted earlier this month. Of course, the challenge was not to see if the algorithm can be cracked, but to see how long it takes to start from scratch and hack the encryption, and the initial run of the Encryption Module fell horribly short. In an email, Artelius states that it took him a mere week to research the code, come up with several algorithms to do the job, refine them, write the final C language implementation, and come up with the winning text, running 12,884,901,888 combinations on three different computers simultaneously before achieving his solution. His findings, as well as those of the other testers will be rolled into the final implementation of the Encryption Module, which will support a more random means of generating keys, using a pass phrase to generate a key, and a key length four times that of the preliminary version, as well as more variance on the encryption algorithm. This should make it a tad more difficult to hack, so the challenge isn't over yet!

10/18/08            Yet another module added to the series 2 lineup.
That's right, another feature is added to the mix. This new module, currently known as "ascmath" is a system by which the computer will be able to work with extremely huge numbers. The API accomplishes this by treating numbers as ASCII strings, and mathematically manipulating them one digit at a time, much as one would do if performing the calculation by hand with the good old-fashioned pen-and-paper method. To date, the module supports addition, subtraction, multiplication, finding powers of numbers, all with negative, and floating point numbers as well as the obligatory positive ones. Bugs are being worked out which crop up if mathematics are performed on a negative floating point number, and of course division will be included as well. Upon completion, the current code will be speed optimized before being incorporated into the kernel. The code was found to be spot on under a variety of numerical conditions in recent tests. So much so, in fact, that the preliminary code was used to accurately calculate the total number of possible combinations required to crack the ESEA encryption method's key strength of 512 bits, as mentioned in the news article below.

10/12/08            ESEA remains uncracked.
Here we are, one week after the release of the info on the series 2 kernel's debut encryption technique, and there has yet to be a successful attempt in cracking the message! During this time, however, we have not been resting idly by. The creators of the ESEA technique state that the security of its keys is such that a brute force (trying every possible key in sequence) attempt at a crack would require 256 ^ 64 combinations. How secure is that, you ask? Well, 256 ^ 64 is equivalent to 65,536 ^ 8, or 4,294,967,296 ^ 4. The final implementation of ESEA for PCOS will support these 512 bit keys, which raises the bar from it's current form to the ESEA standard, which comes out to a very huge number. What? You want to know how huge? What is this, math class? Ok, here goes. The expression 4,294,967,296 ^ 16 equates to 13, 407, 807, 929, 942, 597, 099, 574, 024, 998, 205, 846, 127, 479, 365, 820, 592, 393, 377, 723, 561, 443, 721, 764, 030, 073, 546, 976, 801, 874, 298, 166, 903, 427, 690, 031, 858, 186, 486, 050, 853, 753, 882, 811, 946, 569, 946, 433, 649, 006, 084, 096. Seriously. We literally did the math on this one. Which, needless to say, is far beyond the sphere of computational feasibility.

10/05/08            Series 2 kernel to support data encryption- your help is requested!
A new module has been added to the list for the series 2 kernel. The new Encryption Module will enable basic encryption support for any block of data in an XMS handle using the ESEA (Enhanced Security Encryption Algorithm) method. The details were laid out in an introductory cryptography text written by Mercury0x000D:
"Normally when you use a password, the computer just stores it and sees if what you enter next time matches what you told it the password should be. But things would be much more secure if the computer actually encrypted the plaintext data based on the password you enter, morphing it into a different piece of data entirely. So if I have a special message, like THE WORLD IS FLAT, and I have a password, like BOB, the computer could do a mathematical formula on the letters to make a numeric password from it. In this case we'll use the number of letter, so BOB would be 2-15-2. Then we do a formula on the numeric password, so 2-15-2 would maybe become 2 - 15 + 2, which would give us -11, so we strip the sign, and get plain old 11, and 11 in binary is 1011. Next we could rotate the bits left once just to confuse prying eyes further, getting 0111. Now we take the rotated binary sum of the numeric password and get 7, then finally we go through every letter of the message and perform a math function with that letter's number and the password. So THE WORLD IS FLAT might become something like BRW MDPOE VP MUOE. Then, since we have everything down to numbers, we could checksum the final message and give this checksum back to the user. So if you typed in the password BOB, the software would work its magic and give you back a number, like a confirmation password, and you'd need the original password and the number generated by the software to unlock the message. Just to make things harder still, the checksum given back could include other information, like the length of the original message, things only its intended recipient would know. So then I was thinking... what if this still wasn't enough somehow? The software could be set to run the message through encryption several times, making it further from what it originally was each pass through, maybe even using a different password and checksum set each time. We could even perform math on the encrypted message too, and include that information in the checksum also. This method would have no stored password to be discovered by anyone. The message becomes its own password, of sorts. You may think nobody has things on their computer that need that much protection, but what if it's the other way around? Maybe nobody has things on their computer that need that much protection because they know that much protection isn't available. Until now, that is. This could be used down to the file system level, also, so it could not be bypassed. Another thing to consider is the fact that most systems will give you an error if you enter the wrong password and this software will not. So if someone tries to enter a bunch of passwords to guess their way through your security, they'll all simply work just fine, producing garbage if wrong. So yes, the hacker would get a plaintext message, but would be unable to tell if they got the correct one."
Okay, so it's not 1024 bit private key encryption, but it's complex enough to be useful. And to test it out, we are asking for your help. Interested? Here is a message that's been encrypted using a preliminary version of ESEA which does not yet implement password based encryption. The hexadecimal values in the message file represent the bytes of the encrypted data. If you're into cryptography, or know someone who is, and you think this cipher can be cracked without the key being provided, give it a try! We will be listing the results of any successes on the site in the near future, and using this information to further refine the algorithms used. If you need help, here is the source code for this preproduction version of the Cryptographic Module.

10/01/08            New function calling method in series 2.
All of you who have researched the original kernels are probably familiar with the KINT functions. Short for kernel interrupt, these functions comprised the PCOS API, and will still be included in the series 2 kernel so that previous apps won't break. However, the new kernel will support having its internal functions called directly by a program executing a direct jump to it's code. The functionality for direct address jumping will be accomplished through a new opcode, DJMP. And how will application programmers know where the kernel's routines lie? After all, their internal location will vary widely from version to version. The PCOS Function Header, a small .asm file that can be included in any program that calls kernel functions, will be created to address this issue. When the compiled app is run, the header's code will execute before the program containing it, at which time it will determine which version of the kernel it's running atop of and set the proper addresses to a set of standard pointers, thereby enabling programmers to only concern themselves with the function labels (actually variables that point to the function's address in base RAM) and bypass the old procedure of calling software interrupts that slow down program execution. If the program is being run on a version of the kernel that does not support direct address jumps (e.g. the entire series 1), it will trigger an error message.

0
9/18/08            Text Module finished today.
Today one more feature module is added to the downloads, marking one step closer to the series 2 kernel's completion. After performing a (somewhat lengthy) debug on the source (remember, kids, always check for nil handles! :]) the module is available for your review in the Downloads section. The Text Module provides routines for searching strings, returning certain words from text blocks, replacing entire ranges of characters and more. Next up: completion of the Memory Module.

0
9/15/08            Low memory sluggishness be gone!
The Text Module nears completion, and the Memory Module has seen several improvements, which bears mention of a major new feature announcement for the next release of the Memory Module: VRAM allocation. With this feature in place, the PCOS kernel will automatically use excess memory on the system's graphics card to function as usable application-accessible RAM. For users with higher-end video cards, that could mean a quite sizeable chunk of extra memory to have available. Also, if anyone finds themselves needing to run programs on a machine with no XMS at all, the kernel will be able to adapt to that, too, by using this feature which is slated to debut in the second release of the series 2 kernel.

0
9/02/08            Hardware Module finished.
The Hardware Module was completed this week, bringing the overall project development to roughly 40%. It includes mouse support, and some other handy routines for querying the disk drives and such. The source for this module has been made available in the downloads section, along with that of the File Module, which has been done for some time.

0
8/31/08            First look at a piece of the Kernel 2.00 source code!
There have been several requests for a sneak peek at the innards of the new PCOS kernel, so beginning today a new section is available in the Downloads area. Right now only the new Display Module code is available, which provides complete VESA support, shape drawing, and pixmap manipulation for the series 2 kernel. As more modules are completed they will be posted in this section, so check it out and get your hands on the latest in PCOS development!

08/26/08            Kernel series 2 specifications document released.
The past months have seen a host of changes to roll into kernel 2.00, as well as vast progress on the kernel's inner workings. So how do you keep up with all the latest developments without having to sift through the News section all the time? You simply check out the newly released Kernel 2 Series Specifications Document, which is available here.

08/22/08            Text Editing Module announced.
As if there weren't already enough features in the new series 2 kernel to render it superior over its predecessor, now it has been announced that a collection of text editing routines will be included as well. The previous kernel series had nothing of the sort, so this is a welcome addition to the kernel 2.xx plans by developers and users alike.

07/30/08            File Module completed.
The File Module was completed today, and awaits its addition into the series 2 kernel's source. The demo is able to open multiple files, associating each with the thread ID of the process that opened it. When the thread closed, the File Module simply closes all its associated files with a single function call. No error messages, no lost file pointers, nothing of the sort. On a more impressive note, the module created and manipulated assigned drives (e.g. as you would with DOS's subst command) and its most special feature yet- the ability to rename open files. This may sound pointless at first, but its value becomes apparent when you're wanting to rename a file or folder while the system's using it without bringing everything to a grinding halt.

07/17/08            Progress update on the Display Module.
After approximately three months of coding, the PCOS Display Module is finished! The result? A full-featured, double buffered, fast blitting image machine. Every promised feature in the video category is now a reality, making the visual capabilities of PCOS rival those "other" operating systems. The testing demo was more than impressive, showing off images loaded from files in three formats (BMP, GIF, and PCX) being scrolled, blitted and color cycled. The time for the image to get from a pile of data on the hard drive to a coherent picture on the screen was decent for PCX files, much better for GIFs, and absolutely phenomenal for BMPs. The demo effortlessly loaded a 45 megabyte uncompressed BMP at 8000x6000 resolution in about seven tenths of a second. It then proceeded to allow the user to scroll about the image, with frame rates topping out at 54 fps at 640x480, 35 fps at 800x600, and 21 fps at 1024x768. The heart of all this is a highly efficient blitter routine which allows PCOS to manipulate pixmaps entirely in XMS, breezing through millions of pixels per second. Although it currently only supports 8 bit color, future releases of the series 2 kernel will support 16 and 24 bit color as well.

07/03/08            PCOS background file copying utility announced.
You've seen it mentioned in the Black Ice screenshot. You've wondered what new code powered the multiple operations shown in the Red Delicious pic. And now, brought directly to your computer monitor, is the straight info on the new piece of work known as the Asynchronous Operations Manager. The AOM works by hooking the kernel functions used to copy files and folders, and activating itself only when there's some file operation that needs performed. It is important to note that it does not stay resident in memory, consuming precious CPU cycles while it waits for you to need it. Instead, it uses a new mode of program loading introduced in the kernel 2 series in which a program is loaded, does a job, then terminates but leaves its code still accessible. This is nearly identical to the old DOS method of loading a TSR program, but thanks to the PCOS kernel's totally protected memory architecture, there aren't any of the hang ups commonly associated with the methods of yore. Ok, now for the real world break down: You're happily using your AOM equipped PCOS workstation one day, when suddenly you realize that you forgot to do a backup lately. No problem, you think, I'll just do it right now. You drag your documents folder to your backup drive, and a small window pops up indicating that the AOM has sprung into action. No pointless little animations, no perpetually incorrect estimates of exactly how many years it'll be before this procedure's done, just a simple window with a progress bar that begins ticking away as your files are copied to their destination. Suddenly you remember that you need to backup another folder too. Will you have to wait until the current copy operation is completed? What is this, 1983? Of course not! You drag the other folder to its new home, and notice that no new window appears to tell you that the second folder is copying also. Instead, the existing copy progress window is lengthened, and the new copy process is added to it. Clean and simple. Two massive folder copies, two progress bars, one little window. Then you reason, I guess I can delete my old backup folder, so you go to your backups folder, select your old folder, and click delete. Once again, no new window appears, only another line in the existing AOM window. Pleased with the capabilities of your computer, you decide to proceed writing the new BASIC compiler that you intend to contribute to the PCOS project (hey, give me credit for trying, okay? :D) then you smack yourself on the forehead for forgetting to add the date on the folder you're copying your backup to. Here's one other small detail that would give other operating systems a headache. You navigate to the target folder, and click rename, then add the date. As you hit the enter button, you realize that, since the OS is copying to this folder while you're attempting to rename, you'll probably be greeted by an error message. To your surprise, though, no error window appears, and the system pleasantly accepts your name change. Why? The trusty AOM not only hooks the functions for file copying, but also the renaming functions, so that it can use the new name you specify seamlessly without losing step. Awesome, huh? Yeah, we thought so too.

06/30/08            New windowing environment unveiled.
At last, the Screenshots section has some new pics! Of what, you ask? A new windowing environment whose details were released today. It's called "Black Ice," and not only will it help you get the most out of your computer, just like its namesake implies it'll look pretty slick while it does the job. Most impressive is the new 'open desktop' approach, which leaves your entire monitor virtually free and uncluttered of any menus, task bars, and any other desktop ornaments, save one solitary tab in the upper left corner of the screen. Park your mouse over it for a moment, and it expands outward to show you all currently running tasks, all open windows, the date, time, and other vital stats about your system, such as background tasks and the like, all grouped by classification. Our overall impression... awesome. Even more awesome, it's been scheduled to be included in PCOS Package 1 upon its release.

06/20/08            Release date of new kernel pushed back.
The long awaited PCOS kernel version 2.00 is nearing completion, however the brains at PCOS HQ are pushing back the deadline for release to further test and optimize its internal workings. Changes have also been announced concerning one of the basic capabilities of the new kernel. The first version of kernel 2.00 to be released (now scheduled for an unspecified date in 2009) will be a complete implementation of the kernel, sans multitasking. The reason for doing this is to aid developers who wish to test the basic structure of their applications in a single task environment. Shortly thereafter, version 2.01 will be released in its final form.

04/19/08            Code modules in place in kernel 2.00.
So far, the Hardware Module is completed, which takes care of interacting with the computer's devices. The Display Module is almost complete, only needing some minor tweaks, as are the Memory Module and the Resource Module.

04/12/08            Code execution core opcodes won't change.
It is being announced that the series 2 kernel will support the same opcodes as its predecessors. What this means for developers is that the existing code they have running under the kernel betas will work without modification under the new kernel specification. However, the instruction set will be modified to include new opcodes to support more versatile memory handling and some other features which will result in more efficient and compact code.

04/5/08            Display Module specifications released.
Specs were released today for the kernel 2.00 Display Module. It will support some pretty cool stuff, such as long-promised VESA support, multiple display pages which can be used as a double buffer for smoother scrolling, creating and manipulating pixmaps in XMS or even VM, saving and loading individual palettes, and the ability to save and load BMP, GIF, or PCX images. The ability to load JPG images will be added in a future release of the kernel 2 series, as well as the ability to quickly rotate and zoom pixmaps.

03/28/08            Memory Module near completion.
Work on the Memory Module for kernel 2.00 is almost done. It will now support virtual memory and auto release for all allocated handles. The Memory Module accomplishes this by keeping notes on which threads allocate which handles, and when a thread terminates it only takes the system one simple call to have the Memory Module release all the handles in use by that thread automatically. This approach will help reduce the occurrence of memory leaks and the like.

03/16/08            Details of new kernel released.
Work on the next PCOS kernel is well underway, and approximately half of the development plan is completed. The Resource Module specs have been determined, as well as those of the new Memory Module and Display Module, complete with a set of functions for drawing lines, circles, loading images from files, pixmap manipulation, and more.

01/15/08            No more betas... the official first release of the kernel announced for next year release!
It's official! The next kernel released for download will be the finished product... the official first release of the PCOS microkernel. Yes, to answer your question ahead of time, that means that development has proceeded to the point of near completion at PCOS HQ. Within the next year, the current (and final!) kernel beta is expected to become obsolete, and be replaced with the long anticipated kernel version 2.00, bringing an end to the "Step One" phase of development. An updated version of the kernel technical manual is scheduled to follow the new kernel's release shortly thereafter. This kernel release will incorporate all the features long promised by past betas, will have the beginning of an application development API, and will most likely achieve its target speed of over 200,000 loops per second, as measured by the Speed applet. Currently, the kernel is undergoing further optimization and debugging of the thread execution core, which will be followed by a brief bug testing period. So, in short, the wait is almost over ... the countdown begins today!)

01/3/08            New kernel model announced... the kernel 2 series!
Development of the PCOS kernel has seen sweeping changes in recent weeks, pressing it far beyond its humble beginnings. The current kernel version is the closest it has come to being a solid work, but at the same time the successive developments rolled into each new beta release have proved its inadequacies. Now is a time for change. With pleasure, we present to you a new design for the official release of the PCOS kernel, which will allow developers more room for making awesome software for PCOS. The next release of the PCOS kernel will utilize this new model, which calls for the addition of floating point and integer registers, expansion of the universal registers already existing in the kernel, improved memory handling, as well as the implementation of several features not yet offered by the current kernel betas, namely fully protected memory, a drastically increased thread limit (breaking the current beta's 32 thread barrier) and virtual memory. Also available will be a fully redesigned code instruction core which will implement a set of new instructions for more efficient code, and optimize thread execution by using a large object code buffer in base RAM to execute hundreds of instructions per cycle, as opposed to the method used by today's betas, which run each instruction out of XMS directly as the thread does its work. This alone should provide even more speed out of the kernel due to the simple elimination of all the overhead incurred by constantly reading instructions out of XMS. One sorely missed feature, however, will be the built-in command prompt, which will be added once again to the project in the future as a stand-alone PCOS application.

12/20/07            Instabilities found in kernel 1.40.
After a short round of testing, kernel version 1.40 has been found to have problems associated with the call and mov instructions. This is a result of the major modifications to the kernel's inner workings, which allowed it to achieve the phenomenal speeds that it was created to run at. The problems are scheduled to be fixed in the next release, which is expected to be completed soon.

12/16/07            Benchmark results: New kernel version hits record speeds.
The PCOS kernel may be pretty stable, but speed has historically not been its strongest point... until now. The newest kernel beta, version 1.40, has far surpassed its predecessors, as shown in the following benchmark table. Kernel 1.40 boasts a speed gain of slightly over 75% compared to the previous release. It also weighs in as the largest kernel to date, with over 6,700 lines of source code... that's approximately 91 pages! Moreover, future releases are expected to push the envelope even further, resulting in a kernel that can execute well over 150,000 loops per second. The following results were achieved by running Speed under each kernel version to determine how many loops per second it can process on a mid range PC:
beta version        highest average speed
1.33                    64,559
1.34                    65,462
1.35                    80,389
1.40                    142,077

01/20/07            PCOS goes totally open source with the GNU GPL License!
If you've been following this website for any length of time, you probably already know that the PCOS project has always been open source when it comes to all applications written for it, but the kernel itself and the PAC compiler have always been closed source. Well, to mass approval, the kernel .zip packages now include the PowerBASIC source code for the kernel itself. Now you too can contribute on a deeper level to the PCOS project... just download the source and have some fun! The move to license the PCOS Kernel with the GPLv3 provides the general public with a means to get involved with the project and (hopefully!) further its development. The full text of the GPL is now included in every package downloaded from this site, but if you're curious the text of the GNU GPL is also available here at the Free Software Foundation's website.

01/01/07            New look for the PCOS website.

The web wizards in the PCOS design group got together one day over lunch and, having exhausted all other valid points for conversation, decided to contemplate revamping this, the project's humble homepage. Yes, they were really, really, really bored. With that said, they hope you like the new, streamlined look which now includes a "Screenshots" section, the best-selling (okay, maybe not quite) PCOS backstory, and this wonderful new "News!" area, among others.

12/15/06            PBASIC compiler under development.
Due to slow progress of someone completing a BASIC compiler, I have decided to finally resume development of mine. While not much has been done yet on it, progress is being made, so feel free to download it and see what you think and/or contribute your ideas and efforts to it.





PCOS Backstory        -back to top-
Some people may look at this project and wonder ... Why did you start doing all this, dude? Well, the answer to that is a long and boring story which involves me, my computer, and my sickness over repeated attempts by certain software companies to take over my system- which I bought with my own hard-earned money, mind you- and turning it into their own personal slave. The story doesn't end there, so you may wish to roll yourself across that battered old hand-me-down mat you have in front of your desk, get up off your fancy little computer chair right now, and proceed to your kitchen, bathroom, or your local high class coffee joint for some consumables to keep yourself awake for this...

    The PCOS project started in 1996 after the release of that first infantile step on behalf of a certain mammoth software company, commonly known as Windows 95. I actually tried Win 95 (OSR2 B for those of you who actually care what version of this hideous piece of code I ran) for about a month before I became totally, thoroughly frustrated by it and its idiosyncrasies, and promptly removed every trace of it from my computer's hard drive. Back to DOS 6.22 I went. Huh? Windows 3.11? Don't even go there, buddy. I never even bothered trying the next version, Windows 98, since their big tag line for the product was "We fixed over 2,000 bugs that were in the original version!" Many people were jumping at the chance to get their hands on it, but my logic ran contrariwise, as usual. I reasoned, "Why would I want to buy from a company who just admitted that their past product had over 2,000 bugs?" If that were the case, it should never have been released. Just before I got a PC, I had been given an Apple Macintosh Performa 631cd, which blew my mind with its phenomenal ease of use and user-friendliness. I was also amazed at the huge inadequacy of the Performa's paltry Motorola 68040 processor and that huge 8 MB of RAM which some genius at Apple decided to bless the system with. Disk thrashing took on a whole different meaning after experiencing this machine in operation for any length of time. So, with these two vastly different computers in mind, I set out to simply write a little operating system which would be able to provide most of the features offered by the Mac, on the cheap, more prevalent, and usually more memory endowed PC. My first efforts were pathetic at best, resulting in many iterations of an operating system which only got halfway completed before I decided I wasn't happy with the way the project was going, so I'd scrap the entire piece of work and start anew to make a newer, bigger, better version. The first version which actually was semi-usable had no mouse support, very basic graphics support, no audio, no nothing. Picture Windows 3.1 1 locked in one of those de-evolution chambers from the Mario Brothers movie. Never heard of that film? Trust me, you're better off. Also trust me that this PCOS version (something like pre- pre- pre-beta) sucked. Eventually, I learned enough about low level programming to evolve the design of PCOS to what it is now, with many of the features of a modern operating system already in place, and many more on the way. After years of on and off development, I pretty much retired the project due to continuous lack of time. But, thankfully, I stumbled upon a reason to continue my efforts...
    Not that many years ago, that same good old mammoth software company released their latest vision of what sheer torture each and every computer user should experience every day, usually called Windows XP. If they were so concerned with providing an enhanced user "eXPerience," perhaps they should have considered creating an operating system which actually outperformed its predecessor. Adding processor intensive background tasks like automatic updates, senseless security monitors, pointless document indexing, and a file system which restricts the user in oh, so many new and different ways is not the way to achieve this. Even more recently, that same company decided that we as a collective whole were not quite getting as frustrated as they'd like with our computers. So they gave us Windows Vista. Funny choice of wording there. The word "Vista" means "view" which implies that there's something new, something exciting, something you simply must see to believe in this latest iteration of Redmond's can't-write-code-to-save-our-lives loop. They got that part right. You absolutely do have to see this operating system personally in action to fully appreciate how utterly disdainful it really is. Supposedly, Vista is able to be responsive, keep you productive, and maintain your PC's security all at once. Come on, people. This from the company which couldn't even make its operating system do the two most basic things requisite of any OS- starting up and working. So of course it's not true, but then again, we're not really surprised, are we? Nope, not at all, Bill, not at all.
    Not one to place blame of complete and utter failure without fact to back it up, I visited the local electronics retailer with my buddy Maggot238 upon Vista's release to test drive this beast of a system, the "do all, end all" of system software, as touted by the top Redmond brass. For starters, I decided to try to run the system wide open, launching as many programs as I could, moving windows around, playing movies, running games. Within seconds the poor little laptop which served as my Guinea pig - high end as it may have been - sputtered and choked while waiting on a hard drive access. What about the programs which were already loaded into RAM? There's no reason they couldn't have kept running, right? Wrong. Everything came to a grinding halt. And quickly at that. Wow, this is really great. I gotta get me a copy of this thing! I think I'll install it at the local snail club. Maybe they can manage to strain the operating system a little less than I did. Next, to further the smile which I found creeping across my mouth, I took a different approach to system overload: file copying. I would simply attempt to copy a huge multi gigabyte mass of files and folders from one location to another while doing something as easy as playing solitaire. Where would I find a collection of files that insanely large? Why, in the Windows system folder, of course! There is, after all, nothing bigger in computing than the nearest Windows system folder. I proceeded to attempt my big fat Greek copy operation, but ran into an issue which prompted me to add another procedure to this little test: Windows Vista Security Management. The laptop quickly notified me that I was attempting an illegal operation, due to the fact that I was trying to interact with Windows system files. Since this computer was experiencing a serious case of Gates Lockdown, and since I'm the big DOS guy that I am, I began snooping for the closest command prompt. Also locked down. Ummm... and whose computer was this again? Okay, granted it wasn't my computer, but it definitely didn't belong to Gates himself. Without putting forth a great amount of effort, however, I was not only able to find the command prompt, I was able to open those "protected" system folders, and began copying away. For obvious reasons, I won't go into much unnecessary detail as to how I did it, but it only took me an open file dialog, provided in this case by trusty old Notepad, a keyboard command or two, and a click. Wow. This truly is the most secure Windows yet. It took about four minutes to do this instead of the usual one and a half. So far it was Mercury and Maggot 2, Vista 0... So I waited for the copying to finish while I tried in vain to play a mediocre game of solitaire. It just wasn't happening, folks. So as for that whole Vista "view" analogy? Nice try (maybe that's how they named Windows NT?) but you missed it by a long shot, guys. Sometimes speed isn't quite as important as user responsiveness, a concept which Apple apparently understands. How else could I go to a new Mac display and pull off multiple file copies, folder browsing, playing two copies of a movie, searching for Bluetooth devices, and randomly playing with the interface all at once? Take notes, Microsoft. The future is here, and it doesn't have the Windows logo on it.
    With each successive release of an OS so undeniably foul, Microsoft pushes more people like myself to further their home brewed operating system efforts. In my estimation, any program which tries to connect to the internet behind my back and download updates which I didn't ask for (not to provide us with a better user experience, but so that the company's interests are more protected) is nothing short of criminal. Or at least really, really freakin' annoying. Frankly, I don't know how the average user puts up with the sorry, slipshod excuse for computer programming put forth by these modern software conglomerates, which results not in productivity as the company touts, but in lost data, unmet deadlines, massive downtime, headaches, frustration, rashes, nosebleeds, and sometimes death. But seriously, folks, let's wake up and face the reality of computing today. You have things to do. The last thing you need is to have to deal with the gross shortcomings of an egomaniac multibillionaire and his little cracked team of programmer extraordinaire wannabes. There's many other options available to the average computer user, yet many don't take advantage of them. Among the various professional, polished, stamped out solutions to the operating system problem shine gems of the hobbyist community, such as the ever-more-popular Linux and the FreeDOS project. I don't know about you, but I remember being able to play a game featuring full screen, real time 3D wireframe rendering of several dozen objects at once on an ancient 8-bit computer system. Wanna do that today? Better hop on out to your local retailer and pick yourself up the latest 64 bit dual core computer with a kickin' video card and at least a couple gigs of RAM. This is ridiculous. I've seen demos coded by the home-based hobbyist community featuring full 30 fps video with multilayer transparencies, 3D texture mapped rendering, light source shading, and other awesome features, written entirely in Microsoft's own QBASIC. Why does this matter? Well, think about it: If we, the power users of the world, can pull off this level of advancement, why is it so hard for a multibillion dollar corporation to achieve? There is absolutely no excuse for the gross laziness of the modern programming industry, which states, "Oh, it's okay to write sloppy, inefficient, unoptimized code, since everyone has the latest computers now anyway." That is no excuse to relax your standards as a coder. That is no excuse to sell sorry, bug-ridden attempts at software which run much, much slower than necessary. And it is definitely no excuse for the release of a paucity of service packs and bug fixes for operating systems which shouldn't have been shipped in the first place with bugs as serious as some which we've all seen. I guess in short, I'm doing this to provide my own little contribution to a trend which will put software on computers that will one day threaten the big guys more than we, the authors of the software, ever thought possible. If the vision of a community of people all working together to the end of ridding ourselves of the corporate tyranny of being dominated by one operating system - stiff, unchanging, unmoldable - isn't enough to get you off your butt and get your fingers launched in a lithe flight across your keyboard creating streams of code, I don't know what will. It sure worked for me.





Frequently Asked Questions        -back to top-
What is PCOS?
PCOS (Personal Computer Operating System) aims to be a stable, efficient, compact OS which will run on any IBM compatible computer. Although it is technically a 'shell' program, don't let that fool you. PCOS is unlike any shell you've probably ever used. It will, in its completed form, combine the stability of Linux, the speed of DOS, and the user-friendliness of the MacOS.

Since it's a shell, PCOS probably isn't that useful, right?
Not necessarily. PCOS is in fact a shell, but if you didn't already know that you probably wouldn't have noticed just by using it. PCOS works with your computer's hardware on a fundamental level to provide many features found only in 'high-end' operating systems.

What kind of features does PCOS offer?
Here's a short list:
preemptive multitasking
protected memory
virtual memory support- limited only by the size of your hard drive!
XMS support up to just under 3 GB with the standard HIMEM.SYS XMS driver- meaning programs can run while loaded into XMS, unlike MS-DOS
SVGA and XGA support through use of VESA routines
access to the kernel's internal routines, providing an API for developers
inter-application communications
file system security (files associated to a specific user can be locked to only be opened and/or modified by that user being logged in with their password
Windows-compatible long filename support
built in APM power management

How user friendly is PCOS?

A variety of user interfaces will be available for the PCOS kernel. Among those are a command prompt interface which can be easily used by anyone familiar with traditional DOS commands, but it will also support a handful of new commands which make use of the PCOS kernel's enhanced features which were unavailable in DOS. A graphical interface will be released too, which will offer many different 'skins' (a'la Linux's variety of window mangers) the first of which will be modeled after the "Apple Grayscale" look used in the classic MacOS 8 series.

Where do I buy software for PCOS?
Initially, the only place to get programs for PCOS will be to download them from this site. The project is always needy of cool new applications, games, and utilities, however, so if you have a knack for programming and think you may want to contribute a program to the project, you will be more than welcome to visit the How to Contribute section.

Do I get any software with the OS?
Not at this time. All software available for PCOS will be able to be downloaded separately from the Downloads section. PCOS Package 1, when released, will be bundled with a collection of applications and accessories.

Do I need to dedicate my entire computer to PCOS?
No, you will be able to use whatever operating system you currently use, as long as it can run DOS-based programs in their full capacity, and run PCOS only when needed, although some features may not work, or may not work as well. Or, if you're so inclined, you may make it the only OS on your system to allow it to run at its full potential.

When will it be done?
As of yet, that's very uncertain. Development continues to push on, in the author's free time, of course, which seems to become more and more of a limited resource. The kernel is as near as it's ever been to completion, with more features being added and bugs being squashed every week. Every version available for download now on this website is a beta version, up until version 2.00, which will be the official first release of PCOS.

How are the different version numbers of PCOS significant?
The average version number is made up of two main parts, the major version and the minor version. As with most other software packages, the major version only changes when there's a major overhaul to the underlying system structure. The minor version changes whenever bugs are fixed, or sometimes when small features are added. There is another part to the version numbering scheme, though, and that is the revision number. The revision number changes similarly to the minor version number, but when the bug fixes or features are extremely minor, and do not warrant changing the existing version status of the release.

What are the system requirements for PCOS?
PCOS is a lightweight platform when it comes to system resources. The current requirements for the PC running the series 1 kernel are as follows:
    -an Intel 80386 or better / equivalent
    -a math coprocessor (e.g. an Intel 8087 or better / equivalent)
    -some available XMS, and an associated driver (e.g. himem.sys)
    -enough disk space to store the programs you'll be running

These are the minimums only, of course, so if you have a better system PCOS will just run that much smoother.





Development Plan        -back to top-
This is the development plan for the PCOS kernel and its accompanying applications, fixes, and features. As of version 1.40, Step One has been completed, and Step Two will be close behind, hinging on the impending release of kernel 2.00. The next phase of development, Step Three, is scheduled to begin in the beginning of next year. PCOS will be completed in Step Four, when the first package is ready, which will contain not only the PCOS kernel, but also a choice of interfaces- a command prompt and a GUI which will feature a selection of Window Modules, enabling the operating system to take on a variety of appearances. Bundled with the OS itself will be a various application programs to accomplish everyday tasks, such as text editing, image manipulation, records management, a day planner, backup tools, and a system health utility, a variety of games, among others. Unlike the popular operating systems, PCOS will include development tools with the package, including an assembly level debugger, a compiler, and example code so that anyone who is so inclined can use the existing source code to build on the PCOS foundation.





How To Contribute        -back to top-
Right now, there's not really a whole bunch anyone can do to further development of the kernel itself, other than wait for it to be finished, or help it get that way, by emailing me your suggestions based on your review of the kernel source code.

So far as applications development, the project is in desperate need of a BASIC compiler, as well as compilers in other languages too as users see fit. So if you can write a compiler, by all means let me know...





Downloads        -back to top-
The versions that are available are only betas, and as of yet there's not really a big variety of things that that can be downloaded, due to the fact that the kernel is incomplete. This will definitely change though by the time PCOS reaches its first official release, 2.00. All the kernel modules and archives are GPL licensed software, so feel free to share and modify them however you see fit.
 

Kernel Series 2
Display Module 2.0.zip                 version 2.0                 25.4 KB
This is the complete PowerBASIC source for the module that powers any and all things graphics related. It currently only supports 8 bit color, but future modifications will add 16 and 24 bit support as well.

File Module 2.0.zip                       version 2.0                15.2 KB
This module controls all manner of file access for the new kernel. Includes Windows-style LFN support.

Hardware Module 2.0.zip               version 2.0                14.7 KB
The Hardware Module provides low level detailed interaction with the devices in the computer. Includes mouse support and drive probing.

Text Module 2.0.zip                      version 2.0                16.4 KB
A collection of routines for manipulating text, entirely in XMS. Supports text objects up to 64MB in size.
 

Kernel Betas
kernel 1.40.zip                             version 1.40             140 KB
This is the current version of the main component of PCOS. Note that this is only a beta version, and it is still under development.

techref.rtf                                     n/a                          29.3 KB
The PCOS kernel technical manual, which details everything from the kernel's internal assembly opcode set to the complete error code list and more... full of intricate goodies!

kernel archives:
kernel 1.35.zip                             version 1.35             125 KB
kernel 1.34.zip                             version 1.34             122 KB
kernel 1.33.zip                             version 1.33             132 KB
kernel 1.00.zip                             version 1.00             98.1 KB

PCOS applications:
kclock.zip                                    version 1.0              606 bytes
A simple clock which stays resident in the upper right corner of the screen. Originally made only to test the kernel's multitasking and priority level processing. Includes assembly source code.

kdate.zip                                      version 1.0              597 bytes
A plain date display app for the PCOS kernel. Uses the priority functions of kernel 1.40 and up. Includes assembly source code.

speed.zip                                      version 1.0             692 bytes
A utility which constantly prints the number of instruction loops being executed per second on your computer. Also includes assembly source code.

development tools:
pac.zip                                          version 1.0            46.9 KB
The PCOS Assembly Compiler. A program which compiles assembly code into an executable program. Includes 'pachelp.txt', a guide for use, incomplete as it might be.

pbasic.zip                                      version 1.0            41.2 KB
Still under development, but available for your evaluation and contribution. This compiler will take a BASIC source code file and translate it into PCOS assembly. It will be compatible with the BASIC programming language, and will support many of PowerBASIC's additional statements. Any programs you have which are written in QBASIC or PowerBASIC should be easy to compile and run under PCOS, usually without modification. It will also support accessing the API functions of other applications and the kernel itself through interrupts.





Contacting Us        -back to top-
The creator of this project and maintainer of this site is Mercury0x000D (Mercury Thirteen). He can be contacted via e-mail at mercury0x000D@gmail.com. Mercury makes only a couple minor requests for any e-mails you choose to send. If you follow them, it'll really help him sort through all that mail! First, please avail yourself of the subject line. If you're reporting a bug, making a suggestion, asking a question, or whatever, please, please, please mention that in the subject line. Second, don't expect a response. Not that Mercury is so stuck up that he'll refuse to respond to your e-mail, he just usually doesn't have the time to respond to it all, and so is forced to only respond to e-mails which require further discussion of the subject matter. And, finally, third. Please do not feel it necessary in any way shape or form to refer to Mercury in the third person, as he is doing right here in this section. So, on behalf of Mercury and I... thank you!





Version History        -back to top-
version history of the PCOS kernel
(the different version releases are archived, not revisions, though)

version 2.00
-removed kernel infinite loop; no longer needed
-temporarily removed priority processing -to trim source code size and speed up theeee kernel, the built-in command prompt has been removed; will be re-added as a PCOS app later
-all threads are automatically terminated upon causing an error
-added errorHandlerPointer to threadData ttttype, and changed errorHandler to errorHandlerHandle to accommodate new error trapping abilities
-removed startAddr and endAddr from threaddddData type since threads don't share handles
-removed cursorH and cursorV from threadDaaaata type since they were never really used anyway
-removed nextThread from threadData type ssssince it will no longer be needed with the redesigned code core of this kernel
-modified system error handlers to excludeeee references to GetNaturalErrorText and GetKernelErrorText
-removed GetNaturalErrorText
-removed GetKernelErrorText
-removed InitKeyTable and related data strrrructures
-removed fileData type

version 1.42 (merged into kernel 2.00)
-added the dir command to the help screen in the command prompt
-added kint 0x34 (open / close cd drive dooooor)
-handle probing status (on or off) is now displayed by the mem command
-stripped down kernel error handler
-fixed screen mode change bug in CommandPrrrrompt()
-fixed bug that occurred when a thread useeeed the terminate thread kint on itself
-fixed bugs in mov and call instructions -further optimized code execution core
>>>
version 1.40
-merged ExecInstruction() with Main() for further speed increases
-trimmed code for unsupported instructionssss from ExecInstruction() to clean up the source
-overhauled code execution core algorithm for speed, yielding major performance gains; individual instructions still need optimized
-added kint 0x33 (set thread priority)
>>> -added kint 0x32 (set thread pause state)<<<
-added 'priority' to the threadData type tttto allow different threads to have more cpu time than others (e.g., the kernel infinite loop is set to lowest, and all other launched threads are set to the highest, but a thread can set its own priority if it doesn't require the highest speed setting)
-the kernel now informs the user of the sttttatus change of a thread when 'thread x pause' is used

version 1.35
-optimized some portions of code for speedddd
-added simple debugger which displays the register contents as the program executes
-fixed bugs in kint 0x09 involving cursor positioning
-fixed cursor relocation bug in kint 0x03<<<
-eliminated need for the CLIST and DAREA rrrresources, apps may now only have one 32K block for code and data, the DS register does not get set upon app load, and the mov family of instructions all access exactly the address they're told, instead of adding the value of ds to the address first
-fixed bugs in kint function 0x18
-added kint 0x31(draw line)

version 1.34
-to reduce source code size and segmentatiiiion problems the built-in debugger has been removed
-the command prompt now checks to see if ddddrive c is available before assuming it is, and makes the first drive available as the default drive if c: isn't there
-fixed a bug where the drives command woulllld display incorrect drive information for CD-ROM drives under plain DOS, not when being run from within Windows
-eliminated run command, just typing the pppprogram's name will run it as in DOS; if you type only the program name (e.g. 'program' not 'program.exe') the kernel will first look for a program of that title in the following extension order: .pco, .bat, .com, and .exe
-improved consistency of output of the memmmm command so far as handles allocated and block sizes; output used to differ widely depending on which underlying xms driver is being used
-certain essential system threads are now able to be designated as 'locked,' meaning they cannot be terminated; currently only thread 0 uses this, and that's probably how it should stay
-fixed annoying cursor relocation bug afteeeer dismissing an error box by pressing ESC
-fixed memory leak when using the restart command, due to the kernel not terminating all running threads before resetting itself... trying to restart the kernel now will generate an error if any threads are running
-got rid of the annoying prompt "Presssss any key to begin the program." when launching DOS apps
-fixed minor annoyances in the appearance of the text as a PCOS app loads
-improved error handling and thread stabillllity issues
-replaced the "Press DEL to access thhhhe system menu." line with "Press DEL to terminate this thread." in error boxes to eliminate having to do more error checking from having the command prompt running over top itself
-modified kernel startup error handling toooo include XMS setup also before switching over to the main error handler
-fixed text appearance of thread command ooooutput, no more wrapping lines
-eliminated two separate thread name fieldddds (public and private) so threads can now only have one universal name
-fixed startup procedure so that if a fileeee is specified it gets run, or if no file is specified on the command line the kernel goes straight to the command prompt
-fixed a bug concerning remnants of the olllld PCOS-style lfn support; the kernel no longer tries to see if a folder or file contains a PCOS filename
-fixed a bug in the PCOS app loading routiiiine which would leave a thread incompletely set up if an error occurred while attempting to load the app's CODE resources
-fixed a bug in how the kernel detects theeee amount of XMS installed and XMS free; the kernel has always used all installed memory, but would just report the wrong numbers for how much was there, now the correct numbers are shown
-made minor changes to the XMS section of the output of the mem command
-added /nhp switch to disable handle probiiiing which causes problems under windows
-fixed a bug in the xms release command thhhhat would let handles which are in use by an app be terminated
-the dir command now recognizes invalid swwwwitches
-added /s switch to the dir command
-added separate file and folder counters tttto the dir command's output, in addition to the usual item count
-fixed output of date command (used to be an error with 1st, 2nd, 3rd, etc...)
-fixed output of drives command, line wrappppping / spacing bug with mapped drives

version 1.33 revision 0x0010
-fixed bug in copy command that puts the ssssystem in an infinite loop if an error occurs while copying
-fixed bug where every directory created wwwwith a long filename is made lowercase
-fixed bug in mem command that caused overrrrflow errors

version 1.33 revision 0x000F
-added 'restart' command

version 1.33 revision 0x000E
-fixed drive label bug where the label forrrr drive C would appear as the label for every drive
-enabled asterisk wildcard in 'dir' for fiiiile filtering
-added /w switch to the dir command
-added support to 'dir' for listing directtttories other than the one you're currently in
-modified drives command to include displaaaaying drive labels

version 1.33 revision 0x0007:
-added /a switch to the dir command
-increased stability of copy command when used on non-lfn drives

version 1.33 revision 0x0005:
added commands: copy, credits, date, drives, eject, info, label, login, logout, make, pause, ren, time, type
-enhanced ver command
-fixed a bug where commands typed with leaaaading spaces are not recognized
-fixed the program launch bug where when ttttyping the name of a program to run it, the kernel displays "The command or filename is not recognized." regardless of whether or not the program actually existed. also, if the program did not exist, an error dialog used to appear in addition to the message
-md/mkdir now work properly
-dir command works
-rd/rmdir gives no errors
-fixed a bug with the cd command where it would change to a directory that doesn't exist if you type an 8 character or longer dir name with extra letters, just so the first 8 match
-the thread command now works properly wheeeen used with 'stop'
-commands typed in mixed case now will exeeeecute
-run command added

version 1.33
-added built-in command prompt interface tttto replace limited console menu system
-eliminated PCOS-style lfn support in favoooor of the Windows style... why complicate things by having three standards for filenames when we could have only two? :)
-temporarily removed KINT 0x27, 0x26, 0x25555, 0x24 and 0x23; they need rewritten to use Windows lfn
-modified KINTs 0x0C and 0x17 to not use PPPPCOS-style lfn's; need to add Windows lfn support though

version 1.00
official beta release



known bugs:
-the handle probing routine which the kernnnnel uses to obtain size and allocation data about XMS handles causes problems with Windows ME; use the /nhp switch when starting the kernel to shut handle probing off
-several inconsistencies have arisen when the PCOS kernel is used atop Caldera's DR-DOS, a few of which are listed here:
-your XMS available will be 64MB, even if you have more installed in your system
-the drives command will show every drive to be a floppy disk



kernel to do list:
-increase max number of threads
-move stack space for each app into one XMMMMS block, away from thread memory space, and make them all a fixed size, 32K each
-make max code resource size 64MB, insteadddd of the current 32K
-add enhanced instruction set, including nnnnew opcodes which will do the following:
-'push' and 'pop' will work on multiple reeeegisters at once, and work with numbers and memory locations, as follows:
push 8192
pop ua, ub, uc
pop [0xB4]
push es, di
push ax, bx, ua
push [0x34]
-'mov' will use autoincrementing registerssss, so instead of writing:
mov [ua], ax
inc [ua]
mov [ua], ax
inc [ua]
mov [ua], ax
inc [ua]
code can be written like this:
mov [ua]+, ax
mov [ua]+, ax
mov [ua]+, ax
-make wildcards be able to be used for driiiive letters also
-make command prompt multithreaded (so othhhher PCOS apps no longer freeze while you use the command prompt)





Screenshots        -back to top-
Here's a brief look at what PCOS will be in pictures. After all, there's only so much one can learn from reading a long, boring website. So, for all you visual learners out there, here's the photos! Click on a picture and enjoy!
 


A sample of the new PCOS x86 disassembler compared to the traditional debug.exe tool.

 


Here's a shot of what the Quasar GUI shell will look like upon completion, shown here with the "Red Delicious" theme, designed to mimic the traditional MacOS.
 


This is a shot of the new Black Ice windowing environment.
 


The output of the PCOS command prompt's "help" command.
 


The "dir" command- enhanced PCOS style, here showing off its Windows long filename compatibility and convenient layout with separate counters for files, folders, and total items, as well as an item size report which won't choke on huge numbers, and will actually tailor its output to whichever is appropriate- kilobytes, megabytes, gigabytes, terabytes, or even petabytes.
 


Here, we see the output of the "mem" command, which will display all XMS available, virtual memory used and free, and other in-depth data about your computer.
 


Ever find yourself booting into a DOS environment with no idea of what drives have been assigned what letters? Well, this issue will officially be a thing of the past with the "drives" command in the PCOS command prompt. Its output is shown here, which will list hard drives, CD-ROM drives, drives mapped with the "subst" command, and even removable USB flash drives.
 


The PCOS kernel is completely multithreaded, as shown in this example. Here's what it will look like with three programs loaded, with info on all of them available through the "thread" command.






 

Support Free Software!

Check out the Free Software Foundation's website:

http://www.fsf.org/