[URL=http://img197.imageshack.us/i/flipelvira.jpg/][IMG]http://img197.imageshack.us/img197/5672/flipelvira.jpg[/IMG][/URL]
j'ai d'abord trouvé l'image d'intro assez hideuse. La LYNX est certes limité à 16 couleurs, mais ce n'est pas une raison. J'ai donc fait 2 versions à partir de l'original ci-dessus, une version horizontale et verticale, preuve qu'il est possible en peu de temps (mais avec beaucoup d'amour), de faire beaucoup mieux :

(bouton A ou B pour changer de fond)
/*
Elvira 0.1 - LYNX - kit BLL (newcc65)
Travail graphique
04/11/2010
LYNX-image */
#include <stdlib.h>
#include <lynx.h>
#include <lynxlib.h>
/* LYNX-specific #defines: */
#define JOY_RIGHT 0x10
#define JOY_LEFT 0x20
#define JOY_DOWN 0x40
#define JOY_UP 0x80
#define BUTTON_OPTION1 0x08
#define BUTTON_OPTION2 0x04
#define BUTTON_LEFT 0x02
#define BUTTON_RIGHT 0x01
#define BUTTON_PAUSE 0x01
char SCREEN[8160] at (MEMTOP-16320);
char RENDER[8160] at (MEMTOP-8160);
char pala[]={
0x00,0x03,0x00,0x03,0x04,0x05,0x00,0x0A,0x08,0x00,0x07,0x08,0x09,0x0A,0x0B,0x00,
0x00,0x03,0x50,0x06,0x45,0x76,0xA0,0x01,0x47,0x0C,0x88,0x08,0x6B,0x0C,0xCF,0x00};
char palb[]={
0x0A,0x01,0x05,0x08,0x05,0x0E,0x07,0x02,0x07,0x09,0x07,0x01,0x01,0x02,0x0D,0x00,
0x3F,0x51,0x08,0x0F,0x78,0x4F,0x0C,0x45,0x6C,0x7F,0xF5,0x05,0x0B,0x1F,0xCF,0x00};
char palc[]={
0x07,0x03,0x06,0x03,0x00,0x0F,0x02,0x02,0x05,0x0A,0x01,0x0E,0x09,0x0A,0x04,0x06,
0xF7,0xC3,0xBA,0x84,0x31,0xFF,0x46,0x2F,0x78,0xEE,0x0B,0xAF,0xAE,0x4F,0x2A,0x5E};
// ------------------------------------
extern char elvira[]; // image d'origine du jeu, baclé en beauté, d'une taille de 160*102;
extern char elvirb[]; // image d'origine, plus respectueuse, d'une taille de 160*102;
extern char elvirc[]; // image d'origine, plus respectueuse + console à la verticale, d'une taille de 160*102;
char SCB[];
#asm
_SCB dc.b $c0,$10,$20
dc.w 0,0
dc.w 0,0,$100,$100
dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
#endasm
// ------------------------------------
// carre rouge de 8*8
// couleur RGB: 255 0 0
// couleur hexadecimal: FF 00 00
extern char rr[];
char SCBr[];
#asm
_SCBr dc.b $c7,$10,$20
dc.w 0,0
dc.w 0,0,$100,$100
dc.b $01,$23,$45,$67,$89,$ab,$cd,$ef
#endasm
// ------------------------------------
int posx,posy;
int i;
char choix,tempa,tempb,tempc,tempd;
// assembler vertical retrace syncronisation routine
void Vsync()
{
#asm
vretrace:
lda $fd0a
bne vretrace
#endasm
}
/**************************************************************************
** **
** **
**************************************************************************/
char main()
{
InitIRQ();
CLI;
SetBuffers(SCREEN, RENDER ,0);
/* set the palette */
SetRGB(pala); // Ceci sert à changer la palette de la Lynx.
//DrawFBox(0,0,160,102,0);
posx=76;
posy=47;
SCBX(SCBr) = posx;
SCBY(SCBr) = posy;
SCBDATA(SCBr) = rr;
SCBX(SCB) = 0;
SCBY(SCB) = 0;
SCBDATA(SCB) = elvira;
/**************************************************************************
** BOUCLE PRINCIPALE **
**************************************************************************/
for( ; ; )
{
DrawFBox(0,0,160,102,0); // affichage d'une boite couleur 0 (noire)
if (joystick & JOY_RIGHT) // direction Droite
posx++;
if (joystick & JOY_LEFT) // direction Gauche
posx--;
if (joystick & JOY_UP) // direction Haut
posy--;
if (joystick & JOY_DOWN) // direction Bas
posy++;
if (posx>152) posx=152; // limit va à gauche
if (posx<0) posx=0; // limit va à gauche
if (posy<0) posy=0; // limit haut
if (posy>94) posy=94; // limit bas
// position X et Y du sprite d'une taille de 8*8 :
SCBX(SCBr) = posx;
SCBY(SCBr) = posy;
//DrawSprite(SCBr);
/**************************************************************************
**************************************************************************/
if (joystick & BUTTON_RIGHT) {
if (tempa==0) {
tempa=32;
++choix; // change image de fond
if (choix==3) choix=0;
}
}
if (joystick & BUTTON_LEFT) {
if (tempa==0) {
tempa=32;
--choix; // change image de fond
if (choix==-1) choix=2;
}
}
if (tempa>0) --tempa;
if (choix==0) {SetRGB(pala);SCBDATA(SCB) = elvira;}
if (choix==1) {SetRGB(palb);SCBDATA(SCB) = elvirb;}
if (choix==2) {SetRGB(palc);SCBDATA(SCB) = elvirc;}
DrawSprite(SCB);
Vsync();
SwapBuffers();
}
/**************************************************************************
** FIN de la BOUCLE PRINCIPALE **
**************************************************************************/
}
Ensuite pour la table du flipper, là aussi je ne l'ai pas trouvé respectueuse du flipper. Par exemple, dans la version d'origine, le bas du flipper est rouge/vert/noir . J'ai fait une gif pour que vous puissiez voir la version issu de l'adaptation en jv, et celle modifié par mes soins:
[URL=http://img19.imageshack.us/i/flipelvira.gif/][IMG]http://img19.imageshack.us/img19/47/flipelvira.gif[/IMG][/URL]