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