Atlas - TRX-26-0002.txt

Home / doc / TRX Lines: 1 | Size: 6645 bytes [Download] [Show on GitHub] [Search similar files] [Raw] [Raw (proxy)]
[FILE BEGIN]
1 PHOTON X VGA LIBRARY FOR DOS AND IBM COMPATIBLE SYSTEMS 2 TRX-26-0002 3 06/03/2026 4--------------------------------------------------------------------------- 5TITLE: PHOTON X VGA LIBRARY FOR DOS AND IBM COMPATIBLE SYSTEMS 6DOCUMENT ID: TRX-26-0002-A1 7REVISION: A1 8CATEGORY: DESIGN AND PROTOCOL 9COPYRIGHTS: (C) 2026 0x4248. CC BY-SA 4.0. 10USAGE RIGHTS: All rights given under CC BY-SA 4.0 11LICENSE: CC BY-SA 4.0 12 13DATE CREATED: 6 March 2026 14DATE REVISED: 6 March 2026 15 16--------------------------------------------------------------------------- 17REVISION HISTORY 18--------------------------------------------------------------------------- 19REVISION DATE NOTES 20A1 6 March 2026 Initial creation of record. 21 22--------------------------------------------------------------------------- 23CONTENTS 24--------------------------------------------------------------------------- 25 261.0 SCOPE 272.0 FEATURES 283.0 LIMITATIONS 294.0 API DIAGRAM 305.0 SIGNATURES 31 32--------------------------------------------------------------------------- 33ABSTRACT 34--------------------------------------------------------------------------- 35 36PhotonX VGA Library is a graphics library designed for DOS and IBM compatible 37systems to provide an easy to use interface for programming on compatible 38video graphics array hardware. The library provides functions for text and 39graphics mode programming, including support for drawing basic shapes, handling 40colors. 41 42--------------------------------------------------------------------------- 431.0 SCOPE 44--------------------------------------------------------------------------- 45 461.1 This library is intended for use in DOS and IBM compatible systems with VGA 47 hardware. It provides a set of functions for programming graphics and text 48 modes, allowing developers to create applications that utilize the 49 capabilities of VGA graphics. 50 511.2 The library is designed to be simple and easy to use, making it accessible 52 for developers of all skill levels. It is suitable for a wide range of 53 applications, including games, graphical user interfaces, and educational 54 software. 55 561.3 The library should not be used in games, operating systems or applications 57 that require high performance graphics or advanced features such as 3D 58 rendering. 59 60--------------------------------------------------------------------------- 612.0 FEATURES 62--------------------------------------------------------------------------- 63 64There is two main modes for photon X VGA Library, text mode and graphics mode. 65Text mode provides functions for displaying text on the screen, including 66support for colors and cursor control.. 67 68Graphics mode provides functions for drawing basic shapes such as lines, circles, 69and rectangles, as well as support for handling colors and pixel manipulation. 70 71The library also has a basic font for graphics mode to make it easier to display 72some text in graphics mode. 73 74Text mode will have these functions: 75- putch(char c): Display a single character on the screen. 76- puts(const char* str): Display a null-terminated string on the screen. 77- setcolor(uint8_t fg, uint8_t bg): Set the foreground and background colors for 78 text output. This will also affect any text 79 behind the current text on the screen since 80 the background color is applied to the 81 entire character cell. 82- gotoxy(uint8_t x, uint8_t y): Move the cursor to the specified position. 83- cls(): Clear the screen. 84 85Graphics mode will have these functions: 86- putpixel(uint16_t x, uint16_t y, uint8_t color): Put a pixel at the specified 87 coordinates with the given 88 color. 89- line(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint8_t color): 90- rect(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint8_t color): 91- circle(uint16_t x, uint16_t y, uint16_t radius, uint8_t color): 92- cls(): Clear the screen. 93- setclscolor(uint8_t color): Set the color used for clearing the screen 94- putch(char c, int x, int y, uint8_t color): Display a single character at the 95 specified coordinates with the 96 given color. 97- puts(const char* str, int x, int y, uint8_t color): Display a null-terminated 98 string at the specified 99 coordinates with the given 100 color. 101--------------------------------------------------------------------------- 1023.0 LIMITATIONS 103--------------------------------------------------------------------------- 104 105It is expected that the library will not perform well in games or applications 106that require high performance graphics or advanced features such as 3D 107rendering. 108 109This expensive limitation is due to the fact that the library is designed to be 110simple and easy to use, rather than optimized for performance on specific 111hardware. It also means that even IBM VGA ISA cards can use this software. 112 113Pros to this design also means there is no need for helper drivers or other 114software to use the library, but helper drivers can be added to give 115configuration options and other features if desired. 116 117--------------------------------------------------------------------------- 1184.0 API DIAGRAM 119--------------------------------------------------------------------------- 120 121 +------------------+ 122 | | 123 | GRAPHICS CARD | 124 | | 125 +------------------+ 126 ^ ^ 127 | | 128 | | 129 +---+------+ +-+-----------+ 130 | VGA TEXT| |VGA GRAPHICS | 131 | API | | API | 132 +----------+ +------------+ 133 ^ +----------+ ^ 134 +---| PROGRAM |-----+ 135 +----------+ 136 137--------------------------------------------------------------------------- 1385.0 SIGNATURES 139--------------------------------------------------------------------------- 140 141Written By: 0x4248 / 4248 Systems Date: __________ 142 143 Signature: _________________________ 144 145 146Reviewed By: _________________________ Date: __________ 147 148 Signature: _________________________ 149
[FILE END]
(C) 2025 0x4248 (C) 2025 4248 Media and 4248 Systems, All part of 0x4248 See LICENCE files for more information. Not all files are by 0x4248 always check Licencing.