Opis komputera TIMEX FDD 3000 ("TF").


Komputer posiada (wersja z dużą płytką):
   - procesor Z80 4MHz (możliwość zmiany częstotliwości zegara);
   - 64kB DRAM - 2 × 4464;
   - 128B 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 (plik "TFBOOT.ROM");
   - 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 (przez EFGJ121);
   - 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); wykorzystane
przez rozszerzenie YABUS.TF;

   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	- stan wysoki odłącza wewnętrznego ROM i blokuje /ROMCS
/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.
   Uład ten zawiera również 128B ROM.

   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 nieznane)
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 ZXROM
-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

   #2F Îącze komunikacyjne (adres używany przez TOS A.2). Pojemność
poszczególnych linii nie jest taka sama i jedną z nich należy używać jako
"strobe". Port zgłasza się również pod adresami #0F (używane przez ROM
startowy), #4F, #6F, #8F, #AF, #CF i #EF. Odpowiedniki w porcie #EF, dodanym
do ZX przez TI są oznaczone "bit n".
 bit	odczyt		zapis  uwagi
 7	DREQ FDC	?
 6	bit 6		bit 6
 5	DREQ FDC	?      (dla FDD3 zawsze 1 przy odczycie)
 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 FDC1770
   #C1 Port ścieżki FDC1770
   #C2 Port sektora FDC1770
   #C3 Port danych FDC1770

   #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ść		MFM	FM
 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


Dla wersji z małą płytką (FDD3) jest niepełne dekodowanie portów (x - bez
znaczenia, n - bit wybierający port z grupy):
 %000xxxxn - WD2123 prędkość (odczyt pp. powoduje zapisanie #FF)
 %001xxxxx - łącze komunikacyjne
 %01xxxxxn - WD2123 CHB
 %10xxxxxn - WD2123 CHA
 %110xxxnn - FDC1770
 %111xxxxx - port konfiguracyjny (odczyt pp. powoduje zapisanie #FF)

ROM w wersji z małą płytką (FDD3) ma pojemność 2kB i jest aktywowany w
obszarach pamięci gdzie A13=0. Kod jest taki sam, jak dla FDD3000 (jedynie
zamiast 'BIT 5,A' jest 'RLA' przy odczycie DRQ FDC1770), przy czym od #0064
do końca jest wypełniony wartością #FF. Jako adres portu komunikacyjnego
używane jest #20 (zamiast #2F).


   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.

2003-11-04 ustawienie FM/MFM było podane odwrotnie
2003-09-18 konwersja na HTML, bez zmian
2001-03-16 dodane porty FDD3
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) 1997÷2001 Jarek Adamski