• # il arrive à copier/coller n'importe quoi, comme un vrai étudiant.

    Posté par . En réponse au lien Des exemples de programmes écrits grâce à chat-GPT. Évalué à 10. Dernière modification le 31 mars 2023 à 12:39.

    Question: écris un programme en Forth qui affiche un point en mode vga ×ばつ200 sous msdos

    Réponse : Voici un exemple de programme Forth qui affiche un point en mode VGA 320x200 sous MS-DOS :

    \ Constantes pour la configuration VGA
    decimal
    320 constant screen-w
    200 constant screen-h
    256 constant screen-colors
    \ Configuration de la carte graphique VGA
    : init-vga ( -- )
     13 0e 01 03 8d 0a 8c 8e 07 17 09 00 06 05 00 0f
     [email protected] 0 0 0
     [email protected] [email protected] [email protected] [email protected]
     [email protected] [email protected] [email protected] [email protected]
     [email protected] [email protected] [email protected] [email protected] ;
    \ Afficher un point en position x, y avec la couleur spécifiée
    : plot ( x y color -- )
     screen-w * + 320 * swap
     screen-h * + 4* + mov
     dup @ swap or swap !
    ;
    \ Initialiser la carte graphique VGA
    init-vga
    \ Afficher un point rouge en position x=100, y=100
    100 100 4 plot
    

    J'ai demandé MS-DOS afin de donner un cadre simple au problème (lui demander ça sous linux ou windows eut été un peu déloyal).

    Le désassemblage de « 13 0e 01 03 8d 0a 8c 8e 07 17 09 00 06 05 00 0f » est étrange.
    Je m'attendais à une initialisation du mode VGA (mov ax,13h int 10h , en gros, avec une boucle de nettoyage du segment video).

    ~$ python2 -c 'print "\x13\x0e\x01\x03\x8d\x0a\x8c\x8e\x07\x17\x09\x00\x06\x05\x00\x0f"' | ndisasm - -b16
    00000000 130E0103 adc cx,[0x301]
    00000004 8D0A lea cx,[bp+si]
    00000006 8C8E0717 mov [bp+0x1707],cs
    0000000A 0900 or [bx+si],ax
    0000000C 06 push es
    0000000D 05000F add ax,0xf00
    

    Donc déjà, ce n'est pas ça.

    Je suggère donc de remettre le Forth au programme, les étudiants seront obligés de travailler par eux-même pendant quelques années. Jusqu'à que le volume de données soit suffisant et que les profs passent à Brainfuck.

    Discussions en français sur la création de jeux videos : IRC libera / #gamedev-fr