Dropped all the old files. They are not really usefull anymore as everything was rewritten in clean C for us...
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@741 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
5c7256efa3
commit
d1de5fa366
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,221 +0,0 @@
|
|||||||
/* Grafx2 - The Ultimate 256-color bitmap paint program
|
|
||||||
|
|
||||||
Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
|
|
||||||
|
|
||||||
Grafx2 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; version 2
|
|
||||||
of the License.
|
|
||||||
|
|
||||||
Grafx2 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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Grafx2; if not, see <http://www.gnu.org/licenses/> or
|
|
||||||
write to the Free Software Foundation, Inc.,
|
|
||||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
#include <string.h>
|
|
||||||
#include "vesalfb.h"
|
|
||||||
|
|
||||||
|
|
||||||
// - -- --- ----\/\ Detection du support VESA sur la machine: /\/---- --- -- -
|
|
||||||
|
|
||||||
void Support_VESA(void)
|
|
||||||
{
|
|
||||||
struct S_Buffer_VESA Buffer_VESA;
|
|
||||||
word Retour;
|
|
||||||
|
|
||||||
VESA_Erreur=0;
|
|
||||||
|
|
||||||
// Lecture des infos du VESA:
|
|
||||||
Retour=Get_VESA_info(&Buffer_VESA);
|
|
||||||
if (Retour==0x004F)
|
|
||||||
{
|
|
||||||
// Les interruptions VESA sont interprˆt‚es par la carte vid‚o
|
|
||||||
|
|
||||||
if (memcmp(Buffer_VESA.Signature,"VESA",4)==0)
|
|
||||||
{
|
|
||||||
// La signature "VESA" est bien pr‚sente
|
|
||||||
VESA_Liste_des_modes =Buffer_VESA.Liste_des_modes;
|
|
||||||
VESA_Version_Unite =(Buffer_VESA.Version >> 8);
|
|
||||||
VESA_Version_Decimale=(Buffer_VESA.Version & 0xFF);
|
|
||||||
strncpy(VESA_Constructeur,Buffer_VESA.Fabricant,TAILLE_NOM_CONSTRUCTEUR);
|
|
||||||
VESA_Constructeur[TAILLE_NOM_CONSTRUCTEUR]='\0';
|
|
||||||
VESA_Taille_memoire =Buffer_VESA.Memoire;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Pas de signature VESA sur la carte
|
|
||||||
VESA_Erreur=1;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// La carte vid‚o n'a jamais entendu parler du VESA
|
|
||||||
VESA_Erreur=1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// - -- --- -----\/\ Detection du support VESA pour un mode: /\/----- --- -- -
|
|
||||||
|
|
||||||
void Mode_VESA_supporte(word Mode,int Indice_mode)
|
|
||||||
{
|
|
||||||
struct S_Buffer_VESA Buffer_VESA;
|
|
||||||
struct S_Buffer_mode_VESA Buffer_mode_VESA;
|
|
||||||
word Retour;
|
|
||||||
int Code_fenetres=0;
|
|
||||||
int Granularite=0;
|
|
||||||
int Indice;
|
|
||||||
int Taille;
|
|
||||||
|
|
||||||
VESA_Erreur=0;
|
|
||||||
|
|
||||||
/*
|
|
||||||
On va commencer par regarder si le mode n'est pas dans la liste de ceux
|
|
||||||
support‚s par la carte. Pour cela, il nous faut redemander cette liste
|
|
||||||
car certaines cartes la "perdent" d'un appel sur l'autre.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Lecture des infos du VESA:
|
|
||||||
Retour=Get_VESA_info(&Buffer_VESA);
|
|
||||||
if (Retour==0x004F)
|
|
||||||
{
|
|
||||||
// Les interruptions VESA sont interprˆt‚es par la carte vid‚o
|
|
||||||
|
|
||||||
Taille=65536L*(int)Buffer_VESA.Memoire;
|
|
||||||
|
|
||||||
// On regarde si le mode se trouve dans la liste
|
|
||||||
for (Indice=0;Buffer_VESA.Liste_des_modes[Indice]!=0xFFFF;Indice++)
|
|
||||||
if (Buffer_VESA.Liste_des_modes[Indice]==Mode)
|
|
||||||
break;
|
|
||||||
|
|
||||||
if (Buffer_VESA.Liste_des_modes[Indice]==Mode)
|
|
||||||
{
|
|
||||||
// Le mode est dans la liste
|
|
||||||
|
|
||||||
// Lecture des infos du mode VESA:
|
|
||||||
Retour=Get_VESA_mode_info(Mode,&Buffer_mode_VESA);
|
|
||||||
|
|
||||||
if (Retour==0x004F)
|
|
||||||
{
|
|
||||||
if ((Buffer_mode_VESA.Attributs & 1)==0)
|
|
||||||
VESA_Erreur=1;
|
|
||||||
|
|
||||||
// On calcule le facteur de granularit‚:
|
|
||||||
switch(Buffer_mode_VESA.Granularite)
|
|
||||||
{
|
|
||||||
case 64 :
|
|
||||||
Granularite=0;
|
|
||||||
break;
|
|
||||||
case 32 :
|
|
||||||
Granularite=1;
|
|
||||||
break;
|
|
||||||
case 16 :
|
|
||||||
Granularite=2;
|
|
||||||
break;
|
|
||||||
case 8 :
|
|
||||||
Granularite=3;
|
|
||||||
break;
|
|
||||||
case 4 :
|
|
||||||
Granularite=4;
|
|
||||||
break;
|
|
||||||
case 2 :
|
|
||||||
Granularite=5;
|
|
||||||
break;
|
|
||||||
case 1 :
|
|
||||||
Granularite=6;
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
VESA_Erreur=1;
|
|
||||||
};
|
|
||||||
|
|
||||||
// On calcule le code des fenˆtres:
|
|
||||||
// 0 = Lecture & ‚criture dans A
|
|
||||||
// 1 = Lecture & ‚criture dans B
|
|
||||||
// 2 = Lecture dans A et ‚criture dans B
|
|
||||||
// 3 = Lecture dans B et ‚criture dans A
|
|
||||||
|
|
||||||
if ((Buffer_mode_VESA.Attributs_fenetre_A & 7)==7)
|
|
||||||
// La fenˆtre A suffit … tout faire (lecture & ‚criture)
|
|
||||||
Code_fenetres=0;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ((Buffer_mode_VESA.Attributs_fenetre_B & 7)==7)
|
|
||||||
// La fenˆtre B suffit … tout faire (lecture & ‚criture)
|
|
||||||
Code_fenetres=1;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// La fenˆtre B ne suffira pas … tout faire
|
|
||||||
|
|
||||||
if ( ((Buffer_mode_VESA.Attributs_fenetre_A & 3)==3) &&
|
|
||||||
((Buffer_mode_VESA.Attributs_fenetre_B & 5)==5) )
|
|
||||||
// La fenˆtre A est lisible et la fenˆtre B inscriptible
|
|
||||||
Code_fenetres=2;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ( ((Buffer_mode_VESA.Attributs_fenetre_B & 3)==3) &&
|
|
||||||
((Buffer_mode_VESA.Attributs_fenetre_A & 5)==5) )
|
|
||||||
// La fenˆtre B est lisible et la fenˆtre A inscriptible
|
|
||||||
Code_fenetres=3;
|
|
||||||
else
|
|
||||||
VESA_Erreur=1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// On v‚rifie que la taille des fenˆtres soit bien de 64Ko:
|
|
||||||
if (Buffer_mode_VESA.Taille_fenetres!=64)
|
|
||||||
VESA_Erreur=1;
|
|
||||||
|
|
||||||
if ( (VESA_Erreur==0) ||
|
|
||||||
((Buffer_mode_VESA.Attributs & 128) &&
|
|
||||||
(Buffer_mode_VESA.Adresse_LFB!=0)) )
|
|
||||||
{
|
|
||||||
VESA_Erreur=0;
|
|
||||||
VESA_Mode_Infos[Indice_mode].Granularite=Granularite;
|
|
||||||
VESA_Mode_Infos[Indice_mode].Code_fenetres=Code_fenetres;
|
|
||||||
Get_VESA_protected_mode_WinFuncPtr();
|
|
||||||
VESA_Mode_Infos[Indice_mode].WinFuncPtr=VESA_WinFuncPtr;
|
|
||||||
if (Buffer_mode_VESA.Attributs & 128)
|
|
||||||
{
|
|
||||||
// LFB support‚
|
|
||||||
VESA_Mode_Infos[Indice_mode].Adresse_physique_LFB=Buffer_mode_VESA.Adresse_LFB;
|
|
||||||
VESA_Mode_Infos[Indice_mode].Taille_LFB=Taille;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
VESA_Mode_Infos[Indice_mode].Adresse_physique_LFB=0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Le mode est renseign‚ dans la liste mais n'est pas support‚
|
|
||||||
VESA_Erreur=1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Le mode n'est pas dans la liste
|
|
||||||
VESA_Erreur=1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// La carte vid‚o n'a jamais entendu parler du VESA
|
|
||||||
VESA_Erreur=1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Si le mode n'est pas support‚, on disable les modes vid‚os bas‚s sur
|
|
||||||
// ce mode VESA:
|
|
||||||
if (VESA_Erreur!=0)
|
|
||||||
for (Indice=0;Indice<NB_MODES_VIDEO;Indice++)
|
|
||||||
if (Mode_video[Indice].Mode_VESA_de_base==Mode)
|
|
||||||
Mode_video[Indice].Etat+=128;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -1,132 +0,0 @@
|
|||||||
/* Grafx2 - The Ultimate 256-color bitmap paint program
|
|
||||||
|
|
||||||
Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
|
|
||||||
|
|
||||||
Grafx2 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; version 2
|
|
||||||
of the License.
|
|
||||||
|
|
||||||
Grafx2 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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Grafx2; if not, see <http://www.gnu.org/licenses/> or
|
|
||||||
write to the Free Software Foundation, Inc.,
|
|
||||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#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
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -1,109 +0,0 @@
|
|||||||
/* Grafx2 - The Ultimate 256-color bitmap paint program
|
|
||||||
|
|
||||||
Copyright 1996-2001 Sunset Design (Guillaume Dorme & Karl Maritaud)
|
|
||||||
|
|
||||||
Grafx2 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; version 2
|
|
||||||
of the License.
|
|
||||||
|
|
||||||
Grafx2 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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Grafx2; if not, see <http://www.gnu.org/licenses/> or
|
|
||||||
write to the Free Software Foundation, Inc.,
|
|
||||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*/
|
|
||||||
#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);
|
|
||||||
Loading…
x
Reference in New Issue
Block a user