VESA Turbo Pascal Unit ßßßßßßßßßßßßßßßßßßßßßßßß Version 1.0 March 1994 (c) '94 by Mark Stehr TABLE OF CONTENTS ßßßßßßßßßßßßßßßßß 1. General information 1.1 Introduction 1.2 Requirements 1.3 Dedication 1.4 Corrections, updates, problems and so on 1.5 Source code 1.6 Else 1.7 Copyright 1.8 Registration 1.9 History 2. VGRAPH.TPU 1.1 Main differences 1.2 Overview over the functions 1.3 What is new ? 3. VESA.TPU INTRODUCTION ßßßßßßßßßßßß VESA Turbo Pascal Unit (VESA TP) is a set of routines for working on IBM PC's with MCGA/SVGA/VESA compatible video cards. It is thought as a replacement of the graph.tpu. VESA TP supports: þ 256, Hi- and TrueColor modes up tp 1280x1024 þ PCX þ Mouse þ Page switching þ Double/tripple buffering þ Scrolling and panning þ Virtual screens VESA TP is the result of a my desire to use all features of my graphic card. I expect to continue to improve VESA TP in speed and features. REQUIREMENTS ßßßßßßßßßßßß Hardware requirements: þ 80286 or better þ 640k RAM þ at least a MCGA graphic card (one mode supported) VESA TP gains it full power with a VESA BIOS/VESA TSR. For SVGA cards an additional driver is needed that you can get by: godzilla.cgl.rmit.oz.au (131.170.14.2): kjb/MGL/univbe??.zip This driver was written by Kendall Bennett. Software: MS-Dos 3.3 or above. Turbo Pacal 6.0 or 7.0 VESA TP had been tested on: 80286 - Cirrus Logic 542x with MS-DOS 5.0 - S3 86C801/805 80486 - Diamond Speedstar 1.1 with MS-DOS 6.0 80486 - S3 Diamond Stealth with MS-DOS 6.2 80386 - ET 4000 with MS-DOS 5.0 80486 - ATI Mach 32 2MB VRAM with MS-DOS 5.0 DEDICATION ßßßßßßßßßß This program is dedicated to God, my family, my girlfriend, my country, my university and to all who know me. CORRECTIONS, UPDATES, PROBLEMS AND SO ON ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß If you have any corrections, problems or updates to the code in this package, or you have any questions you would like asked, feel free to contact me through one of the following methods. EMail: mkstehr@cip.informatik.uni-erlangen.de Mail: Mark Stehr Wuerzburger Ring 50 91056 Erlangen Germany Telephon: +49 9131 47752 While I tested VESA TP thoroughly, it's possible that you may encounter a situation I hadn't anticipated. If this happens, I would be interested in knowing about it so I can deal with it in the next release of VESA TP. Here's how to report a problem to me. Copy your file (xyz.pas) onto a floppy. Add a description of the problem and send it to me. If I can't recreate it, I probably won't be able to fix it. SOURCE CODE ßßßßßßßßßßß The source code is not available yet. It is nevertheless possible for you to obtain part of it. Tell me your problem (e.g. fading) and I will perhaps send the routines to you. ELSE ßßßß A public domain graphic file format viewer that uses VESA TP is available,too. It supports at the moment: GIF,Targa,BMP,ICO,Tiff,PCX. The source code is included in the package. COPYRIGHT ßßßßßßßßß VESA Turbo Pascal Unit, Copyright (C) 1994 by Mark Stehr. All Rights Reserved. VESA TP is a Shareware product. It is copyrighted software, Copyright (C) 1994 by Mark Stehr. VESA TP is NOT FREE. You MUST REGISTER after the 30-day evaluation period. VESA TP is a Shareware product. It is distributed through public access channels so that prospective buyers can have the opportunity to evaluate the product before making a decision to buy. If you decide to use this software, then you are under both legal and moral obligations to register it with the author. It is fully protected by State, Federal and International copyright laws. If you continue to use VESA TP after the 30-day evaluation period you must register it. REGISTRATION ßßßßßßßßßßßß [From the documentation of Graphic Workshop:] If you like this program and find it useful, you are requested to support it by sending us $20.00. This will entitle you to support, notification of updates, a free copy of the latest version of this software and other worthwhile things. It will also avail you of a registration number to shut off the closing beg notice. More to the point, though, it'll make you feel good. We've not infested this program with excessive beg notices, crippled it or had it verbally insult you after ten days. We trust you to support this software if you like it. If you want to see additional features in this program, register it. If we had an Arcturian mega-dollar for everyone who has said they'd most certainly register their copy if we'd add just one more thing to it, we could buy ourselves a universe and retire. Oh yes, should you fail to support this program and continue to use it, a leather winged demon of the night will tear itself, shrieking blood and fury, from the endless caverns of the nether world, hurl itself into the darkness with a thirst for blood on its slavering fangs and search the very threads of time for the throbbing of your heartbeat. Just thought you'd want to know that. [END] When you register, you will receive the program diskettes of the the latest version and your registration number. Registration entitles you continue using the current version, notification of future versions and to support via mail/email. The registration number will remove any annoying functions in the unregistered version of your VESA TP releases. This program is not free! You are allowed to use this program for a trial period of 30 days free of charge. If, after 30 days, you decide that you would like to continue using VESA TP, you must complete the following form and return it to me with the required registration fee enclosed. Mark Stehr VESA Turbo Pascal Unit Wuerzburger Ring 50 91056 Erlangen Germany Name _____________________________________________________________ Address _____________________________________________________________ _____________________________________________________________ _____________________________________________________________ Phone ____________________________ Fax ____________________________ EMail ____________________________ Computer: [ ] 286 [ ] 386 [ ] 486 Disk size: [ ] 3.5" [ ] 5.25" For European customers, all funds must be made payable in Eurocheque. For International customers, all funds must be made payable in United States Dollars (US$) as an International Money Order or just Cash. HISTORY/BUGS ßßßßßßßßßßßß þ Version 1.01 (March '94) : Added 'PutSprite' Fixed bug in 'Circle' þ Version 1.00 (March '94) : Added some missing procedures þ Version 0.96 (March '94) : 'SetVirtualWidth' added þ Version 0.95 (March '94) : 'SetPalMethod' added þ Version 0.94 (March '94) : Detected problems with S3 cards þ Version 0.93 (March '94) : minor changes þ Version 0.90 (November 1993) : published VGRAPH.TPU ßßßßßßßßßß VGRAPH should work like the original GRAPH.TPU. Hence only the new functions are documented. For the 'standard' graph.tpu functions please refer to your manual or the online help. Main differences GRAPH.TPU <--> VGRAPH.TPU ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß Vectorfonts (.chr): They have to be in your current working directory. Linestyles: Not implemented yet. Procedure/Functions: Some functions are in work; refer to the overview Overview over procedure/functions ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß Function Supported New Sytax Not supported Replaced by ----------------------------------------------------------------------------- - High-level error handling: GraphErrorMsg x GraphResult x - Detection, initialization and crt mode routines : RegisterBGIfont x RegisterBGIdriver x InstallUserDriver x InstallUserFont x SetGraphBufSize x GetMaxMode x x GetModeRange x GetModeName x GetDriverName x SetGraphMode x GetGraphMode x GraphDefaults; x RestoreCrtMode; x CloseGraph; x CloseVesa InitGraph x x InitVesa DetectGraph x x DetectVesa GetX x GetY x GetMaxX x GetMaxY x - Screen, viewport and page routines: ClearDevice x SetVisualPage x SetActivePage x SetViewPort x GetViewSettings x ClearViewPort; x - Point-oriented routines: PutPixel x GetPixel x - Line-oriented routines: SetWriteMode x Line x LineTo x LineRel x MoveTo x MoveRel x GetLineSettings (x) SetLineStyle (x) - Polygon, fills and figures: Rectangle x DrawPoly x Bar x Bar3D x FillPoly x GetFillSettings x GetFillPattern x SetFillStyle x SetFillPattern x FloodFill x - Arc, circle, and other curves: Circle x Arc x GetArcCoords x Ellipse x FillEllipse x GetAspectRatio (x) SetAspectRatio (x) PieSlice x Sector x - Color and palette routines: SetBkColor x SetColor x GetBkColor x GetColor x SetAllPalette (x) SetPal SetPalette (x) GetPalette (x) GetPal GetPaletteSize x GetDefaultPalette x GetMaxColor x SetRGBPalette x SetRGBPal - Bit-image routines: ImageSize x GetImage x PutImage x x - Text routines: GetTextSettings x OutText x OutTextXY x SetTextJustify x SetTextStyle x SetUserCharSize x TextHeight x TextWidth x Explanation: -Supported: The functions have the fully functionality like the original. -New Syntax: The arguments of the function have changed. -Not supp.: There is no implementation of the function yet. -Replaced by: The function got a new name. WHAT IS NEW ? ßßßßßßßßßßßßß The following functions are new: - FindVesaMode: - PutPixel2: - PushPal: - NewPal: - GetRGBPal: - SetPalMethod : Some cards have problems with setting the palette directly via the PEL port. On these card the palette can be set via the BIOS. SetPalMethod(BIOS) or SetPalMethod(PEL). - FadeUp: - FadeDown: - Border: - Grayscale: - TurnOn: - TurnOff: - LoadPCX: - SavePCX: - ScrollLeft: - ScrollRight: - ScrollDown: - ScrollUp: - Splitt: - RGB: - PutSprite: Works equivalent to PutImage except that black pixels are not draw onto the screen. Can be used for sprites and/or mouse pointers. VESA.TPU ßßßßßßßß This unit is used by VGRAPH.TPU. It is the interface between the hardware and VGRAPH.TPU.