Programmation ASM sur Amiga

15 sujets de 46 à 60 (sur un total de 159)

  • lexomil

      #222781

      Bonjour,

      petite surprise avant les fêtes, j’ai mis en ligne le code source du prochain dossier qui concerne l’Atari Ste, avec un modeste remake de Shadow of the Beast (mais alors vraiment modeste).

      Le dossier ne sera pas rédigé avant la rentrée mais vous pouvez déjà jeter un oeil aux sources qui sont largement commentés.

      En passant si quelqu’un pouvait me dire comment ça se comporte sur du vrai hardware.

      Bonnes fêtes.

      Jul

        #222783

        « Je vous ai mis le code source. C’est un petit projet, tout au plus quelques dizaines de milliers de lignes de code C++ pour le moteur du jeu. Pensez à compiler avec le dernier GCC. Les graphismes sont à récupérer sur le site. L’archive de fait que 22 MO. Heu… quelqu’un peut me dire comment ça tourne sur un vrai ST ? »

        😛

        Prédateur Chess | Amiga 500 + ACA500 | Amiga 1200 + ACA1233

        lexomil

          #222785

          Tssss, 90kb zippé 🙂 j’aurai jamais eu le courage (ni le temps) de faire un truc plus complet, franchement ça reste au niveau de la démo, pas plus.

           

          huggyone76

            #222787

            Quel charrieur ce Jul ! 😉

            Ne les écoute pas tous ces mécréants, je testerai sur mon STE dès ce soir ! (il est encore sur mon bureau, j’ai travaillé dessus ce week-end…).

            A500+ACA500 - A600+Vampire 2+indivision ECS - A1200+Vampire V2 1200 - Mac Mini 1.42 sous MOS - Just CPC 128k - CPC 6128 - Atari STE 4Mo/CosmosEx - Atari Falcon CT60/SuperVidel 🙂
            C64C + 1541-II + Lecteur K7 + SD - Sharp X68000 CZ-601C 4Mo + CF - Sharp X68000 CZ-611C 10Mo + CF + ext. MIDI

            huggyone76

              #222817

              Alors, premiers « tests » :

              * Le scrolling différentiel du décor, ça marche au poil !

              * Scrolling + sprite, ça commence à déconner… (barre rouge en haut dans la bande noire, barre cyan en bas qui est au niveau de l’herbe et qu’on ne voit que dans les bandes noires et un « glitch » cyan dans l’herbe), la bête va vers la droite au pas de course… 😉

              * Scrolling + sprite + joystick, ça ne change « rien » si ce n’est qu’on peut « accélérer » vers la droite… mais pas aller à gauche ou quoi que ce soit d’autre, la bête avance toujours toute seule vers la droite (et toujours les bugs de la seconde partie)

              * Avec l’ajout des barrières, toujours les mêmes bugs graphiques et ajout de magnifiques barres vertes sur toute la hauteur de l’écran et d’une barre jaune en bas (sous la cyan, faut suivre ! 😉 ). On peut diriger la bête ! Mais si on a le malheur de s’arrêter au « mauvais » moment, le décor clignote, saute… bref, c’est l’horreur ! LOL ! 🙂

              * Ajout du son… euh… pas de son, pas de musique, rien. Mon STE en reste muet…

              Bon, je ne vais pas te jeter la pierre (Pierre ?), et je serai incapable d’en faire la moitié en assembleur… 😉 Mais je crois que c’est « pas ça » mon bon Lexomil pour le faire fonctionner sur un VRAI Atari STE. Mais bon, je ne doute pas que tu vas trouver !

              Edit : Ne pas se fier à la bande sombre au niveau de la bête, c’est simplement une photo d’un écran tube cathodique, un vrai ! 😉

              Edit 2 : J’ai testé aussi bien sous TOS 1.62 que sous 2.06 et le tout assemblé sous Devpac 3.0

              Attachments:

              A500+ACA500 - A600+Vampire 2+indivision ECS - A1200+Vampire V2 1200 - Mac Mini 1.42 sous MOS - Just CPC 128k - CPC 6128 - Atari STE 4Mo/CosmosEx - Atari Falcon CT60/SuperVidel 🙂
              C64C + 1541-II + Lecteur K7 + SD - Sharp X68000 CZ-601C 4Mo + CF - Sharp X68000 CZ-611C 10Mo + CF + ext. MIDI

              lexomil

                #222825

                question toute bête, tu as bien pris les derniers fichiers INCLUDE de l’archive ?

                j’explique les barres 🙂

                la rouge du haut c’est le temps CPU+Blitter pour afficher le sprite

                les barres vertes c’est pareil mais pour la barrière (découpage en 3 passes)

                la barre cyan c’est le temps CPU pour la restauration du fond du sprite

                la barre jaune c’est le temps CPU pour la restauration du fond de la barrière

                vue ton screenshot les timings sont bien ceux que me donne Hatari, par contre on dirait que sur un vrai hardware le blitter interfère beaucoup plus avec les interruptions du timer B, ça sent le calage de cycle pas nette au démarrage.

                y’a plus qu’à mettre la main sur un STe alors.

                 

                huggyone76

                  #222830

                  Yep ! Reparti de « zéro » avec l’archive que tu as laissé ici :

                  http://flabrador.free.fr/atari/sotb/SOURCES.zip

                  Ok pour les barres, ça explique le pourquoi du comment (désolé, honnêtement je n’ai pas – ou très peu, juste les premières lignes ! – lu encore tes commentaires dans le code, j’ai juste voulu tester sur un vrai hardware comme tu le demandais sans aller plus loin !). 🙂 C’est pas mal du tout comme système !

                  Quant à mettre la main sur un STE, c’est pas compliqué, ça court les rues ! 😀 Ou au pire c’est pas très cher (le plus chiant à la limite, c’est d’avoir la place pour l’accueillir !).

                  Veux-tu que je tente avec un autre STE (on ne sait jamais, mais normalement celui que j’utilise est finalement très standard hormis ses 4 Mo !) ? J’en ai un avec le fameux DMA buggué… 😉 J’en ai aussi un autre qui n’a pas de switch pour le TOS… Bon, l’avantage de celui que j’utilise quasi au quotidien, c’est le CosmosEx, ça me permet d’avoir un « disque dur » sur mon STE… Dommage qu’on soit pas du même coin, je me serai fait un plaisir de te prêter un STE pour tes essais !!!

                  Ou alors je lance l’idée d’une location de vieilleries ? Qui veut d’un Atari STE en location ? 😉 1 euro la journée + frais de ports. 😀 (va falloir le rendre vite, sinon ça vaut plus le coup ! 😉 ).

                  A500+ACA500 - A600+Vampire 2+indivision ECS - A1200+Vampire V2 1200 - Mac Mini 1.42 sous MOS - Just CPC 128k - CPC 6128 - Atari STE 4Mo/CosmosEx - Atari Falcon CT60/SuperVidel 🙂
                  C64C + 1541-II + Lecteur K7 + SD - Sharp X68000 CZ-601C 4Mo + CF - Sharp X68000 CZ-611C 10Mo + CF + ext. MIDI

                  Baud

                    #222833

                    Salut Lexomil.

                    J’essaye de te joindre mais je ne trouve pas d’adresse de courriels (j’ai vainement essayé d’écrire à labrador.xxxx.free.fr). Peux-tu me dire si tu fréquentes irc ou peux-tu me contacter à partir de mon adresse ici s’il te plaît ? Merci.

                    frost

                      #222853

                      Sur ST, pour avoir des interruptions Timer B stables, tu n’as pas vraiment d’autre choix que de te prendre sur la ligne précédente et d’attendre que le shifter ait terminé de dessiner la ligne précédente. Là tu seras sûr d’être stable.

                      lexomil

                        #222864

                        @Baud : tu prends l’url du site et tu remplaces le .free.fr par @free.fr


                        @frost
                        : oui c’est clair que c’est la méthode la plus safe mais tu te bouffe quasi 512 cycles à chaque IT si tu attends la fin de la ligne précédente et y’en a un paquet sur cet écran. je vais quand même essayer comme ça.

                        @huggy : non c’est très bien comme machine de test, je suis en TOS 1.62 et 2meg de RAM sur Hatari donc c’est très similaire. je vais peut être abuser mais tu pourrais faire une petite video de la version finale ? je verrais mieux les bugs comme ça.

                        j’aurais jamais du revendre mon STe, bon, vais faire un tour sur le bon coin ^^

                         

                         

                        frost

                          #222869

                          Tu peux toujours commencer à synchroniser ton code avec le shifter, mais il faudra compter les cycles ensuite 😉

                          DenisPaul

                            #222871

                            @lexomil
                            J’ai réussi à compiler ton Shadow Of The Beast avec Devpac 3. Ca se compile immédiatement, contrairement au C. J’ai rien compris, mais c’est épatant ! C’est vraiment très beau avec la musique et les scrollings différentiels. Quel boulot !

                            lexomil

                              #222873

                              Salut DenisPaul,

                              tu l’as fais tourné sur quoi ? Emulateur ou vrai STe ?

                               

                              huggyone76

                                #222877

                                Je serai curieux de savoir… !

                                Edit : Je n’ai testé que sur un seul de mes STE, mais comme c’est le seul qui a un « disque dur », ça m’arrangeait… 😀 Mais si ça passe ailleurs sur un STE « standard », je testerait (mais j’aimerai connaître le TOS aussi… et si c’est bien un « STE », bien que vu le source, ça ne devrait pas fonctionner sur autre chose).

                                A500+ACA500 - A600+Vampire 2+indivision ECS - A1200+Vampire V2 1200 - Mac Mini 1.42 sous MOS - Just CPC 128k - CPC 6128 - Atari STE 4Mo/CosmosEx - Atari Falcon CT60/SuperVidel 🙂
                                C64C + 1541-II + Lecteur K7 + SD - Sharp X68000 CZ-601C 4Mo + CF - Sharp X68000 CZ-611C 10Mo + CF + ext. MIDI

                                frost

                                  #222883

                                  Si, ça peut tourner sur Falcon avec quelques adaptations des routines d’init 😀

                                15 sujets de 46 à 60 (sur un total de 159)

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

                                Forums AmigaOS, MorphOS et AROS Développement Programmation ASM sur Amiga

                                Amiga Impact