TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
Macros | Énumérations | Fonctions
Référence du fichier vga.c
#include <fs/devfs.h>
#include <ioports.h>
#include <klog.h>
#include <klibc/string.h>
#include <drivers/vga.h>
#include <drivers/vga_modes.h>
Graphe des dépendances par inclusion de vga.c:

Macros

#define NB_REGISTER_GROUPS   5
 

Énumérations

enum  reg_groups_names {
  GC, SEQ, AC, CRTC,
  MISC
}
 
enum  other_regs_names { INSTAT_1_READ }
 

Fonctions

void vga_write_buf (char *buffer)
 
void vga_set_mode (enum vga_mode mode)
 
void init_vga ()
 

Description détaillée

Auteur
TacOS developers

LICENSE

Copyright (C) 2011, 2012, 2013 - TacOS developers.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details at http://www.gnu.org/copyleft/gpl.html

You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses.

DESCRIPTION

VGA driver.

Voir également
http://wiki.osdev.org/VGA_Hardware
http://www.osdever.net/FreeVGA/vga/vga.htm
http://files.osdev.org/mirrors/geezer/osd/graphics/modes.c (modes structs taken from there) TODO: "paranoïd" advises from FreeVGA TODO: currently only supports mode 320*200*256 colors TODO: video memory base address is hardcoded

Documentation des macros

#define NB_REGISTER_GROUPS   5

Defines the number of registers and the ports corresponding to the address registers (addr_w_registers) and the data read/write registers (data_r/w_registers) for the 5 groups of VGA registers.

Voir également
http://www.osdever.net/FreeVGA/vga/vga.htm | GC: Graphics Registers – control the way the CPU accesses video RAM. | SEQ: Sequencer Registers – control how video data is sent to the DAC. | AC: Attribute Controller Registers – selects the 16 color and 64 color palettes used for EGA/CGA compatibility. | CRTC: CRT Controller Registers – control how the video is output to the display. | MISC: External Registers – miscellaneous registers used to control video operation.

Documentation du type de l'énumération

Defines the ports corresponding to other registers used. | INSTAT_1_READ: Input Status #1 Register – Used to initialize the Attribute controllers registers flipflop (

Voir également
reset_ac_controllers_flipflop)

Documentation des fonctions

void init_vga ( )

Initialisation Driver VGA.

Voici le graphe d'appel pour cette fonction :