                          DOCUMENTATION DE C_R_B
                          ----------------------
Table Des Matieres :
 I) Lancement de C_R_B
 II) Kesako C_R_B ?
 III) Copie et Diffusion
 IV) CryBaby ?
 V) Listing GFA 3.53 (Merge)

               ------------------------------------------------
I) Lancement de C_R_B
  Pour cela vous devez copier le fichier C_R_B.ACC a la racine de votre
 disque dur ou de votre disquette, puis rebooter l'ordinateur.

 Cet accessoire fonctionne sur FALCON 030 (ST,STe,...) avec ou sans MultiTos.
 Il doit fonctionner aussi sur TT, je n'ai pas test.
 L'archive contient :
  C_R_B.ACC : L'accessoire complet (Vs.Chapitre II)
  SPACE.ACC : }
  HEURE.ACC : } (Vs.Chapitre II)
  REPOS.ACC : }
  C_R_B.TXT : C'est ce que vous lisez (Normalement).

               ------------------------------------------------

II) Kesako C_R_B ?
  C_R_B est un petit utilitaire comprenant un repos ecran, une horloge, et
 un info-disque.
  Space : Infos Memoire, Disque(s) Dur (4 Maxi) et Disquette.
  Heure : Heure en Haut a Droite de l'ecran et Bip toute les heures
          l'heure ou le bip peuvent etre desactiv.
  Repos : Repos ecran parametrable (1,2 ou 3 Minutes) pouvant etre desactiv.

  C'est trois accesoires sont disponible en version indepandente et plus
 simple.
  SPACE.ACC : Infos Memoire et Disque(s) Dur (4 Maxi).
  HEURE.ACC : Heure Sans Bip, Desactivable par le Menu Accesoire.
  REPOS.ACC : Economiseur d'ecran apres 2 Minutes, Desactivable par le Menu
              Accesoire.

               ------------------------------------------------

III) Copie et Diffusion
  C_R_B est GRATUIT, FREEWARE, DOMAINE PUBLIC. Vous pouvez le diffuser comme
 bon vous semble.(Net, RTC, Catalogue DP, ...).

               ------------------------------------------------

IV) CryBaby ?
  C'est moi le programmeur de C_R_B, un tel utilitaire me semblait interessant
 sur FALCON 030 c'est pour cela que je l'ai fait ...
  Pour les programmeurs en GFA 3.53 je fournie les sources dans cette doc car
 l'economiseur d'ecran a un bug, il ne gere pas le calvier. J'ai fait cet
 accesoire en un week-end, ne n'ai pas eu le temps de savoir pourquoi. Donc
 il vous avez une idee modifier les sources. Les listing sont comments (!!??).
 trs Light.

               ------------------------------------------------

V) Listing GFA 3.53 (Merge)

' Sujet         : Accessoire
' Fichier       : C_R_B.GFA
' Nom           : Visualise Des Informations du DD
' Machine       : FALCON 030
' Auteur        : CryBaby
' Date          : Lundi 23 Aout 1993
' Version       : 1
' Modification  :
' Raison        :
'
$m1000
hr_active=TRUE
rp_actif=TRUE
hr_bip=TRUE
t=0
tmp_repos=120
'
ident%=APPL_INIT()
IF ident%=0                                     ! Lancement en Programme
  prg
  EDIT
