First commit 11/11/1991

This commit is contained in:
José David Guillén 2021-09-08 21:04:26 +02:00
commit 255bc1b372
17 changed files with 3520 additions and 0 deletions

BIN
EGAVGA.BGI Normal file

Binary file not shown.

2118
EPROM-II.CPP Normal file

File diff suppressed because it is too large Load Diff

BIN
EPROM-II.DSK Normal file

Binary file not shown.

BIN
EPROM-II.EXE Normal file

Binary file not shown.

86
EPROM-II.H Normal file
View File

@ -0,0 +1,86 @@
//ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ MACROS ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
#define Texto_Normal setcolor(63);
#define Operacion_Fallida -1;
//ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Estructuras ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
struct JD {
char esc; char color[8];char prog[50];char nl;char rt;char pt;char ef;
char Comentario[4][31]; // 30 * 4 --> Estandar <--
};
struct Eprom_Structura {
char TP; char FI; char NP;
char DM; char BD; long ID;
char ID_TEXT[15];
};
struct Eprom_inx { long Fin; };
struct Eprom_s { unsigned long Direccion; unsigned int Dato; };
struct JD cabecera;
struct JD cabecera2;
struct Eprom_s Eprom1;
struct Eprom_inx Eprom1_inx;
struct Eprom_Structura far *S_Eprom;
struct boton { int left; int up; int right; int down; } PC[4];
//ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ Prototipos ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
void EditCursorEprom_CE(int SH, int CurrRowCE, int CurrTopLineCE);
void Carga_Cien_Elementos(struct Eprom_s *Datos);
void Poner_a_cero_estructura_actual_Eprom(void);
void Imprimir_Eprom(int desde, int hasta);
void Lee_Archivos_Presentes(int add_new);
void PrintEprom_CE_WholeScreen(int tmp);
void PrintWholeScreenCabecera(void);
void EditCursorEprom(int ShowHide);
void Fuente( int Font, int size);
void PrintWholeScreenEprom(void);
void PrintWholeScreenFile(void);
void CompruebaLineasEprom(void);
void Imprime_Eprom_Actual(void);
void Mueve_Arriba_Eprom(void);
void Mueve_Abajo_Eprom(void);
void DeleteRecordEprom(void);
void Salvar_Cargar(int S_C);
void EditCursorFile(int SH);
void Salvar_Cargar(int S_C);
void Edit_Item_Eprom(void);
void Menu_de_Edicion(void);
void PrintLineEprom(void);
void AddRecordEprom(void);
void Edit_Item_File(void);
void PutLineEprom(void);
void GetLineEprom(void);
void InicializaPc(void);
void Escoge_Eprom(void);
void BEEP(void);
int Leer_en_Eprom(void);
int Abre_Ficha_Eprom(void);
int Comprueba_Impresora(void);
int Lee_Eproms(FILE *fichero);
int LeeCabecera(char *fichero);
int fcopy(char *origen, char *destino);
int InputCadenaG_l(char *s, int numalp, int lmax, int cc, int cf, struct boton Campo, int RoW);
//ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ V. Globales ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
int CurrRowFile, CurrColFile, CurrTopFile,
CurrRowCom, N_Files;
int N_Eprom = 0; int CurrEprom = 0;
int CurrRowEprom1 = 1, CurrColEprom1 = 1, CurrTopLineEprom = 1;
int key, Modifica_Direccion = 0;
long longitud = 0;
char ArchivoDatos[]="Eprom_JD.TMP", Archivo[13];;
char *Archivo_list;
FILE *Eprom, *EpromC;

BIN
EPROM-II.PRJ Normal file

Binary file not shown.

73
EPROM.DAT Normal file
View File

