Sethghost

Toutes mes réponses sur les forums

  • En réponse à : 68030 – 50Mhz – 64Mb versus PiStorm32 ?

      #384611

      Conclusion : Un PIStorm ! 🙂

      Vite, un panneau solaire et un PiStorm.

      En réponse à : 68030 – 50Mhz – 64Mb versus PiStorm32 ?

        #384609

        Le prix de la TF68030 est affiché sur amigastore.eu.
        Pour une carte à base de PiStorm, j’attendrai l’avis d’un utilisateur.
        Ou acheter ? les accessoires à prévoir, alim etc.

        Vite, un panneau solaire et un PiStorm.

        En réponse à : 68030 – 50Mhz – 64Mb versus PiStorm32 ?

          #384604

          Du coup PiStorm ou TF68030 ? hé hé.

          Vite, un panneau solaire et un PiStorm.

          En réponse à : 68030 – 50Mhz – 64Mb versus PiStorm32 ?

            #384594

            Pas besoin de PiStorm pour faire tourner Doom. Un 68030 suffit.
            Pour Quake II, la le PiStorm est indispensable. Quoique avec une 68060 bien boustée, on peut faire des miracles.
            J’aimerais l’avis de Stephbb sur Mame d’ailleurs, hé hé, est-ce que ç’est fonctionnel, doit y avoir une liste sur le github.
            Version Mame106 – m68k 2024 (Krabob) :
            https://aminet.net/package/misc/emu/Mame106MiniMix1.1
            * N’oublions pas non plus DosBox pour les jeux DOS. En théorie, c’est utilisable sur un PiStorm.

            Un aperçu de Mame sur PiStorm :

            Avec un 68030, ce sera plus compliqué.

            Half Life Quake II sur Amiga 500, BeuaaaRR, ha ha ha

            Vite, un panneau solaire et un PiStorm.

            En réponse à : 68030 – 50Mhz – 64Mb versus PiStorm32 ?

              #384592

              Quitte à prendre des merdes hors amiga, actuellement, il faut commencer par se tenir un peu au courant et pas parler dans le vide.

              [Hors sujet.] Moi je pense parce que c’est moi que je prendrais un truc avec mémoire unifiée, genre un mac parce que je le vaux bien, hé hé.
              Aussi, ne pas oublier les autres solutions : CPU, DDR5, les GPUs, parce que moi je pense que c’est actuellement à prendre en considération.
              Un GPU avec le maximum de vram pas uniquement pour suivre la tendance, mais parce que c’est utile. La vram ne me servirait pas du tout à jouer. Je prendrais d’ailleurs une CM de PC (personnal computer à base d’Intel ou AMD) capable de supporter 3 gpu. Car actuellement, les gpu surtout nvidia, c’est utile.[/hors sujet]

              [sujet principal] Mais je m’égare. Nous sommes sur un forum spécialisé amiga et je crois que le sujet est :
              Un 68030 ou un PiStorm dans un 1200 ? pour jouer essentiellement :

              Si tu veux faire tourner une vieille version de Mame68k et jouer à 1942 ou même soyons fous, recompiler Mame 68k pour amiga, il est recommandé au minimum un 68040 à 40 MHz.
              Et un 68040 ne sera pas assez puissant pour jouer à 1942 à pleine vitesse sur un vrai 1200. Ni même et c’est secondaire pour lire ta collection de mp3 sans diminuer la qualité de l’algo de décodage.
              Pour être honnête, avec ma ACA1233, je peux lire des mp3 grésillants. Le mieux est de les décompresser…[/sujet principal]

              [re Hors sujet.] Bien sur, tu peux jouer à mame sur ton pc intel amd dernier cri qui fait tourner accessoirement winuae.[/re Hors sujet.]

              Vite, un panneau solaire et un PiStorm.

              En réponse à : 68030 – 50Mhz – 64Mb versus PiStorm32 ?

                #384587

                Un 68030 c’est bien mais à un moment, même sur un amiga physique, on peut avoir « besoin » d’un CPU qui mouline plus vite et le 68030 peut être un goulot d’étranglement.
                Edit ; A voir si l’installation d’un PiStorm pose de gros problèmes à l’install. dans la coque d’un 1200.

                Les vidéos (les démos de StephBB) te donnent un aperçu des possibilités étendues d’un machin hybride (Emu68) qui va vite par rapport à une carte à base de 68030.

                PS: Pas encore de PiStorm ici. J’ai une ACA 1233 40 MHz et une blizzard 060-66.

                https://www.youtube.com/watch?v=BdZ4buBbPDI&list=PLPNUl5BOEfPLbAugHLF611f9L6tLAIQ21

                Vite, un panneau solaire et un PiStorm.

                Il me semble que parler de K&R réfère à la version non ANSI.
                Du coup l’Amiga se programme en C ANSI ou pas ? Car la normalisation est arrivée en 89.

                Excellente remarque/question !

                La 2eme Edition du K&C est sous titré Norme ANSI.

                Il serait utile de résumer ce qu’est « ANSI », « norme ANSI » et les différentes versions du C dans ce sujet de programmation sur amiga 68k, savoir exactement quelle norme tu peux utiliser et avec quel compilateur.
                L’American National Standards Institute (ANSI, litt. « Institut national de normalisation américain ») est un organisme privé à but non lucratif qui supervise le développement de normes pour les produits, les services, les procédés, les systèmes et les employés des États-Unis…

                ANSI C = C89 = C90
                C89 : Nom officiel de la norme établie par ANSI en 1989.
                C90 : Nom donné par l’ISO (Organisation internationale de normalisation) lors de son adoption en 1990.
                Ils sont identiques : La norme ANSI C correspond donc à la norme C89/ISO C90, qui a mis fin aux incohérences des compilateurs avant les années 1990.

                Dans mon cas, je n’utilise que « ADE » (gcc-2.95.3) et compile exclusivement sur amigaOS 3.2.
                ADE permet de compiler du code à la norme C89-C90 mais accepte les commentaires sur une ligne en barres parallèles (C99) :
                // ceci est un commentaire
                Ce qui fait sortir du C89 strict. (en fait les // sont introduits dans le C99.
                En 1999 création de la norme C99 (ISO/IEC 9899:1999).

                Rappel pour compiler avec ADE :
                https://aminet.net/package/dev/gcc/ADE
                gcc -noixemul monsource.c
                donne un fichier a.out exécutable.

                Il faudrait aussi rappeler ce que sont ixemul et la ixemul.library et aussi évoquer « Geek gadgets » :
                En gros la ixemul.library associé à ADE crée un pont (ajoute), permet d’utiliser des commandes unix sur amigaOS.
                Heureusement, il y a obligement :
                http://obligement.free.fr/articles/installation_geek_gadgets.php

                Pour faire fonctionner ADE, ajouter ceci à la user-startup ou vérifier que le script d’installation l’a fait :
                ;BEGIN ADE
                CD Coding:ADE
                Execute ADE-Startup ; le starter (script dos) du monstre appelé ADE
                ;END ADE

                Vite, un panneau solaire et un PiStorm.

                Que peux tu conseiller comme livre à une débutante pour apprendre le C sur Amiga

                Le langage C – Norme ANSI – Kernighan & Ritchie.
                Sur archive.org, il y a toute la collection des « reference manual »
                Pour commencer, niveau débutant :
                C for yourself – amiga format. Un pdf des articles compilés existe quelque part.

                Sinon, euh « La bible de l’amiga », c’est mal agencé, très obsolète, incroyablement difficile, truffé d’erreurs, ça sert presque à rien mais c’est indispensable et surtout en français.

                Vite, un panneau solaire et un PiStorm.

                Nouveau code source en C ANSI à la norme C99 à cause des commentaires de type :
                //ceci est une ligne de commentaire.
                Ce code source est intéressant car il permet de faire un premier vrai effet graphique en C pour amigaOS, un CHAMP D’ETOILES ANIMÉ sur un amiga sans carte graphique. Testé uniquement sur mon 1200 mais en principe ça peut fonctionner en OCS, ECS, 2 bits, haute résolution.

                /* etoiles7.c - Une nuee d'etoiles sur un ecran public. Teste sur le 3.2. Compile 
                avec GCC 2.95 et pas avec StormC 3.0)*/
                
                #include <exec/types.h>
                #include <exec/exec.h>
                #include <intuition/intuition.h>
                #include <graphics/gfx.h>
                #include <graphics/view.h>
                #include <stdlib.h> // Pour rand()
                #include <time.h>   // Pour srand()
                
                #define NUM_STARS 100
                #define SCREEN_WIDTH 320 // on peut modifier 
                #define SCREEN_HEIGHT 256 // ces deux champs avec sa resolution.
                #define DEPTH 2
                
                struct Star {
                    int x;
                    int y;
                    int z;
                };
                
                struct Star stars[NUM_STARS];
                
                void initStars() {
                    int i;
                    for (i = 0; i < NUM_STARS; i++) {
                        stars.x = rand() % SCREEN_WIDTH;
                        stars.y = rand() % SCREEN_HEIGHT;
                        stars.z = rand() % 256; // profondeur
                    }
                }
                
                void drawStars(struct RastPort *rp) {
                    int i;
                    int sx, sy;
                
                    for (i = 0; i < NUM_STARS; i++) {
                        sx = stars.x * 256 / (256 - stars.z);
                        sy = stars.y * 256 / (256 - stars.z);
                
                        if (sx >= 0 && sx < SCREEN_WIDTH && sy >= 0 && sy < SCREEN_HEIGHT) {
                            WritePixel(rp, sx, sy); // Dessine l-etoile en blanc
                        }
                
                        stars.z -= 1;
                        if (stars.z <= 0) {
                            stars.z = 255;
                            stars.x = rand() % SCREEN_WIDTH;
                            stars.y = rand() % SCREEN_HEIGHT;
                        }
                    }
                }
                
                int main() {
                    struct Screen *screen;
                    struct Window *window;
                    struct RastPort *rp;
                    struct IntuiMessage *msg;
                    BOOL done = FALSE;
                
                    struct NewScreen newScreen = {
                        0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, DEPTH,
                        0, 1,
                        HIRES, // Mode video
                        CUSTOMSCREEN,
                        NULL, "Ecran d-etoiles", NULL, NULL
                    };
                
                    srand(time(NULL));
                
                    screen = (struct Screen *)OpenScreen(&newScreen);
                    if (!screen) return 1;
                
                    // Deinir explicitement la palette de l'eran : noir (0) et blanc (1)
                    SetRGB4(&(screen->ViewPort), 0, 0, 0, 0);  // Couleur 0 (noir)
                    SetRGB4(&(screen->ViewPort), 1, 15, 15, 15);  // Couleur 1 (blanc)
                
                    window = (struct Window *)OpenWindowTags(NULL,
                        WA_CustomScreen, (ULONG)screen,
                        WA_Title, (ULONG)"Fond d'eoiles",
                        WA_Width, SCREEN_WIDTH,
                        WA_Height, SCREEN_HEIGHT,
                        WA_Activate, TRUE,
                        WA_CloseGadget, TRUE,
                        WA_IDCMP, IDCMP_CLOSEWINDOW | IDCMP_MOUSEBUTTONS,
                        TAG_DONE);
                
                    if (!window) {
                        CloseScreen(screen);
                        return 1;
                    }
                
                    rp = window->RPort;
                
                    initStars();
                
                    while (!done) {
                        SetAPen(rp, 0); // Couleur noire
                        RectFill(rp, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
                
                        SetAPen(rp, 1); // Couleur blanche
                        drawStars(rp);
                
                        WaitTOF();
                
                        while ((msg = (struct IntuiMessage *)GetMsg(window->UserPort))) {
                            if (msg->Class == IDCMP_CLOSEWINDOW) {
                                done = TRUE;
                            }
                            ReplyMsg((struct Message *)msg);
                        }
                    }
                
                    CloseWindow(window);
                    CloseScreen(screen);
                    return 0;
                }

                Pour que ce code relativement complexe (pointeurs, utilisation de l’amigaOS…) soit vraiment utile à un débutant, il faudrait commenter chaque ligne de ce programme et en comprendre tous les détails, pour ensuite pouvoir améliorer le truc. Ce qui laisse une infinité de possibilités pour la suite.

                Prochaine étape, mettre ce programme dans une fenêtre intuition.

                Vite, un panneau solaire et un PiStorm.

                En réponse à : Amiga OS 3.2.2 est sorti, c’est officiel 🙂

                  #384417

                  Le problème, c’est qu’aucun programme ne va accéder à la zone mémoire supérieure aux 512Ko originaux de la ROM.

                  Oui c’est surement vrai pour le 3.0, et cela peut poser un problème de rétrocompatibilité.
                  ceci dit l’amigaOS 3.2 est une évolution du 3.1, les développeurs du 3.2 ont la possibilité d’implémenter des fonctions nouvelles mais ils ont choisi de ne pas augmenter la taille la rom et de sortir deux libs qui permettaient le boot sur les amigaOS précédents.

                  Concernant le coté figé des eproms peu importe la taille, on a répondu à cette question :
                  Figé, parce que pour un utilisateur ayant un amiga d’origine cela veut dire ouvrir son 1200, sortir les chips au tournevis sur une carte mère de 1992.
                  De fait, la solution LoadModule est plus souple pour le développeur, plus simple pour l’utilisateur qui n’a pas besoin d’ouvrir son 1200 mais le résultat est qu’icon.library et workbench.library ne tiennent plus en rom.
                  Les développeurs du 3.2 pourraient se pencher sur une solution software ou hardware pour pallier au problème mais ils ont choisi ou ne peuvent pas le faire.

                  Vite, un panneau solaire et un PiStorm.

                  En réponse à : Amiga OS 3.2.2 est sorti, c’est officiel 🙂

                    #384407

                    Si tu parles de A1200, je ne pense pas que se soit tout à fait vrai.
                    les 27c400 font 512k chacune, donc au total ça fait 1M

                    Je suis le premier à me demander pourquoi les développeurs du 3.2/3.3 ne proposent pas une rom 1 Mo ou même 2 Mo dans un 600/1200 qui permettrait de lancer le workbench avec une simple disquette sur un workbench minimal.
                    C’est la raison pour laquelle je dis que les développeurs bénévoles d’Hyperion manquent d’audace. Même s’ils font du bon boulot avec le 3.2.

                    Pour le coté figé des eproms, effectivement, remplacer sa rom 512k ou 1 Mo tous les six mois peut être un problème avec deux mains gauches sur nos vieilles guimbardes adorées. Quand à savoir si LoadModule est le meilleur choix ou si une rom 1 Mo peut poser un problème de rétro-compatibilité…

                    BigDan avait très bien résumé l’origine des 2 256ko dans ce thread :
                    https://www.amigaimpact.org/forums/topic/kickstart-eprom-a1200-512ko-512ko-512ko/

                    * Bravo bien ta rom custom qui permet de faire des choses intéressantes, logiques et essentielles que les roms originales ne permettent pas et qui pourtant devraient être incluses dans la mise à jour officielle. (le fait de bouter sur le port pcmcia par exemple pour les 600,1200)

                    Edit : Trop long. Post inutile. Et au fond, aucune question à se poser. Le 3.2 est ce qu’il doit être. Point. Hé hé.

                    Vite, un panneau solaire et un PiStorm.

                    En réponse à : Amiga OS 3.2.2 est sorti, c’est officiel 🙂

                      #384392

                      Les eproms 512k / roms (eproms 27c400) sont une limitation actuelle du 3.2 contournée par une solution logicielle, LoadModule.
                      Tu peux lancer un ancien amigaOS sur disquette avec la rom 3.2, cela nécessite de charger une disquette ou un adf avec icon.libray, workbench.library (problème résolu dans le 3.2.3) au boot.
                      Les développeurs de l’amigaOS 3.2, 3.3 ne prennent pas de risques, ils semblent prudents, trop.
                      .
                      Pas de roms 1.Mo dans le 3.2. Une eprom même de 1 ou 2 Mo, c’est figé, pas pratique en cas de mise à jour.

                      Ceci a l’air pas mal : https://github.com/cdhooper/kicksmash32

                      Vite, un panneau solaire et un PiStorm.

                      En réponse à : Amiga OS 3.2.2 est sorti, c’est officiel 🙂

                        #384335

                        L’installer des « Updates » peut poser toute sortes de problèmes si installé sur un amigaOS 3.2 patché. Aussi, Il faut prévoir que la mise à jour a besoin de plusieurs des disquettes pour être installé complètement.
                        FBlit ne semble pas compatible avec le nouveau IconEdit mais FBlit, FText restent indispensables quand tu es en AGA.

                        Avec une ACA 1260 et Kicksmash32, le 3.3 sera sans doute très bien sur un 1200.
                        Espérons qu’ils penseront à intégrer dans le 3.3 une IA embarquée optimisée en assembleur 68K spécialisée dans l’amigaDOS et Arexx, hé hé.

                        Vite, un panneau solaire et un PiStorm.

                        En réponse à : Amiga OS 3.2.2 est sorti, c’est officiel 🙂

                          #384234

                          Attends le hotfix du 3.2.3, le 3.2.3.1, ou alors mieux le 3.3 mais c’est pas avant cinq ans.

                          Vite, un panneau solaire et un PiStorm.

                          En réponse à : VBCC – je n’arrive pas à installer correctement…

                            #384233

                            Les guillemets peuvent poser aussi un problème :

                            /* Un hello world en C99 */
                            #include <stdio.h>
                            int main(int argc, char *argv[])
                            {
                                printf("Salut monde.\n"); // guillemets
                                return 0;
                            }

                            Vite, un panneau solaire et un PiStorm.

                          15 sujets de 1 à 15 (sur un total de 536)

                          Amiga Impact