diff --git a/Anciens fichiers/vesalfb.h b/Anciens fichiers/vesalfb.h index 20938efa..0680d2c6 100644 --- a/Anciens fichiers/vesalfb.h +++ b/Anciens fichiers/vesalfb.h @@ -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 vid‚os support‚s par le VESA - word Memoire; // Taille de la m‚moire 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 r‚vision - - // 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 r‚el(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 m‚moire (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 m‚moire (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 d‚but de la m‚moire offscreen (2Ch) - word Taille_offscreen; // Taille de la m‚moire offscreen en Ko (30h) - - // Filler - byte Filler[206]; -}; - - - - extern word LFB_Selecteur; // S‚lecteur utilis‚ par le mapping du LFB - extern word LFB_Adresse; // Adresse o— est mapp‚e le LFB - extern word LFB_Taille; // Taille de la m‚moire 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 vid‚os support‚s par le VESA + word Memoire; // Taille de la m‚moire 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 r‚vision + + // 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 r‚el(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 m‚moire (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 m‚moire (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 d‚but de la m‚moire offscreen (2Ch) + word Taille_offscreen; // Taille de la m‚moire offscreen en Ko (30h) + + // Filler + byte Filler[206]; +}; + + + + extern word LFB_Selecteur; // S‚lecteur utilis‚ par le mapping du LFB + extern word LFB_Adresse; // Adresse o— est mapp‚e le LFB + extern word LFB_Taille; // Taille de la m‚moire 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 diff --git a/Anciens fichiers/video.h b/Anciens fichiers/video.h index 6790f8e9..26c98efa 100644 --- a/Anciens fichiers/video.h +++ b/Anciens fichiers/video.h @@ -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);