ELSE                                            ! Lancement en Acc
  PRINT CHR$(13);CHR$(10);CHR$(32);CHR$(27)+"p";"       C_R_B Version 1       ";CHR$(27)+"q"
  PRINT " CryBaby  Copyright 23/08/1993"       ! Prsentation de l'Acc
  reg%=MENU_REGISTER(ident%,"  C_R_B v1")
  IF reg%<>-1
    mx=MOUSEX
    my=MOUSEY
    DO
      rep=EVNT_MULTI(&X111111,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1000)
      '
      IF (&X10000 AND rep)=&X10000                ! Appel Dans le Menu
        IF MENU(1)=40
          prg
        ENDIF
      ENDIF
      '
      IF (&X100000 AND rep)=&X100000              ! Appel de l'heure toute les Secondes
        IF hr_active
          heure
        ENDIF
        IF mx=MOUSEX AND my=MOUSEY
          INC t
        ELSE
          t=0
          mx=MOUSEX
          my=MOUSEY
        ENDIF
        IF t=tmp_repos AND rp_actif               ! Repos apres tmp_repos Minutes
          t=0
          repos
        ENDIF
      ENDIF
    LOOP
  ELSE                                          ! Plus de place dans le menu
    ALERT 4,"|  Plus de place  | pour C_R_B v1 !  | ",1,"OK",tmp
  ENDIF
ENDIF
PROCEDURE prg
  '
  LOCAL rep%
  '
  '
  ' BOITE D'ALERTE DE PRESENTATION
  '
  ALERT 0,"  C_R_B Version 1 ",0,"Space|Heure|Repos",rep%
  SELECT rep%
  CASE 1
    space
  CASE 2
    ctrl_heure
  CASE 3
    ctrl_repos
  ENDSELECT
RETURN
PROCEDURE space
  ' But    : Afficher les resultats des tests sur les DDs
  ' Entre : Aucune
  ' Sortie : Affichage des Informations
  '
  LOCAL rep%
  '
  ' BOITE D'ALERTE DE PRESENTATION
  '
  memoire_totale=LPEEK(&H436)-LPEEK(&H432)
  mem$=" Mmoire totale :"+STR$(INT(memoire_totale/1024),5)+" Ko  "
  ALERT 0,"     Space Version 2|"+mem$,1,"DD|DK|Quitter",rep%
  '
  ' CHOIX INFO SUR LES LECTEURS DE DISQUE DUR
  '
  IF rep%=1                             ! Recherche du nombre de lecteurs
    nb_lecteur=BIOS(10)
    '                                   ! Affichage de la place libre sur les lecteurs
    SELECT nb_lecteur
    CASE 3                              !  3 = Aucun Lecteur DD
      ALERT 4," Aucun Disque Dur  |    connect ",1,"<<OK>>",tmp%
    CASE 7                              !  7 = Lecteur C
      ' Lecteur C
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,3)
      libre_c=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_c=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt1$="C : "+STR$(libre_c/1024,5)+" / "+STR$(total_c/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_c/total_c)*100))+"% "
      result=MFREE(adr%)
      ALERT 0,txt1$,1,"<<OK>>",tmp%
    CASE 15                             ! 15 = Lecteur C et D
      ' Lecteur C
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,3)
      libre_c=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_c=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt1$="C : "+STR$(libre_c/1024,5)+" / "+STR$(total_c/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_c/total_c)*100))+"% "
      result=MFREE(adr%)
      ' Lecteur D
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,4)
      libre_d=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_d=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt2$="|D : "+STR$(libre_d/1024,5)+" / "+STR$(total_d/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_d/total_d)*100))+"% "
      result=MFREE(adr%)
      ALERT 0,txt1$+txt2$,1,"<<OK>>",tmp%
    CASE 31                             ! 31 = Lecteur C,D et E
      ' Lecteur C
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,3)
      libre_c=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_c=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt1$="C : "+STR$(libre_c/1024,5)+" / "+STR$(total_c/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_c/total_c)*100))+"% "
      result=MFREE(adr%)
      ' Lecteur D
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,4)
      libre_d=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_d=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt2$="|D : "+STR$(libre_d/1024,5)+" / "+STR$(total_d/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_d/total_d)*100))+"% "
      result=MFREE(adr%)
      ' Lecteur E
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,5)
      libre_e=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_e=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt3$="|E : "+STR$(libre_e/1024,5)+" / "+STR$(total_e/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_e/total_e)*100))+"% "
      result=MFREE(adr%)
      ALERT 0,txt1$+txt2$+txt3$,1,"<<OK>>",tmp%
    CASE 63                             ! 63 = Lecteur C,D,E et F
      ' Lecteur C
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,3)
      libre_c=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_c=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt1$="C : "+STR$(libre_c/1024,5)+" / "+STR$(total_c/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_c/total_c)*100))+"% "
      result=MFREE(adr%)
      ' Lecteur D
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,4)
      libre_d=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_d=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt2$="|D : "+STR$(libre_d/1024,5)+" / "+STR$(total_d/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_d/total_d)*100))+"% "
      result=MFREE(adr%)
      ' Lecteur E
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,5)
      libre_e=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_e=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt3$="|E : "+STR$(libre_e/1024,5)+" / "+STR$(total_e/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_e/total_e)*100))+"% "
      result=MFREE(adr%)
      ' Lecteur F
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,6)
      libre_f=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_f=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt4$="|F : "+STR$(libre_f/1024,5)+" / "+STR$(total_f/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_f/total_f)*100))+"% "
      result=MFREE(adr%)
      ALERT 0,txt1$+txt2$+txt3$+txt4$,1,"<<OK>>",tmp%
    DEFAULT
      ALERT 4,"       Erreur ! | Plus de 4 lecteurs de |      Disque Dur ",1,"<<OK>>",tmp%
    ENDSELECT
  ENDIF
  '
  ' CHOIX INFO SUR LE LECTEUR DE DISQUETTE
  '
  IF rep%=2
    adr%=MALLOC(12)
    result=GEMDOS(54,L:adr%,1)
    libre_a=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
    total_a=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
    txt5$="A : "+STR$(libre_a/1024,5)+" / "+STR$(total_a/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_a/total_a)*100))+"% "
    result=MFREE(adr%)
    ALERT 0,txt5$,1,"<<OK>>",tmp%
  ENDIF