@ -0,0 +1,73 @@
* ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
* Û Û
* Û Este es el fichero de Datos, para las EPROM. Û
* Û Û
* Û Û
* Û þ Con una sencilla sintaxis, se pueden a¤ dir nuevos tipos de Eprom Û
* Û Û
* Û sin que ello afecte a la programaci¢n global. Û
* Û Û
* Û þ Nuevas tecnicas de auto-reconfiguraci¢n para el programa. Û
* Û þ C¢digo de reconfiguraci¢n totalmente fiable Û
* Û þ Mejor sintaxis, para un uso mas sencillo Û
* Û Û
* ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
* ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
* Û Û
* Û Cada vez que se a¤ada una nueva Eprom solo hay que incremetar en uno Û
* Û la variable N Û
* Û Û
* Û N --> N§ de Eprom's que se pueden programar Û
* Û Û
* ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
* ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
* Û Û
* Û Sintaxis operativa: Û
* Û Û
* Û % [TP], [FI], [NP], [DM], [BD], [ID], [ID_TEXT]. Û
* Û Û
* Û TP -------> Tensi¢n de programaci¢n Û
* Û FI -------> Frecuencia de impulso (en micro-segundos). Û
* Û NP -------> N§ de patillas Û
* Û DM -------> Direcci¢n mas alta ( en Bit's ) Û
* Û BD -------> N§ de Bit's del dato Û
* Û ID -------> C¢digo n£merico identificativo de la Eprom Û
* Û ID_TEXT --> Texto indicativo del tipo de Eprom (12 dig + '.') Û
* Û Û
* ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
N24
% 50, 50, 72, 8, 8, 50312345, Jos David .
% 50, 50, 72, 16, 16, 23425000, 123PC18 DX/2.
% 50, 50, 72, 11, 8, 50312340, JD FUTURE 01.
% 50, 50, 72, 16, 8, 50312345, MICRO CHIPPP.
% 50, 50, 72, 16, 16, 50312345, Eprom 'HOLA'.
% 50, 50, 72, 16, 16, 50312345, JD ùF.Vù .
% 50, 50, 72, 16, 16, 50312345, Sol Negro .
% 50, 50, 72, 16, 8, 50312345, CAPTAIN ZAP .
% 50, 50, 72, 16, 8, 50312345, Eprom 8 .
% 50, 50, 72, 16, 8, 50312345, Eprom 9 .
% 50, 50, 72, 16, 8, 50312345, Eprom 10 .
% 50, 50, 72, 16, 8, 50312345, Eprom 11 .
% 50, 50, 72, 16, 8, 50312345, Eprom 12 .
% 50, 50, 72, 16, 8, 50312345, Eprom 13 .
% 50, 50, 72, 16, 8, 50312345, Eprom 14 .
% 50, 50, 72, 16, 8, 50312345, Eprom 15 .
% 50, 50, 72, 16, 8, 50312345, Eprom 16 .
% 50, 50, 72, 16, 8, 50312345, Eprom 17 .
% 50, 50, 72, 16, 8, 50312345, Eprom 18 .
% 50, 50, 72, 16, 8, 50312345, Eprom 19 .
% 50, 50, 72, 16, 8, 50312345, Eprom 20 .
% 50, 50, 72, 16, 8, 50312345, Eprom 21 .
% 50, 50, 72, 16, 8, 50312345, Eprom 22 .
% 50, 50, 72, 16, 8, 50312345, Eprom 23 .

183
EPROM.JDF Normal file
View File

@ -0,0 +1,183 @@
*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
*Û Û
*Û Este es el interfaz de rutinas Gr ficas del programador de Eprom's Û
*Û Û
*Û lenguaje de interfaz gr ficos ( JDf ) creado por JD ùFuTuRe ViSiOnù Û
*Û Û
*Û Por Favor, no modifique el c¢digo original. Û
*Û Û
*ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
*Û Û
*Û Rutinas creadas y totalmente escritas en C estandar. Û
*Û Û
*Û Libreria BETA ya disponible, Grandes rendimientos GRAFICOS a muy bajo Û
*Û Û
*Û coste de produccion. ( Precio de la libreria: 1_FUENTE EN C, CPP, ASM ) Û
*Û Û
*ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
­1
************ Toda la Pantalla **********
& 0, 0, 640, 480, 57, 56, 63, 2, 2
************ Barra de Ayuda **********
& 450, 5, 635, 475, 7, 63, 56, 2, 2
­2
************ Azul Tapa **********
& 10, 301, 309, 445, 57, 57, 57, 2, 2
************ Direccion **********
& 10, 5, 300, 445, 7, 63, 56, 1, 2
& 15, 10, 122, 40, 0, 56, 63, 1, 2
& 15, 132, 295, 40, 0, 56, 63, 2, 2
& 50, 10, 122, 440, 0, 56, 63, 2, 2
& 50, 132, 295, 440, 0, 56, 63, 2, 2
************ Dato **********
& 10, 310, 540, 445, 7, 63, 56, 1, 2
& 15, 315, 398, 40, 0, 56, 63, 2, 2
& 15, 408, 535, 40, 0, 56, 63, 2, 2
& 50, 315, 398, 440, 0, 56, 63, 2, 2
& 50, 408, 535, 440, 0, 56, 63, 2, 2
************ Letras **********
| 10, 17, 2, 6, 0, 63, Hex.,
| 132, 17, 2, 6, 0, 63, Dec.,
| 315, 17, 2, 6, 0, 63, Hex.,
| 440, 17, 2, 6, 0, 63, Dec.,
| 545, 15, 2, 6, 0, 63, Eprom,
| 545, 22, 2, 6, 0, 1, Ä,
| 546, 16, 2, 6, 0, 0, Eprom,
| 546, 23, 2, 6, 0, 63, Ä,
& 40, 550, 630, 55, 0, 63, 56, 1, 1
| 549, 75, 2, 5, 0, 63, Direcci¢n,
| 549, 82, 2, 5, 0, 1, Ä,
| 550, 76, 2, 5, 0, 0, Direcci¢n,
| 550, 83, 2, 5, 0, 63, Ä,
& 100, 615, 630, 115, 0, 63, 56, 1, 1
| 545, 195, 2, 6, 0, 63, Cargar,
| 545, 202, 2, 6, 0, 1, Ä,
| 546, 196, 2, 6, 0, 0, Cargar,
| 546, 203, 2, 6, 0, 63, Ä,
| 545, 237, 2, 6, 0, 63, Grabar,
| 545, 244, 2, 6, 0, 1, Ä,
| 546, 238, 2, 6, 0, 0, Grabar,
| 546, 245, 2, 6, 0, 63, Ä,
| 545, 286, 2, 5, 0, 63, Leer Eprom,
| 545, 293, 2, 5, 0, 1, Ä,
| 546, 287, 2, 5, 0, 0, Leer Eprom,
| 546, 294, 2, 5, 0, 63, Ä,
| 545, 335, 2, 5, 0, 63, Enviar,
| 545, 350, 2, 5, 0, 63, Datos a,
| 544, 356, 2, 5, 0, 1, Ä,
| 545, 365, 2, 5, 0, 63, Eprom,
| 546, 336, 2, 5, 0, 0, Enviar,
| 546, 351, 2, 5, 0, 0, Datos a,
| 545, 357, 2, 5, 0, 63, Ä,
| 546, 366, 2, 5, 0, 0, Eprom,
| 545, 400, 2, 6, 0, 63, Salir,
| 545, 407, 2, 6, 0, 1, Ä,
| 546, 401, 2, 6, 0, 0, Salir,
| 546, 408, 2, 6, 0, 63, Ä,
| 545, 140, 2, 6, 0, 63, Imprimir,
| 545, 147, 2, 6, 0, 1, Ä,
| 546, 141, 2, 6, 0, 0, Imprimir,
| 546, 148, 2, 6, 0, 63, Ä,
­3
& 150, 170, 470, 330, 7, 63, 56, 2, 2
& 155, 245, 290, 170, 0, 56, 63, 1, 2
& 175, 175, 465, 190, 0, 56, 63, 2, 2
& 195, 175, 465, 325, 0, 56, 63, 2, 2
| 175, 152, 2, 6, 0, 63, Eprom de [ ],
| 176, 153, 2, 6, 0, 0, Eprom de [ ],
| 175, 176, 2, 4, 0, 63, TP FI NP DM BD Numero ID Tipo de Eprom,
­4
& 150, 170, 470, 330, 7, 63, 56, 2, 2
& 155, 270, 465, 170, 0, 56, 63, 1, 2
& 175, 175, 265, 325, 0, 56, 63, 2, 2
****** Comentario 4 * 30digitos
& 200, 270, 465, 250, 0, 56, 63, 2, 2
& 295, 270, 365, 325, 7, 63, 56, 2, 2
& 295, 370, 465, 325, 7, 63, 56, 2, 2
**** Versi¢n ShareWare
| 260, 250, 2, 6, 0, 1, Versi¢n ShareWare,
| 260, 265, 2, 4, 0, 2, V. Completa: Software 5.000 ptas.
| 260, 275, 2, 4, 0, 2, Placa 15.000 ptas.
| 175, 152, 2, 6, 0, 63, Archivo: ,
| 176, 153, 2, 6, 0, 0, Archivo: ,
| 275, 300, 2, 6, 0, 63, Aceptar ,
| 276, 301, 2, 6, 0, 0, Aceptar ,
| 275, 302, 2, 6, 0, 63, _,
| 276, 303, 2, 6, 0, 0, _,
| 370, 300, 2, 6, 0, 63, Cancelar ,
| 371, 301, 2, 6, 0, 0, Cancelar ,
| 370, 302, 2, 6, 0, 63, _,
| 371, 303, 2, 6, 0, 0, _,
| 270, 180, 2, 6, 0, 63, Comentario: ,
| 271, 181, 2, 6, 0, 0, Comentario: ,
*| 175, 176, 2, 4, 0, 63, TP FI NP DM BD Numero ID Tipo de Eprom,
#2
!1,8
$ 10, 545, 635, 60, 7, 56, 63, 2, 1, 00, 18
$ 70, 545, 635, 120, 7, 56, 63, 2, 1, 00, 32
******** Modificar c¢digo de chequeo ******************
$ 130, 545, 635, 180, 7, 56, 63, 2, 1, 00, 23
$ 190, 545, 635, 222, 7, 56, 63, 2, 1, 00, 46
$ 232, 545, 635, 265, 7, 56, 63, 2, 1, 00, 34
$ 275, 545, 635, 325, 7, 56, 63, 2, 1, 00, 38
$ 335, 545, 635, 385, 7, 56, 63, 2, 1, 00, 30
$ 395, 545, 635, 445, 7, 56, 63, 2, 1, 00, 31
!2,2
$ 295, 270, 365, 325, 7, 63, 56, 2, 2, 00, 30
$ 295, 370, 465, 325, 7, 63, 56, 2, 2, 00, 46

BIN
EPROM_JD Normal file

Binary file not shown.

BIN
EPROM_JD.TMP Normal file

Binary file not shown.

447
EP_2.CPP Normal file
View File

@ -0,0 +1,447 @@
#include<bios.h>
#include<dos.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
#define DIBUJA 1
#define DEPRIME 2
#define Dibuja_Todos 3
#define COMPRUEBA 4
#define STD_BY 5
void Edit_Item(void);
void espera_soltar(void);
void espera_pulsar(void);
void activa_raton(void);
void desactiva_raton(void);
void inicializa_raton_texto(void);
void Pantalla_Leer(void);
void Pantalla_Escribir(void);
void dibuja_pantalla(void);
struct Boton_Texto{
char x; char y;
char Texto[80];
int ID_T1;
int ID_T2;
};
int Funcion_Botones(int Funcion, int nBotones, struct Boton_Texto *Boton_Texto);
struct byte_de_long { unsigned char P3; unsigned char P2;
unsigned char P1; unsigned char P0;
};
union lngchr{ long Numero; struct byte_de_long Byte; } Division;
//////////////////////////////
// long --> FF FF FF FF --> 3 34 65 59
// P0 P1 P2 P3 Dec.89 101 52 3
////////////////////////////// Hex.59 65 34 3
int boton_izq; int boton_der;
int x_raton, y_raton, RATON = 1;
int SWAP = 0;
int Dir, Dato;
void main(void){
struct Boton_Texto BT[6];
int devolver = 0, i;
BT[0].x = 58; BT[0].y = 3; strcpy( BT[0].Texto, " P. &Leer "); BT[0].ID_T1 = 76; BT[0].ID_T2 = 0;
BT[1].x = 58; BT[1].y = 6; strcpy( BT[1].Texto, " Iniciar Lec&tura "); BT[1].ID_T1 = 84; BT[1].ID_T2 = 0;
BT[2].x = 58; BT[2].y = 9; strcpy( BT[2].Texto, " P. &Escribir "); BT[2].ID_T1 = 69; BT[2].ID_T2 = 0;
BT[3].x = 58; BT[3].y =12; strcpy( BT[3].Texto, " Iniciar E&scritura "); BT[3].ID_T1 = 83; BT[3].ID_T2 = 0;
BT[4].x = 58; BT[4].y =15; strcpy( BT[4].Texto, " &C R E D I T O S "); BT[4].ID_T1 = 67; BT[4].ID_T2 = 0;
BT[5].x = 58; BT[5].y =18; strcpy( BT[5].Texto, " S&ALIR de PDE ... "); BT[5].ID_T1 = 65; BT[5].ID_T2 = 0;
inicializa_raton_texto();
if( RATON ) desactiva_raton();
dibuja_pantalla();
_setcursortype(_NOCURSOR);
Pantalla_Leer();
// while( !kbhit() );
// Pantalla_Escribir();
while(devolver != 6) {
devolver = Funcion_Botones(STD_BY, 6, BT);
switch(devolver){
case 1: Pantalla_Leer(); SWAP = 0; break;
case 2:
Pantalla_Leer(); SWAP = 0;
_setcursortype(_NORMALCURSOR);
Edit_Item();
_setcursortype(_NOCURSOR);
break;
case 3: Pantalla_Escribir(); SWAP = 1; break;
case 4:
Pantalla_Escribir(); SWAP = 1;
_setcursortype(_NORMALCURSOR);
Edit_Item();
_setcursortype(_NOCURSOR);
break;
case 6: break;
default:
while( kbhit() ) getch();
break;
}
}
textbackground(BLACK);
_setcursortype(_NORMALCURSOR);
clrscr();
}
void dibuja_pantalla(void){
int i;
clrscr();
highvideo();
window(1, 1, 80, 25);
textcolor(9);
textbackground(7);
for(i=0; i<27; i++) // "-.-.-.-.-.-.-.-.-.-.-.-."
cprintf("±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ");
textcolor(BLACK);
gotoxy(1,25);
cprintf("Utilidad para "); textcolor(RED);
cprintf("PDE _ EPROM2.EXE"); textcolor(BLACK);
gotoxy( (80-22), 25); cprintf("Jos David & Francisco");
}
void Pantalla_Leer(void){
highvideo();
textcolor(BLACK);
textbackground(7);
gotoxy(3,3); cprintf("Û");
gotoxy(17,3); cprintf("Û");
gotoxy(3,4); cprintf("Û Leer ");
textcolor(WHITE); cprintf("Û"); textcolor(BLACK);
gotoxy(17,4); cprintf("Û Escribir ");
textcolor(WHITE); cprintf("Û"); textcolor(BLACK);
gotoxy(3,5); cprintf("Û ÀÄ ÁÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(3,6); cprintf("Û ³");
gotoxy(3,7); cprintf("Û Direcci¢n: ³");
gotoxy(3,8); cprintf("Û ³");
gotoxy(3,9); cprintf("Û ³");
gotoxy(3,10); cprintf("Û ³");
gotoxy(3,11); cprintf("Û ³");
textcolor(RED);
gotoxy(5,11); cprintf("Dato Leido:");
textcolor(BLACK);
gotoxy(3,12); cprintf("Û ³");
gotoxy(3,13); cprintf("ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ");
textcolor(WHITE);
gotoxy(4,3); cprintf("ßßßßßßßßßßÛ");
gotoxy(18,3); cprintf("ßßßßßßßßßßÛ");
gotoxy(14,5); cprintf("ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÛ");
gotoxy(46,6); cprintf("Û");
gotoxy(46,7); cprintf("Û");
gotoxy(46,8); cprintf("Û");
gotoxy(46,9); cprintf("Û");
gotoxy(46,10); cprintf("Û");
gotoxy(46,11); cprintf("Û");
gotoxy(46,12); cprintf("Û");
gotoxy(46,13); cprintf("Û");
}
void Pantalla_Escribir(void){
highvideo();
textcolor(BLACK);
textbackground(7);
gotoxy(3,3); cprintf("Û");
gotoxy(17,3); cprintf("Û");
gotoxy(3,4); cprintf("Û Leer ");
textcolor(WHITE); cprintf("Û"); textcolor(BLACK);
gotoxy(17,4); cprintf("Û Escribir ");
textcolor(WHITE); cprintf("Û"); textcolor(BLACK);
gotoxy(3,5); cprintf("Û ÀÄ ÁÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
gotoxy(3,6); cprintf("Û ³");
gotoxy(3,7); cprintf("Û Direcci¢n: ³");
gotoxy(3,8); cprintf("Û ³");
gotoxy(3,9); cprintf("Û Dato: ³");
gotoxy(3,10); cprintf("Û ³");
gotoxy(3,11); cprintf("Û ³");
textcolor(RED);
gotoxy(5,11); cprintf("Dato escrito:");
textcolor(BLACK);
gotoxy(3,12); cprintf("Û ³");
gotoxy(3,13); cprintf("ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ");
textcolor(WHITE);
gotoxy(4,3); cprintf("ßßßßßßßßßßÛ");
gotoxy(18,3); cprintf("ßßßßßßßßßßÛ");
gotoxy(4,5); cprintf("ßßßßßßßßßßßßßß ßßßßßßßßßßßßßßßßßßÛ");
gotoxy(46,6); cprintf("Û");
gotoxy(46,7); cprintf("Û");
gotoxy(46,8); cprintf("Û");
gotoxy(46,9); cprintf("Û");
gotoxy(46,10); cprintf("Û");
gotoxy(46,11); cprintf("Û");
gotoxy(46,12); cprintf("Û");
gotoxy(46,13); cprintf("Û");
}
int Funcion_Botones(int Funcion, int nBotones, struct Boton_Texto *Boton_Texto){
char i, DEVOLVER = -1;
int longitud, key;
switch( Funcion ) {
case DIBUJA:
highvideo();
textcolor(BLACK);
textbackground(11);
gotoxy(Boton_Texto[nBotones].x, Boton_Texto[nBotones].y);
DEVOLVER = 0;
longitud = strlen( Boton_Texto[nBotones].Texto );
while( DEVOLVER <= longitud ) {
if( Boton_Texto[nBotones].Texto[DEVOLVER] == '&' ) {
DEVOLVER ++;
textcolor(RED);
cprintf("%c", Boton_Texto[nBotones].Texto[DEVOLVER]);
textcolor(BLACK);
} else cprintf("%c", Boton_Texto[nBotones].Texto[DEVOLVER]);
DEVOLVER ++;
}
// cprintf("%s", Texto);
textbackground(7); // ±SALIR±Ü
cprintf("Ü"); // ßßßßßßß
gotoxy(Boton_Texto[nBotones].x+1, Boton_Texto[nBotones].y+1);
for(i = 0; i < longitud; i ++ ) // ±±±±±±±Ü
cprintf("ß"); // ßßßßßßß
break;
case DEPRIME:
highvideo();
textcolor(BLACK);
textbackground(11);
gotoxy(Boton_Texto[nBotones].x, Boton_Texto[nBotones].y);
DEVOLVER = 0;
longitud = strlen( Boton_Texto[nBotones].Texto );
textbackground(7);
while( DEVOLVER <= (longitud+1) ) {
if( Boton_Texto[nBotones].Texto[DEVOLVER] == '&' ) {
DEVOLVER ++;
}
cprintf(" ");
DEVOLVER ++;
}
textbackground(11);
gotoxy(Boton_Texto[nBotones].x+1, Boton_Texto[nBotones].y+1);
DEVOLVER = 0;
while( DEVOLVER <= longitud ) {
if( Boton_Texto[nBotones].Texto[DEVOLVER] == '&' ) {
DEVOLVER ++;
textcolor(RED);
cprintf("%c", Boton_Texto[nBotones].Texto[DEVOLVER]);
textcolor(BLACK);
} else cprintf("%c", Boton_Texto[nBotones].Texto[DEVOLVER]);
DEVOLVER ++;
}
// cprintf("%s", Texto); //
// ±±±±±±±
break;
case Dibuja_Todos:
for( i=0; i < nBotones; i++)
Funcion_Botones( DIBUJA, i, Boton_Texto);
break;
case COMPRUEBA:
if( bioskey(1)!=0 ) {
key = toupper( getch() );
for( i=0; i < nBotones && DEVOLVER <= -1; i++){
if( key == Boton_Texto[i].ID_T1 ) {
if( key == 0 ) {
key = toupper( getch() );
if( key == Boton_Texto[i].ID_T2 ){
DEVOLVER = (i + 1);
Funcion_Botones( DEPRIME, (DEVOLVER-1), Boton_Texto);
delay(150);
//sleep(1);
Funcion_Botones( DIBUJA, (DEVOLVER-1), Boton_Texto);
} else DEVOLVER = -2;
} else
{ DEVOLVER = (i + 1);
Funcion_Botones( DEPRIME, (DEVOLVER-1), Boton_Texto);
delay(150);
//sleep(1);
Funcion_Botones( DIBUJA, (DEVOLVER-1), Boton_Texto);
}
}
}
if( DEVOLVER == -1 )
{ ungetch(key); }
if( DEVOLVER == -2 )
{ ungetch(0); ungetch(key); DEVOLVER = -1; }
} else if( RATON ) {
for( i=0; i < nBotones && DEVOLVER == -1; i++) {
longitud = strlen( Boton_Texto[i].Texto );
if ( (x_raton+1) >= Boton_Texto[i].x && (x_raton+1) <= ( Boton_Texto[i].x + longitud -1) &&
y_raton == (Boton_Texto[i].y-1) ) { DEVOLVER = (i + 1);
Funcion_Botones( DEPRIME, (DEVOLVER-1), Boton_Texto);
if( RATON ) activa_raton();
espera_soltar();
if( RATON ) desactiva_raton();
// delay(150);
Funcion_Botones( DIBUJA, (DEVOLVER-1), Boton_Texto);
}
}
}
break;
case STD_BY:
Funcion_Botones(Dibuja_Todos, 6, Boton_Texto);
do{
if( RATON ) activa_raton();
if( RATON ) espera_pulsar(); else while( bioskey(1)==0 );
if( RATON ) desactiva_raton();
DEVOLVER = Funcion_Botones(COMPRUEBA, 6, Boton_Texto);
}while(DEVOLVER==-1 && bioskey(1)==0 );
}
return DEVOLVER;
}
void inicializa_raton_texto(void)
{
union REGS ent, sal;
ent.x.ax = 0;
int86(0x33, &ent, &sal); /* averigua si hay rat¢n conectado */
if(sal.x.ax==0) { RATON = 0; return; }
ent.x.ax = 15;
ent.x.cx = 8;
ent.x.dx = 16;
int86(0x33, &ent, &sal); /* fija la raz¢n mickey/pixel */
ent.x.ax = 7;
ent.x.cx = 0;
ent.x.dx = 639;
int86(0x33, &ent, &sal); /* fija la posici¢n m x. y m¡n. horizontal */
ent.x.ax = 8;
ent.x.cx = 0;
ent.x.dx = 199;
int86(0x33, &ent, &sal); /* fija la posici¢n m x. y m¡n. vertical */
ent.x.ax = 4;
ent.x.cx = 320;
ent.x.dx = 100;
int86(0x33, &ent, &sal); /* fija la posici¢n del rat¢n */
ent.x.ax = 1;
int86(0x33, &ent, &sal); /* muestra el puntero del rat¢n */
}
void activa_raton(void)
{
union REGS ent, sal;
ent.x.ax = 1;
int86(0x33, &ent, &sal);
}
void desactiva_raton(void)
{
union REGS ent, sal;
ent.x.ax = 2;
int86(0x33, &ent, &sal);
}
void espera_pulsar(void)
{
union REGS ent, sal;
do{
if(bioskey(1)!=0) break;
ent.x.ax = 3;
int86(0x33, &ent, &sal); /* lee posici¢n y estados del bot¢n */
}while((sal.x.bx & 3)==0);
boton_izq=sal.x.bx & 1;
boton_der=(sal.x.bx >> 1) & 1;
x_raton= (sal.x.cx >> 1) / 4; // / 8
y_raton= (sal.x.dx)/8; // /8
}
void espera_soltar(void)
{
union REGS ent, sal;
do{
ent.x.ax = 3;
int86(0x33, &ent, &sal); /* lee posici¢n y estados del bot¢n */
}while((sal.x.bx & 3)!=0);
boton_izq=sal.x.bx & 1;
boton_der=(sal.x.bx >> 1) & 1;
x_raton=sal.x.cx >> 1;
y_raton=sal.x.dx;
}
void Edit_Item(void){
char buffer[80];
char *endptr;
if( !SWAP ) {
do{
strcpy( buffer, "\0");
gotoxy(16,7); textcolor(RED);
cprintf(" ");
gotoxy(16,7);
cscanf("%10s", buffer );
Dir = strtol(buffer, &endptr, 16);
}while(*endptr!=NULL);
// LEER
} else {
// ESCRIBIR
textcolor(RED);
gotoxy(16,7);
do{
strcpy( buffer, "\0");
gotoxy(16,7); textcolor(RED);
cprintf(" ");
gotoxy(16,7);
cscanf("%10s", buffer );
Dir = strtol(buffer, &endptr, 16);
}while(*endptr!=NULL);
do{
strcpy( buffer, "\0");
gotoxy(16,9); textcolor(RED);
cprintf(" ");
gotoxy(16,9);
cscanf("%10s", buffer );
Dato = strtol(buffer, &endptr, 16);
}while(*endptr!=NULL);
}
}

BIN
EP_2.EXE Normal file

Binary file not shown.

BIN
LITT.CHR Normal file

Binary file not shown.

33
NONAME00.CPP Normal file
View File

@ -0,0 +1,33 @@
#include<conio.h>
struct byte_de_long { unsigned char P3; unsigned char P2;
unsigned char P1; unsigned char P0;
};
union lngchr{ long Numero; struct byte_de_long Byte; } Division;
//////////////////////////////
// long --> FF FF FF FF --> 3 34 65 59
// P0 P1 P2 P3 Dec.89 101 52 3
////////////////////////////// Hex.59 65 34 3
void main(void){
int iP0, iP1, iP2, iP3;
clrscr();
cscanf("%ld", &Division.Numero );
cprintf("\r\n");
cprintf("LONG --> %ld", Division.Numero);
cprintf("\r\n");
cprintf("Bytes de un long:\r\n");
iP0 = Division.Byte.P0;
iP1 = Division.Byte.P1;
iP2 = Division.Byte.P2;
iP3 = Division.Byte.P3;
cprintf("P3 --> %d P2 --> %d P1 --> %d P0 --> %d\r\n", iP3, iP2, iP1, iP0);
cprintf("\r\n");
}

1
R.BAT Normal file
View File

@ -0,0 +1 @@
edit eprom.jdf

574
RATON.C Normal file
View File

@ -0,0 +1,574 @@
#include <dos.h>
#include <bios.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define ALFANUMERICO 0x03
#define GRAFICO 0x13
void DIBUJA_BLOQUE_SIN_MASK_CUT(int *, char *, char *);
void DIBUJA_BLOQUE_CON_MASK_CUT(int *, char *, char *);
void VUELCA_PANTALLA(int,int, int,int, int,int, char *);
void pantalla_cine(void);
void cinta_cine(void);
void premios(void);
void premiados(void);
void espera_pulsar(void);
void espera_soltar(void);
void no_hay_raton(void);
void desactiva_raton(void);
void activa_raton(void);
void dibuja_graficos(void);
void inicializa_raton_texto(void);
void inicializa_raton_grafico(void);
void salir_al_dos(void);
void asigna_modo_video(char);
void lee_dibujos(char *);
void descomprime_dibujo(char *);
void asigna_rgb(char *);
void asigna_memoria(void);
void libera_memoria(void);
int x_raton;
int y_raton;
int y_raton_ant;
int boton_izq;
int boton_der;
int pos_playa [6] = { 0, 0, 0, 0, 320,200 };
int pos_toalla [8] = { 188, 0, 188,47, 130,152, 87, 47 };
int pos_sombrilla [8] = { 0, 0, 94, 0, 175,110, 94, 70 };
int pos_pelota [8] = { 275, 0, 275,23, 185,170, 25, 23 };
char fichero1 [] = { "raton1.pcx" };
char fichero2 [] = { "raton2.pcx" };
int dir_raton [32+32] = { 0x3FFF, /* m scara del cursor */
0x1FFF,
0x0FFF,
0x07FF,
0x03FF,
0x01FF,
0x00FF,
0x007F,
0x003F,
0x001F,
0x000F,
0x0007,
0x0007,
0xF81F,
0xFC0F,
0xFE0F,
0x0000, /* dibujo del cursor */
0x4000,
0x6000,
0x7000,
0x7800,
0x7C00,
0x7E00,
0x7F00,
0x7F80,
0x7FC0,
0x7FE0,
0x7FF0,
0x0780,
0x03C0,
0x01E0,
0x0000 };
char color_izq=DARKGRAY;
char color_der=BROWN;
char *dir_carga_dibujos;
char *dir_dibujo1;
char *dir_dibujo2;
char *dir_zona_pantalla;
FILE *handle_dibujos;
/*//////////////////////////////// PROGRAMA ////////////////////////////////*/
void main(void)
{
union REGS ent, sal;
asigna_memoria();
asigna_modo_video(ALFANUMERICO);
inicializa_raton_texto();
desactiva_raton();
pantalla_cine();
cinta_cine();
premios();
activa_raton();
while(bioskey(1)!=0) bioskey(0);
do{
espera_pulsar();
desactiva_raton();
if(boton_izq==1) color_izq=LIGHTGRAY;
if(boton_der==1) color_der=YELLOW;
cinta_cine();
premiados();
activa_raton();
espera_soltar();
desactiva_raton();
if(boton_izq==0) color_izq=DARKGRAY;
if(boton_der==0) color_der=BROWN;
cinta_cine();
premios();
activa_raton();
}while(bioskey(1)==0);
asigna_modo_video(GRAFICO);
lee_dibujos(fichero1);
descomprime_dibujo(dir_dibujo1);
lee_dibujos(fichero2);
descomprime_dibujo(dir_dibujo2);
inicializa_raton_grafico();
DIBUJA_BLOQUE_SIN_MASK_CUT(pos_playa, dir_dibujo1, dir_zona_pantalla);
DIBUJA_BLOQUE_CON_MASK_CUT(pos_toalla, dir_dibujo2, dir_zona_pantalla);
DIBUJA_BLOQUE_CON_MASK_CUT(pos_pelota, dir_dibujo2, dir_zona_pantalla);
DIBUJA_BLOQUE_CON_MASK_CUT(pos_sombrilla, dir_dibujo2, dir_zona_pantalla);
desactiva_raton();
VUELCA_PANTALLA(0,0, 0,0, 320,200, dir_zona_pantalla);
activa_raton();
while(bioskey(1)!=0) bioskey(0);
do{
ent.x.ax = 3;
int86(0x33, &ent, &sal); /* lee posici¢n y estados del bot¢n */
boton_izq=sal.x.bx & 1;
boton_der=(sal.x.bx >> 1) & 1;
if((boton_izq==1 || boton_der==1) &&
x_raton>=pos_toalla[4]+(pos_toalla[6]/2)-4 &&
x_raton<=pos_toalla[4]+(pos_toalla[6]/2)+4 &&
y_raton>=pos_toalla[5]+(pos_toalla[7]/2)-4 &&
y_raton<=pos_toalla[5]+(pos_toalla[7]/2)+4) {
pos_toalla[4]=(sal.x.cx >> 1)-(pos_toalla[6]/2);
pos_toalla[5]=(sal.x.dx )-(pos_toalla[7]/2);
dibuja_graficos();
desactiva_raton();
VUELCA_PANTALLA(0,0, 0,0, 320,200, dir_zona_pantalla);
activa_raton();
}
else if((boton_izq==1 || boton_der==1) &&
x_raton>=pos_pelota[4]+(pos_pelota[6]/2)-4 &&
x_raton<=pos_pelota[4]+(pos_pelota[6]/2)+4 &&
y_raton>=pos_pelota[5]+(pos_pelota[7]/2)-4 &&
y_raton<=pos_pelota[5]+(pos_pelota[7]/2)+4) {
pos_pelota[4]=(sal.x.cx >> 1)-(pos_pelota[6]/2);
pos_pelota[5]=(sal.x.dx )-(pos_pelota[7]/2);
dibuja_graficos();
desactiva_raton();
VUELCA_PANTALLA(0,0, 0,0, 320,200, dir_zona_pantalla);
activa_raton();
}
else if((boton_izq==1 || boton_der==1) &&
x_raton>=pos_sombrilla[4]+(pos_sombrilla[6]/2)-4 &&
x_raton<=pos_sombrilla[4]+(pos_sombrilla[6]/2)+4 &&
y_raton>=pos_sombrilla[5]+(pos_sombrilla[7]/2)-4 &&
y_raton<=pos_sombrilla[5]+(pos_sombrilla[7]/2)+4) {
pos_sombrilla[4]=(sal.x.cx >> 1)-(pos_sombrilla[6]/2);
pos_sombrilla[5]=(sal.x.dx )-(pos_sombrilla[7]/2);
dibuja_graficos();
desactiva_raton();
VUELCA_PANTALLA(0,0, 0,0, 320,200, dir_zona_pantalla);
activa_raton();
}
x_raton=sal.x.cx >> 1;
y_raton=sal.x.dx;
}while(bioskey(1)==0);
while(bioskey(1)!=0) bioskey(0);
salir_al_dos();
}
void dibuja_graficos(void)
{
DIBUJA_BLOQUE_SIN_MASK_CUT(pos_playa, dir_dibujo1, dir_zona_pantalla);
DIBUJA_BLOQUE_CON_MASK_CUT(pos_toalla, dir_dibujo2, dir_zona_pantalla);
DIBUJA_BLOQUE_CON_MASK_CUT(pos_pelota, dir_dibujo2, dir_zona_pantalla);
DIBUJA_BLOQUE_CON_MASK_CUT(pos_sombrilla, dir_dibujo2, dir_zona_pantalla);
}
void inicializa_raton_texto(void)
{
union REGS ent, sal;
ent.x.ax = 0;
int86(0x33, &ent, &sal); /* averigua si hay rat¢n conectado */
if(sal.x.ax==0) no_hay_raton();
ent.x.ax = 15;
ent.x.cx = 8;
ent.x.dx = 16;
int86(0x33, &ent, &sal); /* fija la raz¢n mickey/pixel */
ent.x.ax = 7;
ent.x.cx = 0;
ent.x.dx = 639;
int86(0x33, &ent, &sal); /* fija la posici¢n m x. y m¡n. horizontal */
ent.x.ax = 8;
ent.x.cx = 0;
ent.x.dx = 199;
int86(0x33, &ent, &sal); /* fija la posici¢n m x. y m¡n. vertical */
ent.x.ax = 4;
ent.x.cx = 320;
ent.x.dx = 100;
int86(0x33, &ent, &sal); /* fija la posici¢n del rat¢n */
ent.x.ax = 1;
int86(0x33, &ent, &sal); /* muestra el puntero del rat¢n */
}
void inicializa_raton_grafico(void)
{
struct SREGS seg;
union REGS ent, sal;
long dir;
ent.x.ax = 0;
int86(0x33, &ent, &sal); /* averigua si hay rat¢n conectado */
if(sal.x.ax==0) no_hay_raton();
ent.x.ax = 15;
ent.x.cx = 5;
ent.x.dx = 12;
int86(0x33, &ent, &sal); /* fija la raz¢n mickey/pixel */
ent.x.ax = 7;
ent.x.cx = 0;
ent.x.dx = 639;
int86(0x33, &ent, &sal); /* fija la posici¢n m x. y m¡n. horizontal */
ent.x.ax = 8;
ent.x.cx = 0;
ent.x.dx = 199;
int86(0x33, &ent, &sal); /* fija la posici¢n m x. y m¡n. vertical */
dir = (long)dir_raton;
ent.x.ax = 9;
ent.x.bx = 0;
ent.x.cx = 0;
ent.x.dx = (int) dir;
seg.es = (int)(dir >> 16);
int86x(0x33, &ent, &sal, &seg); /* asigna un cursor diferente */
ent.x.ax = 4;
ent.x.cx = 320;
x_raton=ent.x.cx >> 1;
ent.x.dx = 100;
y_raton=ent.x.dx;
int86(0x33, &ent, &sal); /* fija la posici¢n del rat¢n */
ent.x.ax = 1;
int86(0x33, &ent, &sal); /* muestra el puntero del rat¢n */
}
void activa_raton(void)
{
union REGS ent, sal;
ent.x.ax = 1;
int86(0x33, &ent, &sal);
}
void desactiva_raton(void)
{
union REGS ent, sal;
ent.x.ax = 2;
int86(0x33, &ent, &sal);
}
void espera_pulsar(void)
{
union REGS ent, sal;
do{
if(bioskey(1)!=0) break;
ent.x.ax = 3;
int86(0x33, &ent, &sal); /* lee posici¢n y estados del bot¢n */
}while((sal.x.bx & 3)==0);
boton_izq=sal.x.bx & 1;
boton_der=(sal.x.bx >> 1) & 1;
x_raton=sal.x.cx >> 1;
y_raton=sal.x.dx;
}
void espera_soltar(void)
{
union REGS ent, sal;
do{
ent.x.ax = 3;
int86(0x33, &ent, &sal); /* lee posici¢n y estados del bot¢n */
}while((sal.x.bx & 3)!=0);
boton_izq=sal.x.bx & 1;
boton_der=(sal.x.bx >> 1) & 1;
x_raton=sal.x.cx >> 1;
y_raton=sal.x.dx;
}
void no_hay_raton(void)
{
asigna_modo_video(ALFANUMERICO);
libera_memoria();
gotoxy(1,1); printf("No hay RATON instalado");
exit(0);
}
void salir_al_dos(void)
{
asigna_modo_video(ALFANUMERICO);
libera_memoria();
exit(0);
}
void asigna_memoria(void)
{
if((dir_zona_pantalla = malloc (64000))==NULL) {
printf("No hay suficiente memoria. Libere programas residentes.");
exit(1);
}
if((dir_carga_dibujos = malloc (65000))==NULL) {
printf("No hay suficiente memoria. Libere programas residentes.");
exit(1);
}
if((dir_dibujo1 = malloc (64000))==NULL) {
printf("No hay suficiente memoria. Libere programas residentes.");
exit(1);
}
if((dir_dibujo2 = malloc (64000))==NULL) {
printf("No hay suficiente memoria. Libere programas residentes.");
exit(1);
}
}
void libera_memoria(void)
{
free(dir_zona_pantalla);
free(dir_carga_dibujos);
free(dir_dibujo1);
free(dir_dibujo2);
}
void asigna_modo_video(char modo) /* asigna el modo de v¡deo indicado */
{ /* en la variable "modo" */
union REGS ent, sal;
ent.h.al = modo;
ent.h.ah = 0;
int86(16, &ent, &sal); /* funci¢n para asignar el modo de video */
}
void lee_dibujos(char *fichero)
{
char *p;
if((handle_dibujos = fopen(fichero, "rb"))==NULL) {
printf("No se puede abrir el archivo.");
exit(1);
}
p=dir_carga_dibujos;
while(!feof(handle_dibujos)) {
*p++=getc(handle_dibujos);
}
if(fclose(handle_dibujos)!=NULL) {
printf("No se puede cerrar el archivo.");
exit(1);
}
}
void descomprime_dibujo(char *dir_escritura)
{
unsigned char byte;
char *dir_lectura;
int columnas, filas, contador;
dir_lectura=dir_carga_dibujos+128; /* inicio del dibujo comprimido */
for(filas=200; filas>0; filas--) {
columnas=320;
dir_escritura-=columnas; dir_escritura+=320;
while(columnas>0) {
byte=(unsigned)*dir_lectura++;
if(byte<=192) { *dir_escritura++=byte; columnas--; }
else {
contador=byte&63; byte=*dir_lectura++;
for(;contador>0;contador--) { *dir_escritura++=byte;columnas--; }
}
}
}
dir_lectura++;
asigna_rgb(dir_lectura); /* remapea los 256 colores del dibujo */
}
void asigna_rgb(char *dir_lectura)
{
struct SREGS seg;
union REGS ent, sal;
unsigned int reg_dx, n;
long int dir;
char *dir_col;
dir_col=dir_lectura; /* divide entre */
for(n=256*3; n>0; n--) { /* 4 los colores */
*dir_col=*dir_col >> 2; dir_col++;
}
reg_dx=(int)dir_lectura; /* offset de los colores */
dir =(long)dir_lectura; /* obtiene el segmento */
seg.es=(int)(dir >> 16); /* donde estan los colores */
ent.h.al = 18;
ent.h.ah = 16;
ent.x.bx = 0;
ent.x.cx = 256;
ent.x.dx = reg_dx;
int86x(0x10, &ent, &sal, &seg); /* funci¢n para asignar los colores */
}
void cinta_cine(void)
{
textcolor(color_izq);
gotoxy(21, 1); cprintf ("ÜÛÛÛÜ ßÛÛÛÛÛß");
gotoxy(19, 2); cprintf ("ÜÛÛÛÛÛÛÛÜ ßÛß");
gotoxy(17, 3); cprintf (" ßÛÛÛÛÛÛÛÛÛÛÜ ");
gotoxy(15, 4); cprintf ("Ü ßÛÛÛÛÛÛÛÛÛß");
gotoxy(13, 5); cprintf ("ÜÛÛÛÜ ßÛÛÛÛÛß");
gotoxy(11, 6); cprintf ("ÜÛÛÛÛÛÛÛÜ ßÛß");
gotoxy( 9, 7); cprintf (" ßÛÛÛÛÛÛÛÛÛÛÜ ");
gotoxy( 7, 8); cprintf ("Ü ßÛÛÛÛÛÛÛÛÛß");
gotoxy( 5, 9); cprintf ("ÜÛÛÛÜ ßÛÛÛÛÛß");
gotoxy( 3,10); cprintf ("ÜÛÛÛÛÛÛÛÜ ßÛß");
gotoxy( 1,11); cprintf(" ßÛÛÛÛÛÛÛÛÛÛÜ ");
gotoxy( 1,12); cprintf(" ßÛÛÛÛÛÛÛÛÛß");
gotoxy( 1,13); cprintf("Ü ßÛÛÛÛÛß");
gotoxy( 1,14); cprintf("ÛÛÜ ßÛß");
gotoxy( 1,15); cprintf("ÛÛÛÛÜ ");
gotoxy( 1,16); cprintf("ÛÛÛÛÛß");
gotoxy( 1,17); cprintf("ÛÛÛß");
gotoxy( 1,18); cprintf("Ûß");
textcolor(color_der);
gotoxy(79,14); cprintf ("Ü ");
gotoxy(77,15); cprintf ("ÜÛÛÛ");
gotoxy(75,16); cprintf ("ÜÛÛÛÛÛ");
gotoxy(73,17); cprintf (" ßÛÛÛÛÛÛ");
gotoxy(71,18); cprintf ("Ü ßÛÛÛÛ");
gotoxy(69,19); cprintf ("ÜÛÛÛÜ ßÛÛ");
gotoxy(67,20); cprintf ("ÜÛÛÛÛÛÛÛÜ ß");
gotoxy(65,21); cprintf (" ßÛÛÛÛÛÛÛÛÛÛÜ ");
gotoxy(63,22); cprintf ("Ü ßÛÛÛÛÛÛÛÛÛß");
gotoxy(61,23); cprintf ("ÜÛÛÛÜ ßÛÛÛÛÛß");
gotoxy(59,24); cprintf ("ÜÛÛÛÛÛÛÛÜ ßÛß");
gotoxy(57,25); cprintf(" ßÛÛÛÛÛÛÛÛÛÛÜ ");
}
void pantalla_cine(void)
{
textbackground(BLACK); textcolor(BLACK); clrscr();
textcolor(BLUE);
gotoxy( 1, 1); cprintf(" Ü Ü");
gotoxy( 1, 2); cprintf(" Ü Ü ");
gotoxy( 1, 3); cprintf(" Ü Ü ");
gotoxy( 1, 4); cprintf(" Ü Ü ");
gotoxy( 1, 5); cprintf(" Ü Ü ");
gotoxy( 1, 6); cprintf(" Ü Ü ");
gotoxy( 1, 7); cprintf(" Ü Ü ");
gotoxy( 1, 8); cprintf(" Ü Ü ");
gotoxy( 1, 9); cprintf(" Ü Ü ");
gotoxy( 1,10); cprintf(" Ü ");
gotoxy( 1,11); cprintf(" Ü ");
gotoxy( 1,12); cprintf(" Ü ");
gotoxy( 1,13); cprintf(" Ü ");
gotoxy( 1,14); cprintf(" Ü ");
gotoxy( 1,15); cprintf(" Ü ");
gotoxy( 1,16); cprintf(" Ü ");
gotoxy( 1,17); cprintf(" Ü ");
gotoxy( 1,18); cprintf(" Ü ");
gotoxy( 1,19); cprintf(" Ü ");
textcolor(BLUE);
gotoxy(54,12); cprintf(" Ü");
gotoxy(54,13); cprintf(" Ü ");
gotoxy(54,14); cprintf(" Ü ");
gotoxy(54,15); cprintf(" Ü ");
gotoxy(54,16); cprintf(" Ü ");
gotoxy(54,17); cprintf(" Ü ");
gotoxy(54,18); cprintf(" Ü ");
gotoxy(54,19); cprintf(" Ü ");
gotoxy(54,20); cprintf(" Ü ");
gotoxy(54,21); cprintf(" Ü ");
gotoxy(54,22); cprintf(" Ü Ü");
gotoxy(54,23); cprintf(" Ü Ü ");
gotoxy(54,24); cprintf(" Ü Ü ");
gotoxy(54,25); cprintf("Ü Ü ");
}
void premios(void)
{
textcolor(WHITE);
gotoxy(49, 1); cprintf("LXVI EDICION DE LOS OSCARS");
textcolor(YELLOW);
gotoxy(45, 3); cprintf("MEJOR PELICULA ");
gotoxy(43, 4); cprintf("MEJOR DIRECTOR ");
gotoxy(41, 5); cprintf("MEJOR ACTRIZ ");
gotoxy(39, 6); cprintf("MEJOR ACTOR ");
gotoxy(37, 7); cprintf("MEJOR ACTRIZ SECUNDARIA ");
gotoxy(35, 8); cprintf("MEJOR ACTOR SECUNDARIO ");
gotoxy(33, 9); cprintf("MEJOR PELICULA EXTRANJERA ");
gotoxy(31,10); cprintf("MEJOR GUION ORIGINAL ");
gotoxy(29,11); cprintf("MEJOR GUION ADAPTADO ");
gotoxy(27,12); cprintf("MEJOR DIRECCION ARTISTICA ");
gotoxy(25,13); cprintf("MEJOR SONIDO ");
gotoxy(23,14); cprintf("MEJOR MONTAJE ");
gotoxy(21,15); cprintf("MEJOR FOTOGRAFIA ");
gotoxy(19,16); cprintf("MEJOR EFECTOS DE SONIDO ");
gotoxy(17,17); cprintf("MEJOR MUSICA ORIGINAL ");
gotoxy(15,18); cprintf("MEJOR CANCION ");
gotoxy(13,19); cprintf("MEJOR VESTUARIO ");
gotoxy(11,20); cprintf("MEJOR EFECTOS VISUALES ");
gotoxy( 9,21); cprintf("MEJOR MAQUILLAJE ");
gotoxy( 7,22); cprintf("MEJOR CORTO DE ANIMACION ");
gotoxy( 5,23); cprintf("MEJOR CORTO DE ACCION EN VIVO ");
gotoxy( 3,24); cprintf("MEJOR LARGOMETRAJE DOCUMENTAL ");
gotoxy( 1,25); cprintf("MEJOR CORTO DOCUMENTAL ");
}
void premiados(void)
{
textcolor(WHITE);
switch(y_raton/8) {
case 2: gotoxy(45, 3); cprintf("®La lista de Schindler¯ "); break;
case 3: gotoxy(43, 4); cprintf("Spielberg, ®La lista de Schindler¯ "); break;
case 4: gotoxy(41, 5); cprintf("Holly Hunter, ®El Piano¯ "); break;
case 5: gotoxy(39, 6); cprintf("Tom Hanks, ®Philadelphia¯ "); break;
case 6: gotoxy(37, 7); cprintf("Anna Paquin, ®El Piano¯ "); break;
case 7: gotoxy(35, 8); cprintf("Tommy Lee Jones, ®El Fugitivo¯ "); break;
case 8: gotoxy(33, 9); cprintf("®Belle <20>poque¯ (Espa¤a), Fernando Trueba "); break;
case 9: gotoxy(31,10); cprintf("Jane Campion, ®El Piano¯ "); break;
case 10: gotoxy(29,11); cprintf("Steven Zaillian, ®La lista de Schindler¯ "); break;
case 11: gotoxy(27,12); cprintf("Allan Starski y Ewa Braun, ®La lista de Schindler¯ "); break;
case 12: gotoxy(25,13); cprintf("®Parque Jur sico¯ "); break;
case 13: gotoxy(23,14); cprintf("Michael Kahn, ®La lista de Schindler¯ "); break;
case 14: gotoxy(21,15); cprintf("Janusz Kaminski, ®La lista de Schindler¯ "); break;
case 15: gotoxy(19,16); cprintf("®Parque Jur sico¯ "); break;
case 16: gotoxy(17,17); cprintf("John Williams, ®La lista de Schindler¯ "); break;
case 17: gotoxy(15,18); cprintf("®Streets of Philadelphia¯, Bruce Springsteen "); break;
case 18: gotoxy(13,19); cprintf("Gabriella Pescucci, ®La edad de la inocencia¯ "); break;
case 19: gotoxy(11,20); cprintf("®Parque Jur sico¯ "); break;
case 20: gotoxy( 9,21); cprintf("®Sra. Doubtfire¯ "); break;
case 21: gotoxy( 7,22); cprintf("®The wrong trousers¯ "); break;
case 22: gotoxy( 5,23); cprintf("®Schwarzfahrer¯ "); break;
case 23: gotoxy( 3,24); cprintf("®I am a promise:child. of Stanton Elementary School¯"); break;
case 24: gotoxy( 1,25); cprintf("®Defending our lives¯ "); break;
}
}


5
README.md Normal file
View File

@ -0,0 +1,5 @@
#EPROM
*11/11/1991*
ToDo: wwtcf?
![screenshot](/EPROM.png "Screenshot")