Sethghost

Toutes mes réponses sur les forums

  • Merci ! pas facile de rigoler hein ? surtout en ce moment ou personne n’a envie de rire et que tout s’effondre semble-t-il.

    Tous les styles sont possibles, trash, hors-sujet total, polémique qu’il faudra assumer ensuite, hé hé, blague du samedi, contrepèteries etc.
    Le maitre de la contrepèterie sur usenet, « fr.comp.sys.amiga… » c’était Zapek.

    Hommage :
    . l’art de décaler les sons que débite notre bouche.
    . J’aime les filles qui habitent Laval.
    . Une belle thèse.
    . Oh Madame, si vous saviez ce que votre plante me fait !
    . Ca pue dans le car.

    Vite, un panneau solaire et un PiStorm.

    Pics trop petites ?
    CTRL molette dans firefox.

    Vite, un panneau solaire et un PiStorm.

    Sujet réquisitionné car il y a déjà beaucoup de « sujets bar », en ouvrir un autre créerait des remous dans l’équilibre de la force de ce forum. Ceci n’est donc pas un sujet Ovni

    Blague du lundi : La sphère volante de Guadalajara de Buga :

    Question :
    Blague complexe ou artefact susceptible de provoquer une fissure dans la « réalité » ?

    Contre : ressemble au scénario du film Sphere -1998, à la sphère Sylvidre -ep-01.
    Contre : On ne peut pas faire confiance ni aux images (IA), ni à des informations parcellaires, ni à wikipedia. ni à personne, et BFMTV n’en parle pas, hé hé.
    Pour : Pour une fois, tout est clair et visible.
    Pour : la sphère n’a pas « atterri » aux états-unis mais en Colombie.

    Vite, un panneau solaire et un PiStorm.

    Vite, un panneau solaire et un PiStorm.

    Un grand classique

    Du Vuillemin, collaborateur du Pr. Choron, adapté pour Canal+.
    C’est bien hardcore, rire vert.

    —-

    (twitter 2018):

    Vite, un panneau solaire et un PiStorm.

    On peut poster des memes sous forme d’images, ou des trucs à la limite du politiquement incorrect qui feront rire jaune, ou vert, mais qui feront rire quand même, histoire de rire ?

    Vite, un panneau solaire et un PiStorm.

    En réponse à : L’Île-de-France se réveille

      #388850

      Versions officielles, pour que mon oncle n’ait pas trop de problèmes ensuite.
      Merci pour les excellents conseils GothDevil et Mike !

      Vite, un panneau solaire et un PiStorm.

      Un post de plus pour parler de AMOS, de ses mises à jour :
      https://github.com/AmiDARK/AmosProfessionalUnity-Official-Releases/releases/tag/0.4

      Installation de la version « AGA » d’Amidark. Pas de bugs pour l’instant, ça roule.
      L’IDE malgré son age est très plaisant à utiliser sur un 1200 PAL.
      Un IDE qui fonctionne c’est bien.
      – Possibilité d’importer facilement un fichier ascii (*.asc) avec menu Project/Merge ascii
      – Le copier coller se fait semble t-il avec menu Block/All Text/Store et Block/Paste.

      Bricolages rapides en AMOS : (découverte)

      REM -------------------------------------------------
      REM tableau.asc - Saisie de 10 mots, stockage dans un tableau, affichage
      REM -------------------------------------------------
      
      DIM A$(10)          : REM tableau de 10 chaines de caracteres
      
      FOR I = 1 TO 10
          INPUT "Entrez un mot : "; A$(I)
      NEXT I
      
      PRINT "---- Mots saisis ----"
      FOR I = 1 TO 10
          PRINT A$(I)
      NEXT I
      
      END

      —-

      Rem -------------------------------------------------
      Rem testamos5.asc - Carre anime a 10 pas par seconde, bip bref 
      Rem -------------------------------------------------
      Screen 0
      Cls 
      Print "Bonjour ca va ?"
      X=0
      Y=80
      L=50 : Rem cote du carre
      Set Line %1111111111111111 : Rem ligne pleine qui ne sert a rien.
      For I=1 To 100 : Rem 100 iterations 10s d'animation   
         Box X,Y To X+L,Y+L : Rem dessine le carre 
          Rem ----- bip bref (env 0,1s) ----- BAISSEZ LE VOLUME
          Bell 84 : Rem frequence 840Hz
          Wait 5 : Rem cadres env 0,1s (PAL 50Hz) 
          X=X+2
          If X>320-L Then X=0
          Rem aucune pause supplementaire; le WAIT 5 assure le timing  
      Next I
      Print "Fin du programme"
      Wait 0
      
      End

      https://archive.org/details/easy-amos-user-guide

      Et un dernier snippet histoire d'apprendre aux IA à coder en AMOS, hé hé : 
      Rem -------------------------------------------------
      Rem carre.asc - Dessine un carré de 100 pixels de côté au centre de l'écran
      Rem -------------------------------------------------
      Rem Définir la position du carré 
      CENTER_X=160
      CENTER_Y=100
      Rem Dessiner le carré 
      Draw CENTER_X-50,CENTER_Y-50 To CENTER_X+50,CENTER_Y-50
      Draw CENTER_X+50,CENTER_Y-50 To CENTER_X+50,CENTER_Y+50
      Draw CENTER_X+50,CENTER_Y+50 To CENTER_X-50,CENTER_Y+50
      Draw CENTER_X-50,CENTER_Y+50 To CENTER_X-50,CENTER_Y-50
      Rem Attendre une touche pour quitter 
      Wait 100
      Circle 50,50,10 : Wait 100 rem un cercle apres quelques secondes
      Print "program EXTerminated"
      End

      Vite, un panneau solaire et un PiStorm.

      En réponse à : L’Île-de-France se réveille

        #388844

        A propos de windows 11,
        Un vendeur de SSD m’a parlé de 50 euros d’aides de l’Etat lors d’une mise à jour de windows sur PC. C’est vrai encore ce gaspillage ?

        Je n’utilise plus windows depuis la fin de windows 7. Ca fait un bout de temps même si XP et WIN7 sont virtualisés sur un linux.

        je vais installer le 11 sur un SSD neuf dans le portable 2008 (un i3 – 4Go) de mon oncle,
        Si ça ne passe pas, installation de debian LTS (Long term support).

        Facile d’activer Windows 11 ?

        PS: je peux me débrouiller seul mais si quelqu’un a une expérience windows 11…

        Vite, un panneau solaire et un PiStorm.

        En réponse à : Programmer l’amiga 68k bouts de code IDE langages, astuces

          #388717

          Il semblerait que le bug crochet du forum ait été corrigé.

          Un générateur de plantage bien crade mais qui fonctionne – piqué sur stackexchange mais amélioré, il te demande poliment si tu veux vraiment un guru meditation.

          /* guru_alert.c - demande confirmation avant de déclencher un Guru Meditation
             compatible gcc-2.95.3 (AmigaOS 3.x) */
          #include <exec/execbase.h>
          #include <exec/alerts.h>
          #include <clib/exec_protos.h>
          
          #include <stdio.h>
          
          int main(void)
          {
              /* -------------------------------------------------
                 1??  Déclarations de variables - toutes au début
                 ------------------------------------------------- */
              char buf[8];               /* tampon de lecture  Attention, ajouter 8 entre crochets*/
          
              /* -------------------------------------------------
                 2??  Aucun code avant les déclarations
                 ------------------------------------------------- */
              printf("Cette fonction déclenchera un Guru Meditation (CPU Instruction Error).\n");
              printf("Voulez-vous continuer ? (y/N) : ");
              fflush(stdout);
          
              /* -------------------------------------------------
                 Lecture de l'entrée utilisateur
                 ------------------------------------------------- */
              if (fgets(buf, sizeof(buf), stdin) == NULL)
              {
                  /* lecture échouée - on sort sans alerter */
                  return 1;
              }
          
              /* -------------------------------------------------
                 3??  On ne garde que le premier caractère, on ignore la casse
                 ------------------------------------------------- */
              if (buf[0] == 'y' || buf[0] == 'Y') // attention ajouter 0 et 0 entre crochets
              {
                  /* déclenche l'alerte - le programme ne revient généralement pas ici */
                  Alert(ACPU_InstErr);   /* équivalent à 0x80000004 si alerts.h manque */
              }
              else
              {
                  printf("Alerte annulée. Le programme se termine normalement.\n");
              }
          
              return 0;
          }

          Vite, un panneau solaire et un PiStorm.

          En réponse à : Programmer l’amiga 68k bouts de code IDE langages, astuces

            #388716

            pour les « include » vous avez des références ou un mémo. pour savoir quelle fonction est définie dans quel « .h » ?

            Pour organiser le flot d’informations disponibles et mémoriser certaines bases, c’est pas de la tarte. Il y a beaucoup de doc disponible pour programmer l’amiga mais pas grand chose pour débutant. Ce qui peut être décourageant. Il y a malgré tout pas mal de solutions avec les outils modernes…

            . Lire un bouquin sur le langage C ou l’ASM dédié à l’amiga. Il y en a des dizaines.
            . Les « SDK », ex : Amiga Developer CD
            . Commande de compilo :
            gcc -M fichier.c permet de construire une liste de dépendances et d’includes à partir d’un source. Il y a des commandes similaires sur d’autres compilateurs.
            gcc -M etoiles7.c

            Si quelqu’un a une réponse plus précise !

            Liste à compléter et vérifier :

          • Header (fichier) Principales fonctions / macros Bibliothèque associée
            exec/types.h struct ExecBase, struct Task, struct MsgPort, struct IORequest Core du kernel (Exec)
            exec/exec.h InitExec(), FindTask(), CreateTask(), Signal(), SetTaskPri() – Exec
            exec/ports.h CreatePort(), DeletePort(), PutMsg(), GetMsg() – Exec
            exec/semaphores.h ObtainSemaphore(), ReleaseSemaphore(), InitSemaphore() – Exec
            exec/interrupt.h AddIntServer(), RemIntServer(), SetIntVector() – Exec
            dos/dos.h Open(), Close(), Read(), Write(), DeleteFile(), LoadSeg(), Execute() – DOS
            dos/dosextens.h Lock(), UnLock(), CurrentDir(), CreateDir() – DOS
            dos/filehandler.h OpenDevice(), CloseDevice(), DoIO() – DOS (devices)
            intuition/intuition.h OpenWindow(), CloseWindow(), RefreshWindow(), SetWindowTitles(), ScreenToFront() – Intuition (GUI)
            intuition/screens.h OpenScreen(), CloseScreen(), LockScreen(), UnlockScreen() – Intuition
            graphics/graphics.h BltBitMap(), SetRGB4(), LoadView(), WaitBlit() – Graphics
            graphics/gfxbase.h InitBitMap(), FreeBitMap() – Graphics
            graphics/gfxmacros.h Macros de manipulation de struct BitMap – Graphics
            graphics/view.h LoadView(), MakeView(), FreeView(), SetView() – Graphics
            libraries/dos.h Alias de dos/dos.h (historique)
            libraries/intuition.h Alias de intuition/intuition.h
            libraries/graphics.h Alias de graphics/graphics.h
            libraries/utility.h FindTagItem(), GetTagData(), SetTagItem() – Utility (gestion de tags)
            libraries/locale.h OpenCatalog(), CloseCatalog(), GetCatalogStr() – Locale (i18n)
            libraries/reqtools.h ReqToolsBase, OpenRequester(), CloseRequester() – ReqTools (boîtes de dialogue)
            libraries/commodities.h AddICClass(), RemICClass(), SetICAttrs() – Commodities (menus contextuels)
            libraries/expansion.h OpenDevice(), CloseDevice() – (pour les cartes d’extension)
            libraries/iffparse.h ParseIFF(), InitIFF(), CloseIFF() – IFFParse (lecture/écriture IFF)
            libraries/diskfont.h OpenDiskFont(), CloseDiskFont(), GetDiskFont() – Diskfont (polices)
            libraries/exec.h (déprécié) redirige vers exec/exec.h
            clib/stdio.h printf(), scanf(), fopen(), fclose() – ANSI
            clib/stdlib.h malloc(), free(), atoi(), exit() – ANSI
            clib/string.h strcpy(), strlen(), strcmp() – ANSI
            clib/math.h sin(), cos(), sqrt() – ANSI
            clib/time.h time(), clock(), strftime() – ANSI
            clib/ctype.h isdigit(), toupper(), isprint() – ANSI
          • Vite, un panneau solaire et un PiStorm.

          En réponse à : Programmer l’amiga 68k bouts de code IDE langages, astuces

            #388592

            Merci…

            De rien. L’amiga, avec ses contraintes et ses forces est une machine fabuleuse pour s’initier au C, à l’ASM, à amiblitz…

            #include <stdio.h>
            void main() {
              printf("%d", 1/0);
            };  

            Vite, un panneau solaire et un PiStorm.

            En réponse à : Programmer l’amiga 68k bouts de code IDE langages, astuces

              #388501

              Continuons sur la lancée sans tableau cette fois pour voir :
              Un simple écran public en 640×256. Simple ? non ! Pas simple du tout. hé hé.
              On est pas sous Python mais en C et sur amigaOS 3.x.
              La fenetre est vide, donc ne sert à rien à moins d’écrire dedans de faire défiler un truc etc.

              /*-----------------------------------------------*/
              /* pubscreen.c - C ANSI sauf commentaires //     */
              /* un ecran public AmigaOS 2.x, 3.x, ferme a la  */
              /* demande de l'utilisateur (clic sur le gadget  */
              /* de fermeture).                                */
              /* Compile avec GCC 2.95 :                       */
              /* gcc -noixemul pubscreen.c -o pubscreen        */
              /*-----------------------------------------------*/
              
              #include <exec/types.h>
              #include <exec/exec.h>
              #include <intuition/intuition.h>
              #include <graphics/gfx.h>
              #include <graphics/view.h> // non utile mais on laisse
              #include <stdlib.h>   // rand(), srand(), inutile ici
              #include <time.h>     // time() ne sert a rien ici
              
              #define SCREEN_W   640
              #define SCREEN_H   256
              #define DEPTH      2  // 2bits = 4 couleurs (noir + blanc suffisent)
              
              int main(void)
              {
                  struct Screen      *screen;
                  struct Window      *window;
                  struct RastPort    *rp;
                  struct IntuiMessage *msg;
                  BOOL                done = FALSE;
              
                  /*-------------------------------------------*/
                  /*  Declaration de l'ecran public            */
                  /*-------------------------------------------*/
                  struct NewScreen ns = {
                      0, 0,                     /* Left, Top           */
                      SCREEN_W, SCREEN_H,       /* Width, Height       */
                      DEPTH,                    /* Bitplanes           */
                      0, 1,                     /* DetailPen, BlockPen */
                      HIRES,                    /* ViewMode (hi-res)   */
                      CUSTOMSCREEN,             /* Type = écran public */
                      NULL,                     /* Font                */
                      "Ecran public AmigaOS",   /* Title               */
                      NULL, NULL                /* Gadgets, Extra      */
                  };
              
                  srand((unsigned)time(NULL)); //inutile
              
                  screen = (struct Screen *)OpenScreen(&ns);
                  if (!screen) return 5;       /* echec d'ouverture d'ecran */
              
                  /* Palette minimale : couleur 0 = noir, couleur 1 = blanc */
                  SetRGB4(&(screen->ViewPort), 0, 0, 0, 0);
                  SetRGB4(&(screen->ViewPort), 1, 15, 15, 15);
              
                  /* -------------------------------------------------------*/
                  /*  Fenetre attachee à l'ecran public                     */
                  /* -------------------------------------------------------*/
                  window = (struct Window *)OpenWindowTags(
                      NULL,
                      WA_CustomScreen, (ULONG)screen,
                      WA_Title,        (ULONG)"Fermer l'écran", // l'accent
                      WA_Width,        SCREEN_W,
                      WA_Height,       SCREEN_H,
                      WA_Activate,     TRUE,
                      WA_CloseGadget,  TRUE,
                      WA_DragBar,      TRUE,
                      WA_DepthGadget,  FALSE,
                      WA_IDCMP,        IDCMP_CLOSEWINDOW,
                      TAG_DONE);
              
                  if (!window) {
                      CloseScreen(screen);
                      return 6;
                  }
              
                  rp = window->RPort;          /* RastPort de la fenêtre */
              
                  /* ----------------------------------------------------------------*/
                  /* Boucle principale : on attend simplement la fermeture du gadget */
                  /* ----------------------------------------------------------------*/
                  while (!done) {
                      WaitPort(window->UserPort);               /* attend un message */
                      while ((msg = (struct IntuiMessage *)GetMsg(window->UserPort))) {
                          if (msg->Class == IDCMP_CLOSEWINDOW)
                              done = TRUE;
                          ReplyMsg((struct Message *)msg);
                      }
                  }
              
                  /* ----------------------------------------------------------------*/
                  /*  Nettoyage                                                      */
                  /* ----------------------------------------------------------------*/
                  CloseWindow(window);
                  CloseScreen(screen);
                  return 0;
              }

              AmigaOS 3.x :
              . Le RastPort Structure centrale qui décrit le buffer vidéo où l’on dessine (adresse, pitch, palette, etc.). Toutes les fonctions graphiques (WritePixel, RectFill, Text, …) opèrent sur un RastPort. – Chaque fenêtre possède son propre RastPort (window->RPort).- Un écran public a aussi un RastPort via son ViewPort.

              . Le ViewPort est la zone de l’écran où un RastPort peut dessiner.
              Il appartient à une fenêtre (ou à l’écran complet) et contient les informations suivantes :
              coordonnées (x, y) du coin supérieur gauche dans le bitmap de l’écran,
              dimensions (largeur × hauteur),
              pointeur vers le RastPort qui effectue le rendu,
              paramètres de clipping, de couleur et de mode de dessin,
              références à la palette et aux plans de bitmaps (planar graphics).

              Vite, un panneau solaire et un PiStorm.

              En réponse à : Programmer l’amiga 68k bouts de code IDE langages, astuces

                #388494

                Tu les vois sur ton message du 24/4/2025 ou c’est sur mon navigateur que ça merde

                L’index crochet_ouvrant i crochet_fermant est quel que soit la balise effacé.
                Exemple :

                Code sans balise :

                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;
                }
                }

                Et le code comme il s’affiche dans l’éditeur du forum et tel qu’il devrait s’afficher sans ce ‘bug’ : (capture d’écran) :

                Merci d’avoir détecté le problème ! reste plus qu’à voir si une solution existe.
                https://duckduckgo.com/?q=forum+wordpress+balise+pour+le+code&t=h_&ia=web

                Vite, un panneau solaire et un PiStorm.

                En réponse à : Programmer l’amiga 68k bouts de code IDE langages, astuces

                  #388488

                  Essaye ça Counia. (fichier joint). Possible que ça vienne du copier coller, les commandes forum wordpress font sauter une partie de l’affichage malgré la balise code.

                  Attachments:

                  Vite, un panneau solaire et un PiStorm.

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

                  Amiga Impact