![]() | ![]() |
FDD3000 jest produktem znanej wszystkim firmy Timex. Jest to stacja dysków przystowana do współpracy z komputerami Timex Computer 2048, ZX Spectrum i innymi (np. Timex Terminal). Wygląd zewnętrzny jest bardzo poważny, jak na czasy komputerów 8-bitowych. Wszystkie układy i napędy oraz zasilacz mieszczą się w metalowej obudowie przystosowanej do postawienia pod monitorem. Jeśli zajrzymy pod obudowę, to szybko przekonamy się, że znajduje się tam osobny komputer. Na płytce drukowanej są obok układów we/wy zamontowane takie kości jak pamięć RAM, ROM, mikroprocesor Z80A (taki sam jaki jest w ZX Spectrum), kości obsługujące porty szeregowe RS232 oraz niedokończony port równoległy Centronics. Kontroler stacji pozwala podłączyć maksymalnie 4 napędy FDD naraz. Można podłączyć bez kłopotów napędy 3" (oryginalne) oraz powszechnie stosowane w IBM PC napędy 3,5" i 5,25" - wszystkie te, które są wyposażone w złącze Shugart. Wszystkie formaty dyskietek (3", 3.5" i 5.25") są akceptowane i obsługiwane przez kontroler i system operacyjny TOS v A.2. Według mnie najbardziej atrakcyjne jest podłączenie napędu 3,5-calowego, gdyż na jednej dyskietce (koniecznie DD, nie HD) mieści się 640kB danych i nie trzeba ręcznie zmieniać stron dyskietki. Poza tym dyskietki tego formatu są łatwodostępne, w przeciwieństwie do 3-calowych. Stacja dysków może pracować pod kontrolą systemu TOS albo CP/M lub innego (np. ZXVGS) Chyba, że ktoś napisze swój własny system operacyjny... TOS stanowi świetne rozszerzenie BASIC-a. CP/M jest o tyle ciekawy, że Spectrum staje się tylko terminalem dla stacji dysków, która wtedy sama staje się sercem systemu. Podłączenie Timex-a zamiast Spectrum daje w tym przypdaku znakomitą czytelność znaków, gdyż kompatybilne ze Spectrum komputery Timexa są wyposażone w rozszerzony układ grafiki generujący obraz o dwukrotnie większej rozdzielczości poziomej niż ZX Spectrum.
Komputer (stacja) FDD3000 składa się z kilku elementów we wspólnej obudowie:
- zasilacza
- płyty głównej (motherboard)
- płytki dodatkowej (daughterboard)
- napędów dyskietek 3"
Zasilacz jest bardzo prosty - tylko transformator, prostownik i stabilizatory napięcia. W razie czego można go łatwo naprawić lub zastąpić typowym dla PC.
Na płytce głównej, obok układów scalonych, znajdują się złącza: napędów dyskietek, szyna procesora, złącze interfejsu równoległego. Wyjaśnienia wymaga to ostatnie - sam interfejs jest przewidziany w FDD3000, ale nie dokończony. Aby go uruchomić, należy w przygotowane miejsca wlutować kilka scalaków, przestawić jeden z jumperów (rezygnacja z jednego portu szeregowego na rzecz centronics) i oprogramować transmisję we własnym zakresie, bowiem ani TOS, ani CP/M nie posiadają procedur obsługi tego złącza. Póki co odsyłam do starych "Bajtków", a w przyszłości umieszczę na stronie opis uruchomienia tego złącza.
Złącze procesora wygląda jak szyna krawędziowa w ZX81 - po szczegóły odsyłam do zakładki "hardware". Złącze napędów dyskietek jest jedno - na jednej taśmie podłącza się wszystkie (max. 4) napędy. Zasilacz jest przystosowany do zasilania maksymalnie dwóch napędów. Podobnie obudowa mieści maksymalnie 2 napędy (choć tu akurat możnaby pokombinować i upchnąć trzeci).




Jarek Adamski stworzył opis komputera Timex FDD3000, który przedstawiam poniżej. Autor wyraził zgodę na publikację tego tekstu.
Opis komputera TIMEX FDD 3000.
Komputer posiada (wersja z dużą płytką):
- procesor Z80 4MHz (możliwość zmiany częstotliwości zegara);
- 64 KB DRAM 4464;
- 128 B ROM włączane po resecie i zawierające procedurę czytania 256B z
sektora 0 ze strony 0 cylindra 0 napędu 0 (MFM) pod adres #3F00 i skok pod
#3F00;
- dwukierunkowe, równoległe łącze komunikacyjne (po 6 bitów w każdą stronę),
wyprowadzone na zewnątrz skręconym kablem;
- FDC WD1770 podłączony linią INTRQ do /INT Z80;
- UART WD2123 sterujący dwoma łączami RS 232C (RxD, TxD, RTS, CTS);
przerwania WD2123 nie podłączone do CPU;
- port konfiguracyjny wspomagający FDC (FM/MFM, opuszczanie głowic, strona i
wybór napędu) i odłączający ROM;
- mikrostyk generujący /RESET dla CPU i pozostałych układów;
- niezamontowane łącze Centronics 8bit; sygnały /STROBE i BUSY podłączone są
do drugiego portu WD2123, co uniemożliwia ich jednoczesne użytkowanie.
Złącza:
- PB1 krawędziwe męskie Centronics - korzystanie wymaga wycięcia otworu w
tyle obudowy lub jego przeróbki;
- PB2 krawędziwe męskie do zewnętrznych napędów dyskowych - korzystanie
wymaga wycięcia otworu w tyle obudowy;
- P1 punkty lutownicze dla uzwojenia wtórnego transformatora;
- P2 Sub-D DB9M dla pierwszego łącza RS 232C;
- P3 Sub-D DB9M dla drugiego łącza RS 232C;
- P4 punkty lutownicze dla LED, mikrostyku reset i łącza komunikacyjnego;
- P5 RF żeńskie do monitora;
- P6 punkty lutownicze - zasilanie do napędów;
- P8 igłowe męskie do napędów dyskowych;
- P9 punkty lutownicze (krawędziowe żeńskie) z sygnałami CPU (nie jest
zgodne z identycznie wyglądającym złączem krawędziowym ZX81);
brzeg środek
GND 1 GND
+5V 2 20VDC
=== 3 ===
/ROMCS 4 IROM
/INT 5 /WAIT
/NMI 6 /HALT
/RESET 7 /RFSH
CLK 8 A15
/BUSAK 9 A14
/BUSRQ 10 A13
/WR 11 A12
/RD 12 A11
/IORQ 13 A10
/MREQ 14 A9
/M1 15 A8
D7 16 A7
D6 17 A6
D5 18 A5
D4 19 A4
D3 20 A3
D2 21 A2
D1 22 A1
D0 23 A0
20VDC - bezpośrednie wyjście z transformatora zasilającego
IROM - podanie stanu wysokiego powoduje odłączenie wewnętrznego ROMu
/ROMCS - stan niski oznacza adresowanie ROMu do odczytu (uwzględnia /RD)
CLK - sygnał zegarowy - użycie zależnie od zworki J4
-pozostałe linie odpowiadają sygnałom Z80
Zworki:
J1 - ? (konfiguracja układu EFGJ161FN)
A - +5V (standardowo)
B - GND
J2 - ?
A - ?
B - ?
J3 - ?
A - ?
B - ?
J4 - zegar Z80
A - połączenie z wewnętrznym 4 MHz
B - połączenie z pinem złącza P9
J5 - zasilanie -12V (D, C2=470ľF, 7912, C30=100ľF)
J6 - zasilanie +12V
J7 - zasilanie +5V
J8 - połączenie masy płytki z obudową
Budowa:
Sterowanie pamięcią. Z układu EFGJ121FN (ten na środku) wychodzą cztery
linie, odpowiadające sekcjom pamięci. Są one podłączone do diodowej bramki OR.
Kolejno:
D1 - sekcja A
D2 - sekcja D
D3 - sekcja C
D4 - sekcja B
R5 - rezystor wyjściowy 1.5kom - wymusza stan niski.
Jeśli zostanie wybrany ROM portem #E0, odłączane jest pierwsze 8KB
pamięci RAM (#0000..#1FFF) i w to miejsce włączany jest ROM. ROM zgłasza
się tylko w trybie odczytu, a zapis nie powoduje zmiany zawartości
odłączonej części RAM.
Jeden z dwu kwadratowych układów SMD to EFGJ161FN, taki sam jak w TI. W TF
obsługuje on port komunikacyjny oraz multipleksuje linie adresowe dla pamięci
dynamicznych. W TF obwody wykrywające adresy dla przełączania ROM są
zablokowane przez podłączenie wejścia /M1 do +5V.
Zastanawia szybkie nagrzewanie się tego układu, gdy TF zostanie włączone
przy włączonym ZX z TI. Po kilku sekundach układ wręcz parzy. Wdzięczny byłbym
za sprawdzenie tego w innych egzemplarzach (układ ten znajduje się pod "DRIVE
B").
_____ _____
/ n Z / / / / / / + / A A A A D D D \
| c X M W R I M R 5 R 1 1 1 1 2 1 0 |
| D 1 R D O R A V O 2 3 4 5 |
ZXDIS I R E M M A0
nc S Q Q A1
Z80CLK _ A2
? (_) A3
? A4
nc A5
nc A6
M? A7
M? nc
M? EFGJ161FN nc
M? A8
SEL A9
Z2 D7
Z1 D6
GND D5
? D4
A11 D3
| A G |
| 1 I I I I I N O O O O O O I I |
\_____? ? 0 5 3 2 1 0 D 3 2 1 0 4 6 4 6_____/
? pin o nieznanym zastosowaniu
nc nie podłączone wewnątrz układu
ZXDIS odłączenie ZXROM (tu: nie podłączone)
/ROM linia wybierająca EPROM (tu: nie podłączona)
/RAM linia wybierająca SRAM (tu: nie podłączona)
I0..I3 wejścia portu skojarzone z D0..D3
I4 wejście portu skojarzone z D4
I5 wejście portu skojarzone z D5 i D7 (tu: dołączone do /DREQ 1770)
I6 wejście portu skojarzone z D6
O0..O3 wyjścia portu skojarzone z D0..D3
O4 wyjście portu skojarzone z D4
O6 wyjście portu skojarzone z D6
M? linie wyjściowe z multipleksera
Z1,Z2 wejścia o stanie ustalanym zworkami (zastosowanie nie znane)
SEL wejście wybierające multipleksera
A7 tu: podłączone A11
A11 tu: podłączone A7
Z80CLK tu: podłączone do +5V
/M1 tu: podłączone do +5V - blokada obwodów przełączających ZX
-pozostałe linie odpowiadają sygnałom Z80
Rozbudowa (propozycje):
- zamontowanie portu Centronics z rezygnacją z drugiego portu szeregowego
(usunięcie tej niedogodności wymaga znacznych przeróbek sprzętowych);
- wlutowanie w złącze P9 gniazda żeńskiego krawędziowego do płytki
YABUS.TF;
- rozdzielenie portu CH_B na wyjście dla drukarki (możliwe również jako
Centronics) i wejście dla myszy pecetowej;
- rozbudowa pamięci do 256 KB w celu uruchomienia CP/M Plus.
Porty:
Zajęte są następujące adresy:
#0F
#10 ,#11
#2F
#40, #41, #4F
#6F
#80, #81, #8F
#AF
#C0, #C1, #C2, #C3, #CF
#E0, #EF
#0F Łącze komunikacyjne. Propagacja na poszczególnych liniach nie jest taka
sama i jedną z nich należy używać jako "strobe". Port zgłasza się również pod
adresami #2F (używane przez TOS A.2), #4F, #6F, #8F, #AF, #CF i #EF.
Odpowiedniki w porcie #EF, dodanym do ZX przez TI są oznaczone "bit n".
bit odczyt zapis
7 DREQ FDC ?
6 bit 6 bit 6
5 DREQ FDC ?
4 bit 4 bit 4 (dla niektórych wersji TI jest to bit 7)
3 bit 3 bit 3
2 bit 2 bit 2
1 bit 1 bit 1
0 bit 0 bit 0
#10 WD2123 prędkość (zapis) CHA; dane dla Centronics
#11 WD2123 prędkość (zapis) CHB
#40 WD2123 dane CHB
#41 WD2123 status/komenda CHB
#80 WD2123 dane CHA
#81 WD2123 status/komenda CHA
#C0 Port sterujący/status FDC 1770
#C1 Port ścieżki FDC 1770
#C2 Port sektora FDC 1770
#C3 Port danych FDC 1770
#E0 Port konfiguracyjny. Przełączanie napędów z użyciem tego portu jest
trochę skomplikowane i należy wzorować się na oryginalnym oprogramowaniu.
bit zapis 0 1
7 głowica w dół w górę
6 #0000..#1FFF ROM RAM
5 gęstość FM MFM
4 strona dysku 1 0
3 napęd 3 tak nie
2 napęd 2 tak nie
1 napęd 1 tak nie
0 napęd 0 tak nie
Opisy programowania UART WD2123 i FDC 1770 są w oddzielnych plikach.
Literatura:
"TIMEX Floppy Disk Drive System. User Manual For SPECTRUM Users.", TIMEX
PORTUGAL Ltd. 1984.
"Podłączamy modem do ZX Spectrum!", Robert Magdziak, Bajtek 1991/12 s. 24.
1999-06-28 dodany opis zasilania
1998-04-22 dodany opis sterowania zewnętrznego EPROMu
1998-04-19 dodany opis wyprowadzeń EFGJ161FN
1998-04-18 dodane opisy: P9, J1, J8, układów EFGJ, bramki diodowej, literatury
1997-07-04 pierwsza wersja opisu oprarta na badaniach empirycznych
(C) 1999 Jarek Adamski
Wszelkie uwagi proszę kierować na adres:
e-mail: yarek@sp7.zsk.p.lodz.pl (zapas: yarek@nautilus.uwoj.krakow.pl)
Jarek Adamski, ul.Sobieskiego 10A/5, 99-200 Poddębice, Poland.