RETURN
PROCEDURE heure
  ' But    : Afficher l'heure
  ' Entre : Aucune
  ' Sortie : Aucune
  '
  IF MOD((VAL(MID$(TIME$,1,2)+MID$(TIME$,4,2)+MID$(TIME$,7,2))),10000)=0 AND hr_bip
    PRINT CHR$(7)
  ENDIF
  s|=VAL(RIGHT$(TIME$,2))-(t$=TIME$)
  t$=TIME$
  TEXT -(XBIOS(4)>0)*320+257,-(XBIOS(4)>1)*5+6,LEFT$(TIME$,6)+STRING$(-(s|<10),"0")+STR$(s|)
RETURN
PROCEDURE ctrl_heure
  ' But    : Parametre de l'heure
  ' Entre : Aucune
  ' Sortie : hr_active ou hr_bip
  '
  LOCAL rep%
  IF hr_active                  ! Heure active
    IF hr_bip                   ! Bip actif
      ALERT 0,"     Heure Version 2 ",0,"Bip OFF|OFF|Quitter",rep%
    ELSE                        ! Bip inactif
      ALERT 0,"     Heure Version 2 ",0,"Bip ON|OFF|Quitter",rep%
    ENDIF
  ELSE                          ! Heure inactive
    IF hr_bip                   ! Bip actif
      ALERT 0,"     Heure Version 2 ",0,"Bip OFF|ON|Quitter",rep%
    ELSE                        ! Bip inactif
      ALERT 0,"     Heure Version 2 ",0,"Bip ON|ON|Quitter",rep%
    ENDIF
  ENDIF
  '
  IF rep%=1
    IF hr_bip
      hr_bip=FALSE
    ELSE
      hr_bip=TRUE
    ENDIF
  ENDIF
  '
  IF rep%=2
    IF hr_active
      hr_active=FALSE
      TEXT -(XBIOS(4)>0)*320+257,-(XBIOS(4)>1)*5+6,"        "
    ELSE
      hr_active=TRUE
      heure
    ENDIF
  ENDIF
