• # TIME

    Posté par . En réponse au journal [VINTAGE] "portage" taptempo en basic Amstrad CPC. Évalué à 10. Dernière modification le 13 mars 2018 à 07:14.

    Mince, je comptais la faire, celle-là ! Évidemment, je ne me suis pas pressé, mais je ne pensais pas que quelqu’un aurait la même idée saugrenue (bon, je t’ai pertinenté quand même)...

    Pour info, la fonction inkey$ scrute le clavier tous les 1/50 de secondes, ce qui permet de calculer approximativement le tempo.

    Pour ma part, j’aurais simplement utilisé INPUT pour attendre la frappe de la touche Return et TIME pour récupérer le temps (le BASIC de l’Amstrad est l’un des plus complet de l’époque, il a notamment une fonction TIME). TIME est en 1/300 de secondes, mais INPUT est probablement tributaire aussi de la fréquence de scan clavier.

    Ma version de base (test de faisabilité avant de regarder de plus près les fonctionnalités de l’originale) donnait ça :

    10MODE2
    20PRINT"Calcul du tempo selon la frappe de la touche Return":PRINT
    30INPUT"Nombre d'echantillons (6 par defaut) ? ",nbech%
    40IFnbech%<2THENnbech%=6
    50DIMtemps(nbech%-1)
    60nbmes%=1
    70INPUT"Tapez sur la touche Return (ou entrez q pour quitter) : ",r$
    80temps(nbmes%MODnbech%)=TIME
    90IFnbmes%>=nbech%THENPRINT"Battements par minute :";18000*(nbech%-1)/(temps(nbmes%MODnbech%)-temps((nbmes%+1)MODnbech%))
    100nbmes%=nbmes%+1
    110IFr$<>"q"GOTO70

    Enfin comme quoi des machines farcies de GHz et de Go et des langages super sophistiqués sont extrêmement surdimensionnés pour un tel besoin.

    « Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone