Cyest Desk 3.0 Copyright (c) 1997 Prana's PC. All right reserved. Pranadharma & Micky Handoko Jl. Ambon no. 10 Bandung 40115 West Java - Indonesia e-mail:cyest@bdg.centrin.net.id This grfx lib. is created because I don't like the way SVGA256.BGI works. It's so slow ! Compare it with my new Bresenham Line ! I especially uploaded this CYEST.ZIP for education, but you all can use this freely !!! This grfx lib. and GUI is free, but you have to include our name on your credit list if you want to use this, OK ? We have worked for this for 2 month. I left the work for CyVision 1.0 because we're going to create an operating system for Intel based PC (486+) We're now still highschool students in SMUK 1 BPK Penabur - Bandung. You have to send us your comments & critiques ! * Note that Prana's PC is now Cyest Team (started at June 1997). - Pranadharma : hardware interfacing, GUI design, File System, Grfx Lib, KERNEL, OOP, compiler, DataBase - Ricky Mountero : hardware interfacing, Database - Micky Handoko : specialist in graphic design - Herry Gunadi : Database, SB development Special thanks for : -Jesus Christ for His bless to us. -Sean Palmer for his challenge in creating the fastest Bresenham Line -Daan de Haas for his fast FillPoly - we'll optimize the code next in our future CyDOS32 - The unique mach speed system. -AniVGA for its proc - Sutherland Cohen line clipping. -Ferdinand Fadil for guiding my way into IOI (International Olympiade Informatik) competition, I hope our dreams for Indonesia TOKI Team 1998 would come true since we failed in 1997. -X2FTP and Simtel for receiving our file. Future release : * CyDOS32 - the GUI based DOS 32 bit using Intel 486+ architecture with flat memory. (note : we'll take advantages from 486+, since no one uses 386 anymore) >CyFAT64 - the File System that we design (not yet - only the structures) to support large drive such as DVD. QWord is used instead of DWORD - we're still working on it. >CyFS - we planned to support popular file systems - HPFS, MINIX, FAT12, FAT16,FAT32 (please if you have any docs about it send it to us) >CyPassword - Special Random Password for anything without checking true/false This is for security in our OS. It's very special >Different GUI looks - totally different from the one in CYEST.ZIP and never thought before. >Totally 32 Bit "D bit set" smaller EXE. (*) Now we're still learning from JOLT 97 and MINIX, a 32 bit OS. If you have any docs about hardware, please send it to us. Documentation File (02/19/1997) ------------------------------------------------------------------------------ ****************************** Cyest System 2.01 ***************************** - Added Formatstr procedure (as in unit DRIVERS) ******************************* Cyest Graph 3.2 ****************************** - 16 Vesa Graphics mode available in 256 (8-bit), 32768 (15-bit), and 65536 (16-bit) colors - 62 internal fonts - 71 internal fillpatterns - 14 internal palettes - 6 internal line styles - 4 Write Mode Method (Copy,XOr,Or,And) - Library : CyGraph.CSL (Cyest Standard Library) - Added Arc procedure - Optimized function & procedures : * DrawMouse * GetImage (very fast - 386 instr.) * PutImage * ImageSize * Line (very fast !) * Circle (very fast - 386 instr.) * FillEllipse * DrawPoly * OuttextXY - Procedure ScrollUp,ScrollDown,ScrollLeft,ScrollRight replaced with Scroll(DX,DY) - All Word parameters in basic drawing methods now replaced with Integer, considering the Point(X,Y) won't always greater than zero. - Compiled EXEcutables are much smaller than before - Almost all procedures and functions written in ASSEMBLY (..boy !) - All procedures & functions made by MYSELF, except for FillPoly & Ellipse. - Bugs : OuttextXY replaced with "SLOW" code, because the other one that uses 386 instructions is complicated. I'm too lazy too fix it, so fix it, will you ?(Yes, you will, and it's an obligation, not a request !!!) - Still working on : * FloodFill * Ellipse - Demos : Art10, T1, T2, Art1..9 Cyest Graph Interface Note : M = Pascal & Assembly language mixed P = Pure Pascal language A = Pure Assembly Language (3=386 instruction) - A : Procedure GetModeInfo(Mode:Word;Var Info:VesaModeInfo); - A : Function GetActiveGraphMode:Word; - A : Function GetGraphMode:Word; - A : Function SetGraphMode(Mode:Word):Boolean; - A : Function InitGraph(Mode:Word):Boolean; - A : Procedure RestoreCRTMode; - A : Procedure WaitForRetrace; - A : Procedure GrayScale; - A : Procedure SetRGBPalette(Color, RedValue, GreenValue, BlueValue:Word); - A : Procedure GetRGBPalette(Color:Word;Var RedValue, GreenValue, BlueValue:byte); - P : Procedure GetPalette(Pal:Longint;Var Palette:PaletteType); - P : Procedure SetPalette(Pal:Longint); - A : Procedure SetAllPalette(Var Palette:PaletteType); - A : Procedure Getallpalette(Var Palette:PaletteType); - A : Procedure SetColor(Color:Word); - A : Procedure SetBkColor(Color:Byte); - A : Function GetColor:Word; - A : Function GetBkColor: Byte; - A : Function GetMaxColor:Word; - A : Function Rgbcolor(Red,Green,Blue:Word):Word; - P : Procedure ClearDevice; - P : Procedure ClearViewPort; - A : Procedure SetViewPort(X1, Y1, X2, Y2: Integer); - A : Procedure GetViewSettings(Var Viewport: ViewPortType); - A : Procedure SetActivePage(Page:word); - A : Procedure SetVisualPage(Page:word); - A : Procedure Scroll(X,Y:Integer); - A : Function GetMaxX:Integer; - A : Function GetMaxY:Integer; - A : Function GetX:Integer; - A : Function GetY:Integer; - A : Procedure PutPixel(X,Y:Integer;Color:Word); - A : Function GetPixel(X,Y:Integer):Word; - A : Function Getlinestyle:Word; - A : Procedure SetLineStyle(LineStyle: Word); - A : Procedure MoveTo(X, Y : Integer); - A : Procedure MoveRel(DX, Dy : Integer); - A : Procedure Line(X1,Y1,X2,Y2:Integer); - Line clipping taken from AniVGA - A : Procedure LineTo(X,Y:Integer); - A : Procedure LineRel(X,Y:Integer); - A : Procedure Rectangle(X1,Y1,X2,Y2 : Integer); - A : Procedure SetFillPattern(Var Pattern:FillPatternType;Color,Backcolor:Word); - A : Procedure SetFillStyle(Pattern,Color,Backcolor:Word); - A : Procedure GetFillSettings(Var Fillinfo:FillSettingsType); - A : Procedure Bar(X1,Y1,X2,Y2:Integer); - P : Procedure Bar3D(X1,Y1,X2,Y2:Integer;Depth:Word;Top:Boolean); - P : Procedure Fillcircle(X,Y:Integer;Radius:Word); - P : Procedure FillEllipse(X,Y:Integer;Xradius,Yradius:Word); - M : Procedure FillPoly(Numpoints:Word;Var Polypoints);{This one not from me - from Daan de Haas} - P : Procedure DrawPoly(Numpoints:Word;Var Polypoints); - A3: Procedure Circle(X,Y:Integer;Radius:Word); - P : Procedure GetArcCoords(Var Aarccoords: ArcCoordsType); - P : Procedure Arc(X,Y:Integer;Stangle,Endangle,Radius:Word); - P : Procedure Ellipse(X,Y:Integer;Xradius,Yradius : Word); - A : Function ImageSize(X1, Y1, X2, Y2: Integer):LongInt; - A : Procedure SetWriteMode(Mode:Byte); - A : Function GetWriteMode:Byte; - A3: Procedure GetImage(X1,Y1,X2,Y2:Integer;Var Bitmap); - A3: Procedure PutImage (X,Y:Integer;Var Bitmap); - A : Function TextHeight:Byte; - A : Function TextWidth:Byte; - A : Procedure GetTextSettings(Var Textinfo: TextSettingsType); - M : Procedure SelectFont(Whichfont:LongInt); - A : Procedure SetTextJustify(Horiz:Byte;Vert:Byte); - A : Procedure settextdirection(Direction:Byte); ##### - A3: Procedure OutTextXY(X,Y:Integer;Text:String); ##### - P: Procedure OutTextXY(X,Y:Integer;Text:String); - P : Procedure OutText(Textstring:String); - A : Procedure SetMouseCursor(X,Y:Word); - P : Procedure SetMouseShape(Shape : MouseShapeType); - A : Procedure Drawmouse(X,Y:Integer); - A : Procedure SetMouseWindow (X1, Y1, X2, Y2 : WORD); ****************************** Cyest Vision 1.0 ****************************** - Terminated. You may continue it ******************************************************************************