RETURN
PROCEDURE repos
  ' But    : Repos Ecran
  ' Entre : Aucune
  ' Sortie : Aucune
  '
  LOCAL mx1,my1
  mx1=MOUSEX
  my1=MOUSEY
  SPOKE &HFFFF820A,255
  REPEAT
  UNTIL INKEY$<>"" OR MOUSEX<>mx1 OR MOUSEY<>my1
  SPOKE &HFFFF820A,254
RETURN
PROCEDURE ctrl_repos
  ' But    : Parametrage du repos
  ' Entre : Aucune
  ' Sortie : rp_actif,tmp_repos
  '
  LOCAL rep%
  IF rp_actif                   ! Repos actif
    ALERT 0,"     Repos Version 2 ",0,"Param|OFF|Quitter",rep%
  ELSE                          ! Repos inactif
    ALERT 0,"     Repos Version 2 ",0,"Param|ON|Quitter",rep%
  ENDIF
  '
  IF rep%=1
    SELECT tmp_repos
    CASE 60
      typ_tmp=1
    CASE 120
      typ_tmp=2
    CASE 180
      typ_tmp=3
    ENDSELECT
    ALERT 0," Choisisez un temps ",typ_tmp,"1 Min|2 Min|3 Min",tmp%
    SELECT tmp%
    CASE 1
      tmp_repos=60
      t=0
    CASE 2
      tmp_repos=120
      t=0
    CASE 3
      tmp_repos=180
      t=0
    ENDSELECT
  ENDIF
  '
  IF rep%=2
    IF rp_actif
      rp_actif=FALSE
    ELSE
      rp_actif=TRUE
    ENDIF
  ENDIF
RETURN

               ------------------------------------------------

' Sujet         : Accessoire
' Fichier       : SPACE.GFA
' Nom           : Visualise Des Informations du DD
' Machine       : FALCON 030
' Auteur        : CryBaby
' Date          : Samedi 7 Aout 1993
' Version       : 2
' Modification  : Dimanche 8 Aout 1993
' Raison        : Plantage des lecteurs en mise en Acc
'
$m1000
ident%=APPL_INIT()
IF ident%=0                                     ! Lancement en Programme
  prg
  EDIT
ELSE                                            ! Lancement en Acc
  PRINT CHR$(13);CHR$(10);CHR$(32);CHR$(27)+"p";"       Space Version 2       ";CHR$(27)+"q"
  PRINT " CryBaby  Copyright 21/08/1993"       ! Prsentation de l'Acc
  reg%=MENU_REGISTER(ident%,"  Space v2")
  IF reg%<>-1
    DO
      ~EVNT_MESAG(0)
      IF MENU(1)=40
        prg                                     ! Appel du programme principal
      ENDIF
    LOOP
  ELSE                                          ! Plus de place dans le menu
    ALERT 4,"|  Plus de place  | pour Space v2 !  | ",1,"OK",tmp
  ENDIF
