• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Eingebettete Systemsoftware
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2024/25
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Systemprogrammierung 2
      • Verlässliche Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Betriebssystemtechnik
    • Vorlesung
      • Folien
      • Glossar
    • Übung
      • Aufgaben
      • Dokumentation
        • Blog
          • Entwicklungsumgebung
            • Assembler Crashkurs
              • C++ Crashkurs
                • 🔗 Testrechnerverwaltung
                • 🔗 Adora-Belle (Helpdesk)
                • Kontakt
              • Evaluation

              Dokumentation

              Classes | Public Types | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Attributes | List of all members
              TextMode Class Reference

              Basic operations in the VGA-compatible text mode. More...

              #include <machine/textmode.h>

              + Inheritance diagram for TextMode:
              [legend]
              + Collaboration diagram for TextMode:
              [legend]

              Classes

              union  Attribute
               Structure of a character attribute consists of 4 bit fore- and 3 bit background color, and a single blink bit. More...
               
              struct  Attribute.__unnamed__
               
              struct  Cell
               Structure for a cell in text mode. More...
               

              Public Types

              enum  Color {
                BLACK,
                BLUE,
                GREEN,
                CYAN,
                RED,
                MAGENTA,
                BROWN,
                LIGHT_GREY,
                DARK_GREY,
                LIGHT_BLUE,
                LIGHT_GREEN,
                LIGHT_CYAN,
                LIGHT_RED,
                LIGHT_MAGENTA,
                YELLOW,
                WHITE
              }
               CGA color palette. More...
               

              Static Public Member Functions

              static void setCursor (unsigned abs_x, unsigned abs_y)
               Set the keyboard hardware cursor to absolute screen position. More...
               
              static void getCursor (unsigned &abs_x, unsigned &abs_y)
               Retrieve the keyboard hardware cursor position on screen. More...
               
              static void show (unsigned abs_x, unsigned abs_y, char character, Attribute attrib=Attribute())
               Basic output of a character at a specific position on the screen. More...
               
              static void show (int abs_x, int abs_y, char character, Attribute attrib=Attribute())
               Basic output of a character at a specific position on the screen. More...
               
              static void showMouse (unsigned abs_x, unsigned abs_y)
               Show the mouse cursor by switching foreground and background of the cell at cursor position. More...
               

              Static Public Attributes

              static const unsigned ROWS = 25
               Visible rows in text mode.
               
              static const unsigned COLUMNS = 80
               Visible columns in text mode.
               

              Protected Member Functions

               TextMode ()
               Default constructor.
               

              Static Protected Attributes

              static Cell *const TEXT_BUFFER_BASE = reinterpret_cast<TextMode::Cell *>(0xb8000)
               Base address for linear text buffer in video memory.
               
              static unsigned mouse_x = 0
               Last reported column of mouse cursor.
               
              static unsigned mouse_y = 0
               Last reported row of mouse cursor.
               
              static Attribute mouse_attrib
               (Previous) attributes of cell at mouse cursor
               

              Detailed Description

              Basic operations in the VGA-compatible text mode.

              This class provides an interface to access the screen in text mode, with access directly on the hardware level, i.e. the video memory and the I/O ports of the graphics card.


              Class Documentation

              struct TextMode::Attribute.__unnamed__
              Class Members
              uint8_t foreground: 4 .... XXXX Foreground color
              uint8_t background: 3 .XXX .... Background color
              uint8_t blink: 1 X... .... Blink

              Member Enumeration Documentation

              enum TextMode::Color

              CGA color palette.

              Colors for the attribute byte. All 16 colors can be used for the foreground while the background colors are limited to the first eight (fromBLACK to LIGHT_GREY)

              Enumerator
              BLACK 

              Black (fore- and background)

              BLUE 

              Blue (fore- and background)

              GREEN 

              Green (fore- and background)

              CYAN 

              Cyan (fore- and background)

              RED 

              Red (fore- and background)

              MAGENTA 

              Magenta (fore- and background)

              BROWN 

              Brown (fore- and background)

              LIGHT_GREY 

              Light grey (fore- and background)

              DARK_GREY 

              Dark grey (foreground only)

              LIGHT_BLUE 

              Light blue (foreground only)

              LIGHT_GREEN 

              Light green (foreground only)

              LIGHT_CYAN 

              Light cyan (foreground only)

              LIGHT_RED 

              Light red (foreground only)

              LIGHT_MAGENTA 

              Light magenta (foreground only)

              YELLOW 

              Yellow (foreground only)

              WHITE 

              White (foreground only)

              Member Function Documentation

              void TextMode::setCursor ( unsigned  abs_x,
              unsigned  abs_y 
              )
              static

              Set the keyboard hardware cursor to absolute screen position.

              Parameters
              abs_xabsolute column of the keyboard hardware cursor
              abs_yabsolute row of the keyboard hardware cursor
              void TextMode::getCursor ( unsigned &  abs_x,
              unsigned &  abs_y 
              )
              static

              Retrieve the keyboard hardware cursor position on screen.

              Parameters
              abs_xabsolute column of the keyboard hardware cursor
              abs_yabsolute row of the keyboard hardware cursor
              void TextMode::show ( unsigned  abs_x,
              unsigned  abs_y,
              char  character,
              Attribute  attrib = Attribute() 
              )
              static

              Basic output of a character at a specific position on the screen.

              This method outputs the given character at the absolute screen position (x, y) with the specified color attribute.

              The position (0,0) indicates the upper left corner of the screen. The attribute defines characteristics such as background color, foreground color and blinking.

              Parameters
              abs_xColumn (abs_x < COLUMNS) in which the character should be displayed
              abs_yRow (abs_y < ROWS) in which the character should be displayed
              characterCharacter to be displayed
              attribAttribute with color settings
              void TextMode::show ( int  abs_x,
              int  abs_y,
              char  character,
              Attribute  attrib = Attribute() 
              )
              static

              Basic output of a character at a specific position on the screen.

              This method outputs the given character at the absolute screen position (x, y) with the specified color attribute. Negative coordinates are interpreted relative to the right (x) and bottom (y) border.

              Parameters
              abs_xColumn (-COLUMNS ≤ abs_x < COLUMNS) in which the character should be displayed – using the right border (COLUMNS) as reference for negative values.
              abs_yRow (-ROWS ≤ abs_y < ROWS) in which the character should be displayed – using the bottom border (ROWS) as reference for negative values.
              characterCharacter to be displayed
              attribAttribute with color settings
              void TextMode::showMouse ( unsigned  abs_x,
              unsigned  abs_y 
              )
              static

              Show the mouse cursor by switching foreground and background of the cell at cursor position.

              Parameters
              abs_xColumn (abs_x < COLUMNS) of mouse cursor
              abs_yRow (abs_y < ROWS) of mouse cursor

              The documentation for this class was generated from the following files:
              • machine/textmode.h
              • machine/textmode.cc
              Friedrich-Alexander-Universität
              Erlangen-Nürnberg

              Schlossplatz 4
              91054 Erlangen
              • Impressum
              • Datenschutz
              • Barrierefreiheit
              • Facebook
              • RSS Feed
              • Xing
              Nach oben