Simons' BASIC

Simons' BASIC
La cartouche d'extension Simon's Basic commercialisée par Commodore

Le Simons' BASIC est une extension du BASIC V2 de Commodore utilisé par le Commodore 64. Écrit en 1983 par un jeune programmeur anglais de 16 ans, David Simons, il a été commercialisé par Commodore sous forme de cartouche d'extension. Il a également été diffusé de façon non officielle sous forme de fichier exécutable.

Sommaire

Contenu

114 instructions sont ajoutées au BASIC V2 de Commodore dans le but d'exploiter le potentiel multimédia du Commodore 64 de façon simplifiée. Le jeu d'instructions étendu ajoute des commandes pour gérer les sprites, les modes graphiques haute résolution, le SID pour le son. Le Simon's BASIC ajoute également des instructions permettant une approche de programmation structurée.

Les instructions

Gestion des sprites

  • MOB SET - définit les attributs d'un sprite
  • MMOB - position du sprite sur l'écran
  • RLOCMOB - déplace un sprite d'une position à une autre
  • CMOB - définit les deux couleurs principales pour des sprites multicouleurs
  • MOB OFF - désactive un sprite
  • DETECT - initialise la détection de collision du sprite
  • CHECK - vérifie s'il y a collision d'un sprite

Gestion graphique haute résolution

  • HIRES - initialise un mode graphique haute résolution
  • MULTI - initialise un mode graphique multicouleurs
  • NRM - retourne à l'affichage textuel
  • LOW COL - change la couleur du pixel de dessin
  • HI COL - réinitialise la couleur du pixel de dessin à sa couleur d'origine
  • PLOT - dessine un pixel
  • LINE - dessine une ligne
  • CIRCLE - dessine un cercle
  • ARC - dessine un arc de cercle
  • ANGL - dessine un angle de cercle
  • PAINT - effectue une opération de remplissage de surface
  • REC - dessine un rectangle
  • BLOCK - dessine un rectangle plein
  • DRAW - dessine un ensemble de lignes
  • ROT - définit le facteur de zoom pour l'instruction DRAW
  • CHAR - écrit un caractère sur un écran en haute résolution
  • TEXT - écrit une chaîne de caractères sur un écran en haute résolution
  • TEST - détermine si à un emplacement défini le pixel est dessiné ou non