ENDIF
PROCEDURE prg
  ' But    : Afficher les resultats des tests sur les DDs
  ' Entre : Aucune
  ' Sortie : Affichage des Informations
  '
  ' BOITE D'ALERTE DE PRESENTATION
  '
  memoire_totale=LPEEK(&H436)-LPEEK(&H432)
  mem$=" Mmoire totale :"+STR$(INT(memoire_totale/1024),5)+" Ko  "
  ALERT 0,"     Space Version 2|"+mem$,1,"Lecteur|Quitter",rep%
  '
  ' CHOIX INFO SUR LES LECTEURS DE DISQUE DUR
  '
  IF rep%=1                             ! Recherche du nombre de lecteurs
    nb_lecteur=BIOS(10)
    '                                   ! Affichage de la place libre sur les lecteurs
    SELECT nb_lecteur
    CASE 3                              !  3 = Aucun Lecteur DD
      ALERT 4," Aucun Disque Dur  |    connect ",1,"<<OK>>",tmp%
    CASE 7                              !  7 = Lecteur C
      ' Lecteur C
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,3)
      libre_c=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_c=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt1$="C : "+STR$(libre_c/1024,5)+" / "+STR$(total_c/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_c/total_c)*100))+"% "
      result=MFREE(adr%)
      ALERT 0,txt1$,1,"<<OK>>",tmp%
    CASE 15                             ! 15 = Lecteur C et D
      ' Lecteur C
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,3)
      libre_c=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_c=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt1$="C : "+STR$(libre_c/1024,5)+" / "+STR$(total_c/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_c/total_c)*100))+"% "
      result=MFREE(adr%)
      ' Lecteur D
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,4)
      libre_d=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_d=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt2$="|D : "+STR$(libre_d/1024,5)+" / "+STR$(total_d/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_d/total_d)*100))+"% "
      result=MFREE(adr%)
      ALERT 0,txt1$+txt2$,1,"<<OK>>",tmp%
    CASE 31                             ! 31 = Lecteur C,D et E
      ' Lecteur C
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,3)
      libre_c=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_c=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt1$="C : "+STR$(libre_c/1024,5)+" / "+STR$(total_c/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_c/total_c)*100))+"% "
      result=MFREE(adr%)
      ' Lecteur D
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,4)
      libre_d=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_d=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt2$="|D : "+STR$(libre_d/1024,5)+" / "+STR$(total_d/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_d/total_d)*100))+"% "
      result=MFREE(adr%)
      ' Lecteur E
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,5)
      libre_e=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_e=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt3$="|E : "+STR$(libre_e/1024,5)+" / "+STR$(total_e/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_e/total_e)*100))+"% "
      result=MFREE(adr%)
      ALERT 0,txt1$+txt2$+txt3$,1,"<<OK>>",tmp%
    CASE 63                             ! 63 = Lecteur C,D,E et F
      ' Lecteur C
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,3)
      libre_c=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_c=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt1$="C : "+STR$(libre_c/1024,5)+" / "+STR$(total_c/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_c/total_c)*100))+"% "
      result=MFREE(adr%)
      ' Lecteur D
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,4)
      libre_d=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_d=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt2$="|D : "+STR$(libre_d/1024,5)+" / "+STR$(total_d/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_d/total_d)*100))+"% "
      result=MFREE(adr%)
      ' Lecteur E
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,5)
      libre_e=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_e=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt3$="|E : "+STR$(libre_e/1024,5)+" / "+STR$(total_e/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_e/total_e)*100))+"% "
      result=MFREE(adr%)
      ' Lecteur F
      adr%=MALLOC(12)
      result=GEMDOS(54,L:adr%,6)
      libre_f=LPEEK(adr%)*LPEEK(adr%+12)*LPEEK(adr%+8)
      total_f=LPEEK(adr%+4)*LPEEK(adr%+12)*LPEEK(adr%+8)
      txt4$="|F : "+STR$(libre_f/1024,5)+" / "+STR$(total_f/1024,5)+" Ko ->
 "+STR$(INT(100-(libre_f/total_f)*100))+"% "
      result=MFREE(adr%)
      ALERT 0,txt1$+txt2$+txt3$+txt4$,1,"<<OK>>",tmp%
    DEFAULT
      ALERT 4,"       Erreur ! | Plus de 4 lecteurs de |      Disque Dur ",1,"<<OK>>",tmp%
    ENDSELECT
  ENDIF
RETURN

               ------------------------------------------------

' Sujet         : Accessoire
' Fichier       : HEURE.GFA
' Nom           : Heure en haut a droite dans toute les resolutions
' Machine       : FALCON 030
' Auteur        : CryBaby
' Date          : Lundi 23 Aout 1993
' Version       : 1
' Modification  :
' Raison        :
'
$m1000
hr=TRUE
ident%=APPL_INIT()
IF ident%=0                                     ! Lancement en Programme
  prg
  EDIT
