converted linends

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@21 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Adrien Destugues 2007-09-18 18:03:54 +00:00
parent 49e7f9739d
commit 96f9a9f3dc
2 changed files with 200 additions and 200 deletions

View File

@ -1,113 +1,113 @@
#ifndef _VESALFB_H_
#define _VESALFB_H_
#ifndef _VESALFB_H_
#define _VESALFB_H_
#include "struct.h"
#include "global.h"
struct S_Buffer_VESA
{
// VESA 1.0
char Signature[4]; // = 'VESA'
word Version; // Nø de version
char * Fabricant; // Nom du fabricant
dword Capacite; // Bits de capacit du DAC
word * Liste_des_modes; // Liste des modes vidos supports par le VESA
word Memoire; // Taille de la mmoire en blocs de 64K
// VESA 2.0
word Version_bios; // Version du BIOS du fabricant
char * Vendeur; // Nom du vendeur
char * Produit; // Nom du produit
char * Revision; // Nom de la rvision
// Filler
byte Filler[990]; // Reserv
};
struct S_Buffer_mode_VESA
{
// VESA 1.0
word Attributs; // Attributs du mode (00h)
byte Attributs_fenetre_A; // Attributs de la fenˆtre A (02h)
byte Attributs_fenetre_B; // Attributs de la fenˆtre B (03h)
word Granularite; // Granularit des fenˆtres en Ko (04h)
word Taille_fenetres; // Taille des fenˆtres en Ko (06h)
word Segment_fenetre_A; // Segment de la fenˆtre A (08h)
word Segment_fenetre_B; // Segment de la fenˆtre B (0Ah)
byte * WinFuncPtr; // Fonction d'AX=4F05 en mode rel(0Ch)
word Octets_par_ligne; // Nombre d'octets par ligne (10h)
// Optionnels ou OEM
word Largeur; // Largeur en pixels (12h)
word Hauteur; // Hauteur en pixels (14h)
byte Largeur_de_char; // Largeur des caractères en pxls (16h)
byte Hauteur_de_char; // Hauteur des caractères en pxls (17h)
byte Nb_plans; // Nombre de plans de mmoire (18h)
byte Nb_bits_par_pixel; // Nombre de bits par pixel (19h)
byte Nb_banques; // Nombre de banques (1Ah)
byte Modele_de_memoire; // Modèle de mmoire (1Bh)
byte Taille_des_banques; // Taille des banques en Ko (1Ch)
byte Nombre_de_pages; // Nombre de pages d'image (1Dh)
byte Reserve; // Reserv (=1) (1Eh)
// VESA 1.2
byte Taille_masque_rouge; // Taille du masque des rouges (1Fh)
byte Pos_masque_rouge; // Position du masque des rouges (20h)
byte Taille_masque_vert; // Taille du masque des verts (21h)
byte Pos_masque_vert; // Position du masque des verts (22h)
byte Taille_masque_bleu; // Taille du masque des bleus (23h)
byte Pos_masque_bleu; // Position du masque des bleus (24h)
byte Taille_masque_res; // Taille d'un masque reserv (25h)
byte Pos_masque_res; // Position d'un masque reserv (26h)
byte Direct_screen_mode; // Direct screen mode info (27h)
// VESA 2.0
byte * Adresse_LFB; // Adresse du LFB (28h)
byte * Adresse_offscreen; // Pointeur vers le dbut de la mmoire offscreen (2Ch)
word Taille_offscreen; // Taille de la mmoire offscreen en Ko (30h)
// Filler
byte Filler[206];
};
extern word LFB_Selecteur; // Slecteur utilis par le mapping du LFB
extern word LFB_Adresse; // Adresse o— est mappe le LFB
extern word LFB_Taille; // Taille de la mmoire LFB
word Get_VESA_info ( struct S_Buffer_VESA * Buffer_VESA);
word Get_VESA_mode_info(word Mode, struct S_Buffer_mode_VESA * Buffer_mode_VESA);
void Get_VESA_protected_mode_WinFuncPtr(void);
word Set_VESA_mode(word Mode);
word Initialiser_le_LFB(byte * Adresse_physique,dword Taille);
word Fermer_le_LFB(void);
void Pixel_VESA_LFB (word X,word Y,byte Couleur);
byte Lit_pixel_VESA_LFB (word X,word Y);
void Effacer_tout_l_ecran_VESA_LFB (byte Couleur);
void Block_VESA_LFB (word Debut_X,word Debut_Y,word Largeur,word Hauteur,byte Couleur);
void Pixel_Preview_Normal_VESA_LFB (word X,word Y,byte Couleur);
void Pixel_Preview_Loupe_VESA_LFB (word X,word Y,byte Couleur);
void Ligne_horizontale_XOR_VESA_LFB(word Pos_X,word Pos_Y,word Largeur);
void Ligne_verticale_XOR_VESA_LFB (word Pos_X,word Pos_Y,word Hauteur);
void Display_brush_Color_VESA_LFB (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse);
void Display_brush_Mono_VESA_LFB (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse);
void Clear_brush_VESA_LFB (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image);
void Remap_screen_VESA_LFB (word Pos_X,word Pos_Y,word Largeur,word Hauteur,byte * Table_de_conversion);
void Afficher_partie_de_l_ecran_VESA_LFB (word Largeur,word Hauteur,word Largeur_image);
void Afficher_une_ligne_a_l_ecran_VESA_LFB (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Lire_une_ligne_a_l_ecran_VESA_LFB (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Afficher_partie_de_l_ecran_zoomee_VESA_LFB(word Largeur,word Hauteur,word Largeur_image,byte * Buffer);
void Display_brush_Color_Zoom_VESA_LFB(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer);
void Display_brush_Mono_Zoom_VESA_LFB (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer);
void Clear_brush_Zoom_VESA_LFB (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer);
#endif
#include "global.h"
struct S_Buffer_VESA
{
// VESA 1.0
char Signature[4]; // = 'VESA'
word Version; // Nø de version
char * Fabricant; // Nom du fabricant
dword Capacite; // Bits de capacit du DAC
word * Liste_des_modes; // Liste des modes vidos supports par le VESA
word Memoire; // Taille de la mmoire en blocs de 64K
// VESA 2.0
word Version_bios; // Version du BIOS du fabricant
char * Vendeur; // Nom du vendeur
char * Produit; // Nom du produit
char * Revision; // Nom de la rvision
// Filler
byte Filler[990]; // Reserv
};
struct S_Buffer_mode_VESA
{
// VESA 1.0
word Attributs; // Attributs du mode (00h)
byte Attributs_fenetre_A; // Attributs de la fenˆtre A (02h)
byte Attributs_fenetre_B; // Attributs de la fenˆtre B (03h)
word Granularite; // Granularit des fenˆtres en Ko (04h)
word Taille_fenetres; // Taille des fenˆtres en Ko (06h)
word Segment_fenetre_A; // Segment de la fenˆtre A (08h)
word Segment_fenetre_B; // Segment de la fenˆtre B (0Ah)
byte * WinFuncPtr; // Fonction d'AX=4F05 en mode rel(0Ch)
word Octets_par_ligne; // Nombre d'octets par ligne (10h)
// Optionnels ou OEM
word Largeur; // Largeur en pixels (12h)
word Hauteur; // Hauteur en pixels (14h)
byte Largeur_de_char; // Largeur des caractères en pxls (16h)
byte Hauteur_de_char; // Hauteur des caractères en pxls (17h)
byte Nb_plans; // Nombre de plans de mmoire (18h)
byte Nb_bits_par_pixel; // Nombre de bits par pixel (19h)
byte Nb_banques; // Nombre de banques (1Ah)
byte Modele_de_memoire; // Modèle de mmoire (1Bh)
byte Taille_des_banques; // Taille des banques en Ko (1Ch)
byte Nombre_de_pages; // Nombre de pages d'image (1Dh)
byte Reserve; // Reserv (=1) (1Eh)
// VESA 1.2
byte Taille_masque_rouge; // Taille du masque des rouges (1Fh)
byte Pos_masque_rouge; // Position du masque des rouges (20h)
byte Taille_masque_vert; // Taille du masque des verts (21h)
byte Pos_masque_vert; // Position du masque des verts (22h)
byte Taille_masque_bleu; // Taille du masque des bleus (23h)
byte Pos_masque_bleu; // Position du masque des bleus (24h)
byte Taille_masque_res; // Taille d'un masque reserv (25h)
byte Pos_masque_res; // Position d'un masque reserv (26h)
byte Direct_screen_mode; // Direct screen mode info (27h)
// VESA 2.0
byte * Adresse_LFB; // Adresse du LFB (28h)
byte * Adresse_offscreen; // Pointeur vers le dbut de la mmoire offscreen (2Ch)
word Taille_offscreen; // Taille de la mmoire offscreen en Ko (30h)
// Filler
byte Filler[206];
};
extern word LFB_Selecteur; // Slecteur utilis par le mapping du LFB
extern word LFB_Adresse; // Adresse o— est mappe le LFB
extern word LFB_Taille; // Taille de la mmoire LFB
word Get_VESA_info ( struct S_Buffer_VESA * Buffer_VESA);
word Get_VESA_mode_info(word Mode, struct S_Buffer_mode_VESA * Buffer_mode_VESA);
void Get_VESA_protected_mode_WinFuncPtr(void);
word Set_VESA_mode(word Mode);
word Initialiser_le_LFB(byte * Adresse_physique,dword Taille);
word Fermer_le_LFB(void);
void Pixel_VESA_LFB (word X,word Y,byte Couleur);
byte Lit_pixel_VESA_LFB (word X,word Y);
void Effacer_tout_l_ecran_VESA_LFB (byte Couleur);
void Block_VESA_LFB (word Debut_X,word Debut_Y,word Largeur,word Hauteur,byte Couleur);
void Pixel_Preview_Normal_VESA_LFB (word X,word Y,byte Couleur);
void Pixel_Preview_Loupe_VESA_LFB (word X,word Y,byte Couleur);
void Ligne_horizontale_XOR_VESA_LFB(word Pos_X,word Pos_Y,word Largeur);
void Ligne_verticale_XOR_VESA_LFB (word Pos_X,word Pos_Y,word Hauteur);
void Display_brush_Color_VESA_LFB (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse);
void Display_brush_Mono_VESA_LFB (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse);
void Clear_brush_VESA_LFB (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image);
void Remap_screen_VESA_LFB (word Pos_X,word Pos_Y,word Largeur,word Hauteur,byte * Table_de_conversion);
void Afficher_partie_de_l_ecran_VESA_LFB (word Largeur,word Hauteur,word Largeur_image);
void Afficher_une_ligne_a_l_ecran_VESA_LFB (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Lire_une_ligne_a_l_ecran_VESA_LFB (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Afficher_partie_de_l_ecran_zoomee_VESA_LFB(word Largeur,word Hauteur,word Largeur_image,byte * Buffer);
void Display_brush_Color_Zoom_VESA_LFB(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer);
void Display_brush_Mono_Zoom_VESA_LFB (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer);
void Clear_brush_Zoom_VESA_LFB (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer);
#endif

View File

@ -1,90 +1,90 @@
#include "struct.h"
// -- Headers des fonctions MCGA --
void Set_mode_MCGA (void);
void Pixel_MCGA (word X,word Y,byte Couleur);
byte Lit_pixel_MCGA (word X,word Y);
void Effacer_tout_l_ecran_MCGA (byte Couleur);
void Block_MCGA (word Debut_X,word Debut_Y,word Largeur,word Hauteur,byte Couleur);
void Pixel_Preview_Normal_MCGA (word X,word Y,byte Couleur);
void Pixel_Preview_Loupe_MCGA (word X,word Y,byte Couleur);
void Ligne_horizontale_XOR_MCGA(word Pos_X,word Pos_Y,word Largeur);
void Ligne_verticale_XOR_MCGA (word Pos_X,word Pos_Y,word Hauteur);
void Display_brush_Color_MCGA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse);
void Display_brush_Mono_MCGA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse);
void Clear_brush_MCGA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image);
void Remap_screen_MCGA (word Pos_X,word Pos_Y,word Largeur,word Hauteur,byte * Table_de_conversion);
// -- Headers des fonctions Mode X --
void Set_mode_X (void);
void Pixel_mode_X (word X,word Y,byte Couleur);
byte Lit_pixel_mode_X (word X,word Y);
void Effacer_tout_l_ecran_mode_X (byte Couleur);
void Block_mode_X (word Debut_X,word Debut_Y,word Largeur,word Hauteur,byte Couleur);
void Pixel_Preview_Normal_mode_X (word X,word Y,byte Couleur);
void Pixel_Preview_Loupe_mode_X (word X,word Y,byte Couleur);
void Ligne_horizontale_XOR_mode_X(word Pos_X,word Pos_Y,word Largeur);
void Ligne_verticale_XOR_mode_X (word Pos_X,word Pos_Y,word Hauteur);
void Display_brush_Color_mode_X(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse);
void Display_brush_Mono_mode_X (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse);
void Clear_brush_mode_X (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image);
void Remap_screen_mode_X (word Pos_X,word Pos_Y,word Largeur,word Hauteur,byte * Table_de_conversion);
// -- Headers des fonctions VESA --
void VESA_Change_banque_Fenetre_A(void);
void VESA_Change_banque_Fenetre_B(void);
void VESA_Change_banque_Fenetre_A_et_B(void);
void VESA_Change_banque_Fenetre_A_FAST(void);
void VESA_Change_banque_Fenetre_B_FAST(void);
void VESA_Change_banque_Fenetre_A_et_B_FAST(void);
//void Support_VESA(void);
//void Mode_VESA_supporte(word Mode);
byte Initialiser_mode_video_VESA(word Mode);
void Retoucher_CRTC(void);
void Pixel_VESA(word X,word Y,byte Couleur);
byte Lit_pixel_VESA(word X,word Y);
void Effacer_tout_l_ecran_VESA(byte Couleur);
void Block_VESA(word Debut_X,word Debut_Y,word Largeur,word Hauteur,byte Couleur);
void Pixel_Preview_Normal_VESA (word X,word Y,byte Couleur);
void Pixel_Preview_Loupe_VESA (word X,word Y,byte Couleur);
void Ligne_horizontale_XOR_VESA(word Pos_X,word Pos_Y,word Largeur);
void Ligne_verticale_XOR_VESA (word Pos_X,word Pos_Y,word Hauteur);
void Display_brush_Color_VESA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse);
void Display_brush_Mono_VESA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse);
void Clear_brush_VESA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image);
void Remap_screen_VESA (word Pos_X,word Pos_Y,word Largeur,word Hauteur,byte * Table_de_conversion);
// -- Nouveaux trucs --
void Afficher_partie_de_l_ecran_MCGA (word Largeur,word Hauteur,word Largeur_image);
void Afficher_une_ligne_a_l_ecran_MCGA (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Lire_une_ligne_a_l_ecran_MCGA (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Afficher_partie_de_l_ecran_zoomee_MCGA (word Largeur,word Hauteur,word Largeur_image,byte * Buffer);
void Afficher_partie_de_l_ecran_mode_X (word Largeur,word Hauteur,word Largeur_image);
void Afficher_une_ligne_a_l_ecran_mode_X (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Lire_une_ligne_a_l_ecran_mode_X (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Afficher_partie_de_l_ecran_zoomee_mode_X(word Largeur,word Hauteur,word Largeur_image,byte * Buffer);
void Afficher_partie_de_l_ecran_VESA (word Largeur,word Hauteur,word Largeur_image);
void Afficher_une_ligne_a_l_ecran_VESA (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Lire_une_ligne_a_l_ecran_VESA (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Afficher_partie_de_l_ecran_zoomee_VESA (word Largeur,word Hauteur,word Largeur_image,byte * Buffer);
void Display_brush_Color_Zoom_MCGA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer);
void Display_brush_Mono_Zoom_MCGA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer);
void Clear_brush_Zoom_MCGA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer);
void Display_brush_Color_Zoom_mode_X(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer);
void Display_brush_Mono_Zoom_mode_X (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer);
void Clear_brush_Zoom_mode_X (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer);
void Display_brush_Color_Zoom_VESA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer);
void Display_brush_Mono_Zoom_VESA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer);
void Clear_brush_Zoom_VESA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer);
// -- Headers des fonctions MCGA --
void Set_mode_MCGA (void);
void Pixel_MCGA (word X,word Y,byte Couleur);
byte Lit_pixel_MCGA (word X,word Y);
void Effacer_tout_l_ecran_MCGA (byte Couleur);
void Block_MCGA (word Debut_X,word Debut_Y,word Largeur,word Hauteur,byte Couleur);
void Pixel_Preview_Normal_MCGA (word X,word Y,byte Couleur);
void Pixel_Preview_Loupe_MCGA (word X,word Y,byte Couleur);
void Ligne_horizontale_XOR_MCGA(word Pos_X,word Pos_Y,word Largeur);
void Ligne_verticale_XOR_MCGA (word Pos_X,word Pos_Y,word Hauteur);
void Display_brush_Color_MCGA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse);
void Display_brush_Mono_MCGA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse);
void Clear_brush_MCGA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image);
void Remap_screen_MCGA (word Pos_X,word Pos_Y,word Largeur,word Hauteur,byte * Table_de_conversion);
// -- Headers des fonctions Mode X --
void Set_mode_X (void);
void Pixel_mode_X (word X,word Y,byte Couleur);
byte Lit_pixel_mode_X (word X,word Y);
void Effacer_tout_l_ecran_mode_X (byte Couleur);
void Block_mode_X (word Debut_X,word Debut_Y,word Largeur,word Hauteur,byte Couleur);
void Pixel_Preview_Normal_mode_X (word X,word Y,byte Couleur);
void Pixel_Preview_Loupe_mode_X (word X,word Y,byte Couleur);
void Ligne_horizontale_XOR_mode_X(word Pos_X,word Pos_Y,word Largeur);
void Ligne_verticale_XOR_mode_X (word Pos_X,word Pos_Y,word Hauteur);
void Display_brush_Color_mode_X(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse);
void Display_brush_Mono_mode_X (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse);
void Clear_brush_mode_X (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image);
void Remap_screen_mode_X (word Pos_X,word Pos_Y,word Largeur,word Hauteur,byte * Table_de_conversion);
// -- Headers des fonctions VESA --
void VESA_Change_banque_Fenetre_A(void);
void VESA_Change_banque_Fenetre_B(void);
void VESA_Change_banque_Fenetre_A_et_B(void);
void VESA_Change_banque_Fenetre_A_FAST(void);
void VESA_Change_banque_Fenetre_B_FAST(void);
void VESA_Change_banque_Fenetre_A_et_B_FAST(void);
//void Support_VESA(void);
//void Mode_VESA_supporte(word Mode);
byte Initialiser_mode_video_VESA(word Mode);
void Retoucher_CRTC(void);
void Pixel_VESA(word X,word Y,byte Couleur);
byte Lit_pixel_VESA(word X,word Y);
void Effacer_tout_l_ecran_VESA(byte Couleur);
void Block_VESA(word Debut_X,word Debut_Y,word Largeur,word Hauteur,byte Couleur);
void Pixel_Preview_Normal_VESA (word X,word Y,byte Couleur);
void Pixel_Preview_Loupe_VESA (word X,word Y,byte Couleur);
void Ligne_horizontale_XOR_VESA(word Pos_X,word Pos_Y,word Largeur);
void Ligne_verticale_XOR_VESA (word Pos_X,word Pos_Y,word Hauteur);
void Display_brush_Color_VESA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_brosse);
void Display_brush_Mono_VESA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse);
void Clear_brush_VESA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Hauteur,byte Couleur_de_transparence,word Largeur_image);
void Remap_screen_VESA (word Pos_X,word Pos_Y,word Largeur,word Hauteur,byte * Table_de_conversion);
// -- Nouveaux trucs --
void Afficher_partie_de_l_ecran_MCGA (word Largeur,word Hauteur,word Largeur_image);
void Afficher_une_ligne_a_l_ecran_MCGA (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Lire_une_ligne_a_l_ecran_MCGA (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Afficher_partie_de_l_ecran_zoomee_MCGA (word Largeur,word Hauteur,word Largeur_image,byte * Buffer);
void Afficher_partie_de_l_ecran_mode_X (word Largeur,word Hauteur,word Largeur_image);
void Afficher_une_ligne_a_l_ecran_mode_X (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Lire_une_ligne_a_l_ecran_mode_X (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Afficher_partie_de_l_ecran_zoomee_mode_X(word Largeur,word Hauteur,word Largeur_image,byte * Buffer);
void Afficher_partie_de_l_ecran_VESA (word Largeur,word Hauteur,word Largeur_image);
void Afficher_une_ligne_a_l_ecran_VESA (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Lire_une_ligne_a_l_ecran_VESA (word Pos_X,word Pos_Y,word Largeur,byte * Ligne);
void Afficher_partie_de_l_ecran_zoomee_VESA (word Largeur,word Hauteur,word Largeur_image,byte * Buffer);
void Display_brush_Color_Zoom_MCGA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer);
void Display_brush_Mono_Zoom_MCGA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer);
void Clear_brush_Zoom_MCGA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer);
void Display_brush_Color_Zoom_mode_X(word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer);
void Display_brush_Mono_Zoom_mode_X (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer);
void Clear_brush_Zoom_mode_X (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer);
void Display_brush_Color_Zoom_VESA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_brosse,byte * Buffer);
void Display_brush_Mono_Zoom_VESA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,byte Couleur,word Largeur_brosse,byte * Buffer);
void Clear_brush_Zoom_VESA (word Pos_X,word Pos_Y,word Decalage_X,word Decalage_Y,word Largeur,word Pos_Y_Fin,byte Couleur_de_transparence,word Largeur_image,byte * Buffer);