Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Actualités


Index du Forum » Actualités » Rendre un add-in compatible SH4
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Rendre un add-in compatible SH4

Posté le 03/01/2013 13:37

Bonjour à tous, Casiofans. Après quelques mois de stress face aux incompatibilités entre les add-ins destinés aux anciennes calculatrices et les nouveaux modèles SH4, nous avons la joie de vous annoncer une excellente nouvelle... des anglophones ont trouvé le moyen de rendre compatibles les programmes C/C++ grâce à un morceau de code à ajouter.

La fonction qui permet l'accès au clavier de la calculatrice était en effet incompatible parce que le changement de processeur entraînait un changement d'adresses en mémoire. Le morceau de code suivant y remède :

http://pastebin.com/ApF7Z2bW

Quant à MonochromeLib, la librairie de Pierrotll, il faut remplacer :

ça
ça
static int SysCallCode[] = {0xD201422B,0x60F20000,0x80010070};
static int (*SysCall)( int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallCode;
char* ML_vram_adress()
{
return (char*)((*SysCall)(0, 0, 0, 0, 309));
}

par ça
par ça
typedef char*(*sc_cpv)(void);
const unsigned int sc0135[] = { 0xD201D002, 0x422B0009, 0x80010070, 0x0135 };
#define ML_vram_adress (*(sc_cpv)sc0135)


En espérant que les développeurs adaptent vite leurs jeux.

Source : Universal Casio Forum


Précédente 1, 2, 3 ··· 9, 10, 11, 12, 13 Suivante
Tsuneo Hors ligne Membre Points: 973 Défis: 51 Message

Citer : Posté le 02/09/2013 16:19 | #


Pas besoin de tous ces smileys pour s'exprimer... Et renseigne-toi un peu avant de demander, Ziqumu a justement publié son outil pour rendre compatible les add-ins en SH4 juste au-dessus...

Calculatrices : Graph 35+ USB tweakée et Classpad 330
Suivez moi et mon humour dévastateur ici focliquéla
Casimo Hors ligne Membre Points: 141 Défis: 0 Message

Citer : Posté le 06/09/2013 18:22 | #


@Ziqumu: Non, mais on pourra demander Simon.

http://www.casiopeia.net/forum/viewtopic.php?f=21&t=1596
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 24/05/2014 10:15 | #


Je comprends pas trop ou il faut mettre ca ...
Faut le mettre au debut du fichier principal ?
Par ce que en le mettant au debut de mon fichier, le compilo me sort:
Mr Compilateur a dit:
Cliquer pour enrouler

Executing Hitachi SH C/C++ Compiler/Assembler phase

set SHC_INC=C:\Documents and Settings\User\Bureau\User\New Folder\OS\SH\include
set PATH=C:\Documents and Settings\User\Bureau\User\New Folder\OS\SH\bin
set SHC_LIB=C:\Documents and Settings\User\Bureau\User\New Folder\OS\SH\bin
set SHC_TMP=C:\Documents and Settings\User\Bureau\User\Casio\AGBS\Debug
    WARNING: The following dependant file(s) do not exist: "AGBS.h" "MonochromeLib.h" "memory.h" "jeu.h". Line: 80
"C:\Documents and Settings\User\Bureau\User\New Folder\OS\SH\bin\shc.exe" -subcommand=C:\DOCUME~1\User\LOCALS~1\Temp\hmk1A.tmp

C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(48) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_SHIFT" (declared at line 107 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(49) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_ALPHA" (declared at line 108 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(50) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_OPTN" (declared at line 109 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(51) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_VARS" (declared at line 110 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(52) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_UP" (declared at line 111 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(53) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_DOWN" (declared at line 112 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(54) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_LEFT" (declared at line 113 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(55) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_RIGHT" (declared at line 114 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(56) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_F1" (declared at line 115 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(57) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_F2" (declared at line 116 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(58) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_F3" (declared at line 117 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(59) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_F4" (declared at line 118 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(60) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_F5" (declared at line 119 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(61) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_F6" (declared at line 120 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(62) : C5047 (W) Incompatible redefinition of macro "KEY_CTRL_MENU" (declared at line 133 of "C:\Documents and Settings\User\Bureau\User\New Folder\OS\FX\include\keybios.h")
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(76) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(76) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(76) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(76) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(274) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(276) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(277) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(278) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(279) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(280) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(281) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(291) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(572) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(573) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(574) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(575) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(585) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(681) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\AGBS.c(734) : C1016 (W) Argument mismatch
    WARNING: The following dependant file(s) do not exist: "AGBS.h" "MonochromeLib.h" "memory.h" "jeu.h". Line: 97
    WARNING: The following dependant file(s) do not exist: "AGBS.h" "MonochromeLib.h" "memory.h" "jeu.h". Line: 114
    WARNING: The following dependant file(s) do not exist: "AGBS.h" "MonochromeLib.h" "memory.h" "jeu.h". Line: 131
"C:\Documents and Settings\User\Bureau\User\New Folder\OS\SH\bin\shc.exe" -subcommand=C:\DOCUME~1\User\LOCALS~1\Temp\hmk1B.tmp
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(287) : C2114 (E) Multiple variable declarations
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(287) : C2129 (E) Illegal initializer type
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(326) : C2220 (E) Modifiable lvalue required for "="
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(326) : C2222 (E) Type not compatible for "="
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(349) : C2220 (E) Modifiable lvalue required for "="
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(349) : C2222 (E) Type not compatible for "="
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(371) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(854) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(862) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(870) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(889) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(897) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(908) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(930) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(938) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(955) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(964) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\AGBS\jeu.c(1120) : C1016 (W) Argument mismatch

HMAKE MAKE UTILITY Ver. 1.1
Copyright (C) Hitachi Micro Systems Europe Ltd. 1998
Copyright (C) Hitachi Ltd. 1998


    ERROR: Process failed with return code: 1
Build was not successful.

Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 24/05/2014 10:17 | #


Problème avec l'inclusion de fxlib qui implique une redéfinition des macros.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 24/05/2014 10:18 | #


Ben oui mais je peux pas enlever fxlib si
Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 24/05/2014 10:19 | #


Tu n'as qu'à enlever les doublons des touches
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 24/05/2014 11:16 | #


Bon voila je fait part de mon problème:
Le code
Cliquer pour enrouler
// --------------------------------------- DE LA ---------------------------------------
#define __KEYBIOS_H__
#include "fxlib.h"
#define KEY_CHAR_0 71
#define KEY_CHAR_1 72
#define KEY_CHAR_2 62
#define KEY_CHAR_3 52
#define KEY_CHAR_4 73
#define KEY_CHAR_5 63
#define KEY_CHAR_6 53
#define KEY_CHAR_7 74
#define KEY_CHAR_8 64
#define KEY_CHAR_9 54
#define KEY_CHAR_DP 61
#define KEY_CHAR_EXP 51
#define KEY_CHAR_PMINUS 41
#define KEY_CHAR_PLUS 42
#define KEY_CHAR_MINUS 32
#define KEY_CHAR_MULT 43
#define KEY_CHAR_DIV 33
#define KEY_CHAR_FRAC 75
#define KEY_CHAR_LPAR 55
#define KEY_CHAR_RPAR 45
#define KEY_CHAR_COMMA 35
#define KEY_CHAR_STORE 25
#define KEY_CHAR_LOG 66
#define KEY_CHAR_LN 56
#define KEY_CHAR_SIN 46
#define KEY_CHAR_COS 36
#define KEY_CHAR_TAN 26
#define KEY_CHAR_SQUARE 67
#define KEY_CHAR_POW 57
#define KEY_CTRL_EXE 31
#define KEY_CTRL_DEL 44
#define KEY_CTRL_AC 32
#define KEY_CTRL_FD 65
#define KEY_CTRL_EXIT 47
#define KEY_CTRL_SHIFT 78
#define KEY_CTRL_ALPHA 77
#define KEY_CTRL_OPTN 68
#define KEY_CTRL_VARS 58
#define KEY_CTRL_UP 28
#define KEY_CTRL_DOWN 37
#define KEY_CTRL_LEFT 38
#define KEY_CTRL_RIGHT 27
#define KEY_CTRL_F1 79
#define KEY_CTRL_F2 69
#define KEY_CTRL_F3 59
#define KEY_CTRL_F4 49
#define KEY_CTRL_F5 39
#define KEY_CTRL_F6 29
#define KEY_CTRL_MENU 48
#ifndef OS2Change
#define OS2Change
#ifndef OS2Change_GetOS2
#define OS2Change_GetOS2
typedef int(*sc_i2cp2sip)(char*, char*, short int*, short int*);
const unsigned int sc0015[] = { 0xD201D002, 0x422B0009, 0x80010070, 0x0015 };
#define GlibGetOSVersionInfo (*(sc_i2cp2sip)sc0015)
int OSVersionAsInt(void)
{
unsigned char mainversion;
unsigned char minorversion;
unsigned short release;
unsigned short build;
GlibGetOSVersionInfo( &mainversion, &minorversion, &release, &build );
return ( ( mainversion << 24 ) & 0xFF000000 ) | ( ( minorversion << 16 ) & 0x00FF0000 ) | ( release & 0x0000FFFF );
}
#define isOS2 (OSVersionAsInt() >= 0x02020000)
#define OS2(x,y) ((OSVersionAsInt() >= 0x02020000)?y:x)
#endif
#ifndef OS2Change_Keyboard
#define OS2Change_Keyboard
void delay(void)
{
char i;
for (i=0; i<5; i++){};
}
unsigned char CheckKeyRow(unsigned char code)
{
unsigned char result=0;
short*PORTB_CTRL=(void*)0xA4000102;
short*PORTM_CTRL=(void*)0xA4000118;
char*PORTB=(void*)0xA4000122;
char*PORTM=(void*)0xA4000138;
char*PORTA=(void*)0xA4000120;
short smask;
char cmask;
unsigned char column, row;
column = code>>4;
row = code &0x0F;
smask = 0x0003 << (( row %8)*2);
cmask = ~( 1 << ( row %8) );
if(row <8)
{
  *PORTB_CTRL = 0xAAAA ^ smask;
  *PORTM_CTRL = (*PORTM_CTRL & 0xFF00 ) | 0x00AA;
  delay();
  *PORTB = cmask;
  *PORTM = (*PORTM & 0xF0 ) | 0x0F;
}
else
{
  *PORTB_CTRL = 0xAAAA;
  *PORTM_CTRL = ((*PORTM_CTRL & 0xFF00 ) | 0x00AA)  ^ smask;
  delay();
  *PORTB = 0xFF;
  *PORTM = (*PORTM & 0xF0 ) | cmask;
}

delay();
result = (~(*PORTA))>>column & 1;
delay();
*PORTB_CTRL = 0xAAAA;
*PORTM_CTRL = (*PORTM_CTRL & 0xFF00 ) | 0x00AA;
delay();
*PORTB_CTRL = 0x5555;
*PORTM_CTRL = (*PORTM_CTRL & 0xFF00 ) | 0x0055;
delay();

return result;
}

unsigned char KeyDown(unsigned char keycode)
{
unsigned short key[8];
const unsigned short* keyboardregister = (unsigned short*)0xA44B0000;
if(isOS2)
{
  unsigned char row = keycode%10;
  memcpy(key, keyboardregister, sizeof(unsigned short) << 3);

  return (0 != (key[row >> 1] & 1 << keycode / 10 - 1 + ((row & 1) << 3)));
}
else
{
  return CheckKeyRow((keycode % 10) + ((keycode / 10 - 1) << 4));
}
}
unsigned char GetKeyMod(unsigned int *key)
{
unsigned char x, ret;

ret = GetKey(key);

for(x = 0; x < 80; x++)
{
  if(KeyDown(x))
  {
   *key = x;
   break;
  }
}
return ret;
}
#define IsKeyDown(x) KeyDown(x)
#define IsKeyUp(x) !KeyDown(x)
#define GetKey(x) GetKeyMod(x)
#endif
#endif
// --------------------------------------- A DE LA ---------------------------------------

#include "MonochromeLib.h"
#include "memory.h"
#include "AGBS.h"
#include "jeu.h"
#include <stdio.h>
#include <stdlib.h>




int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;
    
    Bdisp_AllClr_DDVRAM();

    demmarage();
    menu();

    return 1;
}


// DEMMARAGE - OK
void demmarage()
{
    const unsigned char fond[]={
        0x0,0x0,0x0,0x0,0x0,0x6,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0xe,0x0,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x1c,0x0,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x18,0x7c,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x18,0xd6,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x1d,0xbb,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x3f,0x6d,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x23,0xd7,0x88,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x3f,0x6d,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x1d,0xbb,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x18,0xd6,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x18,0x7c,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x1c,0x0,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0xe,0x0,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x6,0x0,0xc0,0x0,0x0,0x1,0x80,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x80,0x0,0xf,0xf0,0x0,
        0x0,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0xf,0x18,0x1,0x80,0x0,0x7f,0xfe,0x0,
        0x0,0x3,0x80,0x0,0x33,0x0,0x0,0x0,0xd,0x80,0x1,0x80,0x0,0x7f,0xfe,0x0,
        0x0,0x4,0x40,0x0,0x33,0x78,0xf3,0xed,0x8d,0x9b,0xef,0x9e,0x0,0xff,0xff,0x0,
        0x0,0x3c,0x20,0x0,0x3f,0x6d,0x9b,0x6d,0x8f,0x9b,0x6d,0xb0,0x1,0xff,0xff,0x80,
        0x0,0x40,0x10,0x0,0x33,0x6d,0x9b,0xd,0x8c,0xdb,0xd,0x9c,0x1,0xff,0xff,0x80,
        0x0,0x40,0x8,0x0,0x33,0x6d,0x9b,0xd,0x8c,0xdb,0xd,0x86,0x1,0xff,0xff,0x80,
        0x0,0x38,0x4,0x0,0x33,0x6c,0xfb,0x7,0x8f,0x9b,0xf,0xbc,0x1,0xff,0xff,0x80,
        0x0,0x40,0x2,0x0,0x0,0x0,0x18,0x1,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xc0,
        0x0,0x80,0x1,0x0,0x0,0x0,0xd8,0xd,0x80,0x0,0x0,0x0,0x3,0xff,0xff,0xc0,
        0x0,0x80,0x0,0x80,0x0,0x0,0xd8,0xd,0x80,0x0,0x0,0x0,0x3,0xe1,0x87,0xc0,
        0x1,0x7,0x83,0xc0,0x0,0x0,0xd8,0xd,0x80,0x0,0x0,0x0,0x3,0xdd,0xbb,0xc0,
        0x1,0x3,0xe7,0xa0,0x0,0x0,0x70,0x7,0x0,0x0,0x0,0x0,0x3,0xbe,0x7d,0xc0,
        0x3a,0x2,0x7f,0xa0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x7f,0xfe,0xc0,
        0x36,0x2,0x25,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x7f,0xfe,0xe0,
        0x1e,0x1,0x19,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x7d,0xbe,0x60,
        0x1e,0x0,0xe6,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe,0x83,0xc1,0x70,
        0x6,0x0,0x81,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xd,0xfe,0x7f,0xb0,
        0x1b,0x80,0xb0,0x90,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xd,0xfe,0x7f,0xb0,
        0x3,0xe0,0x4f,0x10,0x7,0xb0,0x0,0x6,0x1,0x80,0x0,0x0,0xd,0xef,0xf7,0xb0,
        0x1,0x78,0x38,0x70,0xc,0x30,0x0,0x6,0x1,0x80,0x0,0x0,0xa,0xdd,0xbb,0x50,
        0x0,0x9f,0x3,0xf0,0xc,0x3c,0xe7,0xc3,0x3,0x1c,0xf9,0xe0,0xb,0x3d,0xbc,0xd0,
        0x0,0x47,0xff,0xa0,0x7,0x31,0xb6,0xc3,0x33,0x36,0xdb,0x0,0x1b,0xf5,0xaf,0xd8,
        0x0,0x20,0xcc,0x40,0x1,0xb1,0xb6,0x1,0xfe,0x36,0xc1,0xc0,0x11,0xf5,0xaf,0x88,
        0x0,0x18,0x78,0x80,0x1,0xb1,0xb6,0x1,0xfe,0x36,0xc0,0x60,0x10,0xd5,0xab,0x8,
        0x0,0x7,0xff,0x0,0xf,0x30,0xd6,0x0,0xcc,0x1a,0xc3,0xc0,0x30,0x7d,0xbe,0xc,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xfd,0xbf,0xfc,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xf8,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xe0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xdf,0xf8,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x8f,0xf8,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x7,0xf8,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0x8f,0xfc,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0xdf,0xfc,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9,0xff,0xe4,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe,0x3f,0x1c,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xc0,0xf8,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xff,0xf8,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xff,0xf0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xe0,0x0,0x0,0x0,0x0,0x0
    };
    unsigned int key, erreur;
    unsigned char buffer[NBR_NIVEAUX+1];
    int handle;
    
    // GESTION FICHIER
    Bdisp_AllClr_DDVRAM();
    handle = memory_openfile("\\\\fls0\\angrysw.rgl",_OPENMODE_READ);
    if( handle < 0 ){
        // creation
        memory_createfile("\\\\fls0\\angrysw.rgl", T_FICHIER);
        // ouverture
        handle = memory_openfile("\\\\fls0\\angrysw.rgl",_OPENMODE_READWRITE);
        // ecriture
        buffer[0] = '1';
        for(key = 1; key<NBR_NIVEAUX+1; key++)    buffer[key] = '0';
        buffer[1] = '1';
        memory_writefile(handle,buffer,NBR_NIVEAUX+1);
        
        PrintMini(20,10,"Un fichier a ete cree:",0);
        PrintMini(35,17,"angrysw.rgl",0);
        PrintMini(1,30,"  Merci de ne pas le supprimer",0);
        PrintMini(1,36,"sous peine de vous exposer a la",0);
        PrintMini(1,42,"colere des oiseaux.",0);
        PrintMini(50,56,"[EXE]",0);
        do{
            GetKey(&key);
        }while(key != 30004);
    }
    memory_closefile(handle);
    
    // AFFICHAGE ECRAN D'ACCEUIL
    Bdisp_AllClr_DDVRAM();
    ML_bmp_or(fond, 0, 0, 128, 64);
    PrintMini(1,59,"TheProg",0);
    ML_display_vram();
    GetKeyWait(2, 2, 0, &key);
    Bdisp_AllClr_DDVRAM();
}



// MENU PRINCIPAL - OK
void menu()
{
    // SPRITES
    const unsigned char fond[]={
        0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0xe,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0xd,0x6f,0x79,0xb0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x6c,0x6d,0xb0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x6e,0x6d,0xb0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x6c,0x6d,0xb0,0x0,0x0,0x0,0x7,0xf0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x6f,0x6c,0xe0,0x0,0x0,0x0,0x38,0xe,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc0,0x1,0x80,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xd,0x58,0x0,0x0,0x0,0x1,0x0,0x0,0x40,
        0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfe,0xbf,0xff,0xfe,0x0,0x2,0x0,0x0,0x20,
        0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0xe,0xb8,0x0,0x1,0x0,0x4,0x0,0x0,0x10,
        0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfe,0xbf,0xff,0xfe,0x0,0x8,0x0,0x0,0x8,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xd,0x58,0x0,0x0,0x0,0x10,0x0,0x0,0x8,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x8,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x4,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x4,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x4,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x3,0xe0,0x4,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x3c,0x1f,0xc8,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x13,0xd0,0x4,0x38,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xd,0xd3,0x65,0xd4,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x16,0xb2,0x26,0x34,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0x80,0x0,0x0,0x0,0x0,0x16,0x30,0x6,0xb4,
        0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x0,0x0,0x25,0xcc,0x9,0xd2,
        0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x39,0xb7,0xbe,0x0,0x0,0x2a,0xb,0x10,0x34,
        0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x6d,0xb6,0x36,0x0,0x0,0x11,0x8,0xe0,0x48,
        0x0,0x0,0x0,0x0,0x0,0x0,0x36,0x6d,0xb7,0x30,0x0,0x0,0x0,0x87,0x0,0x80,
        0x0,0x0,0x0,0x0,0x0,0x0,0x36,0x6d,0xb6,0x30,0x0,0x0,0x0,0x60,0x3,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x1c,0x38,0xe7,0xb0,0x0,0x0,0x0,0x18,0xc,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xf0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x4,0x0,0x0,0x0,0x1,0xc0,0x31,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x6,0x80,0x0,0x0,0x3,0x60,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x3f,0x80,0x0,0x0,0x3,0x67,0x3d,0x9c,0xf1,0xe0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x3f,0x80,0x0,0x0,0x3,0x6d,0xb1,0xb6,0xdb,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x1f,0x80,0x0,0x0,0x3,0x6d,0xb1,0xb6,0xd9,0xc0,0x0,0x0,0x0,0x0,0x0,
        0x0,0xf,0x80,0x0,0x0,0x3,0x6d,0xb1,0xb6,0xd8,0x60,0x0,0x0,0x0,0x0,0x0,
        0x0,0xf,0x80,0x0,0x0,0x1,0xcf,0x31,0x9c,0xdb,0xc0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x8,0x80,0x0,0x0,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x10,0x40,0x0,0x0,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x20,0x20,0x0,0x0,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x20,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x40,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x80,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x80,0x2,0x0,0x0,0x1,0xf0,0xd,0x8c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x1,0x0,0x1,0x0,0x0,0x3,0x8,0x1,0x8c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x1,0x3c,0x1,0x80,0x0,0x3,0xb,0x6d,0xef,0x7b,0xe0,0x0,0x0,0x0,0x0,0x0,
        0x2,0xf,0x87,0x0,0x0,0x3,0xb,0x6d,0x8c,0x63,0x60,0x0,0x0,0x0,0x0,0x0,
        0x4,0x0,0xea,0x80,0x0,0x3,0x6b,0x6d,0x8c,0x73,0x0,0x0,0x0,0x0,0x0,0x0,
        0x24,0x0,0xbe,0x40,0x0,0x3,0x33,0x6d,0x8c,0x63,0x0,0x0,0x0,0x0,0x0,0x0,
        0x34,0x0,0x41,0x20,0x0,0x1,0xd9,0xcd,0x8c,0x7b,0x0,0x0,0x0,0x0,0x0,0x0,
        0x38,0x0,0x5f,0xa0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x38,0x0,0x44,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x18,0x0,0x38,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x6,0x0,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x1,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
    };
    const unsigned char pointeur_g[]={
        0x36,
        0x7c,
        0xff,
        0xff,
        0x7c,
        0x30
    };
    const unsigned char pointeur_d[]={
        0x6c,
        0x3e,
        0xff,
        0xff,
        0x3e,
        0xc
    };
    
    unsigned int choix, key;
    unsigned int x_g, x_d, y;
    
    choix = 0;
    x_g = 40;
    x_d = 82;
    y = 23;
    do{
        // AFFICHAGE
        Bdisp_AllClr_DDVRAM();
        ML_bmp_or(fond, 0, 0, 128, 64);
        ML_bmp_or(pointeur_g, x_g, y, 8, 6);
        ML_bmp_or(pointeur_d, x_d, y, 8, 6);
        
        // GESTION TOUCHES
        GetKey(&key);
        if(key == KEY_CTRL_UP) choix--;
        if(key == KEY_CTRL_DOWN) choix++;
        if(key == KEY_CTRL_EXE){
            while(IsKeyDown(KEY_CTRL_EXE));
            if(choix == 0) menu_jeu();
            if(choix == 1) options();
            if(choix == 2) break;
        }
        if(choix == -1) choix = 2;
        if(choix == 3) choix = 0;
        
        if(choix == 0){
            x_g = 40;
            x_d = 81;
            y = 23;
        }
        if(choix == 1){
            x_g = 36;
            x_d = 85;
            y = 35;
        }
        if(choix == 2){
            x_g = 36;
            x_d = 85;
            y = 48;
        }
        Sleep(50);
    }while(1);
}



// OPTIONS - OK
void options()
{
    // SPRITES
    const unsigned char fond[]={
        0x0,0x0,0x0,0x0,0x0,0x1,0xc0,0x31,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x3,0x60,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x1,0xff,0x80,0x0,0x0,0x3,0x67,0x3d,0x9c,0xf1,0xe0,0x0,0x0,0x0,0x0,0x0,
        0x7,0x0,0xe0,0x0,0x0,0x3,0x6d,0xb1,0xb6,0xdb,0x0,0x0,0x0,0x0,0x0,0x0,
        0x8,0x0,0x10,0x0,0x0,0x3,0x6d,0xb1,0xb6,0xd9,0xc0,0x0,0x0,0x0,0x0,0x0,
        0x18,0x0,0x18,0x0,0x0,0x3,0x6d,0xb1,0xb6,0xd8,0x60,0x0,0x0,0x0,0x0,0x0,
        0x18,0x0,0x18,0x0,0x0,0x1,0xcf,0x31,0x9c,0xdb,0xc0,0x0,0x0,0x0,0x0,0x0,
        0x18,0x0,0x18,0x0,0x0,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x10,0x0,0x8,0x0,0x0,0x0,0xc,0xd,0x58,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x3f,0xff,0xfc,0x0,0x0,0x7f,0xff,0xfe,0xbf,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,
        0x20,0x0,0x4,0x0,0x0,0xc0,0x0,0xe,0xb8,0x0,0x1,0x0,0x0,0x0,0x0,0x0,
        0x27,0xc3,0xe4,0x0,0x0,0x7f,0xff,0xfe,0xbf,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,
        0x23,0x81,0xc4,0x0,0x0,0x0,0x0,0xd,0x58,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x20,0x42,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x20,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x30,0x18,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x30,0x7e,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x40,0xc3,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x40,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x40,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x41,0x18,0x82,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x33,0xbd,0xcc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x9,0x3c,0x90,0x1,0xf0,0x18,0x0,0x36,0x30,0x1b,0x0,0x0,0x0,0x0,0x0,0x0,
        0x8,0x3c,0x10,0x1,0x98,0x0,0x0,0x6,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0x0,
        0x7,0xff,0xe0,0x1,0x9b,0xdb,0xcf,0x37,0xb3,0xdb,0x3d,0xef,0x80,0x0,0x0,0x0,
        0x0,0x0,0x0,0x1,0xf3,0x1b,0x6d,0xb6,0x36,0xdb,0x61,0x8d,0x80,0x0,0x0,0x0,
        0x0,0x0,0x0,0x1,0xb3,0x9b,0x6d,0xb6,0x36,0xdb,0x39,0xcc,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x1,0x9b,0x1b,0x6d,0xb6,0x36,0xdb,0xd,0x8c,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x1,0x9b,0xdb,0x6d,0xb6,0x33,0x5b,0x79,0xec,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xe6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x36,0x7b,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xe6,0xdb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x6,0xdb,0x80,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x6,0xdb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x6,0x6b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x80,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xd,0x60,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x13,0x90,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x21,0x8,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x8,0x0,
        0x0,0x0,0x0,0x0,0x0,0x1,0xf0,0x18,0x0,0x0,0x0,0x0,0x0,0x44,0x24,0x0,
        0x0,0x0,0x0,0x0,0x0,0x1,0x98,0x18,0x0,0x0,0x0,0x0,0x0,0x4e,0x74,0x0,
        0x0,0x0,0x0,0x0,0x0,0x1,0x9b,0xde,0x73,0x6f,0x0,0x0,0x0,0x40,0x4,0x0,
        0x0,0x0,0x0,0x0,0x0,0x1,0xf3,0x18,0xdb,0x6d,0x0,0x0,0x1,0xff,0xff,0x0,
        0x0,0x0,0x0,0x0,0x0,0x1,0xb3,0x98,0xdb,0x6c,0x0,0x0,0x2,0x44,0x44,0x80,
        0x0,0x0,0x0,0x0,0x0,0x1,0x9b,0x18,0xdb,0x6c,0x0,0x0,0x3,0x47,0xc5,0x80,
        0x0,0x0,0x0,0x0,0x0,0x1,0x9b,0xd8,0x71,0xcc,0x0,0x0,0x2,0x70,0x1c,0x80,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x53,0x95,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x50,0x15,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x73,0x9d,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x40,0x5,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xf7,0xdf,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x20,0x9,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x3f,0xf9,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xe4,0x4f,0x80,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x4f,0xe4,0x80,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x29,0x28,0x80,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xef,0xef,0x80
    };
    const unsigned char pointeur_g[]={
        0x36,
        0x7c,
        0xff,
        0xff,
        0x7c,
        0x30
    };
    const unsigned char pointeur_d[]={
        0x6c,
        0x3e,
        0xff,
        0xff,
        0x3e,
        0xc
    };
    
    unsigned int choix, key;
    unsigned int x_g, x_d, y;
    
    choix = 0;
    x_g = 21;
    x_d = 100;
    y = 23;
    do{
        // AFFICHAGE
        Bdisp_AllClr_DDVRAM();
        ML_bmp_or(fond, 0, 0, 128, 64);
        ML_bmp_or(pointeur_g, x_g, y, 8, 6);
        ML_bmp_or(pointeur_d, x_d, y, 8, 6);
        
        // GESTION TOUCHES
        GetKey(&key);
        if(key == KEY_CTRL_UP) choix--;
        if(key == KEY_CTRL_DOWN) choix++;
        if(key == KEY_CTRL_EXE){
            if(choix == 0) reinitialiser();
            if(choix == 1) piaf();
            if(choix == 2) break;
        }
        if(choix == -1) choix = 2;
        if(choix == 3) choix = 0;
        
        if(choix == 0){
            x_g = 21;
            x_d = 99;
            y = 23;
        }
        if(choix == 1){
            x_g = 44;
            x_d = 76;
            y = 35;
        }
        if(choix == 2){
            x_g = 37;
            x_d = 83;
            y = 47;
        }
        Sleep(50);
    }while(1);
}

void reinitialiser()
{
    unsigned char buffer[NBR_NIVEAUX+1];
    unsigned int nbr;
    int handle;
    
    Bdisp_AllClr_DDVRAM();
    PrintXY(1,1," Voulez-vous vraiment",0);
    PrintXY(1,8,"supprimer tout votre ",0);
    PrintXY(1,16,"avancement ?",0);
    PrintXY(47,36,"[EXE]",0);
    
    GetKey(&nbr);
    if(nbr != KEY_CTRL_EXE) return;
    
    memory_deletefile("\\\\fls0\\angrysw.rgl");
    memory_createfile("\\\\fls0\\angrysw.rgl", T_FICHIER);
    handle = memory_openfile("\\\\fls0\\angrysw.rgl",_OPENMODE_READWRITE);
    buffer[0] = '1';
    for(nbr = 1; nbr<NBR_NIVEAUX+1; nbr++)    buffer[nbr] = '0';
    memory_writefile(handle,buffer,NBR_NIVEAUX+1);
    memory_closefile(handle);
}

void piaf()
{
    // SPRITES
    const unsigned char fond[]={
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xe6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x36,0x7b,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0xe6,0xdb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x6,0xdb,0x80,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x6,0xdb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x6,0x6b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xd,0x58,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfe,0xbf,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0xc0,0x0,0xe,0xb8,0x0,0x1,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x7f,0xff,0xfe,0xbf,0xff,0xfe,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xd,0x58,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x33,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe,0x7,0x21,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0x18,0xc0,0x80,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0xa0,0x4c,0x80,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x26,0x40,0xd,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x26,0x0,0x3,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x4,0x0,
        0x0,0x0,0x0,0x0,0x0,0x3,0xe6,0x0,0x0,0x0,0x0,0x0,0xc,0x7,0x3,0x0,
        0x0,0x0,0x0,0x0,0x0,0x3,0x30,0x0,0x6,0x0,0x0,0x0,0x4,0x18,0xe0,0x80,
        0x0,0x0,0x0,0x0,0x0,0x3,0x36,0x7b,0xce,0x30,0x0,0x0,0x8,0x20,0x10,0x80,
        0x0,0x0,0x0,0x0,0x0,0x3,0xe6,0xdb,0x6,0x30,0x80,0x0,0x10,0x40,0x8,0x40,
        0x0,0x0,0x0,0x0,0x0,0x3,0x6,0xdb,0x86,0x1,0xc0,0x0,0x2e,0x8d,0x8b,0xa0,
        0x0,0x0,0x0,0x0,0x0,0x3,0x6,0xdb,0x6,0x30,0x80,0x0,0x51,0x9d,0xcc,0x50,
        0x0,0x0,0x0,0x0,0x0,0x3,0x6,0x6b,0xf,0x30,0x0,0x0,0x53,0x98,0xcc,0xd0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x51,0xc0,0x14,0x50,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4e,0x20,0x23,0x90,
        0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x1f,0xc0,0x10,
        0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x8,0x80,0x10,
        0x0,0x1c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x7,0x0,0x20,
        0x0,0x3f,0x0,0x0,0x0,0x3,0xe6,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x40,
        0x0,0x1e,0x0,0x0,0x0,0x3,0x30,0x0,0x6,0x0,0x0,0x0,0x8,0x0,0x0,0x80,
        0x0,0x33,0x0,0x0,0x0,0x3,0x36,0x7b,0xc9,0x30,0x0,0x0,0x6,0x0,0x3,0x0,
        0x0,0x40,0x80,0x0,0x0,0x3,0xe6,0xdb,0x1,0x31,0x80,0x0,0x1,0xe0,0xfc,0x0,
        0x3,0xe0,0x40,0x0,0x0,0x3,0x6,0xdb,0x82,0x1,0xc0,0x0,0x0,0x1f,0x0,0x0,
        0x1,0x97,0xfe,0x0,0x0,0x3,0x6,0xdb,0x4,0x31,0x80,0x0,0x0,0x0,0x0,0x0,
        0x3,0x28,0x1,0x80,0x0,0x3,0x6,0x6b,0xf,0x30,0x0,0x0,0x0,0x0,0x0,0x0,
        0x2,0x88,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x4,0x73,0xe0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x14,0x10,0x1e,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x18,0x10,0x1,0xe8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x18,0x8,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x18,0x7,0x0,0x10,0x0,0x1,0xf0,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x18,0x0,0xfe,0x20,0x0,0x1,0x98,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x4,0x0,0x21,0xc0,0x0,0x1,0x9b,0xde,0x73,0x6f,0x0,0x0,0x0,0x0,0x0,0x0,
        0x2,0x0,0x20,0x0,0x0,0x1,0xf3,0x18,0xdb,0x6d,0x0,0x0,0x0,0x0,0x0,0x0,
        0x1,0x0,0x40,0x0,0x0,0x1,0xb3,0x98,0xdb,0x6c,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0xc1,0x80,0x0,0x0,0x1,0x9b,0x18,0xdb,0x6c,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x3e,0x0,0x0,0x0,0x1,0x9b,0xd8,0x71,0xcc,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
    };
    const unsigned char pointeur_g[]={
        0x36,
        0x7c,
        0xff,
        0xff,
        0x7c,
        0x30
    };
    const unsigned char pointeur_d[]={
        0x6c,
        0x3e,
        0xff,
        0xff,
        0x3e,
        0xc
    };
    
    unsigned int choix, key, n_piaf;
    unsigned int x_g, x_d, y;
    int handle;
    
    unsigned char buffer[NBR_NIVEAUX+2];
    
    lecture_piaf(&n_piaf);
    choix = 0;
    x_g = 35;
    x_d = 86;
    y = 23;
    do{
        // AFFICHAGE
        Bdisp_AllClr_DDVRAM();
        ML_bmp_or(fond, 0, 0, 128, 64);
        ML_bmp_or(pointeur_g, x_g, y, 8, 6);
        ML_bmp_or(pointeur_d, x_d, y, 8, 6);
        
        // GESTION TOUCHES
        GetKey(&key);
        if(key == KEY_CTRL_UP) choix--;
        if(key == KEY_CTRL_DOWN) choix++;
        if(key == KEY_CTRL_EXE){
            if(choix == 0) n_piaf = 1;
            if(choix == 1) n_piaf = 2;
            if(choix == 2) break;
            choix = 2;
        }
        
        if(choix == -1) choix = 2;
        if(choix == 3) choix = 0;
        
        if(choix == 0){
            x_g = 35;
            x_d = 86;
            y = 23;
        }
        if(choix == 1){
            x_g = 35;
            x_d = 86;
            y = 35;
        }
        if(choix == 2){
            x_g = 36;
            x_d = 84;
            y = 47;
        }
        Sleep(50);
    }while(1);
    
    // ENREGISTREMENT DANS LE FICHIER
    handle = memory_openfile("\\\\fls0\\angrysw.rgl",_OPENMODE_READ);
    memory_readfile(handle,buffer,NBR_NIVEAUX+1,0);
    if(n_piaf == 1) buffer[0] = '1';
    else buffer[0] = '2';
    memory_closefile(handle);
    memory_deletefile("\\\\fls0\\angrysw.rgl");
    memory_createfile("\\\\fls0\\angrysw.rgl", T_FICHIER);
    handle = memory_openfile("\\\\fls0\\angrysw.rgl",_OPENMODE_READWRITE);
    memory_writefile(handle,buffer,NBR_NIVEAUX+1);
}

void lecture_piaf(int* n_piaf)
{
    unsigned char buffer[2];
    int handle;
    
    handle = memory_openfile("\\\\fls0\\angrysw.rgl",_OPENMODE_READ);
    memory_readfile(handle,buffer,1,0);
    memory_closefile(handle);
    if(buffer[0] == '1') *n_piaf = 1;
    else *n_piaf = 2;
}



// JEU - OK
void menu_jeu()
{
    // SPRITES
    const unsigned char fond[]={
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0xc0,0xf8,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x3c,0x0,0x0,0x0,0x0,0xe,0x0,0x1c,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x3,0xff,0xc0,0x0,0x0,0x0,0x38,0x0,0x7,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0xf,0x81,0xf0,0x0,0x0,0x0,0x70,0x0,0x3,0x80,0x0,0x0,0x0,0x0,0x0,
        0x0,0x1c,0x0,0x38,0x0,0x0,0x0,0x67,0xff,0xf9,0x80,0x0,0x0,0x0,0x0,0x0,
        0x0,0x70,0x0,0xe,0x0,0x0,0x0,0xcf,0xff,0xfc,0xc0,0x0,0x0,0x0,0x0,0x0,
        0x0,0xe0,0x0,0x7,0x0,0x0,0x1,0x8f,0xff,0xfc,0x60,0x0,0x0,0x0,0x0,0x0,
        0x0,0xcf,0xfe,0x3,0x0,0x0,0x1,0x88,0xe1,0xc4,0x60,0x0,0x0,0x0,0x0,0x0,
        0x1,0x9f,0xff,0x1,0x80,0x0,0x3,0x0,0xe1,0xc0,0x30,0x0,0x0,0x0,0x0,0x0,
        0x3,0x1f,0xff,0x80,0xc0,0x0,0x3,0x0,0xe1,0xc0,0x30,0x0,0x0,0x0,0x0,0x0,
        0x3,0x17,0x1,0xc0,0xc0,0x0,0x3,0x0,0xe1,0xc0,0x30,0x0,0x0,0x0,0x0,0x0,
        0x6,0x7,0x0,0xe0,0x60,0x0,0x6,0x0,0xe1,0xc0,0x38,0x0,0x0,0x0,0x0,0x0,
        0x6,0x7,0x0,0xe0,0x60,0x0,0x6,0x0,0xe1,0xc0,0x18,0x0,0x0,0x0,0x0,0x0,
        0x6,0x7,0x0,0xe0,0x60,0x0,0x6,0x0,0xe1,0xc0,0x18,0x0,0x3,0xc0,0x0,0x0,
        0xc,0x7,0xff,0xc0,0x70,0x0,0x6,0x0,0xe1,0xc0,0x18,0x0,0x3f,0xfc,0x0,0x0,
        0xc,0x7,0xff,0x80,0x30,0x0,0x6,0x0,0xe1,0xc0,0x18,0x0,0xf8,0x1f,0x0,0x0,
        0xc,0x7,0xff,0x0,0x30,0x0,0x6,0x0,0xe1,0xc0,0x38,0x1,0xc0,0x3,0x80,0x0,
        0xc,0x7,0x1e,0x0,0x30,0x0,0x3,0x0,0xe1,0xc0,0x30,0x7,0x0,0x0,0xe0,0x0,
        0xc,0x7,0xf,0x0,0x30,0x0,0x3,0x0,0xe1,0xc0,0x30,0xe,0x0,0x0,0x70,0x0,
        0xc,0x7,0x7,0x80,0x70,0x0,0x3,0x0,0xe1,0xc0,0x30,0xc,0xff,0xff,0x30,0x0,
        0x6,0x7,0x3,0xc0,0x60,0x0,0x1,0x88,0xe1,0xc4,0x60,0x19,0xff,0xff,0x98,0x0,
        0x6,0x7,0x1,0xc0,0x60,0x0,0x1,0x8f,0xff,0xfc,0x60,0x31,0xff,0xff,0x8c,0x0,
        0x6,0x7,0x1,0xc0,0x60,0x0,0x0,0xcf,0xff,0xfc,0xc0,0x31,0x73,0xce,0x8c,0x0,
        0x3,0x17,0x45,0xd0,0xc0,0x0,0x0,0x67,0xff,0xf9,0x80,0x60,0x73,0xce,0x6,0x0,
        0x3,0x1f,0xc7,0xf0,0xc0,0x0,0x0,0x70,0x0,0x3,0x80,0x60,0x73,0xce,0x6,0x0,
        0x1,0x9f,0xc7,0xf1,0x80,0x0,0x0,0x38,0x0,0x7,0x0,0x60,0x73,0xce,0x6,0x0,
        0x0,0xcf,0x83,0xe3,0x0,0x0,0x0,0xe,0x0,0x1c,0x0,0xc0,0x73,0xce,0x7,0x0,
        0x0,0xe0,0x0,0x7,0x0,0x0,0x0,0x7,0xc0,0xf8,0x0,0xc0,0x73,0xce,0x3,0x0,
        0x0,0x70,0x0,0xe,0x0,0x0,0x0,0x1,0xff,0xe0,0x0,0xc0,0x73,0xce,0x3,0x0,
        0x0,0x1c,0x0,0x38,0x0,0x0,0x0,0x0,0x1e,0x0,0x0,0xc0,0x73,0xce,0x3,0x0,
        0x0,0xf,0x81,0xf0,0x0,0x78,0x0,0x0,0x0,0x0,0x0,0xc0,0x73,0xce,0x3,0x0,
        0x0,0x3,0xff,0xc0,0x7,0xff,0x80,0x0,0x0,0x0,0x0,0xc0,0x73,0xce,0x7,0x0,
        0x0,0x0,0x3c,0x0,0x1f,0x3,0xe0,0x0,0x0,0x0,0x0,0x60,0x73,0xce,0x6,0x0,
        0x0,0x0,0x0,0x0,0x38,0x0,0x70,0x0,0x0,0x0,0x0,0x60,0x73,0xce,0x6,0x0,
        0x0,0x0,0x0,0x0,0xe0,0x0,0x1c,0x0,0x0,0x0,0x0,0x60,0x73,0xce,0x6,0x0,
        0x0,0x0,0x0,0x1,0xc0,0x0,0xe,0x0,0x0,0x0,0x0,0x31,0x73,0xce,0x8c,0x0,
        0x0,0x0,0x0,0x1,0x83,0xfe,0x6,0x0,0x0,0x0,0x0,0x31,0xff,0xff,0x8c,0x0,
        0x0,0x0,0x0,0x3,0x7,0xff,0x3,0x0,0x0,0x0,0x0,0x19,0xff,0xff,0x98,0x0,
        0x0,0x0,0x0,0x6,0x7,0xff,0x1,0x80,0x0,0x0,0x0,0xc,0xff,0xff,0x30,0x0,
        0x0,0x0,0x0,0x6,0x4,0x71,0x1,0x80,0x0,0x0,0x0,0xe,0x0,0x0,0x70,0x0,
        0x0,0x0,0x0,0xc,0x0,0x70,0x0,0xc0,0x0,0x0,0x0,0x7,0x0,0x0,0xe0,0x0,
        0x0,0x0,0x0,0xc,0x0,0x70,0x0,0xc0,0x0,0x0,0x0,0x1,0xc0,0x3,0x80,0x0,
        0x0,0x0,0x0,0xc,0x0,0x70,0x0,0xc0,0x0,0x0,0x0,0x0,0xf8,0x1f,0x0,0x0,
        0x0,0x0,0x0,0x18,0x0,0x70,0x0,0xe0,0x0,0x0,0x0,0x0,0x3f,0xfc,0x0,0x0,
        0x0,0x0,0x0,0x18,0x0,0x70,0x0,0x60,0x0,0x0,0x0,0x0,0x3,0xc0,0x0,0x0,
        0x0,0x0,0x0,0x18,0x0,0x70,0x0,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x18,0x0,0x70,0x0,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x18,0x0,0x70,0x0,0x60,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x18,0x0,0x70,0x0,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0xc,0x0,0x70,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0xc,0x0,0x70,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0xc,0x0,0x70,0x0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x6,0x4,0x71,0x1,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x6,0x7,0xff,0x1,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x3,0x7,0xff,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x1,0x83,0xfe,0x6,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x1,0xc0,0x0,0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0xe0,0x0,0x1c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x38,0x0,0x70,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x1f,0x3,0xe0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x7,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x78,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
    };
    const unsigned char oeuf[]={
        0x6,0x0,
        0x1f,0x80,
        0x3f,0xc0,
        0x3f,0xc0,
        0x7f,0xe0,
        0x7f,0xe0,
        0xff,0xf0,
        0xff,0xf0,
        0xff,0xf0,
        0xff,0xf0,
        0x7f,0xe0,
        0x7f,0xe0,
        0x3f,0xc0,
        0xf,0x0
    };
    
    unsigned int x, y;
    
    x = 64;
    y = 32;
    
    Bdisp_AllClr_DDVRAM();
    ML_bmp_or(fond, 0, 0, 128, 64);
    SaveDisp(1);
    
    
    do{
        // AFFICHAGE
        RestoreDisp(1);
        ML_bmp_or(oeuf, x-6, y-7, 12, 14);
        ML_display_vram();
        
        if(IsKeyDown(KEY_CTRL_LEFT) && x>6) x--;
        if(IsKeyDown(KEY_CTRL_RIGHT) && x<122) x++;
        if(IsKeyDown(KEY_CTRL_UP) && y>7) y--;
        if(IsKeyDown(KEY_CTRL_DOWN) && y<57) y++;
        if(IsKeyDown(KEY_CTRL_EXE)){
            while(IsKeyDown(KEY_CTRL_EXE));
            if(x>5 && y>4  &&  x<36 && y<35) return;
            if(x>28 && y>33  &&  x<59 && y<64) monde_1();
            if(x>54 && y>1  &&  x<85 && y<32) monde_2();
            if(x>88 && y>15  &&  x<119 && y<46) monde_3();
            Bdisp_AllClr_DDVRAM();
            ML_bmp_or(fond, 0, 0, 128, 64);
            SaveDisp(1);
        }
        Sleep(15);
    }while(1);
}

void monde_1()
{
    // SPRITES
    const unsigned char fond[]={
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0xf,0xfc,0x1,0xff,0x80,0x3f,0xf0,0x7,0xfe,0x0,0xff,0xc0,0x1f,0xf8,0x3,0xff,0x0,0x7f,0xe0,0xf,0xfc,0x1,0xff,0x80,
        0x10,0x2,0x2,0x0,0x40,0x40,0x8,0x8,0x1,0x1,0x0,0x20,0x20,0x4,0x4,0x0,0x80,0x80,0x10,0x10,0x2,0x2,0x0,0x40,
        0x26,0x19,0x4,0xc3,0x20,0x98,0x64,0x13,0xc,0x82,0x61,0x90,0x4c,0x32,0x9,0x86,0x41,0x30,0xc8,0x26,0x19,0x4,0xc3,0x20,
        0x26,0x19,0x4,0xc3,0x20,0x98,0x64,0x13,0xc,0x82,0x61,0x90,0x4c,0x32,0x9,0x86,0x41,0x30,0xc8,0x26,0x19,0x4,0xc3,0x20,
        0x20,0x1,0x4,0x0,0x20,0x80,0x4,0x10,0x0,0x82,0x0,0x10,0x40,0x2,0x8,0x0,0x41,0x0,0x8,0x20,0x1,0x4,0x0,0x20,
        0x27,0xf9,0x4,0xff,0x20,0x9f,0xe4,0x13,0xfc,0x82,0x7f,0x90,0x4f,0xf2,0x9,0xfe,0x41,0x3f,0xc8,0x27,0xf9,0x4,0xff,0x20,
        0x28,0x5,0x5,0x0,0xa0,0xa0,0x14,0x14,0x2,0x82,0x80,0x50,0x50,0xa,0xa,0x1,0x41,0x40,0x28,0x28,0x5,0x5,0x0,0xa0,
        0x2b,0xc5,0x5,0x7e,0xa0,0xa1,0x14,0x14,0x62,0x82,0x9c,0x50,0x52,0xa,0xa,0x79,0x41,0x46,0x28,0x29,0xc5,0x5,0x18,0xa0,
        0x2b,0x65,0x5,0x18,0xa0,0xa3,0x14,0x14,0x92,0x82,0x82,0x50,0x52,0xa,0xa,0x41,0x41,0x48,0x28,0x28,0x45,0x5,0x24,0xa0,
        0x2b,0xc4,0x85,0x18,0x90,0xa1,0x12,0x14,0x22,0x42,0x8c,0x48,0x52,0x89,0xa,0x71,0x21,0x4e,0x24,0x28,0xe4,0x85,0x18,0x90,
        0x4b,0x44,0x89,0x18,0x91,0x21,0x12,0x24,0x42,0x44,0x82,0x48,0x93,0xc9,0x12,0x9,0x22,0x49,0x24,0x48,0x44,0x89,0x24,0x90,
        0x4b,0x24,0x89,0x18,0x91,0x23,0x92,0x24,0xf2,0x44,0x9c,0x48,0x90,0x89,0x12,0x71,0x22,0x46,0x24,0x48,0x44,0x89,0x18,0x90,
        0x48,0x4,0x89,0x0,0x91,0x20,0x12,0x24,0x2,0x44,0x80,0x48,0x90,0x9,0x12,0x1,0x22,0x40,0x24,0x48,0x4,0x89,0x0,0x90,
        0x47,0xf8,0x88,0xff,0x11,0x1f,0xe2,0x23,0xfc,0x44,0x7f,0x88,0x8f,0xf1,0x11,0xfe,0x22,0x3f,0xc4,0x47,0xf8,0x88,0xff,0x10,
        0x50,0x2,0x8a,0x0,0x51,0x40,0xa,0x28,0x1,0x45,0x0,0x28,0xa0,0x5,0x14,0x0,0xa2,0x80,0x14,0x50,0x2,0x8a,0x0,0x50,
        0x33,0xf3,0x6,0x7e,0x60,0xcf,0xcc,0x19,0xf9,0x83,0x3f,0x30,0x67,0xe6,0xc,0xfc,0xc1,0x9f,0x98,0x33,0xf3,0x6,0x7e,0x60,
        0x11,0xe2,0x2,0x3c,0x40,0x47,0x88,0x8,0xf1,0x1,0x1e,0x20,0x23,0xc4,0x4,0x78,0x80,0x8f,0x10,0x11,0xe2,0x2,0x3c,0x40,
        0xe,0x1c,0x1,0xc3,0x80,0x38,0x70,0x7,0xe,0x0,0xe1,0xc0,0x1c,0x38,0x3,0x87,0x0,0x70,0xe0,0xe,0x1c,0x1,0xc3,0x80,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x30,0x0,0xc,0x3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x70,0x0,0xc,0x7,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0xb3,0x9e,0x3d,0xe3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x36,0xdb,0x6d,0x83,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x36,0xdb,0x6d,0xc3,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x36,0xdb,0x6d,0x83,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x33,0x9b,0x3d,0xe7,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
    };
    const unsigned char pointeur[]={
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0xf,0xf0,0xf,0xf0,0xf,0xf0,0x7,0xe0,
        0x3,0xc0,0x1,0x80
    };
    const unsigned char cadena[]={
        0xff,
        0xff,
        0xff,
        0xff,
        0xff,
        0xff,
        0xff
    };

    unsigned int x_pointeur, x_fond;
    unsigned int key, nbr, debloque;
    unsigned char buffer[9];
    int handle;
    
    // LECTURE ET ANALYSE FICHIER
    handle = memory_openfile("\\\\fls0\\angrysw.rgl",_OPENMODE_READ);
    memory_readfile(handle,buffer,8,1);
    memory_closefile(handle);
    nbr = -1;
    debloque = 0;
    do{
        nbr++;
        if(buffer[nbr] == '1') debloque++;
        else break;
    }while(1);
    
    
    x_pointeur = 0;
    x_fond = 0;
    
    do{
        Bdisp_AllClr_DDVRAM();
        ML_bmp_or_cl(fond, x_fond, 0, 191, 64);
        ML_bmp_or_cl(pointeur, x_pointeur*12+1, -3, 16, 18);
        for(nbr = debloque; nbr<8; nbr++){
            ML_bmp_xor_cl(cadena, 43+19*nbr+x_fond, 23, 8, 7);
        }
        
        GetKey(&key);
        if(key==KEY_CTRL_EXIT){
            x_pointeur = 0;
            x_fond = 0;
        }
        if(key==KEY_CTRL_LEFT && x_pointeur>0){
            x_pointeur--;
            x_fond += 7;
        }
        if(key==KEY_CTRL_RIGHT && x_pointeur<debloque+1){
            x_pointeur++;
            x_fond -= 7;
        }
        if(key==KEY_CTRL_EXE){
            SaveDisp(3);
            while(IsKeyDown(KEY_CTRL_EXE));
            if(x_pointeur > 0) level(1, x_pointeur);
            else break;
        }
    }while(1);
}

void monde_2()
{
    // SPRITES
    const unsigned char fond[]={
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x38,0x0,0x1,0xc0,0x0,0xe,0x0,0x0,0x70,0x0,0x3,0x80,0x0,0x1c,0x0,0x0,0xe0,0x0,0x7,0x0,0x0,0x38,0x0,
        0x0,0xd6,0x0,0x6,0xb0,0x0,0x35,0x80,0x1,0xac,0x0,0xd,0x60,0x0,0x6b,0x0,0x3,0x58,0x0,0x1a,0xc0,0x0,0xd6,0x0,
        0x1,0x39,0x0,0x9,0xc8,0x0,0x4e,0x40,0x2,0x72,0x0,0x13,0x90,0x0,0x9c,0x80,0x4,0xe4,0x0,0x27,0x20,0x1,0x39,0x0,
        0x2,0x10,0x80,0x10,0x84,0x0,0x84,0x20,0x4,0x21,0x0,0x21,0x8,0x1,0x8,0x40,0x8,0x42,0x0,0x42,0x10,0x2,0x10,0x80,
        0x2,0x0,0x80,0x10,0x4,0x0,0x80,0x20,0x4,0x1,0x0,0x20,0x8,0x1,0x0,0x40,0x8,0x2,0x0,0x40,0x10,0x2,0x0,0x80,
        0x4,0x42,0x40,0x22,0x12,0x1,0x10,0x90,0x8,0x84,0x80,0x44,0x24,0x2,0x21,0x20,0x11,0x9,0x0,0x88,0x48,0x4,0x42,0x40,
        0x4,0xe7,0x40,0x27,0x3a,0x1,0x39,0xd0,0x9,0xce,0x80,0x4e,0x74,0x2,0x73,0xa0,0x13,0x9d,0x0,0x9c,0xe8,0x4,0xe7,0x40,
        0x4,0x0,0x40,0x20,0x2,0x1,0x0,0x10,0x8,0x0,0x80,0x40,0x4,0x2,0x0,0x20,0x10,0x1,0x0,0x80,0x8,0x4,0x0,0x40,
        0x1f,0xff,0xf0,0xff,0xff,0x87,0xff,0xfc,0x3f,0xff,0xe1,0xff,0xff,0xf,0xff,0xf8,0x7f,0xff,0xc3,0xff,0xfe,0x1f,0xff,0xf0,
        0x24,0x0,0x49,0x20,0x2,0x49,0x0,0x12,0x48,0x0,0x92,0x40,0x4,0x92,0x0,0x24,0x90,0x1,0x24,0x80,0x9,0x24,0x0,0x48,
        0x34,0x78,0x59,0xa7,0xe2,0xcd,0xe,0x16,0x68,0xf8,0xb3,0x4f,0xe5,0x9a,0x7f,0x2c,0xd1,0xf1,0x66,0x9f,0xcb,0x35,0xff,0x58,
        0x24,0x64,0x49,0x21,0x82,0x49,0x4,0x12,0x48,0x50,0x92,0x45,0x44,0x92,0x2a,0x24,0x90,0xa1,0x24,0x8a,0x89,0x24,0xaa,0x48,
        0x14,0x78,0x50,0xa1,0x82,0x85,0x4,0x14,0x28,0x50,0xa1,0x45,0x45,0xa,0x2a,0x28,0x50,0xa1,0x42,0x8a,0x8a,0x14,0xaa,0x50,
        0x14,0x68,0x50,0xa1,0x82,0x85,0x4,0x14,0x28,0x50,0xa1,0x45,0x45,0xa,0x24,0x28,0x50,0x41,0x42,0x84,0x8a,0x14,0x4a,0x50,
        0x14,0x64,0x50,0xa1,0x82,0x85,0xe,0x14,0x28,0xf8,0xa1,0x4f,0xe5,0xa,0x7f,0x28,0x51,0xf1,0x42,0x9f,0xca,0x15,0xff,0x50,
        0x14,0x0,0x50,0xa0,0x2,0x85,0x0,0x14,0x28,0x0,0xa1,0x40,0x5,0xa,0x0,0x28,0x50,0x1,0x42,0x80,0xa,0x14,0x0,0x50,
        0x1f,0x7d,0xf0,0xfb,0xef,0x87,0xdf,0x7c,0x3e,0xfb,0xe1,0xf7,0xdf,0xf,0xbe,0xf8,0x7d,0xf7,0xc3,0xef,0xbe,0x1f,0x7d,0xf0,
        0x12,0x0,0x90,0x90,0x4,0x84,0x80,0x24,0x24,0x1,0x21,0x20,0x9,0x9,0x0,0x48,0x48,0x2,0x42,0x40,0x12,0x12,0x0,0x90,
        0x13,0xff,0x90,0x9f,0xfc,0x84,0xff,0xe4,0x27,0xff,0x21,0x3f,0xf9,0x9,0xff,0xc8,0x4f,0xfe,0x42,0x7f,0xf2,0x13,0xff,0x90,
        0x3e,0x44,0xf9,0xf2,0x27,0xcf,0x91,0x3e,0x7c,0x89,0xf3,0xe4,0x4f,0x9f,0x22,0x7c,0xf9,0x13,0xe7,0xc8,0x9f,0x3e,0x44,0xf8,
        0x24,0xfe,0x49,0x27,0xf2,0x49,0x3f,0x92,0x49,0xfc,0x92,0x4f,0xe4,0x92,0x7f,0x24,0x93,0xf9,0x24,0x9f,0xc9,0x24,0xfe,0x48,
        0x22,0x92,0x89,0x14,0x94,0x48,0xa4,0xa2,0x45,0x25,0x12,0x29,0x28,0x91,0x49,0x44,0x8a,0x4a,0x24,0x52,0x51,0x22,0x92,0x88,
        0x3e,0xfe,0xf9,0xf7,0xf7,0xcf,0xbf,0xbe,0x7d,0xfd,0xf3,0xef,0xef,0x9f,0x7f,0x7c,0xfb,0xfb,0xe7,0xdf,0xdf,0x3e,0xfe,0xf8,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x9f,0xff,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf1,0x1f,0xff,0xe7,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf2,0x98,0xc3,0x84,0x36,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x92,0x49,0x24,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x92,0x49,0x24,0x7d,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x92,0x49,0x24,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3,0x98,0xc9,0x84,0x30,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe
    };
    const unsigned char pointeur[]={
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x3,0xc0,0x3,0xc0,0x3,0xc0,0x3,0xc0,0xf,0xf0,0xf,0xf0,0xf,0xf0,0x7,0xe0,
        0x3,0xc0,0x1,0x80
    };
    const unsigned char cadena[]={
        0xff,
        0xff,
        0xff,
        0xff,
        0xff,
        0xff,
        0xff,
        0xff,
        0xff,
        0xff,
        0xff,
        0xff,
        0xff,
        0xff
    };

    unsigned int x_pointeur, x_fond;
    unsigned int key, nbr, debloque;
    unsigned char buffer[9];
    int handle;
    
    // LECTURE ET ANALYSE FICHIER
    handle = memory_openfile("\\\\fls0\\angrysw.rgl",_OPENMODE_READ);
    memory_readfile(handle,buffer,7,8);
    memory_closefile(handle);
    nbr = -1;
    debloque = 0;
    do{
        nbr++;
        if(buffer[nbr] == '1') debloque++;
        else break;
    }while(1);
    
    x_pointeur = 0;
    x_fond = 0;
    
    do{
        Bdisp_AllClr_DDVRAM();
        ML_bmp_or_cl(fond, x_fond, 0, 191, 64);
        ML_bmp_or_cl(pointeur, x_pointeur*13+4, -4, 16, 18);
        for(nbr = debloque; nbr<7; nbr++){
            ML_bmp_xor_cl(cadena, 48+21*nbr+x_fond, 24, 11, 7);
        }
        
        GetKey(&key);
        
        if(key==KEY_CTRL_EXIT){
            x_pointeur = 0;
            x_fond = 0;
        }
        if(key==KEY_CTRL_LEFT && x_pointeur>0){
            x_pointeur--;
            x_fond += 8;
        }
        if(key==KEY_CTRL_RIGHT && x_pointeur<debloque+1){
            x_pointeur++;
            x_fond -= 8;
        }
        if(key==KEY_CTRL_EXE) break;
    }while(1);
    if(x_pointeur > 0) level(2, x_pointeur);
    while(IsKeyDown(KEY_CTRL_EXE));
}

void monde_3()
{
    // SPRITES
    const unsigned char fond[]={
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x33,0x9f,0xff,0xe7,0xf1,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x31,0x1f,0xff,0xe7,0xfe,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x1,0x80,0x30,0x0,0x0,0x0,0x0,0x0,0x32,0x98,0xc3,0x84,0x3d,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x3,0x80,0x38,0x0,0x0,0x0,0x0,0x0,0x33,0x92,0x49,0x24,0xfb,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x7,0x0,0x1c,0x0,0x0,0x0,0x0,0x0,0x33,0x92,0x49,0x24,0x7d,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x6,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x33,0x92,0x49,0x24,0xfe,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x6,0x1f,0xc,0x0,0x0,0x0,0x0,0x0,0x33,0x98,0xc9,0x84,0x31,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x6,0x35,0x8c,0x0,0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0xff,0xff,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x7,0x6e,0xdc,0x0,0x0,0x0,0x0,0x0,0x1f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0xf,0xdb,0x7e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x8,0xf5,0xe2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0xf,0xdb,0x7e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x7,0x6e,0xdc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x6,0x35,0x8c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x6,0x1f,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x6,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x7,0x0,0x1c,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x3,0x80,0x38,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x1,0x80,0x30,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x78,0x0,0x3,0xc0,0x0,0x1e,0x0,0x0,0xf0,0x0,0x7,0x80,0x0,0x3c,0x0,0x1,0xe0,0x0,0xf,0x0,0x0,0x78,0x0,
        0x3,0xff,0x0,0x1f,0xf8,0x0,0xff,0xc0,0x7,0xfe,0x0,0x3f,0xf0,0x1,0xff,0x80,0xf,0xfc,0x0,0x7f,0xe0,0x3,0xff,0x0,
        0x7,0x3,0x80,0x38,0x1c,0x1,0xc0,0xe0,0xe,0x7,0x0,0x70,0x38,0x3,0x81,0xc0,0x1c,0xe,0x0,0xe0,0x70,0x7,0x3,0x80,
        0xe,0x1,0xc0,0x70,0xe,0x3,0x80,0x70,0x1c,0x3,0x80,0xe0,0x1c,0x7,0x0,0xe0,0x38,0x7,0x1,0xc0,0x38,0xe,0x1,0xc0,
        0x1c,0x0,0xe0,0xe0,0x7,0x7,0x0,0x38,0x38,0x1,0xc1,0xc0,0xe,0xe,0x0,0x70,0x70,0x3,0x83,0x80,0x1c,0x1c,0x0,0xe0,
        0x18,0x0,0x60,0xc0,0x3,0x6,0xc,0x18,0x30,0x60,0xc1,0x87,0x6,0xc,0x20,0x30,0x61,0xe1,0x83,0x6,0xc,0x18,0x70,0x60,
        0x10,0xf0,0x20,0x87,0xe1,0x4,0x1c,0x8,0x20,0x90,0x41,0x0,0x82,0x8,0x20,0x10,0x41,0x0,0x82,0x8,0x4,0x10,0x10,0x20,
        0x30,0xc8,0x31,0x81,0x81,0x8c,0xc,0xc,0x60,0x10,0x63,0x1,0x3,0x18,0x24,0x18,0xc1,0xc0,0xc6,0xe,0x6,0x30,0x10,0x30,
        0x30,0xf0,0x31,0x81,0x81,0x8c,0xc,0xc,0x60,0x20,0x63,0x0,0x83,0x18,0x24,0x18,0xc0,0x20,0xc6,0x9,0x6,0x30,0x38,0x30,
        0x30,0xd0,0x31,0x81,0x81,0x8c,0xc,0xc,0x60,0x40,0x63,0x0,0x83,0x18,0x3c,0x18,0xc0,0x20,0xc6,0x9,0x6,0x30,0x10,0x30,
        0x30,0xc8,0x31,0x81,0x81,0x8c,0x1e,0xc,0x60,0xf0,0x63,0x7,0x3,0x18,0x4,0x18,0xc1,0xc0,0xc6,0x6,0x6,0x30,0x10,0x30,
        0x10,0x0,0x20,0x80,0x1,0x4,0x0,0x8,0x20,0x0,0x41,0x0,0x2,0x8,0x0,0x10,0x40,0x0,0x82,0x0,0x4,0x10,0x0,0x20,
        0x18,0x0,0x60,0xc0,0x3,0x6,0x0,0x18,0x30,0x0,0xc1,0x80,0x6,0xc,0x0,0x30,0x60,0x1,0x83,0x0,0xc,0x18,0x0,0x60,
        0x1c,0x0,0xe0,0xe0,0x7,0x7,0x0,0x38,0x38,0x1,0xc1,0xc0,0xe,0xe,0x0,0x70,0x70,0x3,0x83,0x80,0x1c,0x1c,0x0,0xe0,
        0xe,0x1,0xc0,0x70,0xe,0x3,0x80,0x70,0x1c,0x3,0x80,0xe0,0x1c,0x7,0x0,0xe0,0x38,0x7,0x1,0xc0,0x38,0xe,0x1,0xc0,
        0x7,0x3,0x80,0x38,0x1c,0x1,0xc0,0xe0,0xe,0x7,0x0,0x70,0x38,0x3,0x81,0xc0,0x1c,0xe,0x0,0xe0,0x70,0x7,0x3,0x80,
        0x3,0xff,0x0,0x1f,0xf8,0x0,0xff,0xc0,0x7,0xfe,0x0,0x3f,0xf0,0x1,0xff,0x80,0xf,0xfc,0x0,0x7f,0xe0,0x3,0xff,0x0,
        0x0,0x78,0x0,0x3,0xc0,0x0,0x1e,0x0,0x0,0xf0,0x0,0x7,0x80,0x0,0x3c,0x0,0x1,0xe0,0x0,0xf,0x0,0x0,0x78,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x0,0xc0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe,0x0,0xe0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c,0x0,0x70,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x30,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x7c,0x30,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0xd6,0x30,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1d,0xbb,0x70,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0x6d,0xf8,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x23,0xd7,0x88,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3f,0x6d,0xf8,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1d,0xbb,0x70,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0xd6,0x30,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x7c,0x30,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x18,0x0,0x30,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1c,0x0,0x70,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe,0x0,0xe0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6,0x0,0xc0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
    };
    
    
    unsigned int x_pointeur, x_fond;
    unsigned int key, nbr, debloque;
    unsigned char buffer[9];
    int handle;
    
    // LECTURE ET ANALYSE FICHIER
    handle = memory_openfile("\\\\fls0\\angrysw.rgl",_OPENMODE_READ);
    memory_readfile(handle,buffer,7,15);
    memory_closefile(handle);
    nbr = -1;
    debloque = 0;
    do{
        nbr++;
        if(buffer[nbr] == '1') debloque++;
        else break;
    }while(1);
    
    
    x_pointeur = 0;
    x_fond = 0;
    
    do{
        Bdisp_AllClr_DDVRAM();
        ML_bmp_or_cl(fond, x_fond, 0, 191, 64);
        ML_circle(10+12*x_pointeur, 31, 10, ML_BLACK);
        ML_circle(11+12*x_pointeur, 32, 10, ML_BLACK);
        for(nbr = debloque; nbr<7; nbr++){
            ML_filled_circle(52+21*nbr+x_fond, 31, 8, ML_BLACK);
        }
        GetKey(&key);
        
        if(key==KEY_CTRL_EXIT){
            x_pointeur = 0;
            x_fond = 0;
        }
        if(key==KEY_CTRL_LEFT && x_pointeur>0){
            x_pointeur--;
            x_fond += 9;
        }
        if(key==KEY_CTRL_RIGHT && x_pointeur<debloque+1){
            x_pointeur++;
            x_fond -= 9;
        }
        if(key==KEY_CTRL_EXE) break;
    }while(1);
    if(x_pointeur > 0) level(3, x_pointeur);
    while(IsKeyDown(KEY_CTRL_EXE));
}


/* POUR DEBUG
do{
    erreur = memory_writefile(*handle,buffer,NBR_NIVEAUX+1);
    sprintf(buf,"%d",erreur);
    PrintXY(1,1,buf,0);
    ML_display_vram();
}while(erreur < 0);
*/

#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum){return INIT_ADDIN_APPLICATION(isAppli, OptionNum);}
#pragma section

En mettant le code de compatibilité, l'addin se bloque lors du retour a menu() après menu_jeu()...
Si quelqu'un sait pourquoi

Ajouté le 03/01/2015 à 16:00 :

Bon j'ai encore et toujours des problèmes avec cette compatibilité ...
Le code
Cliquer pour enrouler

#include "fxlib.h"
#define COMPATIBILITY
#ifdef COMPATIBILITY
    #define __KEYBIOS_H__
    #include "fxlib.h"
    #define KEY_CHAR_0 71
    #define KEY_CHAR_1 72
    #define KEY_CHAR_2 62
    #define KEY_CHAR_3 52
    #define KEY_CHAR_4 73
    #define KEY_CHAR_5 63
    #define KEY_CHAR_6 53
    #define KEY_CHAR_7 74
    #define KEY_CHAR_8 64
    #define KEY_CHAR_9 54
    #define KEY_CHAR_DP 61
    #define KEY_CHAR_EXP 51
    #define KEY_CHAR_PMINUS 41
    #define KEY_CHAR_PLUS 42
    #define KEY_CHAR_MINUS 32
    #define KEY_CHAR_MULT 43
    #define KEY_CHAR_DIV 33
    #define KEY_CHAR_FRAC 75
    #define KEY_CHAR_LPAR 55
    #define KEY_CHAR_RPAR 45
    #define KEY_CHAR_COMMA 35
    #define KEY_CHAR_STORE 25
    #define KEY_CHAR_LOG 66
    #define KEY_CHAR_LN 56
    #define KEY_CHAR_SIN 46
    #define KEY_CHAR_COS 36
    #define KEY_CHAR_TAN 26
    #define KEY_CHAR_SQUARE 67
    #define KEY_CHAR_POW 57
    #define KEY_CTRL_EXE 31
    #define KEY_CTRL_DEL 44
    #define KEY_CTRL_AC 32
    #define KEY_CTRL_FD 65
    #define KEY_CTRL_EXIT 47
    #define KEY_CTRL_SHIFT 78
    #define KEY_CTRL_ALPHA 77
    #define KEY_CTRL_OPTN 68
    #define KEY_CTRL_VARS 58
    #define KEY_CTRL_UP 28
    #define KEY_CTRL_DOWN 37
    #define KEY_CTRL_LEFT 38
    #define KEY_CTRL_RIGHT 27
    #define KEY_CTRL_F1 79
    #define KEY_CTRL_F2 69
    #define KEY_CTRL_F3 59
    #define KEY_CTRL_F4 49
    #define KEY_CTRL_F5 39
    #define KEY_CTRL_F6 29
    #define KEY_CTRL_MENU 48
    #ifndef OS2Change
    #define OS2Change
    #ifndef OS2Change_GetOS2
    #define OS2Change_GetOS2
    typedef int(*sc_i2cp2sip)(char*, char*, short int*, short int*);
    const unsigned int sc0015[] = { 0xD201D002, 0x422B0009, 0x80010070, 0x0015 };
    #define GlibGetOSVersionInfo (*(sc_i2cp2sip)sc0015)
    int OSVersionAsInt(void)
    {
    unsigned char mainversion;
    unsigned char minorversion;
    unsigned short release;
    unsigned short build;
    GlibGetOSVersionInfo( &mainversion, &minorversion, &release, &build );
    return ( ( mainversion << 24 ) & 0xFF000000 ) | ( ( minorversion << 16 ) & 0x00FF0000 ) | ( release & 0x0000FFFF );
    }
    #define isOS2 (OSVersionAsInt() >= 0x02020000)
    #define OS2(x,y) ((OSVersionAsInt() >= 0x02020000)?y:x)
    #endif
    #ifndef OS2Change_Keyboard
    #define OS2Change_Keyboard
    void delay(void)
    {
    char i;
    for (i=0; i<5; i++){};
    }
    unsigned char CheckKeyRow(unsigned char code)
    {
    unsigned char result=0;
    short*PORTB_CTRL=(void*)0xA4000102;
    short*PORTM_CTRL=(void*)0xA4000118;
    char*PORTB=(void*)0xA4000122;
    char*PORTM=(void*)0xA4000138;
    char*PORTA=(void*)0xA4000120;
    short smask;
    char cmask;
    unsigned char column, row;
    column = code>>4;
    row = code &0x0F;
    smask = 0x0003 << (( row %8)*2);
    cmask = ~( 1 << ( row %8) );
    if(row <8)
    {
      *PORTB_CTRL = 0xAAAA ^ smask;
      *PORTM_CTRL = (*PORTM_CTRL & 0xFF00 ) | 0x00AA;
      delay();
      *PORTB = cmask;
      *PORTM = (*PORTM & 0xF0 ) | 0x0F;
    }
    else
    {
      *PORTB_CTRL = 0xAAAA;
      *PORTM_CTRL = ((*PORTM_CTRL & 0xFF00 ) | 0x00AA)  ^ smask;
      delay();
      *PORTB = 0xFF;
      *PORTM = (*PORTM & 0xF0 ) | cmask;
    }
    
    delay();
    result = (~(*PORTA))>>column & 1;
    delay();
    *PORTB_CTRL = 0xAAAA;
    *PORTM_CTRL = (*PORTM_CTRL & 0xFF00 ) | 0x00AA;
    delay();
    *PORTB_CTRL = 0x5555;
    *PORTM_CTRL = (*PORTM_CTRL & 0xFF00 ) | 0x0055;
    delay();
    
    return result;
    }
    
    unsigned char KeyDown(unsigned char keycode)
    {
    unsigned short key[8];
    const unsigned short* keyboardregister = (unsigned short*)0xA44B0000;
    if(isOS2)
    {
      unsigned char row = keycode%10;
      memcpy(key, keyboardregister, sizeof(unsigned short) << 3);
    
      return (0 != (key[row >> 1] & 1 << keycode / 10 - 1 + ((row & 1) << 3)));
    }
    else
    {
      return CheckKeyRow((keycode % 10) + ((keycode / 10 - 1) << 4));
    }
    }
    unsigned char GetKeyMod(unsigned int *key)
    {
    unsigned char x, ret;
    
    ret = GetKey(key);
    
    for(x = 0; x < 80; x++)
    {
      if(KeyDown(x))
      {
       *key = x;
       break;
      }
    }
    return ret;
    }
    #define IsKeyDown(x) KeyDown(x)
    #define IsKeyUp(x) !KeyDown(x)
    #define GetKey(x) GetKeyMod(x)
    #endif
    #endif

#endif


// #include "fxlib.h"
#include "CIRCLE.h"
#include "engine.h"
#include "MonochromeLib.h"

#include <stdlib.h>
#include <stdio.h>


int AddIn_main(int isAppli, unsigned short OptionNum)
{
    char buf[20];

    int lenght;
    int play = 1;
    int status = 0;
    int score = 0;
    int pressed = 0;
    unsigned int bind = KEY_CTRL_EXE;
    float yCircle = -100.;
    float vCircle = 0.;
    
    Start();
    Line_init();
    
    while(play)
    {
        ML_clear_vram();
        
        Line_generate();
        Line_move();
        Line_draw();
        
        // if 'status == 0' menu -- ok
        if(status == 0)
        {
            Menu(&play, &status, bind);
        }
        
        // if 'status == 1' play -- ok
        else if(status == 1)
        {
            // Init
            if(yCircle == -100.)
            {
                yCircle = Line_pos();
                score = 0;
                vCircle = 0.;
            }
            
            // Draw
            lenght = sprintf(buf, "SCORE:%d", score);
            PrintCenter(0, buf, lenght, 0);
            ML_ellipse(POS_CIRCLE, (int)yCircle, CIRCLE_WEIGHT, CIRCLE_WEIGHT*2, ML_BLACK);
            ML_ellipse(POS_CIRCLE, (int)yCircle, CIRCLE_WEIGHT+1, CIRCLE_WEIGHT*2, ML_BLACK);
            ML_ellipse(POS_CIRCLE, (int)yCircle, CIRCLE_WEIGHT+2, CIRCLE_WEIGHT*2+1, ML_BLACK);
            ML_display_vram();
            
            // Crash
            if(Line_colision(yCircle))
                status = -1;
            
            // jump
            if(pressed && IsKeyUp(bind))
                pressed = 0;
            if(IsKeyDown(bind) && !pressed)
            {
                pressed = 1;
                vCircle = -.9;
                score ++;
            }
            if(vCircle < 3.)
                vCircle += .04;
            yCircle += vCircle;
            
            // Quit
            if(IsKeyDown(KEY_CTRL_EXIT))
            {
                while(IsKeyDown(KEY_CTRL_EXIT));
                status = 0;
            }
            
            Sleep(SPEED);
        }
        
        // if 'status == 2' options -- ok
        else if(status == 2)
        {
            Options(&status, &bind);
        }
        
        // if 'status == -1' crash -- ok
        else if(status == -1)
        {
            ML_rectangle(22, 22, 106, 46, 1, ML_BLACK, ML_WHITE);
            PrintCenter(24, "CRASH!", 6, 1);
            
            lenght = sprintf(buf, "SCORE: %d", score);
            PrintCenter(32, buf, lenght, 0);
            lenght = sprintf(buf, "PRESS %s", KeyName(bind));
            PrintCenter(39, buf, lenght, 0);
            ML_display_vram();
            
            if(IsKeyDown(bind) || IsKeyDown(KEY_CTRL_EXIT))
            {
                while(IsKeyDown(bind) || IsKeyDown(KEY_CTRL_EXIT));
                status = 0;
                yCircle = -100.;
            }
            
            Sleep(SPEED);
        }
    }
    
    Line_quit();
    
    return 1;
}

// Draw the starting screen -- ok
void Start()
{
    int i;
    
    PrintCenter(29, "CIRCLE", 6, 1);
    PrintCenter(59, "BY T.PROG", 9, 0);
    
    for(i = 0; i<39; i++)
    {
        ML_line(45, 37, 46+i, 37, ML_BLACK);
        ML_display_vram();
        Sleep(25);
        if(IsKeyDown(KEY_CTRL_EXE))
            break;
    }
    
    ML_clear_vram();
}

// Draw the menu -- ok
void Menu(int* play, int* status, unsigned int bind)
{
    static int choix = 0;
    unsigned int key;
    
    ML_rectangle(18, 17, 110, 51, 1, ML_BLACK, ML_WHITE);
    PrintCenter(20, "MENU", 4, 1);
    PrintCenter(30+7*choix, ">          <", 12, 0);
    PrintCenter(30, "PLAY", 4, 0);
    PrintCenter(37, "OPTIONS", 7, 0);
    PrintCenter(44, "EXIT", 4, 0);
    
#ifdef ECO_ENERGY
    GetKey(&key);
    
    switch(key)
    {
        case KEY_CTRL_EXE:
        case bind:
            if(choix == 0)
            {
                *status = 1;
            }
            else if(choix == 1)
            {
                choix = 0;
                *status = 2;
            }
            else if(choix == 2)
            {
                *play = 0;
            }
            break;
        case KEY_CTRL_EXIT:
            *play = 0;
            break;
        case KEY_CTRL_DOWN:
            choix = (choix+1)%3;
            break;
        case KEY_CTRL_UP:
            choix = (choix+2)%3;
            break;
    }
#else
    ML_display_vram();
    if(IsKeyDown(KEY_CTRL_EXE) || IsKeyDown(bind))
    {
        while(IsKeyDown(KEY_CTRL_EXE) || IsKeyDown(bind));
        if(choix == 0)
        {
            *status = 1;
        }
        else if(choix == 1)
        {
            choix = 0;
            *status = 2;
        }
        else if(choix == 2)
        {
            *play = 0;
        }
    }
    else if(IsKeyDown(KEY_CTRL_EXIT))
    {
        while(IsKeyDown(KEY_CTRL_EXIT));
        *play = 0;
    }
    else if(IsKeyDown(KEY_CTRL_DOWN))
    {
        while(IsKeyDown(KEY_CTRL_DOWN));
        choix = (choix+1)%3;
    }
    else if(IsKeyDown(KEY_CTRL_UP))
    {
        while(IsKeyDown(KEY_CTRL_UP));
        choix = (choix+2)%3;
    }
    Sleep(SPEED);
#endif

}

// Draw the option -- ok
void Options(int* status, int* bind)
{
    static int choix = 0;
    unsigned int key;
    
    ML_rectangle(18, 17, 110, 51, 1, ML_BLACK, ML_WHITE);
    PrintCenter(20, "OPTIONS", 7, 1);
    PrintCenter(30+7*choix, ">            <", 14, 0);
    PrintCenter(30, "BIND JUMP", 9, 0);
    PrintCenter(37, "CONTRAST", 8, 0);
    PrintCenter(44, "BACK", 4, 0);
    SaveDisp(1);

#ifdef ECO_ENERGY
    GetKey(&key);
    
    switch(key)
    {
        case KEY_CTRL_EXE:
        case *bind:
            if(choix == 0)
                BindJump(bind);
            else if(choix == 1)
                SetContrast();
            else if(choix == 2)
                *status = 0;
            
            break;
        case KEY_CTRL_EXIT:
            *status = 0;
            break;
        case KEY_CTRL_DOWN:
            choix = (choix+1)%3;
            break;
        case KEY_CTRL_UP:
            choix = (choix+2)%3;
            break;
    }
#else
    ML_display_vram();
    
    if(IsKeyDown(KEY_CTRL_EXE) || IsKeyDown(*bind))
    {
        while(IsKeyDown(KEY_CTRL_EXE) || IsKeyDown(*bind));
        if(choix == 0)
            BindJump(bind);
        else if(choix == 1)
            SetContrast();
        else if(choix == 2)
            *status = 0;
    }
    else if(IsKeyDown(KEY_CTRL_EXIT))
    {
        while(IsKeyDown(KEY_CTRL_EXIT));
        *status = 0;
    }
    else if(IsKeyDown(KEY_CTRL_DOWN))
    {
        while(IsKeyDown(KEY_CTRL_DOWN));
        choix = (choix+1)%3;
    }
    else if(IsKeyDown(KEY_CTRL_UP))
    {
        while(IsKeyDown(KEY_CTRL_UP));
        choix = (choix+2)%3;
    }
    Sleep(SPEED);
#endif
}

// Change key for jump -- ok
void BindJump(int* bind)
{
    char buf[20];
    unsigned int key;
    int choix = 0;
    int lenght;
    
    while(1)
    {
        RestoreDisp(1);
        ML_rectangle(22, 22, 106, 46, 1, ML_BLACK, ML_WHITE);
        PrintCenter(24, "BIND JUMP", 9, 1);
        
        lenght = sprintf(buf, "ACTUAL: %s", KeyName(*bind));
        PrintCenter(32, buf, lenght, 0);
        if(choix == 0)
            PrintCenter(39, ">CHANGE   BACK", 14, 0);
        else
            PrintCenter(39, " CHANGE  >BACK", 14, 0);
        
        GetKey(&key);
        
        switch(key)
        {
            case KEY_CTRL_EXE:
                while(IsKeyDown(KEY_CTRL_EXE));
                if(choix == 0)
                {
                    ML_rectangle(10, 27, 118, 37, 1, ML_BLACK, ML_WHITE);
                    PrintCenter(29, "PRESS ANY KEY", 13, 1);
                    
                    GetKey(bind);
                    
                    if(*bind == KEY_CTRL_EXIT)
                        *bind = KEY_CTRL_EXE;
                }
                else
                    return;
                break;
            case KEY_CTRL_EXIT:
                while(IsKeyDown(KEY_CTRL_EXIT));
                return;
            case KEY_CTRL_DOWN:
            case KEY_CTRL_UP:
            case KEY_CTRL_LEFT:
            case KEY_CTRL_RIGHT:
                choix = (choix+1)%2;
        }
    }
    
}

// Set the contrast -- ok
void SetContrast()
{
    unsigned char contrast = ML_CONTRAST_MIN+30;
    unsigned int key;
    
    while(1)
    {
        RestoreDisp(1);
        ML_rectangle(22, 22, 106, 46, 1, ML_BLACK, ML_WHITE);
        PrintCenter(24, "SET CONTRAST", 12, 1);
        ML_rectangle(34, 32, 94, 44, 1, ML_BLACK, ML_WHITE);
        ML_rectangle(34, 32, 34+contrast-ML_CONTRAST_MIN, 44, 1, ML_BLACK, ML_BLACK);
        
        ML_set_contrast(contrast);
        
        GetKey(&key);
        
        if(key == KEY_CTRL_LEFT && contrast > ML_CONTRAST_MIN)
            contrast--;
        if(key == KEY_CTRL_RIGHT && contrast < ML_CONTRAST_MAX)
            contrast++;
        if(key == KEY_CTRL_EXE || key == KEY_CTRL_EXIT)
            break;
    }
    while(IsKeyDown(KEY_CTRL_EXE) || IsKeyDown(KEY_CTRL_EXIT));
}


// Get the key's name -- ok
char* KeyName(unsigned int key)
{
    switch(key)
    {
    // Numbers
        case KEY_CHAR_0:
            return "[0]";
        case KEY_CHAR_1:
            return "[1]";
        case KEY_CHAR_2:
            return "[2]";
        case KEY_CHAR_3:
            return "[3]";
        case KEY_CHAR_4:
            return "[4]";
        case KEY_CHAR_5:
            return "[5]";
        case KEY_CHAR_6:
            return "[6]";
        case KEY_CHAR_7:
            return "[7]";
        case KEY_CHAR_8:
            return "[8]";
        case KEY_CHAR_9:
            return "[9]";
            
    // Letters
        case KEY_CHAR_A:
            return "[A]";
        case KEY_CHAR_B:
            return "[B]";
        case KEY_CHAR_C:
            return "[C]";
        case KEY_CHAR_D:
            return "[D]";
        case KEY_CHAR_E:
            return "[E]";
        case KEY_CHAR_F:
            return "[F]";
        case KEY_CHAR_G:
            return "[G]";
        case KEY_CHAR_H:
            return "[H]";
        case KEY_CHAR_I:
            return "[I]";
        case KEY_CHAR_J:
            return "[J]";
        case KEY_CHAR_K:
            return "[K]";
        case KEY_CHAR_L:
            return "[L]";
        case KEY_CHAR_M:
            return "[M]";
        case KEY_CHAR_N:
            return "[N]";
        case KEY_CHAR_O:
            return "[O]";
        case KEY_CHAR_P:
            return "[P]";
        case KEY_CHAR_Q:
            return "[Q]";
        case KEY_CHAR_R:
            return "[R]";
        case KEY_CHAR_S:
            return "[S]";
        case KEY_CHAR_T:
            return "[T]";
        case KEY_CHAR_U:
            return "[U]";
        case KEY_CHAR_V:
            return "[V]";
        case KEY_CHAR_W:
            return "[W]";
        case KEY_CHAR_X:
            return "[X]";
        case KEY_CHAR_Y:
            return "[Y]";
        case KEY_CHAR_Z:
            return "[Z]";
    
    // Others
        case KEY_CHAR_DP:
            return "[.]\0";
        case KEY_CHAR_EXP:
            return "[E^]\0";
        case KEY_CHAR_PMINUS:
            return "[(-)]\0";
        case KEY_CHAR_PLUS:
            return "[+]\0";
        case KEY_CHAR_MINUS:
            return "[-]\0";
        case KEY_CHAR_MULT:
            return "[x]\0";
        case KEY_CHAR_DIV:
            return "[/]\0";
        case KEY_CHAR_FRAC:
            return "[FRAC]\0";
        case KEY_CHAR_LPAR:
            return "[(]\0";
        case KEY_CHAR_RPAR:
            return "[)]\0";
        case KEY_CHAR_COMMA:
            return "[,]\0";
        case KEY_CHAR_STORE:
            return "[->]\0";
        case KEY_CHAR_LOG:
            return "[log]\0";
        case KEY_CHAR_LN:
            return "[ln]\0";
        case KEY_CHAR_SIN:
            return "[sin]\0";
        case KEY_CHAR_COS:
            return "[cos]\0";
        case KEY_CHAR_TAN:
            return "[tan]\0";
        case KEY_CHAR_SQUARE:
            return "[x^2]\0";
        case KEY_CHAR_POW:
            return "[^]\0";
            
        case KEY_CHAR_IMGNRY:
            return "i";
        case KEY_CHAR_LIST:
            return "[List]";
        case KEY_CHAR_MAT:
            return "[Mat]";
        case KEY_CHAR_EQUAL:
            return "[=]";
        case KEY_CHAR_PI:
            return "[Pi]";
        case KEY_CHAR_ANS:
            return "[Ans]";
        case KEY_CHAR_LBRCKT:
            return "[[]";
        case KEY_CHAR_RBRCKT:
            return "[]]";
        case KEY_CHAR_LBRACE:
            return "[{]";
        case KEY_CHAR_RBRACE:
            return "[}]";
        case KEY_CHAR_CR:
            return "[CR]";
        case KEY_CHAR_CUBEROOT:
            return "[CBRT]";
        case KEY_CHAR_RECIP:
            return "[x^-1]";
        case KEY_CHAR_ANGLE:
            return "[Angle]";
        case KEY_CHAR_EXPN10:
            return "[10^x]";
        case KEY_CHAR_EXPN:
            return "[e^]";
        case KEY_CHAR_ASIN:
            return "[asin]";
        case KEY_CHAR_ACOS:
            return "[acos]";
        case KEY_CHAR_ATAN:
            return "[atan]";
        case KEY_CHAR_ROOT:
            return "[SQRT]";
        case KEY_CHAR_POWROOT:
            return "[Root^x]";
        case KEY_CHAR_SPACE:
            return "[SPACE]";
        case KEY_CHAR_DQUATE:
            return "[\"]";
        case KEY_CHAR_VALR:
            return "[r]";
        case KEY_CHAR_THETA:
            return "[theta]";

    // Control codes
        case KEY_CTRL_NOP:
            return "[NOP]";
        case KEY_CTRL_EXE:
            return "[EXE]";
        case KEY_CTRL_DEL:
            return "[Del]";
        case KEY_CTRL_AC:
            return "[Ac/On]";
        case KEY_CTRL_FD:
            return "[F-D]";
        case KEY_CTRL_XTT:
            return "[X,O,T]";
        case KEY_CTRL_EXIT:
            return "[EXIT]";
        case KEY_CTRL_SHIFT:
            return "[SHIFT]";
        case KEY_CTRL_ALPHA:
            return "[ALPHA]";
        case KEY_CTRL_OPTN:
            return "[OPTN]";
        case KEY_CTRL_VARS:
            return "[VARS]";
        case KEY_CTRL_UP:
            return "[UP]";
        case KEY_CTRL_DOWN:
            return "[DOWN]";
        case KEY_CTRL_LEFT:
            return "[LEFT]";
        case KEY_CTRL_RIGHT:
            return "[RIGHT]";
        case KEY_CTRL_F1:
            return "[F1]";
        case KEY_CTRL_F2:
            return "[F2]";
        case KEY_CTRL_F3:
            return "[F3]";
        case KEY_CTRL_F4:
            return "[F4]";
        case KEY_CTRL_F5:
            return "[F5]";
        case KEY_CTRL_F6:
            return "[F6]";
        case KEY_CTRL_CATALOG:
            return "[CATALOG]";
        case KEY_CTRL_CAPTURE:
            return "[CAPTURE]";
        case KEY_CTRL_CLIP:
            return "[CLIP]";
        case KEY_CTRL_PASTE:
            return "[PASTE]";
        case KEY_CTRL_INS:
            return "[INS]";
        case KEY_CTRL_MIXEDFRAC:
            return "[MixedFrac]";
        case KEY_CTRL_FRACCNVRT:
            return "[FracConvert]";
        case KEY_CTRL_QUIT:
            return "[QUIT]";
        case KEY_CTRL_PRGM:
            return "[PRGM]";
        case KEY_CTRL_SETUP:
            return "[SETUP]";
        case KEY_CTRL_MENU:
            return "[MENU]";
/* #ifndef COMPATIBILITY
        case KEY_CTRL_PAGEUP:
            return "[PAGEUP]";
        case KEY_CTRL_PAGEDOWN:
            return "[PAGEDOWN]";
        case KEY_CTRL_RESERVE1:
            return "[RESERVE1]";
        case KEY_CTRL_RESERVE2:
            return "[RESERVE2]";
        case KEY_CTRL_RESERVE3:
            return "[RESERVE3]";
#endif */
    }
    
    return "?";
}

// Print at the center -- ok
void PrintCenter(int y, char* string, int lenght, int caps)
{
    if(caps)
        PrintXY(64-lenght*3, y, (unsigned char*)string, 0);
    else
        PrintMini(64-lenght*2, y, (unsigned char*)string, 0);
}


#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum){return INIT_ADDIN_APPLICATION(isAppli, OptionNum);}
#pragma section


Le retour du compilo
Cliquer pour enrouler
Executing Hitachi SH C/C++ Compiler/Assembler phase

set SHC_INC=C:\Documents and Settings\User\Bureau\User\New Folder\OS\SH\include
set PATH=C:\Documents and Settings\User\Bureau\User\New Folder\OS\SH\bin
set SHC_LIB=C:\Documents and Settings\User\Bureau\User\New Folder\OS\SH\bin
set SHC_TMP=C:\Documents and Settings\User\Bureau\User\Casio\Circle\Debug
"C:\Documents and Settings\User\Bureau\User\New Folder\OS\SH\bin\shc.exe" -subcommand=C:\DOCUME~1\User\LOCALS~1\Temp\hmk1D.tmp
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(77) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(77) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(77) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(77) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(264) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(501) : C1016 (W) Argument mismatch
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(591) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(593) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(595) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(597) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(647) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(657) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(667) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(678) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(714) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(730) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(732) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(738) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(740) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(742) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(754) : C2307 (E) Multiple case labels
C:\Documents and Settings\User\Bureau\User\Casio\Circle\CIRCLE.c(756) : C2307 (E) Multiple case labels

HMAKE MAKE UTILITY Ver. 1.1
Copyright (C) Hitachi Micro Systems Europe Ltd. 1998
Copyright (C) Hitachi Ltd. 1998


    ERROR: Process failed with return code: 1
Build was not successful.

Si quelqu'un pouvait m'aider ...
Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 04/01/2015 21:43 | #


T'es sûr que toutes les touches que tu as utilisées dans ta fonction sont bien définies par le code de compatibilité ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 04/01/2015 21:44 | #


Ben si elles ne le sont pas, elles sont de toute façon définies par KEYBIOS non ?
Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 04/01/2015 21:45 | #


Il me semble que le code de compatibilité annule les définitions de keybios.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Anto Hors ligne Membre Points: 23 Défis: 0 Message

Citer : Posté le 13/01/2015 21:58 | #


Cette méthode fonctionerai-t elle pour Symbolix ? ( Un add in de calcul formel ?)
Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 13/01/2015 22:01 | #


S'il existe déjà compilé, mieux vaut utiliser le SH4 Compatibility Tool qui t'évite d'avoir à recompiler les sources.
http://tools.planet-casio.com/SH4compatibility/
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Anto Hors ligne Membre Points: 23 Défis: 0 Message

Citer : Posté le 13/01/2015 22:10 | #


merci de ta réponse rapide , mais Symbolix ne marche toujours pas sur ma graph 35 plus modifier 75...
Quand je le lance il m'affiche System ERROR Reboot/ Initialize... Adress(R) Target =E6FF2136
PC =08100708 ..
Quel est le probleme ?
Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 13/01/2015 22:16 | #


Un genre de problème classique de non-compatibilité, en fait. :3
Cette fenêtre avec marqué "System ERROR" est à peu près la seule manifestation d'erreur qu'on puisse croiser, avec les reboot et les EBR...

Au final on ne sait pas grand-chose. Je ne sais pas ce que représente l'adresse Target, mais PC c'est l'adresse du code qui était en train d'être exécuté au moment de l'erreur.

En attendant, ce serait bien la première fois que le SH4 CT nous sortirait un add-in non compatible SH4...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Drac0300 Hors ligne Membre Points: 839 Défis: 39 Message

Citer : Posté le 14/01/2015 12:32 | #


Ben non, s'il y avait un syscall non compatible, le sh4 CT n'y peut rien, et l'adresse target ferait du sens : Ce serait l'adresse à laquelle on essaie de sauter(pour l'appel du syscall) (bien sûr ce n'est que pure supposition)

Ajouté le 14/01/2015 à 12:35 :
Mais sinon, si tu cherches un addin de calcul formel, il y a la dernière version de eigenmath-fx qui est ici
demandez moi quelque chose et je vous expliquerai comment vous en passer
Dans Z/1Z, 42==666
Coïncidence ? Je ne pense pas.
Anto Hors ligne Membre Points: 23 Défis: 0 Message

Citer : Posté le 15/01/2015 10:21 | #


Merci pour vos réponses, j'ai déjà eigenmath-fx, mais c'est assez long pour marqué les fonction et il faut toutes les connaitre, c'est pas très pratique... Il n'y aurait pas d'autre alternative ? Je voulais essayer symbolix car il paraissait plus simple d'utilisation..
Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 15/01/2015 11:28 | #


Théoriquement ça devrait fonctionner... où as-tu trouvé Symbolix ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Drac0300 Hors ligne Membre Points: 839 Défis: 39 Message

Citer : Posté le 15/01/2015 17:55 | #


Sinon il y a le CAS de pierotLL mais il est moins puissant que eigenmath...
Dans Z/1Z, 42==666
Coïncidence ? Je ne pense pas.
Anto Hors ligne Membre Points: 23 Défis: 0 Message

Citer : Posté le 15/01/2015 19:16 | # | Fichier joint


ici : https://www.youtube.com/watch?v=n7hklOu9BW8

Je l'ai aussi, mais le problème est le même que eigenmath au niveau de viabilité ... ( c'est assez fastidieux de taper des longue fonction avec plein de parenthèse) D’ailleurs a ce sujet pourquoi les fractions par exemple sont a cette forme : genre sin(x)/x et non pas comme (l'image jointe), de meme pour les puissance ca serai vachement pratique... ? Il y a vraiment un grosse difficulté a modifier le code ?
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 15/01/2015 19:30 | #


Un moteur d'affichage en écriture naturelle n'est pas du tout facile à réaliser, et je doute que modifier le code serve à quelque chose si EigenmathFx remplace les moteurs formels de PLL et Kucalc
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 15/01/2015 19:50 | #


Salut Anto
Symbolix et le CAS de jeuxcasio ne sont pas de vrai CAS car extrêmement limités et très peu performants
Le meilleurs CAS sur graph 35+USB/75/85/95 est clairement Eigenmath fx qui les surclasse de très loin d'un point de vue qualité des résultats et choix de commandes.
Je t'accorde qu'il n'est pas très pratique d'utilisation mais une nouvelle version équipée d'un menu, d'un scroll, d'une commande "clear", de la possibilité d'éditer les calculs déjà réalisés et de créer des "scripts" est en cours de réalisation (mais ça prendra un certain temps )
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Précédente 1, 2, 3 ··· 9, 10, 11, 12, 13 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 95 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd