PEP_GOEMON escribió:de verdad nadie puede darme una pista referente a cómo hacer para meter un par de juegos de Megadrive en una eprom de 16mb ?
Pues yo no, lo siento pero de megadrive no sé nada.
Maduin escribió:oki, me vendria bien porque es un poco lioso lo que me has explicado... lo entiendo pero lo de /HI y /LO me he perdido, creo que te refieres a hirom y lorom pero aun asi, no comprendo
No, /HI es el pin 1 del MAD-1 y /LO es el 16... son los nombres oficiales de esos dos pines de salida del chip, que son los /OE de 2 ROMs, una contiene la mitad baja del código y la otra la mitad alta del código. Por eso te digo que depende del tamaño de esas dos mitades (según el tamaño de tus EPROMs) y de cómo esté preparado el MAD-1 para decodificar esas dos EPROMs.
Maduin escribió:EDITO: acabo de mirar el pinout y pone que son las dos de arriba... OE-1 y OE-2, confirmame si solo tengo que levantar esas dos y soldar y ya esta y no te doy mas la vara...
Pues así de memoria no lo sé, pero estoy casi seguro 100% de que no son las dós únicas a levantar. Ten en cuenta que esa PCB que me cuentas está preparada para juegos de 32 megas, por lo que /HI del MAD-1 habilitaría el chip con los últimos 16 megas y /LO, el chip con los 16 primeros. Tú vas a tener dos chips con 8 megas cada uno, por eso no te vale el MAD-1 como está en esas placas: necesitas levantar una pata de entrada que viene del bus de direcciones para recablearla a otra línea de direcciones.
Esta noche cuando llegue a casa te lo digo.
AÑADO:
Esta es la información que anoté cuando hice el mod... tiene ya un tiempo, por eso no me acuerdo bien de por qué cada cosa, pero te aseguro que estuvo muy meditado
El juego usará la placa SHVC-1J3M-20 como host.
La memoria para guardar partidas ocupa la zona de memoria $30:6000 a $30:7FFF.
La memoria de programa ocupa la zona $C0:0000 a $DF:FFFF (16 Megabits).
MAD-1:
-----
* /CSRAM (PIN 2) -> activo si A22 = '0', A21 = '1', A14 = '1' y A13 = '1', por tanto, la SRAM queda en:
($20-$3F):(6000-7FFF)
($20-$3F):(E000-FFFF) -> imposible porque /ROMSEL se pone a '0' en esta zona
($A0-$BF):(6000-7FFF)
($A0-$BF):(E000-FFFF) -> imposible porque /ROMSEL se pone a '0' en esta zona
* /CSROM (PIN 4) -> activo siempre que /ROMSEL esté a '0', es decir, seleccionando la zona de memoria de ROM.
*/HI (PIN 1) -> activo si A21 = '1', es decir, en la zona de memoria ($E0-$FF):(0000-FFFF)
*/LO (PIN 1) -> activo si A21 = '0', es decir, en la zona de memoria ($C0-$DF):(0000-FFFF)
MODIFICACIÓN:
Se podría usar el MAD-1 para direccionar dos M27C801 (8 megabit cada uno) usando /HI y /LO, pero para ello habría que cambiar el PIN 13 para que
ahora fuera A20; así, el mapa de ROM quedaría:
* /LO se activa en el rango ($C0-$CF) y ($E0-$EF), es decir, los 8 megabits de 1 chip
* /HI se activa en el rango ($D0-$DF) y ($F0-$FF), es decir, los 8 megabits del otro chip
De estos dos rangos, el $E0 a $FF nunca ocurre en el código.
Este cambio provoca que la SRAM quede activa cuando A22 = '0', A20 = '1', A14 = '1' y A13 = '1', es decir, en las zonas:
($10-$1F):(6000-7FFF)
($30-$3F):(6000-7FFF)
Para que todo esto lo entiendas mejor, quizá deberías saber la función lógica que aplica el MAD-1, que es:
HiRom
pin 10 = high
BA6
or ROM SRAM ROM ROM
/RESET /CART A15 BA5 A14 A13 /OE ??? /CS /HI /LOW
pin9 pin11 pin12 pin13 pin14 pin15 pin4 pin3 pin2 pin1 pin16
0 0 x x x x 1 1 1 1 1
0 1 x x x x 1 1 1 1 1
1 0 x 0 x x 0 1 1 1 0
x 1 x x 0 1 1 0 1
1 1 0 0 0 0 1 1 1 1 1
0 0 0 1 1 1 1 1 1
0 0 1 0 1 1 1 1 1
0 0 1 1 1 0 1 1 1
0 1 0 0 1 1 1 1 1
0 1 0 1 1 1 1 1 1
0 1 1 0 1 1 1 1 1
0 1 1 1 1 1 0 1 1
1 x x x 1 1 1 1 1