ELSE                                            ! Lancement en Acc
  PRINT CHR$(13);CHR$(10);CHR$(32);CHR$(27)+"p";"       Heure Version 2       ";CHR$(27)+"q"
  PRINT " CryBaby  Copyright 23/08/1993"       ! Prsentation de l'Acc
  reg%=MENU_REGISTER(ident%,"  Heure v2")
  IF reg%<>-1
    DO
      rep=EVNT_MULTI(&X111111,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1000)
      '
      IF (&X10000 AND rep)=&X10000                ! Appel Dans le Menu
        IF MENU(1)=40
          IF hr=FALSE
            hr=TRUE
            prg
          ELSE
            hr=FALSE
            TEXT -(XBIOS(4)>0)*320+257,-(XBIOS(4)>1)*5+6,"        "
          ENDIF
        ENDIF
      ENDIF
      '
      IF (&X100000 AND rep)=&X100000              ! Appel de l'heure toute les Secondes
        IF hr
          prg
        ENDIF
      ENDIF
    LOOP
  ELSE                                          ! Plus de place dans le menu
    ALERT 4,"Plus de place ! | pour Heure v2 ",1,"OK",tmp
  ENDIF
ENDIF
PROCEDURE prg
  ' But    : Afficher l'heure
  ' Entre : Aucune
  ' Sortie : Aucune
  '
  s|=VAL(RIGHT$(TIME$,2))-(t$=TIME$)
  t$=TIME$
  TEXT -(XBIOS(4)>0)*320+257,-(XBIOS(4)>1)*5+6,LEFT$(TIME$,6)+STRING$(-(s|<10),"0")+STR$(s|)
RETURN

               ------------------------------------------------

' Sujet         : Accessoire
' Fichier       : REPOS.GFA
' Nom           : Repos Ecran
' Machine       : FALCON 030
' Auteur        : CryBaby
' Date          : Samedi 21 Aout 1993
' Version       : 2
' Modification  :
' Raison        : Ca marchait pas !!
'
$m1000
ident%=APPL_INIT()
IF ident%=0                                     ! Lancement en Programme
  prg
  EDIT
ELSE                                            ! Lancement en Acc
  PRINT CHR$(13);CHR$(10);CHR$(32);CHR$(27)+"p";"       Repos Version 2       ";CHR$(27)+"q"
  PRINT " CryBaby  Copyright 21/08/1993"       ! Prsentation de l'Acc
  reg%=MENU_REGISTER(ident%,"  Repos v2")
  IF reg%<>-1
    t=0
    mx=MOUSEX
    my=MOUSEY
    DO
      rep=EVNT_MULTI(&X111111,1,3,3,0,0,0,0,0,0,0,0,0,0,0,1000)
      '
      IF (&X10000 AND rep)=&X10000                ! Appel Dans le Menu
        IF MENU(1)=40
          prg                                     ! Appel du programme principal
        ENDIF
      ENDIF
      '
      IF (&X100000 AND rep)=&X100000              ! Appel toute les secondes
        IF mx=MOUSEX AND my=MOUSEY AND tstclav=0
          INC t
        ELSE
          t=0
          mx=MOUSEX
          my=MOUSEY
        ENDIF
        IF t=120                                  ! Repos apres 2 Minutes
          t=0
          prg
        ENDIF
      ENDIF
    LOOP
  ELSE                                          ! Plus de place dans le menu
    ALERT 4,"Plus de place ! | pour Repos v2 ",1,"OK",tmp
  ENDIF
ENDIF
PROCEDURE prg
  ' But    : Repos Ecran
  ' Entre : Aucune
  ' Sortie : Aucune
  '
  LOCAL mx1,my1
  mx1=MOUSEX
  my1=MOUSEY
  SPOKE &HFFFF820A,255
  REPEAT
  UNTIL INKEY$<>"" OR MOUSEX<>mx1 OR MOUSEY<>my1
  SPOKE &HFFFF820A,254
RETURN

               ------------------------------------------------
                                  THE END                            CryBaby