SUGGESTIONS D'INSTRUCTIONS PANORAMIC BASIC:C'est une liste reconstituée de mémoire d'aprés mes anciennes notes. A retravailler / completer si besoin...
j'essaie de me calquer sur la notice utilisateur ( Surtout pour la dénomination N )
MULTIMEDIA:avance rapide fichier son/video/cdda:
FWD N,
step%retour rapide fichier son/video:
RWD N,
step%pause video/son/cdda:
PAUSE N
lecture cdaudio:
PLAY_CDDA N,
numerique_analogique ---> lit le CDaudio sur le peripherique optique N en numerique (joué par direct sound)si =1 ou analogique (sortie son du lecteur à relier à la carte son pour entendre la musique) si=0.
GET_CDDA_STATUS N,
status%, track_number%, time% --> retourne status%=1 (playing) , status%=0 (stop) , status%=2 (pause), numero de piste et temps depuis le début de la piste
GET_CDDA_INFO N,
info_total_cd_lenght%,info_number_of_tracks% --> retourne les infos du cdaudio durée totale et nombre de pistes.
GET_CDDA_TRKNFO N,
track_number%(x), lenght_of_track% --> retourne la durée d'une piste.
CDDA_NEXT_TRACK N --> passe à la piste suivante.
CDDA_PREV_TRACK N --> passe à la piste precedente.
Reglages volume:
VOLUME N =
var% ---> regle le volume d'un objet sonore N.
VOLUME lecture_enregistrement%, input%, var%, balance% --> regle le volume en
lecture ou enregistrement (0 ou 1) d'un controle (valeur
input%) avec la valeur
var% et regle la balance (
balance%). ex: VOLUME 0, 2, 8192, 128 regle le controle de volume en lecture, sortie WAVE (2), volume à mi-course (8192) et balance au milieu (128).
SET_REC_PIN =
peripherique_son%, input% --> affecte l'entrée du peripherique sonore specifié en enregistrement.
SET_MICBOOST =
on_off% (1 ou 0) --> ampli micro activé ou non.
Aquisition audio:
GET_WAV N,
numero_peripherique_son%,
nom_fichier$ ou variable%, input%, freq, bits, mono_stereo, duree%,parametres_divers...(si durée%=0 alors enregistrement stoppé par instruction "GET_WAV N STOP", de plus variable% est un tableau qui contient le son. l'utilisation de variables serait envisageable pour des courts enregistrements)
GET_WAV N STOP --> stoppe enregistrement si valeur duree%=0
En utilisant des biblioteques de synthese vocale (il en existe en GPL):
VOICE N
numero_peripherique_son%,
biblio_dll$, gender%, language%, speed%, text_to_speech$ ---> utilise la biblioteque de synthese vocal
biblio_dll$, avec une voix d'homme ou femme (
gender% à 0 ou 1), avec la langue
language%, à la vitesse
speed%. le texte à prononcer est dans
text_to_speech$.
Additif à la fonction "MOVIE" (si le moteur de rendu de la cette fonction le permet):
SET_FRM_ADJ N =
lumiere%, contraste%, gama%, saturation%, teinte% --> regle l'image d'un objet video N
SET_MOVIE_ENGINE =
executable_moteur_lecture_video$ ( ex: SET_MOVIE_ENGINE = c:\mplayer.exe )
Aquisition video:
GET_VIDEO N,
numero_peripherique_video%,
nom_fichier, input%, taille_x, taille_y, codec%, duree%, parametres_divers...
GET_VIDEO N STOP --> stoppe enregistrement video
Aquisition image sur peripherique N ( carte d'aquisition):
GET_FRAME N,
variable$, parametre1,parametre2,etc (variable$ est un tableau qui contient l'image)
Aquisition scanner/webcam:
GET_TWAIN N,
parametre1,parametre2,etcrotation sprites (avec choix des coordonnées comme axe):
SPRITE_ROTATION N,
angle, coord_axe_x, coord_axe_yrotation image (avec choix des coordonnées comme axe):
PICTURE_ROTATION N,
angle, coord_axe_x, coord_axe_yscroller une image plus grande que l'écran ( Ahhh, la nostalgie atarienne !!):
SCROLL_PICTURE N,
coord_cadre_x, coord_cadre_y, taille_cadre_x, taille_cadre_y, deplacement_x, deplacement_yzoom :
ZOOM_PICTURE N,
coord_x, coord_y, taille_cadre_x, taille_cadre_y, ancien_facteur, nouveau_facteur, progressif (0/1).
Instruction effectuant un zoom sur une coordonnée x et y dans un cadre de taille x et y avec un facteur de base (>0) jusqu'à un nouveau facteur. La valeur "progressif" sert pour animer la sequence de zoom. si ce parametre est à zero, l'image est directement zoomée à son facteur final (nouveau_facteur)
moteur3D:
Pour ce qui est du moteur 3D...pourquoi ne pas prendre contact avec des demomakers francais...par essence, les démomakers sont des optimiseurs de codes à l'extreme, les maitres de l'openGL/DIRECTX, je ne pense pas qu'ils refuseront car les moteurs des autres basic sont extremement lourds et trés mal pensés (personne ne me contredira
) ou à défaut, lorgner du coté des moteurs libres, qui sont pas mal non plus (d'aprés temoignages).
SET_3D_ENGINE N =
{3D_engine_class%}, parametres% --> choix du moteur 3d pour la scene N + parametres
ENTREES/SORTIES:Telecommande:Aquisition de signaux telecommande RC5 ( via module IRDA du commerce ou via un module connecté au port serie dont la realisation est dispo partout sur internet):
GET_RC5,
variable%Emission signaux de telecommande RC5:
PUT_RC5,
variable%Afficheur LCD:Pour l'instant, se baser sur model courant (à savoir, le trés connu HD44780 )
SET_LCD_TYPE=
nbre_de_lignes, nbre_de_caracteres, serie_ou_parallele (0 ou 1), backlight_possible (0 ou 1) --> choix du type de LCD
SET_LCD_PORT=
adresse_port_paralelle_ou_serie --> port parralele ou serie sur lequel est connecté le LCD
SET_LCD_MODE=
mode_4_ou_8_bits --> commande en 4 ou 8 bits
SET_LCD_PINS=
pin_port_paralelle, pin_lcd (ex: SET_LCD_PINS= STROBE,E) --> correspondance entre broche port parallel et broches afficheur LCD (si utilisation du port parralel)
Instructions d'affichage:
LCD_CLS --> efface l'ecran lcd
LCD_PRINT --> affiche chaine de caractere
LCD_LOCATE col, line place le curseur à la colonne et ligne choisie
LCD_DEFINE N,
val1%,val2%,val3%,val4%,val5%, variable%$ (definit un nouveau caractere et le memorise dans variable%$)
Instructions I2C: definition des broches du port // et leur role:
exemple:
SET_LPT_PIN_D0=SDA (la broche D0 du port imprimante sera relié à la broche "Serial Data" du composant en question)
SET_LPT_PIN_D1=SCL
SET_LPT_PIN_D2=INT
etc...
Envoie I2C:
I2C_OUT adr%,data%reception I2C:
I2C_IN adr%,data%instructions SPI:definition des broches du port // et leur role:
exemple:
SET_LPT_PIN_BUSY=DI (la broche BUSY du port imprimante sera relié à la broche "Data In" du composant en question)
SET_LPT_PIN_STROBE=DO
SET_LPT_PIN_D0=CLK
SET_LPT_PIN_D1=CS
etc...
complement bus parralel:gestion de boutons poussoirs en matrice (purement pour les electroniciens):
SET_PARALLEL_MATRIX N,
row%, col% ---> place le port parralel N en mode "matrice". Row% définit les lignes de touches (ex:row%=11110000 pour 4 lignes) et col% definit les colonnes de touches (ex:col%=00001111 pour 4 lignes). row et col sont les poids fort et poids faible du bus de données du port parallel.
PARALLEL_MATRIX N,
button% ---> Cette instruction place le port parralel en structation et met le resultat dans button% (il existe un moyen de déclencher un evenement lors de l'appuie sur ces fameux boutons au lieu d'utiliser la scrutation, mais ça fait appel à un montage à base de diode que je n'ai pas en tete et je ne peux pas m'apesentir sur le sujet car on sortirais du theme du topic mais avec la gestion des evenement, l'instruction pourrait etre du genre ON EVENT_MATRIX N=var%...)
port serie (si deja fait, ne pas en tenir compte): SERIAL_USED N--> pour initialiser l'utilisation du port série à l'adresse N.
SET_SERIAL N,
speed%, parametres_de_controle% --> regle le port N avec les specifications de controle et de vitesse adequat
SERIAL_OUT N,
Var$ pour envoyer la valeur Var$ sur le port d'adresse N.
Var$=
SERIAL_INP(N) pour lire la valeur Var$ sur le port d'adresse N,
SERIAL_RELEASED N --> pour terminer l'utilisation du port série à l'adresse N
FILESYSTEM: FORMAT N,
parametres gravure cd avec l'aide de CDRDAO / outils du ressource kit windows 2003: OPEN N,
write%(à 1), nom_fichier, parametres_divers... --> écrire un fichier sur l'unité numero N. Avec les DVDRAM, on se sert des instructions classiques d'ouverture/creation de fichiers, étant donné que ce support est considéré comme un disque dur.
ERASE N,
mode% (0=fast,1=full) ---> effacer un CD/DVDRW dans l'unité numero N
GET_UNIT_SPEED N,
variable%(i) ---> récupere les differentes vitesses de gravures autorisée de l'unité numero N et les met dans un tableau
SET_UNIT_SPEED N,
variable%(i) ---> Regle la vitesse de gravure de l'unité numero N
MAKE_ISO nom_du_fichier.iso, repertoire_ou_fichier, parametres_divers ---> transforme un repertoire ou un fichier en ISO
BURN_ISO N,
nom_du_fichier.iso, speed%, parametres_divers ---> grave une image ISO vers le graveur N à la vitesse speed%
OPEN_TRAY N --> ouvre le tiroir CD de l'unité numero N
GESTION HARDWARE: lecture temperature & info systeme: GET_CPU_TEMP N,
tcore1%,tcore2%,tcore3%,tcore4% GET_GPU_TEMP N,
gpu%,gpu2%,gpu3% --> mesure temperature d'une carte graphique N contenant jusqu'à 3 GPU (comme l'ASUS trinity à base de 3 RADEONS)
GET_INSIDE_TEMP,
temp% --> mesure temperature à l'interieur du boitier
GET_ACPI_TEMP,
temp% ---> mesure temperature de l'ACPI (apparement pas tellement utilisé, mais j'ai cette mesure sur mon A8Nsli premium)
GET_CPU_FRQ,
frq% ---> recupere l'information de frequence et la met dans frq%
GET_CPU_FSB,
fsb% ---> recupere l'information de fsb et la met dans fsb%
GET_CPU_MLT,
mlt% ---> recupere l'information de multiplication de frequence et la met dans mlt%
GET_CPU_VLT,
vcore1%,vcore2%,vcore3%,vcore4% ---> recupere l'information de voltage du cpu et la met dans core%
lecture RPM d'un ventilo:
GET_RPM N,
rpm% ---> recupere l'info de vitesse du ventilateur N dans rpm%
Lecture smart:
GET_SMART N,
smart% ---> recupere les infos smart du disque dur N dans smart%
En toute logique: c'est pas fini