Como fazer o upgrade do Wavy 70FD2 para 512K


Atualização: 30/junho/2012

Durante muito tempo eu ouvi dizer que em alguns MSX nao tinha como fazer upgrade da RAM. Um bom exemplo é o Wavy70FD2 da Sanyo. Um computador "completo" com 2 drives de disquete, saida frontal dos discos e aquele monte de coisas que só o 2+ japones tem: Botao de pausa, controle de velocidade, mapper interna, etc... O micro é endeusado por alguns. Eu acho meio feioso, tem quem goste ;o)

Um grande cara, o Filipe, comprou um desses mes passado e, como era de um cara daqui de perto de casa, mandou pra cá pra eu dar um confere e se possivel expandir sua memoria. Ja estava com 128K que é o "maximo" que o Wavy vai. Chegou o micro, eu dei aquela olhada basica.

O micro é meio feioso, mas vamos lá :o)

Observando a sua placa, percebi que realmente só havia lugar para 4 chips de memoria 4464 - 4 bits x 64K, perfazendo 128K de ram. Muito pouco. Porque sera que só da isso?

Fui procurar o manual de serviço na net e nao achei. Mas uma coisa interessante: Ele usa o T9769 que é entre outras coisas, controlador de memoria para MSX2+. Igualzinho o meu WSX.

Na net a unica coisa que eu achei foi uma tabela com a pinagem dele, a qual reproduzo aqui:

1 D0
2 D1
3 D2
4 D3
5 D4
6 D5
7 D6
8 D7
9 SLT30 inv.
10 DSEL1
11 DSEL0
12 FCEN inv.
13 MTRON
14 SIDSL
15 DREQ
16 IREQ
17 BUEN
18 VDD
19 BVSS
20 OSCIN
21 OSCOUT
22 ALARM
23 ROCE inv.
24 RO14
25 RO15
26 RO16
27 CS1 inv.
28 CS2
29 CS12 inv.
30 BSDR inv.
31 SLT1 inv.
32 SLT2 inv.
33 SLT00 inv.
34 SLT01 inv.
35 SLT02 inv.
36 SLT03 inv.
37 SLT31 inv.
38 SLOTSL
39 RA0
40 RA1
41 RA2
42 RA3
43 RA4
44 RA5
45 RA6
46 RA7
47 RA8
48 RAS inv.
49 CAS0 inv.
50 CAS1 inv.
51 MPSL0
52 MPSL1
53 CA0
54 CA1
55 CA2
56 VDD
57 VSS
58 CA3
59 CA4
60 CA5
61 CA6
62 CA7
63 CA8
64 CA9
65 CA10
66 CA11
67 CA12
68 CA13
69 CA14
70 CA15
71 MREQ inv.
72 IORQ inv.
73 RD inv.
74 WR inv.
75 M1 inv.
76 RFSH inv.
77 WAIT inv.
78 BUSRQ inv.
79 BUSAK inv.
80 RST inv.
81 CLOCK
82 TEST
83 ICE
84 AVCS inv.
85 SRST inv.
86 MTRD
87 SLDR inv.
88 KANCS inv.
89 VCSW inv.
90 VSS
91 VDD
92 VCSR inv.
93 PBUSY
94 PSTR inv.
95 PWR inv.
96 CLIC
97 AUDIOC
98 AUDIOB
99 AUDIOA
100 OUT2
101 TRG22
102 TRG21
103 RIGHT2
104 LEFT2
105 BACK2
106 FWD2
107 OUT1
108 TRG12
109 TRG11
110 RIGHT1
111 LEFT1
112 BACK1
113 FWD1
114 KLS
115 CMTON
116 CMTWR
117 CMTRD
118 VINT inv.
119 VSYNC
120 EXINT inv.
121 KS10
122 KS9
123 KS8
124 VSS
125 VDD
126 KS7
127 KS6
128 SK5
129 KS4
130 KS3
131 KS2
132 KS1
133 KS0
134 K7
135 K6
136 K5
137 K4
138 K3
139 K2
140 K1
141 K0
142 KANA
143 CAPS
144 PAUSE inv.

Como fazer entao?

Resposta rapida: Ligue 4 memorias 44256 em paralelo nas vias de endereço, e em paralelo duas a duas nas vias de dados. O primeiro par voce liga no /CAS1 e o segundo par no /CAS2

Resposta completa:

Numa memoria DRAM, voce endereça a mesma com a ajuda de dois sinais: /RAS e /CAS. Se uma memoria tem as vias de endereços A0 e A1, voce pode endereçar 16 posicoes nesse esquema. /RAS significa Row Adress Strobe, ou seja, habilitacao de endereçamento de linha. /CAS significa Column Adress Strobe, ou habilitacao de endereçamento de coluna. Colocando a LINHA a endereçar em A0 e A1, voce pulsa /RAS. Colocando a COLUNA a endereçar, voce pulsa /CAS. E com isso voce endereça a memoria da mesma forma que tivesse A0, A1, A2 e A3. Procure o artigo sobre DRAM na Ars Tecnica, tem tudo explicado lá.

O que o T9769 faz é endereçar 64 (ou 256)K usando as linhas de RA0 a RA7(A8) e os sinais /RAS e /CAS1. Mas observe que interessante: Nós temos /CAS2 no chip!!!

