Advertisement
Guest User

Techno Floppy

a guest
Nov 29th, 2015
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Procedure RAZ_FLOPPY()
  2.   For x=0 To 80
  3.     SetSerialPortStatus(0, #PB_SerialPort_RTS, 0) ; 1= Vers piste 40  0= Vers piste 0(MAISON)
  4.     SetSerialPortStatus(0, #PB_SerialPort_DTR, 1) ; La logique du lecteur de disquettes VEUT que se soit inverse (mais le statut du port est LUI aussi inversé donc OSEF
  5.     Delay(1)
  6.     SetSerialPortStatus(0, #PB_SerialPort_DTR, 0)
  7.     Delay(1)
  8.   Next x
  9. EndProcedure
  10.  
  11. Procedure JoueNote(frequence, duree)
  12.   Shared Position
  13.   Shared Sens
  14.   ; Joue une fréquence donnée sur le lecteur
  15.   ; duree = Temps en msec !! (ElapsedMilliseconds() )
  16.   ; frequence = un truc approximatif... lolilol
  17.  
  18.   MEGATimer.q = ElapsedMilliseconds() ; On raz le compteur...
  19.  
  20.   AncienSens=Sens
  21.  
  22.  
  23.  
  24.  
  25.   Repeat
  26.   ;For y=1 To 20
  27.     Select Sens
  28.       Case 0 ; On va vers l'intérieur
  29.         If Position=0
  30.           Sens = 1 ; Maintenant on va vers l'exterieur
  31.           SetSerialPortStatus(0, #PB_SerialPort_RTS, 1) ; 1= Vers piste 40  0= Vers piste 0(MAISON)
  32.         EndIf
  33.       Case 1
  34.         If Position=79
  35.           Sens = 0 ; On est au bout de la piste, on reviens vers l'intérieur...
  36.           SetSerialPortStatus(0, #PB_SerialPort_RTS, 0) ; 1= Vers piste 40  0= Vers piste 0(MAISON)
  37.         EndIf
  38.     EndSelect
  39.    
  40.     Select Sens
  41.       Case 0
  42.         Position - 1
  43.         SetSerialPortStatus(0, #PB_SerialPort_DTR, 1) ; La logique du lecteur de disquettes VEUT que se soit inverse (mais le statut du port est LUI aussi inversé donc OSEF
  44.         Delay(frequence)
  45.         SetSerialPortStatus(0, #PB_SerialPort_DTR, 0)
  46.         Delay(frequence)
  47.         ;Debug "passIN"
  48.       Case 1
  49.         Position + 1
  50.         SetSerialPortStatus(0, #PB_SerialPort_DTR, 1) ; La logique du lecteur de disquettes VEUT que se soit inverse (mais le statut du port est LUI aussi inversé donc OSEF
  51.         Delay(frequence)
  52.         SetSerialPortStatus(0, #PB_SerialPort_DTR, 0)
  53.         Delay(frequence)
  54.         ;Debug "passOUT"
  55.     EndSelect
  56.  
  57.     Until (ElapsedMilliseconds()>(duree+MEGATimer))
  58.     ;Debug "PASS"
  59.     ;Next y
  60.    
  61.  
  62. EndProcedure
  63.  
  64.  
  65.  
  66.  
  67. Position = 0
  68. Sens = 0 ; Vers l'exterieur (par défaut)
  69.  
  70.  
  71. If OpenSerialPort(0, "/dev/ttyUSB0", 9600, #PB_SerialPort_NoParity, 8, 1, #PB_SerialPort_NoHandshake, 1024, 1024)
  72.   ;CloseSerialPort(0)
  73.   Debug "C'est passé!"
  74.  
  75.   RAZ_FLOPPY() ; On RAZ la position du lecteur de disquettes
  76.  
  77.  
  78.  
  79.   ;Goto VersLaFin2
  80.  
  81.   For x=1 To 2
  82.     For y=1 To 16
  83.       JoueNote(2, 110)  
  84.       JoueNote(4, 110)
  85.       JoueNote(11, 250)
  86.     Next y
  87.    
  88.    
  89.     For y=1 To 8
  90.       JoueNote(2, 110)  
  91.       JoueNote(4, 110)
  92.       JoueNote(9, 250)
  93.     Next y  
  94.    
  95.     For y=1 To 8
  96.       JoueNote(2, 110)  
  97.       JoueNote(4, 110)
  98.       JoueNote(8, 250)
  99.     Next y    
  100.    
  101.   Next x
  102.  
  103.   ;Delay(110)
  104.    
  105.   ; SOLOO !!!
  106.  
  107.  
  108.     ;JoueNote(2, 110)  
  109.     ;JoueNote(4, 110)
  110.     JoueNote(11, 250)  
  111.     For y=1 To 15
  112.       ;JoueNote(, 110)  
  113.       ;JoueNote(11, 110)
  114.       Delay(220)
  115.       JoueNote(11, 250)
  116.     Next y
  117.    
  118.     For y=1 To 8
  119.       Delay(220)
  120.       JoueNote(9, 250)
  121.     Next y
  122.    
  123.     VersLaFin:
  124.    
  125.     For y=1 To 8
  126.       Delay(220)
  127.       JoueNote(8, 250)
  128.     Next y
  129.    
  130.    
  131.    
  132.    
  133.      For y=1 To 16
  134.       JoueNote(2, 110)  
  135.       JoueNote(4, 110)
  136.       JoueNote(11, 250)
  137.     Next y
  138.    
  139.    
  140.     For y=1 To 8
  141.       JoueNote(2, 110)  
  142.       JoueNote(4, 110)
  143.       JoueNote(9, 250)
  144.     Next y  
  145.    
  146.     For y=1 To 8
  147.       JoueNote(2, 110)  
  148.       JoueNote(4, 110)
  149.       JoueNote(8, 250)
  150.     Next y      
  151.    
  152.    
  153.    
  154.    
  155.    
  156.    
  157.     VersLaFin2:
  158.    
  159.     Delay(220)
  160.     Jouenote(6,110)
  161.     Delay(100)
  162.    
  163.     JoueNote(7, 110) :Delay(50)
  164.     JoueNote(7, 110) :Delay(220)
  165.    
  166.     JoueNote(8, 110) :Delay(220)
  167.    
  168.     JoueNote(9, 110) :Delay(220)
  169.    
  170.     JoueNote(11, 3000) :Delay(220)
  171.    
  172.    
  173.   ;Next x
  174.  
  175.   ;;JoueNote(1, 1000)
  176.   ;JoueNote(1, 1000)
  177.  
  178.  
  179.   ;JoueNote(2, 1000)
  180.   ;JoueNote(3, 1000)
  181.   ;JoueNote(4, 1000)
  182.  
  183.   ;y=1
  184.   ;For z=10 To 1 Step -1
  185.   ;DelayAMettre=Random(15,1)
  186.   ;For x=0 To 80
  187.   ;  SetSerialPortStatus(0, #PB_SerialPort_RTS, 1) ; 1= Vers piste 40  0= Vers piste 0(MAISON)
  188.   ;  SetSerialPortStatus(0, #PB_SerialPort_DTR, 1) ; La logique du lecteur de disquettes VEUT que se soit inverse (mais le statut du port est LUI aussi inversé donc OSEF
  189.   ;  Delay(y)
  190.   ;  SetSerialPortStatus(0, #PB_SerialPort_DTR, 0)
  191.   ;  Delay(y)
  192.   ;Next x
  193.  ;
  194.  ; DelayAMettre=Random(15,1)
  195.  ; For x=0 To 80
  196.  ;   SetSerialPortStatus(0, #PB_SerialPort_RTS, 0) ; 1= Vers piste 40  0= Vers piste 0(MAISON)
  197.  ;   SetSerialPortStatus(0, #PB_SerialPort_DTR, 1) ; La logique du lecteur de disquettes VEUT que se soit inverse (mais le statut du port est LUI aussi inversé donc OSEF
  198.  ;   Delay(y)
  199.  ;   SetSerialPortStatus(0, #PB_SerialPort_DTR, 0)
  200.  ;   Delay(y)
  201.  ; Next x  
  202.  ; Next z
  203.  
  204.  
  205.  
  206.  
  207. Else
  208.   Debug "FAILURE!!"
  209. EndIf
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement