/*************************************************************************************************************************************/
/* */
/* E N V O I D ' U N E C O M M A N D E A U D I S Q U E V I D E O B E T A - P A L : */
/* */
/* */
/* Author of '$xci/video_P.04$I' : */
/* */
/* Jean-Francois Colonna (LACTAMME, 1994??????????). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* V A L I D A T I O N D U R A L E N T I D E M A N D E : */
/* */
/*************************************************************************************************************************************/
Test(IFEXff(ralenti_courant,RALENTI_FAIBLE_PAL_BETA,RALENTI_FORT_PAL_BETA))
Bblock
PRINT_ERREUR("le ralenti demande est incompatible avec cette machine");
CAL1(Prer1("ralenti demande.=%d\n",ralenti_courant));
CAL1(Prer1("ralenti effectue=%d\n",RALENTI_PAL_BETA(ralenti_courant)));
Eblock
ATes
Bblock
Eblock
ETes
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* E N V O I D ' U N E C O M M A N D E A U D I S Q U E V I D E O B E T A - P A L : */
/* */
/*************************************************************************************************************************************/
TEST_COMMANDE(COMMANDE_VIDE
,BLOC(VIDE;)
);
/* Commande vide, il n'y a rien a faire... */
TEST_COMMANDE(COMMANDE_VERSION
,BLOC(EDITION_DU_TYPE_DE_MACHINE_PAL_BETA;)
);
/* Commande d'edition de la version. */
TEST_COMMANDE(COMMANDE_D_INITIALISATION_MINIMALE
,BLOC(INITIALISATION_MINIMALE_PAL_BETA(affichage_sur_le_moniteur);)
);
/* Tentative de "initialisation minimale". */
TEST_COMMANDE(COMMANDE_D_INITIALISATION_MAXIMALE
,BLOC(INITIALISATION_MAXIMALE_PAL_BETA(affichage_sur_le_moniteur);)
);
/* Tentative de "initialisation maximale". */
TEST_COMMANDE(COMMANDE_D_ETAT
,BLOC(ETAT_PAL_BETA;)
);
/* Tentative d'acces a l'etat du disque. */
TEST_COMMANDE(COMMANDE_D_ADRESSE
,BLOC(ADRESSE_COURANTE_PAL_BETA;)
);
/* Tentative d'acces a l'adresse courante du disque. */
TEST_COMMANDE(COMMANDE_D_EJECTION
,BLOC(EJECTION_PAL_BETA;)
);
/* Tentative d'ejection du disque. */
TEST_COMMANDE(COMMANDE_D_ARRET
,BLOC(ARRET_PAL_BETA;)
);
/* Tentative d'arret de la commande en cours. */
TEST_COMMANDE(COMMANDE_DE_REPRISE
,BLOC(REPRISE_PAL_BETA;)
);
/* Tentative de reprise d'une commande arretee par 'COMMANDE_D_ARRET'. */
TEST_COMMANDE(COMMANDE_DE_SAUVEGARDE
,BLOC(SAUVEGARDE_POSITION_PAL_BETA;)
);
/* Tentative de sauvegarde de la position courante du disque. */
TEST_COMMANDE(COMMANDE_DE_RESTAURATION
,BLOC(RESTAURE_POSITION_PAL_BETA;)
);
/* Tentative de retour a la position memorisee du disque. */
TEST_COMMANDE(COMMANDE_DE_RECHERCHE_D_UNE_IMAGE
,BLOC(RECHERCHE_D_UNE_IMAGE_PAL_BETA(adresse_courante);)
);
/* Tentative de "recherche" d'une image de numero donne. */
TEST_COMMANDE(COMMANDE_DE_LECTURE_D_UNE_SEQUENCE
,BLOC(LECTURE_D_UNE_SEQUENCE_PAL_BETA(adresse_de_debut
,adresse_de_fin
);
)
);
/* Tentative de lecture d'une "sequence" d'images d'adresses donnees. */
TEST_COMMANDE(COMMANDE_DE_LECTURE_F_SCAN_D_UNE_SEQUENCE
,BLOC(LECTURE_QUELCONQUE_D_UNE_SEQUENCE_PAL_BETA(PAL_BETA_F_SCAN
,ralenti_courant
,nombre_de_repetitions
,adresse_de_debut
,adresse_de_fin
);
)
);
/* Tentative de lecture d'une "sequence" d'images d'adresses donnees en avance ultra-rapide. */
TEST_COMMANDE(COMMANDE_DE_LECTURE_F_FAST_D_UNE_SEQUENCE
,BLOC(LECTURE_QUELCONQUE_D_UNE_SEQUENCE_PAL_BETA(PAL_BETA_F_FAST
,ralenti_courant
,nombre_de_repetitions
,adresse_de_debut
,adresse_de_fin
);
)
);
/* Tentative de lecture d'une "sequence" d'images d'adresses donnees en avance rapide. */
TEST_COMMANDE(COMMANDE_DE_LECTURE_F_PLAY_D_UNE_SEQUENCE
,BLOC(LECTURE_QUELCONQUE_D_UNE_SEQUENCE_PAL_BETA(PAL_BETA_F_PLAY
,ralenti_courant
,nombre_de_repetitions
,adresse_de_debut
,adresse_de_fin
);
)
);
/* Tentative de lecture d'une "sequence" d'images d'adresses donnees en avance normale. */
TEST_COMMANDE(COMMANDE_DE_LECTURE_F_SLOW_D_UNE_SEQUENCE
,BLOC(LECTURE_QUELCONQUE_D_UNE_SEQUENCE_PAL_BETA(PAL_BETA_F_SLOW
,ralenti_courant
,nombre_de_repetitions
,adresse_de_debut
,adresse_de_fin
);
)
);
/* Tentative de lecture d'une "sequence" d'images d'adresses donnees en avance lente. */
TEST_COMMANDE(COMMANDE_DE_LECTURE_F_STEP_D_UNE_SEQUENCE
,BLOC(LECTURE_QUELCONQUE_D_UNE_SEQUENCE_PAL_BETA(PAL_BETA_F_STEP
,ralenti_courant
,nombre_de_repetitions
,adresse_de_debut
,adresse_de_fin
);
)
);
/* Tentative de lecture d'une "sequence" d'images d'adresses donnees en avance pas a pas. */
TEST_COMMANDE(COMMANDE_DE_LECTURE_R_PLAY_D_UNE_SEQUENCE
,BLOC(LECTURE_QUELCONQUE_D_UNE_SEQUENCE_PAL_BETA(PAL_BETA_R_PLAY
,ralenti_courant
,nombre_de_repetitions
,adresse_de_fin
,adresse_de_debut
);
)
);
/* Tentative de lecture d'une "sequence" d'images d'adresses donnees en avance normale */
/* en marche arriere (introduite le 20030204133222). */
TEST_COMMANDE(COMMANDE_DE_RECHERCHE_D_UN_BLOC_DE_DONNEES
,BLOC(RECHERCHE_D_UN_BLOC_DE_DONNEES_PAL_BETA(adresse_courante);)
);
/* Tentative de "recherche" d'un bloc de donnees numeriques de numero donne. */
#define COMMANDE_disk_video_P \
chain_Aconcaten5(GENERATION_NOM_D_UNE_COMMANDE_X(Direct_xci,"disk_video_P") \
,chain_Aconcaten2(" commande=",commande_courante) \
,chain_Aconcaten2(" permuter=",ETAT_LOGIQUE(NOTL(permuter_les_octets_d_un_bloc_de_donnees))) \
,chain_Aconcaten2(" adresse=",chain_Aentier(adresse_courante)) \
,chain_Aconcaten2(" valeur=",chain_Aentier(donnees)) \
)
#define COMMANDE_car_controle \
chain_Aconcaten3(GENERATION_NOM_D_UNE_COMMANDE_X(Direct_xcp,"car_controle") \
,chain_Aconcaten2(" eliminer=",C_VRAI____) \
,chain_Aconcaten2(" eliminer_non_alpha_numerique=",C_VRAI____) \
)
#define COMMANDE_SwapBytes_01 \
chain_Aconcaten3(GENERATION_NOM_D_UNE_COMMANDE_X(Direct_xcg,"SwapBytes.01") \
,chain_Aconcaten2(" K_LF=",C_FAUX____) \
,chain_Aconcaten2(" groupes=",chain_Aentier(SIZE(vrai_Int_de_base))) \
)
TEST_COMMANDE(COMMANDE_DE_LECTURE_D_UN_BLOC_DE_DONNEES
,BLOC(
Test(IL_NE_FAUT_PAS(permuter_les_octets_d_un_bloc_de_donnees))
Bblock
LECTURE_D_UN_BLOC_DE_DONNEES_PAL_BETA(adresse_courante,donnees);
Eblock
ATes
Bblock
EXECUTION_D_UNE_SUITE_DE_COMMANDES_SOUS_SH(chain_Aconcaten5(COMMANDE_disk_video_P
,C_SH__REDIRECTION_PROGRAMME
,COMMANDE_car_controle
,C_SH__REDIRECTION_PROGRAMME
,COMMANDE_SwapBytes_01
)
);
Eblock
ETes
)
);
/* Tentative de "recherche" d'un bloc de donnees numeriques de numero donne et lecture. */
/* */
/* Le 20041221115815, a ete introduite la possibilite de permuter les octets d'un bloc de */
/* donnees numeriques pour permettre aux 'SYSTEME_APC's de recuperer les blocs de donnees */
/* ecrits il y a bien longtemps sur 'SYSTEME_SGIND'... */
/* */
/* Passage de 'C_REDIRECTION_PROGRAMME' a 'C_SH__REDIRECTION_PROGRAMME' le 20111117082006... */
TEST_COMMANDE(COMMANDE_AVANT_UN_PAS
,BLOC(AVANT_UN_PAS_PAL_BETA;)
);
/* Tentative d'avance d'une image, */
TEST_COMMANDE(COMMANDE_ARRIERE_UN_PAS
,BLOC(ARRIERE_UN_PAS_PAL_BETA;)
);
/* Tentative de recul d'une image. */
TEST_COMMANDE(COMMANDE_AVANT_LENT
,BLOC(AVANT_LENT_PAL_BETA(ralenti_courant);)
);
/* Tentative de mise en pas a pas "avant" (avec ralenti='ralenti_courant'), */
TEST_COMMANDE(COMMANDE_ARRIERE_LENT
,BLOC(ARRIERE_LENT_PAL_BETA(ralenti_courant);)
);
/* Tentative de mise en pas a pas "arriere" (avec ralenti='ralenti_courant'). */
TEST_COMMANDE(COMMANDE_AVANT_NORMAL
,BLOC(AVANT_NORMAL_PAL_BETA;)
);
/* Tentative de "play" en marche avant normal, */
TEST_COMMANDE(COMMANDE_ARRIERE_NORMAL
,BLOC(ARRIERE_NORMAL_PAL_BETA;)
);
/* Tentative de "play" en marche arriere normal. */
TEST_COMMANDE(COMMANDE_AVANT_RAPIDE
,BLOC(AVANT_RAPIDE_PAL_BETA;)
);
/* Tentative de "play" en marche avant rapide, */
TEST_COMMANDE(COMMANDE_ARRIERE_RAPIDE
,BLOC(ARRIERE_RAPIDE_PAL_BETA;)
);
/* Tentative de "play" en marche arriere rapide. */
TEST_COMMANDE(COMMANDE_AVANT_ULTRA_RAPIDE
,BLOC(AVANT_EXPLORATION_PAL_BETA;)
);
/* Tentative de "play" en marche avant ultra-rapide ("exploration"). */
TEST_COMMANDE(COMMANDE_ARRIERE_ULTRA_RAPIDE
,BLOC(ARRIERE_EXPLORATION_PAL_BETA;)
);
/* Tentative de "play" en marche arriere ultra-rapide ("exploration"). */
TEST_COMMANDE(COMMANDE_D_ENREGISTREMENT_D_UNE_IMAGE
,BLOC(ENREGISTREMENT_D_UNE_IMAGE_PAL_BETA(adresse_courante);)
);
/* Tentative d'"enregistrement" d'une image de numero donne. */
TEST_COMMANDE(COMMANDE_D_ENREGISTREMENT_EN_CONTINU_D_UNE_SEQUENCE
,BLOC(ENREGISTREMENT_EN_CONTINU_D_UNE_SEQUENCE_PAL_BETA;)
);
/* Tentative d'"enregistrement" d'une sequence d'images en continu. */
TEST_COMMANDE(COMMANDE_D_ENREGISTREMENT_D_UN_BLOC_DE_DONNEES
,BLOC(ENREGISTREMENT_D_UN_BLOC_DE_DONNEES_PAL_BETA(adresse_courante,donnees);)
);
/* Tentative d'"enregistrement" d'un bloc de donnees numeriques de numero donne. */