Mes vacances .... le retour

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Répondre
Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Mes vacances .... le retour

Message par charognard » 22 août 2009 15:16

Cette année j'ai un peu joué les faignasses, j'avais amené qu'un X07, un 1261 et un PC G850V.
j'avais en projet de faire un programme RPN sous ces trois supports ... et bien pas eu le temps.
j'ai quand même pu taper un peu de code.
d'abord le début du projet RPN sur 1262, ne riez pas il ni a pas grand chose.

Code : Tout sélectionner

10 "A"WAIT 0
20 T=0,Z=0,Y=0,X=0,LI$="",E=0,P=0,A=1:ES$="                "
30 CURSOR 6:PRINT"y:":CURSOR 30:PRINT"X:"
40 GOSUB 2000
1000 "EDIT"
1010 CALL &11E0:A=PEEK &662C:IF A=255 THEN 1010
1020 IF A>47 AND A<58 LET LI$=LI$+CHR$ A:CURSOR 32:PRINT LI$:GOTO 1010
1030 IF A=46 AND P=0 LET P=LEN LI$:LI$=LI$+".":CURSOR 32:PRINT LI$:GOTO 1010
1040 IF A=69 AND E=0 LET E=LEN LI$:LI$=LI$+"E":CURSOR 32:PRINT LI$:GOTO 1010
1050 IF A<>15 OR LEN LI$=0 THEN 1010
1060 LI$=LEFT$(LI$,LEN LI$ -1):CURSOR 1:PRINT LI$+" "
1070 IF P>LEN LI$ LET P=0
1080 IF E>LEN LI$ LET E=0
1090 GOTO 1010
2000 CURSOR 8:PRINT ES$:CURSOR 8:PRINT Y
2010 CURSOR 32:PRINT ES$:CURSOR 32:PRINT X
2020 RETURN
je sais ça fait pas lourd :cry: remarquez quand même le call qui remplace le inkey$ et un goto, mais en plus permet le test des touches flèches et [ENTER] impossible avec la méthode traditionnelle (le INKEY)

pour me faire pardonner j'a aussi fais une version complète ou presque sur le 850
d'abord avec quelques explications pour ceux que ça interresse
Dernière édition par charognard le 22 août 2009 17:53, édité 2 fois.

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Mes vacances .... le retour

Message par charognard » 22 août 2009 15:19

/*Voici un projet de calculatrice RPN en C sur PC G850

ce programme utilise une pile à 4 niveaux avec registre x,y,z et t comme sur les calculatrice HP de la grande époque.
il comprend un éditeur pour la saisie des nombres avec la gestion des touches suivantes :
1~9, le '.', l'exposant'E', la touche [ENTER], la touche [backspace].

un exécuteur de fonction comprenant les fonctions suivantes :
+, -, *, /, [fleche bas] rotation pile, [fleche haut] rotation pile, [fleche droite] x<>y, [fleche gauche] inverse, SQR, PI, POW, ^, 1/x, x^3, x^(1/3),[BASIC].

Il est evolutif de par sa structure, et permet au fil du temps de l'améliorer (avec un espoir caché que d'autre participants que moi apparaitrons)
La structure imposé par le C le rend lisible, cepandant pour les afficionados du basic plusieurs remarques sont à faire :
- le typage des variables d'abort, pas facile ... en effet si dans certain Basic pocket le typage se résume numérique <> alpha
en C en n'en est rien on peut même dire que c'est un peu le merdier pour le Basiquiste que je suis avec un bonus d'emmerdes au traitement des chaînes de caractères
- l'absence de fonction courante en C par exemple seclection de la partie entière d'un nombre (INT en Basic), ou VAL, STR$, RND, INKEY$ ... et plein d'autre. Dans le programme la fonction VAL, INKEY$ sont des procédures .... d'ailleur il serait bon de les mettre dans un fichier dédié et de les include au besoin
- les variables globale, locale avec leur déclaration obligatoire, ça c'est très bien le passage de paramètre à une procédure peut d'ailleur etre soit une valeur soit une référence (appelé pointeur)
- pas facile le C sur un écran aussi petit*/

Code : Tout sélectionner

10 #define BL printf("                ") /* AH!! les constantes, bien pratique ça epure le code*/
20 #define ENT ent=1
30 double x,y,z,t; /* les variables de la pile déclarées en globales car à l'exterieur du main()
40 char ent=0; /* autre variables fonctionnelles du programme (pour l'instant j'ai que la gestion de la touche [ENTER] mais outre le mode saisie/fonction pile un mode de programmation pourrait etre implémenté*/

Code : Tout sélectionner

50  main(){ /*Le main ... il ne se passe pas grand chose dedans pour l'instant
60   unsigned char code,ascii;
70   /*prototype*/
80   /***********/
90   double val(char*);
100  unsigned int key(unsigned char*,unsigned char*);
110  char* stredit(char str[],unsigned char asc);
120  void calcul();
130  char fonction(unsigned char);
140  void pile(char);
150  void affpile();
160  /*c'est là que ça commence */
170  do{
180   affpile();       /*affichage de la pile, et plutard de l'environnement*/
190   calcul();        /*appel du mode Calcul  ... le seul qui existe pour l'instant*/
200   do{}while(key(&code,&ascii)>0); /*sans cette ligne c'est la galère pour frapper, déactivation de l'autorépétition*/
210  }while(1);
220 }
Fonctions
---------

Code : Tout sélectionner

230 /*************************/
240 /*FONCTIONS ET PROCEDURES*/
Conversion Chaine de caractère en double
sensiblement en VAL en basic
paramètre la chaine à traduire retour du Double

Code : Tout sélectionner

250 /*string-->double*/
260 /*****************/
270 double val(char *chain){
280  long double nbre;
290  sscanf(chain,"%Lg",&nbre); /*la fonction de conversion*/
300  return nbre;
310  }
Inkey$ si une touche est pressée alors elle retourne 1 (sinon 0)
les variables 'code' et 'ascii' sont à passer en référence et retourne
le code de la touche et le code ASCII

Code : Tout sélectionner