Esse /CAS2 justamente endereça o segundo banco de 64(ou 256)K que voce pode adicionar ao seu micro!

O Wavy ainda faz uma bagunça diferente: Ele usa o /RAS, /CAS1 e /CAS2, só que usa as linhas de endereço de RA0 a RA7, fazendo apenas 64K de memoria aparecerem no chip. POREM a linha RA8 está disponivel, basta utiliza-la!

Para isso, vamos fazer uma pequena placa de memoria com 4 memorias 44256, dispostas em dois pares

  • Par 1 - /CAS das memorias ligado ao /CAS1, D0 a D3 da memoria 1 ligados a D0 a D3 no micro, D0 a D3 da memoria 2 ligados a D4 a D8 no micro.
  • Par 2 - /CAS das memorias ligado ao /CAS2, D0 a D3 da memoria 1 ligados a D0 a D3 no micro, D0 a D3 da memoria 2 ligados a D4 a D8 no micro.

Uma imagem vale por mil palavras

O que nós fizemos? Basicamente criamos duas "memorias" de 256K x 8 bits. Uma ligada ao /CAS1 (banco 0 de RAM do MSX) e outra ligado ao /CAS2 (banco 1 de RAM do MSX).

Esta é a plaquinha-prototipo que eu usei no micro do Filipe:

Bagunça de fio, né?

 

Mais bagunça de fio!!!

 

Observe que precisamos pegar a linha A8 de endereçamento (o que nos dará 256K ao inves de meros 64K) diretamente no T9769. Isso porque - inexplicavelmente - a Sanyo nao disponibilizou soquetes para as 44256, como há nos panasonic. Olha a encrenca abaixo

Feito isso, basta ligar a plaquetinha de memoria segundo os datasheets das mesmas Mas antes, MUITO IMPORTANTE, nao esqueça de mudar os jumpers J1102 e J1103 pra posição 1-2. É só olhar na foto acima como eles estao soldados (veja que no pino 3 nao há solda). Obrigado ao Tiago de Queiroz Valença por ter achado o "gato". Eu tinha esquecido de incluir isso na pagina!

 

E ai está, mais um MSX com 512K de RAM :oD

 

Olha que bagunça hehehehehehe

 

O micro, com a expansao no lugar

RESUMINDO NO PASSO-A-PASSO:

  • Montar a plaquetinha de memoria segundo as instruções

Pegue 4 memorias 44256 e ligue em paralelo os pinos 10, 20, 11, 12, 13, 14, 15, 6, 7, 8, 9, 3, 4

Numere as memorias como 1, 2, 3 e 4

Ligue o pino 17 da memoria 1 com o pino 17 da memoria 2. Este será o /CAS1

Ligue o pino 17 da memoria 3 com o pino 17 da memoria 4. Este sera o /CAS2

Ligue os pinos 1, 2, 3 e 4 da memoria 1 aos pinos 1, 2, 3 e 4 da memoira 3. Esses serao os pinos D0 a D3

Ligue os pinos 1, 2, 3 e 4 da memoria 2 aos pinos 1, 2, 3 e 4 da memoira 4. Esses serao os pinos D4 a D7

  • Ligar a plaquetinha de memoria conforme as instruções

Normalmente há na placa lugar para 4 memorias 4464. Todos os pinos estao em paralelo, com exceção dos pinos 2, 3, 15, 17 e 16. O pino 16 de duas memorias estarao ligados ao CAS0. O pino 16 de outras duas memorias estarao ligados ao CAS1

Os pinos 2, 3, 15 e 17 de duas memorias TAMBEM estarao ligados aos pinos correspondentes de outra memoria. Porem o pino 16 de uma estará ligado ao CAS0, o de outra estará ligado ao CAS1.

Exemplo: Temos 4 memorias na placa. as duas memorias da direita tem os pinos 16 ligados entre si. As duas memorias da esquerda tem os pinos 16 ligados entre si. Deduzimos que as duas memorias da esquerda sera o banco 0 e as duas da direita, o banco 1. CAS0 vai ligado ao pino 16 das memorias do banco 0, CAS1 vai ligado ao pino 16 das memorias do banco 1. D0 a D3 estarao ligados a IO1 a IO4 da primeira memoria do banco zero e da primeira memoria do banco 1. D4 a D7 estarao ligados a IO1 a IO4 da segunda memoria do banco 0 e da segunda memoria do banco 1

Portanto iremos ligar a placa de memoria com as 44256 da seguinte forma:

Na PRIMEIRA memoria do banco 0, iremos ligar:

A0 a A6

/WE

/RAS

/OE

/CAS0

VCC

GND

D0 a D7

Na SEGUNDA memoria do banco 0, iremos ligar:

D4 a D7

IO1 (D0) a IO4 (D7)

Na TERCEIRA ou QUARTA memoria (primeira ou segunda memoria do banco 1) iremos ligar:

/CAS1

  • Colocar os jumpers 1102 e 1103 na posicao 1-2

  • Se tiver interferencia na imagem do micro via video composto, mover a plaquetinha de memoria mais pra baixo no computador

RECURSOS: