First commit 09/12/1994

This commit is contained in:
2021-09-03 17:43:05 +02:00
commit 89a9bade50
18 changed files with 6079 additions and 0 deletions

196
CINFO.CPP Normal file
View File

@ -0,0 +1,196 @@
///////////////////////////////////////////////////////////////////////////
///// Nombre: CInfo.CPP ///
///// Modulo: Perteneciente a Catalogo.C ///
//// Descripci<63>n: Muestra informaci<63>n del sistema.. (CPU, VIDEO...) ///
//// ///
//// Autor: Jos<6F> David Guill<6C>n Dominguez ///
//// Fecha: 26 - 07 - 1994 ///
//// ///
//// Compilador Borland C++ 3.0 ///
///////////////////////////////////////////////////////////////////////////
#include <dos.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
void DatosRaton(void);
void printxy(int x, int y, int m, char *texto);
extern int raton; /* Indica si esta instalado el raton (def. NO) */
extern int x_raton; // En el M<>dulo: Craton.CPP
extern int y_raton; // En el M<>dulo: Craton.CPP
extern int boton_izq; // En el M<>dulo: Craton.CPP
extern int boton_der; // En el M<>dulo: Craton.CPP
extern int dir_raton [32+32]; // En el M<>dulo: Craton.CPP
extern int access; /* Indica si se tiene acceso al menu ppal. (def. NO) */
extern void BorraViewPort(int view);
extern void printxy(int x, int y, int m, char *texto);
extern void desactiva_raton(void); // En el M<>dulo: Craton.CPP
extern void activa_raton(void); // En el M<>dulo: Craton.CPP
extern void inicializa_raton_grafico(int x1, // En el M<>dulo: Craton.CPP
int y1, int x2, int y2, int px, int py);
extern int sb2;
void Info(char *nombrecargado)
{
union REGS ent, sal;
int salir;
BorraViewPort( 3);
setcolor(63);
printxy(28, 19, 0, "Programa y versi<73>n: CATALOGO v4.0, J<>D Anyware");
setcolor( 8);
printxy(29, 39, 1, "P. EXE: ");
printxy(29, 40, 1, "Versi<EFBFBD>n registrada a:");
printxy(29, 42, 1, "Ejecuci<EFBFBD>n de INFO: Interna");
printxy(29, 44, 1, "DOS, enviroment:");
printxy(29, 45, 1, "DOS, memoria:");
printxy(29, 46, 1, "Hardware detectado: CPU: FPU:");
printxy(29, 47, 1, "Raton: ");
printxy(29, 49, 1, "Gr<EFBFBD>ficos: 640x480 VGA, 16 colores");
printxy(29, 50, 1, "Driver Gr<47>fico: VGA Device Driver (EGAVGA)");
printxy(29, 51, 1, "Chips Gr<47>fico:");
printxy(29, 53, 1, "Salida de sonido digital:");
printxy(29, 55, 1, "Nivel de acceso:");
setcolor( 7);
printxy(37, 39, 1, nombrecargado); // Lugar desde donde fue ejecutado
// el programa.
printxy(51, 40, 1, "Versi<EFBFBD>n PreView"); // Nombre del usuario registrado
// Enviroment del DOS
{
auto int ver;
auto int mayor, menor;
auto char buffer[5];
ver = bdos(0x30, 0, 0);
mayor = ver & 0xFF;
menor = ver >> 8;
sprintf(buffer, "%d.%d", mayor, menor );
printxy(46, 44, 1, buffer);
}
printxy(49, 45, 1, " "); // Memoria reportada por el DOS
/////////////////////////// Hardware detecci<63>n ////////////////////////////
printxy(54, 46, 1, " "); // C.P.U.
printxy(71, 46, 1, " "); // F.P.U.
if (raton) DatosRaton(); // Raton
else printxy(36, 47, 1, "Raton no instalado");
if(access) printxy(49, 55, 1, "COMPLETO"); // Nivel de acceso COMPLETO
else printxy(49, 55, 1, "BAJO"); // Nivel de acceso BAJO
if(sb2) printxy(55, 53, 1, "Sound Blaster DETECT");
else printxy(55, 53, 1, "usando Speaker");
salir = 0;
if(raton!=0) {
inicializa_raton_grafico(325, 33, 584, 189, 454, 111);
activa_raton();
}
do {
if (kbhit()) {
getch();
salir = 1;
}
if( raton!=0 && !salir ) {
ent.x.ax = 3;
int86(0x33, &ent, &sal); /* lee posici<63>n y estados del bot<6F>n */
boton_izq = sal.x.bx & 1;
boton_der = (sal.x.bx >> 1) & 1;
if (boton_izq || boton_der) salir = 1;
}
}while (!salir);
desactiva_raton();
BorraViewPort( 3);
if(raton!=0) {
inicializa_raton_grafico(0, 0, 624, 464, 320, 240);
activa_raton();
}
}
void DatosRaton(void)
{
struct SREGS segmento;
union REGS registro;
static char *tipo[]={"Bus","Serie","InPort","PS/2","HP"};
struct {
int status;
int botones;
short verhi,verlo;
short tipo,irq;
} minfo;
registro.x.ax=0;
int86(0x33,&registro,&registro);
minfo.status=registro.x.ax;
minfo.botones=registro.x.bx;
registro.x.ax=0x24;
int86(0x33,&registro,&registro);
minfo.verhi=registro.h.bh; minfo.verlo=registro.h.bl;
minfo.tipo=registro.h.ch-1;
minfo.irq=registro.h.cl;
/////////////////////////////////////////////////////////////////
//////////////////// Muestra datos obtenidos //////////////////
/////////////////////////////////////////////////////////////////
char *string = "buffer de linea";
printxy(36, 47, 1, tipo[minfo.tipo]);
itoa(minfo.verhi, string, 10);
printxy(43, 47, 1, string);
printxy(45, 47, 1, ".");
itoa(minfo.verlo, string, 10);
printxy(46, 47, 1, string);
printxy(48, 47, 1, ", IRQ ");
itoa(minfo.irq, string, 10);
printxy(54, 47, 1, string);
printxy(56, 47, 1, ",");
itoa(minfo.botones, string, 10);
printxy(58, 47, 1, string);
printxy(60, 47, 1, "Botones");
}
void printxy(int x, int y, int m, char *texto)
{
if (m==1) outtextxy( x*8 -7, y*8 - 7, texto); else outtextxy( x*8 - 7, y*16 - 16, texto);
}