summaryrefslogtreecommitdiff
path: root/debian/trs80faq.html
blob: b1101670dbd279b4523389aab93c2ee60fb5730f (plain)
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
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
<HTML>
<HEAD>
<TITLE>TRS-80 Model I/III/4: Frequently Asked Questions</TITLE>
</HEAD>
<body bgcolor="#fff0f5">

<H2>TRS-80 Model I/III/4: Frequently Asked Questions</H2>

Here are a few frequently asked questions on the Radio Shack TRS-80
Model I, Model III, and Model 4.  These are Z-80 based machines that
were first introduced in 1977.  The three models were partly
compatible with one another, and incompatible with most everything
else.  Today they are of interest only to the nostalgic and a few
folks who have specialized applications that were never ported to
newer machines.  The following are questions that people frequently
ask <i>me</i>; your mileage may vary!
This FAQ is available on the Web through the page
<A HREF=
"http://tim-mann.org/trs80.html"
>http://tim-mann.org/trs80.html</A>.

<pre>
$Id: trs80faq.html,v 1.59 2007/02/21 05:16:37 mann Exp $
</pre>

<HR>
<H2>Contents</H2>

<UL>
<LI><A HREF="#[1]">
    [1] Where can I get TRS-80 software and hardware?
    </A></LI>
<li><a href="#[2]">
    [2] Where can I get information to repair or upgrade my TRS-80?
    </a></li>
<li><a href="#[3]">
    [3] How can I read my TRS-80 floppy disks in a PC?
    </a></li>
<LI><A HREF="#[4]">
    [4] What TRS-80 emulators do you recommend?
    </A></LI> 
<LI><A HREF="#[5]">
    [5] What is a .DSK file?
    </A></LI> 
<LI><A HREF="#[6]">
    [6] How can I convert my real TRS-80 floppy disks to .DSK files?
    </A></LI> 
<LI><A HREF="#[7]">
    [7] How can I convert .DSK files to real TRS-80 floppy disks?
    </A></LI>
<LI><A HREF="#[8]">
    [8] How can I get individual files off a .DSK file or TRS-80
     floppy disk?
    </A></LI> 
<LI><A HREF="#[9]">
    [9] How can I put individual files onto a .DSK file or TRS-80 floppy disk?
    </A></LI>
<li><a href="#[10]">
    [10] What do I do with TRS-80 software that comes in .ZIP files?
    </a></li>
<li><a href="#[11]">
    [11] What are the system file passwords and password back doors
    on TRS-80 operating systems?
    </a></li>
<li><a href="#[12]">
    [12] What problems do PC floppy disk controllers have with TRS-80
    disk formats?  What problems do different TRS-80 models have with each 
    other's disk formats?
    </a></li>
<li><a href="#[13]">
    [13] How can TRSDOS 2.3 be patched to read single-density disks written by 
    a Model III, Model 4, or PC?
    </a></li>
<li><a href="#[14]">
    [14] What are the differences among single, double, quad, and high
    density floppy media?
    </a></li>
<li><a href="#[15]">
    [15] Which PC floppy controllers and drives can handle single density (FM)?
    </a></li>
<li><a href="#[16]">
    [16] What PC add-on cards can handle single density (FM) and
    other unusual formats?
    </a></li>
<li><a href="#[17]">
    [17] How can I add lowercase to a TRS-80 Model I?
    </a></li>
<li><a href="#[18]">
    [18] My Model 4 or 4P has video problems in Model 4 mode, but
    is fine in Model III mode. How can I fix it?
    </a></li>
<li><a href="#[19]">
    [19] I want to add or replace TRS-80 floppy disk drives.
    What's going on with the setup and cabling?
    </a></li>
<li><a href="#[20]">
    [20] What about using high density (1.2MB 5.25-inch or 1.44MB 3.25-inch)
    drives on a TRS-80?
    </a></li>
<li><a href="#[21]">
    [21] What about using low density (360KB 5.25-inch or 720KB 3.25-inch)
    drives on a PC?
    </a></li>
<li><a href="#[22]">
    [22] What are some other good references for detailed information
    about floppy disks and drives?
    </a></li>
<li><a href="#[23]">
    [23] How do I determine what PDRIVE settings to use for a
    NEWDOS/80 disk?
    </a></li>
<li><a href="#[24]">
    [24] How do I make a bootable double-density Model I LDOS 5.3.1 
    system disk from the single-density master disk set?
    </a></li>
<li><a href="#[25]">
    [25] What about using 8-inch drives on a PC?
    </a></li>
<li><a href="#[26]">
    [26] How can I read the back of a disk that was written in a
    flippy drive?
    </a></li>
</UL>

<HR>

<H3><A NAME="[1]">
     [1] Where can I get TRS-80 software and hardware?
</A></H3>

<p>A huge collection of TRS-80 software is available for download
from the TRS-80 Revived Pages, 
<A HREF="http://www.trs-80.com/"
>http://www.trs-80.com/</A>.

<p>Most software from Misosys, Logical Systems, Galactic Software
Ltd., Powersoft, and Breeze/QSD is now available for free download by
permission of the copyright owner, Roy Soltoff (owner of Misosys).
See <a href="http://tim-mann.org/trs80.html"
>http://tim-mann.org/trs80.html</a>.

<p>Computer News 80 has some commercial software and hardware
products, a library of freeware disks, and a small monthly newsletter
that still supports the TRS-80 I/III/4.  You can contact them via the
Web at <a href="http://www.ebaystores.com/computernews80/"
>http://www.ebaystores.com/computernews80/</a>.

<p>M. A. D. Software deals in TRS-80 products.  Among other things,
they have upgrades to the Model 4P ROMs and the MODELA/III file (Model
III ROM image).  Check out their Web site at <a
href="http://madsoft.lonestar.org/" >http://madsoft.lonestar.org/</a>,
or contact them via email at
madcs@madsoft.lonestar.org or via US mail at:

<p><address>
  M. A. D. Software<br>
  P. O. Box 331323<br>
  Fort Worth, TX  76133-1323
</address>

<p>Archive Software is a small venture run by Cord Coslor.
Cord buys and sells used TRS-80 Model I/III/4 software and hardware
(among other things).  Here is his new contact information as of
2-Apr-2001:

<p><address>
  Cord Coslor<br>
  Archive Software<br>
  21939 Hernando Ave.<br>
  Port Charlotte, FL  33952<br>
  (941) 625-1649<br>
  e-mail: ArchiveSoftware@juno.com<br>
  web: <a href="http://www.archivenews.net"
    >www.archivenews.net</a>
</address>

<p>Ian Mavric of Melbourne, Australia runs "The Right Stuff (aka
TRS-80 Oldtimer Centre)".  He deals in both hardware and software.
See his Web page at 
<a href="http://www.netspace.net.au/~ianmav/trs80/"
>http://www.netspace.net.au/~ianmav/trs80/</a>.

<p>There is a page of TRS-80s for sale linked from
<a href="http://www.trs-80.com/">http://www.trs-80.com/</a>.

<p>You can still order some software from Tandy Software Replacement
and/or Radio Shack Unlimited, formerly Radio Shack National Parts.
You can ask at a store or call Radio Shack at 800-843-7422.  I'm told
that you might have to bug people for a while and maybe ask for a
supervisor or someone who's been there longer, before you find someone
who believes this is possible and knows how to do it.  The purpose of
Tandy Software Replacement is to supply replacement disks to people
whose originals have been destroyed, so generally they do not provide
manuals or packaging, and the prices are very low.  They don't
actually seem to care whether you originally owned the software.
Radio Shack Unlimited also stocks (or can make up) full packages of
some software, including manuals.

<p>You can try bidding in the <a href="http://www.ebay.com">eBay</a>
auctions.  Prices tend to be inflated, though.

<hr>
<H3><A NAME="[2]">
     [2] Where can I get information to repair or upgrade my TRS-80?
</A></H3>

<p>More hardware information is starting to appear on the Web these
days.  See the TRS-80 links on my Web page, at <a
href="http://tim-mann.org/trs80links.html"
>http://tim-mann.org/trs80links.html</a>, both the "history and
technical data" and "software and documentation downloads" sections.

<p>You can ask on the newsgroup
<a href="news:comp.sys.tandy">comp.sys.tandy</a>.  This is a good
place for TRS-80 software questions too.  You might also try searching
back postings to the group with <a href="http://dejanews.com/">Deja
News</a>.

<p>Also try the sources given in topic <a href="#[1]">[1]</a> to see
if they carry hardware manuals.  Tandy Software Replacement or Radio
Shack Unlimited are said to be able to photocopy and sell manuals, but
I haven't tried this.

<p>Computer News 80 has a mail-in repair service; see topic <a
href="#[1]">[1]</a>.

<p>Tandy Repair Centers may or may not be able to fix your TRS-80.
There is some danger that they won't know how to find the necessary
parts and information.  They don't see a lot of these machines any more.

<hr>
<H3><A NAME="[3]">
     [3] How can I read my TRS-80 floppy disks in a PC?
</A></H3>

<p>This is a somewhat complex topic, and much of the rest of this FAQ
is devoted to the details.  There are a number of approaches, but I
think the best is to copy the disks to virtual disk image (.DSK)
files, as used by the various TRS-80 emulators; see the next few
topics in this FAQ.  Once you have your data in .DSK format, it
will be much easier to work with.  You can use an emulator to run the
TRS-80 software that is on the disks, get directory listings, examine
or print the data, extract individual files, etc.

<p>Another approach that people sometimes try is to run TRSCROSS.
This is an MS-DOS program for reading and writing TRS-80 diskettes
that directly extracts individual files from the disks, without making
a .DSK image.  It's a very old program that seems to have trouble
working on modern, fast PCs, and it puts your data into a format that
is not directly usable with emulators.  I do not recommend this
approach, but if you really want to try it, TRSCROSS is available from
my <a href="http://tim-mann.org/misosys.html">Misosys software page</a>.

<p>Another approach that doesn't work well is to try to read the disks
in Linux without using an emulator.  The Linux floppy driver is quite
versatile, but (at least as of this writing) no matter how you
configure it, you won't be able to read TRS-80 disks through the
normal open/close/read/write interface that programs like "dd" use.
First, the driver assumes that sector numbering always starts from 1,
but most TRS-80 formats start it from zero.  Second, the driver
assumes that all sectors are written with a normal data address mark,
but most TRS-80 formats write some sectors (usually those on the
directory track) with a different DAM.  The TRS-80 emulator for Linux
(xtrs) talks to the floppy driver using the low-level "raw command"
interface, which lets it get around these problems.

<p>Still another approach is to connect a serial or parallel cable
between your PC and a real TRS-80, and transfer the data over that.
This is a lot slower than reading a floppy, but in some cases you can
be stuck doing it when the other approaches discussed below don't
work.  Jeff Vavasour's Model I emulator includes instructions on how
to do this with a Model I; see topic <a href="#[4]">[4]</a>.  I don't
have any advice beyond that, not having tried this approach myself.

<hr>
<H3><A NAME="[4]">
     [4] What TRS-80 emulators do you recommend?
</A></H3>

<p>Under <b>Linux</b> and other <b>Unix</b>-compatible operating systems, I
recommend the <a href="http://tim-mann.org/xtrs.html" >xtrs</a>
Model I/III/4/4P emulator.  It should work on any version of Unix with
the X Window System, except that its support for physical floppy disk
drives works only under Linux, and sound works only under Linux or
other systems that have OSS-compatible sound drivers.  It is free
software with full source code included.

<p>Under <b>Windows NT/2000/XP/2003</b>, the following TRS-80 emulators are
available.  Due to a limitation of Windows NT family operating
systems, neither one supports physical floppy disk drives, only floppy
images (.DSK files).  They are both quite full featured otherwise.
<ul>
<li>Matthew Reed's new <a
href="http://www.arrowweb.com/mkr/">TRS32</a> emulates Models I, III,
and 4.  The unregistered shareware version can be downloaded for free,
but omits a few features.  The full version costs $69.

<li>Wade Fincher's <a
href="http://asub.arknet.edu/wade/wintrs80.htm">WinTRS-80</a>
emulates Models I, III, 4, and 4P.
It is downloadable free of charge, but source code is not available.
</ul>