320 /*fonction inkey**/
330 /*****************/
340 unsigned int key(unsigned char* code,unsigned char* ascii){
350  unsigned int touche;
360  touche=call((int)"\xCD\x53\xBE\x6F\xCD\x56\xBE\x67    /*le code assembleur de la routine*/
370  *code=touche;          /*le code de la touche*/
380  *ascii=touche>>8;      /*sa valeur à ski*/
390  if(touche)return 1;    /*on retourne 1 si une touche est pressée*/
400  else return 0;         /*sinon 0*/
410 }
Edition de chaine avec gestion de l'annulation[backspace]
passage en paramètre de la chaine et du code ASCII

Code : Tout sélectionner

420 /*edition chaine**/
430 /*****************/
440 char* stredit(char str[],unsigned char asc){
450  if(asc!=8&strlen(str)<16){       /*une touche differente de [BACKSPACE]*/
460   str[strlen(str)+1]='\0';
470   str[strlen(str)]=asc;
480  } else if(asc==8&strlen(str)>0)  /*[BACKSPACE AND la chaine n'est pas vide*/
490    str[strlen(str)-1]='\0';
500  return str;                      /*retour de la chaine*/
510 }
Edition de la ligne de saisie
gestion des touches [BACKSPACE],.,E,0~9
L'originalité c'est le do~while principal qui teste l'éxistance de la fonction appelée, l'execute et s'en sert comme conditionde sortie (impensable en basic)

Code : Tout sélectionner

520 /*edition ligne**/
530 /*****************/
540 void calcul(){
550  char str[17]="\0";
560  unsigned char code,ascii,touche,lache=1,pnt=0,expos=0,edit=0,flag=1;
570  affpile();
580  do{
590   gotoxy(9,3);
600   touche=key(&code,&ascii);
610   if(touche&lache){
620    switch(ascii){
630     case 8:    /*gestion de la touche [BACKSPACE]*/
640      if(str){
650       strcpy(str,stredit(str,ascii));
660       if(strlen(str)<pnt) pnt=0;
670       if(strlen(str)<expos) expos=0;
680       edit=1;
690      }
700     break;
710     case 46:    /*gestion de la virgule*/
720      if(ent){
730       pile(0);
740       x=0,ent=0;
750       affpile();
760      }
770      if(pnt==0){
780       strcpy(str,stredit(str,ascii));
790       pnt=strlen(str);}
800      edit=1;
810     break;
820     case 101:   /*gestion de E ou e*/
830     case 69:
840      if(ent){
850       pile(0);
860       x=0,ent=0;
870       affpile();
880      }
890      if(expos==0){
900       strcpy(str,stredit(str,ascii));
910       expos=strlen(str);}
920      edit=1;
930     break;
940    }
950    if(ascii>=48&ascii<=57){   /*ici c'est pour les touches numériques*/
960     if(ent){
970      pile(0);
980      x=0,ent=0;
990      affpile();
1000     }
1010     strcpy(str,stredit(str,ascii));
1020     edit=1;}
1030     if(edit){
1040      BL;
1050      gotoxy(9,3);
1060      printf("%s ",str);
1070      x=val(str);
1080      edit=0;
1090     }
1100     lache=0;
1110    } else if(!touche) lache=1;
1120  gotoxy(0,1);    /*affichage du code ASCII de la touche pressée, quand toutes les fonctions seront programmé on en aura plus besoin*/
1130  printf("%d  ",ascii);
1140  gotoxy(9,3);
1150  }while(fonction(code));
1160 }
La partie fonctionnelle
c'est ici que l'on ajoute des fonctions
retour de 1 si une fonction est existante
dans l'état actuel
les fonctions suivantes sont gérées
[Stack bas], [Stack haut], Inverse, x<>y, +, -, *, /, ², ^3, ^(1/3), SQR, [BASIC]

Code : Tout sélectionner

1170 /*Touche fonction*/
1180 /*****************/
1190  char fonction(unsigned char code){
1200  char ret=0;
1210 double fact(char);
1220   switch(code){
1230    case 25:
1240     breakpt();
1250    break;
1260    case 31:
1270     ENT;
1280     pile(1);
1290    break;
1300    case 32:
1310     ENT;
1320     pile(-1);
1330    break;
1340    case 33:
1350     x=-x,ENT;
1360    break;
1370    case 34:
1380     ENT;
1390     pile(3);
1400    break;
1410    case 39:
1420     x+=y,ENT;
1430     pile(2);
1440    break;
1450    case 40:
1460     t=z,z=y,y=x,ent=0;
1470     affpile();
1480    break;
1490    case 47:
1500     x=y-x,ENT;
1510     pile(2);
1520    break;
1530    case 55:
1540     x*=y,ENT;
1550     pile(2);
1560    break;
1570    case 59:
1580     if(ent) pile(0);
1590     x=3.141592654,ENT;
1600    break;
1610    case 63:
1620     x=y/x,ENT;
1630     pile(2);
1640    break;
1650    case 67:
1660     if(x>0)
1670      x=sqrt(x),ENT;
1680    break;
1690    case 68:
1700     x*=x,ENT;
1710    break;
1720    case 69:
1730     if(x>0)
1740     x=pow(y,x),ENT;
1750     pile(2);
1760    break;
1770    case 71:
1780     x=1/x,ENT;
1790    break;
1800    case 195:
1810     x=pow(x,(1./3)),ENT;
1820    break;
1830    case 196:
1840     x*=x*x,ENT;
1850    break;
1860    case 199:
1870     if(x>=0&x<70)
1880     x=fact(x),ENT;
1890    break;
1900    default:
1910     ret=1;
1920    if(code) ent=0;
1930   }
1940   return ret;
1950 }
Gestion de la pile ave en paramètre le sens de déplacement
paramètre possible -1, 0, 1,2 et 3

Code : Tout sélectionner

1960 /**Gestion pile**/
1970 /****************/
1980 void pile(char sens){
1990  double m;
2000  switch(sens){
2010   case -1:    /*rotation de la pile vers le haut avec t qui passe en x*/
2020    m=x,x=t,t=z,z=y,y=m;
2030   break;
2040   case 0:     /*gestion de la touche [ENTER]*/
2050    t=z,z=y,y=x;
2060   break;
2070   case 1:     /*rotation de la pile vers le bas avec x qui passe en t*/
2080    m=x,x=y,y=z,z=t,t=m;
2090   break;
2100   case 2:     /*pour les fonction utilisant deux valeurs par exemple '+'*/
2110    y=z,z=t;
2120   break;
2130   case 3:    /*échange des registre x et y*/
2140    m=x,x=y,y=m;
2150  }
2160 }
Affichage de la pile
t, z, y, x

Code : Tout sélectionner

2170 /**Affiche pile**/
2180 /****************/
2190 void affpile(){
2200  gotoxy(7,0);
2210  printf("t:");BL;
2220  gotoxy(9,0);
2230  printf("%Lg",t);
2240  gotoxy(7,1);
2250  printf("z:");BL;
2260  gotoxy(9,1);
2270  printf("%Lg",z);
2280  gotoxy(7,2);
2290  printf("y:");BL;
2300  gotoxy(9,2);
2310  printf("%Lg",y);
2320  gotoxy(7,3);
2330  printf("x:");BL;
2340  gotoxy(9,3);
2350  printf("%Lg",x);
2360 }
La factorielle .. en récursif

Code : Tout sélectionner

2370 double fact(char n){
2380  if(!n) return 1;
2390  else return n*fact(n-1);
2400 }
Dernière édition par charognard le 22 août 2009 17:51, édité 1 fois.

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Mes vacances .... le retour

Message par charognard » 22 août 2009 15:21

et le source complet à charger dans le PC850
de préférence avec le RALF'cord

ce programme outre le fait d'etre en C ( pour ceux qui ne connaissent pas)
permet d'apprehender la pile de la HP11,15 ..... avec leurs quatre registres.
le fait de les voir en même temps sur l'écran et très ..... visuel et didactique
bon amusement.

Code mis à jour

Code : Tout sélectionner

10 #define BL printf("              ")
20 #define ENT ent=1
30 double x,y,z,t;
40 char ent=0;
50  main(){
60   unsigned char code,ascii;
70   /**/
80   double val(char*);
90  unsigned int key(unsigned char*,unsigned char*);
100  char* stredit(char str[],unsigned char asc);
110  void calcul();
120  char fonction(unsigned char);
130  void pile(char);
140  void interf();
150  void affpile();
160  /**/
170  angle(0);
180  interf();
190  do{
200   affpile();
210   calcul();
220   do{}while(key(&code,&ascii));
230  }while(1);
240 }
250 /**/
260 double val(char *chain){
270  long double nbre;
280  sscanf(chain,"%Lg",&nbre);
290  return nbre;
300  }
310 /**/
320 unsigned int key(unsigned char* code,unsigned char* ascii){
330  unsigned int touche;
340  touche=call((int)"\xCD\x53\xBE\x6F\xCD\x56\xBE\x67\xC9",0);
350  *code=touche,*ascii=touche>>8;
360  return touche?1:0;
370 }
380 /**/
390 char* stredit(char str[],unsigned char asc){
400  if(asc!=8&strlen(str)<16)
410   str[strlen(str)+1]='\0',str[strlen(str)]=asc;
420  else if(asc==8&strlen(str)>0)
430    str[strlen(str)-1]='\0';
440  return str;
450 }
460 /**/
470 void calcul(){
480  char str[17]="";
490  unsigned char code,ascii,touche,lache=1,pnt=0,expos=0,edit=0,flag=1;
500  affpile();
510  do{
520   touche=key(&code,&ascii);
530   if(touche&lache){
540    switch(ascii){
550     case 8:
560      if(str){
570       strcpy(str,stredit(str,ascii));
580       if(strlen(str)<pnt) pnt=0;
590       if(strlen(str)<expos) expos=0;
600       edit=1;
610      }
620     break;
630     case 46:
640      if(ent) pile(4);
650      if(!pnt){
660       strcpy(str,stredit(str,ascii));
670       pnt=strlen(str);}
680      edit=1;
690     break;
700     case 101:
710     case 69:
720      if(ent) pile(4);
730      if(!expos){
740       strcpy(str,stredit(str,ascii));
750       expos=strlen(str);}
760      edit=1;
770     break;
780    }
790    if(ascii>=48&ascii<=57){
800    if(ent) pile(4);
810    strcpy(str,stredit(str,ascii));
820     edit=1;}
830     if(edit){
840      gotoxy(9,5);BL;
850      gotoxy(9,5);
860      printf("%s ",str);
870      x=val(str),edit=0;
880     }
890     lache=0;
900    } else if(!touche) lache=1;
910  gotoxy(0,3);
920  printf("%d  ",code);
930  gotoxy(9,5);
940  }while(fonction(code));
950 }
960 /**/
970  char fonction(unsigned char code){
980  char ret=0;
990 double fact(char);
1000   switch(code){
1010    case 25:
1020     breakpt();
1030    break;
1040    case 31:
1050     ENT;
1060     pile(1);
1070    break;
1080    case 32:
1090     ENT;
1100     pile(-1);
1110    break;
1120    case 33:
1130     x=-x,ENT;
1140    break;
1150    case 34:
1160     ENT;
1170     pile(3);
1180    break;
1190    case 39:
1200     x+=y,ENT;
1210     pile(2);
1220    break;
1230    case 40:
1240     t=z,z=y,y=x,ent=0;
1250     affpile();
1260    break;
1270    case 47:
1280     x=y-x,ENT;
1290     pile(2);
1300    break;
1310    case 55:
1320     x*=y,ENT;
1330     pile(2);
1340    break;
1350    case 59:
1360     if(ent) pile(0);
1370     x=3.141592654,ENT;
1380    break;
1390    case 63:
1400     x=y/x,ENT;
1410     pile(2);
1420    break;
1430    case 67:
1440     if(x>0)
1450      x=sqrt(x),ENT;
1460    break;
1470    case 68:
1480     x*=x,ENT;
1490    break;
1500    case 69:
1510     if(x>0)
1520     x=pow(y,x),ENT;
1530     pile(2);
1540    break;
1550    case 71:
1560     x=1/x,ENT;
1570    break;
1580    case 74:
1590     x=sin(x),ENT;
1600    break;
1610    case 75:
1620     x=cos(x),ENT;
1630    break;
1640    case 76:
1650     x=log(x),ENT;
1660    break;
1670    case 77:
1680     x=log10(x),ENT;
1690    break;
1700    case 78:
1710     x=tan(x),ENT;
1720    break;
1730    case 195:
1740     x=pow(x,(1./3)),ENT;
1750    break;
1760    case 196:
1770     x*=x*x,ENT;
1780    break;
1790    case 199:
1800     if(x>=0&x<70)
1810     x=fact(x),ENT;
1820    break;
1830    case 202:
1840     x=asin(x),ENT;
1850    break;
1860    case 203:
1870     x=acos(x),ENT;
1880    break;
1890    case 204:
1900     x=exp(x),ENT;
1910    break;
1920    case 205:
1930     x=pow(10,x),ENT;
1940    break;
1950    case 206:
1960     x=atan(x),ENT;
1970    break;
1980    default:
1990     ret=1;
2000    if(code) ent=0;
2010   }
2020   return ret;
2030 }
2040 /**/
2050 void pile(char sens){
2060  double m;
2070  switch(sens){
2080   case -1:
2090    m=x,x=t,t=z,z=y,y=m;
2100   break;
2110   case 0:
2120    t=z,z=y,y=x;
2130   break;
2140   case 1:
2150    m=x,x=y,y=z,z=t,t=m;
2160   break;
2170   case 2:
2180    y=z,z=t;
2190   break;
2200   case 3:
2210    m=x,x=y,y=m;
2220   break;
2230   case 4:
2240    pile(0);
2250    x=0,ent=0;
2260    affpile();
2270  }
2280 }
2290 /**/
2300 void interf(){
2310  gotoxy(2,0);
2320  printf("RPN 4 Level emulator");
2330  line(0,0,143,7,2,65535,2);
2340  line(39,8,39,47,0,65535,2);
2350 }
2360 void affpile(){
2370  gotoxy(7,2);
2380  printf("t:");BL;
2390  gotoxy(9,2);
2400  printf("%Lg",t);
2410  gotoxy(7,3);
2420  printf("z:");BL;
2430  gotoxy(9,3);
2440  printf("%Lg",z);
2450  gotoxy(7,4);
2460  printf("y:");BL;
2470  gotoxy(9,4);
2480  printf("%Lg",y);
2490  gotoxy(7,5);
2500  printf("x:");BL;
2510  gotoxy(9,5);
2520  printf("%Lg",x);
2530 }
2540 /**/
2550 double fact(char n){
2560  return n?n*fact(n-1):1;
2570 }
Dernière édition par charognard le 28 août 2009 21:00, édité 4 fois.

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Mes vacances .... le retour

Message par charognard » 22 août 2009 15:25

Ensuite ne pouvant m'arreter en si bon chemin, l'ai fait l'adaptation en basic du programme dongeons monster que j'avais adapté sur 1600 et X07 l'année dernière
L'originale étant programmé sur SHARP E500.

Adaptation du programme JDR adapté l'année dernière par mes soins sur PC1600 et CANON X07
cette année c'est sur PC G850V
L'adaptation est d'abord au niveau de l'écran de 240x32 sur E500, j'ai du passer en 160x32 sur 1600...
et maintenant sur du 144x48 avec une largeur écran encore plus faible
Il a fallu adapter avec quelques contraintes
d'abord les problèmes de recouvrement variables alpha/numérique dans les fixes (A~Z)
ensuite l'adressage calculé dans le RESTORE impossible (LIGNE 150 à 163)
la structure des LINE, GCURSOR et CURSOR de syntaxe differente
Le GPRINT ne fonctionnant pas avec les fonctions booléénnes (pratique sur le PC 1600 et pourtant méconnue)
Les chaînes de caractères limitée à 7 pour les variable fixes (A~Z) .... Ah les restes du 1211 !!!!

ATTENTION AVEC LES VARIABLES le programme a besoin d'une vingtaine d'octets

Code : Tout sélectionner

2RANDOMIZE
3IF INKEY$ <>"" GOTO 3
5CLEAR :DEGREE :CLS :WAIT 0:LOCATE 5,0:PRINT "DUNGEON MONSTER"
10LOCATE 0,1:PRINT "par:Tortue Geniale(E500)
11LOCATE 0,2:PRINT "Adaptation par":LOCATE 0,3:PRINT "charognard SUR PC-G850V":LOCATE 0,5:PRINT "tapez une touche..."
14IF INKEY$ ="" GOTO 14
16SO=1
17DIM GR$(12),CH$(0)*80,ME$(0)*80
18RESTORE 6000
19FOR GR=0 TO 12:READ GR$(GR):NEXT GR
20BB$="FFFFFFFFFFFFFFFF":CC$="0000000000000000":DIM PV(3):DIM G(3):G(1)=149:G(2)=179
21G(3)=209:LE=1:DIM OBJ$(3),TR$(2)*80,NO(3),C(20,20):X=1:Y=2:X1=1:Y1=2
23TR$(0)="l'objet est la cle du niveau mais utilisable par un magicien uniquement
24TR$(1)="mais seul 1 magicien peut l'utiliser  "
25TR$(2)=" a lamentablement glisse sur une merde de chien  "
30G=85:P=1:PV(1)=81:PV(2)=54:PV(3)=32:DIM N$(3):N$(1)="Haalk":N$(2)="Angela"
31N$(3)="Gothmog":N=1:DIM M(3)
40CLS :LOCATE 2,1:PRINT "Please":LOCATE 3,2:PRINT "wait
42GOSUB "SON":GCURSOR (136,35):GPRINT "4177497741"
45A=1:B=1:X=X+1:A2=90:A1=0:X1=X1+1:X2=X1:Y2=Y1
50GOSUB "DIRECT"
70GCURSOR (85,8):GPRINT "000000000CF8387C3EFF3E7C38F80C00000000000000"
80GCURSOR (85,16):GPRINT "00E0100808C40F23854505A30FC4080810E000000000"
90GCURSOR (103,8):GPRINT "00000000000000F8FC0CA60E06A60CFCF800000000000000"
100GCURSOR (103,16):GPRINT "000000C020904827E7E2E24545E2E2E727489020C0000000"
110GCURSOR (131,8):GPRINT "806090ECF2CF31C0":GCURSOR (123,16)
111GPRINT "00000000C0300E113E7F7F7F3F3F3F1C031C20C000"
120LINE (85,0)-(103,17),B:LINE (105,0)-(123,17),B:LINE (125,0)-(143,17),B
125IF P<>1 THEN LINE (G+1,1)-(G+17,16),X,BF
130IF P<>2 THEN LINE (G+21,1)-(G+37,16),X,BF
135IF P<>3 THEN LINE (G+41,1)-(G+57,16),X,BF
140LINE (53,0)-(73,20),B
142GCURSOR (120,35):GPRINT "1E051E000C12001F02":GCURSOR (120,41):GPRINT "1F0501001408140201
145GCURSOR (120,47):GPRINT "11191513151C14141C14
147GOSUB "MISAJOUR
150SWITCH LE
151CASE 1
152RESTORE 5100
153CASE 2
154RESTORE 5200
155CASE 3
156RESTORE 5300
157CASE 4
158RESTORE 5400
159CASE 5
160RESTORE 5500
161CASE 6
162RESTORE 5600
163ENDSWITCH
168LINE (54,1)-(72,19),B
169FOR I=0 TO 19:C(I,0)=1:C(I,1)=1:C(I,19)=1
170C(0,I)=1:C(1,I)=1:C(19,I)=1:NEXT I
180'LIT NIV
190READ S,T,U:IF S=-1 THEN 211
200C(S,T)=U:IF LEV<4 AND U=1 THEN PSET (S+53,T)
210GOTO 180
211O1= RND 9+15
220FOR Q=10 TO 25
221V= RND 18:W= RND 18:IF C(V,W)<>0 OR ((V=X) AND W=Y) THEN 221 ELSE LET C(V,W)=Q
223NEXT Q
224FOR Q1=1 TO 4:FOR Q=31 TO 40
225V= RND (18):W= RND (18):IF C(V,W)<>0 OR ((V=X) AND W=Y) THEN 225 ELSE LET C(V,W)=Q
226NEXT Q:NEXT Q1
229GOTO 250
230'AFF+DEP
235GCURSOR (151,13):GPRINT "0000000000
240AA$= INKEY$ :IF CL=0 THEN LINE (X+53,Y)-(X+53,Y),X,BF
241CL=CL+1:IF CL=10 THEN LET CL=0
242IF AA$="" AND C2<21 THEN 240 ELSE IF AA$="" THEN LET U=U+1:IF U<60 THEN 240 ELSE LET U=0:GOSUB "TRUC":GOTO 240
243IF AA$="H" GOSUB 8000:GOTO 230
245GOSUB "VIDE"
246PRESET (X+53,Y)
247GCURSOR (151,13):GPRINT "4177497741
250IF AA$=" " THEN "SPACE"
260IF AA$="A" THEN "ACT"
265IF AA$="F" THEN "FRAP"
266IF AA$="Z" THEN "ZZ"
267IF AA$="S" LET SO= ABS (SO-1):GOSUB "SON":BEEP SO,100,30:GOTO 235
270IF AA$="8" AND A=0 AND B=-1 LET Y1=Y-1
280IF AA$="8" AND A=0 AND B=1 LET Y1=Y+1
290IF AA$="8" AND A=1 AND B=0 LET X1=X+1
300IF AA$="8" AND A=-1 AND B=0 LET X1=X-1
310IF AA$="2" AND A=0 AND B=-1 LET Y1=Y+1
320IF AA$="2" AND A=0 AND B=1 LET Y1=Y-1
330IF AA$="2" AND A=1 AND B=0 LET X1=X-1
340IF AA$="2" AND A=-1 AND B=0 LET X1=X+1
350IF AA$="4" AND A=0 AND B=-1 LET X1=X-1
360IF AA$="4" AND A=0 AND B=1 LET X1=X+1
370IF AA$="4" AND A=1 AND B=0 LET Y1=Y-1
380IF AA$="4" AND A=-1 AND B=0 LET Y1=Y+1
390IF AA$="6" AND A=0 AND B=-1 LET X1=X+1
400IF AA$="6" AND A=0 AND B=1 LET X1=X-1
410IF AA$="6" AND A=1 AND B=0 LET Y1=Y+1
420IF AA$="6" AND A=-1 AND B=0 LET Y1=Y-1
430IF AA$="7" LET A1=A1+90:A2=A2+90
440IF AA$="9" LET A1=A1-90:A2=A2-90
450IF A1>360 LET A1=90
460IF A2>360 LET A2=90
470IF A1<0 LET A1=270
480IF A2<0 LET A2=270
490GOSUB "DIRECT
530IF C(X1,Y1)=1 OR C(X1,Y1)>20 LET X1=X2:Y1=Y2:GOSUB 1330:GOTO 230 ELSE LET X=X1:Y=Y1:X2=X1:Y2=Y1
540FOR J=7 TO 31 STEP 8
550GCURSOR (0,J):GPRINT CC$;CC$;CC$;CC$;CC$;CC$;"00000000"
560NEXT J
570A= COS A1:B= COS A2
580K2=X+A:L2=Y+B
590IF A=0 AND B=-1 THEN LET K3=X+1,L3=Y-1,K4=X-1,L4=Y-1,K5=X,L5=Y-2,K6=X+1,L6=Y-2,K7=X-1
595IF A=0 AND B=-1 THEN LET L7=Y-2,K8=X-1,L8=Y,K9=X+1,L9=Y
600IF A=0 AND B=1 THEN LET K3=X-1,L3=Y+1,K4=X+1,L4=Y+1,K5=X,L5=Y+2,K6=X-1,L6=Y+2,K7=X+1
605IF A=0 AND B=1 THEN LET L7=Y+2,K8=X+1,L8=Y,K9=X-1,L9=Y
610IF A=1 AND B=0 THEN LET K3=X+1,L3=Y+1,K4=X+1,L4=Y-1,K5=X+2,L5=Y,K6=X+2,L6=Y+1,K7=X+2
615IF A=1 AND B=0 THEN LET L7=Y-1,K8=X,L8=Y-1,K9=X,L9=Y+1
620IF A=-1 AND B=0 THEN LET K3=X-1,L3=Y-1,K4=X-1,L4=Y+1,K5=X-2,L5=Y,K6=X-2,L6=Y-1,K7=X-2
625IF A=-1 AND B=0 THEN LET L7=Y+1,K8=X,L8=Y+1,K9=X,L9=Y-1
630C1=C(X,Y),C2=C(K2,L2),C3=C(K3,L3),C4=C(K4,L4),C5=C(K5,L5),C6=C(K6,L6)
631C7=C(K7,L7),C8=C(K8,L8),C9=C(K9,L9)
632PSET (X+53,Y)
640IF C2=1 THEN GOSUB "MUR2":GOTO 710 ELSE IF C2=2 LET U=1:GOSUB "SORT1" ELSE IF C2=3 LET U=-1:GOSUB "SORT2"
650IF C8=1 THEN GOSUB "MUR6" ELSE IF C4=1 THEN GOSUB "MUR8"
660IF C9=1 THEN GOSUB "MUR7" ELSE IF C3=1 THEN GOSUB "MUR9"
670IF C4<>1 AND C7=1 THEN GOSUB "TOURNE1" ELSE IF C4=1 GOSUB "MUR3" ELSE GOSUB "NOIR2"
680IF C3<>1 AND C6=1 THEN GOSUB "TOURNE2" ELSE IF C3=1 GOSUB "MUR4" ELSE GOSUB "NOIR3"
690IF C5=1 THEN GOSUB "MUR5" ELSE GOSUB "NOIR"
710IF C1=3 OR (C1=2 AND NO(3)=O1) THEN GOTO "LEV"
711IF C2=1 THEN PSET (K2+53,L2)
712IF C3=1 THEN PSET (K3+53,L3)
713IF C4=1 THEN PSET (K4+53,L4)
719IF C1>=10 AND C1<=30 THEN BEEP SO,50,30:GOSUB "OBJET"
720IF C1=O1THEN BEEP SO,180,30:ME$(0)=TR$(0):GOSUB "AFF"
721IF C1=25 THEN GOSUB "HASARD":ME$(0)=N$(P1)+TR$(2):GOSUB "AFF":NO=0:C(X,Y)=0
722IF C2>30 THEN GOSUB "MONST"
725IF C2=4 THEN GOSUB "FONT"
726IF C1=4 THEN GOSUB "JOU":GOSUB "MISAJOUR"
729GOTO 230
730"MUR6" LINE (0,0)-(3,2):LINE -(3,29):LINE -(0,30):RETURN
740"MUR7" LINE (51,0)-(48,2):LINE -(48,29):LINE -(51,30):RETURN
750"MUR2" LINE (0,0)-(51,31),B:LINE (25,0)-(25,31):RETURN
760"TOURNE1" LINE (3,9)-(13,23),B:RETURN
770"MUR3" LINE (3,2)-(13,9):LINE -(13,23):LINE -(3,29):LINE (8,5)-(8,26):RETURN
780"MUR4" LINE (48,2)-(36,9):LINE -(36,23):LINE -(48,29):LINE (42,5)-(42,26):RETURN
790"TOURNE2" LINE (36,9)-(48,23),B:RETURN
800"MUR5" LINE (13,9)-(36,23),B:LINE (25,9)-(25,23):RETURN
805"PORTE" LINE (17,5)-(32,26),B:LINE (18,6)-(31,25),R,BF:LINE (8,5)-(17,26),B
806LINE (9,6)-(16,25),R,BF:LINE (31,5)-(42,26),B:LINE (32,6)-(41,25),R,BF
807LINE (26,15)-(29,15):LINE (29,16)-(28,16):RETURN
810"NOIR"
820GCURSOR (13,15):GPRINT BB$:GCURSOR (21,15):GPRINT BB$:GCURSOR (29,15):GPRINT BB$
830GCURSOR (13,22):GPRINT BB$:GCURSOR (21,22):GPRINT BB$:GCURSOR (29,22):GPRINT BB$
840RETURN
850"MUR8" LINE (0,2)-(3,2):LINE -(3,29):LINE -(0,29):RETURN
860"MUR9" LINE (51,2)-(48,2):LINE -(48,29):LINE -(51,29):RETURN
870"NOIR2"
880GCURSOR (3,15):GPRINT BB$:GCURSOR (6,15):GPRINT BB$:GCURSOR (3,22):GPRINT BB$:GCURSOR (6,22):GPRINT BB$
890RETURN
900"NOIR3"
910GCURSOR (36,15):GPRINT BB$:GCURSOR (41,15):GPRINT BB$:GCURSOR (36,22):GPRINT BB$:GCURSOR (41,22):GPRINT BB$
920RETURN
930"SORT1"
931LINE (9,29)-(15,25):LINE -(34,25):LINE -(42,29):LINE -(9,29)
932LINE (24,29)-(24,20):LINE (34,29)-(34,20):LINE (24,27)-(34,27):LINE (24,21)-(34,21)
933RETURN
934"SORT2"
935LINE (9,2)-(15,6):LINE -(34,6):LINE -(42,2):LINE -(9,2)
936LINE (24,2)-(24,11):LINE (34,2)-(34,11):LINE (24,4)-(34,4):LINE (24,10)-(34,10)
939RETURN
940"SPACE" LINE (G+1,1)-(G+17,16),X,BF:G=G+20
960IF G>125 THEN LET G=85
970LINE (G+1,1)-(G+17,16),X,BF:P=P+1:IF P>3 THEN LET P=1
980BEEP SO,10,30
981GOSUB 1005
990GOTO 230
1000"MISAJOUR" GCURSOR (76,26):GPRINT "1F0502000C100C000A
1001FOR PE=1 TO 3:GCURSOR (71+PE*20,26):CH$= STR$ PV(PE):GOSUB "FONT5"
1002IF M(PE)=0 THEN LINE (77+PE*20,19)-(90+PE*20,23),R,BF:GPRINT CH$(0)+"0000000000"
1003IF M(PE)=1 THEN LINE (77+PE*20,19)-(90+PE*20,23),R,BF:GPRINT "1F050D12001F001F050502
1004NEXT PE
1005LOCATE 0,4:PRINT USING "&&&&&&&&&&&&&&&&&";N$(P)+"["+OB$(P)+"]";:USING
1010RETURN
1020"ACT"
1025IF M(P)=1 THEN 235
1030LOCATE 1,5:PRINT "ange aisse rends";:MA$=""
1031GCURSOR (0,47):GPRINT "FE82F6EEF682FE":GCURSOR (31,47):GPRINT "FE82BEBEFE":GCURSOR (67,47):GPRINT "FE82EAF6FE
1032IF INKEY$ <>"" THEN 1032
1033K$= INKEY$ :IF K$="" THEN 1033
1034GOSUB "VIDE":GCURSOR (52,31):GPRINT CC$
1035IF K$="M" THEN IF NO>=10 AND NO<=15 LET PV(P)=PV(P)+ RND OB:MA$="MIAM MIAM":BEEP SO,200,30
1036IF K$="M" THEN IF NO>=10 AND NO<=15 LET C(X,Y)=0 ELSE LET MA$="INDIGESTE!":PV(P)=PV(P)-2
1037IF K$="P" LET OB$(P)=OB$:C(X,Y)=0:NO(P)=NO
1038IF K$="L" AND C(X,Y)=0 LET C(X,Y)=NO(P):NO(P)=0:OB$(P)="" ELSE IF K$="L" THEN LET MA$="PAS ICI!
1039IF MA$<>"" THEN LOCATE 0,5:PRINT MA$
1040GOSUB "VIDE":GOSUB "MISAJOUR":GOTO 230
1120"HASARD"P1= RND 3
1130IF M(P1)=1 THEN 1120
1140RETURN
1150"AFF"TA$= MID$ (" "+ME$(0)+"   ",N,16)
1160IF INKEY$ = CHR$ (12) THEN WAIT 0 ELSE WAIT 20
1170IF RIGHT$ (TA$,3)="   " LET N=1:WAIT 0:RETURN
1190LOCATE 0,5:PRINT TA$;:N=N+1:GOTO 1150
1200"MORT"
1210LINE (G(P1),1)-(G(P1)+24,17),X,BF:PV(P1)=0:M(P1)=1
1215IF M(1)=1 AND M(2)=1 AND M(3)=1 THEN CLS :FOR I=0 TO 160 STEP 8:FOR J=7 TO 31 STEP 8:GCURSOR (I,J)
1216IF M(1)=1 AND M(2)=1 AND M(3)=1 THEN GPRINT "00406070747E3410":NEXT J:NEXT I:LOCATE 9,1:PRINT "GAME OVER!":END
1220RETURN
1230"LEV"
1240CLS :LOCATE 15,1:PAUSE "LET'S GO ON !!!!"
1250LE=LE+U:ERASE C():OB$(3)="":NO(3)=0
1255IF LE=7 THEN "FIN
1260CLS :GOTO 40
1270"OBJET"
1280RESTORE 3000
1290READ NO,OB$,OB
1300IF NO<>C(X,Y) THEN 1290
1310LOCATE 0,5:PRINT OB$
1320RETURN
1330"COGN"
1340FOR P1=1 TO 3:IF PV(P1)>0 LET PV(P1)=PV(P1)-1
1341IF PV(P1)=0 AND M(P1)=0 THEN GOSUB "MORT"
1345NEXT P1
1346GCURSOR (32,31):GPRINT CC$+CC$
1350LOCATE 0,5:PRINT "AIE!!":BEEP SO,100,30:GOSUB "MISAJOUR"
1360RETURN
1370"MONST"
1380RESTORE 3020
1390READ NM,MO$,PM
1395IF NM<>C2THEN GOTO 1390
1396LOCATE 0,5:PRINT MO$
1400ON NM-30 GOTO "VER","CHE","SPE","DEM","FLA","POD","LIM","GRO","PON","PLU"
1401"VER" GCURSOR (13,19):GPRINT "0000000000000080C0C0C0C0C04040489090A0A060A04080":GCURSOR (13,27)
1402GPRINT "000000000000472F5A1F1F5A2F4F08080404040405050201":RETURN
1403"CHE" GCURSOR (10,19)
1404GPRINT "000030F0C080FCFEFFFCF080E03818000000000000C0F0FCFFFCF0C0000000"
1405GCURSOR (10,27):GPRINT "0000000001231F3F1F0F1F2F0300000000000000104E3F07"
1406GCURSOR (34,27):GPRINT "2F1F3F1F1F2E0000":RETURN
1407"SPE" GCURSOR (13,11):GPRINT "000000000000010304183CFEFFFE3C180403010000000000":GCURSOR (13,19)
1408GPRINT "00010204085038540AFD01143C407D8506847C0000000000"
1409GCURSOR (21,27):GPRINT "007E81817F81817E":RETURN
1410"FRAP"
1411IF (C2=0 OR C2=1) AND M(P)=0 THEN LOCATE 0,5:PRINT "coup pour rien!":GOTO 235
1415IF M(P)=1 THEN 235
1420PM=PM- INT (PV(P)/4)+1
1425GCURSOR (32,31):CH$= STR$ (PM):GOSUB "FONT5":GPRINT CH$(0)+"0000
1430IF PM<=0 THEN LET C(K2,L2)=0:LOCATE 0,5:PRINT "mort!!        "::GOSUB 1000:GOTO 270
1440GOSUB "TRUC
1450GOTO 235
1999"TRUC"
2000IF RND 3<3 THEN GOSUB 1120:PV(P1)=PV(P1)- RND 5:LOCATE 0,5:PRINT "AIE!     ":GOSUB 1000:IF PV(P1)<0 THEN GOSUB 1200
2001GCURSOR (32,31):GPRINT CC$+CC$
2002RETURN
2020"DEM" GCURSOR (18,19):GPRINT "0000000001C2ECFEFEECE261C0986018"
2025GCURSOR (18,27):GPRINT "02040202245B8F0F0F8F592006010000":RETURN
2030"FLA" GCURSOR (18,19):GPRINT "1CE00E30CC020C10E0080601F80700C"
2035GCURSOR (18,27):GPRINT "1863849CF9E4FCF8FDFFF3781C030000":RETURN
2040"POD" GCURSOR (18,19):GPRINT "C626580838041C04041C0438085846C6"
2045GCURSOR (18,27):GPRINT "010205080E101C10101C100E08050201":RETURN
2050"LIM" GCURSOR (18,19):GPRINT "002024284848F0C0F8E45350880C0280"
2055GCURSOR (18,27):GPRINT "0000040422118F413F41810608010100":RETURN
2060"GRO" GCURSOR (18,19):GPRINT "000040E060F84402C23C000000000000"
2065GCURSOR (18,27):GPRINT "0000000001000003641C1C1C7C020200":RETURN
2070"PON" GCURSOR (18,19):GPRINT "00003048456952202052694548300000"
2075GCURSOR (18,27):GPRINT "00000008183C040402028E0600000000":RETURN
2080"PLU" GCURSOR (18,19):GPRINT "0000242448D060BF60D0482424000000"
2085GCURSOR (18,27):GPRINT "00000201011D030203031D0102000000":RETURN
2500"ZZ" GOSUB "VIDE"
2510LINE (0,0)-(51,31),S,BF:GCURSOR (15,19):GPRINT "81C1A191898583810088C8A898880088C8A89888
2520IF INKEY$ <>"" OR PV(1)>110 OR PV(2)>87 OR PV(3)>60 THEN 270
2540FOR E=1 TO 3:PV(E)=PV(E)+2*-(M(E)=0):NEXT E
2550GOSUB "MISAJOUR":GOTO 2520
2600"FIN"
2610CLS :LOCATE 8,1:PRINT "BRAVO!!vous avez triomphe !":LOCATE 8,2:PRINT "quelle patiente!a la prochain
2620END
2650"FONT"
2651GCURSOR (15,20):GPRINT "00420018442424FC924929294491000":GCURSOR (15,28)
2652GPRINT "F81414132222223F22222222121415F8":RETURN
2660"JOU"
2662FOR P2=1 TO 3
2664IF M(P2)<>0 LET M(P2)=0:PV(P2)=20:LINE (G(P2),1)-(G(P2)+24,17),X,BF
2665NEXT P2:RETURN
2700"SON"SO$="101C1F1C10":IF SO=0 LET SO$="101C131C10"
2710GCURSOR (136,45):GPRINT SO$:RETURN
2800"FONT5"CH$(0)="":FOR GR=1 TO LEN CH$
2810CH$(0)=CH$(0)+GR$( ASC ( MID$ (CH$,GR,1))-45)
2820NEXT GR
2830RETURN
2900"VIDE" LOCATE 0,5:PRINT "                 ";:RETURN
2950"DIRECT" GCURSOR (77,9):IF A1=90 THEN GPRINT "04021F0204
2955IF A1=360 OR A1=0 THEN GPRINT "08082A1C08
2960IF A1=270 THEN GPRINT "04081F0804
2965IF A1=180 THEN GPRINT "081C2A0808
2970RETURN
3000DATA 10,"LASAGNES",8,11,"CHAMPAGNE",3,12,"HAMBURGER",9,13,"BOUDIN",5
3005DATA 14,"CHORIZO",7,15,"PIZZA",10
3010DATA 16,"BROUETTE",0,17,"DENTIER",0,18,"PARACHUTE",0,19,"GOMME",0
3015DATA 20,"ASPIRATEUR",0,21,"NOUNOURS",0,22,"ENCLUME",0,23,"CANAPE",0
3016DATA 24,"SERVIETTE",0,25,"MERDE",0
3020DATA 31,"VER GEANT",152,32,"SPECTRES",135,33,"CHEVALIER",210,34,"DEMON",85,35
3030DATA "FLAMME",112,36,"PODDLE",112,37,"BROUTCHMOL",184,38,"VEXIRK",85
3035DATA 39,"PONGE",101,40,"ARACHNO",111
5100DATA 2,3,1,3,3,1,4,3,1,5,3,1,6,3,1,8,3,1,10,3,1,15,3,1
5101DATA 8,2,1,15,2,1,9,11,4
5102DATA 3,4,1,8,4,1,10,4,1,15,4,1,16,4,1,18,4,1
5103DATA 3,5,1,8,5,1,10,5,1
5104DATA 3,6,1,10,6,1
5105DATA 8,7,1,9,7,1,10,7,1
5106DATA 8,8,1
5107DATA 8,9,1,10,9,1
5108DATA 8,10,1,9,10,1,10,10,1,11,10,1,12,10,1
5109DATA 8,11,1,12,11,1
5110DATA 8,12,1,12,12,1
5111DATA 8,13,1,9,13,1,11,13,1,12,13,1
5112DATA 7,14,1,13,14,1,14,14,1,15,14,1,16,14,1,17,14,1
5113DATA 4,15,1,5,15,1,6,15,1,2,16,1
5114DATA 4,16,1,5,16,1,8,16,1,9,16,1,10,16,1,11,16,1,13,16,1,14,16,1,16,16,1,17,16,1
5115DATA 8,17,1,9,17,1,11,17,1,13,17,1,14,17,1,16,17,1,17,17,1,9,2,2
5116DATA 11,18,1,-1
5200DATA 3,2,1,9,2,3
5201DATA 3,3,1,4,3,1,7,3,1,14,3,1,16,3,1
5202DATA 3,4,1,6,4,1,9,4,1,12,4,1,14,4,1,16,4,1,17,4,1
5203DATA 3,5,1,5,5,1,8,5,1,12,5,1,16,5,1
5204DATA 5,6,1,6,6,1,9,6,1,10,6,1,12,6,1,13,6,1
5205DATA 2,7,1,3,7,1,5,7,1,8,7,1,14,7,1,16,7,1,17,7,1,18,7,1
5206DATA 3,8,1,5,8,1,7,8,1,8,8,1,14,8,1
5207DATA 5,9,1,8,9,1,14,9,1
5208DATA 3,10,1,4,10,1,6,10,1,7,10,1,8,10,1,14,10,1,15,10,1,16,10,1
5209DATA 16,11,1
5210DATA 2,12,1,3,12,1,4,12,1,5,12,1,6,12,1,7,12,1,8,12,1,14,12,1,16,12,1
5211DATA 8,13,1,14,13,1,16,13,1,17,13,1
5212DATA 3,14,1,5,14,1,8,14,1,14,14,1,16,14,1
5213DATA 9,15,1,11,15,1,12,15,1,13,15,1,16,15,1,18,15,1
5214DATA 3,16,1,5,16,1,7,16,1,11,16,1,15,16,1
5215DATA 9,17,1,11,17,1,13,17,1,14,17,1,17,17,1
5216DATA 3,18,1,5,18,1,7,18,1,11,18,1,16,18,1,17,18,2,-1
5300DATA 3,2,1,6,2,1,8,2,1,10,2,1,17,2,2
5301DATA 10,3,1,13,3,1,16,3,1,18,3,1
5302DATA 3,4,1,5,4,1,7,4,1,11,4,1,13,4,1,15,4,1,10,4,4
5303DATA 3,5,1,4,5,1,5,5,1,6,5,1,7,5,1,8,5,1,9,5,1,10,5,1,11,5,1,15,5,1,17,5,1
5304DATA 3,6,1,11,6,1,13,6,1,14,6,1,17,6,1
5305DATA 3,7,1,5,7,1,6,7,1,7,7,1,8,7,1,10,7,1,13,7,1,16,7,1
5306DATA 3,8,1,5,8,1,11,8,1,13,8,1,15,8,1,17,8,1
5307DATA 3,9,1,5,9,1,7,9,1,8,9,1,9,9,1,10,9,1,11,9,1,17,9,1
5308DATA 3,10,1,5,10,1,12,10,1,14,10,1,15,10,1,17,10,1
5309DATA 3,11,1,6,11,1,7,11,1,8,11,1,9,11,1,10,11,1
5310DATA 3,12,1,5,12,1,11,12,1,13,12,1,15,12,1,16,12,1,17,12,1,18,12,1
5311DATA 3,13,1,6,13,1,9,13,1,10,13,1,12,13,1,13,13,1,15,13,1
5312DATA 3,14,1,5,14,1,15,14,1,17,14,1
5313DATA 3,15,1,6,15,1,8,15,1,9,15,1,10,15,1,12,15,1,13,15,1,15,15,1,17,15,1
5314DATA 3,16,1,6,16,1,8,16,1,11,16,1,15,16,1,17,16,1
5315DATA 3,17,1,4,17,1,5,17,1,6,17,1,13,17,1,15,17,1
5316DATA 11,18,1,13,18,1,17,18,3,-1
5400DATA 5,2,1,11,2,1,16,2,1,17,2,3
5401DATA 3,3,1,5,3,1,7,3,1,8,3,1,9,3,1,11,3,1,14,3,1
5402DATA 3,4,1,5,4,1,16,5,1,17,5,1,18,5,1
5403DATA 3,5,1,5,5,1,6,5,1,7,5,1,8,5,1,9,5,1,10,5,1,11,5,1,13,5,1,14,5,1,16,5,1
5404DATA 4,6,1,11,6,1
5405DATA 11,7,1,13,7,1,14,7,1,15,7,1,16,7,1
5406DATA 8,8,2,7,8,1,11,8,1,16,8,1,17,8,1,18,8,1
5407DATA 2,9,1,3,9,1,4,9,1,11,9,1,12,9,1,14,9,1,16,9,1
5408DATA 4,10,1,8,10,1,14,10,1
5409DATA 4,11,1,7,11,1,10,11,1,12,11,1,16,11,1
5410DATA 4,12,1,5,12,1,7,12,1,13,12,1,15,12,1,16,12,1,17,12,1
5411DATA 8,13,1,9,13,1,10,13,1,11,13,1,12,13,1,16,13,1
5412DATA 3,14,1,6,14,1,7,14,1,8,14,1,10,14,1,16,14,1
5413DATA 5,15,1,8,15,1,10,15,1,12,15,1,13,15,1,17,15,1
5414DATA 2,16,1,3,16,1,4,16,1,12,16,1,13,16,1,15,16,1,17,16,1
5415DATA 4,17,1,7,17,1,8,17,1,9,17,1,10,17,1,15,17,1,17,17,1
5416DATA 10,18,1,15,18,1,-1
5500DATA 2,2,2,4,2,1,10,2,1,11,2,2,13,2,2,15,2,1
5501DATA 2,3,1,4,3,1,6,3,1,7,3,1,8,3,1,10,3,1,11,3,1,13,3,1,15,3,1,17,3,1
5502DATA 2,4,2,4,4,1,6,4,1,7,4,1,8,4,1,10,4,1,15,4,1,17,4,1
5503DATA 2,5,1,4,5,1,6,5,1,7,5,1,8,5,1,10,5,1,11,5,1,12,5,1,14,5,1,15,5,1,17,5,1
5504DATA 2,6,2,4,6,1,10,6,1,17,6,1
5505DATA 2,7,1,4,7,1,7,7,1,8,7,1,9,7,1,10,7,1,11,7,1,12,7,1,16,7,1
5506DATA 2,8,2,4,8,1,7,8,1,8,8,3,15,8,1,18,8,1
5507DATA 2,9,1,7,9,1,8,9,1,9,9,1,11,9,1,16,9,1
5508DATA 2,10,2,4,10,1,7,10,1,9,10,1,11,10,1,12,10,1,13,10,1,14,10,1,17,10,1
5509DATA 2,11,1,4,11,1,7,11,1,11,11,1,16,11,1
5510DATA 2,12,2,4,12,1,7,12,1,8,12,1,9,12,1,14,12,1,15,12,1
5511DATA 2,13,1,4,13,1,7,13,1,11,13,1,13,13,1,15,13,1,16,13,1,17,13,1
5512DATA 2,14,2,4,14,1,7,14,1,9,14,1,11,14,1,15,14,1
5513DATA 2,15,1,4,15,1,7,15,1,9,15,1,10,15,1,13,15,1,14,15,1,15,15,1,16,15,1,17,15,1
5514DATA 2,16,2,4,16,1,7,16,1,8,16,4,9,16,1,13,16,1,15,16,1
5515DATA 2,17,1,4,17,1,7,17,1,8,17,1,9,17,1,13,17,1,15,17,1,17,17,1,18,17,1
5516DATA 2,18,2,4,18,1,13,18,1,-1
5600DATA 2,2,3,4,2,1,6,2,4,11,2,3,13,2,3
5601DATA 2,3,1,4,3,1,16,3,4
5602DATA 2,4,3,4,4,1
5603DATA 2,5,1,4,5,1,9,5,4,13,5,4
5604DATA 2,6,3,4,6,1,18,6,4
5605DATA 2,7,1,4,7,1,5,7,4,11,7,4
5606DATA 2,8,3,4,8,1,16,8,4
5607DATA 2,9,1,4,9,1,5,9,1,6,9,1,7,9,1,8,9,1,9,9,1,10,9,1,14,9,1,15,9,1,16,9,1,17,9,1
5608DATA 18,9,1,2,10,3,12,10,4,17,10,2,18,10,1
5609DATA 2,11,1,4,11,1,5,11,1,6,11,1,7,11,1,8,11,1,9,11,1,10,11,1,14,11,1,15,11,1,16
5610DATA 11,1,17,11,1,18,11,1,2,12,13,4,12,1
5611DATA 2,13,1,4,13,1,6,13,4
5612DATA 2,14,3,4,14,1,15,14,4
5613DATA 2,15,1,4,15,1,10,15,4
5614DATA 2,16,3,4,16,1,7,16,4,17,16,4
5615DATA 2,17,1,4,17,1,12,17,4
5616DATA 2,18,3,4,18,1,9,18,4,-1,1,1
6000DATA "040400","","","0E11110E00","021F00","1219151200","1115150A00","0C0A1D0800"
6010DATA "1715150900","0E15150900","0119070100","0A15150A00","0215150E00"
7000AA$= INKEY$ :IF AA$="" THEN 7000
7001PRINT ASC (AA$)
7002END
8000OPEN "COM1:"
8010FOR B=0 TO 47
8020FOR A=0 TO 143
8030PRINT #1, STR$ POINT (A,B);
8040NEXT
8050NEXT
8060CLOSE #1
8070RETURN
Dernière édition par charognard le 26 août 2009 23:07, édité 3 fois.

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Mes vacances .... le retour

Message par charognard » 22 août 2009 15:31

J'en ai profité aussi pour commencer un article, mes là c'est que le début, donc non relu, non corrigé et surtout qu'à 50% de sa totalité
je vous demanderais donc d'étre indulgent en attendant que je termine ..... un jour
et surtout dene pas le repomper pour alimenter des pages perso .... depuis 1664 :twisted:
l'article en cours de rédaction
Dernière édition par charognard le 23 août 2009 02:23, édité 1 fois.

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Mes vacances .... le retour

Message par charognard » 22 août 2009 15:40

pour finir 2 videos sans prétention.
video1
video2

Avatar de l’utilisateur
Ythunder
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4571
Inscription : 09 août 2008 17:46
Localisation : 03

Re: Mes vacances .... le retour

Message par Ythunder » 22 août 2009 15:47

charognard a écrit :pour finir 2 videos sans prétention.
video1
video2
ça ne fonctionne pas :(
On cherche a vendre la voiture neuve de mon père décédé en janvier, une KONA Hyundai diesel à boite automatique, sans doute - de 10000 kms. Superbe état. On cherche à payer le LOA en cours, donc si qq est intéressé me faire signe. Vuus pouvez acheter les yeux fermé, 0 défauts.

Je suis CHARLIE
Tell me boy, do you have a room, in your heart, for the Computer boom...

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Mes vacances .... le retour

Message par charognard » 22 août 2009 15:49

Ythunder a écrit :
charognard a écrit :pour finir 2 videos sans prétention.
video1
video2
ça ne fonctionne pas :(
c'était en upload !!!
t'es trop pressé toi :lol:
il y avait quand même tout le reste à lire

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Mes vacances .... le retour

Message par charognard » 22 août 2009 17:48

j'aurais pu amener le ZR1, mais cette machine limitée me botte moins .... ça va peut etre venir, j'espère, sinon ça sens la vente :|
Tu part 2 semaines et paf on change le forum sans m'avertir :lol:

Tipoucet
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3767
Inscription : 10 janv. 2009 14:47

Re: Mes vacances .... le retour

Message par Tipoucet » 22 août 2009 21:03

Bonjour Charognard,

comme tu t'es absenté du forum trop longtemps, tu dois de nouveau aller te présenter dans la rubrique "présentation", et surtout montrer des vraies cartes postales avec du soleil, des cocotiers des nanas, et pas 3 km de listings en C ... Tu es sûr que c'était des vacances ? :wink: :wink: :wink:

Non je rigole ... bravo pour les vidéos, bien décalées. Enfin on a la preuve que le Canon X07 est une vraie machine de poche ... A+ :wink: :wink: :wink:

EDIT : et content de te revoir ...
Dernière édition par Tipoucet le 22 août 2009 21:44, édité 1 fois.
Dominique

Avatar de l’utilisateur
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7462
Inscription : 12 févr. 2007 19:36
Localisation : Pas très loin de Lyon
Contact :

Re: Mes vacances .... le retour

Message par badaze » 22 août 2009 21:08

charognard a écrit :j'aurais pu amener le ZR1, mais cette machine limitée me botte moins .... ça va peut etre venir, j'espère, sinon ça sens la vente :|
Tu part 2 semaines et paf on change le forum sans m'avertir :lol:
Je ne suis pas loin de penser qu'ils ont attendu ton départ pour procéder à la migration !!!!

;)
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.

Avatar de l’utilisateur
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5593
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Mes vacances .... le retour

Message par Marge » 23 août 2009 03:56

Oué.
T'étais où déjà ?
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Mes vacances .... le retour

Message par charognard » 23 août 2009 11:11

Marge a écrit :Oué.
T'étais où déjà ?
en vacances

retrogameold
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1302
Inscription : 10 août 2008 11:12
Localisation : RetroGame-Land
Contact :

Re: Mes vacances .... le retour

Message par retrogameold » 23 août 2009 11:25

charognard a écrit :
Marge a écrit :Oué.
T'étais où déjà ?
en vacances
Ah ça c'est une réponse! :lol:
Viendez regarder quelques lives!
http://www.youtube.com/retrogameold

Avatar de l’utilisateur
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4594
Inscription : 31 oct. 2006 16:08
Localisation : 67310 Westhoffen
Contact :

Re: Mes vacances .... le retour

Message par pir2 » 23 août 2009 14:55

Salut Charo, bon retour sur le nouveau forum :D .

Regarde tes MP ;)
Image
Image

Répondre

Revenir vers « Tous les Pockets »