[ASM 68000] Rubik’s

Forum Amiga Coding [ASM 68000] Rubik’s

  • Ce sujet contient 30 réponses, 4 participants et a été mis à jour pour la dernière fois par donamiga, le il y a 3 années et 4 mois.
  • Créateur
    Sujet
  • #104642
    Arnaud.68K
    • Level 3
    • Messages : 69

    Bonjour,

     

    Voici mes débuts sur un cube Rubik’s A500 temps réel

    https://github.com/Amiga68000/Rubiks.Amiga.68000

    Pour le moment ça passe dans le VBL mais le cube :

    – est en monochrome

    – n’est pas en faces pleines

    – n’a pas encore de rotations de couronnes

    Vous pouvez voir dans le code certains TODO en guise de pistes d’optimisation.

    A+

    Arnaud

    @donAmiga, peux-tu reposter ici tes liens vers les démos existantes ;-)

    A500 + 512k, adepte du SM attention avec un A devant !

Affichage de 15 réponses de 16 à 30 (sur un total de 30)

Partager sur vos réseaux sociaux préférés :
Facebooktwitterredditpinterestlinkedintumblrmail

  • Auteur
    Réponses
  • #104897
    donamiga
    • Level 5
    • Messages : 249

      faut arreter avec les versions à la con de winuae tant qu’elles ne sont pas stables, merci

      >ds.b FIN_POLY-POLY,$BB

      Ca n’a pas l’air de marcher sous ASMTwo (K-SEKA y avait une commande de ce type, je me souviens plus), je vais supprimer.

      le truc c’est DCB.b FIN_POLY-POLY,$BB

      >hint : movea.l 4.w,a6, du code (pc) relatif pour moins de hunks reloc

      quelle différence avec movea.l Execbase,a6 puisque Execbase vaut 4 ?

      tu gagnes 2 octets, après c’est une convention d’ecriture (un detail)

      >note : je trouve la perspective du cube etrange… comme dans celle d’Intryx d’ailleurs

      Il n’y a pas de perspective avec lignes fuyantes, c’est peut être pour ça ?

      ok, mais ça fait bizarre

      >basecode potable

      Ok je le mets en TODO, mais je vais avoir besoin de conseils, si il y a un doc ou une video spécifique je prends

      utilise un basecode existant, de blueberry, stingray, etc… pour Jel, voir YouTube

      exemple avec startup.i (attention, macro waitblit existe, la renommer si besoin)

      >mettre la copperlist direct en chip dans un section copper,data_c
      Donc pas besoin de faire un transfert en chip ? D’ailleurs ça marche comment une fois compilé, l’OS charge les sections de code en fonctions des directives d’allocation ?

      les hunks exe de l’AmigaOS servent à ça : section permet de créer les hunks data, code, bss en fast ou ou chip avec code_c,data_c,bss_c

      de plus ton code a déjà un section code_c, donc la copperlist est déjà en chipram…

      >à la limite, idem pour les screens (appelés ici bitplaneA,B,C) dans un section screen,bss_c
      Oui je comprends le besoin pour le test, mais après faut allouer pour pas grossir le code

      le bss ça ne prend aucune place dans le code :  c’est un hunk d’allocmem que le systeme fera automatiquement.

      >pour le copper par exemple : $FF00 ?? dc.w $yyxx,$FFFE

      C’était dans le code de YRAGAEL

      $FF00 ça ne se voit pratiquement jamais pour un WAIT copper, ou alors c’est un SKIP

       



      #104900
      jean3.5
      • Level 8
      • Messages : 617

        Merci pour ta video, ça fait plaisir

        de rien ;)

        ça y est, adaptateur reçu :lol: le A500 peut à nouveau lire mes adf.

        par contre j’ai que 512k de ram, donc dès que l’alloue plus de 100k à ASNtwo, voilà ce que j’ai :

        et un peu pareil pour le Cube3D.

        par contre, si me met juste 100k de chip ram, ça passe bien pour tes 2 codes.

        voici le rubiks sur le 500 https://www.facebook.com/100013145713455/videos/1052685005179680/

        j’ai pas encore testé celui en couleur ;-)

        #104908
        donamiga
        • Level 5
        • Messages : 249

          Je tente un report sur EAB.

          pour une fois que ça marche :good: :yahoo:

          #104919
          Staff
          Zarnal
          • Level 22
          • Messages : 7455

            Et tu imagines bien que je teste au moins sur la dernière version officielle avant de reporter. :-p

            C’est une très bonne chose de faite.

            Cela a marché parce que ce n’était pas un truc en AGA. Si j’ouvre un fil pour ubergirl par exemple, je vais bien me faire recevoir ou bien le post va rester vide. :lol:

            @Jean3.5

            Ton écran est une oeuvre d’art. :-p

             

             

             

            A1200 Commodore mutant " FrankenAmiga" + 68040 + 8MO + SD 8go - A1200 ESCOM. HD 20MO. Mon meilleur et seul A500 : WinUae. CPC 6128-CPC 464.

            #104924
            donamiga
            • Level 5
            • Messages : 249

              sur EAB, a/b a signalé une version de 1998 aga fix
              je l’ai trouvé sur the scene archives :
              ftp://ftp.scene.org/mirrors/the_scene_archives/The_Scene_Archives_Vol_10/Disks_are_in_Here/Disks_9301_To_9350/9345-Made_in_Croatia_AF.DMS

              elle marche avec winuae 4.4

               

              #104994
              Arnaud.68K
              • Level 3
              • Messages : 69

                Made in Croatia : tout simplement superbe !

                A500 + 512k, adepte du SM attention avec un A devant !

                #104999
                donamiga
                • Level 5
                • Messages : 249

                  j’avais commencé à desassembler le rubik, mais la 3d ça pique un peu.
                  je vois que tu maîtrises bien.faudrait que je finisse

                  Je pense à un truc : il faudrait verifier et corriger des comments sur des sources de cracktros utilisant la 3d, parce qu’il doit y avoir pas mal de conneries au niveau des calculs 3d/2d (exemple : ici ou ici)
                  je dis ça, je dis rien

                   

                  #105015
                  Arnaud.68K
                  • Level 3
                  • Messages : 69

                    Je maitrise, je maitrise, c’est vite dit. Quand je vois ce qui se fait en 1 VBL je me dis que j’ai du taff et à progresser ;-)

                    parce qu’il doit y avoir pas mal de conneries au niveau des calculs 3d/2d

                    Qu’entends tu par « conneries » sur les calculs ?  J’ai lancé Delight, ça bugue un peu mais le 3D est là.

                    J’essaie de poster mon code nettoyé demain.

                    A500 + 512k, adepte du SM attention avec un A devant !

                    #105017
                    donamiga
                    • Level 5
                    • Messages : 249

                      pour les conneries je parlais des « commentaires » du code et  du fait qu’il faut quand même bien connaitre les calculs 3d (je parle pas d’optimisation)
                      (note : le code fonctionne c’est l’original desassemblé et reassemblé avec new startup sur amiga… après pour winuae…)

                      edit : note 2 : avant de dire que la zenith ne fonctionne pas (asmtwo, winuae, etc…), comme pratiquement toutes les autres, refaite sur a500 1.3 512/512 en 1996-97 : donc ça marche. c’est vrai que je n’arrive pas à la faire fonctionner avec asmtwo, rien n’apparait, mais passe avec asm-one 1.48

                      #105176
                      Arnaud.68K
                      • Level 3
                      • Messages : 69

                        Hello,

                        voici une nouvelle release

                        https://github.com/Amiga68000/Rubiks.Amiga.68000/releases/tag/2020-11-27

                        J’ai nettoyé et optimisé le code, le code s’exécute en 2 VBL :-(

                        ..dites moi si c’est plus clair

                        Ligne 1404, dc.w COLOR04,MIRROR_SCROLL_COLOR, je comprends pas pourquoi si je l’active mon écran est noir ? J’ai pas testé avec une autre ligne.

                        Pour le code relogeable, j’ai commencé mais j’ai dû laisser des coquilles. Une question comment tester si son code est bien relogeable ?

                         

                        A500 + 512k, adepte du SM attention avec un A devant !



                        #105178
                        Arnaud.68K
                        • Level 3
                        • Messages : 69

                          ZenithBuc testé sous ASMOne, j’ai une erreur :

                          ** Illegal Operator

                          8 opt c-,ow-,o+

                          Je sais pas pour quel assembleur ça été écrit.

                          @DonAmiga : C’est toi qui a désassemblé ?

                          A500 + 512k, adepte du SM attention avec un A devant !

                          #105188
                          donamiga
                          • Level 5
                          • Messages : 249

                            ZenithBuc testé sous ASMOne, j’ai une erreur :

                            ** Illegal Operator 8 opt c-,ow-,o+

                            Je sais pas pour quel assembleur ça été écrit. @DonAmiga : C’est toi qui a désassemblé ?

                            oui, c’est moi qui l’ai desassemblé

                            j’utilise Devpac ou asm-pro (ou asm-one 1.48 68020)
                            cette ligne sert à indiquer case sensitive no, optimisation oui (pas toujours recommandé je l’avoue)

                            il suffit de supprimer cette ligne pour asmone

                            ou rajouter :

                            ASMONE

                            ifnd ASMONE
                            opt c-,ow-,o+
                            endc

                            ifd ASMONE
                            incdir « dhx:zenithbuc/ » ; à modifier
                            endc

                            [/code]

                            et changer les else par elseif ou mettre :
                            ifd ORIG

                            endc
                            ifnd ORIG

                            endc

                            il y a le D_CON qui utilise le signe | qu’il faut remplacer par ! ou +

                             

                             

                            #105199
                            donamiga
                            • Level 5
                            • Messages : 249

                              oulalala… c’est quoi ces beq.s label(pc) / blo label(pc) ?!?
                              jamais de (pc) sur un bxx ni dbxx !! ça n’existe pas et ça ne sert à rien, c’est déjà du relatif.
                              asmtwo laisse tout passer ou quoi : moi j’ai « garbage following instruction »

                              le pc sert pour les datas avec lea, move ET les JSR/JMP pour le coup : adressage absolue, autre hunk (section) ou trop long qu’un bxx ne pourrait atteindre
                              pas de (pc) sur ce qui est dans un autre hunk/section non plus

                              edit : version corrigée pour devpac (testé aussi sur asm2). je vois pas le cube en mode debugdisplay_raster=1 (sur les 2)

                              #105202
                              Arnaud.68K
                              • Level 3
                              • Messages : 69

                                Quel assembleur 68000/A500 non permissif tu me conseilles ?

                                GG pour le désassemblage

                                Tu as dû coder des demos ou autres en ces temps illustres ?

                                A500 + 512k, adepte du SM attention avec un A devant !

                                #105204
                                donamiga
                                • Level 5
                                • Messages : 249

                                  Quel assembleur 68000/A500 non permissif tu me conseilles ? GG pour le désassemblage Tu as dû coder des demos ou autres en ces temps illustres ?

                                  je prefere rien conseiller… les demomakers utilisent beaucoup asm-one. voir une version compatible a500. il y a asmpro (je crois que c’est compatible 68020). il existe aussi  des clones (de silents par exemple trashemone ou un truc comme ça)
                                  c’est vrai qu’avec devpac 2 : tout est signalé

                                  oui, j’ai codé quelques trucs dès 1989-90…. au depart avec k-seka (pas longtemps, argl), un peu asm-one, et un gars avait acheté devpac en 90 et me l’a passé (doc en anglais que j’ai recopié à la main et traduite en 1 semaine, le temps qu’il me l’a laissé)

                                  vers 2008 j’ai fait quelques installs whdload sur A3000, mais pas de communication avec les devs de patchs (quand on ne fait pas partie du clan, il n’y a rien à faire…), j’ai donc arreté et j’avais un probleme avec l’option MMU de whdload de mon A3000, donc pour faire des patchs complets… dur

                                  edit :  asmone 1.20 de T.F.A.  ou le 1.05

                                   

                                   

                                Partager sur vos réseaux sociaux préférés :
                                Facebooktwitterredditpinterestlinkedintumblrmail
                                Affichage de 15 réponses de 16 à 30 (sur un total de 30)
                                • Vous devez être connecté pour répondre à ce sujet.