Autres commandes graphiques

  • COLOUR - définit la couleur de fond d'écran et de la bordure d'écran
  • CSET - sélectionne une police de caractères
  • MEM - copie la police de caractères standard de la ROM en RAM
  • BCKGNDS - configure le mode étendu de la couleur de fond
  • FLASH - fait flasher l'écran
  • OFF - annule le flashage de l'écran provoqué par l'instruction FLASH
  • BFLASH - fait flasher la bordure de l'écran
  • FCHR - rempli une zone d'écran avec un caractère
  • FCOL - change la couleur des caractères dans une zone d'écran
  • FILL - une combinaison des instructions FCHR et FCOL
  • MOVE - copie une partie de l'écran
  • INV - affiche une partie de l'écran à l'envers
  • LEFT - déplace l'écran vers la gauche
  • RIGHT - déplace l'écran vers la droite
  • UP - déplace l'écran vers le haut
  • DOWN - déplace l'écran vers le bas
  • GRAPHICS - variable réservée toujours égale à $D000 (l'adresse de base du VIC-II)

Gestion du son et du SID (microprocesseur)

  • MUSIC - joue une série de notes contenue dans une variable de chaîne de caractères
  • PLAY - détermine si le programme doit continuer ou non pendant l'exécution de l'instruction MUSIC
  • VOL - définit le volume principal
  • WAVE - définit la forme d'onde pour une voix
  • ENVELOPE - définit l'enveloppe ADSR d'une voix
  • SOUND - variable réservée, toujours égale à $D400 (l'adresse de base du SID)

Gestion du clavier et des interruptions

  • FETCH - attend une saisie sur le clavier avec les restrictions définies par la commande FETCH
  • INKEY - teste si une touche de fonction a été saisie
  • ON KEY - teste une touche particulière et exécute un saut si oui
  • DISABLE - désactive la commande précédente ON KEY
  • RESUME - réactive la commande précédente ON KEY

Gestion des périphériques d'entrées

  • JOY - informations en lecture de la position du joystick
  • POT - informations en lecture du paddle
  • PENX - informations en lecture de la position horizontale du stylo optique
  • PENY - informations en lecture de la position verticale du stylo optique

Définition des sprites et des caractères graphiques

  • @ - représente une ligne de graphique d'un sprite ou d'un caractère graphique
  • DESIGN - utilise les lignes @ pour définir un sprite ou un caractère graphique

Gestion des événements d'erreurs

  • ON ERROR - défini une séquence de code lors d'une détection d'une condition d'erreur
  • OUT - fin d'une séquence de code de gestion d'erreur
  • NO ERROR - annule ON ERROR et rend le contrôle des erreurs BASIC à l'interpréteur

Gestion du lecteur de disquettes

  • DIR - affiche le répertoire d'une disquette sans effacer un éventuel programme BASIC stocké en mémoire
  • DISK - envoi une commande au lecteur de disquette
  • SCRSV - sauvegarde un écran de texte sur disquette
  • SCRLD - recharge un écran de texte depuis une disquette

Gestion de l'imprimante

  • HRDCPY - imprime le contenu d'un écran texte
  • COPY - imprime le contenu graphique d'un écran

Gestion des chaînes de caractères

  • INSERT - insère un champ texte à l'intérieur d'un autre champ
  • INST - similaire à INSERT, mais réécrit par dessus au lieu d'insérer
  • PLACE - recherche d'un champ texte dans le contenu d'un autre champ
  • DUP - duplique un champ de texte un nombre donné de fois

Gestion de format de texte

  • AT - affiche un champ texte aux coordonnées d'un écran texte
  • CENTER - centre un champ texte au milieu d'un écran texte
  • USE - défini un format numérique d'un champ texte
  • LIN - retourne la position verticale du curseur

Instructions mathématiques

  • MOD - effectue une division et restitue le reste de la division entière
  • DIV - effectue une division et restitue le quotient de la division entière
  • FRAC - restitue la partie fractionnelle d'un nombre
  • EXOR - effectue une opération logique OR exclusive

Instructions d'aides à la programmation

  • AUTO - génère automatiquement des numéros de lignes lors de la saisie d'un programme BASIC
  • RENUMBER - renumérote les lignes d'un programme BASIC (mais ne corrige pas les redirections GOTO/GOSUB)
  • OLD - restaure un programme BASIC accidentellement effacé par l'instruction NEW
  • KEY - assigne un champ texte en tant que macro à une touche de fonction
  • DISPLAY - affiche toutes les touches de fonctions macro
  • MERGE - fusionne un programme BASIC de la disquette à celui actuellement en mémoire
  • PAGE - affiche un programme BASIC page par page
  • OPTION - affiche en surbrillance les instructions spécifiques Simons' BASIC lors de l'instruction LIST
  • DELAY - modifie la vitesse d'affichage du scroll lors d'une commande LIST
  • FIND - recherche un champ texte dans un programme BASIC
  • TRACE - affiche la ligne de programme actuellement en cours lorsqu'un programme est exécuté
  • RETRACE - affiche le résultat d'un trace
  • DUMP - affiche toutes les valeurs des variables exceptés les tableaux de variables
  • COLD - reset à froid du C64

Gestion de la sécurité du code source

  • DISAPA - cache une ligne de programme BASIC
  • SECURE - cache toutes les lignes marqués avec DISAPA afin qu'elles n'apparaissent pas lors d'un affichage avec LIST

Instructions de programmation structurée

  • ELSE - permet un choix alternatif lors d'une condition IF/THEN
  • REPEAT - démarre une boucle de type REPEAT/UNTIL
  • UNTIL - défini la condition de boucle à REPEAT/UNTIL et en fixe la fin
  • RCOMP - reprend la dernière condition IF/THEN
  • LOOP - défini le début d'une boucle qui va jusqu'à ce que la condition EXIT IF soit vraie
  • EXIT IF - si la condition est vrai, quitte la structure LOOP/END LOOP
  • END LOOP - défini la fin de la boucle jusqu'à ce que la condition EXIT IF soit vrai
  • PROC - défini le début d'une procédure nommée
  • END PROC - défini la fin d'une procédure nommée
  • CALL - saute à une procédure nommée défini par PROC/END PROC et y reste
  • EXEC - saute à une procédure nommée défini par PROC/END PROC et revient à la suite du code après exécution
  • LOCAL - redéfini une variable utilisée dans une procédure
  • GLOBAL - inverse l'effet de la précédente commande LOCAL

Instructions diverses

  • CGOTO - équivalent du GOTO, mais accepte des expressions issu de calculs
  • RESET - déplace le pointeur d'exécution DATA à une ligne défini
  • PAUSE - suspend l'exécution du programme pour un temps spécifié en secondes

Autres fonctionnalités

  • $ and % sont également considérés comme instructions pour un total de 114 instructions supplémentaires.

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Simons' BASIC de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Simons' Basic — Simons’ BASIC Modul Simons’ BASIC war eine Erweiterung des Commodore BASIC 2.0 Befehlsatzes für den Commodore 64 Homecomputer. Die Erweiterung wurde 1983 von dem damals 16 jährigen britischen Programmierer David Simons geschrieben und von der… …   Deutsch Wikipedia

  • Simons Basic — Simons’ BASIC Modul Simons’ BASIC war eine Erweiterung des Commodore BASIC 2.0 Befehlsatzes für den Commodore 64 Homecomputer. Die Erweiterung wurde 1983 von dem damals 16 jährigen britischen Programmierer David Simons geschrieben und von der… …   Deutsch Wikipedia

  • Simons’ Basic — Modul Simons’ BASIC ist eine Erweiterung des Commodore BASIC 2.0 Befehlsatzes für den Commodore 64 Homecomputer. Die Erweiterung wurde 1983 von dem damals 16 jährigen britischen Programmierer David Simons geschrieben und von der Firma Commodore… …   Deutsch Wikipedia

  • Simons' Basic — El cartucho Simons Basic comercializado por Commodore El Simons Basic[1] es una extensión del Commodore Basic 2.0 para el Commodore 64. Escrito en 1983 por un joven programador inglés de 16 años, David Simons, fue comercializado por Commodor …   Wikipedia Español

  • Simons' BASIC — This product is widely, but incorrectly, called Simon s BASIC , because of confusion between the first name Simon and the surname Simons .Simons BASIC was an extension to BASIC 2.0 for the Commodore 64 home computer. Written by 16 year old… …   Wikipedia

  • BASIC — Información general Paradigma estructurado imperativo Apareció en 1964 Diseñado por John George Kemeny; Thomas Eugene Kurtz …   Wikipedia Español

  • BASIC 8 — (or BASIC 8.0) mdash; The Enhanced Graphics System For The C128 mdash; developed by Walrusoft of Gainesville, Florida and published in 1986 by Patech Software of Somerset, New Jersey, USA, was an extension of Commodore s BASIC 7.0 for the C128… …   Wikipedia

  • BASIC extension — BASIC toolkits (aka BASIC extensions) mdash;not to be confused with widget toolkits mdash;were a common type of program for 1980s 8 bit home computers. Generally third party extensions, they added additional features to a computer s built in… …   Wikipedia

  • Simon's Basic — Simons’ BASIC Modul Simons’ BASIC war eine Erweiterung des Commodore BASIC 2.0 Befehlsatzes für den Commodore 64 Homecomputer. Die Erweiterung wurde 1983 von dem damals 16 jährigen britischen Programmierer David Simons geschrieben und von der… …   Deutsch Wikipedia

  • Simon's BASIC — Simons BASIC La cartouche d extension Simon s Basic commercialisée par Commodore Le Simons BASIC est une extension du BASIC V2 de Commodore utilisé par le Commodore 64. Écrit en 1983 par un jeune programmeur anglais de 16 ans, David Simons, il a… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”