File: XFree86-Video-Timings-HOWTO

package info (click to toggle)
doc-linux-it 2000.01-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 8,136 kB
  • ctags: 19
  • sloc: perl: 249; makefile: 50; sh: 42
file content (1716 lines) | stat: -rw-r--r-- 71,152 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
  XFree86 Video Timings HOWTO
  Eric S. Raymond <esr@thyrsus.com>
  v3.4, 18 gennaio 1999

  Come comporre una "mode line" per la vostra combinazione scheda
  video/monitor su XFree86.  La distribuzione XFree86 ora ha reso pi
  agevole la configurazione della maggior parte delle combinazioni stan
  dard; questo documento  particolarmente utile se state ottimizzando
  una vostra "mode line" personale per un monitor ad alte prestazioni o
  per dell'hardware poco comune. Vi dar anche una mano sull'uso di
  xvidtune per adattare una modalit standard che non  proprio quella
  adatta per il vostro monitor. Traduzione di Angelo Nardoni <anar
  doni@mclink.it>

  1.  Avvertenze


  L'uso del presente materiale  UNICAMENTE A VOSTRO RISCHIO. 
  possibile danneggiare sia il monitor che voi stessi quando si
  sperimenta oltre le specifiche del produttore. Leggete
  ``Sovraccaricare il Vostro Monitor'' per precauzioni pi dettagliate.
  Qualsiasi danno a voi o al vostro monitor dovuto al suo sovraccarico 
  un problema vostro.

  La pi recente versione di questo HOWTO pu essere trovata alla pagina
  web Linux Documentation Project <http://metalab.unc.edu/LDP>.

  Siete pregati di indirizzare commenti, critiche e suggerimenti per
  migliorie a esr@snark.thyrsus.com. Siete pregati di non inviare email
  chiedendo una soluzione magica al problema speciale con il vostro
  monitor, perch cos facendo consumate solo il mio tempo e frustrer
  voi -- tutto quello che so sull'argomento  gi qui dentro.


  2.  Introduzione


  Il server XFree86 permette agli utenti di configurare i loro
  sottosistemi video e quindi incoraggia ad un miglior uso dell'hardware
  esistente. Questo tutorial intende aiutarvi ad imparare a generare i
  vostri propri valori di temporizzazione per sfruttare al meglio la
  vostra scheda video e il vostro monitor.

  Presenteremo un metodo per ottenere qualcosa che funziona, quindi vi
  mostreremo come sperimentare partendo da una base comune per
  sviluppare delle specifiche ottimizzate alle vostre esigenze.

  Se gi avete una modalit che funziona discretamente (in particolare,
  se una delle modalit VESA predefinite vi d uno schermo stabile ma
  spostato troppo a sinistra o a destra, o troppo piccolo, o troppo
  largo) potete andare direttamente alla sezione ``Risolvere i Problemi
  con l'Immagine''.  Questa vi sveler le possibilit di manipolare i
  valori di temporizzazione per ottenere effetti particolari.


  3.  Strumenti per il Calcolo Automatico


  Da XFree86 3.2 in poi, XFree86 fornisce un programma XF86Setup(1) che
  rende facile generare interattivamente una modalit funzionante per il
  monitor, senza avere a che fare direttamente con i valori delle
  temporizzazioni video. Cos il pi delle volte non dovete calcolare
  una modalit base per il monitor. Sfortunatamente, XF86Setup(1) ha
  alcune limitazioni; riconosce solo modalit video standard fino a
  1280x1024. Se avete un monitor ad alte prestazioni capace di 1600x1200
  o pi dovrete sempre calcolare la modalit base da soli.
  Mi  stato detto di un'applicazione KDE chiamata KVideoGen
  <http://without.netpedia.net/kvideogen/> che genera le "mode line"
  dalle caratteristiche del monitor e della scheda video.  Non l'ho
  provata.

  Versioni recenti di XFree86 offrono uno strumento chiamato xvidtune(1)
  che troverete probabilmente abbastanza utile per testare e
  perfezionare le modalit video. Parte con uno spaventoso avviso sulle
  possibili conseguenze se si fanno errori usandolo.  Se prestate
  un'accurata attenzione a questo documento e imparate cosa c' dietro
  quei simpatici numeri nei riquadri di xvidtune, saprete usare
  effettivamente e con confidenza xvidtune.

  Se avete xvidtune(1), potrete provare nuove modalit al volo, senza
  modificare i vostri file di configurazione per X o resettare il server
  X.  Altrimenti, XFree86 vi permette di spostarvi con la tastiera fra
  differenti modalit definite in Xconfig (vedi XFree86.man per
  dettagli). Usate questa capacit per risparmiarvi problemi!  Quando
  volete provare una nuova modalit, chiamatela in modo univoco e
  aggiungetela alla fine della vostra lista di combinazioni di tasti.
  Lasciate una modalit che sapete che funziona bene come default per
  poter tornare l se la modalit che state provando non funziona.


  4.  Come Funziona lo Schermo


  Sapere come funziona lo schermo video  fondamentale per capire quali
  valori mettere nei vari campi del file Xconfig.  Questi valori sono
  usati al pi basso livello di controllo dello schermo dal server
  XFree86.

  Lo schermo genera un quadro con una serie di punti. I punti sono
  disposti da sinistra a destra per formare delle linee. Le linee sono
  disposte dall'alto in basso per formare il quadro. I punti emettono
  luce quando sono colpiti dal fascio elettronico dentro lo schermo. Per
  far s che il fascio colpisca ciascun punto per un uguale periodo di
  tempo, il fascio  diretto sullo schermo con un percorso costante.

  Il percorso parte in alto a sinistra sullo schermo, attraversa lo
  schermo verso destra con una linea diritta, e si ferma temporaneamente
  sul lato destro dello schermo. Poi il fascio  riportato indietro sul
  lato sinistro, ma sotto di una linea. La nuova linea va da sinistra a
  destra proprio come la prima.  Questo percorso  ripetuto fino a che
  l'ultima linea in fondo allo schermo  stata passata.  Allora il
  fascio viene portato dall'angolo in basso a destra all'angolo in alto
  a sinistra, e il percorso viene ripetuto.

  C' una variante di questo schema conosciuto come interlacciamento:
  qui solamente ogni linea pari  passata ogni mezzo quadro e quelle
  dispari sono tracciate durante il secondo mezzo quadro.

  Quando il fascio parte dall'angolo superiore sinistro dello schermo 
  detto inizio di quadro. Il quadro termina quando il fascio raggiunge
  l'angolo superiore sinistro di nuovo venendo dall'angolo inferiore
  destro dello schermo. Un quadro  composto da tutte le linee tracciate
  dal fascio dall'alto in basso dello schermo.

  Se il fascio degli elettroni funzionasse per tutto il tempo che
  attraversa il quadro, tutti i punti dello schermo sarebbero accesi.
  Non ci sarebbero bordi neri ai lati dello schermo. Ai lati dello
  schermo il quadro sarebbe distorto perch  difficile controllare il
  fascio in quei punti. Per ridurre la distorsione, i punti vicino ai
  lati dello schermo non sono illuminati dal fascio anche se questo sta
  puntandoli. L'area visibile dello schermo  in questo modo ridotta.

  Un'altra cosa importante da capire  cosa succede del fascio quando
  nessuna cosa  disegnata nell'area visibile. Il tempo che il fascio
  avrebbe dovuto usare per illuminare i lati sinistro e destro dello
  schermo  invece usato per portare il fascio indietro da destra a
  sinistra e per muoverlo gi alla linea successiva. Il tempo che il
  fascio avrebbe dovuto usare per illuminare i lati superiore ed
  inferiore dello schermo  usato per muovere il fascio dall'angolo in
  basso a destra all'angolo in alto a sinistra.

  La scheda video genera i segnali che permettono allo schermo di
  accendere il fascio ad ogni punto per generare un quadro. La scheda
  controlla anche quando lo schermo muove il fascio da destra a sinistra
  e gi di una riga generando un segnale chiamato sync (per sincronismo)
  orizzontale.  C' un impulso di sincronismo orizzontale alla fine di
  ogni linea. La scheda genera anche un impulso di sincronismo verticale
  che segnala allo schermo quando muovere il fascio dall'angolo sinistro
  in alto dello schermo. Un impulso di sincronismo verticale  generato
  quasi alla fine di ogni quadro.

  Lo schermo richiede che ci sia un breve lasso di tempo sia prima che
  dopo gli impulsi di sincronismo orizzontale e verticale cos che si
  possa stabilizzare la posizione del fascio di elettroni. Se il fascio
  non pu stabilizzarsi, il quadro non sar nitido.

  In una sezione pi avanti, torneremo su queste nozioni basilari con
  definizioni, formule ed esempi per aiutarvi ad usarle.


  5.  Cose Basilari da Sapere sul Vostro Schermo e la Scheda Video


  Ci sono delle cose fondamentali da sapere prima di sperimentare con i
  valori di Xconfig.  Sono:


    le opzioni di frequenza di sincronismo orizzontale e verticale del
     vostro monitor

    la larghezza di banda del vostro monitor

    la frequenza della vostra scheda video, o "dot clock".


  5.1.  Le frequenze di sincronismo del monitor

  La frequenza di sincronismo orizzontale  semplicemente il numero di
  volte al secondo che il monitor pu scrivere una linea di scansione
  orizzontale;  la pi importante informazione sul vostro monitor. La
  frequenza di sincronismo verticale  il numero di volte al secondo
  alla quale il monitor pu far attraversare il fascio verticalmente
  sullo schermo.

  Le frequenze di sincronismo di solito sono elencate nelle specifiche
  del manuale del monitor.  Il valore della frequenza di sincronismo
  verticale  tipicamente calibrato in Hz (cicli per secondo), quello
  orizzontale in KHz (kilocicli per secondo).  Le comuni gamme di valori
  sono fra 50 e 150Hz verticali, e fra 31 e 135KHz orizzontali.

  Se avete un monitor multifrequenza, queste frequenze saranno date come
  gamma di valori.  Alcuni monitor, specialmente quelli pi scadenti,
  hanno svariate frequenze fisse.  Anche queste possono essere
  configurate, ma le vostre possibilit saranno molto limitate dalle
  caratteristiche proprie del monitor. Scegliete il paio di frequenze
  pi alte per la migliore risoluzione. E state attenti --- provare a
  mandare un monitor a frequenza fissa ad una velocit di clock pi alta
  di quella per la quale  stato costruito lo pu facilmente
  danneggiare.

  Le prime versioni di questa guida erano piuttosto permissive
  sull'overclocking di monitor multifrequenza, spingendoli oltre la loro
  pi alta frequenza verticale di sincronismo per ottenere migliori
  risultati. Da allora abbiamo pi ragioni per essere cauti
  sull'argomento; le vedremo nel paragrafo ``Sovraccaricare il Monitor''
  pi avanti.


  5.2.  La larghezza di banda video del monitor

  La larghezza di banda video del vostro monitor dovrebbe essere inclusa
  nelle pagine delle specifiche del manuale. Se non ci fosse, guardate
  la pi alta risoluzione del monitor. Indicativamente, ecco come
  tradurla in larghezza di banda approssimativa (e quindi nei limiti
  superiori approssimati per il dot clock che potete usare):



               640x480                 25
               800x600                 36
               1024x768                65
               1024x768 interlaced     45
               1280x1024               110
               1600x1200               185




  Per inciso, non c' nulla di magico in questa tabella; questi numeri
  sono solo i pi bassi dot clock per una data risoluzione nel database
  standard delle Modalit XFree86 (a parte l'ultimo, che ho interpolato
  io). La larghezza di banda del vostro monitor potrebbe essere pi alta
  del minimo richiesto per la sua massima risoluzione, cos non abbiate
  paura a provare un dot clock di pochi MHz pi alto.

  Notate anche che la larghezza di banda  raramente un limite per i dot
  clock sotto i 65 MHz o gi di l. Con una scheda SVGA e la maggior
  parte dei monitor ad alta risoluzione, non potete andare troppo vicino
  ai limiti della larghezza di banda video del vostro monitor. Ecco
  alcuni esempi:



               Marca                           Larghezza di Banda Video
               ----------                      ---------------
               NEC 4D                          75Mhz
               Nano 907a                       50Mhz
               Nano 9080i                      60Mhz
               Mitsubishi HL6615               110Mhz
               Mitsubishi Diamond Scan         100Mhz
               IDEK MF-5117                    65Mhz
               IOCOMM Thinksync-17 CM-7126     136Mhz
               HP D1188A                       100Mhz
               Philips SC-17AS                 110Mhz
               Swan SW617                      85Mhz
               Viewsonic 21PS                  185Mhz
               PanaSync/Pro P21                220Mhz




  Anche i monitor di fascia bassa di solito non sono terribilmente
  legati alle loro date risoluzioni. Il NEC Multisync II  un buon
  esempio --- non pu neanche raggiungere 800x600 per le sue specifiche.
  Pu raggiungere solo 800x560. Per tali basse risoluzioni non vi
  servono alti dot clock o molta larghezza di banda; probabilmente il
  meglio che potete fare  32Mhz o 36Mhz, entrambi non sono troppo
  lontani dalla larghezza di banda video del monitor di 30Mhz.

  A queste due frequenze video, l'immagine sul vostro schermo potrebbe
  non essere cos chiara come dovrebbe, ma certamente di qualit
  tollerabile.  Naturalmente sarebbe stato meglio se il NEC Multisync II
  avesse avuto una larghezza di banda video pi alta, tipo 36Mhz. Ma
  questo non  critico per impieghi comuni come editare testi, in quanto
  le differenze non sono cos grandi da causare forti distorsioni
  dell'immagine (i vostri occhi ve lo direbbero subito se cos fosse).


  5.3.  La frequenza di clock della scheda video

  La pagina delle specifiche del manuale della vostra scheda video di
  solito vi dar il valore massimo del dot clock della scheda (che
  sarebbe il numero totale dei pixel al secondo che pu scrivere sullo
  schermo).

  Se non avete questa informazione, ve la dar il server X. Le versioni
  recenti dei server X supportano tutte l'opzione --probeonly che rileva
  questa informazione ed esce senza neanche far partire X o senza
  cambiare la modalit video.

  Se non avete -probeonly, non disperate. Anche se il vostro X vi blocca
  il monitor, scriver una riga di valori di clock ed altre informazioni
  sul log di errori standard. Se voi ridirigete queste ad un file,
  saranno salvate anche se dovete resettare per tornare alla console.
  (Recenti versioni del server X supportano una opzione -probeonly che
  stampa a schermo questi risultati ed esce senza neanche far partire X
  o cambiare il modo video).

  Il risultato del tentativo o il vostro messaggio di partenza di X
  dovrebbe essere qualcosa di simile ad uno dei seguenti esempi:

  Se usate XFree86:




























  Xconfig: /usr/X11R6/lib/X11/Xconfig
  (**) stands for supplied, (--) stands for probed/default values
  (**) Mouse: type: MouseMan, device: /dev/ttyS1, baudrate: 9600
  Warning: The directory "/usr/andrew/X11fonts" does not exist.
           Entry deleted from font path.
  (**) FontPath set to "/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/"
  (--) S3: card type: 386/486 localbus
  (--) S3: chipset:   924
                      ---
     Chipset - questo  l'esatto tipo di chip; una maschera precedente del 86C911

  (--) S3: chipset driver: s3_generic
  (--) S3: videoram:  1024k
                      -----
           Quantit di RAM della scheda

  (**) S3: clocks:  25.00  28.00  40.00   3.00  50.00  77.00  36.00  45.00
  (**) S3: clocks:   0.00   0.00  79.00  31.00  94.00  65.00  75.00  71.00
                    ------------------------------------------------------
                                  Possibili frequenze in MHz

  (--) S3: Maximum allowed dot-clock: 110MHz
                                      ------
                                Larghezza di banda

  (**) S3: Mode "1024x768": mode clock =  79.000, clock used =  79.000
  (--) S3: Virtual resolution set to 1024x768
  (--) S3: Using a banksize of 64k, line width of 1024
  (--) S3: Pixmap cache:
  (--) S3: Using 2 128-pixel 4 64-pixel and 8 32-pixel slots
  (--) S3: Using 8 pages of 768x255 for font caching



  Se usate SGCS o X/Inside X:


  WGA: 86C911 (mem: 1024k clocks: 25 28 40 3 50 77 36 45 0 0 79 31 94 65 75 71)
  ---  ------       -----         --------------------------------------------
   |     |            |                    Possibili frequenze in MHz
   |     |            +-- Quantit di RAM della scheda
   |     +-- Tipo di chip
   +-- Tipo di Server



  Nota: fate questo senza processi in background sulla vostra macchina
  (del tutto se possibile). Poich X  un'applicazione, le sue
  temporizzazioni possono collidere con l'attivit del disco, rendendo i
  valori di cui sopra inaccurati. Fatelo svariate volte e osservate i
  valori che si stabilizzano; se non dovessero farlo, cominciate a
  fermare i processi finch non lo fanno.  Il programma che gestisce il
  mouse, se ne avete uno, pu in particolare rendere fasulla la lettura
  dei valori (cio gpm per gli utenti Linux, mousemgr per gli utenti
  SVr4).

  Per evitare la inaccuratezza delle prove sui clock, dovreste
  appuntarvi le temporizzazioni del clock e metterle nel vostro Xconfig
  come valore delle propiet dei Clocks --- questo evita il loop delle
  temporizzazioni e d ad X una lista esatta dei valori di clock che pu
  provare. Usando i dati dell'esempio precedente:


  wga
          Clocks  25 28 40 3 50 77 36 45 0 0 79 31 94 65 75 71

  Su sistemi con un carico molto variabile, questo vi potrebbe evitare
  misteriosi fallimenti di partenza di X.  possibile per X partire,
  ottenere le temporizzazioni sbagliate a causa del carico del sistema,
  e quindi non essere capace di trovare un clock uguale nel suo database
  di configurazione --- o trovare quello sbagliato!


  5.4.  Cosa controllano questi dati basilari


  La gamma di frequenze di sincronismo del vostro monitor, insieme con
  il dot clock della scheda video, determinano la risoluzione definitiva
  che potete usare.  Ma  compito del driver intercettare il potenziale
  del vostro hardware.  Avere una combinazione hardware di qualit senza
  un device driver egualmente valido  come buttare i soldi. D'altra
  parte, con un device driver versatile insieme ad un hardware meno
  capace potete spingere un pochino le caratteristiche dell'hardware.
  Questa  la filosofia progettuale di XFree86.

  Dovreste far combaciare il dot clock che usate con la larghezza di
  banda video del monitor. Ci sono molte possibilit, comunque ---
  alcuni monitor possono funzionare tanto quanto il 30% oltre la loro
  larghezza di banda nominale. Il rischio qui  eccedere la frequenza di
  sincronizzazione verticale massima del monitor; ne discuteremo in
  dettaglio pi avanti.

  Sapere la larghezza di banda vi permetter di fare scelte pi
  intelligenti fra le possibili configurazioni. Ci pu cambiare la
  qualit visiva dello schermo (specialmente la nitidezza nei dettagli).


  6.  Interpretare le Specifiche di Base


  Questa sezione spiega cosa significano le specifiche precedenti, e
  alcune altre cose che dovete sapere. Prima, alcune definizioni.
  Accanto a ciascuna definizione la sigla che useremo per fare calcoli,
  fra parentesi:


     frequenza di sincronismo orizzontale (HSF)
        Scansioni orizzontali al secondo (vedi sopra).


     frequenza di sincronismo verticale (VSF)
        Scansioni verticali al secondo (vedi sopra).  Principalmente
        importante come limite superiore della vostra frequenza di
        refresh.


     dot clock (DCF)
        Pi formalmente, 'frequenza di clock'; la frequenza del quarzo o
        VCO della vostra scheda video --- il numero massimo dei punti-
        al-secondo che pu emettere.


     larghezza di banda video (VB)
        La pi alta frequenza che potete immettere nell'input del
        monitor e ancora aspettarvi di vedere qualcosa. Se la vostra
        scheda produce una trama di accensioni-spegnimenti alternati, la
        sua frequenza pi bassa sar met del DCF, cos in teoria la
        larghezza di banda comincia ad avere senso a DCF/2. Per una
        videata sufficientemente nitida di piccoli dettagli
        nell'immagine video, comunque, non la vorrete molto pi bassa
        del vostro pi alto DCF, e preferibilmente pi alta.

     larghezza e lunghezza di quadro (HFL, VFL)
        La larghezza orizzontale del quadro (HFL)  il numero di impulsi
        del dot clock necessari al pennello elettronico del vostro
        monitor per scandire una linea orizzontale, inclusi i bordi
        inattivi sinistro e destro. La lunghezza di quadro verticale
        (VFL)  il numero di linee scandite nell'intera immagine inclusi
        i bordi inattivi superiore ed inferiore.


     frequenza di refresh dello schermo (RR)
        Il numero di volte al secondo che il vostro schermo viene
        ridisegnato (ci  anche detta "frequenza di quadro"). Pi sono
        alte le frequenze, meglio , perch riducono lo sfarfallio.
        60Hz va bene, lo standard VESA di 72Hz  meglio.  Calcolatelo
        come


                  RR = DCF / (HFL * VFL)




     Notate che il prodotto nel denominatore non  lo stesso della
     risoluzione visibile del monitor, ma tipicamente un po' pi grande.
     Andremo nel dettaglio pi avanti.

     Le frequenze che sono usualmente specificate per le modalit
     interlacciate (come 87Hz interlacciati) sono frequenze di met
     quadro: un intero schermo sembra avere all'incirca quella frequenza
     per gli schermi standard, ma ogni singola linea  ridisegnata solo
     met delle volte.

     Per scopi di calcolo noi riconosciamo uno schermo interlacciato
     dalla sua frequenza a schermo intero (refresh), per esempio 43.5Hz.
     La qualit di una modalit interlacciata  migliore di quella di
     una modalit non-interlacciata alla stessa frequenza per il quadro
     intero, ma sicuramente peggio di quella non-interlacciata
     corrispondente alla frequenza di met quadro.


  6.1.  Sulla larghezza di banda


  Ai costruttori di monitor piace dichiarare ampie larghezze di banda
  perch questo aumenta la nitidezza dell'intensit e del cambio dei
  colori sullo schermo. Un'ampia larghezza di banda significa vedere
  dettagli pi piccoli.

  Il vostro monitor usa segnali elettronici per presentare un'immagine
  ai vostri occhi. Tali segnali arrivano sempre in forma d'onda una
  volta che sono convertiti in forma analogica da digitale. Possono
  essere considerati come combinazioni di molte forma d'onda pi
  semplici ognuna delle quali ha una frequenza fissa, molte di esse sono
  nella gamma dei Mhz, per esempio, 20Mhz, 40Mhz, o anche 70Mhz. La
  larghezza di banda del vostro monitor , effettivamente, la pi alta
  frequenza di segnale analogico che pu sopportare senza distorsioni.

  Per i nostri scopi, la larghezza di banda video  principalmente
  importante come un approssimativo punto di partenza per il pi alto
  dot clock che potete usare.


  6.2.  Frequenze di sincronismo e la frequenza di refresh



  Ogni linea di scansione orizzontale sul display  solo la porzione
  visibile della scansione del quadro. Ad ogni istante c' un solo punto
  acceso sullo schermo, ma con una frequenza di refresh abbastanza alta
  la persistenza della vista dei vostri occhi vi permette di "vedere"
  l'intera immagine.

  Ecco alcuni disegni che possono aiutare:


       _______________________
      |                       |     La frequenza di sincronismo orizzontale
      |->->->->->->->->->->-> |      il numero di volte al secondo
      |                      )|     al quale il pennello elettronico
      |<-----<-----<-----<--- |     del monitor pu tracciare
      |                       |     un disegno tipo questo
      |                       |
      |                       |
      |                       |
      |_______________________|
       _______________________
      |        ^              |     La frequenza di sincronismo verticale
      |       ^ |             |      il numero di volte al secondo
      |       | v             |     al quale il pennello elettronico
      |       ^ |             |     del monitor pu tracciare
      |       | |             |     un disegno tipo questo
      |       ^ |             |
      |       | v             |
      |       ^ |             |
      |_______|_v_____________|



  Ricordate che la scansione  un disegno a zigzag molto stretto; cio,
  il pennello va da sinistra a destra e contemporaneamente su e gi.

  Ora possiamo vedere come il dot clock e la grandezza dello schermo si
  mettono in relazione con la frequenza di refresh. Per definizione, un
  hertz (Hz)  un ciclo al secondo. Cos, se la vostra larghezza di
  quadro orizzontale  HFL e la vostra lunghezza di quadro verticale 
  VFL, allora per coprire l'intero schermo servono (HFL * VFL) impulsi.
  Dal momento che la vostra scheda emette DCF impulsi al secondo per
  definizione, allora ovviamente il pennello elettronico del vostro
  monitor pu andare sullo schermo da sinistra a destra e dall'alto in
  basso e indietro DCF / (HFL * VFL) volte al secondo. Questa  la
  frequenza di refresh del vostro schermo, perch  quante volte il
  vostro schermo pu essere aggiornato (ovvero "rinfrescato") ogni
  secondo!

  Dovete capire questo concetto per ottenere una configurazione che medi
  la risoluzione con lo sfarfallio in un modo qualsiasi che rispetti i
  vostri bisogni.

  Per coloro che capiscono meglio i disegni del testo, eccone uno:













          RR                                      VB
           |   min HSF                     max HSF |
           |    |             R1        R2  |      |
  max VSF -+----|------------/----------/---|------+----- max VSF
           |    |:::::::::::/::::::::::/:::::\     |
           |    \::::::::::/::::::::::/:::::::\    |
           |     |::::::::/::::::::::/:::::::::|   |
           |     |:::::::/::::::::::/::::::::::\   |
           |     \::::::/::::::::::/::::::::::::\  |
           |      \::::/::::::::::/::::::::::::::| |
           |       |::/::::::::::/:::::::::::::::| |
           |        \/::::::::::/:::::::::::::::::\|
           |        /\:::::::::/:::::::::::::::::::|
           |       /  \:::::::/::::::::::::::::::::|\
           |      /    |:::::/:::::::::::::::::::::| |
           |     /     \::::/::::::::::::::::::::::| \
  min VSF -+----/-------\--/-----------------------|--\--- min VSF
           |   /         \/                        |   \
           +--/----------/\------------------------+----\- DCF
             R1        R2  \                       |     \
                            min HSF                |    max HSF
                                                   VB



  Questo  un diagramma di modalit di un monitor generico. L'asse x del
  diagramma mostra la frequenza del clock (DCF), l'asse y rappresenta la
  frequenza di refresh (RR). La regione riempita del diagramma descrive
  le capacit del monitor: ogni punto entro questa regione  una
  possibile modalit video.

  Le linee etichettate 'R1' e 'R2' rappresentano una risoluzione fissa
  (tipo 640x480); vogliono mostrare come una risoluzione pu essere
  realizzata da svariate differenti combinazioni di dot clock e
  frequenza di refresh. La linea R2 rappresenterebbe una risoluzione pi
  alta di R1.

  Gli spazi in alto e in basso della regione valida sono semplici linee
  orizzontali che rappresentano i valori limite per la frequenza di
  sincronismo verticale.  La larghezza di banda video  un limite
  superiore della frequenza di clock e quindi  rappresentato da una
  linea verticale che affianca la regione delle possibilit a destra.

  In ``Tracciare le Capacit del Monitor'' troverete un programma che vi
  aiuter a disegnare un diagramma tipo questo (ma molto pi carino, con
  grafica X) per il vostro monitor. Quella sezione tratter anche la
  parte interessante; la derivazione degli spazi attorno all'immagine
  risultante dai limiti sulla frequenza di sincronismo orizzontale.


  7.  Compromessi nel Configurare il Sistema


  Un altro modo di guardare alla formula che abbiamo derivato prima 


               DCF = RR * HFL * VFL




  Cio, il vostro dot clock  fisso. Potete usare questi punti al sec
  ondo per guadagnare sia frequenza di refresh, sia risoluzione orizzon
  tale, sia risoluzione verticale. Se uno di questi aumenta, uno o
  entrambi gli altri deve diminuire.

  Notate, comunque, che la vostra frequenza di refresh non pu essere
  pi grande della massima frequenza verticale di sincronismo del
  monitor. Cos, per ogni monitor ad un dato dot clock, c' un prodotto
  minimo di lunghezze di quadro sotto il quale non potete andare.

  Nello scegliere i vostri parametri, ricordate: se mettete RR troppo
  basso, farete una smorfia per lo sfarfallio dello schermo.

  Probabilmente non vorrete spingere la frequenza di refresh sotto i
  60Hz.  Questa  la frequenza di sfarfallio delle luci al neon; se
  siete sensibili a queste, dovrete orientarvi verso i 72Hz, lo standard
  ergonomico VESA.

  Lo sfarfallio  molto affaticante per gli occhi, anche se gli occhi
  umani sono adattabili e la tolleranza della gente ad esso  assai
  varia. Se siete di fronte al vostro monitor ad un angolo di 90, su
  sfondo scuro e un buon colore di contrasto, e un'intensit da bassa a
  media, voi *potete* stare bene anche a 45Hz.

  Il test  questo: aprite un xterminal con puro sfondo bianco e testo
  nero usando xterm -bg white -fg black e allargatelo cos da coprire
  tutta l'area visibile. Ora regolate la luminosit del monitor a 3/4
  del suo massimo, e girate la faccia lontano dal monitor. Provate a
  sbirciare il monitor (usando le pi sensibili cellule della visione
  periferica). Se non avvertite alcuno sfarfallio o pensate che quello
  che c'  tollerabile, allora la frequenza di refresh va bene per voi.
  Altrimenti  meglio che configuriate una pi alta frequenza di
  refresh, perch quel semi-invisibile sfarfallio vi affaticher gli
  occhi da morire e vi far venire il mal di testa, anche se lo schermo
  sembra OK a prima vista.

  Per le modalit interlacciate, l'ammontare dello sfarfallio dipende su
  pi fattori tipo la attuale risoluzione verticale e il contenuto della
  videata.  Cos sperimentate. Anche se non dovreste andare molto sotto
  agli 85Hz per met quadro, comunque.

  Cos diciamo che avete scelto una frequenza di refresh minimamente
  accettabile.  Nello scegliere il vostro HFL e VFL, avrete un po' di
  spazio di manovra.



  8.  Requisiti di Memoria

  La RAM disponibile per il buffer di quadro pu limitare la risoluzione
  che potete ottenere su schermi a colori o in scala di grigi.
  Probabilmente non  cos importante su schermi che hanno solo due
  colori, bianco e nero senza gradazioni di grigio.

  Per gli schermi a 256 colori, un byte di memoria video  richiesto per
  ogni punto visibile. Questo byte contiene l'informazione che determina
  quale mistura di rosso, verde e blu deve essere generata per quel
  punto. Per ottenere la quantit di memoria richiesta, moltiplicate il
  numero di punti visibili per linea per il numero di linee visibili.
  Per uno schermo con una risoluzione di 1024x768, questa sarebbe 1024 x
  768 = 786432, che  il numero di punti visibili sullo schermo. Questo
   anche, a un byte per punto, il numero di byte di memoria video che
  sono necessari sulla vostra scheda video.

  Cos, la memoria video richiesta sar tipicamente (HR * VR)/1024
  Kbytes di VRAM, arrotondati (sarebbero esattamente 768K nell'esempio
  precedente). Se avete pi memoria di quella strettamente richiesta, ne
  avrete extra per il panning di schermo virtuale.

  Comunque, se avete solo 512K sulla vostra scheda video, allora non
  potete usare questa risoluzione. Anche se avete un buon monitor, ma
  non abbastanza video RAM, non potete avvantaggiarvi della potenzialit
  del vostro monitor. D'altra parte, se la vostra SVGA ha un mega, ma il
  vostro monitor pu visualizzare al massimo 800x600, allora l'alta
  risoluzione  per voi irraggiungibile (vedi ``Usare le Modalit
  Interlacciate'' per un possibile rimedio).

  Non vi preoccupate se avete pi memoria di quella richiesta; XFree86
  la user per permettervi di scrollare l'area visibile (vedi il file di
  documentazione di Xconfig sul parametro dell'ampiezza dello schermo
  virtuale). Ricordate anche che una scheda con 512K byte di memoria non
  ha realmente 512,000 byte installati, ne ha 512 x 1024 = 524,288 byte.

  Se usate X/Inside con una scheda video S3, e volete campare con 16
  colori (4 bit per pixel), potete settare la profondit a 4 in Xconfig
  ed effettivamente raddoppiare la risoluzione che pu gestire la scheda
  video. Le schede S3, ad esempio, normalmente fanno 1024x768x256.
  Potete farle fare 1280x1024x16 con profondit 4.


  9.  Calcolare le Ampiezze di Quadro


  Attenzione: questo metodo  stato sviluppato per monitor multisync.
  Probabilmente funzioner lo stesso con monitor a frequenza fissa, ma
  non ci sono garanzie!

  Iniziate dividendo DCF per il vostro massimo HSF per ottenere la
  larghezza di quadro orizzontale.

  Per esempio: supponiamo che avete un Sigma Legend SVGA con un dot
  clock a 65MHz, ed il vostro monitor ha una frequenza di scansione
  orizzontale di 55KHz. La quantit (DCF / HSF)  allora 1181 (65MHz =
  65000KHz; 65000/55 = 1181).

  Ecco il nostro primo assaggio di magia. Dovete arrotondare al pi
  vicino multiplo di 8. Questo ha a che fare con il controller hardware
  VGA usato dalla SVGA e dalle schede S3; usa un registro a 8-bit,
  spostato a sinistra di 3 bit, per cui  in realt una quantit di
  11-bit. Altri tipi di schede tipo la ATI 8514/A pu non aver bisogno
  di questo, ma non lo sappiamo e correggere non far male. Cos
  arrotondiamo la configurazione della larghezza orizzontale di quadro a
  1176.

  Questa configurazione (DCF / HSF arrotondato ad un multiplo di 8)  il
  minimo HFL che potete usare. Potete ottenere HFL pi lunghi (e cos,
  possibilmente, pi punti orizzontali sullo schermo) settando l'impulso
  di sincronismo in modo da produrre un HSF pi basso. Ma lo pagherete
  con una frequenza pi bassa e sfarfallio pi visibile.

  In genere,  disponibile l'80% della larghezza orizzontale di quadro
  per la risoluzione orizzontale, la parte visibile della linea scandita
  orizzontale (questo permette, all'incirca, di avere i bordi e il tempo
  per il pennello di tornare indietro -- cio, il tempo necessario al
  pennello di muoversi dal lato destro dello schermo al lato sinistro
  della prossima linea).  In questo esempio, sarebbero 944 impulsi.

  Ora, per ottenere il normale rapporto della visualizzazione dello
  schermo di 4:3, settate la risoluzione verticale a 3/4 della
  risoluzione orizzontale che avete appena calcolato. Per il nostro
  esempio, sarebbero 708 impulsi. Per ottenere il vostro attuale VFL,
  moltiplicatelo per 1.05 per ottenere 743 impulsi.

  Il 4:3 non  una meraviglia della tecnica; nulla vi vieta di usare un
  rapporto a Sezione Aurea se questo vi permette di usare al meglio il
  vostro monitor. Questo rende conveniente calcolare l'altezza e la
  larghezza del quadro dalla diagonale, dovete solo moltiplicare la
  diagonale per 0.8 per ottenere la larghezza e per 0.6 per avere
  l'altezza.

  Cos, HFL=1176 e VFL=743. Dividendo 65MHz per il prodotto dei due ci
  d una bella e piena di salute frequenza di refresh di 74.4Hz.
  Eccellente! Meglio dello standard VESA! E avrete 944x708
  all'accensione, pi dell'800 per 600 che probabilmente vi aspettavate.
  Proprio mica male!

  Potreste anche aumentare la frequenza di refresh fino a circa 76 Hz,
  sfruttando il fatto che i monitor spesso possono sincronizzarsi
  orizzontalmente a circa 2khz pi delle specifiche, e in qualche modo
  abbassando lo VFL (che sarebbe, prendere meno del 75% di 944
  nell'esempio precedente). Ma prima di provare questa manovra di
  "sovraccarico", se lo fate, siate sicuri che i pennelli elettronici
  del vostro monitor possano sincronizzarsi verticalmente fino a 76 Hz.
  (Il popolare NEC 4D, ad esempio, non pu. Arriva solo fino a 75 Hz
  VSF). (Vedi ``Sovraccaricare il Monitor'' per una discussione pi
  generale su quest'argomento.)

  Fino a qui, il pi  semplice aritmetica e fatti basilari sugli
  schermi raster.  Proprio poca magia nera!


  10.  Magia Nera e Impulsi di Sincronismo


  OK, ora avete calcolato i valori di HFL/VFL per il dot clock scelto,
  trovato la frequenza di refresh accettabile, e controllato di avere
  abbastanza VRAM.  Adesso facciamo la vera magia nera -- vi serve di
  sapere quando e dove piazzare gli impulsi di sincronismo.

  Gli impulsi di sincronismo effettivamente controllano le frequenze di
  scansione orizzontale e verticale del monitor. Gli HSF e VSF che avete
  tirato fuori dalla pagina delle specifiche del manuale sono nominali e
  approssimative frequenze massime di sincronismo. L'impulso di
  sincronismo nel segnale della scheda video dice al monitor quanto
  veloce deve andare.

  Ricordate le due figure precedenti? Solamente parte del tempo
  richiesto per tracciare (raster-scanning) un quadro  usata per
  mostrare l'immagine visibile (per esempio la vostra risoluzione).


  10.1.  Sincronismo orizzontale


  Secondo la precedente definizione, ci vogliono HFL impulsi per
  tracciare una linea di scansione orizzontale. Chiamiamo il numero di
  impulsi visibili (la risoluzione orizzontale dello schermo) HR.
  Quindi, ovviamente, HR < HFL per definizione.  Per praticit,
  assumiamo che entrambi partano allo stesso istante come mostrato qui
  sotto:


    |___ __ __ __ __ __ __ __ __ __ __ __ __
    |_ _ _ _ _ _ _ _ _ _ _ _                |
    |_______________________|_______________|_____
    0                       ^               ^     unit: impulsi
                            |   ^       ^   |
                            HR  |       |  HFL
                            |   |<----->|   |
                            |<->|  HSP  |<->|
                            HGT1         HGT2


  Ora, noi vorremmo piazzare un impulso di sincronismo di lunghezza HSP
  come mostrato sopra, ad esempio, fra la fine degli impulsi di clock
  per mostrare dati e la fine degli impulsi di clock per l'intero
  quadro. Perch cos? Perch se possiamo ottenere ci, allora
  l'immagine sullo schermo non si sposter a destra o a sinistra.
  L'immagine sar dove dovrebbe essere sullo schermo, coprendo
  all'incirca tutta l'area visibile del monitor.

  In pi, vogliamo circa 30 impulsi di "tempo di guardia" ad entrambi i
  lati dell'impulso di sincronismo. Questo  rappresentato da HGT1 e
  HGT2. In una configurazione tipica HGT1 != HGT2, ma se state facendo
  una configurazione da zero, vorrete far partire le vostre
  sperimentazioni con loro uguali (cio, con l'impulso di sincronismo
  centrato).

  Il sintomo di un impulso di sincronismo non centrato  che l'immagine
  appare a schermo con un bordo troppo largo e l'altro lato
  dell'immagine che si ripiega su se stessa, producendo un spesso bordo
  bianco e una striscia di "immagine fantasma" da quella parte. Un
  impulso verticale fuori misura pu far girare il quadro come sui
  televisori quando non  regolato bene il sincronismo verticale
  (infatti,  lo stesso fenomeno in azione).

  Se siete fortunati, le larghezze degli impulsi di sincronismo del
  vostro monitor saranno documentate sulle pagine delle specifiche del
  manuale. Altrimenti, ecco dove inizia la vera magia nera...

  Dovete un po' provare, sbagliare e riprovare in questa parte. Ma il
  pi delle volte, possiamo sicuramente supporre che un impulso di
  sincronismo  lungo dai 3.5 ai 4.0 microsecondi.

  Ancora per praticit, diciamo che HSP  3.8 microsecondi (che poi,
  detto fra noi, non  un cattivo valore di partenza quando si
  sperimenta).

  Ora, usando la temporizzazione di 65Mhz come in precedenza, sappiamo
  che HSP  equivalente a 247 impulsi di clock (= 65 * 10**6 * 3.8 *
  10^-6) [ricordate che M=10^6, micro=10^-6]

  Ad alcuni costruttori piace specificare i loro parametri di quadro
  orizzontale come tempi piuttosto che come larghezza di punti. Potreste
  vedere i seguenti valori:

     tempo attivo (HAT)
        Corrisponde a HR, ma in millisecondi.  HAT * DCF = HR.


     tempo di oscuramento (HBT)
        Corrisponde a (HFL - HR), ma in millisecondi.  HBT * DCF = (HFL
        - HR).


     piedistallo frontale (HFP)
        Questo  proprio HGT1.


     tempo di sincronismo
        Questo  proprio HSP.


     piedistallo secondario (HBP)
        Questo  proprio HGT2.




  10.2.  Sincronismo verticale


  Tornando alla figura precedente, come mettiamo i 247 impulsi di clock
  secondo quanto mostrato nel disegno?

  Usando il nostro esempio, HR  944 e HFL  1176. La differenza fra i
  due  1176 - 944=232 < 247! Ovviamente dobbiamo mettere un po' le cose
  a posto qui.  Cosa possiamo fare?

  La prima cosa  aumentare 1176 a 1184, e diminuire 944 a 936.  Adesso
  la differenza = 1184-936= 248. Hmm, pi vicino.

  Poi, invece di usare 3.8, usiamo 3.5 per calcolare HSP; quindi,
  abbiamo 65*3.5=227.  Sembra meglio. Ma 248 non  molto pi grande di
  227. Normalmente servono 30 impulsi o gi di l fra HR e l'inizio di
  SP, e lo stesso fra la fine di SP e HFL. E DEVONO essere multipli di
  otto! Siamo bloccati?

  No. Facciamo cos, 936 % 8 = 0, (936 + 32) % 8 = 0 anche. Ma 936 + 32
  = 968, 968 + 227 = 1195, 1195 + 32 = 1227. Hmm... questo non  male.
  Ma non  un multiplo di 8, cos lo arrotondiamo a 1232.

  Ma ora abbiamo un problema potenziale, l'impulso di sincronismo non 
  pi messo in mezzo fra h e H. Tranquillamente, usando la nostra
  calcolatrice troviamo che 1232 - 32 = 1200  anche lui un multiplo di
  8 e (1232 - 32) - 968 = 232 che corrisponde ad usare un impulso di
  sincronismo di 3.57 microsecondi, ancora ragionevole.

  In pi, 936/1232   0.76 o 76%, che non  lontano dall'80%, cos
  dovrebbe essere tutto a posto.

  Inoltre, usando l'attuale lunghezza di quadro orizzontale, noi in
  pratica chiediamo al nostro monitor di sincronizzarsi a 52.7khz (=
  65Mhz/1232) che  nelle sue capacit. Nessun problema.

  Usando le regole che abbiamo summenzionato, 936*75%=702, questa  la
  nostra nuova risoluzione verticale. 702 * 1.05 = 737, la nostra nuova
  altezza di quadro.

  La frequenza di refresh dello schermo = 65Mhz/(737*1232)=71.6 Hz.
  Questo  ancora eccellente.

  Disegnare il layout dell'impulso di sincronismo verticale  simile:


     |___ __ __ __ __ __ __ __ __ __ __ __ __
     |_ _ _ _ _ _ _ _ _ _ _ _                |
     |_______________________|_______________|_____
     0                      VR              VFL     unit: impulsi
                             ^   ^       ^
                             |   |       |
                             |<->|<----->|
                              VGT    VSP



  Facciamo partire l'impulso di sincronismo appena passata la fine degli
  impulsi di dati video verticali. VGT  il tempo di guardia verticale
  richiesto per l'impulso. La maggior parte dei monitor funzionano bene
  con un VGT di 0 (nessun tempo di guardia) e noi useremo questo valore
  nel nostro esempio.  Pochi monitor abbisognano di due o tre impulsi di
  tempo di guardia, e di solito non fa male aggiungerli.

  Tornando all'esempio: dal momento che per definizione della lunghezza
  di quadro, un impulso verticale  il tempo per tracciare un intera
  riga ORIZZONTALE, nel nostro esempio, questa sar 1232/65Mhz=18.95us.

  L'esperienza insegna che un impulso di sincronismo verticale dovrebbe
  rientrare nella gamma fra 50us e 300us. Come esempio usiamo 150us, che
  si traduce in 8 impulsi di clock verticale (150us/18.95us 8).

  Alcuni fabbricanti preferiscono dare i loro parametri di quadro
  verticale come temporizzazioni piuttosto che ampiezza di punti.
  Potrete vedere i seguenti valori:


     tempo attivo (VAT)
        Corrisponde a VR, ma in millisecondi.  VAT * VSF = VR.

     tempo di oscuramento (VBT)
        Corrisponde a (VFL - VR), ma in millisecondi.  VBT * VSF = (VFL
        - VR).

     piedistallo frontale (VFP)
        Questo  proprio VGT.

     sincronismo
        Questo  proprio VSP.

     piedistallo secondario (VBP)
        Questo  come un secondo tempo di guardia dopo l'impulso di
        sincronismo verticale. Spesso  zero.


  11.  Riassumendo


  Il file Xconfig "Table of Video Modes" contiene righe di numeri,
  essendo ogni riga una completa specificazione di una modalit di
  operazione X-server. I campi sono raggruppati in quattro sezioni, la
  sezione del nome, la sezione della frequenza di clock, la sezione
  orizzontale, e la sezione verticale.

  La sezione del nome contiene un campo, il nome della modalit video
  specificata nel resto della riga. Questo nome  riferito nella riga
  "Modes" della sezione Graphics Driver Setup nel file Xconfig. Il campo
  nome pu essere omesso se il nome di una riga precedente  lo stesso.

  La sezione della frequenza di clock contiene solo il campo della
  frequenza (che noi abbiamo chiamato DCF) della riga modalit video. Il
  valore di questo campo specifica quale dot clock  stato usato per
  generare i numeri delle sezioni seguenti.

  La sezione orizzontale consiste di quattro campi che specificano come
  ciascuna linea orizzontale deve essere generata. Il primo campo della
  sezione contiene il numero di punti per linea che saranno accesi per
  formare l'immagine (da noi chiamati HR). Il secondo campo (SH1) indica
  in quale punto partir l'impulso di sincronismo orizzontale. Il terzo
  campo (SH2) indica a quale punto finir l'impulso di sincronismo
  orizzontale. Il quarto campo specifica la larghezza totale del quadro
  (HFL).

  Anche la sezione verticale contiene quattro campi. Il primo campo
  contiene il numero di linee visibili che appariranno sullo schermo
  (VR). Il secondo campo (SV1) indica a quale linea partir l'impulso di
  sincronismo verticale. Il terzo campo (SV2) specifica a quale linea
  finir l'impulso verticale di sincronismo.  Il quarto campo contiene
  il totale dell'altezza del quadro (VFL).

  Esempio:

       #Nome Mod.    clock  temporiz. oriz.   temporiz. vert.

       "752x564"     40    752 784  944 1088  564 567 569 611
                     44.5  752 792  976 1240  564 567 570 600




  (Nota: X11R5 non supporta i dot clocks frazionari.)

  Per Xconfig, tutti i numeri che abbiamo appena menzionato - il numero
  dei punti accesi sulla riga, il numero dei punti che separano i punti
  accesi dall'inizio dell'impulso di sincronismo, il numero dei punti
  che rappresentano la durata dell'impulso, e il numero di punti dopo la
  fine dell'impulso di sincronismo - sono sommati per produrre il numero
  di punti per riga. Il numero di punti orizzontali deve sempre essere
  divisibile per otto.

  Esempio di numeri orizzontali: 800 864 1024 1088

  Questa linea d'esempio ha il numero di punti accesi (800) seguito dal
  numero del punto da dove parte l'impulso di sincronismo (864), seguito
  dal numero del punto quando lo stesso impulso termina (1024), seguito
  dal numero dell'ultimo punto sulla riga (1088).

  Notate di nuovo che tutti i valori dei numeri orizzontali (800, 864,
  1024, e 1088) sono divisibili per otto! Ci non  richiesto per i
  valori verticali.

  Il numero di righe dall'alto in basso formano il quadro. Il segnale di
  temporizzazione base per un quadro  la riga. Un certo numero di righe
  formeranno l'immagine. Dopo che l'ultima riga accesa  stata
  disegnata, ci sar un ritardo di un certo numero di righe prima che
  sia generato l'impulso di sincronismo verticale. Quindi l'impulso di
  sincronismo durer per un po' di righe, e finalmente saranno generate
  le ultime righe del quadro, cio il ritardo necessario dopo l'impulso.
  I valori che specificano questa modalit d'operazione sono immessi in
  una maniera simile al seguente esempio.

  Esempio di valori verticali: 600 603 609 630

  Questo esempio mostra che ci sono 600 righe visibili sullo schermo,
  che l'impulso di sincronismo verticale parte alla 603esima riga e
  termina alla 609esima, e che sono usate un totale di 630 righe.

  Notate che i valori verticali non devono essere divisibili per otto!

  Torniamo all'esempio dove stavamo lavorando. Secondo quanto detto
  prima, tutto quello che dobbiamo fare da adesso in poi  di scrivere i
  nostri risultati in Xconfig in questo modo:


        <nome>   DCF     HR  SH1 SH2  HFL   VR  SV1 SV2 VFL




  dove SH1  il punto di partenza dell'impulso di sincronismo orizzon
  tale e SH2  l'ultimo; similmente, SV1  il punto di partenza
  dell'impulso di sincronismo verticale e SV2  l'ultimo.

  Per inserire questi, ricordate il discorso sulla magia nera e gli
  impulsi di sincronismo che  stato fatto precedentemente.  SH1  il
  punto dove inizia l'impulso di sincronismo orizzontale; quindi, SH1 =
  HR + HGT1.  SH2  l'estremo opposto; quindi,  SH2 = SH1 + HSP.
  Similarmente, SV1 = VR + VGT (ma VGT di solito  zero)  e SV2 = SV1 +
  VSP.



       #nome    clock   temporiz.  oriz.    temporiz. vert.    flag
       936x702  65      936 968 1200 1232   702 702 710 737




  Non  necessario alcun flag; questa non  una modalit interlacciata.
  Ora siamo proprio a posto.


  12.  Sovraccaricare il Vostro Monitor


  Non dovreste assolutamente superare le specifiche di scansione del
  monitor se questo  un tipo a frequenza fissa. Potreste far fumare il
  vostro hardware!  Superare le specifiche di un monitor multisincrono
  crea dei subdoli problemi potenziali che dovreste evitare.

  Al contrario, avere un pixel-clock pi alto della massima larghezza di
  banda del monitor  abbastanza innocuo. (Nota: il limite teorico delle
  capacit  raggiunto quando il pixel-clock raggiunge il doppio della
  larghezza di banda del monitor. Questa  una applicazione diretta del
  Teorema di Nyquist: immaginate i pixel come una serie di prove dei
  segnali guida distribuita nello spazio e capirete perch.)

   problematico eccedere la frequenza massima di sincronismo. Alcuni
  monitor moderni possono avere dei circuiti di protezione che spengono
  il monitor a frequenze di scansione pericolose, ma non fateci
  affidamento. In particolare ci sono monitor multisinc pi vecchi (come
  il Multisync II) che usano solo un trasformatore orizzontale. Questi
  monitor non hanno molta protezione contro il sovraccarico. Mentre
  avrete sicuramente un circuito di regolazione dell'alto voltaggio (che
  pu essere assente nei monitor a frequenza fissa), questo non
  necessariamente coprir ogni gamma di frequenza possibile, specie nei
  modelli pi economici. Questo non solo implica un maggior carico sul
  circuito, ma causa anche un invecchiamento precoce dei fosfori dello
  schermo, ed ulteriori emissioni di radiazioni dallo schermo (inclusi i
  raggi X).

  Un altro punto da considerare sulla larghezza di banda  che
  l'impedenza in entrata del monitor  specificata solo per quella data
  gamma di frequenze, e usarne di pi alte pu probabilmente causare
  minori interferenze sullo schermo, e disturbi radio.

  Comunque, la problematica fondamentale in questione  lo slew rate (la
  pendenza dei segnali video) dei driver per l'output del video, e
  questo  di solito indipendente dalla frequenza dei pixel, ma (se il
  costruttore della vostra scheda video ci tiene a questi problemi) in
  relazione alla massima frequenza dei pixel della scheda.

  Quindi state attenti l fuori...


  13.  Usare le Modalit Interlacciate


  (Questa sezione  in gran parte merito di David Kastrup
  <dak@pool.informatik.rwth-aachen.de>)

  Ad un dato clock fisso, uno schermo interlacciato avr molto meno
  sfarfallio di uno non-interlacciato, se il circuito verticale del
  vostro monitor lo supporta stabilmente.  principalmente a causa di
  ci che furono inventate le modalit interlacciate.

  Le modalit interlacciate hanno una cattiva reputazione perch sono
  inferiori alle loro compagne non-interlacciate alla stessa frequenza
  di scansione verticale, VSF (quello che di solito viene specificato
  nelle pubblicit). Ma sono assolutamente superiori alla stessa
  frequenza di scansione orizzontale, ed  qui che di solito le
  caratteristiche decisive del vostro monitor/scheda video dicono le
  bugie.

  Ad una frequenza di refresh fissa (o mezzo quadro, o VSF) il display
  interlacciato sfarfaller di pi: un display interlacciato a 90Hz sar
  inferiore ad un display non-interlacciato a 90Hz. Per avr bisogno di
  met larghezza di banda video e met frequenza di scansione
  orizzontale. Se lo comparate ad una modalit non-interlacciata con lo
  stesso dot clock e le stesse frequenze di scansione, sar enormemente
  superiore: 45Hz non-interlacciati sono intollerabili. Con 90Hz
  interlacciati, io ho lavorato per anni con il mio Multisync 3D (a
  1024x768) ed in modo molto soddisfacente.  Penso che vi servir al
  massimo uno schermo a 70Hz non-interlacciati per lo stesso comfort.

  Dovete stare attenti ad alcuni punti, comunque: usate modalit
  interlacciate solo ad alte risoluzioni, cos che le righe accese
  alternate siano pi vicine. Vorrete provare varie larghezze e
  posizioni dell'impulso di sincronismo per ottenere le posizioni di
  riga pi stabili. Se le linee alternate sono chiare e scure,
  l'interlacciamento vi salter agli occhi. Ho una applicazione che
  sceglie tali valori per uno sfondo (XCept, nessun'altra applicazione
  lo fa che io sappia, fortunatamente). Io passo a 800x600 usando XCept
  perch altrimenti mi fanno proprio male gli occhi.

  Per lo stesso motivo, usate i font di minimo 100dpi, o altri font che
  abbiano le stanghette orizzontali spesse minimo due righe (per le alte
  risoluzioni, nient'altro avrebbe comunque senso).

  E naturalmente, non usate mai la modalit interlacciata quando il
  vostro hardware ne supporterebbe una non-interlacciata con la stessa
  frequenza di refresh.

  Se, comunque, pensate che per qualche risoluzione state spingendo o il
  monitor o la scheda video al massimo delle loro capacit, e ottenete
  sfarfallio o perdita di nitidezza (eccesso di larghezza di banda),
  potete provare la stessa risoluzione usando una modalit
  interlacciata. Chiaramente ci non serve a nulla se il VSF del monitor
   gi vicino ai suoi limiti.

  Scrivere modalit interlacciate  facile: fatelo come se fossero non-
  interlacciate. Sono necessarie solo due considerazioni in pi: vi
  servono un numero totale pari di righe verticali (l'ultima cifra nel
  mode line), e quando specificate il flag "Interlace", la frequenza
  verticale di quadro raddoppia. Il vostro monitor deve supportare una
  frequenza di 90Hz se la modalit che avete specificato risulta di 45Hz
  senza il flag "Interlace".

  Come esempio, ecco la mia modeline per 1024x768 interlacciati: il mio
  Multisync 3D supporta fino a 90Hz verticali e 38kHz orizzontali.



       ModeLine "1024x768" 45 1024 1048 1208 1248 768 768 776 807 Interlace




  Entrambi i limiti sono abbastanza sfruttati con questa modalit.
  Specificando la stessa modalit, ma senza il flag "Interlace", si 
  ancora quasi al limite della capacit orizzontale del monitor (e per
  dirla tutta, un po' sotto al minimo della frequenza di scansione
  verticale), ma ci produce uno schermo intollerabilmente sfarfallante.

  Regole basilari di programmazione: se avete scritto una modalit a
  meno della met della capacit verticale del monitor, rendete pari il
  numero totale delle linee ed aggiungete il flag "Interlace". La
  qualit dell'immagine dovrebbe aumentare di molto nella maggioranza
  dei casi.

  Se avete una modalit non-interlacciata che in qualche modo sfrutta al
  limite le specifiche del monitor dove la frequenza di scansione
  verticale giace a circa il 30% o pi sotto al massimo del monitor,
  scrivere a mano una modalit interlacciata (probabilmente con una pi
  alta risoluzione) potrebbe portare a risultati superiori, ma non ci
  giurerei.



  14.  Domande e Risposte


  D. L'esempio che avete fatto  per un formato non standard dello
  schermo, lo posso usare?

  R. Perch no? NON ci sono ragioni di usare 640x480, 800x600, o anche
  1024x768. I server XFree86 vi lasciano configurare il vostro hardware
  molto liberamente. Di solito ci vogliono due o tre prove prima di
  arrivare alla scelta giusta. La cosa importante da raggiungere  un
  alta frequenza di refresh con un'area visibile ragionevole. Non alta
  risoluzione al prezzo di sfarfallio scassa-occhi!

  D.  la sola risoluzione possibile quella data di 65Mhz dot clock e
  55Khz HSF?

  R. Assolutamente no! Siete incoraggiati a seguire la procedura
  generica e fare un po' di prova-e-sbaglia fino ad arrivare ad una
  configurazione che vi soddisfi. Sperimentare cos pu essere molto
  divertente. Molte configurazioni vi possono dare solo schermi
  sgangherati, ma in pratica i moderni monitor multi-sync non sono
  facilmente danneggiabili. Assicuratevi comunque che il vostro monitor
  possa supportare le frequenze di quadro che avete scelto prima di
  usarlo per periodi pi lunghi.

  State attenti ai monitor a frequenza fissa! Questo genere di
  sperimentazioni li pu velocemente danneggiare. Assicuratevi di usare
  frequenze di refresh valide per qualsiasi esperimento su di essi.

  D. Tu hai appena nominato due risoluzioni standard. In Xconfig, sono
  disponibili molte risoluzioni standard, mi puoi dire a che serve
  sperimentare con le temporizzazioni?

  R. Certamente! Prendi, ad esempio, lo "standard" 640x480 presente
  nell'attuale Xconfig. Usa 25Mhz di frequenza pilota, lunghezze di
  quadro di 800 e 525 => frequenza di refresh   59.5Hz. Non male. Ma
  28Mhz  una frequenza pilota comune a molte schede SVGA. Se noi la
  usiamo per pilotare 640x480, seguendo le procedure prima discusse,
  otterremmo lunghezze di quadro tipo 812 e 505. Ora la frequenza di
  refresh  aumentata a 68Hz, un miglioramento abbastanza significativo
  rispetto allo standard.

  D. Puoi riassumere quello che si  detto fino ad ora?

  R. In breve:


  1. per ogni frequenza pilota fissa, aumentare la risoluzione massima
     ci penalizza nell'abbassare la frequenza di refresh e producendo
     cos pi sfarfallio.

  2. se serve un'alta risoluzione e il tuo monitor la supporta, cerca di
     procurarti una scheda SVGA che abbia un uguale dot clock o DCF. Pi
     sono elevati, meglio !


  15.  Risolvere Problemi con l'Immagine


  OK, cos avete i vostri valori di configurazione X. Li mettete in
  Xconfig con una etichetta di modalit test. Fate partire X, con la
  combinazione di tasti andate nella nuova modalit, ... e l'immagine
  non va bene. Che fate? Ecco una lista di comuni distorsioni
  dell'immagine e come risolverle.

  (Eliminare questi difetti minori  la specialit di xvidtune(1).)

  Spostate l'immagine cambiando la temporizzazione dell'impulso di
  sincronismo.  La scalate cambiando la lunghezza del quadro (dovete
  cambiare l'impulso di sincronismo per mantenere la stessa posizione
  relativa, altrimenti cambiarne la grandezza sposter l'immagine). Ecco
  alcune ricette pi specifiche:

  Le posizioni orizzontali e verticali sono indipendenti. Cio, spostare
  l'immagine orizzontalmente non incide sulla sua posizione verticale, o
  viceversa. Per lo stesso non vale sempre per l'ingrandimento o
  rimpicciolimento. Mentre cambiare la larghezza non ha nulla a che
  vedere con l'altezza o viceversa, cambiare entrambe pu avere dei
  limiti. In particolare, se l'immagine  troppo larga in entrambe le
  dimensioni voi probabilmente dovete andare a pi alti dot clock per
  aggiustare le cose. Dal momento che questo alza la risoluzione, 
  spesso un problema!


  15.1.  L'immagine  troppo a destra o troppo a sinistra


  Per aggiustare questo, cambiate l'impulso di sincronismo orizzontale.
  Ovvero, aumentate o diminuite (a multipli di 8) i due numeri in mezzo
  nella sezione della temporizzazione orizzontale che definiscono i
  limiti di partenza e fine dell'impulso di sincronismo orizzontale.

  Se l'immagine  spostata a sinistra (bordo destro troppo largo, voi
  volete muovere l'immagine a destra) diminuite i valori. Se l'immagine
   spostata a destra (bordo sinistro troppo largo, volete spostare
  l'immagine a sinistra) incrementate l'impulso di sincronismo.


  15.2.  L'immagine  troppo su o troppo gi


  Per aggiustare questo, cambiate l'impulso di sincronismo verticale.
  Cio, incrementate o diminuite i due valori mediani della sezione di
  temporizzazione verticale che definiscono i limiti di partenza e fine
  dell'impulso di sincronismo verticale.

  Se l'immagine  spostata su (bordo in basso troppo largo, volete
  spostare l'immagine in gi) diminuite i valori. Se l'immagine 
  spostata in gi (bordo in alto troppo largo, volete spostare
  l'immagine in su) incrementate i valori.



  15.3.  L'immagine  troppo larga sia orizzontalmente che verticalmente


  Passate ad una pi alta velocit di clock della scheda. Se avete pi
  modalit nel file di clock, forse  stata attivata per errore una
  modalit a velocit inferiore.


  15.4.  L'immagine  troppo larga (troppo stretta) orizzontalmente


  Per rimediare a questo, aumentate (diminuite) la lunghezza di quadro
  orizzontale.  Ovvero, cambiate il quarto valore nella prima sezione di
  temporizzazione. Per evitare di muovere l'immagine, cambiate anche
  l'impulso di sincronismo (secondo e terzo numero) della met, per
  mantenerla nella stessa posizione relativa.


  15.5.  L'immagine  troppo alta (troppo bassa) verticalmente


  Per rimediare, aumentate (diminuite) la lunghezza del quadro. Cio
  cambiate il quarto numero nella seconda sezione di temporizzazione.
  Per evitare di spostare l'immagine, cambiate anche l'impulso di
  sincronismo (il secondo e terzo numero) della met, per mantenerla
  nella stessa posizione relativa.

  Qualsiasi altra distorsione che non pu essere risolta dalla
  combinazione di queste tecniche  probabilmente sintomo di qualcosa di
  profondamente sbagliato, tipo un errore di calcolo o un dot clock pi
  veloce di quello che pu reggere il monitor.

  In ultimo, ricordate che aumentare la lunghezza del quadro diminuir
  la frequenza di refresh, e viceversa.


  16.  Tracciare le Capacit del Monitor


  Per tracciare un diagramma della modalit del monitor, vi serve il
  pacchetto gnuplot (un linguaggio di disegno freeware per sistemi
  operativi UNIX-compatibili) e il tool modeplot, uno script di
  shell/gnuplot per tracciare il diagramma delle caratteristiche del
  vostro monitor, digitate come opzioni a linea di comando.

  Ecco una copia di modeplot:




















  #!/bin/sh
  #
  # modeplot -- genera un grafico X mode delle modalit disponibili con il
  #             proprio monitor
  #
  # Dare `modeplot -?' per vedere le opzioni di controllo.
  #
  # ($Id: video-modes.sgml,v 1.7 1999/01/18 13:24:58 esr Exp $)

  # Descrizione del monitor. Larghezza di banda in MHz, frequenze orizzontali
  # in kHz e frequenze verticali in Hz.
  TITLE="Viewsonic 21PS"
  BANDWIDTH=185
  MINHSF=31
  MAXHSF=85
  MINVSF=50
  MAXVSF=160
  ASPECT="4/3"
  vesa=72.5       # minima frequenza di refresh raccomandata da VESA

  while [ "$1" != "" ]
  do
          case $1 in
          -t) TITLE="$2"; shift;;
          -b) BANDWIDTH="$2"; shift;;
          -h) MINHSF="$2" MAXHSF="$3"; shift; shift;;
          -v) MINVSF="$2" MAXVSF="$3"; shift; shift;;
          -a) ASPECT="$2"; shift;;
          -g) GNUOPTS="$2"; shift;;
          -?) cat <<EOF
  modeplot control switches:

  -t "<description>"  nome del monitor           default: "Viewsonic21PS"
  -b <nn>                 largh.di banda in MHz      default: 185
  -h <min> <max>          min & max HSF (kHz)        default: 31 85
  -v <min> <max>          min & max VSF (Hz)         default: 50 160
  -a <aspect ratio>       aspect ratio               default: 4/3
  -g "<options>"      opzioni passate a gnuplot

  Le opzioni -b, -h e -v sono obbligatorie, -a, -t, -g opzionali. Potete usare
  -g per passare un tipo di device a gnuplot cos che (per esempio) l'output di
  modeplot pu essere rediretto ad una stampante. Vedi gnuplot(1) per dettagli.

  Il tool modeplot  stato creato da Eric S. Raymond <esr@thyrsus.com> basato
  su analisi e codice di Martin Lottermoser <Martin.Lottermoser@mch.sni.de>

  Questo  modeplot $Revision: 1.7 $
  EOF
                  exit;;
          esac
          shift
  done

  gnuplot $GNUOPTS <<EOF
  set title "$TITLE Mode Plot"

  # Numeri magici.  Sfortunatamente, il grafico  abbastanza sensibile a
  # modifiche, e potrebbe fallire nel rappresentare la realt di alcuni
  # monitor.  Dobbiamo correggere questi valori per ottenere una
  # approssimazione del diagramma dei modi. Questi sono ricavati analizzando
  # molti valori nel database ModeDB.
  F1 = 1.30       # moltiplicatore per convertire la risoluzione orizzontale
                  # in larghezza di quadro
  F2 = 1.05       # moltiplicatore per convertire la risoluzione verticale
                  # in altezza di quadro

  # Definizione delle funzioni (moltiplicando per 1.0 si forza
  # l'aritmetica a numeri reali)
  ac = (1.0*$ASPECT)*F1/F2
  refresh(hsync, dcf) = ac * (hsync**2)/(1.0*dcf)
  dotclock(hsync, rr) = ac * (hsync**2)/(1.0*rr)
  resolution(hv, dcf) = dcf * (10**6)/(hv * F1 * F2)

  # Mette delle etichette sugli assi
  set xlabel 'DCF (MHz)'
  set ylabel 'RR (Hz)' 6  # La mette proprio sopra l'asse y

  # Genera il diagramma
  set grid
  set label "VB" at $BANDWIDTH+1, ($MAXVSF + $MINVSF) / 2 left
  set arrow from $BANDWIDTH, $MINVSF to $BANDWIDTH, $MAXVSF nohead
  set label "max VSF" at 1, $MAXVSF-1.5
  set arrow from 0, $MAXVSF to $BANDWIDTH, $MAXVSF nohead
  set label "min VSF" at 1, $MINVSF-1.5
  set arrow from 0, $MINVSF to $BANDWIDTH, $MINVSF nohead
  set label "min HSF" at dotclock($MINHSF, $MAXVSF+17), $MAXVSF + 17 right
  set label "max HSF" at dotclock($MAXHSF, $MAXVSF+17), $MAXVSF + 17 right
  set label "VESA $vesa" at 1, $vesa-1.5
  set arrow from 0, $vesa to $BANDWIDTH, $vesa nohead # style -1
  plot [dcf=0:1.1*$BANDWIDTH] [$MINVSF-10:$MAXVSF+20] \
    refresh($MINHSF, dcf) notitle with lines 1, \
    refresh($MAXHSF, dcf) notitle with lines 1, \
    resolution(640*480,   dcf) title "640x480  " with points 2, \
    resolution(800*600,   dcf) title "800x600  " with points 3, \
    resolution(1024*768,  dcf) title "1024x768 " with points 4, \
    resolution(1280*1024, dcf) title "1280x1024" with points 5, \
    resolution(1600*1280, dcf) title "1600x1200" with points 6

  pause 9999
  EOF



  Una volta che avete a posto modeplot e il package gnuplot, vi servono
  le seguenti caratteristiche del monitor:


    larghezza di banda video (VB)

    gamma delle frequenze di sincronismo orizzontale (HSF)

    gamma delle frequenze di sincronismo verticale (VSF)

  Il programma plot deve fare delle semplificazioni che non sono
  tecnicamente corrette. Questo  il motivo per cui il diagramma che ne
  risulta ne  solo una rozza descrizione. Queste semplificazioni sono:


  1. Tutte le risoluzioni hanno una singola frequenza fissa di aspetto
     AR = HR/VR.  Risoluzioni standard hanno AR = 4/3 o AR = 5/4. I
     programmi modeplot assumono 4/3 di default, ma si pu non tenerne
     conto.

  2. Per le modalit considerate, lunghezze e larghezze di quadro sono
     multipli fissi di risoluzioni orizzontali e verticali,
     rispettivamente:



               HFL = F1 * HR
               VFL = F2 * VR

  Come linea guida, prendete F1 = 1.30 and F2 = 1.05 (vedi ``''
  "Calcolare le grandezze di quadro").

  Ora prendete una particolare frequenza di sincronismo, HSF. Dato
  l'assunto prima presentato, ogni valore di clock DCF gi determina la
  frequenza di refresh RR, per esempio per ogni valore di HSF c' una
  funzione RR (DCF).  Questo pu essere derivato come segue.

  La frequenza di refresh  uguale al clock diviso per il prodotto della
  grandezza del quadro:



               RR = DCF / (HFL * VFL)          (*)




  D'altra parte, la larghezza di quadro  uguale al clock diviso per la
  frequenza di sincronismo orizzontale:



               HFL = DCF / HSF                 (**)




  VFL pu essere ridotto a HFL secondo i due assunti precedenti:



               VFL = F2 * VR
                   = F2 * (HR / AR)
                   = (F2/F1) * HFL / AR        (***)




  Inserendo (**) e (***) in (*) otteniamo:



               RR = DCF / ((F2/F1) * HFL**2 / AR)
                  = (F1/F2) * AR * DCF * (HSF/DCF)**2
                  = (F1/F2) * AR * HSF**2 / DCF




  Per un HSF fisso, F1, F2 e AR, questo  un iperbole nel nostro
  diagramma.  Disegnando due tali curve per le frequenze di sincronismo
  orizzontale minime e massime noi otteniamo i bordi rimanenti dell'area
  permessa.

  Le righe dritte che attraversano l'area possibile rappresentano
  risoluzioni particolari. Questo  basato su (*) e il secondo assunto:



               RR = DCF / (HFL * VFL) = DCF / (F1 * HR * F2 * VR)





  Disegnando tali linee per tutte le risoluzioni che ci interessano, si
  possono immediatamente leggere le possibili relazioni fra risoluzione,
  frequenza di clock e frequenza di refresh delle quali il monitor 
  capace.  Notate che queste linee non dipendono dalle propriet del
  monitor, ma dipendono dal secondo assunto.

  Il tool modeplot vi offre un modo facile per farlo.  Date modeplot -?
  per vedere le sue opzioni di controllo. Una chiamata tipica  questa:



               modeplot -t "Swan SW617" -b 85 -v 50 90 -h 31 58




  L'opzione -b specifica la larghezza di banda video; -v e -h settano le
  gamme di frequenza di sincronismo orizzontale e verticale.

  Quando leggete l'output di modeplot, tenete sempre a mente che vi d
  solo una descrizione approssimativa. Per esempio, non tiene conto dei
  limiti di un HFL risultante da una minima ampiezza richiesta
  dell'impulso di sincronismo, e pu essere solo accurato quanto lo sono
  gli assunti. Non c' niente di meglio quindi di un calcolo dettagliato
  (compresa un po' di magia nera) come viene presentato in ``Mettere
  Tutto Assieme''.  Comunque, vi dovrebbe dare un miglior feeling per
  quanto possibile e per quanti compromessi si debbano fare.


  17.  Ringraziamenti


  Il padre originale di questo documento  stato Chin Fang
  <fangchin@leland.stanford.edu>.

  Eric S. Raymond <esr@snark.thyrsus.com> ha rielaborato, riorganizzato,
  e massicciamente riscritto l'originale di Chin Fang col proposito di
  capirlo.  In questo processo, ha immesso la maggior parte di un altro
  how-to di Bob Crosson <crosson@cam.nist.gov>.

  Il materiale sulle modalit interlacciate  largamente di David
  Kastrup <dak@pool.informatik.rwth-aachen.de>

  Martin Lottermoser <Martin.Lottermoser@mch.sni.de> ha contribuito
  all'idea di usare gnuplot per fare diagrammi di modalit e ha fatto
  l'analisi matematica che c' dietro modeplot. Il modeplot in
  distribuzione fu ridisegnato e generalizzato da ESR dal codice
  originale di Martin per un caso.