<p>The TRS-80 emulators available for <b>MS-DOS</b> or <b>Windows 95/98/ME</b>
<i>do</i> support physical floppy drives.  I don't think any of them run under
Windows NT/2000/XP/2003 at all, however.
<ul>
  <li><a href="http://discover-net.net/~dmkeil/" >David Keil's Model I
       emulator</a>.  The full version can be
       downloaded free of charge, but a $10 contribution is requested
       if you find it useful.
  <li><a href="http://discover-net.net/~dmkeil/" >David Keil's Model III/4/4P
       emulator</a>.  The full version can be
       downloaded free of charge, but a $10 contribution is requested
       if you find it useful.
  <li><a href="http://www.arrowweb.com/mkr/" >Matthew Reed's Model
       I/III emulator</a>.  The unregistered shareware
       version can be downloaded free of charge, but emulates the
       Model I only.  The registered version costs $29.
  <li><a href="http://www.arrowweb.com/mkr/" >Matthew Reed's Model 4
       emulator</a>.  The unregistered shareware version can
       be downloaded free of charge, but omits Model III mode and a
       few other features.  The registered version costs $49.
  <li><a href="http://www.vavasour.ca/jeff/trs80.html"
       >Jeff Vavasour's Model I emulator</a>.  This is now
       downloadable free of charge.
  <li>Jeff Vavasour's Model III/4 emulator</a>.  This is available by
       mail order from <a href="http://www.ebaystores.com/computernews80/"
       >Computer News 80</a>.  The price is $59.95.
</ul>

<hr>
<H3><A NAME="[5]">
     [5] What is a .DSK file?
</A></H3>

<p>A .DSK file is an image of a TRS-80 floppy disk in a file.  They
are used by TRS-80 emulators.

<p>Warning: There are three kinds of .DSK files with different
internal formats, one that originated with Jeff Vavasour's Model I
emulator (JV1), one that originated with his Model III/4 emulator
(JV3), and one that originated with David Keil's emulators (DMK).  Each
one adds support for more TRS-80 disk formats.  Each of Jeff's
emulators works only with the kind of .DSK file that was designed for
it.  Matthew Reed's emulators work with JV1 and JV3
transparently.  David Keil's emulators and <strong>xtrs</strong>
work with all three kinds.

<p>Technical details of the JV1 and JV3 formats are now available from
my Web page, <a
href="http://tim-mann.org/trs80/dskspec.html"
>http://tim-mann.org/trs80/dskspec.html</a>.
Technical details of the DMK format are available from David Keil's
Web page, <a
href="http://discover-net.net/~dmkeil/trs80/trstech.htm#Technical-DMK-disks"
>http://discover-net.net/~dmkeil/trs80/trstech.htm#Technical-DMK-disks</a>.

<hr>
<H3><A NAME="[6]">
     [6] How can I convert my real TRS-80 floppy disks to .DSK files?
</A></H3>

<p>There are several possibilities:

<p>(A) One way is to transfer data over the TRS-80's serial port or
printer port.  That's probably the best way if you have a Model I,
because a stock Model I can read and write only single density, but
many PCs cannot deal with single density (see topic <a
href="#[12]">[12]</a>).  Jeff Vavasour's Model I emulator includes
instructions on how to do this; see topic <a href="#[4]">[4]</a>.

<p>(B) A faster and more convenient way, if you can get it to work, is to
read the disks in a PC with a 5.25-inch floppy drive.  Under MS-DOS or MS
Windows, try Matthew Reed's freeware READDISK program.  See <a
href="http://www.arrowweb.com/mkr/readdisk_doc.html"
>http://www.arrowweb.com/mkr/readdisk_doc.html</a>.

<p>(C)If you have problems with READDISK or you are using
Linux, you can copy the disks with an emulator, as follows.

<ol>
<li>Get a TRS-80 emulator that supports both .DSK files and real floppy
drives.  See topic <a href="#[4]">[4]</a>.  Read the emulator's
instructions and get it running.</li>

<li>Find a PC with a real 5.25-inch floppy drive attached.  In theory, a
40-track DD drive is best if your TRS-80 had 40-track or 35-track
drives, but you can use 80-track HD drives too.  (On a PC, 40-track DD
drives are usually called 180KB or 360KB drives, depending on whether
they are single or double sided.)  The trouble with this theory is
that DD drives may not work with some emulators (see topic
<a href="#[21]">[21]</a>), and if your DD drive
is a pullout from a TRS-80, you may have difficulty cabling and jumpering
it correctly for a PC.</li>

<li>Configure the emulator with an LDOS or other operating system .DSK
file as drive :0, a new, empty .DSK file as drive :1, and the real
drive as drive :2.  If you are using a Model I emulator with LDOS,
note that Model I LDOS comes on two .DSK files, so configure the
emulator with the second one (LDOSXTRA.DSK) as drive :3.  Note:
never try to use drive :3 for a double-sided disk (read or virtual) on
the Model I; a limitation of the Model I hardware (which the emulators
have no choice but to emulate faithfully) makes this fail to work.</li>

<li>Boot the emulated machine.  Model I LDOS requires an extra driver
to deal with double density, so if you are using it, type FDUBL to the
emulator after booting.</li>

<li>Put the floppy into the real drive and copy it to the emulated
drive (.DSK) file.  If you are using LDOS 5.3.1, the command is QFB :2
:1.  On LS-DOS 6.3.1, the command is DISKCOPY :2 :1.  Both those
commands format the floppy automatically.
</li> </ol>

<p>The above instructions assume that the disk is in a format that can
be copied by LDOS.  For TRSDOS 1.3 and NEWDOS/80 disks that LDOS
doesn't understand, you can get a TRSDOS 1.3 or NEWDOS/80 image from
<a href="http://www.trs-80.com" >http://www.trs-80.com</a>, use that
as the operating system in the above procedure, and use appropriate
TRSDOS 1.3 or NEWDOS/80 commands to copy the disk.  Sorry; I can't
help with the details, but see topic <a href="#[23]">[23]</a> for more
help with NEWDOS/80.

