Menu

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.

Voir les contributions Menu

Messages - alekmaul

#46
Hello, je regarde dés que je peux.
Je te tiens au courant.
#47
Merci pour le probl?me sur le wiki, c'est corrigé. Je passerais ? la version suivante de dokuwiki pour arr?ter ces co...
Pour la mise ? jour, oui, je reprends dés que je peux, je suis en ce moment hélas sur un autre projet qui me prend 100% de mon temps (novuelle console sous opendingux).
Essayes de me donner tout le code source, je verrais o? ça cloche, mais je pencherais pour un oamSet pas fait ou alors trop loin d'un VBlank.
#48
Déja, le dernier param?tre de dmaCopyCGram, c'est la taille , donc pas de OBJ_SIZE16 mais le nombre de couleur 16*2 certainement pour toi (1 couleur est codée sur 16 bits).
Ensuite, ton probl?me doit venir des omSet qui ne doivent pas contenir les bons param?tres car ton init me semble OK l? ...
Enfin, reprend la derni?re verison de pvsneslib de googlecode, je crois me souvenir que j'avais un bug sur les sprites.
En dernier recours, poste tout ton code et tes bitmaps, j'essayerais de compiler tout cela de mon coté et voir d'o? vient le probl?me.
#49
Oui, merci, dés que je peux , je regarde en détail mais pour l'instant j'ai d'autres priorités sur un autre projet.
#50
PVSnesLib section Française / Re : Merci! :D
25 Août 2012 à 06:34:29
ouep, START to continue ajouté sur cet écran :)
#51
T'es un extrémiste toi  ;D , fallait laisser le premier oamInitGfxSet car il fait des trucs en plus  :P comme par exemple l'init de l'adresse des sprites et la taille de ces derniers ...

Voici le code de la fonction (que tu peux retrovuer sur googlecode aussi)

Citation
//---------------------------------------------------------------------------------
void oamInitGfxSet(u8 *tileSource, u16 tileSize, u8 *tilePalette, u16 paletteSize, u8 tilePaletteNumber, u16 address, u8 oamsize) {
   unsigned char palEntry;

   //setBrightness(0);  // Force VBlank Interrupt
   WaitForVBlank();
   
   // Init tiles
   dmaCopyVram(tileSource, (address >> 1), tileSize);
   
   // Init palette
   palEntry = (128+tilePaletteNumber*16);
     dmaCopyCGram(tilePalette, palEntry, paletteSize);

   // Update base adress if needed (16k aligned)
   REG_OBSEL = oamsize | (address >> 14);
}
#52
PVSnesLib section Française / Re : Merci! :D
20 Août 2012 à 08:12:28
Merci de tes tests sur MazezaM ;-)
Pour le game design, c'est vrai, c'est bizarre de tout bouger en m?me temps mais c'est le jeu qui veut cela. Faudrait que je trouve une autre forme qui fait plus "bloc" pour éviter ça.
Pour le temps entre 2 niveaux, il est de 15secondes, mais tu peux appuyer sur A ou START pour passer.
#53
Bizarre pour les pbs du forum, j'ai pas ça moi ...

A propos du k, tous les fichiers ont le pb, lol, j'ai corrigé.
Pour le multitap, de ce que je vois, y'a aussi des infos ici : http://wiki.superfamicom.org/snes/show/Controllers#multitap

Je regarde dés que je peux, on m'a sollicité aussi sur d'autres trucs pas sur Snes en ce moment ....
#54
non, non, tu mets pas tout dans la m?me images, il suffit que tu copie au bon endroit avec dmaCopyVRam.
Par exemple , si tu as 2 bitmaps, s1 et s2, voil? ce que tu peux faire :

dmaCopyVram(adrgfx_s1, adrenvramcopie, sizeof(s1gfx));
dmaCopyVram(adrgfx_s1 adrenvramcopie+sizeof(s1gfx),sizeof(s2gfx));

Ainsi, tu copie ? la suite du premier.
Tu peux aussi fixer l'adresse vram "en dur" mais attention ensuite pour bien adresser le bon numéro de gfxset pour les sprites.
Et en copiant comme ça, tu peux faire plein de sprites en 16 couleurs différentes en adressant ensuite avec oamSet la bonne palette :).
#55
PVSnesLib section Française / Re : Merci! :D
18 Août 2012 à 07:23:48
c'est noté, pas grave ;-).

A tester : MazezaM , réalisé avec PVSneslib pour vous montrer ce que l'on peut faire avec la lib.

UWOL arrive aussi bientôt :)
#56
PVSnesLib section Française / Re : Merci! :D
17 Août 2012 à 06:48:32
Merci ? vous d'utiliser la lib. Si vous vous sentez OK, je peux vous donner acc?s au commit du code de cette derni?re pour ?tre contributeur, comme pour le wiki.
#57
Bah, je dirais oui. Faut juste savoir quel registre il faut taper pour récupérer les infos.
Ensuite, les manettes sont gérées par des strutures, donc l'évolution serait tr?s simple ^^
Enfin, c'est 2 manettes , pas 4, une coquille dans la doc ça :/

Citationu16 pad_keys[2] = {0,0};
u16 pad_keysold[2]  = {0,0};
u16 pad_keysrepeat[2]  = {0,0};

Citation//---------------------------------------------------------------------------------
void scanPads(void) {
   unsigned int i;
   u16 pressed,released;

   while(REG_HVBJOY & PAD_BUSY); // Wait Auto-Joypad-Read Busy Flag not set

   for(i=0;i<2;i++) {
      pad_keysold = pad_keys;
      pad_keys = (REG_JOYxLH(i) & 0xFFF0);// ^ 0xFFF0;  // Read Auto-Joypad
   }
}
#58
Je dirais que déj?, oamInitGfxSet doit ?tre unique, ensuite utilise directement dmaCopyVRam, sinon tu va changer l'adresse de base (cf le code source de la lib).
Pour les palettes, idem et ensuite oamSet te permettra de jongler avec les bonnes palettes, comme tu as fait en passe de 0 ? 1 puis 2.
Enfin, faut pas ouliber une chose ultra importante sur SNES, la copie vers la vram doit ?tre utilisée juste apr?s une VBL, donc, juste avant linit, commence par un WaitForVBlank() et SetBrightness(0) pour forcer la VBL.

Enfin, bonne idée de tester sous bsnes, c'est le seul qui est vraiment SNES compliant. Perso, je debug avec no$sns mais la validation finale est toujours avec bsnes avant de passer sur console.
#59
0x8000 depasse le max autorisé. On peut pas aller au dela de 0x7fff.

Pour info, une nouvelle version de PVSnesLib est en approche, mais juste des bugs fixs, pas de nouveautés ( pas eu trop le temps avec le real staff et la neocompo ces derniers temps)
#60
Les fonts pour les textes sont chargées sur le début de la mémoire VRAM, donc en 0x0000. Ton pb de garbage vient peut ?tre de l? .
Pour pouvoir t'aider, il me faudrait un extrait de ton code source, ça serait plus simple.