Remove some old useless files, and add a png format icon for linux (wich does not like ico too much).
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@514 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
3ff77f068b
commit
73cd2e4e5d
@ -1,145 +0,0 @@
|
|||||||
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
|
||||||
³!!!!!!! PLEASE READ THIS FILE !!!!!!!³!!!!!! VEUILLEZ LIRE CE FICHIER !!!!!!³
|
|
||||||
³!! ENTIRELY BEFORE RUNNING GRAFX2 !!!³! ENTIEREMENT AVANT DE LANCER GRAFX2 !³
|
|
||||||
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
|
||||||
³
|
|
||||||
³
|
|
||||||
If you are reading this file right ³ Si vous lisez ce fichier maintenant,
|
|
||||||
now, I'm sure that it is for one out ³ Je suis s–r que c'est pour l'une de
|
|
||||||
of these four reasons: ³ ces quatre raisons:
|
|
||||||
³
|
|
||||||
1) You are THE ONE who first reads ³ 1) Vous ˆtes CELUI qui lit les
|
|
||||||
README.1ST files before running ³ fichiers README.1ST avant de lancer
|
|
||||||
new programs. ³ de nouveaux programmes.
|
|
||||||
³
|
|
||||||
2) Today is a rainy day and you've ³ 2) Il pleut aujourd'hui et vous avez
|
|
||||||
already finished all the games ³ d‚j… termin‚ tous les jeux que vous
|
|
||||||
you've... "purchased". So you ³ avez... "achet‚s". Donc vous n'avez
|
|
||||||
have nothing else to do that ³ rien d'autre … faire que de lire ce
|
|
||||||
reading this damn file. ³ fichu fichier.
|
|
||||||
³
|
|
||||||
3) You had the quite good reflex ³ 3) Vous avez eu l'assez bon r‚flŠxe
|
|
||||||
(for someone who did not read ³ (pour quelqu'un qui n'a pas lu ce
|
|
||||||
this file) to switch off your PC ³ fichier) d'‚teindre votre PC avant
|
|
||||||
before your monitor burns, and ³ que votre moniteur grille, et
|
|
||||||
now you wonder why. ³ maintenant vous cherchez pourquoi.
|
|
||||||
³
|
|
||||||
4) You have burnt your monitor ³ 4) Vous avez bouzill‚ votre moniteur
|
|
||||||
because you didn't read this ³ parce que vous n'avez pas lu ce
|
|
||||||
file first. And you now have all ³ fichier en premier. Et maintenant
|
|
||||||
the time to read it on your ³ vous avez tout le temps de le lire
|
|
||||||
neighbour's computer before you ³ sur l'ordinateur de votre voisin en
|
|
||||||
can buy another monitor. ³ attendant de pouvoir vous acheter
|
|
||||||
³ un nouvel ‚cran.
|
|
||||||
³
|
|
||||||
³
|
|
||||||
úÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄú
|
|
||||||
³
|
|
||||||
³
|
|
||||||
So here is what you must know about ³ Donc voici ce que vous devez savoir
|
|
||||||
GrafX2 before running it: ³ … propos de GrafX2 avant de le lancer:
|
|
||||||
³
|
|
||||||
³
|
|
||||||
Video problems: ³ ProblŠmes vid‚o:
|
|
||||||
ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
|
|
||||||
³
|
|
||||||
- This program provides a huge ³ - Ce programme propose un trŠs grand
|
|
||||||
range of video resolutions. All ³ nombre de modes vid‚o. Toutes ces
|
|
||||||
these resolutions may not work with ³ r‚solutions peuvent ne pas marcher
|
|
||||||
your monitor or video card. This ³ avec votre moniteur ou carte vid‚o.
|
|
||||||
should result by your monitor to ³ Ceci peut r‚sulter par un sifflement
|
|
||||||
whistle and stay black or display ³ de votre moniteur ou bien plus g‚n‚-
|
|
||||||
shit. ³ ralement qu'il affiche n'importe
|
|
||||||
So we added a keyboard shortcut ³ quoi ou qu'il reste tout noir.
|
|
||||||
for you to come back to a normal ³ Par cons‚quent, nous avons ajout‚
|
|
||||||
resolution (MCGA 320x200). The ³ un raccourci clavier pour que vous
|
|
||||||
default keys for this shortcut are ³ puissiez revenir … un r‚solution
|
|
||||||
[Shift]+[Return]. But, since you ³ normale (MCGA 320x200). La combinai-
|
|
||||||
can configure all the keys with ³ son de touches par d‚faut est
|
|
||||||
GFXCFG, you should check its actual ³ [Shift]+[Return]. Mais, puisque vous
|
|
||||||
value by running this setup program.³ pouvez configurer toutes les touches
|
|
||||||
³ avec GFXCFG, vous devriez v‚rifier
|
|
||||||
Note that we take no responsa- ³ la combinaison exacte en lan‡ant ce
|
|
||||||
bility for any problems you could ³ programme.
|
|
||||||
encounter with GrafX2. ³
|
|
||||||
³ Notez que ne sommes aucunement
|
|
||||||
Important: ³ responsables d'‚ventuels problŠmes
|
|
||||||
If the standard VESA modes (i.e. ³ que vous pourriez rencontrer avec
|
|
||||||
640x400,640x480,800x600 & 1024x768) ³ GrafX2.
|
|
||||||
don't work, please type this line ³
|
|
||||||
from the DOS command line: ³ Important:
|
|
||||||
TESTVESA > VESA.TXT ³ Si les modes VESA standards (i.e.
|
|
||||||
and send us the file thus created ³ 640x400,640x480,800x600 & 1024x768)
|
|
||||||
telling us the name of your video ³ ne fonctionnent pas, veuillez taper
|
|
||||||
card. It would be even better if you³ ceci sur la ligne de commande DOS:
|
|
||||||
sent a version of this file with no ³ TESTVESA > VESA.TXT
|
|
||||||
VESA driver in memory and another ³ et nous envoyer le fichier ainsi
|
|
||||||
one with a resident driver (such as ³ cr‚‚ en nous donnant le nom de votre
|
|
||||||
UNIVBE (c)Scitech Software). ³ carte vid‚o. Ce serait encore mieux
|
|
||||||
³ si vous nous envoyiez une version de
|
|
||||||
³ ce fichier avec aucun gestionnaire
|
|
||||||
³ VESA en m‚moire et une autre avec un
|
|
||||||
³ driver r‚sident (tel que UNIVBE
|
|
||||||
³ (c)Scitech Software).
|
|
||||||
³
|
|
||||||
³
|
|
||||||
Problems with the keys? ³ ProblŠmes avec les touches?
|
|
||||||
ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
|
|
||||||
³
|
|
||||||
- The button in the bottom-left ³ - Le bouton dans le coin bas-gauche
|
|
||||||
corner of the tool-bar (the one ³ de la barre d'outils (celui avec une
|
|
||||||
with a cross) was designed to hide ³ croix) a ‚t‚ con‡u pour cacher la
|
|
||||||
the tool-bar. But, the danger with ³ barre d'outils. Mais le danger avec
|
|
||||||
this button is that, if you don't ³ ce bouton est que si vous ne con-
|
|
||||||
know the key to have it back, you ³ naissez pas la touche qui permet de
|
|
||||||
will be in trouble :). ³ la rafficher, vous serez embˆt‚ :).
|
|
||||||
The default key is [F10] but ³ La touche par d‚faut est [F10]
|
|
||||||
check it in the setup program. ³ mais v‚rifiez-la avec GFXCFG.
|
|
||||||
³
|
|
||||||
- The default key for exiting the ³ - La touche par d‚faut pour quitter
|
|
||||||
program is [Q] (for QWERTY ³ le programme est [Q] (pour claviers
|
|
||||||
keyboards). This can be useful if ³ QWERTY). Cela peut ˆtre utile si
|
|
||||||
you don't remember how to show the ³ vous ne vous rappelez pas comment
|
|
||||||
tool-bar. ³ remontrer la barre d'outils.
|
|
||||||
³
|
|
||||||
- The key-configuration program ³ - Le programme de configuration des
|
|
||||||
displays the values for QWERTY ³ touches affiche ces derniŠres pour
|
|
||||||
keyboards. So if you have an AZERTY ³ les claviers QWERTY. Donc, si vous
|
|
||||||
keyboard for example, and want to ³ avez un clavier AZERTY par exemple
|
|
||||||
use your true Q key for quitting, ³ et que vous voulez utiliser votre
|
|
||||||
don't worry if the program displays ³ vraie touche Q pour quitter, ne vous
|
|
||||||
'A'. ³ ‚tonnez pas si le programme affiche
|
|
||||||
³ 'A'.
|
|
||||||
- Though keys are designed for ³
|
|
||||||
QWERTY keyboards, "typing areas" ³ - Bien que les touches soient g‚r‚es
|
|
||||||
will read the key-codes of your ³ pour claviers QWERTY, les zones de
|
|
||||||
country. For example, when you'll ³ saisie lisent les touches de votre
|
|
||||||
have to enter a file name, you'll ³ pays. Par exemple, lorsque vous
|
|
||||||
get what you type (cool! :)). ³ entrerez un nom de fichier, vous
|
|
||||||
³ obtiendrez ce que vous tapez (cool!)
|
|
||||||
- For people who would like to get ³ :).
|
|
||||||
directly the AZERTY equivalent of ³
|
|
||||||
the default configuration file, we ³ - Pour ceux qui voudraient avoir
|
|
||||||
have added the GFX2_FRA.CFG file. ³ directement l'‚quivalent AZERTY du
|
|
||||||
Then you'll just have to rename it ³ fichier de configuration par d‚faut,
|
|
||||||
to GFX2.CFG (great!) ;). ³ nous avons inclus le fichier
|
|
||||||
³ GFX2_FRA.CFG. Vous n'aurez qu'… le
|
|
||||||
³ renommer en GFX2.CFG (g‚nial!) ;).
|
|
||||||
³
|
|
||||||
³
|
|
||||||
úÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄú
|
|
||||||
³
|
|
||||||
³
|
|
||||||
OK! Now you can use and abuse of ³ OK! Maintenant vous pouvez user et
|
|
||||||
this program! ³ abuser de ce programme!
|
|
||||||
³
|
|
||||||
³
|
|
||||||
PS: Pleeeease! If you think something ³ PS: Par piti‚‚‚‚! Si vous pensez que
|
|
||||||
is going wrong, read all the docs ³ quelque chose ne tourne pas rond,
|
|
||||||
before complaining! Maybe that's ³ lisez toutes les docs avant de
|
|
||||||
merely because you don't know how ³ vous plaindre! Peut-ˆtre que c'est
|
|
||||||
to use it that it doesn't act as ³ simplement parce que vous ne savez
|
|
||||||
you expect. ;) ³ pas comment l'utiliser qu'une
|
|
||||||
³ option n'agit pas comme vous
|
|
||||||
| esp‚rez.
|
|
||||||
ú
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
GrafX2 - The Ultimate 256-color bitmap paint program
|
|
||||||
Copyright (C)1996-2001 Sunset Design (G.Dorme & K.Maritaud)
|
|
||||||
-------------------------------------
|
|
||||||
|
|
||||||
Here you can find the source code of GrafX2.
|
|
||||||
You can use and modify it as you want (in the
|
|
||||||
limits fixed the GNU GPL).
|
|
||||||
But you are strongly encouraged to submit new
|
|
||||||
versions to the authors (see addresses below)
|
|
||||||
if you plan to release them.
|
|
||||||
|
|
||||||
The GFX2_SRC directory contains the current state
|
|
||||||
of our own directory when we were programming GrafX2.
|
|
||||||
The source code is mainly in French but you'll find
|
|
||||||
more explanations (in both English and French) on
|
|
||||||
our web site (see address below).
|
|
||||||
|
|
||||||
The subdirectory "DAT" contains the source code
|
|
||||||
of the program used to generate the GFX2.DAT file.
|
|
||||||
|
|
||||||
The subdirectory "CFG" contains the source code
|
|
||||||
of the GFXCFG program used for redefining keys
|
|
||||||
and recreating corrupt configuration files.
|
|
||||||
|
|
||||||
The current version of GrafX2 must be compiled
|
|
||||||
with Watcom C (we used version 10.6).
|
|
||||||
The auxiliary programs (GFXCFG, MAKEDAT, etc...)
|
|
||||||
must be compiled with Borland Turbo Pascal 7.
|
|
||||||
Both Watcom C and Borland Turbo Pascal 7 are now
|
|
||||||
FREE to use.
|
|
||||||
|
|
||||||
|
|
||||||
------- GNU G.P.L. disclaimer -------
|
|
||||||
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 2
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
-------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
You can contact the authors here:
|
|
||||||
|
|
||||||
Guillaume DORME
|
|
||||||
address: 15, rue de l'Observatoire, 87000 LIMOGES (FRANCE)
|
|
||||||
e-mail: dorme@msi.unilim.fr
|
|
||||||
|
|
||||||
Karl Maritaud
|
|
||||||
address: 10, rue de la Brasserie, 87000 LIMOGES (FRANCE)
|
|
||||||
e-mail: maritaud@ensil.unilim.fr
|
|
||||||
|
|
||||||
http://w3.ensil.unilim.fr/~maritaud/sunset
|
|
||||||
1
Makefile
1
Makefile
@ -151,6 +151,7 @@ else
|
|||||||
RMDIR = rmdir
|
RMDIR = rmdir
|
||||||
CP = cp
|
CP = cp
|
||||||
ZIP = zip
|
ZIP = zip
|
||||||
|
PLATFORMFILES = gfx2.png
|
||||||
|
|
||||||
ifdef WIN32CROSS
|
ifdef WIN32CROSS
|
||||||
#cross compile a Win32 executable
|
#cross compile a Win32 executable
|
||||||
|
|||||||
@ -1,26 +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.
|
|
||||||
@
|
|
||||||
@echo off
|
|
||||||
50
|
|
||||||
wmake
|
|
||||||
if errorlevel 1 goto END
|
|
||||||
if not exist testvesa.exe goto END
|
|
||||||
if %0==COMP testvesa %1
|
|
||||||
:END
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
system dos4g
|
|
||||||
op stub=weoslite.exe
|
|
||||||
file vesa,testvesa
|
|
||||||
name testvesa
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
testvesa.exe : testvesa.obj vesa.obj
|
|
||||||
wlink @make.inc
|
|
||||||
|
|
||||||
testvesa.obj : testvesa.c vesa.h
|
|
||||||
wcc386 /we /4s /fp3 testvesa
|
|
||||||
|
|
||||||
vesa.obj : vesa.asm vesa.h
|
|
||||||
tasm /mx /zn /os vesa
|
|
||||||
@ -1,214 +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.
|
|
||||||
*/
|
|
||||||
typedef unsigned char byte;
|
|
||||||
typedef unsigned short word;
|
|
||||||
typedef unsigned long dword;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include "vesa.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
char * Version_to_string(word Version)
|
|
||||||
{
|
|
||||||
static char Chaine[20];
|
|
||||||
|
|
||||||
sprintf(Chaine,"%d",(Version>>8));
|
|
||||||
strcat(Chaine,".");
|
|
||||||
sprintf(Chaine+strlen(Chaine),"%d",(Version & 0xFF));
|
|
||||||
|
|
||||||
return Chaine;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Lire_infos_VESA(void)
|
|
||||||
{
|
|
||||||
struct S_Buffer_VESA Buffer_VESA;
|
|
||||||
struct S_Buffer_mode_VESA Buffer_mode_VESA;
|
|
||||||
word Retour;
|
|
||||||
int Nombre_de_modes;
|
|
||||||
word * Liste_des_modes;
|
|
||||||
int Offset1;
|
|
||||||
int Offset2;
|
|
||||||
char Libelle_du_nombre_de_couleurs[16];
|
|
||||||
int Nombre_de_bits;
|
|
||||||
|
|
||||||
Retour=Get_VESA_info(&Buffer_VESA);
|
|
||||||
|
|
||||||
if (Retour==0x004F)
|
|
||||||
{
|
|
||||||
if (memcmp(Buffer_VESA.Signature,"VESA",4)==0)
|
|
||||||
{
|
|
||||||
printf("VESA version : %s\n",Version_to_string(Buffer_VESA.Version));
|
|
||||||
printf("Builder : %s\n",Buffer_VESA.Fabricant);
|
|
||||||
printf("Capabilities : %d\n",Buffer_VESA.Capacite);
|
|
||||||
printf("Video memory : %dK\n",Buffer_VESA.Memoire*64);
|
|
||||||
|
|
||||||
if (Buffer_VESA.Version>=0x0200)
|
|
||||||
{
|
|
||||||
printf("OEM version : %s\n",Version_to_string(Buffer_VESA.Version_bios));
|
|
||||||
printf("Vendor : %s\n",Buffer_VESA.Vendeur);
|
|
||||||
printf("Product : %s\n",Buffer_VESA.Produit);
|
|
||||||
printf("Revision : %s\n",Buffer_VESA.Revision);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Comptage du nombre de modes:
|
|
||||||
Nombre_de_modes=0;
|
|
||||||
for (Offset1=0;Buffer_VESA.Liste_des_modes[Offset1]!=0xFFFF;Offset1++)
|
|
||||||
Nombre_de_modes++;
|
|
||||||
|
|
||||||
// Allocation d'une liste dupliqu‚e des modes:
|
|
||||||
Liste_des_modes=(word *)malloc(sizeof(word)*Nombre_de_modes);
|
|
||||||
|
|
||||||
// Copie de la liste des modes originale vers la dupliqu‚e:
|
|
||||||
memcpy(Liste_des_modes,Buffer_VESA.Liste_des_modes,sizeof(word)*Nombre_de_modes);
|
|
||||||
|
|
||||||
// Affichage de la liste des modes:
|
|
||||||
for (Offset1=0;Offset1<Nombre_de_modes;Offset1++)
|
|
||||||
{
|
|
||||||
// Lecture des infos du mode:
|
|
||||||
Retour=Get_VESA_mode_info(Liste_des_modes[Offset1],&Buffer_mode_VESA);
|
|
||||||
|
|
||||||
// Affichage des infos de ce mode:
|
|
||||||
|
|
||||||
if (Retour==0x004F)
|
|
||||||
{
|
|
||||||
if (Buffer_mode_VESA.Nb_bits_par_pixel<=8)
|
|
||||||
{
|
|
||||||
Nombre_de_bits=0;
|
|
||||||
sprintf(Libelle_du_nombre_de_couleurs,"%d col.",1<<Buffer_mode_VESA.Nb_bits_par_pixel);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Nombre_de_bits=Buffer_mode_VESA.Taille_masque_rouge+
|
|
||||||
Buffer_mode_VESA.Taille_masque_vert+
|
|
||||||
Buffer_mode_VESA.Taille_masque_bleu;
|
|
||||||
|
|
||||||
switch (Nombre_de_bits)
|
|
||||||
{
|
|
||||||
case 15:
|
|
||||||
strcpy(Libelle_du_nombre_de_couleurs,"32K");
|
|
||||||
break;
|
|
||||||
case 16:
|
|
||||||
strcpy(Libelle_du_nombre_de_couleurs,"64K");
|
|
||||||
break;
|
|
||||||
case 24:
|
|
||||||
if (Buffer_mode_VESA.Nb_bits_par_pixel==24)
|
|
||||||
strcpy(Libelle_du_nombre_de_couleurs,"16M");
|
|
||||||
else
|
|
||||||
strcpy(Libelle_du_nombre_de_couleurs,"16M 32-bits");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
sprintf(Libelle_du_nombre_de_couleurs,"%d col.",1<<Nombre_de_bits);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("\nMode : %Xh\t(",Liste_des_modes[Offset1]);
|
|
||||||
|
|
||||||
if (Buffer_mode_VESA.Attributs&16)
|
|
||||||
printf("Graphmode: ");
|
|
||||||
else
|
|
||||||
printf("Textmode : ");
|
|
||||||
|
|
||||||
printf("%dx%d - %s - ",Buffer_mode_VESA.Largeur,
|
|
||||||
Buffer_mode_VESA.Hauteur,Libelle_du_nombre_de_couleurs);
|
|
||||||
|
|
||||||
switch (Buffer_mode_VESA.Attributs&192)
|
|
||||||
{
|
|
||||||
case 0 : printf("Banked)\n"); break;
|
|
||||||
case 128 : printf("Banked/LFB)\n"); break;
|
|
||||||
case 192 : printf("LFB)\n"); break;
|
|
||||||
default : printf("BUGGED!)\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
printf(" Attributes : %Xh\n",Buffer_mode_VESA.Attributs);
|
|
||||||
printf(" Window A attributes : %Xh\n",Buffer_mode_VESA.Attributs_fenetre_A);
|
|
||||||
printf(" Window B attributes : %Xh\n",Buffer_mode_VESA.Attributs_fenetre_B);
|
|
||||||
printf(" Granularity : %dK\n",Buffer_mode_VESA.Granularite);
|
|
||||||
printf(" Window size : %dK\n",Buffer_mode_VESA.Taille_fenetres);
|
|
||||||
printf(" Window A segment : %Xh\n",Buffer_mode_VESA.Segment_fenetre_A);
|
|
||||||
printf(" Window B segment : %Xh\n",Buffer_mode_VESA.Segment_fenetre_B);
|
|
||||||
printf(" WinFunction pointer : %p\n",Buffer_mode_VESA.WinFuncPtr);
|
|
||||||
printf(" Bytes per line : %d\n",Buffer_mode_VESA.Octets_par_ligne);
|
|
||||||
printf(" Width : %d\n",Buffer_mode_VESA.Largeur);
|
|
||||||
printf(" Height : %d\n",Buffer_mode_VESA.Hauteur);
|
|
||||||
printf(" Character width : %d\n",Buffer_mode_VESA.Largeur_de_char);
|
|
||||||
printf(" Character height : %d\n",Buffer_mode_VESA.Hauteur_de_char);
|
|
||||||
printf(" Number of planes : %d\n",Buffer_mode_VESA.Nb_plans);
|
|
||||||
printf(" Bits per pixel : %d\n",Buffer_mode_VESA.Nb_bits_par_pixel);
|
|
||||||
printf(" Number of banks : %d\n",Buffer_mode_VESA.Nb_banques);
|
|
||||||
printf(" Memory model : %d\n",Buffer_mode_VESA.Modele_de_memoire);
|
|
||||||
printf(" Bank size : %d\n",Buffer_mode_VESA.Taille_des_banques);
|
|
||||||
printf(" Number of pages : %d\n",Buffer_mode_VESA.Nombre_de_pages);
|
|
||||||
|
|
||||||
if (Nombre_de_bits)
|
|
||||||
{
|
|
||||||
printf(" Red mask size : %d\n",Buffer_mode_VESA.Taille_masque_rouge);
|
|
||||||
printf(" Red mask position : %d\n",Buffer_mode_VESA.Pos_masque_rouge);
|
|
||||||
printf(" Green mask size : %d\n",Buffer_mode_VESA.Taille_masque_vert);
|
|
||||||
printf(" Green mask position : %d\n",Buffer_mode_VESA.Pos_masque_vert);
|
|
||||||
printf(" Blue mask size : %d\n",Buffer_mode_VESA.Taille_masque_bleu);
|
|
||||||
printf(" Blue mask position : %d\n",Buffer_mode_VESA.Pos_masque_bleu);
|
|
||||||
printf(" Reserved mask size : %d\n",Buffer_mode_VESA.Taille_masque_res);
|
|
||||||
printf(" Reserved mask pos. : %d\n",Buffer_mode_VESA.Pos_masque_res);
|
|
||||||
}
|
|
||||||
|
|
||||||
printf(" Direct screen mode : %d\n",Buffer_mode_VESA.Direct_screen_mode);
|
|
||||||
printf(" LFB address : %p\n",Buffer_mode_VESA.Adresse_LFB);
|
|
||||||
printf(" Offscreen address : %p\n",Buffer_mode_VESA.Adresse_offscreen);
|
|
||||||
printf(" Offscreen size : %dK\n",Buffer_mode_VESA.Taille_offscreen);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf("\nMode : %Xh",Liste_des_modes[Offset1]);
|
|
||||||
printf(" Mode not supported (not enough memory or bad monitor)\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Lib‚ration de la liste dupliqu‚e:
|
|
||||||
free(Liste_des_modes);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
printf("VESA bugged.\n");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (Retour==0xFF00)
|
|
||||||
printf("Memory allocation impossible.\n");
|
|
||||||
else
|
|
||||||
printf("No VESA supported: %d\n",Retour);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int main(void)
|
|
||||||
{
|
|
||||||
printf("\nÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
|
|
||||||
printf("\nºÛ²±° VESA tester - Copyright (c)1997 Sunset Design °±²Ûº");
|
|
||||||
printf("\nÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\n\n");
|
|
||||||
Lire_infos_VESA();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
Binary file not shown.
@ -1,256 +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.
|
|
||||||
|
|
||||||
.386P
|
|
||||||
.MODEL FLAT
|
|
||||||
|
|
||||||
_TEXT Segment dword public 'code'
|
|
||||||
Assume cs:_TEXT, ds:_DATA
|
|
||||||
|
|
||||||
|
|
||||||
; -- Fonctions VESA --
|
|
||||||
public Get_VESA_info
|
|
||||||
public Get_VESA_mode_info
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; - -- --- ----\/\ Lecture des informations VESA : /\/---- --- -- -
|
|
||||||
|
|
||||||
Convertir_adresse_MR_MP proc near
|
|
||||||
|
|
||||||
; EDI = Adresse d'une adresse … corriger
|
|
||||||
|
|
||||||
push eax
|
|
||||||
push ecx
|
|
||||||
|
|
||||||
mov eax,[edi] ; EAX = adresse … corriger
|
|
||||||
mov ecx,eax
|
|
||||||
shr eax,16
|
|
||||||
shl eax,4
|
|
||||||
and ecx,0FFFFh
|
|
||||||
add eax,ecx
|
|
||||||
mov [edi],eax
|
|
||||||
|
|
||||||
pop ecx
|
|
||||||
pop eax
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
Convertir_adresse_MR_MP endp
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Get_VESA_info proc near
|
|
||||||
|
|
||||||
push ebp
|
|
||||||
mov ebp,esp
|
|
||||||
|
|
||||||
arg Buffer:dword
|
|
||||||
|
|
||||||
push ebx
|
|
||||||
push esi
|
|
||||||
push edi
|
|
||||||
|
|
||||||
|
|
||||||
; On commence par allouer un buffer en mode r‚el de 1024+64 octets
|
|
||||||
mov ax,0100h ; "DPMI : Allocate Dos memory blocks"
|
|
||||||
mov bx,68d ; BX = (1024+64)/16 = 68 paragraphes
|
|
||||||
int 31h
|
|
||||||
jc GVI_Erreur
|
|
||||||
|
|
||||||
; On sauve l'handle du buffer dans la pile
|
|
||||||
push dx
|
|
||||||
|
|
||||||
; On place dans EDX l'adresse du buffer
|
|
||||||
xor edx,edx
|
|
||||||
mov dx,ax
|
|
||||||
shl edx,4
|
|
||||||
|
|
||||||
; On nettoie ce(s) buffer(s)
|
|
||||||
mov edi,edx ; On place en EDX
|
|
||||||
xor eax,eax ; ... la valeur 0
|
|
||||||
mov ecx,0110h ; ... sur 1024+64 positions
|
|
||||||
rep stosd ; !!! Maintenant !!!
|
|
||||||
|
|
||||||
; On demande les infos VESA: (AX=4F00, ES:DI=Adresse du buffer)
|
|
||||||
mov edi,edx ; Adresse des valeurs des registres … passer … l'interruption
|
|
||||||
add edx,40h ; EDX=segment du buffer d'infos VESA
|
|
||||||
shr edx,4
|
|
||||||
mov dword ptr[edi+1Ch],00004F00h ; EAX pass‚ … l'interruption
|
|
||||||
mov dword ptr[edi+00h],00000000h ; EDI pass‚ … l'interruption
|
|
||||||
mov word ptr[edi+22h],dx ; ES pass‚ … l'interruption
|
|
||||||
shl edx,4
|
|
||||||
mov dword ptr[edx],32454256h ; valeur hexa de "VBE2"
|
|
||||||
mov ax,0300h ; Service DPMI simuler une interruption en mode r‚el
|
|
||||||
mov bl,10h ; Interruption … appeler (int vid‚o)
|
|
||||||
xor bh,bh ; Flags de mode d'appel d'interruption
|
|
||||||
xor cx,cx ; Nb d'elements de la pile … passer
|
|
||||||
int 31h ; Appel de l'interruption du DPMI
|
|
||||||
|
|
||||||
; On place dans EBX la valeur EAX de retour de l'interruption
|
|
||||||
mov ebx,dword ptr[edi+1Ch]
|
|
||||||
|
|
||||||
; On recopie le buffer du mode r‚el vers le mode prot‚g‚
|
|
||||||
mov ecx,256 ; (256 dword = 1024 octets)
|
|
||||||
mov esi,edx
|
|
||||||
mov edi,Buffer
|
|
||||||
rep movsd
|
|
||||||
|
|
||||||
; Puis on corrige chacune des adresses:
|
|
||||||
mov edi,Buffer
|
|
||||||
add edi,06h
|
|
||||||
call Convertir_adresse_MR_MP ; Fabricant
|
|
||||||
add edi,08h
|
|
||||||
call Convertir_adresse_MR_MP ; Liste des modes
|
|
||||||
add edi,08h
|
|
||||||
call Convertir_adresse_MR_MP ; Vendeur
|
|
||||||
add edi,04h
|
|
||||||
call Convertir_adresse_MR_MP ; Produit
|
|
||||||
add edi,04h
|
|
||||||
call Convertir_adresse_MR_MP ; R‚vision
|
|
||||||
|
|
||||||
; On libŠre le buffer en mode r‚el de 1024+64 octets
|
|
||||||
mov ax,0101h ; "DPMI : Free Dos memory blocks"
|
|
||||||
pop dx ; DX = handle du buffer
|
|
||||||
int 31h
|
|
||||||
jnc GVI_Pas_d_erreur
|
|
||||||
|
|
||||||
|
|
||||||
GVI_Erreur:
|
|
||||||
|
|
||||||
mov bx,0FF00h
|
|
||||||
|
|
||||||
GVI_Pas_d_erreur:
|
|
||||||
|
|
||||||
mov ax,bx
|
|
||||||
|
|
||||||
|
|
||||||
pop edi
|
|
||||||
pop esi
|
|
||||||
pop ebx
|
|
||||||
|
|
||||||
mov esp,ebp
|
|
||||||
pop ebp
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
Get_VESA_info endp
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Get_VESA_mode_info proc near
|
|
||||||
|
|
||||||
push ebp
|
|
||||||
mov ebp,esp
|
|
||||||
|
|
||||||
arg Mode:word,Buffer:dword
|
|
||||||
|
|
||||||
push ebx
|
|
||||||
push esi
|
|
||||||
push edi
|
|
||||||
|
|
||||||
|
|
||||||
; On commence par allouer un buffer en mode r‚el de 256+64 octets
|
|
||||||
mov ax,0100h ; "DPMI : Allocate Dos memory blocks"
|
|
||||||
mov bx,20d ; BX = (256+64)/16 = 20 paragraphes
|
|
||||||
int 31h
|
|
||||||
jc GVMI_Erreur
|
|
||||||
|
|
||||||
; On sauve l'handle du buffer dans la pile
|
|
||||||
push dx
|
|
||||||
|
|
||||||
; On place dans EDX l'adresse du buffer
|
|
||||||
xor edx,edx
|
|
||||||
mov dx,ax
|
|
||||||
shl edx,4
|
|
||||||
|
|
||||||
; On nettoie ce(s) buffer(s)
|
|
||||||
mov edi,edx ; On place en EDX
|
|
||||||
xor eax,eax ; ... la valeur 0
|
|
||||||
mov ecx,0080d ; ... sur 256+64 positions
|
|
||||||
rep stosd ; !!! Maintenant !!!
|
|
||||||
|
|
||||||
; On demande les infos VESA: (AX=4F01, CX=Mode, ES:DI=Adresse du buffer)
|
|
||||||
mov edi,edx ; Adresse des valeurs des registres … passer … l'interruption
|
|
||||||
add edx,40h ; EDX=segment du buffer d'infos VESA
|
|
||||||
shr edx,4
|
|
||||||
mov ax,Mode ; ECX=Mode vid‚o dont ont recherche les informations
|
|
||||||
mov dword ptr[edi+1Ch],00004F01h ; EAX pass‚ … l'interruption
|
|
||||||
mov word ptr[edi+18h],ax ; ECX pass‚ … l'interruption
|
|
||||||
mov dword ptr[edi+00h],00000000h ; EDI pass‚ … l'interruption
|
|
||||||
mov word ptr[edi+22h],dx ; ES pass‚ … l'interruption
|
|
||||||
shl edx,4
|
|
||||||
mov ax,0300h ; Service DPMI simuler une interruption en mode r‚el
|
|
||||||
mov bl,10h ; Interruption … appeler (int vid‚o)
|
|
||||||
xor bh,bh ; Flags de mode d'appel d'interruption
|
|
||||||
xor cx,cx ; Nb d'elements de la pile … passer
|
|
||||||
int 31h ; Appel de l'interruption du DPMI
|
|
||||||
|
|
||||||
; On place dans EBX la valeur EAX de retour de l'interruption
|
|
||||||
mov ebx,dword ptr[edi+1Ch]
|
|
||||||
|
|
||||||
; On recopie le buffer du mode r‚el vers le mode prot‚g‚
|
|
||||||
mov ecx,64 ; (64 dword = 256 octets)
|
|
||||||
mov esi,edx
|
|
||||||
mov edi,Buffer
|
|
||||||
rep movsd
|
|
||||||
|
|
||||||
; Puis on corrige chacune des adresses:
|
|
||||||
mov edi,Buffer
|
|
||||||
add edi,0Ch
|
|
||||||
call Convertir_adresse_MR_MP ; Adresse WinFuncPtr (Mode r‚el)
|
|
||||||
|
|
||||||
; On libŠre le buffer en mode r‚el de 256+64 octets
|
|
||||||
mov ax,0101h ; "DPMI : Free Dos memory blocks"
|
|
||||||
pop dx ; DX = handle du buffer
|
|
||||||
int 31h
|
|
||||||
jnc GVMI_Pas_d_erreur
|
|
||||||
|
|
||||||
|
|
||||||
GVMI_Erreur:
|
|
||||||
|
|
||||||
mov bx,0FF00h
|
|
||||||
|
|
||||||
GVMI_Pas_d_erreur:
|
|
||||||
|
|
||||||
mov ax,bx
|
|
||||||
|
|
||||||
|
|
||||||
pop edi
|
|
||||||
pop esi
|
|
||||||
pop ebx
|
|
||||||
|
|
||||||
mov esp,ebp
|
|
||||||
pop ebp
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
Get_VESA_mode_info endp
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_TEXT ENDS
|
|
||||||
END
|
|
||||||
100
testvesa/vesa.h
100
testvesa/vesa.h
@ -1,100 +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 _VESA_H_
|
|
||||||
#define _VESA_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];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
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);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
||||||
Binary file not shown.
@ -1,4 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
rm grafx2-beta-svn*.zip
|
|
||||||
wine ide grafx2.wpj
|
|
||||||
zip -j grafx2-beta-svn`svnversion`.zip grafx2.exe ../gfx2.dat ../gfx2.cfg ../gfx2.ini ~/.wine/drive_c/WATCOM/binnt/mt7r17.dll ~/.wine/drive_c/WATCOM/binnt/clbr17.dll ~/.wine/drive_c/windows/system32/SDL.dll
|
|
||||||
Loading…
x
Reference in New Issue
Block a user