<p>(D) For copy-protected disks (or normal disks, actually), you can also
try running one of the many TRS-80 copy utilities on an emulator,
copying from a real PC drive to a .DSK image.  This will work if the
copy utility is compatible with the emulator and the physical disk can
be read by a PC floppy controller.  The procedure is generally similar
to the instructions outlined above, but the details depend on which
copy utility you're using.  I've had good results with SuperUtility
(available from <a href="http://tim-mann.org/misosys.html"
>http://tim-mann.org/misosys.html</a>) running under xtrs, and I
think it runs well under David Keil's emulator too.  If you are using
Model I SuperUtility, be sure to set the emulator to emulate either a
Tandy or Percom double density adapter, not both at once.  The CopyCat
program available from <a href="http://discover-net.net/~dmkeil/"
>David Keil's web site</a> is also handy, as it only copies disks and
is much more automated than SuperUtility.  CopyCat works well under
David Keil's emulator and under xtrs version 4.9 or later.  Other copy
utilities that are sometimes useful include Trakcess and HyperZap,
though HyperZap has problems analyzing real disks when run under an
emulator.

<p>(E) Another method is to buy a Catweasel universal floppy
controller card and copy the disks with it using the cw2dmk program
from my Catweasel Tools.  This method is good for disks that your PC
can't read.  See topic <a href="#[12]">[12]</a> for some reasons why
your PC may not be able to read certain TRS-80 disks.  See topic <a
href="#[16]">[16]</a> and <a
href="http://tim-mann.org/catweasel.html"
>http://tim-mann.org/catweasel.html</a> for more
information on the Catweasel and the tools.

<hr>
<H3><A NAME="[7]">
     [7] How can I convert .DSK files to real TRS-80 floppy disks?
</A></H3>

<p>There are several possibilities:

<p>(A) One way would be to transfer data from your newer computer to a
real TRS-80 through its serial port or printer port.  That may be the
only way if you have a Model I, because a stock Model I can read and
write only single density, but many PCs cannot deal with single
density (see topic <a href="#[12]">[12]</a>).  However, I don't know
of any software for transferring data <i>to</i> the TRS-80 Model I through a
serial or parallel port. (Kermit did exist for the Model 4, and you may
be able to find XMODEM or the like, but I can't help with them.)

<p>(B) A faster and more convenient way, if you can get it to work, is
to write the disks in a PC with a 5.25-inch floppy drive.  If you have Linux
on your PC and your disk is a standard double-density format (40 or 80
tracks, 1 or 2 sides), you can use the programs trsfmt and diskdmp by
Tony Duell, available from
<a href=
"http://tim-mann.org/trs80/trsdsk.tar.gz"
>http://tim-mann.org/trs80/trsdsk.tar.gz</a>.
See the documentation included in the tar file.  If you don't understand
what to do with .tar.gz files, see the next method instead.

<p>(C) A more general way to write TRS-80 floppy disks in a PC with a
5.25-inch floppy drive is to use an emulator.  Suitable emulators are
available for both Linux and DOS or Windows.  Here is a procedure you
can follow.

<ol>
<li>Get a TRS-80 emulator that supports both .DSK files and real
floppy drives.  See topic <a href="#[4]">[4]</a>.  Please don't
say, "But I don't need an emulator, I have a real machine!"  You need
an emulator to run this procedure, and they are nice to have anyway,
so get one.</li>

<li>Get the files working for you in the emulator as .DSK files.  Read
the instructions for the emulator to find out how to do this.</li>

<li>Find a PC with a real 5.25-inch floppy drive attached.  In theory, a
40-track DD drive is best if your TRS-80 had 40-track or 35-track
drives, but you can use 80-track HD drives too.  (On a PC, 40-track DD
drives are usually called 180KB or 360KB drives, depending on whether
they are single or double sided.)  The trouble with this theory is
that DD drives may not work with some emulators, and if your DD drive
is a pullout from a TRS-80, you may have difficulty cabling and jumpering
it correctly for a PC.</li>

<li>Bulk-erase a 5.25-inch floppy, preferably using an AC bulk tape eraser as
sold by Radio Shack and others.  You may be able to omit this step if
you are using a 40-track drive, but it's a good idea to do it anyway.
It is best to use floppies that are rated for double density or quad
density, not high density.  High density floppies may work in a
pinch, but don't expect double density data to stay stable on them for
a long time.</li>

<li>Configure the emulator with an LDOS or other operating system .DSK
file as drive :0, the .DSK file you want to convert as drive :1, and
the real drive as drive :2.  If you are using a Model I emulator with
LDOS, note that Model I LDOS comes on two .DSK files, so configure the
emulator with the second one (LDOSXTRA.DSK) as drive :3.  Note:
never try to use drive :3 for a double-sided disk (read or virtual) on
the Model I; a limitation of the Model I hardware (which the emulators
have no choice but to emulate faithfully) makes this fail to work.</li>

<li>Boot the emulated machine.  Model I LDOS requires an extra driver
to deal with double density, so if you are using it, type FDUBL to the
emulator after booting.</li>

<li>Put the floppy into the real drive and copy the emulated drive
(.DSK) file to it.  If you are using LDOS 5.3.1, the command is QFB :1
:2.  On LS-DOS 6.3.1, the command is DISKCOPY :1 :2.  Both those
commands format the floppy automatically.
</li> </ol>

<p>The above instructions assume that the disk is in a format that can
be copied by LDOS.  For TRSDOS 1.3 and NEWDOS/80 disks that LDOS
doesn't understand, you can get a TRSDOS 1.3 or NEWDOS/80 image from
<a href="http://www.trs-80.com" >http://www.trs-80.com</a>, use that
as the operating system in the above procedure, and use appropriate
TRSDOS 1.3 or NEWDOS/80 commands to copy the disk.  Sorry; I can't
help with the details, but see topic <a href="#[23]">[23]</a> for more
help with NEWDOS/80.

<p>(D) For copy-protected disks (or normal disks, actually), you can also
try running one of the many TRS-80 copy utilities on an emulator,
copying from a .DSK image to a real PC disk drive.  This will work if the
copy utility is compatible with the emulator and the physical disk format
can be written by your PC floppy controller.
The procedure is generally similar
to the instructions outlined above, but the details depend on which
copy utility you're using.  I've had good results with SuperUtility
(available from <a href="http://tim-mann.org/misosys.html"
>http://tim-mann.org/misosys.html</a>) running under xtrs, and I
think it runs well under David Keil's emulator too.  If you are using
Model I SuperUtility, be sure to set the emulator to emulate either a
Tandy or Percom double density adapter, not both at once.  The CopyCat
program available from <a href="http://discover-net.net/~dmkeil/"
>David Keil's web site</a> is also handy, as it only copies disks and
is much more automated than SuperUtility.  CopyCat works well under
David Keil's emulator and under xtrs version 4.9 or later.  Other copy
utilities that are sometimes useful include Trakcess and HyperZap.

<p>(E) Another method is to buy a Catweasel universal floppy
controller card and copy the disks with it using the dmk2cw program
from my Catweasel Tools.  This method is good
for disk formats that your PC can't write.  See topic <a
href="#[12]">[12]</a> for some reasons why your PC may not be able to
write certain kinds of TRS-80 disks.  See topic <a
href="#[16]">[16]</a> and <a
href="http://tim-mann.org/catweasel.html"
>http://tim-mann.org/catweasel.html</a> for more
information on the Catweasel and the tools.

<p>(F) If you need a copy of LS-DOS 6.3.1 on a real floppy and have no
other way to do it, M. A. D. Software will make a diskette for you for
$7.50 US plus shipping.  Paper documentation is included.  You can
request a single-sided or double-sided floppy.  This service was
announced on 19 January 1998.  See topic <a href="#[1]">[1]</a> for
contact information.

<hr>
<H3><A NAME="[8]">
     [8] How can I get individual files off a .DSK file or TRS-80
     floppy disk?
</A></H3>

<p>Most of the TRS-80 emulators have programs for doing this.  Read
the instructions for your emulator to find out how to use them.
Sometimes the program runs on the emulated Z-80 (a /CMD file); other
times it runs on the host operating system (an .EXE file).

<p>Under Jeff Vavasour's Model I emulator, the relevant program is
VREAD.EXE.  Under Jeff's Model III/4 emulator, it is EXPORT/CMD.
Under Matthew Reed's emulators, the program is TRSREAD.EXE and is
available only with registration.  Under xtrs and David Keil's
emulators, the program is called EXPORT/CMD (not the same program as
Jeff's).

<hr>
<H3><A NAME="[9]">
     [9] How can I put individual files onto a .DSK
     file or TRS-80 floppy disk?
</A></H3>

<p>Most of the TRS-80 emulators have programs for doing this.  Read
the instructions for your emulator to find out how to use them.
Sometimes the program runs on the emulated Z-80 (a /CMD file); other
times it runs on the host operating system (an .EXE file).

<p>Under Jeff Vavasour's Model I emulator, the relevant program is
VWRITE.EXE.  Under Jeff's Model III/4 emulator, it is IMPORT/CMD.
Under Matthew Reed's Model I/III emulator, the program is TRSWRITE.EXE
and is available only with the registered version.  Under xtrs and
David Keil's emulators, the program is called IMPORT/CMD (not the same
program as Jeff's).

<hr>
<H3><A NAME="[10]">
     [10] What do I do with TRS-80 software that comes in .ZIP files?
</A></H3>

<p>Some TRS-80 software you will find on the Web is supplied in .ZIP
archive files.  You need to unzip these files to unpack their
contents.  There actually are unzip programs that run on a TRS-80, but
they're slow and may not support all the compression types used by
modern zip programs.  So you'll generally want to unzip these archives
on on your PC or Unix box.  You can get free unzip programs from <a
href="http://www.info-zip.org/pub/infozip/"
>http://www.info-zip.org/pub/infozip/</a>.

<p>Within some .ZIP archives is a .DSK file.  This is an emulated
floppy disk file. See topic <a href="#[5]">[5]</a> and the rest of
this FAQ for instructions on how to deal with .DSK files.

<p>Other .ZIP archives contain individual files extracted from TRS-80
disks.  You can use these with an emulated (or real) TRS-80 by copying
the files onto a .DSK file or a real floppy.  See topic <a
href="#[9]">[9]</a> for instructions.

<p>Some .ZIP archives of TRS-80 software may contain both a .DSK 
and the individual files extracted from it.  This is perhaps the most
convenient form, but obviously takes up twice as much space as either
of the others.

<hr>
<H3><A NAME="[11]">
    [11] What are the system file passwords and password back doors
    on TRS-80 operating systems?
</A></H3>

<p>The table below is based partly on documentation and partly on
actual test.  Where a filename matches more than one pattern, use the
first one that matches.  If a password doesn't work, try others from
the table and let me know of the error.  If you have password
information for other Model I/III/4 operating systems, let me know.
The values in the TRSDOS 6 column should also work for versions of
LS-DOS prior to 6.3.1.

<pre>
Files        LDOS 5.1.0   LDOS 5.3.1   TRSDOS 6      LS-DOS 6.3.1
-----        ----------   ----------   --------      ------------
basic/*      (unused)     basic        basic         basic
lbasic/*     basic        (unused)     (unused)      (unused)
config/sys   ccc          ccc          ccc           ccc
*/sys        wolves       system       lsidos        system6
*/flt        gsltd        filter       filter        filter
*/dvr        gsltd        driver       driver        driver
*/dct        rrw3         driver       utility       driver or utility
*/cmd        rrw3         utility      utility       utility
*/hlp        (unused)     help         (unused)      help
back door    rs0lt0ff     rs0lt0ff     (nflag$ bit7) (nflag$ bit7)
</pre>

The password listed as "back door" gives you access to all files
regardless of what their real passwords are.  It's documented!  I
confirmed by looking at the source code that TRSDOS/LS-DOS 6 has no
such password, but I found that later versions of it have another,
undocumented back door: if you turn on bit 7 of NFLAG$, all file
password checking is disabled.  The command MEMORY (A="N", B=128) will
do this.  This back door can be found in TRSDOS 6.2 and LS-DOS 6.3.1,
but not in TRSDOS 6.1.2.  

<p>Model I TRSDOS 2.3 also has
a back door password; the originally intended password is unknown, but
the string "ubett" hashes to the correct value and can be used.
The strings "f3gum", "nv36", and many others also work.
VTOS 3.0 also has such a back door; the password "hadu" can be used.

<p>The password "password" is a standard default in the TRS-80 world.
If you're insistently prompted for a password in a situation where you
don't think a password should be needed, try "password".

<p>Another way to reconstruct TRS-80 passwords is through exhaustive
search.  This is quite fast because TRS-80 operating systems hash their
passwords down to 16-bit values, so you need only find some password
that hashes to the same value, not the exact original password.  Here
is a C program to do that.

<pre>
/* trspwhash
 * Usage:  trspwhash password	  // Hash a password
 *         trspwhash -u 0xhash    // Unhash a password to letters
 *         trspwhash -n 0xhash    // Unhash a password to letters and digits
 */
#include &lt;stdio.h&gt;

unsigned int
pwhash(unsigned char pw[8])
{
    unsigned char *p = &pw[7];
    unsigned int count = 8;
    unsigned int hl, t1, t2;

    hl = 0xffff;
    do {
	t1 = hl & 0x07;
	t2 = hl & 0xff;
	hl = (t1 &lt;&lt; 13) ^ (t1 &lt;&lt; 9) ^ (t1 &lt;&lt; 2) ^
	     (t2 &lt;&lt; 8) ^ (t2 &lt;&lt; 4)  ^ (t2 &gt;&gt; 3) ^
             (hl &gt;&gt; 8) ^ (*p-- &lt;&lt; 8);
    } while (--count);
    return hl;
}

void
usage()
{
    fprintf(stderr, "usage: trspwhash [-u | -n] arg\n");
    exit(1);
}

int
main(int argc, char **argv)
{
    unsigned int goal;
    unsigned char pw[16];
    int i;
    if (argc == 2) {
	strncpy(pw, argv[1], 8);
	pw[8] = '\0';
	strcat(pw, "        ");
	for (i = 0; i &lt; 8; i++) {
	    if (islower(pw[i])) pw[i] = toupper(pw[i]);
	}
	printf("%04x\n", pwhash(pw));
    } else if (argc == 3 && strcmp(argv[1], "-u") == 0) {
	goal = strtoul(argv[2], (void*)0, 0);
	strcpy(pw, "        ");
	for (;;) {
	    if (pwhash(pw) == goal) printf("%s\n", pw);
	    i = 0;
	    for (;;) {
		switch (pw[i]) {
		  case ' ':
		    pw[i] = 'A';
		    break;
		  case 'Z':
		    pw[i] = 'A';
		    i++;
		    if (i == 8) exit(0);
		    continue;
		  default:
		    pw[i]++;
		    break;
		}
		break;
	    }
	}
    } else if (argc == 3 && strcmp(argv[1], "-n") == 0) {
	goal = strtoul(argv[2], (void*)0, 0);
	strcpy(pw, "        ");
	for (;;) {
	    if (pwhash(pw) == goal) printf("%s\n", pw);
	    i = 0;
	    for (;;) {
		switch (pw[i]) {
		  case ' ':
		    pw[i] = 'A';
		    break;
		  case 'Z':
		    pw[i] = '0';
		    break;
		  case '9':
		    pw[i] = 'A';
		    i++;
		    if (i == 8) exit(0);
		    continue;
		  default:
		    pw[i]++;
		    break;
		}
		break;
	    }
	}		
    } else {
	usage();
    }
    return 0;
}
</pre>

<hr>
<h3><a name="[12]">
     [12] What problems do PC floppy disk controllers have with TRS-80
     disk formats?  What problems do different TRS-80 models have with each 
     other's disk formats?
</a></h3>

<p>The Western Digital 177x/179x floppy disk controllers that were
used in TRS-80s have some capabilities that PC disk controllers
generally lack.  The executive summary is that (1) many standard PC
floppy controllers can't handle single density at all, (2) even those
that can handle single density generally cannot read the directory
track on a Model I TRSDOS disk, and (3) there can also be problems
reading double density disks.  Here are more details.

<p>Many PCs cannot handle single density (FM) encoding.  The original
Model I used single density exclusively, and even a Model I with a
double density adaptor requires a single density boot sector on system
disks.  The original IBM PC controller required extra outboard
components to support clock/data separation for single density, but
IBM left them off to reduce their manufacturing costs.  (So I'm told;
I wasn't involved with PCs in that era.)  This started the tradition
of leaving out single density support in PCs.  Modern PCs use more
highly integrated IO chips that include data separation on the chip,
but many still omit single density support.  See topic <a
href="#[15]">[15]</a> for a rundown on what PC controllers support
single density and topic <a href="#[16]">[16]</a> for other hardware
solutions that are available. 

<p>The WD1771, used in the TRS-80 Model I, is able to read and write
single-density sectors with nonstandard data address marks (DAMs) 0xF9
and 0xFA, as well as the standard ones 0xFB (data) and 0xF8 (deleted
data).  The WD1791/1793 and later chips, used in the Model III and 4,
can read all such sectors, but cannot distinguish between 0xFB
and 0xFA or between 0xF9 and 0xF8.  Model I's with double density adaptors
have *both* controllers, and use the 1771 for single density, so they
are fully compatible with stock Model I's.  PC disk controllers, even
those that do single density, cannot read sectors that use the 0xFA or
0xF9 DAM at all.  (I have actually tested this only with 0xFA on a
PC87306.  I'd welcome corrections if other standard PC controllers can
handle these data address marks.)  See topic <a href="#[16]">[16]</a>
for devices that can read these disks.

<p>These differences would be no problem if Model I software did not
actually use the nonstandard DAMs, but unfortunately, it does.  In
particular, Model I TRSDOS 2.x distinguishes between normal data
sectors and directory sectors by using 0xFB for the former and 0xFA
for the latter.  On Model III/4 TRSDOS-like systems, where 0xFA is not
fully supported, 0xF8 is used instead.
Some later Model I systems (such as LDOS 5.0.2 and later) also
switched to 0xF8 on the directory to allow for direct media
compatibility with the Model III/4, while others stuck with 0xFA for
direct Model I TRSDOS compatibility.  Patches for TRSDOS 2.3 were
developed that allow it to read and/or write 0xF8 directory sectors,
but they were not widely used.  (See topic <a href="#[13]">[13]</a>.)
Special software is supplied with
Model III/4 operating systems that allows them to read Model I disks
and/or convert them to Model III/4 format.  (The REPAIR command on
LDOS is an example of the latter.)  No such software can work on a PC
controller, however, because the 0xFA sectors cannot be read at all.

<p>There are also many gratuitous format differences amongst the
various TRSDOS-like TRS-80 operating systems.  For most of the
systems, a single-density, single-sided, 35-track disk is a common
denominator, except for the DAM problem just discussed.  Adding more
tracks is usually not a problem, though some systems may insist that
the directory remain on track 17, while others put the directory
location in track 0, sector 0, byte 2.  The various systems diverged
in the way they generalized the format to work with double density and
other larger drives.  The main streams were LDOS, NEWDOS, and Model
III TRSDOS 1.3.  LDOS uses a variable number of sectors per granule
(allocation unit) that must evenly divide the number of sectors per
track, and uses exactly one cylinder for the dirctory.  I believe
NEWDOS always uses 5 sectors per allocation unit, but allows varying
the packing of granules onto the disk and the number of granules used
for the directory.  Model III TRSDOS 1.3 made a large number of
unnecessary changes to the format; it was clearly inspired by the Model
I format, but it is not a compatible extension.

<p>Many PC disk controllers have difficulty reading double density
disks formatted by older releases of TRS-80 operating systems, even
with the proper software on the PC.  Many TRS-80 operating systems
formatted the disks with too short a gap between the index hole and
the first sector.  Late releases of the
Model III and 4 operating systems were corrected to format floppies
with the proper gap lengths.

<p>Working around the index hole problem can be tricky.  With some
drive/controller combinations, it may work to put a piece of tape over
the index hole, but this is not usually successful.  Another
possibility is to read the disk with a Catweasel controller, if you
have one; see topic <a href="#[16]">[16]</a>.
Here are instructions for another approach, from Amardeep S. Chana:

<ol>
<li>Locate wire number 8 in your floppy disk cable.  Wire 1 normally
has a colored stripe, and the wires are numbered sequentially from
there.

<li>Cut this wire and install a switch so you can connect and
disconnect this wire easily.

<li>Use one of the more reliable pieces of software to attempt a read
on a real 360K drive:
     <ol>
     <li>xtrs
     <li>DMK emulator
     <li>Anadisk or Teledisk
     </ol>
READDISK is not very reliable; it is too sensitive to
controller/drive combinations.

<li>First attempt a read with the switch closed.  You will get an
error.  Then open the switch and retry.  If it is a post index sector
gap problem, this will fix it.

<li>Note that you must always first try with switch closed and then
retry.  The software doesn't initialize the controller properly if you
just always leave the switch open.  That wire is the index sense line.
After at least one pulse has been detected, the system no longer needs
index pulses for reads and the rest of the diskette should read fine.
</ol>

<p>Nick Andrew adds that with older drives (such as original TRS-80
drives), the drive itself does not need to see the index pulse, but
the PC controller may still need to see at least one pulse to get
started.  In this case you can do without the switch; instead, insert
a piece of cardboard alongside the disk after the first attempted
access, positioning it so as to block the index hole sensor.

<hr> <h3><a name="[13]"> [13] How can TRSDOS 2.3 be patched to read 
single-density disks written by a Model III, Model 4, or PC? </a></h3>

There is a one-byte patch to TRSDOS 2.3 that allows it to read
disks written with standard data address marks (0xF8 and 0xFB instead
of 0xFA and 0xFB; see topic <a href="#[12]">[12]</a>).  If you can
find a PC that supports single density (many do not), you could use an
emulator to make Model I disks on it, which you could then read on the
Model I with the help of this patch.  The patch is also useful if for
some reason you need to make Model I disks on a Model III or 4.  For
instance, suppose you have a PC that can't write single density, but
you also have a real Model III or 4, which can.  In that case, you could
copy software to a double density disk on the PC, then copy the double
density disk to single density on the Model III or 4.

Here's a description of the patch, from the Misosys EDAS manual.
(EDAS was distributed on a Model III/4-compatible disk that Model I
TRSDOS couldn't read without the patch.)  If you want to apply the
patch on a Model III or 4 before moving the disk over to a Model I,
you can use Method (1), changing the drive number in line 10 as
needed.  <b>New:</b> I've also added a section to Method (1) that will
let the modified disk boot even if its own directory track has 0xF8
data address marks.

<h4>Model I TRSDOS 2.3 Patch</h4>
          
<p>Model I  TRSDOS  users will find  difficulty  in reading the distribution
disk  due to the  data address mark used for the  directory. Therefore, before
making a BACKUP or copying  EDAS  files  from the diskette, you  will need  to
change one  byte  of the  TRSDOS  2.3 disk  driver using  one of the following
three methods. This change will not affect the operation of your TRSDOS.
          
<p>Method  (1)  directly  modifies  the  system  diskette  with  a patch. To
prepare for this patch,  obtain a fresh BACKUP of your TRSDOS  2.3 to  use for
this operation. Then enter the following  BASIC  program and RUN it. After you
RUN the program, re-BOOT your TRSDOS diskette to correct the byte in memory.

<pre>
  10 OPEN"R",1,"SYS0/SYS.WKIA:0"
  20 FIELD 1,171 AS R1$, 1 AS RS$, 84 AS R2$
  30 GET 1,3: LSET RS$="&lt;": PUT 1,3: CLOSE
</pre>
          
<p><i>Added 10-18-2000:</i> If you are using this patch on a TRSDOS
2.3 disk that itself has 0xF8 data address marks, the disk will not
boot unless you also patch the boot sector.  You can do so by adding
the following lines to the program.  Methods (2) and (3) will not work
for this purpose.  You might get the message "INTERNAL ERROR IN LINE
60" when you run the program, for unknown reasons, but it works anyway.

<pre>
  40 OPEN"R",1,"BOOT/SYS.WKIA:0"
  50 FIELD 1,220 AS R1$, 1 AS RS$, 35 AS R2$
  60 GET 1,1: LSET RS$=CHR$(28): PUT 1,1: CLOSE
</pre>

<p>Method  (2)  uses DEBUG to change the byte in memory. Use this if you  do
not want to patch your TRSDOS system diskette and are familiar with DEBUG.

<ol>
    <li>At TRSDOS Ready, type DEBUG followed by &lt;ENTER&gt;.
    <li>Depress the &lt;BREAK&gt; key to enter the DEBUGger.
    <li>Type M46B0 followed by the &lt;SPACE&gt; bar.
    <li>Type 3C followed by &lt;ENTER&gt;.
    <li>Type G402D followed by &lt;ENTER&gt;.
</ol>

<p>Method  (3) uses  a  POKE  from BASIC  to  change  the  value directly in
memory. This procedure is as follows:

<ol>
    <li>Enter BASIC (files = 0, protect no memory)
    <li>Type POKE &H46B0,60 followed by &lt;ENTER&gt;.
    <li>Type CMD"S" followed by &lt;ENTER&gt;.
</ol>

<hr> <h3><a name="[14]"> [14] What are the differences among single,
double, quad, and high density floppy media?  </a></h3>

<p>There is essentially no difference between single and double
density media (if you can actually find any single density media
anymore). Double density media has been tested and certified for
double density recording, which is slightly more demanding than single
density recording; conceivably, a dropout that might not be noticed in
single density could be a problem in double density.  In practice,
though, I suspect that back in the days when manufacturers sold both
DD and SD media, the media came off the same production line and the
SD media would have met the DD standard nearly all the time.

<p>"Quad density" 5.25-inch media is certified for double density recording
at 80 tracks per side rather than 40 tracks per side.  This is quite
different from "high density," discussed below.  80 TPS quad density
media should work fine at 40 TPS double density.  I've been told that
there can be problems using 40 TPS double density media at 80 TPS quad
density; I believe the person who told me this, but neither of us
really knows the reason.  All 3.5-inch media is certified for 80 TPS.

<p>You will also sometimes see media labelled as one-sided or
two-sided.  Both types have magnetic material on both sides, but on
the disks advertised as one-sided, the second side may not have been
tested.  It's even possible, though unlikely, that the second side was
tested and failed.  

<p>Occasionally you'll find a "flippy" 5.25-inch disk.  Such a disk
can be recorded on both sides by removing it from the drive and
flipping it over.  It has two separate write-protect notches and two
separate index hole cutouts in the jacket.  Sometimes users would make
their own flippy disks with a hole punch.

<p>There were also a few "flippy drives" made.  These had two
write-protect sensors and two index-hole sensors, and they could thus
read and write on the reverse side of an ordinary diskette inserted
into the drive upside-down.  If you have disks written in a flippy
drive but you don't have a flippy drive, the reverse side will be
quite hard to read.  See topic <a href="#[26]">[26]</a> for ways to do
it.

<p>"High density" media is very different, and should not be
interchanged with single/double/quad density media.  It has different
magnetic properties (higher coercivity, requiring a higher write
current from the disk drive).  If you try to format DD media as HD,
the media will be too strongly magnetized and bleed-through can occur,
garbling your data either immediately or after the disk has sat on the
shelf for a while.  Such a disk may also be difficult to erase and
rewrite with new data.  Similarly, formatting HD media as DD is not a
good idea either; the media will be too weakly magnetized, and your
data may be completely unreadable or may fade away after a while.
These problems are worse on 5.25-inch disks than on 3.5-inch disks because the
difference in coercivity is greater for 5.25-inch media, but they exist
for both types of disk.

<p>You can distinguish between 3.5-inch HD and DD media by looking for a
hole in the jacket on the opposite edge from the write-enable hole; HD
media has the extra hole, while DD media does not.  You cannot
reliably distinguish between 5.25-inch HD and DD media if they are not
labelled.  There are a couple of ways of guessing: DD media usually
has a hub reinforcing ring (but not always), while HD media generally
does not.  The color of the media also tends to be different; HD media
is darker.

<hr> <h3><a name="[15]">[15] Which PC floppy controllers and drives can handle
single density (FM)?
</a></h3>

<p>Some folks will tell you that you need an older PC to get single
density (FM) support.  This is wrong.  The floppy disk
<strong>controllers</strong> in many PCs being produced today support
FM, and many older ones do not.  Some controllers will support FM on
all floppy <strong>drives</strong>, while other controllers have
problems with 5.25-inch 1.2MB HD drives and may require you to change a
jumper in the drive or (more likely) use a 5.25-inch 360K DD drive instead.

<p>If you need to read and write single density disks, the best thing
to do is to try it on the PCs that you have available and see if you
can find one where it works.  This is more accurate and usually easier
method than opening up the box and peering at the part number on the
FDC or SuperIO chip (which might not give you a definite answer
anyway).  If you can't find one that works, the information below 
and in topic <a href="#[16]">[16]</a> may be of some help.

<p>The detailed information below was gleaned from newsgroup
and Classic Computer mailing list postings by Amardeep S. Chana, Don
Maslin, Pete Cervasio, Allison Parent, Tony Duell, Nick
Andrew, and Knut Roll-Lund, together with some knowledge of my own.
I've liberally borrowed from their words for this answer.  Don't take
this listing as absolute truth; in particular, some of the posters
were not in full agreement on some points!  Feel free to send
additions or corrections if you have some information.

<p><strong>Controllers</strong> The answer to the question "does floppy
disk controller chip X support single density (FM)?" can be "yes",
"no", or "implementation dependent" (that is, "maybe").  With early
controllers, the answer was "maybe", because more external components
were needed to handle data separation for both FM and MFM than for MFM
alone.  As mentioned in topic <a href="#[12]">[12]</a>, the original
IBM PC omitted the external components needed to support FM, and many
later compatibles followed suit.  Modern controllers typically
integrate data separation on the main chip, but some support FM and
some do not.  It seems that in some cases, a PC may be able to read
single density but not write it, or it may be able to read and write
but not format; these behaviors may depend on external components, not
just the controller chip.

<p>Note: if you are going to use this information, do not rely on
software to identify your FDC chip.  Open the box and look.  Newer
"compatible" chips often look to software like older chips, but the
status of their FM support may be different.
Also, be aware that the information below may be incomplete or wrong in
some details.  If you know more, send mail.

<p><strong>Drives</strong> In principle, all floppy disk drives support
single density; the drive cannot tell whether you are giving it FM or
MFM encoded data.  However, it seems that some controllers cannot do
FM on 5.25-inch drives that spin at 360 RPM, only on drives that spin at
300 RPM.  Doing FM on a 360 RPM 5.25-inch drive requires a data rate of
150 Kb/s, which apparently is not implemented in some controllers.
Most 5.25-inch 1.2MB HD drives spin at 360 RPM at all times, but some are
dual spindle speed.  A dual spindle speed drive spins at 360 RPM for
HD but slows down to 300 RPM for SD and DD.  Teac 5.25-inch drives can
generally be set for dual spindle speed by changing a jumper, but
other brands may not have this ability.

<p>Unfortunately, we did not understand the rotation speed issue when
gathering most of the information below.  It's quite possible that
some controller that are recorded as not supporting FM at all were
actually tried only with 360 RPM 5.25-inch drives, and would have worked with
300 RPM 5.25-inch drives.  It's also possible that some controllers that are
recorded as supporting FM were only tried with 300 RPM 5.25-inch drives and
won't work with 360 RPM 5.25-inch drives.  This could also explain why different
people reported inconsistent results for some controllers.

<h4>Will not support single density (FM)</h4>
<ul>
<li>Intel 82078
<li>Intel 82091AA Super I/O
<li>Goldstar Prime 1 (?)
<li>NS PC87332 Super I/O (?)
<li>Motorola MCS3201FN (?)
</ul>

<p>The Intel 82078 data sheet implies that the parts do not support
single density.  The MFM bit in its command set is defined as (1 =
double density mode, 0 = reserved).  On PC FDCs that do support FM,
setting this bit to 0 selects FM.  Tim had a system that used a 82078
on the motherboard, and FM did not work on it (he tried only a 360 RPM
drive).  Similar wording is used on the 82091AA data sheet.

<p>Amardeep has a card with the Goldstar "Prime 1" chip and
it does not read or write FM.

<p>The NS PC87332 data sheet is not specific about whether FM is
supported.  Amardeep tested the PC87332 and it failed to support FM in
a Dell XMT590.

<p><i>Amardeep says:</i>
I found a board with the Motorola MCS3201FN and it doesn't do FM.  The
data sheet contains much contradictory information.  Verbiage only declares
compatibility with IBM system 34 double density.  But it also says the MFM
bit is (1 = MFM, 0 = FM) and selection tables show various FM data rates and
sector sizes.  The electrical characteristics show only double density
ratings.  
<i>Don says:</i> 
The two examples that I have been exposed to
suggest that it does not support FM.

<h4>Will support single density (FM)</h4>
<ul>
<li>NS PC87306 Super I/O
<li>NS PC87307/PC97307 Super I/O
<li>SMC FDC37C65
<li>SMC FDC37C78
<li>Intel 82077AA
<li>Intel 82077SL
<li>NS 8477
<li>Goldstar Prime 2c or 3b
</ul>

<p>The above NS and SMC parts are completely
stand alone with on board filters, write precomp generators, and data
separators.  They should work with FM in any board implementation,
unless something specific is done to prevent it (not likely).  This is
per the National and SMSC (new name for SMC semiconductor) data
sheets.  Amardeep tested the NS PC87306 and SMC FDC37C65 using Jeff
Vavasour's Model 4 emulator and Tim Mann's xtrs 2.8 under Linux.  They
both read and write FM with no problems.  It is important to verify
the part number on the chip itself.  Many of the newer NS parts
will identify themselves to software as PC87306, but may not
support single density.

<p>Tim has a machine that uses the NS PC97307, and FM works just fine
on it.  Tim used a 360 RPM drive, so 300 RPM drives should work with
this chip too.  The PC87307/PC97307 data sheet is not specific about
whether FM is supported.  Note that some software may incorrectly
identify these parts as PC87306.

<p>The Intel 82077AA and 82077SL data sheet clearly states these parts
support FM.  Again, verify the part number on the chip.  Newer Super
I/O parts like Winbond W83877F or SMC FDC37C665IR may identify
themselves to software as 82077's but may have different characteristics.

<p>The NS 8477 data sheet indicates that it does support FM (it is
functionally and pin for pin compatible with the Intel 82077).

<p>A sewing machine/embroidery website
mentioned that "Goldstar Prime 2c or 3b chipset" controller cards can
be used to read single density embroidery diskettes.  The URL is
<a href="http://www.wilcom.com.au/stestdsk.htm"
>http://www.wilcom.com.au/stestdsk.htm</a>.

<h4>Implementation dependent</h4>
<ul>
<li>NS 8473
<li>NEC 765
<li>Intel 8272
</ul>

<p>This category is meant for older chips that require external
components as part of the data separation logic (or that require
external components if FM is to be supported).  Thus they may 
or may not support FM depending on the implementation.

<p>The 1988 data sheet for the NS 8473 states on page 8-32, "While the
controller and data separator support both FM and MFM encoding, the
filter switch circuitry only supports the IBM standard MFM data rates.
To provide both FM and MFM filters external logic may be necessary."
<i>Don says:</i> I have DTK FDC cards with the 8473 and read Osborne 1
disks with them just prior to writing this.  <i>Amardeep says:</i> I
have to recant my original statement that none of my 8473 boards
worked.  All three of them do work (read/write/format) at this time.
Must have been an error on my part.

<p>I believe the 765 was the chip in the original IBM PC, as discussed
above.  <i>Amardeep says:</i> Intel 8272 is a NEC 765 clone and
therefore dependent on implementation.

<h4>Uncertain</h4>
<ul>
<li>SMC FDC37C665IR
<li>SMC FDC37C665GT/FDC37C666GT
<li>Winbond W83877F, 977TF, 83977EF, or other Winbond parts
<li>UMC 8397
<li>UMC 8398
<li>UMC UM82C862F or other UMC Super I/O chips
<li>WD 37C65
</ul>

<p>Available information on these chips is contradictory.  Perhaps
some individual chips of the same part number work with FM and some
don't, perhaps they have bugs that affect some software drivers and
not others, or perhaps there is a 300 RPM vs. 360 RPM problem in some
cases.  More testing may be needed.

<p>The FDC37C665GT and FDC37C665IR have very similar data sheets, and
neither mentions that FM is not supported.  However, Pete has an
FDC37C665IR in one of his machines, and FM works on it; while Tim has
an SMC FDC37C665GT in one of his machines, and its FM support does not
work---it can neither read FM nor format FM disks that can be read by
other systems.  Tim was using a 360 RPM drive, and Pete did not report
what kind of drive he was using, so it's possible that this was the
issue.

<p>Amardeep says that the Winbond chips have never worked in FM on any
adapter or motherboard he's ever encountered them on; no idea if it's
the chip or the implementation.  Pete says that on his ASUS board, the
Winbond W83877F actually will read and write FM but will not format
FM.  Nick Andrew says that the Winbond 83977EF could only read some
sectors when he tried it with xtrs.  Steve Tate said that a W83877AF
worked fine for him using 22disk.

<p><i>Tony says:</i> The data sheet claims the UMC 8398 will do FM or
MFM. In my experience it will correctly handle MFM disks (with both
standard and my own software).  When you try FM, it <i>almost</i>
works. It just mangles the last byte in the sector. This is
(apparently) a known problem with this chip.  <i>Allison says:</i>
The last byte mashed in the UMC is also common to most 765s and is related 
to DMA read/write timing such that if you delay the DMA request by about
1-3uS (several FDD bit times) in FM mode it should work fine.
<i>Amardeep says:</i> The UMC 8398's data sheet says it
does support FM without any external components.  Also, the 8397 could be
listed with it.  It was the predecessor without high density drive support
for XT applications.  Its data sheet also says FM support is provided.
Since Tony's and my testing shows FM tends to fail, and Allison believes it
is DMA related, "uncertain" may be the best category for them.

<p><i>Amardeep says:</i> UMC did make some Super I/O chips (UM82C862F)
but I couldn't find data sheets for them.  I have two IDE/FDC/IO
paddle boards with that chip and neither handles FM.  <i>Allison
says:</i> I have used UMC SuperIO chips to do FM with ease using the
internal data separator.

<p><i>Don says:</i> I have the WD 37C65 in the WD FOX card and
it will also read/write FM. <i>Amardeep says:</i> The only information
I have on the WD 37C65 is the Always IN2000 card I have with that
chip cannot read or write FM.  The data
sheet shows there is really no external circuitry associated with data
separator or filters.  Yet we have seen examples that pass and fail, so it
might be a revision thing or an untested feature, or DMA mangling or...

<hr> <h3><a name="[16]"
>[16] What PC add-on cards can read single density (FM) and
    other unusual formats?
</a></h3>

<p>Several different types of add-on floppy controller cards
are available for the PC that will let you read floppy formats that
your built-in controller may not be able to handle, such as single
density (FM).

<p>Sometimes an add-on floppy card will have a 765-compatible floppy
controller that supports FM.  The Adaptec AHA1542CF SCSI hard disk
controller includes a floppy disk controller on the same card that
supports FM and works with both 300 RPM and 360 RPM drives; so do some
other Adaptec cards.  This card is easy to use; you just plug it into
any spare ISA slot and disable your motherboard FDC.

<p>The Catweasel universal floppy disk controller (see <a
href="http://www.jschoenfeld.com/" >http://www.jschoenfeld.com/</a>)
uses custom hardware that
can be programmed to handle just about any format.  The software that
comes with the Catweasel can read Amiga, Apple II, and a bunch of
other obscure old formats.  I've written a program for the Catweasel
that can copy any disk written by a TRS-80 to the DMK image format
(see topic <a href="#[5]">[5]</a>, including single density and
"copy-protected" disks.  It supports both 300 RPM and 360 RPM drives.
The program is now available on the Web at <a
href="http://tim-mann.org/catweasel.html"
>http://tim-mann.org/catweasel.html</a>.  It runs on Linux,
MS-DOS, and Windows 95; probably also Windows 98 and Windows ME.  It
is untested on other versions of Windows, but probably will not run on
versions that keep tighter control over the hardware such as NT, 2000,
and XP; however, you can use it by booting off an MS-DOS floppy.
Catweasel cards were in short supply for a while, but as of July 2000
they should be available for purchase again.

<p>I've heard people mention the
MicroSolutions CompatiCard, but the 
<a href="http://www.faqs.org/faqs/CPM-faq/"
>CP/M FAQ</a> says that it is a
discontinued product, so you'd have to find a used one somewhere.
I don't know what chip it uses.

<p>The <a href="http://retro.icequake.net/dob/" >Central Point Copy II
PC Option Board</a> uses a custom chip and can copy many kinds of
disk, including FM, MFM, GCR, and even disks that used the "weak
bits" method of copy protection.  This is also a discontinued product.
I had one of these on loan for a while and read the documentation, but
never found time to install it in a machine and try it.

<p>I've heard that add-on floppy controller cards for the PC that are
specifically intended for disk duplication or for converting disks
from other kinds of machines often use Western Digital 17xx chips or
custom hardware that is more versatile than standard PC controllers.
I don't know specific model names or where to get these cards.

<hr><h3><a name="[17]">
[17] How can I add lowercase to a TRS-80 Model I?
</a></h3>

<p>Displaying lowercase letters on a TRS-80 Model I requires both a
hardware modification and a software driver.  If you aren't sure
whether you have the hardware modification, go into Basic and type
"POKE 15840,98".  If you have lowercase, you will see a lowercase "b"
in the middle of the screen; if not, you will see a quotation mark.
If you need the hardware modification, the next section describes how
to install it; if not, 
<a href="#lcdrivers">skip down</a> to the section about software
drivers.

<h4>Lowercase hardware modification</h4>

<p>A stock Model I has only 7-bit wide video memory.  This is enough
for 6-bit, uppercase-only ASCII and the TRS-80's 6-bit graphics
characters, but not for lowercase.  In a stock machine, the missing
bit6 is synthesized as !bit7 & !bit5.  You can add a true 8th bit
using the following instructions.

<p>You will need a low-power soldering iron, thin rosin-core solder, thin 
insulated copper wire (such as wire-wrap wire), one 2102 static memory 
chip (1K x 1 bit) and preferably a new character generator ROM. 
The character generator replacement is needed to make the modified machine 
compatible with the Level II Basic ROM's display driver and to give it true 
descenders on lowercase letters. If you don't have a new character generator, 
you will need to install an SPDT switch to turn off the mod when using 
Level II Basic or other software that doesn't have a lowercase driver, 
and your lowercase g, j, p, q, and y (and maybe a) will be shifted up
a couple of pixels from the baseline.

<p><i><strong>New:</strong></i>
M.A.D. Software is advertising Model I lowercase
modification assemblies on their
<a href="http://madsoft.lonestar.org/garage/">Garage Sale page</a>!
These should include the 2102 and the character generator ROM, but
check with M.A.D. Software before ordering to be sure.

<p>Turn your TRS-80 keyboard unit face down on a cloth, and remove the six 
bottom screws, being careful to note which went where. Now turn it face 
up and lift off the cover. Lift up the keyboard, being careful not to 
pull the ribbon cable at the left front loose. Remove the plastic spacers 
between the two boards, and lift out the boards, setting them down with 
the component side of the logic board up.  

<p>Find Z45 in the lower left corner of the board. The new 2102 will be 
mounted piggyback over this one. Bend pins 11 and 12 of the new 2102 
straight out, and set it over Z45. Solder (quickly, with low heat) each 
pin of the new 2102, except 11 and 12, to the corresponding one on Z45.

<p>Find Z30. From its left side run three traces, a narrow one between
two wide ones. Cut through the narrow one with a sharp knife, being
sure to break the connection completely without damaging other traces.
(This trace connects Z30 pin 13 to Z60 pin 4.)

<p><i>If you don't have a replacement character generator:</i> Find a
mounting place for the SPDT switch where you will be able to get to it
after the case is reassembled. Run a wire from pin 11 of the new chip
to Z60 pin 5. Run a second wire from Z60 pin 4 to the common terminal
of the switch. Run a third wire from another terminal of the switch to
Z30 pin 13. Run a fourth wire from the remaining terminal of the
switch to the new chip's pin 12. One switch position will now give you
uppercase only but will work with Level II Basic; the other will give
you lowercase in software that has a lowercase driver and meaningless
symbols in software that doesn't.

<p><i>If you do have a replacement character generator:</i> Run a wire
from pin 11 of the new chip to Z60 pin 5. Run a second wire from pin
12 of the new chip to Z60 pin 4. Remove the old character generator
ROM chip (Z29) and replace it with the new one. I think Z29 was
socketed, but if it isn't, you will have to very carefully desolder it
without overheating the PC board and making the traces lift, and
preferably without overheating the old chip in case you need to use it
again. I suggest installing a socket for the new chip.

<p>Reverse the disassembly procedure to put your machine back together. If 
you kept the old CG ROM and installed a switch, try both switch positions 
to see what they do.  If anything doesn't work, go back and carefully 
recheck your wiring.

<h4><a name="lcdrivers">Lowercase software drivers</a></h4>

<p>The display driver in the Model I Level II Basic ROM forces everything to
upper case.  In fact, it actually writes ASCII codes between 0x00
and 0x1f into the video RAM and expects them to display as uppercase
letters.  That's why you get meaningless symbols if you don't replace
the character generator: the standard character generator has those
symbols in positions 0x00 to 0x1f, but you can't see them until you 
add the 8th bit of video memory.

<p>TRSDOS uses the ROM driver, but alternative operating
systems like LDOS and Newdos include a lowercase driver, as do
many other programs.  Usually these programs will detect and use
lowercase automatically if it is present.

<p>It is possible to add a lowercase driver to TRSDOS or even to
cassette-based Level II Basic.  In the future I'll probably add
a listing of such a driver here.

<hr>
<H3><A NAME="[18]">
    [18] My Model 4 or 4P has video problems in Model 4 mode, but
    is fine in Model III mode. How can I fix it?
</a></h3>

This answer is based on material contributed by David Gish
(gish@gomemphis.com) and others.

<p>The model 4/4P uses two different methods for generating horizontal
sync pulses for the monitor, depending on whether it's in 64 character
mode (Model III) or 80-character mode (Model 4). In 64-char mode,
horizontal sync is derived from the master clock, which is regulated
by a crystal and thus very stable. However, in 80-char mode a
Phase-Locked Loop circuit (PLL) is used to generate the signal, and it
drifts out of calibration over time.  This can result in display
wrap-around or a total loss of sync. There is a trimmer capacitor that
can be adjusted to fix it.

<p>The biggest problem in making the adjustment is getting to it with
the power turned on so that you can see what you're doing. The trimmer
cap is on the motherboard, with no access from outside the case.  On
the Model 4, it's near the top at the back, but the case and a metal
shield are in the way.  On the Model 4P, it's near the front of the
CRT, but just far enough under it that you can't get to it with a pot
tweaker.

<p><i>If some of the terms below leave you behind or the procedure sounds
scary, you should definitely not tackle this yourself -- take it to a
friend who's a hardware techie.  Warning: whenever you have the case
open, be careful what you touch, especially with metal objects.
You can get a shock even if power is off, and if power is on, a metal
object touching the wrong two contacts could easily short out the power
supply and fry it.</i>

<h4>Model 4</h4>

<p>1. Unplug all cables from the computer.  Position the computer on its
back panel to provide access to the case bottom.  Remove the ten
screws from the case bottom, noting carefully which went where for
later reassembly.

<p>2. Position the computer upright and remove the screw and washer
from the top of the back panel.

<p>3. Position the computer upright with the video screen towards
you.  <i><strong>Very carefully</strong></i> remove the case top,
lifting straight up, looking into the case through the vent holes and
the disk bay openings to be certain that you do not catch
the neck (back end) of the picture tube on anything.  It is all too
easy to break the picture tube, a very expensive mistake.  Once the
tube is clear, rotate the case top 90 degrees counterclockwise 
and set it down to the left of the base, being careful not to
overstretch the connecting cables.

<p>4. Remove the internal metal shields as needed to gain access to
the main circuit board.

<p>5. Turn the machine on and boot it into Model III (64-column) mode.
It's adequate to go into cassette Basic by holding down the Break key
and pressing the orange reset button.  Type enough commands to fill
the screen with text.

<p>6. Adjust the monitor's horizontal sync back and forth until the picture
breaks up in both directions, then set the adjustment to the middle of
this range.  This completes the Model III mode adjustment.

<p>7. Insert a TRSDOS-6.x disk and boot the system to place it in 80-column
mode. Type the date and then do a DIR to fill the screen edge-to-edge (if
the screen's unreadable, you'll have to type blind).

<p>8. Find the trimmer cap.  Early (non-gate-array) versions may not
have this cap; it does not appear in the Model 4 Technical Reference
Manual, 1983 edition.  Hopefully this video problem does not occur on
those machines.  On gate array machines, it should be approximately
3 inches from the left of the main circuit board when viewed from the
back, and should be labelled C210.

<p>9. Adjust the trimmer.  You'll need a small pot tweaker, preferably
a non-metallic one. You shouldn't have to adjust it much; it's very
sensitive. Turn the brightness up so you can see the whole raster
pattern and set the trimmer so that the image is stable and centered
in the pattern, with no bent or warped edges.

<p>10. Turn the power off and unplug the machine.

<p>11. Reassemble the machine -- you did pay attention to how it came
apart, didn't you?  Again be very careful not to damage the picture
tube.

<h4>Model 4P</h4>

<p>1. Remove the case and front bezel. The main case is held on by screws
near the front and two large ones under the handle. The front bezel is
held on by several screws inside the case.
 
<p>2. Remove the top of the monitor enclosure.
 
<p>3. Turn the machine on and boot it into Model III (64-column) mode,
or just reboot it with no disk and wait for the multi-lingual "insert
disk" screen to appear.

<p>4. Adjust the monitor's horizontal sync back and forth until the picture
breaks up in both directions, then set the adjustment to the middle of
this range. The picture should centered and clean. Replace the top of the
enclosure.

<p>The PLL adjustment must be done with power on while observing the
screen, since it is very sensitive.  This means that the cables all
need to be hooked up at the time. To access the trimmer cap you have
to shift the motherboard forward enough to move the trimmer beyond the
front of the CRT, but still have the critical cables connected. This
is impossible with the factory-supplied disk drive cable connected at
the rear, but the disk drive needs to be connected in order to boot
the system into 80-column mode!

<p>David Gish came up with the plan below, which works but involves
disconnecting the disk drives from the
motherboard <i>with power on</i>. This is <i>not</i> generally
recommended, except as a last resort. If you do this, follow the
indicated steps carefully to minimize the risk.

<p>An alternative solution is to replace the factory cable with a
longer one so that you don't have to unplug it.  If you do that, you
can change to the longer cable after step 7, then omit steps 11 and
12.

<p>5. Turn the machine off and lay it on its left side.  Keep it on its side
for this entire procedure.

<p>6. Remove all mounting screws from the motherboard. It should now be
loose, but will not move much due to the cable connections.

<p>7. Apply electrical tape to the edge connectors at the rear of the
motherboard to prevent shorting these against the frame while moving the
motherboard around.

<p>7a. If you have a longer disk drive signal cable, replace the
factory cable with it at this point.  See topic <a href="#[19]">[19]</a>
for information on making cables.

<p>8. Carefully examine the motherboard to be sure nothing else is shorting
against the frame and turn the machine on.

<p>9. Insert a TRSDOS-6.x disk and boot the system to place it in 80-column
mode. Type the date and then do a DIR to fill the screen edge-to-edge (if
the screen's unreadable, you'll have to type blind.)

<p>10. Remove the TRSDOS disk.

<p>10a. If you replaced the factory disk drive cable with a longer one
(step 7a), you can now skip the somewhat dangerous steps 11 and 12 and
go directly to step 13.

<p>11. Carefully unplug the power connectors from both disk drives. This is
to prevent damage during the next step. (Warning: There is an unshielded,
solid-metal fan in this area cooling the monitor enclosure!)

<p>12. Carefully disconnect the disk drive interface ribbon cable from the
motherboard. This will free the back of the board and give you enough play
to move it forward.

<p>13. Move the motherboard out and forward, paying close attention to the
rear edge connectors. Now you know the reason for the tape. Watch all
cables while doing this to make sure you're not over-stretching them.

<p>14. Eventually, you should be able to expose the trimmer cap enough
to make the adjustment. It is probably labeled C231.  You'll need a
small pot tweaker, preferably a non-metallic one. You shouldn't
have to adjust it much since, as mentioned above, it's very
sensitive. Turn the brightness up so you can see the whole raster
pattern and set the trimmer so that the image is stable and centered
in the pattern, with no bent or warped edges.  (Note: another source
suggests removing the jumper from E1/E2 and putting on in E9/10 while
making the adjustment, then moving it back to E1/E2 when you're done.)

<p>15. Turn the power off and unplug the machine.

<p>16. Remove the tape on the motherboard connectors and reassemble the
machine -- you did pay attention to how it came apart, didn't you?
Remember to reconnect the disk drive power and data cables.

<hr>
<H3><A NAME="[19]">
    [19] I want to add or replace TRS-80 floppy disk drives.
    What's going on with the setup and cabling?
</a></h3>

<p>Cabling a TRS-80 disk drive is a bit tricky.  It works differently
from a PC, and there are some differences among the TRS-80 models,
and differences between the Radio Shack way of doing things and other
ways that are sometimes used.  I'm sorry there is so much detail here,
but I don't really see how to condense it to a cookbook "just do this"
approach, since there are several things you might want to do with the
information.

<p>Generally, Radio Shack handled drive select by pulling pins in the
cable connectors.  On the Model I, each drive was internally jumpered
to respond on all four different drive selects, the three standard
ones from the Shugart definition (pins 10, 12, 14) and one extra one
that R.S. defined (pin 32, which later was officially defined as side
select for two-sided drives).  On the cable, there were four drive
connectors, and each had a different one of those four pins left, with
the other three removed.  On the Model III and 4, the internal drives
and external drives were cabled separately, so it was not necessary to
use four different pins for drive select.  Instead, the first two
drives are pins 10 and 12 on the internal cable, while the other two
drives are pins 10 and 12 on the external cable.  However, the
pin-pulled system is still used.

<p>An alternative way that many users switched to was to use a plain
cable with all 34 pins intact.  Then you have to open up each drive
and make sure that a different drive select is jumpered on each one.
Usually they are jumpers marked DS1, DS2, DS3 (and sometimes also
DS4) or DS0, DS1, DS2 (and sometimes also DS3).  Many drives don't
have a jumper for the fourth drive select.  Drives that were intended
for Radio Shack Model I systems may have pin 32 hardwired instead of
using a jumper, so beware.

<p>If you want to use double-sided drives on a TRS-80, you may
have to switch to the pins-intact system in order to bring side
select to every drive.  If you have some single-sided drives in the
system, make sure that none of them have pin 32 interally hardwired to
one of the drive selects.  TRS-80 Models III, 4, and 4P have
side-select support implemented in the floppy controller and brought
out to pin 32.  On the Model I, if you limit yourself to three drives,
you can use the fourth drive select as a side select, as it's
conveniently already wired to the correct pin.  LDOS and probably
other Model I operating systems support this.  (Let me emphasize that
if any of the drives in a real Model I system is double sided, you can
have at most three drives.  Some Model I emulators allow you to have a
fourth drive, but that drive definitely must be single-sided.)

<p>Pre-made cables and new drives that are commonly available today
usually use the PC system.  A PC floppy drive cable has a twist in it
between the two drive connectors (there are always only two).  The
twist allows both drives to be jumpered the same way, and allows the
PC to control the motors on the two drives separately.  Both drives
are jumpered for drive select on pin 12 (DS2) and motor control on pin
16 (MOT), but the twist reverses the order of pins 10, 12, 14, and 16
on the first drive, effectively moving its drive select to pin 14 and
motor control to pin 10.  A PC-style cable won't work properly with a
TRS-80, because the TRS-80 controller always sends motor control on
pin 16, not pin 10, but it's easy to find ribbon cable and
insulation-displacement (IDC) connectors to make up your own straight
cable if you need one.  Or if you only need to connect one drive, you
can plug it into the connector before the twist.  Because of this
system, new drives are always jumpered for DS2 by default, but they
can usually be changed.  Occasionally you may find a newer drive that
is hardwired for DS2 and has no jumpers; you might be stuck cutting
traces and soldering if this happens to you.

<p>Also see the article <a
href="http://nemesis.lonestar.org/computers/tandy/hardware/model16_6000/floppyfix.html"
>Utilizing 5.25-inch or 3.5-inch media on your Tandy/Radio Shack computer system</a>
on Frank Durda IV's web site.  This is mostly about replacing
8-inch drives with 5.25-inch or 3.5-inch drives, but has some other useful
information too.

<p>People sometimes also ask about the other internal jumpers in
TRS-80 floppy drives.  The exact jumpers that are present vary
depending on the drive manufacturer, but here are some typical
settings.  MX or MUX should be open (off); it causes the drive to
ignore drive-select and always respond.  HM should be closed (on); it
causes the heads to load when the drive motor turns on.  HS should be
open (off); it causes the heads to load only when the drive is
selected (mutually exclusive with HM).

<hr><H3><A NAME="[20]">
  [20] What about using high density (1.2MB 5.25-inch or 1.44MB 3.25-inch) drives
  on a TRS-80?
</a></h3>

<p>There are two things you might want to do: (1) treat the drive as
single/double density, or (2) use the drive's high density capability
with a TRS-80 floppy controller that was designed for 8-inch drives, if
you have one.

<p>(1) Both high density and double density 3.5-inch drives spin at 300
RPM like a double density 5.25 drive, and 3.5-inch double density uses the
same data rate as 5.25-inch double density, so a 3.5-inch drive makes a
compatible replacement for a 5.25-inch drive.  The 3.5-inch drive will be
double sided with 80 tracks per side, which most TRS-80 software can
handle.  You will have to be sure that the internal jumpers are set
correctly, and that there is no confusion about the Disk Change output
from the drive (not used on a TRS-80), or the High Density signal
(which may have to be wired correctly to make sure the drive uses the
correct write current).  If you have a drive you'd like to use but
don't have documentation on its jumpers, search the Web to see if the
drive manufacturer has a Web site that you can get the information
from.  For example, <a href="http://www.teac.com/DSPD/catalog.htm#OldFD"
>Teac</a> does.  Also be sure to use the appropriate
media; see topic <a href="#[14]">[14]</a>.

<p>A high-density 5.25-inch drive spins at 360 RPM, not 300 RPM, so it
can't be used directly as a replacement for a 300 RPM TRS-80 drive.
However, some models of 5.25-inch drive have dual-speed motors and can be
jumpered to run at 300 RPM when in double density mode.  For example,
the common <a href="http://www.teac.com/DSPD/catalog.htm#OldFD">Teac
FD55GFR</a> drives can do this.  If you have a drive you'd like to use
but don't have documentation on its jumpers, search the Web to see if
the drive manufacturer has a Web site that you can get the information
from.  Again you'll have to be careful about cabling the Disk Change
and High Density signals.  The manufacturer's documentation for your
drive should be helpful here.

<p>(2) If your TRS-80 has an 8-inch disk controller, you can try
treating a high-density drive as an 8-inch drive.  This should more or
less work, but I haven't tried it and can't give detailed help.  You
would have to make an adapter cable from the 50-pin card edge
connector to the 34-pin connector on the drive.  The 
<a href="http://www.faqs.org/faqs/CPM-faq/">CP/M FAQ</a> provides
some useful information for making such cable (see Q14 and Q16).  A
5.25-inch HD drive spins at 360 RPM just like an 8-inch DD drive, uses
the same data rate, and has 80 tracks (vs. 77 for an 8-inch drive), so
it makes a compatible replacement.  There could be minor issues
because 8-inch drives spin continuously and load/unload the heads when
active, while 5.25-inch drives always have the heads loaded but are
spun down when not active.

<p>A 3.5-inch HD drive spins at only 300 RPM, but does use the same data
rate and does have 80 tracks.  Some software may tolerate a 3.5-inch HD
drive in place of an 8-inch drive, but only the first 5/6 of each track
will be used.  Formatting may write arbitrary garbage to the remaining
1/6; hopefully this will not be anything that will cause confusion
when trying to read the first 5/6, but that can't be guaranteed.

<p>Also see the article <a
href="http://nemesis.lonestar.org/computers/tandy/hardware/model16_6000/floppyfix.html"
>Utilizing 5.25-inch or 3.5-inch media on your Tandy/Radio Shack computer system</a>
on Frank Durda IV's web site.  This is mostly about replacing
8-inch drives with 5.25-inch or 3.5-inch drives.

<hr><h3><a name="[21]">
    [21] What about using low density (360KB 5.25-inch or 720KB 3.25-inch) 
    drives on a PC?
</a></h3>

<p>Generally this should work fine, but there are a few problems to
watch out for:

<p>Check the cabling.  A drive pulled out of an old TRS-80 will be
expecting drive selection to be handled differently from the PC method;
see topic <a href="#[19]">[19]</a>.

<p>Set the correct drive type in your
BIOS!  Both operating systems and TRS-80 emulators need to know the
drive type in order to use the correct read/write data rate.  There is
no way to autodetect this information, so software has to believe the
BIOS settings.  If they are wrong, reading and writing will fail in
odd ways.

<p><i>Amardeep S. Chana reports:</i>
There is a problem in Jeff Vavasour's emulator code (both Model 4
and CoCo II, and their support utilities) that incorrectly operates a 360K DD
drive on a HD capable controller.  I think what it does is use 300Kbps
data rate instead of 250Kbps.  You can create disks and read/write to
them, but a real TRS-80 can't read them.  Disks created on a real
TRS-80 won't read on the PC, either.
Using a 1.2MB drive does not show this problem.  Using a 360K drive on
an XT-type controller does not show this problem either.  Setting the
CMOS type of the 360KB drive to "720K 3.5-inch" also makes the problem
go away.

<hr><H3><A NAME="[22]">
    [22] What are some other good on-line references for detailed information
    about floppy disks and drives?
</a></h3>

<ul>
<li><a href="http://www.moria.de/~michael/floppy/"
  >The floppy user guide</a>, 
  by Michael Haardt, Alain Knaff, and David C. Niemi.
<li><a href="http://www.tux.org/pub/knaff/fdutils/Fdutils_toc.html"
  >Linux floppy utilities</a>, by Alain Knaff.
<li><a href="http://cma.zdnet.com/book/upgraderepair/ch13/ch13.htm"
  >Upgrading &amp; Repairing PCs Eighth Edition</a>, Que Books, chapter 13.
<li><a href="http://pilot.ucdavis.edu/davidk/documentation/trs-tech.htm"
  >Western Digital 1771 and 179x data sheets</a>
<li><a href="http://www.intel.com"
  >Intel</a> - for 82078, 82077, and other Intel floppy
  disk controller data sheets.
<li><a href="http://www.smsc.com"
  >Standard Microsystems Corporation</a> - for FDC37xxx, FDC87xxx, and
  FDC97xxx data sheets.
<li><a href="http://www.national.com"
  >National Semiconductor</a> - for PC87xxx and PC97xxx SuperIO data sheets.
<li><a href="http://pluto.njcc.com/~hjohnson/"
  >Herb's Stuff</a> - photocopies of drive manuals, etc.
<li><a
href="http://nemesis.lonestar.org/computers/tandy/hardware/model16_6000/floppyfix.html"
>Utilizing 5.25-inch or 3.5-inch media on your Tandy/Radio Shack computer
  system</a>, by Frank Durda IV - largely about replacing
8-inch drives with 5.25-inch or 3.5-inch drives, but has other useful information too.
</ul>

<hr><h3><a name="[23]">
    [23] How do I determine what PDRIVE settings to use for a
    NEWDOS/80 disk?
</a></h3>

<p>This question comes up a lot, but I'm a complete LDOS bigot with no
NEWDOS/80 experience, so I'm not equipped to answer it.  Here is some
information kindly supplied by others:

<h4>Answer by Nick Andrew</h4>

<p>Let's say you
have a diskette, no idea whatsoever how it is formatted.

Notes:
<ul>
  <li>This process may only work on NEWDOS/80 diskettes
  <li>SD diskettes are usually 10 sectors/track
  <li>DD diskettes are usually 18 sectors/track
  <li>For double-sided, multiply number of sectors by 2
  <li>DD diskettes usually format track 0 single density, and 1 fewer DD
  track
  <li>I assume user has an 80tk DSDD drive and it's not drive 3 (which
  on a Model I can only be single sided)
  <li>When changing PDRIVE settings, remember to add A on the end to
  activate it
  <li>Quick way to copy PDRIVE settings which is not shown in the online
    NEWDOS/80 manual is "PDRIVE 0 2=9" which will copy from #9 into #2
  <li>User is using NEWDOS/80 v2 with ZAP/CMD
  <li>Reading sectors on superzap:<br>
     "dd"<br>
     "2,0"   (e.g. drive 2, sector 0)<br>
     "+" and "-" to step forward and back, "k" to choose another
  sector,<br>
     "x" to return to the menu (or you can type "EXIT" while sector
  browsing)
</ul>

<p>
a1. set pdrive to double sided single density 10 sectors/track<br>
a2. use zap read sectors 0 through 5<br>
a3. if sector 5 fails, you have a double-density diskette, track 0 SD,
go to b1.<br>
a4. read sectors 6 through 10.<br>
a5. if sector 10 fails, you have a single-sided single-density
diskette. go to c1.<br>
a6. if sector 10 is identical to sector 0, you have a side-select
problem (on a Model I, drive 3 can be single-sided only)<br>
a7. read sectors 11 through 20.<br>
a8. if sector 20 fails, you have a 40 track diskette.<br>
a9. look for the directory track. Look at sector 0 byte 2. Also try
disk sectors 170, 340, 400, 800 looking for the 'P' marker on the sector.

<p>
b1. set pdrive to DSDD 18 sectors/track<br>
b2. read sectors 0 through 18.<br>
b3. if sector 18 fails, you have a single-sided diskette.<br>
b4. read sectors 19 through 36.<br>
b5. if sector 36 fails, you have a 40 track diskette.<br>
b6. look for the directory track. Look at sector 0 byte 2. Also try
disk sectors 170, 340, 400, 612, 720, 800, 1440 looking for the 'P'
marker on the sector.

<p>
c1. set pdrive to SSSD 10 sectors/track<br>
c2. read sectors 0 through 10.<br>
c3. if sector 10 fails, you have a 40-track diskette.<br>
c4. look for the directory track. Look at sector 0 byte 2. Also try
disk sectors 170, 400 looking for the 'P' marker on the sector.

<h4>Answer by Phil Ereaut</h4>

<p>In Newdos the mysterious Pdrives are just information for each drive,
such as, No. of tracks, Single or double density, Single or Double
sided, and a few other parameters needed by the DOS to interface with
that that disk on that drive.

<p>The pdrive information can be displayed by the command "Pdrive 0".
Unfortunately, this display does not really mean much to anyone who
has not read and understood the manual.

<p>The first line of the display may be:

<pre>
0*  TI = A, TD = E, TC = 40, SPT = 18, TSR = 00, GPL = 2, DDSL = 17, DDGA = 2
</pre>

<p>This would be a Drive 0, 40 Track, 5 Inch, Single sided, Double
Density disk.

<p>Generally, the settings for standard type disks are much the same, but
a few people along the way, used many and varied settings for their
GPL, DDSl, etc, which can makes it difficult to read, if you get one
of these disks.

<p>A Newdos Pdrive table is kept on each disk at, Track 0, Sector 2.
ONLY the table on the SYSTEM disk is used for the drive settings.  It
has 10 rows of 16 bytes each, from 00 - 9F hex. Each row is the Pdrive
values 0 to 9 as shown when a "Pdrive 0" command is done.  These are
the permanent Pdrive parameters, kept on the SYSTEM disk.

<p>The number of these actually used is dependant on the number of
drives in use on the system, and are termed active drive slots.  The
others are spares, which can be copied to the active drive slots to
allow different type of disks to be used in those drives.
This is done by using the Pdrive command.  Example:

<pre>
pdrive 0,1=6,A
</pre>

<p>This command moves the values stored in slot 6 to Slot 1.  The ,A
causes the change to be made in memory as well as to disk.
If ,A is not used, the change is made only on disk and thus does 
not take effect until the next time you reboot.
[Note: information about ,A corrected by Robert Kircher.  Thanks.]

<p>New single Pdrive parameters also can be input, and saved in the
table.  Example:

<pre>
pdrive 0,1,TD=G,DDSL=20 
</pre>

<p>This command changes the parameters in slot 1 on disk only.
Adding the ,A at the end of the command would also make the change in memory.

<p>A Pdrive table is on every disk, but it is only the table on the
SYSTEM disk that is used by the System.  One use for this table on a
NON SYSTEM disk can be to determine the Pdrive's of this particular
disk.  Usually, on a non system disk, the top Pdrive shown is the
Pdrive settings for that disk. (Even though it is not used by the
System for that disk) This allows us to read these settings with a
machine language program, and display the settings of an unknown disk.

<p>The following contains information about the parameters, and where
they are obtained from.  It is not necessary to know ALL of this to
use Pdrives. A general understanding of the parameters shown in the
displayed Pdrive table, and use of some the tables below to interpret
the letters, etc, such as, TI = A is all that is required.  Some of
the settings are as shown in the byte; others use bit mapping of the
byte to store the values.  Bytes bit mapped are: 02, 07, 0D and 0E, 0F

<p>The table is set up as shown for row 0 (Shown in Hex):

<pre>
00    01    02   03   04    05   06   07   08   09   0a   0b  0c   0d  0e   0f
DDSL Lumps  *    TC   SPT   GPL       *   DDSL DDGA           TSR  - TI -   TD
11    48    04   28    12   02   00   01   11   02   00   00   00  01  00   04
</pre>

<p>This would be shown in the displayed pdrive table using "Pdrive 0" as
follows. (Values are displayed in decimal.)

<pre>
0*  TI = A, TD = E, TC = 40, SPT = 18, TSR = 00, GPL = 2, DDSL = 17, DDGA = 2
</pre>

<p>This would be a 40 Track, 5 Inch, Single sided, Double Density disk.

<pre>
DDSL  = Disk Directory starting lump
Lumps = Total lumps on disk
TC    = Track Count: No of tracks on disk
SPT   = Sectors per Track
GPL   = Granules per Lump
DDGA  = Disk Directory Granule Allocation: No of Granules used by the Directory
TSR   = Track step rate: Speed of stepping between tracks
TI    = Shows interface type, and other required parameters.
TD    = Shows Disk size, Density, No of sides, SPT

Byte 02 (TI & Tsr)                 
Bit 0 = TSR
Bit 1 = TSR
Bit 2 = A  or E (Bits 2&4) or B (Bits 2&3)
Bit 3 = D  or B (Bits 2&3)    
Bit 4 = C  or E (Bits 2&4)                    
Bit 5 = M                    
Bit 6 = K
Bit 7 = H

Byte 07
Bit 0 = 8 Inch Disk
Bit 1 = Double Sided
Bit 2 =
Bit 3 = I (Lowest track sector is 1)
Bit 4 =
Bit 5 = L (Two steps between tracks)
Bit 6 = K & J (Track 0 Opposite Density)
Bit 7 = Double Density

Bytes 0D & 0E (TI)
Byte 0D                            Byte 0E
Bit: 7  6  5  4  3  2  1  0        7  6  5  4  3  2  1  0
     H     I  E  D  C  B  A                 M  L  K  J  I       
A = Standard Interface
B = Omnikron
C = Percom Doubler
D = Apparat Disk Controller
E = LNW type
H = 8 Inch drives only. Head settle to be done
I = Lowest sector on Track is 1 (Model3 Trsdos)(Set by flag M)
J = Track No's start from 1 (Is set by K)
K = Track 0 formatted in opposite density to other tracks (Flag J is
    set by flag K)
L = Two steps between tracks. Allows 40 Track disks to be read on 80
    Track drive
M = Standard Trsdos Model 3 (Flag M sets flag I)

Byte 0F (TD Parameter)
Bit 0 =  A : 5 inch   Single Density     Single Sided     10 Secs per Track
Bit 1 =  B : 8 inch   Single Density     Single Sided     17 Secs per Track
Bit 2 =  C : 5 inch   Single Density     Double Sided     20 Secs per Track
Bit 3 =  D : 8 inch   Single Density     Double Sided     34 Secs per Track
Bit 4 =  E : 5 inch   Double Density     Single Sided     18 Secs per Track
Bit 5 =  F : 8 inch   Double Density     Single Sided     26 Secs per Track
Bit 6 =  G : 5 inch   Double Density     Double Sided     36 Secs per Track
Bit 7 =  H : 8 inch   Double Density     Double Sided     52 Secs per Track
(Note that NEWDOS uses the term "track" to mean "cylinder" -- that is,
for double-sided diskettes, NEWDOS counts sectors on both sides of the
disk as part of the same "track".)
</pre>

<p>Normally the disk is mapped in Tracks, Sectors, and granules.  Newdos
uses a different method of disk mapping, using Lumps, in place of
Tracks.  These lumps can overlap tracks, starting on one track and
ending on the next track.  This can be confusing (only to us; the DOS
knows what it's doing), particularly with the directory, which starts
on a particular lump, not on a particular track.

<p>In the example shown above: Sectors per Granule = 5 (Standard for
Newdos): Gpl = 2.  Therefore there are 10 sectors per lump.  The
Directory starts on lump 17, (DDSL = 17).  Therefore the Directory
starts on sector 170.  As each track has 18 sectors, the Directory
starts on Track 9 Sector 8.  This does not really worry the average
user, as the System does all the work.  Only those of us who are silly
enough to play around with this stuff, really care whether it is
tracks, or Lumps, or Doughnuts.

<h4>For more NEWDOS/80 information</h4>

<ul>
<li><a href="http://www.kjsl.com/trs80/nd80cmds.html"
>NEWDOS/80 Command Summary</a>

<li><a href="http://pilot.ucdavis.edu/davidk/documentation/trs-oper.htm"
>TRS-80 Documentation Preservation Pages: Operation Manuals</a>
(includes NEWDOS/80 Model III manual)

</ul>

<hr><h3><a name="[24]">
    [24] How do I make a bootable double-density Model I LDOS 5.3.1 
    system disk from the single-density master disk set?
</a></h3>

Here is one procedure that works:

<ul>
<li>Put the single-density LDOS master disk in drive 0.
<li>Put a blank disk in drive 1.
<li>Boot.
<li>Type <tt>FDUBL (TANDY)</tt> or 
<tt>FDUBL (PERCOM)</tt>, depending on whether you have a
Tandy or non-Tandy double density adaptor.  If you are doing this
procedure on an emulator rather than a real machine, check which type
of adaptor it is emulating.
<li>Type <tt>FORMAT :1 (SYSTEM)</tt>
<li>Answer the questions that FORMAT asks.
<li>Type <tt>SOLE :1</tt>
<li>Type <tt>BACKUP :0 :1 (SYS,INV)</tt>
<li>Type <tt>SYSTEM (DRIVE=1,SYSGEN)</tt>
</ul>

<p>The disk in drive 1 is now a bootable, double-density LDOS system disk.
Test it as follows:

<ul>
<li>Remove the LDOS master disk from drive 0.
<li>Move the new disk from drive 1 to drive 0.
<li>Boot.
</ul>

<p>At this point you may want to put the remaining LDOS files from the
LDOSXTRA disk onto your new boot disk:

<ul>
<li>Insert the LDOSXTRA disk in drive 1.
<li>Type <tt>BACKUP :1 :0 (SYS,INV)</tt>
</ul>

<hr><h3><a name="[25]">
    [25] What about using 8-inch drives on a PC?
</a></h3>

<p>It's surprisingly easy to use an 8-inch drive on a PC.  An 8-inch
drive looks electrically very similar to a 5.25-inch HD (1.2MB) drive:
it spins at 360 RPM, has 77 (vs 80) tracks, and the data rate is the
same.  The main difference is that 8-inch drives use an older 50-pin
version of the Shugart bus, so you will need a 34- to 50-pin adapter.
The <a href="http://www.faqs.org/faqs/CPM-faq/"
>CP/M FAQ</a> provides some useful information for making such cables,
but watch out for the difference between the IBM PC "twisted cable" standard
and the original Shugart SA400 34-pin bus.  At this writing, Q14 in
the CP/M FAQ gives wiring that is right for the old bus but wrong for
the IBM PC version.  See Q16 for the changes that IBM made.
You can also buy a nice pre-made adapter from D-Bit (see
<a href="http://www.dbit.com/fdadap.html"
>http://www.dbit.com/fdadap.html</a>), but I haven't tried these.
There could be minor issues because 8-inch drives spin continuously
and normally load/unload the heads when active, while 5.25-inch drives
always have the heads loaded but are spun down when not active.
However, when I tried this, I didn't experience any problems.

<p>As with all floppy drives, the BIOS settings are important.
Tell the PC BIOS that your 8-inch drive is a 5.25-inch 1.2MB drive,
and it should be happy.

<p>You can also plug an 8-inch drive into a Catweasel card (see topic
<a href="#[16]">[16]</a>) using the same type of 34- to 50-pin adapter
discussed above.  I have one set up this way and working.

<hr><h3><a name="[26]">
    [26] How can I read the back of a disk that was written in a
    flippy drive?
</a></h3>

<p>A <i>flippy drive</i> has one head, two write-protect sensors, and
two index-hole sensors.  You can put an ordinary floppy disk into it
with either side up and read/write to that side.  To access the other
side, you have to remove the disk and turn it over.
This is a similar concept to the "flippy disk", but there the 
<i>disk</i> is special: it has two index holes in the jacket and two
write protect notches, so you can put it into an ordinary 1-sided
floppy drive with either side up.

<p>If you have a disk that was written in a flippy drive, but you
don't have any flippy drives, reading it will be difficult, and
writing to it even more difficult.  Technically, the index hole signal
shouldn't be needed in order to read or write an ordinary floppy disk,
only to format it (though the signal may be needed to read or write
certain unusual formats).  So if you only need to read/write the disk,
you might expect to be able to put it in an ordinary drive upside down
and have it just work.  Unfortunately, this doesn't work on drives and
disk controllers made for modern PCs.  Modern drives often have
circuitry in them that refuses to send any data to the controller
unless the drive has seen the index hole go by a few times and can tell
that the motor is up to speed.  Also, the controller itself may refuse
to accept data until it has seen some index pulses.

<p>You also might think of trying to read the back of a flippy using
the second head in a regular 2-sided drive.  This doesn't work for two
reasons.  First, the disk is spinning the wrong way, so the stream of
clock and data bits comes out in reversed order, and a regular floppy
disk controller can't decode it.  It's possible to program a Catweasel
to decode the reversed data, but the back head in a 2-sided drive is
offset inward slightly from the front head, so it cannot be positioned
over the data from the first couple of tracks on the back of a flippy.
When the head is against the track 0 stop, it's reading track 2 or 3;
the lower numbered tracks are unreachable.  Because of this problem, my
<a href="catweasel.html">Catweasel Floppy Read/Write Tools</a> don't
attempt to decode data from the back of a flippy, but they do have a
feature that <i>detects</i> if there is reversed data on the back and
prints a message reading "Possibly a flippy disk; check reverse side
too".

<p>Here are a few ways to read (and possibly write) the back of a
flippy:

<p>(1) The easiest way is to take a hole punch and carefully punch an
extra index hole (in both sides of the jacket, but <i>not</i> in the
magnetic media!) and an extra write protect notch.  The easiest way to
see exactly where the holes should go is to take the magnetic media
out of an extra disk that you don't mind destroying (so that you can
see through the jacket's index hole) and use that as a template.

<p>(2) If you are good with electronics, you may be able to modify a
drive to generate fake index pulses.  See <a
href="http://siliconsonic.de/t/flipside.html"
>http://siliconsonic.de/t/flipside.html</a> for one modification idea.
Although the page about the modification refers to the Catweasel, a
drive modified in this way should work with a standard PC floppy disk
controller too.  Note that the fake index pulses don't come at the
same point in the disk's rotation as the real index pulse would.  This
should not be a problem unless you are dealing with one of the rare
special formats that depends on index pulse position.

<p>(3) If you have a Catweasel and you use my <a
href="catweasel.html">Catweasel Floppy Read/Write Tools</a>, the -h0
flag will let cw2dmk read a disk even if the Catweasel doesn't receive
any index pulses.  However, you still need to have a drive that will
send data to the Catweasel even when the drive doesn't see any index
holes.  An old, TRS-80 vintage drive should work.  A newer model of
drive that will work is the Mitsubishi MF504B or MF504C, if you open
the drive up and remove the jumper marked RD.  Currently dmk2cw
doesn't support writing to a disk without using the index hole.

<hr>
<p>** End of TRS-80 Model I/III/4 FAQ **

</BODY></HTML>