1710

Tu as de la chance. wink

Au niveau optimisation, j'ai gagné 500 increment counter facilement. Je commence à comprendre que je code comme un porc en ASM et je vais m'habituer à optimiser mon code dès son écriture. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1711

Pour l'optimisation, j'ai gagné 10% pour l'instant et en ne changeant pas grand chose, j'espère arriver à 20% voir plus.

Le résultat ici d'une consommation CPU à 67% correspond à une utilisation de la librairie assez forte. Utilisation des 2 voies, avec une musqiues à tempo rapide et changement de notes rapide aussi. Il est clair que ce mode ne peux être utiliser que dans un menu...
Au final, l'utilisation du son avec une musique en mono et bruitage, ne feras perdre que 10% du CPU voir moins. Mais cela dépend de nombreux critères...
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1712

Je crois que vous l'avez déjà dit, mais comment vous calculez l'utilisation CPU ?
Parce que le CPU il est tout le temps utilisé.

1713

Voici la source, du programme permettant de tester le CPU. // C Source File // Created 08/08/2003; 22:05:40 //#define USE_TI89              // Compile for TI-89 #define USE_TI92PLUS          // Compile for TI-92 Plus //#define USE_V200              // Compile for V200 #define MIN_AMS 100           // Compile for AMS 1.00 or higher #define USE_KERNEL #define SAVE_SCREEN           // Save/Restore LCD Contents #include <tigcclib.h>         // Include All Header Files #include "polysnd2.h" #include "cool.h" INT_HANDLER OldInt1 = NULL; INT_HANDLER OldInt2 = NULL; INT_HANDLER OldInt5 = NULL; volatile unsigned long counter ; DEFINE_INT_HANDLER (Interrupt_handler5) {    counter++; } DEFINE_INT_HANDLER (myint2) {      pokeIO (0x60001B,0); } void _main (void) {   unsigned long cpu_speed=0;      OldInt1 = GetIntVec (AUTO_INT_1);   OldInt2 = GetIntVec (AUTO_INT_2);   OldInt5 = GetIntVec (AUTO_INT_5);   SetIntVec (AUTO_INT_1, DUMMY_HANDLER);   SetIntVec (AUTO_INT_2, myint2);   counter=0;   EnableSound ();   InstallSound ();            Interrupt5 (Interrupt_handler5);      PlayMode (STEREO);      SetTempo (140);            PlaySound_voice1 (cool1);      PlaySound_voice2 (cool2);            SetState (ALLVOICES);         while (_keytest (RR_ESC)!=TRUE) {        cpu_speed++;                if (counter>=5000) {             printf_xy (0,0,"%lu",cpu_speed);                          cpu_speed=0;             counter=0;        }   }    UninstallSound ();   DisableSound ();   SetIntVec (AUTO_INT_1, OldInt1);   SetIntVec (AUTO_INT_2, OldInt2); }
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1714

Mais le 67%, il signifie quoi ? 67% de quoi ?

1715

Comme tu le vois dans la source, j'incrémente la variable cpu_speed dans le programme principal, ans le cas ou la librairie est activé mais aucun son ne sort, ce compteur s'incrémente 18 000 fois par seconde et dans le cas ou je joue du son, dans la source une musique en stéréo sur 2 voies, j'arrive à 6200 incrémentation de cpu_speed par seconde. Ce qui me permet de dire qu'il reste dans le programme principal, 67% des ressources du CPU disponible. Bien sûr c'est indicatif mais proche de la réalité je pense.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1716

Mais le 67%, il signifie quoi ? 67% de quoi ?
Ca signifie que 67% du temps initial est disponible pour exécuter ton propre code. En gros, ta TI aura 67% de sa vitesse pendant que le son est joué.
Parce que le CPU il est tout le temps utilisé.
Le CPU est tout le temps utilisé, mais parfois à rien faire. Donc c'est ce temps passé à attendre que l'on calcule.
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

1717

Brunni
:
Mais le 67%, il signifie quoi ? 67% de quoi ?
Ca signifie que 67% du temps initial est disponible pour exécuter ton propre code. En gros, ta TI aura 67% de sa vitesse pendant que le son est joué.

C'est pas plutôt qu'il reste 33 % de temps pour son programme, PolySound consommant 67 % ?
wink
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

1718

Oui en effet PolySnd consomme 67% du CPU avec une musique sur 2 voies. J'essaye au maximum de diminuer la consommation CPU de PolySnd, j'espère gagner au maximum 20%. Malgré le peu de connaissance que j'ai en ASM, c'est assez difficile d'optimiser le code de l'interruption, si des personnes veulent m'aider, y a pas de problèmes, déjà XDanger m'aide et c'est vraiment sympa de ça part.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1719

Ca serait vraiment sympa que vous me disiez si la documentation passe bien chez vous avec une résolution inférieure à 1152x754.

