TriangleOS 0.0.2 - README =========================== Greetings ---------- This is TriangleOS 0.0.2. This is the second release, and a lot of changes have been made since 0.0.1. A lot of bugs have been fixed and new features added. However, this is still no guarantee that T/OS is bug free, so use at your own risk ;) These are the current features of TriangleOS: > 32-bit protected mode kernel for i386+ (paging, semaphores, critical sections, etc.) > Virtual File System > Kernel Modules > Drivers > Floppy Disk Driver > Keyboard Driver > Serial Mouse > PS/2 Mouse > Kernel Console > Virtual Consoles > Graphical 'text' Console > VBE2 (VESA2+) driver > Triangle Graphical User Interface > Windows > Buttons > Bitmaps > Fonts > File System > TriangleFS (for floppies) > DevFS (Device Manager) > Block Cache > Multitasking (processes, threads). Very multithreaded > User applications (COFF executable format) > Shell v1.3 > Port of Chris Giese's Tetris > Small clock program > Bounce > Application crash simulation test > Port of Dirk Verhagen's Breakout > Port of Chris Giese's ANSI Invaders > Hello World (duh ;) > Part of LIBC > VM86 > Default protected mode functions (paging, protection, etc.) For a list of changes since the previous version of T/OS, see the changelog. Compatibility --------------------- TriangleOS should work on all x86 PC's (386 and above). I have no idea about the speed on a 386, since I never tested that (my slowest PC here is a 486), but it should run anyway. A 386 with about 4MB RAM is sufficient to run TriangleOS in text mode, but running the GUI requires somewhat more of your PC. You need a VESA 2.0 compatible video card. Most of the recent video cards support this. You may select a resolution from 640x480x8bpp up to 1280x1024x32bpp but since the video driver just uses VESA, using no hardware acceleration whatsoever, don't be surprised if some video modes are somewhat slow. In short: TriangleOS will run on almost every PC and in case you want to use the GUI you'll need a recent video card. What about emulators? Will T/OS run under Bochs, VMWare, etc? Well, I'm not sure about VMWare since I never tested this. I do have Bochs installed here, and if you really want to run it under Bochs, I've made a special disk image that lacks some features but runs without any problems (except from being a lot slower than running it on a normal PC). Of course, running the GUI under Bochs is not possible since it does not support VESA 2.0. Known problems/bugs --------------------- GUI: * The GUI is still in an early stage, so a few unexpected bugs may turn up. If so, please mail me about it. * See compatibility. Since the driver uses no hardware acceleration whatsoever, and in combination with this being the first version of the GUI, some modes might be slow (especially the 8bpp modes, since it was optimised for higher color modes). Mouse: * This is not really a bug, but USB mice are not supported yet. Machine Specific: On a few machines TriangleOS failed to boot and reported the error `Unable to mount /A:'. This problem is known to occur on a Compaq Armada 1560 and some IBM P75 Desktop computers. I've already located the problem and fixed it, so the bug won't occur in TriangleOS 0.0.3. I couldn't fix this in 0.0.2 because that would cause forking of the kernel code since I already began on 0.0.3 while 0.0.2 wasn't released yet. If you find other bugs, or a weird problem, please e-mail me about it (the bug, what you did and what kind of system you have and what you did that caused the bug to occur) so I can try and fix it. Installing TriangleOS ---------------------- Just download the image file from the TriangleOS site, and write it to floppy. You can either use `dd' for this or some other program such as `rawrite' (which can be found on the internet). If you use dd, type: dd if=imagename.img of=/dev/fd0. If you use rawrite, make sure you select "A:" as destination to write the image to ;) Starting TriangleOS and applications ------------------------------------- Note: TriangleOS probably also runs under emulators (see compatibility) but running it on a "real" PC is probably a better way to play with the OS. To boot TriangleOS, just insert the floppy you just created by writing the image to the floppy and reboot. The computer should boot from the disk. TriangleOS will load the kernel and after that you should see a percent bar, indicating it's starting. When all modules are initialized, you will be able to select which environment you wish to use: Text Mode or the Graphical User Interface. Text mode: TriangleOS will load the shell program on the virtual console 3 to 7. You can switch between consoles by pressing ALT-Fx, where x is the corresponding number of the console. After the shells are started, console 1 contains a Kernel Debug console, console 2 the Kernel Statistics, and the other consoles are used by the shells. Applications can be started from the shell. First select a virtual console on which a shell is running (e.g. by pressing ALT-F3). Now you can run programs or invoke other shell commands. To get a list of commands, type `help'. All applications are located in the directory /A:. So, if you want to start the application example.app, change the current directory to /A: by typing `cd /A:'. (note the capital 'A'). Now run the application by typing its name (`example.app'). Note: you may omit the .app when starting applications. Of course you may also start the program without changing the current directory and typing its full path instead (`/A:/example.app'). GUI: After selecting "Graphical User Interface" you may select a resolution. Note: this list is NOT a list of SUPPORTED modes. It's just a list of modes that the user is able to select. After choosing a resolution, TriangleOS will try to switch to it. If your video card does not support it, you can select another mode. After the GUI is started, two T/Terms will be launched, in which the same shell will be started as you normally would use in text-mode. On the top of the screen you see a Status Bar, which looks something like this: [ Status Bar ]-----------------------------+ | (1) (2) (3) (4) (5)| +------------------------------------------+ (1) = Current version of the TriangleOS kernel. (2) = Path to the floppy disk. (3) = Percentage of FREE RAM (4) = Number of processes running (5) = A clock, displaying the current time. Clicking the images will have no effect since these are just icons, it's not a bloody game! ;) Special Thanks ----------------- to Kevin Cools, for making the icons shown in the Status Bar. to the DJOE members, for beta testing and always giving me (constructive) critics ;) to Chris Giese, for letting me port his tetris and invader game. Bye ---- Have fun ;) For bugs, questions, etc. please mail to w.cools[ AT ]chello[ DOT ]nl TriangleOS (C) Copyright 2001,2002 by Wim Cools Last updated 11/05/2002 21:12 GMT+1