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 - Autres questions


Index du Forum » Autres questions » emulateur prizm
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

emulateur prizm

Posté le 26/12/2012 11:36

je suis en train de programmer un jeu pour la PRIZM, et lorsque je teste le jeu sur l’émulateur , c'est super lent! alors que je n'ai que
-1 background de 216*384
-1 sprite de 16*16
-25 sprite de 27*24
et ça tourne a du 1-2 fps...
est-ce que ça tournera aussi lentement sur la calto, ou est-ce juste a cause de l’émulateur?


Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 26/12/2012 19:15 | #


L'émulateur est beaucoup plus rapide que la calculatrice.
Ta méthode d'affichage ne doit pas être optimisée.
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 26/12/2012 19:28 | #


sans doute, mais j'ai testé quelques jeu (sonic, gravity duck et cube field), et il n'y a que cubefield qui marchait correctement, les autres ne marchaient que tres lentement.

ma fonction d'affichage
Cliquer pour enrouler
static const short herbe[1296] ={
trop long... };

static const short hud_palette[32] = { trop long...};

static const unsigned char hud[83712] = {
trop long... }

int a;
static int scrolling = 2;
CopySpriteNbitMasked(hud,0, 0, 384, 216, hud_palette, 0, 8 );


scrolling--;
if(scrolling == -1)scrolling = 23;
for(a=-1;a<24;a++)CopySpriteMasked(herbe, a*24+scrolling,189,24,27, 0);



mes fonctions de sprite
Cliquer pour enrouler
void CopySpriteMasked(short* bitmap, int x, int y, int width, int height, short mask)
{
short* VRAM = (short*)0xA8000000;

int y_index;
int x_index;
short * base = y * 128*3 + x + VRAM;
for (y_index = height; y_index > 0; --y_index, base += 128*3 - width) {
for (x_index = width; x_index > 0; --x_index, ++base, ++bitmap) {
if (*bitmap != mask) *base = *bitmap;
}
}
}


void CopySpriteNbitMasked(const unsigned char* data, int x, int y, int width, int height, const short* palette, short maskColor, unsigned int bitwidth)
{
short* VRAM = (short*)0xA8000000; //ou color_t* VRAM = (color_t*) GetVRAMAddress();
int offset = 0;
int availbits ;
int j,i;
unsigned char buf;
short thiss;
short color;

VRAM += (128*3*y + x);
for(j=y; j<y+height; j++)
{
availbits = 0;

for(i=x; i<x+width; i++)
{
if (!availbits)
{
buf = data[offset++];
availbits = 8;
}
thiss = ((short)buf>>(8-bitwidth));
color = palette[thiss];
if(color != maskColor && i >= 0 && i<384)
{
*VRAM = color;
}
VRAM++;
buf<=bitwidth;
availbits-=bitwidth;
}
VRAM += (128*3-width);
}
}

Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !

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 76 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