http://perso.wanadoo.fr/tisofts/polysnd/polysnd2/doc/PolySnd%20v2.0%20documentation.htm
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1720

non. pencil

1721

Donc ça passe pas, y a la barre de scolling en bas?
Ca m'énerve, c'est dans quelle propriété pour corriger ça dans le code?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1722

Ca vient de la barre de séparation qu'il y a au chapitre 7. Liste et descriptions des fonctions de PolySnd v2.0.
Tu fais ça avec FrontPage Express ? Essaie de voir dans les propriétés de la barre si tu ne peux pas fixer une taille en pourçentage (100cheeky plutôt qu'en pixels.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

1723

J'ai fait ça avec Dreamwavers.

Mais je pense que ça vient pas de là car il doit y avoir une fonction réglé à 1152x764 pour l'image de fond et non en fonction de la taille de la fenêtre et comme je ne connais pas le HTML j'arrive pas à régler ça. J'ai essayé plein de trucs sous Dreamwavers et rien à faire ça bug.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1724

L'image de fond ne décide pas de la taille de la fenêtre il me semble.

C'est ta barre de séparation. Vire-là juste pour essayer... combien tu paries que ça va marcher ?
tongue
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

1725

J'essaye tout de suite.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1726

Merci Thibaut, ça venait de cette barre. C'est quand même con de ne pas la redimensionner à la taille de la fenêtre.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1727

Il me semble que c'est possible, je vais chercher wink

EDIT
Ben DreamWeaver t'a généré une ligne de caractères '_'. Quel idiot smile

Vire-la et remplace-la par un simple <hr> dans le code HTML la page.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

1728

C'est pas grave, ne te complique pas la vie.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1729

J'ai édité attention Regarde mon post, t'as la solution.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

1730

D'accord. Les petites astuces du HTML. wink
Encore merci.

Un petit sondage, très important pour moi.
[sondage=13739]

Ca serait sympa de dire pourquoi vous avez fait ce choix et pour quel type de jeu vous avez pensez.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1731

pourquoi t'as pas repris la version que j'avais faite ? j'avais essayé de la faire assez simple pour qu'elle soit facilement compréhensible. puis y a les mm pour les questions, ca aurait été plus vite je pense smile
sinon, t'as l'air d'avoir pas mal avancé.
Moi j'avais pensé utiliser ta lib pour C&C (projet V4pOR T34m pas avant 2048)
Car seuls les cons ne reconnaissent pas leurs erreurs.
=========================================
Avis aux newbies, avant de poster, essayez ça ->[http://databob.free.fr/IFAQ/FAQ]

Membre de la [V4pOR T34m]
EvaSDK's Homepage > et c'est reparti

1732

Merci d'avoir répondus au sondage. smile

Bah je t'avoue que j'avais énormément de choses à ajouter ou à modifier et donc repartir de la documentation au format word ou de ta documentation aurait été trop long.
j'avais essayé de la faire assez simple pour qu'elle soit facilement compréhensible


Tu trouve quelle n'est pas compréhensible?

Dans tout les cas j'ai préférer me débrouillier et faire la documenation au format HTML pour éviter de demander et t'ennuyer avec ça.
Moi j'avais pensé utiliser ta lib pour C&C (projet V4pOR T34m pas avant 2048)


Vu le choix que tu as fait dans le sondage, c'est le plus mauvais dans un jeu de jouer une musique en stéréo car il reste peu de ressources CPU, en espérant que j'arrive à optimiser ça. Rien que modifier une instruction dans l'interruption peut me faire gagner 5%...
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1733

bah je me doute bien que au final ce sera dur de faire comme ça (pour le jeu) mais bon, faudra que je fasse un choix à ce moment là et il me faudra un convertisseur wav qui marche(PCM)
Car seuls les cons ne reconnaissent pas leurs erreurs.
=========================================
Avis aux newbies, avant de poster, essayez ça ->[http://databob.free.fr/IFAQ/FAQ]

Membre de la [V4pOR T34m]
EvaSDK's Homepage > et c'est reparti

1734

Il existe, c'est d'ailleurs grace à Brunni. Il fait du 1, 2 4 bits or PolySnd ne fait que du 1 bit.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1735

oui mais il est pas multi plateforme.
Je peux avoir un lien de la dernière version pour jeter un coup d'oeil
Car seuls les cons ne reconnaissent pas leurs erreurs.
=========================================
Avis aux newbies, avant de poster, essayez ça ->[http://databob.free.fr/IFAQ/FAQ]

Membre de la [V4pOR T34m]
EvaSDK's Homepage > et c'est reparti

1736

-

1737

cf documentation.

On peut jouer du WAV 1 bit.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1738

Un peu de nostalgie. grin

J'ai commencé avec ça: // C Source File // Created 02/03/2003; 11:55:37 #define USE_TI92PLUS //#define USE_TI89 #define USE_KERNEL //#define OPTIMIZE_ROM_CALLS #include <tigcclib.h> #include "PolySnd.h" #include "graphx.h" #include "image.h" #include "temp.h" #include "Freqs.h" #include "File6.h" INT_HANDLER old_int5; INT_HANDLER old_int2; INT_HANDLER old_int1; INT_HANDLER old_int4; DEFINE_INT_HANDLER (int_5) {                     __counter_duree++;            if (__counter_duree<__sound_unittps && (__sound_unittps!=0))      {           __counter_time1++;           __counter_time2++;                      if (__counter_time1<__sound_distor1)           {                __counter_voice1++;                __counter_voice2++;                           if (__counter_voice1>__sound_frequency1)                {                     asm ("bchg.b   #0,(0x60000E)");                     __counter_voice1=0;                }           }                else __counter_time1=0;                           if (__counter_time2<__sound_distor2)           {                if (__counter_voice2>__sound_frequency2)                {                     asm ("bchg.b   #1,(0x60000E)");                     __counter_voice2=0;                }           }           else __counter_time2=0;      }      //else {__counter_duree=0;__sound_unittps=0;} } void _main(void) {           __counter_duree=0;      __counter_voice1=0;      __counter_voice2=0;            __sound_unittps=0;      __sound_frequency1=0;      __sound_frequency2=0;      __sound_distor1=0;      __sound_distor2=0;            unsigned char Save_0x600015=peekIO(0x600015);      old_int5 = GetIntVec (AUTO_INT_5);      old_int2 = GetIntVec (AUTO_INT_2);      old_int1 = GetIntVec (AUTO_INT_1);      old_int4 = GetIntVec (AUTO_INT_4);            //pokeIO (0x600017, 0xCC);      *(unsigned char*)0x600015 &= 0b11001111;      pokeIO (0x600017, 0xFF);            SetIntVec (AUTO_INT_5,int_5);      SetIntVec (AUTO_INT_2,DUMMY_HANDLER);      SetIntVec (AUTO_INT_1,DUMMY_HANDLER);      SetIntVec (AUTO_INT_4,DUMMY_HANDLER);            GrayOn();            SetPlane (0);           BitmapPut (0,0,pic1,ScrRect,A_NORMAL);    SetPlane (1);        BitmapPut (0,0,pic2, ScrRect,A_NORMAL);            EnabledSound();            FontSetSys (F_4x6);                      while (1)       {           printf_xy (200,0,"%d",__counter_duree);           printf_xy (200,8,"%d",__counter_time1);           printf_xy (200,16,"%d",__counter_time2);           printf_xy (200,24,"%d",__counter_voice1);           printf_xy (200,32,"%d",__counter_voice2);                      printf_xy (200,56,"%d",__sound_unittps);           printf_xy (200,62,"%d",__sound_frequency1);            printf_xy (200,70,"%d",__sound_frequency2);           printf_xy (200,78,"%d",__sound_distor1);           printf_xy (200,86,"%d",__sound_distor2);                      if (_keytest (RR_ESC)) break;                      if (_keytest (RR_Q)) __sound_frequency1++;           if (_keytest (RR_W)) __sound_frequency1--;                      if (_keytest (RR_A)) __sound_frequency2++;                if (_keytest (RR_S)) __sound_frequency2--;                           if (_keytest (RR_E)) __sound_distor1++;           if (_keytest (RR_R)) __sound_distor1--;                      if (_keytest (RR_D)) __sound_distor2++;           if (_keytest (RR_F)) __sound_distor2--;                      if (_keytest (RR_PLUS)) __sound_unittps++;           if (_keytest (RR_MINUS)) __sound_unittps--;                      //printf_xy (200,0,"%d",__counter_duree);                      if (_keytest (RR_ESC)) break;                      /*if (_keytest (RR_A))           {                beep (50,50,3,3,200);           }*/      }            DisabledSound();            GrayOff();            pokeIO (0x600017,0xB2);      pokeIO (0x600015,Save_0x600015);      SetIntVec (AUTO_INT_5,old_int5);      SetIntVec (AUTO_INT_1,old_int1);      SetIntVec (AUTO_INT_2,old_int2);      SetIntVec (AUTO_INT_4,old_int4); }
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1739

La librairie maintenant est presque à 4 Ko, c'est vraiment peu, contre 5 Ko avant, j'ai gagné 1 Ko assez facilement. Je vias changer le mode de passage des argumentes et les passer par registres, plus économique et rapide.

Pour la consommation CPU, en changeant 2 instructions, j'ai gagné 500 increment de compteur donc je passe à 65% de consommation CPU par PolySnd. Je suis persuadé de de gagner encore plus.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

1740

Moi ça m'interresse bcp pour Super Metroid (FX + fond sonor)
Par contre je suis pas sur que mettre Polysound et Genlib fonctionne (or le SM que je fais utilise Genlib)

G les midi de SM si ça t'interresse!