[demo] Bad apple sur 8088 ;)

15 sujets de 91 à 105 (sur un total de 120)

  • Bwah Bwah

      #308944

      Non, c’est un simple exe tout en 1 intégralement chargé en ram pour cet exemple vite fait hier dans la précipitation et non achevé (tu remarqueras que la vitesse n’est pas bonne par rapport au clip original). Mais cela demeure une video + un module.

      On peut améliorer avec un stream dans la limite du taux de transfert Dk max.

      Ce n’est pas destiné à être diffusé pour l’heure. Ce n’est pas terminé.

      C’était destiné à montrer ce que cela pourrait donner sur une disquette. :p

      Après, pour 1200 stock sans fast et dans la foulée, une version en streaming pour 1200 16 niveaux de gris. Juste pour l’exemple. :p

      Reste à voir si une CF encaisse ce taux de transfert pour les 16 niveaux. :p Avec une version en 4 niveaux de gris 30fps + audio 11khz, je suis à 300 ou 500k/s (je ne sais plus exactement).

      Edit : après verif pour la 16 niveaux je suis déja à 245k/s rien que pour la vidéo.

       

       

      __sam__

        #308951

        Il faudrait trammer la version en 16 couls. Ce sont des anims IFF je suppose. Alors un truc que j’avais découvert il y a longtemps c’est que l’ordre de la palette $000,$111,…$fff n’est pas optimal par rapport au nombre de bitplans changés simultanément. Par exemple quand on passe du gris 7 au gris 8, on passe de coul=%0111 à coul=%1000, c’est à dire que tous les bitplans sont changés en même temps pour une variation infime des couleur. Changer tous les bitplans mange non seulement de la resource CPU, mais surtout de la bande passante depuis le média de stoackage.

        Ce changement de pleins de bits vient du comptage binaire dans lesquel un simple +1 peut faire changer tous les bits. Or il existe une autre façon de compter dans lequel +1 ne change qu’un seul bit. C’est le codage gray. Avec ce codage quand la couleur passe de n à n+1, un seul bitplan est modifié. C’est beaucoup plus avantageux pour la bande-passante.

        Le truc est donc de ré-organiser l’ordre des teintes de gris dans la palette pour que ca reprenne la valeur gray:

        [code]
        palette 0,$000 REM 0–>0000
        palette 1,$111 REM 1–>0001
        palette 3,$222 REM 2–>0011
        palette 2,$333 REM 3–>0010
        palette 7,$444 REM 4–>0110
        palette 6,$555 REM 5–>0111
        palette 4,$666 REM 6–>0101
        palette 5,$777 REM 7–>0100
        palette 15,$888 REM 8–>1100
        palette 14,$999 REM 9–>1101
        palette 12,$AAA REM 10–>1111
        palette 13,$BBB REM 11–>1110
        palette 8,$CCC REM 12–>1010
        palette 9,$DDD REM 13–>1011
        palette 11,$EEE REM 14–>1001
        palette 10,$FFF REM 15–>1000
        [/code]

        Pour afficher la teinte n, il faut alors afficher celle en index (n^(n<<1))>>1 (notation “C”, c’est ce qui est indiqué à droite du REM). Avec ce codage, quand on passe de n à n+1, la palette est organisée pour qu’un seul bit d’index change cad un seul bitplan est impacté.

        Samuel.

        Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
        A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
        A500 Vampire V2+ ^8^ 🙂
        (mais aussi TO8, TO8D, TO9. Groupe PULS.)

        serge

          #308961

          @Bwah Bwah :

          cool que cette histoire de Bad Apple avance.

          J’ai la foie,  on l’aura cette saleté de vidéo,  on l’aura. ;-D

          RyZen Rulez 😉

          Bwah Bwah

            #308970

            Reste un léger ajustement de synchro. Base en anim7L.

            320*240 30fps stereo 11Khz

            @sam

            Merci de cette explication technique. Je réponds plus en détails plus tard.

             

            Amitoo

              #308981

              Magnifique !

              Donc pour le son c’est un flux compressé (ou pas) j’imagine. Je me demande si un .mod serait possible à faire mais j’ai l’impression que ce ne serai pas évident vu que les paroles n’ont pas l’air de trop se répéter.

              A500+ / A1200 / CD32 et... Jaguar

              mikedafunk

                #308988

                Très bon boulot, la VF pour ceux que ça intéresse…

                Lubuntu Linux sur Lenovo 81AX - A1260/64 - http://mikedafunk.over-blog.org

                __sam__

                  #308994

                  Oops je crois que je me suis gouré en recopiant. Les REM ne correspondent pas. Le principe est bon, mais la vraie bonne liste est:
                  [code]
                  palette 0, $000 REM 0—>0000
                  palette 1, $111 REM 1—>0001
                  palette 3, $222 REM 2—>0011
                  palette 2, $333 REM 3—>0010
                  palette 6, $444 REM 4—>0110
                  palette 7, $555 REM 5—>0111
                  palette 5, $666 REM 6—>0101
                  palette 4, $777 REM 7—>0100
                  palette 12,$888 REM 8—>1100
                  palette 13,$999 REM 9—>1101
                  palette 15,$AAA REM 10–>1111
                  palette 14,$BBB REM 11–>1110
                  palette 10,$CCC REM 12–>1010
                  palette 11,$DDD REM 13–>1011
                  palette 9, $EEE REM 14–>1001
                  palette 8, $FFF REM 15–>1000
                  [/code]
                  Donc là oui, l’intensité n (de 0 à 15) est mappée sur la palette (n xor 2n)/2 (/=div entière). Exemple l’intensité 11=%1011 est mappée en (%01011 xor %10110)/2=%11101/2=%1110=14. Ca marche! Et comme on peut le constater avec les $nnn, passer de n à n+1 ne change qu’un seul bit dans l’entrée palette, cad un seul bitplan à modifier.

                  Samuel.

                  Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
                  A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
                  A500 Vampire V2+ ^8^ 🙂
                  (mais aussi TO8, TO8D, TO9. Groupe PULS.)

                  Bwah Bwah

                    #308996

                    Je pense qu’il y a une incompréhension sur cette version. 😛

                    En effet, cette version 4 bits, ce n’est pas du tout du code, c’est la lecture en stream via player d’un flux multiplexé anim7+son que j’ai totalement crée moi même de A à Z pour mon plaisir perso.

                    Si ce n’est pour l’extraction des images et du son, tout s’est passé sur l’amiga via ému en 3.1 avec des outils d’époque. :p

                    En tout cas sam, merci pour les explications concernant le code gray.

                    Il faut savoir qu’une version ” officielle ” arrivera tôt ou tard mais je me refuse à griller la politesse au codeur concerné. :p

                     

                     

                     

                    __sam__

                      #309016

                      quelle est la vitesse d’échantillonnage du son ?

                      Samuel.

                      Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
                      A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
                      A500 Vampire V2+ ^8^ 🙂
                      (mais aussi TO8, TO8D, TO9. Groupe PULS.)

                      Bwah Bwah

                        #309020

                        8 bits 11Khz stéréo 8SVX

                        La vidéo et le son sont désormais totalement synchros.

                        J’ai une version en anim5 et une autre en anim7.

                        __sam__

                          #309026

                          XOR ou pas, là est la question 🙂 As tu essayé de voir l’impact au niveau “volume de l’animation” entre la palette traditionelle et celle utilisant le code (Felix) Gray ?

                          Samuel.

                          Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
                          A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
                          A500 Vampire V2+ ^8^ 🙂
                          (mais aussi TO8, TO8D, TO9. Groupe PULS.)

                          Bwah Bwah

                            #309029

                            Pas encore. :p

                            Pour l’heure je suis à 59Mo en anim7 et à 31Mo en anim5

                            Sachant que la version atari STE par exemple est à 56 Mo pour du 320*200.

                            mikedafunk

                              #310081

                              Même le Elektronika BK0011M y a droit 🙂

                              http://www.pouet.net/prod.php?which=76056

                              Lubuntu Linux sur Lenovo 81AX - A1260/64 - http://mikedafunk.over-blog.org

                              mikedafunk

                                #315279

                                En couleur

                                http://www.pouet.net/prod.php?which=78066

                                Lubuntu Linux sur Lenovo 81AX - A1260/64 - http://mikedafunk.over-blog.org

                                Monsieur-Belett

                                  #315295

                                  et la musique est aussi joué par BK001?

                                15 sujets de 91 à 105 (sur un total de 120)

                                • Vous devez être connecté pour répondre à ce sujet.

                                Forums Communauté Le Bar [demo] Bad apple sur 8088 ;)

                                Amiga Impact