TRS80 Model I Tuneup Helmut Bernhardt, Egbert Schr|er, Claus Ruschinski 1.Vorwort In einem Club Info Jahrgang 1990 bot Hans-G}nther Hartmann Hard- ware Restposten unter anderem f}r das Model I an. Dazu geh|rte auch das Big Mem Board, welches den TRS80 Model 1 durch Banking auf 94 K erweiterte. Kurz nach Erscheinen des Restposten-Angebots war ich (E.S.) im Besitz dieses Boards und mu~te mir die dazuge- h|rige Paperware von 1cm Dicke bei Helmut besorgen. Der wiederum schlug mir vor, anstatt des Big Mem Boards seinen Adre~decoder und Banker einzubauen. Nach Sichten der M|glichkei- ten schien mir dies auch der eleganteste Weg zu sein. Allerdings mu~te die Schaltung von Helmut, der diesen Umbau bisher nur f}r den Genie I ausgef}hrt hatte, ferndiagnostisch ausgeguckt und in endlosen Telefonsessions mit mir abgeglichen werden (vielen Dank Helmut), da gleichzeitig auch ein Double Density Controler zu kreieren war. Da ich keinerlei Hardware Kenntnisse besitze be- stand meine Arbeit nur aus dem Nachbau nach Helmut'schen Angaben und Beschreibung der auftretenden Fehler. Alle Angaben und Fehler wurden von mir dokumentiert um Nachbauern die Arbeit zu erleich- tern und Helmut sich die M}he zu ersparen nochmals den Kram aus- zugucken. Es sei an dieser Stelle nicht verschwiegen, da~ der Umbau auf dem Model I nie vollst{ndig beendet wurde, da eine ]berspannung im VEW-Netz meinem zu diesem Zeitpunkt 8 Jahre alten Rechner plus einem nagelneuen 80 Track Laufwerk den Garaus machte. Mittler- weile hat Claus Ruschinski das Teil soweit repariert, da~ es wieder mit Single Density l{uft; Double Density ist noch nicht m|glich, obwohl der Doubler in Ordnung ist (vielen Dank Claus). Den Umbau habe ich aber - mit Helmuts Hilfe - auf einem Genie I fortgef}hrt und bis auf eine falsch geschaltete Adresse (A13; tja Helmut immer noch !!) l{uft die Sache. Der Umbau Plan sieht also so aus: Das Model 1 wird mit 8 St}ck 41256-RAMs anstelle der 4116er auf dem CPU-Board best}ckt. Daf}r sind vorher noch einige Umr}st- Arbeiten f{llig (dazu sp{ter mehr). In dem Sockel des Z80 wird das FC-Switchboard mit einem Z80B (oder h|her) gesteckt, welches die Freigabe-Signale f}r alle Memory Mapped Signale beisteuert. Das Level II Basic befindet sich auch auf diesem Board. Anschlie~end wird der 256K Banker eingebaut, um mit den 256K auch vern}nftig umgehen zu k|nnen. Dann wird von Hand eine Schaltung gestrickt, die das Umschalten entweder der unteren oder oberen 256K mit dem Banker steuert, also je nach zu bootendem Betriebs- system NewDos oder CP/M Anforderung. Und v|llig unabh{ngig davon wird eine Minimal-Speed-Umschaltung mit einem Handschalter kon- struiert. Das Tuneup besteht somit aus 4 Teilen: 1) Aufbau eines Double Density Boards auf Basis eines WD2793 2) Anschlu~ eines neuen Adre~dcoders 3) Einbau eines 256 K (oder mehr) Bankers 4) Speed up (von 1,7 auf 5,3 MHz) Beachten: Bei der Japan Version des Trash 80 m}ssen die beschrie- benen [nderungen gepr}ft und verglichen werden !!!! 2. Der Doubler Unter dem Titel SELBSTBAU DOUBLER F]R EXP1 ist in einem {lteren Club-Info hierzu ein Artikel von Helmut ver|ffentlicht worden. Diese Bau-Anleitung betrifft nur den GENIE I. F}r den TRS 80 sind einige kleine Modifkationen notwendig. Grundlage des Doublers ist der WD2793 Floppycontroler. F}r Ein- zelheiten zu diesem Board wird auf den Artikel verwiesen. Folgende [nderungen m}ssen f}r den TRS 80 Model I durchgef}hrt werden: (die Bezeichnungen der IC's und Widerst{nde entsprechen den Angaben im Hardware Handbuch Expansion Interface Cat. Nr. 26- 1140/1141/1142). 1) Die invertierenden Treiber Z50 und Z51 (74LS240) m}ssen ausge- l|tet und, am besten gesockelt, durch die nicht invertierenden pinkompatiblen Treiber 74LS245 ersetzt werden. Sollten Fehler auftreten, k|nnen durch einfaches Aushebeln die alten Treiber eingesetzt werden. 2) FD DATA geht von Pin 27 des durch ein Huckepack-Board zu er- setzenden WD1771 FDC an Pin 8 des IC's Z32, Typ 74LS04. Man l|tet dieses IC am besten aus und sockelt ein IC gleichen Typs ohne Pin 8 und 9 (abkneifen oder besser aus der Fassung biegen). 3) Von Pin 9 des Z32 geht }ber den Widerstand R22 READ DATA* an den Floppy Disk Bus J5 (Pin 30). Der Widerstand R22 mu~ ausge- l|tet werden. Dies sind alle [nderungen. Der WD1771 FDC wird nun aus seinem Sockel herausgel|st und durch das Huckepackboard mit WD 2793 FDC ersetzt. Durch Booten und gleichzeitiges Dr}cken der BREAK-Taste sollte man nun in das LEVEL 2 Basic gehen, und die einwandfreie Funktion des neuen FDC mit folgendem kleinen Basic Programm testen: 10:FOR X = 14304 TO 14319 20: PRINT PEEK X; 30:NEXT X 40:PRINT 50:GOTO 10 Es werden folgende 16 Bytes ausgegeben: ersten 4: 63 127 191 ??? ? f}r uns ohne Bedeutung n{chsten 4: ?? ??? ??? ??? 4: ?? ??? ??? ??? 4: 128 0 0 0 0 zuf{llig Von den Adressen 14317 an sollte man nun mit POKE Adresse Zahl Werte Schreiben und mit PEEK wieder auslesen k|nnen. Ist dies m|glich, m}~ten alle Anschl}sse einwandfrei sein. Das Doubler Board wird, wie in obigem erw{hnten Artikel beschrie- ben, f}r die einwandfreie Funktion von Datenseparator und Schreibvorkompensation an den Potentiometern P1 und P2 und dem Kondesator C1 mittels Oszilloskop oder wie bei mir in Ermangelung eines Selben durch wiederholte Bootversuche und st{ndiges Ver{ndern von P2 und C1 die g}nstigste Einstellung f}r das Lesen einer Diskette gefunden. Mit P1 (Schreiben einer Diskette) kann {hnlich Verfahren werden (Methode: Try and Error). 3. Der neue Adre~decoder und das Banking Board Eleganter Adre~decoder f}r GENIE I. Unter dieser ]berschrift ver|ffentlichte Helmut in Info Nr.28, Seite 74 ff eine Schaltung, die einen BIGMEM-{hnlichen Banker f}r den GENIE I darstellt. Diese Variante kann dem TRS 80 zug{nglich gemacht werden. Dabei wird das gleiche Adapter Board mit den gleichen PALs und einem 27128 Eprom mit Level II Basic eingesetzt. Hier soll nur noch beschrieben werden, wo die von diesem Adapter erzeugten Signale angelegt werden, und welche [nderungen durchzuf}hren sind, damit auf dem CPU Board des TRS 80 4164er oder 41256er RAM-Bausteine eingesetzt werden k|nnen. Die Banking Logik und den Anschlu~ ohne neuen Adre~decoder wurde in einem Info unter dem Titel "256K RAM f}r Z80-System" von Helmut beschrieben. Auf geht's ! Zum CPU-Board und zum Expansion Interface zu verdrahtende Signale des Adapters: /RAM (CPU) Z67,74LS367,Pin 15 die Br}cken Pins 12,5 und Pins 11,6 im Jumperfeld X71 m}ssen offen sein. /MRD (CPU) Z67,74LS367,Pin 1 (CPU) Z68,74LS367,Pin 1 diese Pins sind bereits miteinander verbunden; die Verbindung dieser Pins zu Z74,74LS00, Pin 6 mu~ durchtrennt werden. /KB (CPU) Z3,74LS368,Pin 1 (CPU) Z4,74LS368,Pin 1 diese Pins sind bereits miteinander verbunden; die Verbindung dieser Pins mit Z36,74LS32, Pin 11 mu~ durchtrennt werden. /VID (CPU) Z31;Z49;Z64 alle 74LS157 jeweils Pin 1 diese Pins sind miteinander verbunden; die Verbindung dieser Pins zu Z36, 74LS32, Pin 8 mu~ durchtrennt werden. /FLO (EXP) Z39,74LS155, Pins 2,14 diese Pins sind miteinander verbunden; die Verbindung dieser Pins zu Z40, 74LS139, Pin 12 mu~ durchtrennt werden. Im Expansion Interface sind bei Umr}sten auf 64K oder 256K (oder mehr) im CPU-Board alle RAMS 4116 RAMs und die Treiber Z29 und Z31, beide vom Typ 74LS244 zu entfernen. Da das ROM nun innerhalb der CPU-Datentreiber liegt, d}rfen die Lesetreiber nicht freigegeben werden, wenn das ROM gelesen wird. Daf}r ist folgender kleiner Patch n|tig: Abb.1 Die Verbindung der Pins 9 und 10 von Z53,74LS132 ist zu trennen. Der Pin (dieser beiden), der nicht mehr mit Pin 6 dieses ICs verbunden ist, wird mit Pin 10 von Z37, 74LS02 verbunden. Die Verbindung der Pins 8 und 9 von Z37, 74LS02 mit GND wird durchtrennt (ACHTUNG !! eventuell werden andere ICs dadurch von GND abgetrennt; solche m}ssen dann wieder an GND gelegt werden. Dies kann bei den verschiedenen Bau- reihen unterschiedlich sein). Die Pins 8 und 9 von Z37, 74 LS02 werden mit /ROM vom Adapter-Board verbunden (dort 27128 Pin 20). Um auf dem CPU-Board 4164er oder 41256er RAMs einsetzen zu k|n- nen, sind - aufgrund der Konzeption des Adapters - folgende [n- derungen durchzuf}hren: 1) Die Leiterbahnen, die alle Pins 9 der RAM-Sockel miteinander verbindet ist von +5V abzutrennen (eventuell an mehreren Stellen). Alle Kondensatoren, die dann noch Verbindung mit den Pins 9 der RAMs haben, werden ausgel|tet. 2) Die Leiterbahn, die alle Pins 8 der RAM Sockel miteinander verbindet, ist von -5V abzutrennen (eventuell wird -5V noch an anderer Stelle ben|tigt -> unbedingt pr}fen !! ob dort noch vor- handen). Alle Kondensatoren, die dann noch Verbindung mit den Pins 1 der RAMs haben, werden ausgel|tet. 3) Die Leiterbahnen, die alle Pins 8 der RAM Sockel miteinander verbindet, ist von +12V abzutrennen (eventuell wird +12V noch an anderer Stelle ben|tigt -> pr}fen, ob dort noch vorhanden !!). Die Kondensatoren, die mit den Pins 8 verbunden sind, bleiben bestehen. Die Pins 8 der RAM-Sockel werden mit +5V verbunden. 4) Das Signal A7 wird von Pin 6 des Z35, 74LS157 abgetrennt. Dieser Pin wird mit Pin 11 von Z38, 74LS367 verbunden (Signal A14). Auch hier ist zu pr}fen, ob A7 dadurch nicht eventuell von einem anderen IC abgetrennt wurde. In diesem Fall w{re A7 dorthin frei zu verdrahten. Wenn 4164er RAMs eingesetzt werden sollen, wird A7 (von Pin 11 des Z39, 74LS367) an Pin 14 des Z51, 74LS157 gelegt und A15 (von Pin 9 des Z38, 74LS367) wird an Pin 13 des Z51, 74LS157 gelegt. Der Pin 12 des Z51 wird mit den Pins 9 der RAM-Sockel verbunden. Wenn mit dem 256K-(1MB-)Banker 41256er-RAMs eingesetzt werden sollen, wird auf Z35 oder Z51 ein weiteres IC vom Typ 74LS 157 mit den Pins 1,8,15 und 16 huckepack aufgel|tet. Alle anderen Pins dieses ICs werden leicht abgespreizt, um Kon- takt mit den Pins des ICs darunter zu vermeiden. An die Pins 2,3,5 und 6 dieses Huckepack-ICs ist mit den Pins 9 der RAM- Sockel und Pin 7 mit den Pins 1 der RAM-Sockel zu verbinden. Bei gleichzeitigem Einsatz des 256K-Bankers und des Adre~decoder- Adpaters bieten sich folgende Vereinfachungen und Verbesserungen: 1) Das Freigabesignal des Latches 74LS273 auf dem 256K-Banker wird nicht auf dem Banker erzeugt; stattdessen wird das Signal /QFB (Pin 17 des PAL16L8 auf dem Adapter) an Pin 11 des 74LS273 auf dem 256K-Banker gef}hrt. Die Selektion einer Bank erfolgt dann durch Ausgabe der Bank Nr. an Port FBH. 2) Das Signal A15, das dem Banker zugef}hrt wird, sollte f}r die Benutzung unter CP/M (Banking der unteren 32K des Z80-Adre~raums) direkt A15 sein und f}r die Benutzung unter NewDos/80 (Banking der oberen 32K) ein invertiertes A15. Um das Banking abwechselnd in beiden Betriebssystemen nutzen zu k|nnen, soll durch Software einstellbar sein in welcher logischen Speicherh{lfte gebankt werden kann. Auf dem Adapter erfolgt bereits eine softgesteuerte Umschaltung von A15 in /A15 mit dem XOR-Gatter (Pins 1,2 und 3) vom 74LS86. Das an das PAL20L8 gef}hrte Signal an Pin 3 dieses Gatters braucht nur noch invertiert zu werden und erf}llt dann die Anforderung, als Eingangssignal A15 des 256K-Bankers zu die- nen.Daf}r werden die Pins 3 und 4 des Sockels des 74LS86 auf dem Adapter miteinander verbunden. Pin 5 wird mit Pin 14 (+5V) ver- bunden und Pin 6 ergibt das gew}nschte Signal A15 f}r den Banker. Dieses Signal ist durch den Pegel von D4 an Port FCH steuerbar, womit auch vorgegeben wird, ob die Memory Mapped Baugruppen in den unteren 16K oder an entsprechender Stelle in den oberen 16K des Z80-Adre~raumes liegen. Nochmals zur Verdeutlichung: Da die 41256er RAMs 8 Bit Refresh Adressen brauchen, m}ssen A0-A7 zusammen durch den Adre~multiplexer gef}hrt werden. Da das A7 des Z80 f}r das Refreshing keine Funktion hat, ist stattdessen A7' des 256K Bankers verwendet worden. Zur Erleuterung siehe folgende Abbildung. Die dort zu verdrahtenden Signale A7',A15',A16' und A17' stammen vom 256K-Banker. Abb.2 Zum Schlu~ dieses Bauabschnittes mu~ ich nochmals darauf hinwei- sen, da~ beim Durchtrennen von Leiterbahnen ein Signal eventuell nicht nur von der gew}nschten Stelle abgetrennt werden, sondern auch noch von anderen ICs. Manchmal ist es nicht ohne weiteres zu erkennen (wenn z.B. die Leiterbahnen unter dem IC weiterf}hren), da~ an dieser Leitung noch mehr angeschlossen ist (Ich empfehle deshalb alle betreffenen ICs auszul|ten und anschlie~end zu sockeln). Wenn das der Fall ist, ist die Leitung auf beiden Seiten des Pins - der nicht mehr damit verbunden sein soll - zu durchtrennen und das Signal ist vom Ausgangspin zu dem anderen Zielpin mit isolierter d}nner Litze oder Wrapdraht zu verbinden. Da die in Kapitel 3 beschriebenen Umbauten aufgrund der mir vor- liegenden Schaltpl{ne meines TRS80 Model 1 von Helmut ausgeguckt wurden, kann f}r den Einzelfall nicht angegeben werden, ob eine oder zwei Auftrennungen n|tig sind und/oder nachverdrahtet werden mu~. 4. Speed up auf 5.3 Mhz (oder mehr??) Nachdem nun der schwierigste Teil hoffentlcih }berstanden ist kommt nun eine Minimal Speedup Handumschaltung. Dazu wird die Verbindung zwischen den Pins 5 und 12 des Z69, 74LS74 durchtrennt und die Pins 13 und 12 dieses Ics miteinander verbunden. Wenn die zu durchtrennende Leitung nicht erreichbar ist - Modellabh{ngig - wird Pin 5 durchgekniffen. Diese [nderung kann auch bei einer eventuell n|tigen Abr}stung des Speed up bestehen bleiben. Man kann an Z56 verschieden Taktraten einstel- len: Pins 8,9,11,12 haben Taktraten von 1,7 MHz, 3,5 MHz, 5,3 MHz usw.. Die Pins 8 und 9 werden an die Au~enkontakte eines Umschal- ters gelegt. Der Mittelkontakt wird mit Pin 12 von Z72, 74LS367 verbunden. Die bisherige Verbindung Z56, Pin 8 -> Z72, Pin 12 wird durchtrennt. Man sollte zun{chst 3,5 MHz ausprobieren. und anschlie~end anstelle von Pin 9 auch Pin 11 von Z56 an den Um- schalter legen - 5.3 MHz - und testen. Die 41256 RAMs machen das ohne weiteres mit, wenn die Leitungen zum Umschalter m|glchst kurz gehalten werden. 5. Zusammenfassung Nochmals den Einbau Adre~decoder (FC-Switchboard) Banker und Speed up in Kurzform: _________________________________________________________________ RAM: +12V,-5V,+5V von den Pins 1,8,9 abtrennen; Pr}fen !!! +5V an Leitung, die mit Pins 8 der RAMs untereinander verbunden sind. Alle Kondensatoren, die die Pins 1 bzw. 9 untereinander verbinden entfernen. _________________________________________________________________ Refresh der 41256er RAMs: Abb.2 und entsprechender Info Artikel Z35, 74LS157 2 Leitungen trennen - 3 und 6 - 1x huckepack l|ten Z51, 74LS157 2 Leitungen trennen - 13 und 14 - _________________________________________________________________ Alte ROMs Z33/34 entfernen (eventuell kann, mu~ nicht, Z21, 74LS156 entfernt werden ->Geschwindigkeit !) _________________________________________________________________ /RAM Z67, 74LS367 /RAM mit Pin 15 verbinden, bestehende GND Verbindung trennen. /KBD Z3,Z4, 74LS368 /KBD mit Pins 1 von Z3/Z4 verbinden, alte Leitungen dorthin durchtrennen /VID Z31,Z49,Z64 74LS157 Z7, 74LS74 /VID an Pins 1 von Z31,49,64 und Pin 4 von Z7 verbinden Z36, 74LS32 Verbindung zu Pin 8 von Z36 trennen _________________________________________________________________ Auf dem Expansion Board: /FLO Z39, 74LS1 /FLO an Pins 2 und 14 von Z39, Z40, 74LS139 Verbindung dieser Pins mit Pin 12 von Z40,74LS139 trennen Im Expansion Board alle RAMs und die Treiber Z19, Z31,74LS244 entfernen. ?FLO kann anstelle von A15 }ber das 40 polige Buskabel gef}hrt werden. _________________________________________________________________ Geschwindigkeit: Z69,74LS74 *Pins 5 und 12 Verbindung trennen. Pins 12 und 13 verbinden. * falls die Leitung nicht erreichbar, wird Pin 5 durchgekniffen. Z56, 74LS92 8,9,11,12 -->Taktfrequenz Pins 8 und 9 an Au~enkontakt - eventuell Pin 11 f}r 5,3MHz - des Umschalters Z72, 74LS367 Mittelkontakt mit Pin 12 von Z72, 74LS367 verbinden Z56 -> Z72 Verbindung Z56, Pin 8 nach Z72, Pin 12 durchtrennen 6. Hardware Bauteile Zum [tzen der Boards und Brennen der unschuldigen PAL's m}~t Ihr schon den Helmut bequatschen. ]ber die entstandenen Unkosten werdet ihr sicherlich mit ihm einig. Kopien der Schaltpl{ne TRS80 Model I CPU und Expansion Board stelle ich zur Verf}gung - frankierten R}ckumschlag beilegen -. Vom Japan CPU-Board habe ich auch einen Schaltplan der Firma RB-Elektronik. 7. Software F}r den Betrieb von CP/M 3.0 auf dem Model I ist als Bootlaufwerk ein 80 Track Laufwerk n|tig. Es gibt ein gebanktes und ungebanktes CP/M 3.0, dessen Loader auf den PAL Banker gepatcht ist. Die Sources sind von Peter Petersen, Stand vom 22.2.89. Das TRS 80 CP/M 3.0 Diskformat sieht wie folgt aus: 80 DS DD 5,25" Spurverfahren 0 1.Sektor 1 Spuren 80 letzter Sektor 10 Sektoren/Spur 10 Density double Dir-Gr|~e 256 Bytes/Sektor 512 K-Bytes/Block 2 Wr Precomp Spur 81 Systemspuren 2 Skew nein Head Bit Side0 0 Head Bit Side1 1 Allzeit gen}gend Lot auf dem Kolben Egbert Schr|er, November 1992