# GraphicsConsole

| Field        | Value                                  |
|--------------|----------------------------------------|
| Index        | 0125                                   |
| Module       | GraphicsConsole                        |
| Size         | 17124 bytes (17.1 KB)                  |
| PE File      | GraphicsConsole.efi                    |
| Phase        | DXE                                    |
| Source       | MdeModulePkg/Universal/Console/GraphicsConsoleDxe |
| SHA-256      | 5cdce0a47fd4...                        |
| Sections     | 6 (.text, .rdata, .data, section_3, .xdata, .reloc) |

## Overview

GraphicsConsole is a UEFI DXE driver that implements `EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL` on top of `EFI_GRAPHICS_OUTPUT_PROTOCOL`. It provides a text rendering pipeline that accumulates characters in an output buffer, flushes lines on newline or wrap events using the HII_FONT protocol's StringToImage service, and outputs via GOP Bit Block Transfer (Blt). The driver manages text mode settings, cursor positioning, and character attribute rendering in a graphical framebuffer environment.

## Key Functions

- `ModuleEntryPoint()` -- Standard UEFI module entry point
- `TextOutOutputString()` -- Outputs a string to the graphical console
- `TextOutSetModeCallback()` -- Sets the text output mode (resolution / columns x rows)
- `FlushCurrentLine()` -- Flushes buffered text to the framebuffer via GOP Blt
- `TextOutReset()` -- Resets the text output device
- `TextOutSetAttribute()` -- Sets text foreground/background color attributes
- `TextOutClearScreen()` -- Clears the graphical console screen
- `TextOutEnableCursor()` -- Enables or disables the cursor
- `TextOutSetCursorPosition()` -- Positions the text cursor

## Dependencies

- `EFI_GRAPHICS_OUTPUT_PROTOCOL` (GOP) -- Pixel-level framebuffer access
- `EFI_HII_FONT_PROTOCOL` -- Font rendering and StringToImage service
- `EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL` -- Output protocol produced by this driver

## Platform

- **Architecture**: x86-64 (PE32+)
- **PDB**: GraphicsConsole.pdb
- **Subsystem**: EFI_BOOT_SERVICE_DRIVER (0x0B)
- **Source**: MdeModulePkg (Intel)
- **BIOS**: HR650X (HR6N0XMLK)