# TerminalSrc

## Function Table

| Address | Name | Description |
|---------|------|-------------|
|  | **ModuleEntryPoint** |  |
|  | **TerminalDriverEntry** |  |
|  | **TerminalDetectSerialPorts** |  |
|  | **TerminalSetupSerialPort** |  |
|  | **TerminalSerialReset** |  |
|  | **TerminalSerialWrite** |  |
|  | **TerminalSerialClose** |  |
|  | **TerminalSerialRead** |  |
|  | **TerminalSerialWriteAll** |  |
|  | **TerminalSetupReadConfig** |  |
|  | **TerminalSerialBufferRead** |  |
|  | **TerminalRingBufferRead** |  |
|  | **TerminalRingWrite** |  |
|  | **TerminalUtf8Decode** |  |
|  | **TerminalRingToKeyQueue** |  |
|  | **TerminalKeyRingDequeue** |  |
|  | **TerminalSerialToKey** |  |
|  | **TerminalKeyboardCheck** |  |
|  | **TerminalConInReset** |  |
|  | **TerminalConInCheckKey** |  |
|  | **TerminalConInProcessSerial** |  |
|  | **TerminalWaitForKey** |  |
|  | **TerminalNotifyKeyListeners** |  |
|  | **TerminalCreateKeyWait** |  |
|  | **TerminalRemoveKeyWait** |  |
|  | **TerminalKeyFindOrAlloc** |  |
|  | **TerminalQueueDequeue** |  |
|  | **TerminalConOutReset** |  |
|  | **TerminalConOutOutputString** |  |
|  | **TerminalConOutTestString** |  |
|  | **TerminalConOutSetAttribute** |  |
|  | **TerminalConOutSetAttributeDefault** |  |
|  | **TerminalConOutSetAttributeDirect** |  |
|  | **TerminalConOutSetMode** |  |
|  | **TerminalConOutQueryMode** |  |
|  | **TerminalConOutSetColor** |  |
|  | **TerminalConOutClearScreen** |  |
|  | **TerminalConOutSetCursorPos** |  |
|  | **TerminalConOutEnableCursor** |  |
|  | **TerminalConOutModeQueryFail** |  |
|  | **TerminalConOutOutputChar** |  |
|  | **TerminalConOutOutputCharType4** |  |
|  | **TerminalConOutOutputCharType12** |  |
|  | **TerminalConOutOutputCharType20** |  |
|  | **TerminalUniToGraphByte** |  |
|  | **TerminalUniToUtf8** |  |
|  | **TerminalScreenRedraw** |  |
|  | **TerminalTimerNotify** |  |
|  | **TerminalTimerKeyReset** |  |
|  | **TerminalConOutHandleKey** |  |
|  | **TerminalInstallSpcrTable** |  |
|  | **GuidCompare** |  |
|  | **ReadUnaligned64** |  |
|  | **DebugLibGetDebugMask** |  |
|  | **DebugPrint** |  |
|  | **AssertReport** |  |
|  | **FvFileListSize** |  |
|  | **UnicodeSPrintAsciiFmt** |  |
|  | **UnicodeSPrint** |  |
|  | **DebugPortDetect** |  |
| Global | **Variables** |  |
| UEFI | **system table pointers (set by entry point)** |  |
| Terminal | **device array (2 entries: port 0 and port 1)** |  |
| qword_9768 | **// Terminal output type array (2 entries)** |  |
| qword_9758 | **(0=PCANSI, 1=VT100, etc.)** |  |
| Terminal | **serial variable (from TerminalSerialVar NV var)** |  |
| word_6F18 | **// Terminal active port flag** |  |
| byte_6F1E | **// Debug/assert globals** |  |
| qword_6EA0 | **extern VOID   *gDebugMask;                 // qword_6E98** |  |
| qword_6E90 | **// Language string** |  |
| Terminal | **setup config bytes (from Setup NV variable)** |  |
| byte_6F20 | **area** |  |
| Screen | **buffer (100 bytes/row * 31 rows)** |  |
| qword_72E0 | **// Attribute buffer (100 words/row * 31 rows)** |  |
| word_7F00 | **// Escape sequence keymap table** |  |
| word_6E58 | **// Key wait list data** |  |
| qword_9740 | **extern LIST_ENTRY gKeyWaitListHead;        // xmmword_9748** |  |
| UEFI | **Entry Point** |  |
| Terminal | **Driver Entry** |  |
| Serial | **Port Detection & Setup** |  |
| EFI_SERIAL_IO_PROTOCOL | **Implementation** |  |
| Serial | **Input Pipeline** |  |
| Character | **Encoding / Translation** |  |
| Screen | **Management** |  |
| Console | **Output Key Handler (for Setup UI)** |  |
| SPCR | **Table Installation** |  |
| Library | **Functions (Statically linked)** |  |

---
*Generated by HR650X BIOS Decompilation Project*