tcw_logo.GIF (18355 bytes)

Timex FDD Interface

interface.jpg (31594 bytes)

A TMX Portugal fez duas version do interface do FDD: uma para o TC2048 (pode ser usada no TC2068 com a cartridge emuladora) e outra para o TC2068 (o botão de reset é prateado, o resto é igual). Isto porque a ROM dos dois computadores é diferente e causa um crash se usar a versão errada.

O Interface do FDD
Autor deste texto: Jarek Adamski

O FDD 3000 comunica através do Interface do FDD. A interface tem uma conecção para o conector de expansão e do outro lado, tem o conector para o FDD. Por isso pode-se usar qualquer tipo de FDD3000 com a interface. Para Spectrums que têm a interface FDD para 128K requer reprogramação da EPROM (Conflito de ports). Só as interfaces feitas pela STAVI estão livres desse bug.
O FDD3000 está ligado à interface por um cabo em espiral, a transferencia é half duplex 6 bits (1 bit para STROBE, todos os bits podem ser normais) isto dá uma taxa de transferencia baixa.
A interface não é uma unidade complexa, o port é acessivel por out/in em #EF.
Dentro do FDD é o port #0F e é "espelhado": #2F,#4F,#6F,#8F,#AF,#CF,#EF.
Os ports estão ligados da seguinte ordem: (TI BIT significa BIT na interface #ef)

BIT READ WRITE NOTE
7 DREQ FDC 1772 ? 
6 TI BIT 6 TI BIT 6
5 DREQ FDC 1772 ? 
4 TI BIT 4 ou 7 depende da versão da interfacee... standart é 4
3 TI BIT 3 TI BIT 3
2 TI BIT 2 TI BIT 2
1 TI BIT 1 TI BIT 1
0 TI BIT 0 TI BIT 0

A interface também tem um botão de reset e um amplificador do sinal video composto que é acessivel no FDD3000 no jack RCA. Tem muitas interferencias (Sinais TTL no cabo em espiral, não blindado e 1 metro de comprimento).

Mas o que está lá dentro?

Dentro do FDD - ports:
#10 WD2123 configuração (write) CHA
#11 WD2123 configuração (write) CHB
#40 WD2123 data CHB
#41 WD2123 estado/comando CHB
#80 WD2123 data CHA
#81 WD2123 estado/comando CHA
#C0 FDC1770 sterring port/estado
#C1 FDC1770 track port
#C2 FDC1770 sector port
#C3 FDC1770 data port
#E0 HELPING helping port(abaixo)

Como usar estes ports? Ainda estou à espera de informação, mas: port #E0
BIT WRITE 1 0
7 cabeça de cima/baixo
6 #0000-#1FFF ROM RAM
5 densidade FM MFM
4 lado 1 0
3 DRIVE 3 ON OFF
2 DRIVE 2 ON OFF
1 DRIVE 1 ON OFF
0 DRIVE 0 ON OFF
 

Estrutura da Interface.

A interface é assim:

ii.jpg (15365 bytes)

No cimo está o conector para o FDD3000, por baixo está a RAM, mais abaixo a EPROM, e do topo direito: 2 buffers e 2 GALs (dolny/gorny). Em baixo o conector para o computador.

A descrição do interface, que é usado para ligar a um computador compativel com ZX Spectrum a um FDD3000 ou a um clone Polbrit.

Endereços de descodificação da interface
memória : #0000 e #0008 com _M1 activa - desliga a ROM do computador.
memória : #0604 com _M1 - religação da ROM do computador.
port #xxEF - input/output 8 bit.

Depois de desligar a ROM do computador a interface liga as suas memorias nas areas:
#0000..#1FFF TI (Timex Interface) ROM (4KB, 2 vezes)
#2000..#3FFF TI RAM (1KB 8 vezes ou 2KB 4 vezes)

(1) TI (Timex Interface) com placa dos 2 lados pintada no fundo, sem numeros, e na parte de baixo as letras "SER" impressas.

Componentes : (IC1)TMM2016 (RAM), (IC2)D2732D (ROM), (IC5)SN74LS273N (output line driver), (IC6)HD74LS244P (input line driver), (C1)473/50V, (C2)ASE4832ZIB, (D1)1N4148R, (R1)680ohm 5%, miscrointerruptor preto, conector para computador e conector DA15M.

Conecções religadas debaixo dos componentes PAL.

No conector DA15M os pino s 7 e 8 não estão ligados. Mascara do conector : %11001111, Bits 4 e 5 não conectados a 244 e 273 - no estado de leitura é desconhecido. (recomendado - conecta-los ao 244 outputs não usados e ligar os correspondentes 244 inputs à terra (GND).

(2) Interface com fibra de vidro laminhado, amarela, sem numeros, e os simbolos do fabricante visiveis, os buracos dos lados não circulares.
Elementos : TMM2016, D2732D, SN74LS273N, SN74LS244N, (2x)+2.2/+25V(C), 22uF/25V,DA9C38(T), microinterruptor brancoe, conector para o computador e conector DA15M.
Inputs 244 and 273 não usados estão ligados à terra (GND) através de fios.
No conector DA15M os pino s 7 e 8 cortados e não estão conectados. Mascara do conector: %11001111.
Bits 4 e 5 conectados por fios a 244 - estado baixo quando lidos.
 

GAL (PAL,PALCE) chips 16V8 estão ligados assim:

             __  __                        __  __
-\    CLK   Io \/  | +5V            A12   Io \/  | +5V       /-
 |    A14   I      I /L3            /IORQ I      O /IN       |F
Z|    A13   I      O CLK            /RD   I      I A0        |D
X|    A10   I      I A15            A8    I      I /WR       |D
 |    A9    I IC3  O /ROM           A11   I IC4  | nc (A1)   |
B|    A3    I      O /RAM           A7    I      O /L3       |3
u|    A2    I      I /L2            A6    I      O /L2       |0
s|    /MREQ I      O /L1            A5    I      I /L1       |0
 |    /M1   I      O ZXDIS          A4    I      O /OUT      |0
-/    GND   |______I GND            GND   |______I A1        \-

 

CPU inputs       : A0..A15, /IORQ, /M1, /MREQ, /RD, /WR
Power            : GND, +5V
TI sterring      : /IN  - lê o port #EF (74244, pino 1 & 19)
                   /OUT - escreve no port #EF (74273, pino 11)
                   /RAM - activa a RAM da interface (2016, pino 18 & 20)
                   /ROM - activa a ROM da interface (2732D, pino 18 & 20)
ZX sterring      : ZXDIS - através 680om para +5V, através diodo para /ROMCS
                     (ou na base do transistor para o mesmo proposito)
conecções locais : CLK, /L1, /L2, /L3
Outros           : nc - não conectado dentro do chip.


Direcção, propósito e polarisação dos sinais CLK, /L1, /L2, /L3 são tirados livremente e pode variar entre versões particulares. Isto não interessa, desde que as PAL sejam programas juntas (elas têm que cooperar).

IC3 sinais:
   ZXDIS := /A9
(estado alto no D apenas para o endereço que desliga a ROM do computador: #0000 e #0008 - na vida real (codigicação do sinal CLK) /A9 chega.)

   L1    = A2 * A3
(output invertido - estado baixo no /L1 para os ports #xxEF)

   RAM   = ZXDIS *  A13 * /A14 * /A15 * MREQ
(output invertido -estado baixo no /RAM, se a ROM do computador está desligada e memoria #2000..#3FFF está endereçada)

   ROM   = ZXDIS * /A13 * /A14 * /A15 * MREQ * RD
(output invertido - estado baixo no  /ROM se a ROM do computador está desligada e memória #0000..#1FFF está endereçada para leitura)

   CLK   = L2 * /A3 * /A9 * /A10 * /A13 * /A14 * /A15 * MREQ * M1
         + L3 * /A2 * /A3 *  A9 *  A10 * /A13 * /A14 * /A15 * MREQ * M1
(estado alto para a instrução tirada dos endereços alternado da ROM do computador)

IC4 sinais:
   OUT   = L1 * A0 * A1 * /A4 * A5 * A6 * A7 * IORQ * WR
(output invertido - estado baixo no /OUT para port #xxEF para escrita)

   L2    = /A0 * /A1 * /A4 * /A5 * /A6 * /A7 * /A8 * /A11 * /A12
(output invertido - estado baixo em /L2 para #0000 e #0008)

   L3    = /A0 *  A1 * /A4 * /A5 * /A6 * /A7 * /A8 * /A11 * /A12
(output invertido - estado baixo para /L3 para endereço #0604)

   IN    = L1 * A0 * A1 * /A4 * A5 * A6 * A7 * IORQ * RD
(output invertido - estado baixo no /IN para o port #EF para leitura)

"output invertido"  na descrição significa falta da negação do sinal na ponte XOR, feito pelos bits SL1n=0

Tipo da conecção devia ser revista com a descrição acima. Todas as moficicações devem ser feitas na placa.

Timex FDD Interface nos ZX Spectrum 128K (Plus/Plus 2/Plus 3/Plus 2A/B)

O Timex FDD pode trabalhar com as versões 128K do ZX Spectrum. Para usar o FDD em qualquer uma das versões, modificações à ROM do interface têm de ser feitas por causa das diferentes ROMs dos 128K. Esta modificação é necessaria porque uma parte da ROM1 é usada para fazer reset ao Spectrum. No caso do codigo do 128K esse codigo é tirado da ROM0, que resulta num crash.

Para o 128K e 128K+2, o Interface tem de fazer um OUT #7FFD,#10 antes da inicialização. esta alteração foi efectuada pela STAVI na Polónia.

Para o ZX Spectrum 128K +3, à excepção do sinal /ROMCS, um OUT #1FFD,#04 tem de ter feito.

Esta página foi actualizada em 07-07-2001