Página 1 de 7

Creando un clon de Apple ][

Publicado: 21 Dic 2016 00:03
por carmeloco
Pues eso, que gracias a la información que ha puesto groovydrifter aquí:

http://retrowiki.es/viewtopic.php?f=14&t=760

La información a la que me refiero es esta:

http://www.applelogic.org

He decidido hacer un clon de Apple II ó Apple II+. Me he decido por uno de esos dos modelos, porque no llevan "ASICs", lo cual, simplifica el trabajo. El software que voy a usar para diseñar el clon es KiCad, que aunque no lo he usado nunca, al ser libre, se pueden hacer placas grandes, porque Eagle, que es el que uso en su versión libre, no permite hacer una placa tan grande.

Mirando el esquema

http://www.applelogic.org/files/AIISCHEMATIC.pdf

Lo primero que me salta a la vista es el uso de muchos chips de ram y de rom. Lo primero que se me ocurre, es usar el mismo tipo de ram que el harlequin, para reducir el número de chips, pero el primer problema que se me plantea, es que el Apple II usa ram dinamica, y la del harlequin, es estática. Tengo que buscar un chip, fácil de conseguir hoy en día, y que sea ram dinámica.

Lo mismo para las roms. Hay un carro de chips pequeños. La idea, es substituirlos por una o dos eeprom. Esto, no creo que sea un gran problema.

En principio, una vez solucionados estos problemas (y alguno más con algún transistor antiguo) empezaría la fase de diseño.

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 00:14
por carmeloco
Bueno, respecto a la ram, tengo que mirar cómo se ha hecho en el harlequin. Resulta que el spectrum 48K, también usa ram dinámica (los mismos chips que el Apple II), de forma que si se puede hacer en el harlequin, aquí también.

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 04:29
por groovydrifter
La parte de la decodificación de direcciones para la RAM es un verdadero galimatías... Tres bancos de 16k parece no?

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 08:47
por wilco2009
groovydrifter escribió:La parte de la decodificación de direcciones para la RAM es un verdadero galimatías... Tres bancos de 16k parece no?


Sí que es un galimatías. Va a valer la pena poner memoria dinamica y copiar el esquema.

Efectivamente 3 bancos de 16Kb.

¿A qué modelo corresponde el esquema?

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 09:17
por carmeloco
Es el esquema del Apple II. Diría que son chips de 1 bit, de forma que se tendrían que poder cambiar 8 chips por uno solo de 8 bits, y dejar la ram en solo 3 chips. En el harlequin se hace algo parecido, por no decir, que se hace eso mismo.

Edito: Ahora recuerdo cual era el mayor problema que encontré en lo de la RAM. En el Apple II, las entradas de datos, no van unidas a las salidas, como en el Spectrum, y eso, sí que es un problema.

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 12:04
por dancresp
A cada problema, una solución.

Ánimo, que el reto es muy interesante.

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 12:10
por ron
Tan solo , aparte de mostrar todo mi apoyo tan solo decir que es cuasi imprescindible que si se va a hacer un clon de Apple ][ tened en cuenta que para darle de comer en condiciones aparte del puerto de cassette el tema de la controladora y una posible unidad de disco o algún tipo de interfaz de carga porque sino pasará lo mismo que si tuvierais un clon de Apple I- Es decir, la placa, la máquina, todo chulísimo y a muy bajo nivel, pero claro, del tema del software nada o casi nada.

En cambio una de las mejores cosas del Apple ][ es su extensísima librería de software, pensad en ello porque me parece imprescindible y las unidades de disco de Apple son un poco especialitas, así como la controladora. Para disfrutarlo luego a tope, hay que poder cargar y eso antes de lanzarse con el proyecto creo que debería ser muy tenido en cuenta.

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 12:11
por wilco2009
carmeloco escribió:Es el esquema del Apple II. Diría que son chips de 1 bit, de forma que se tendrían que poder cambiar 8 chips por uno solo de 8 bits, y dejar la ram en solo 3 chips. En el harlequin se hace algo parecido, por no decir, que se hace eso mismo.

Edito: Ahora recuerdo cual era el mayor problema que encontré en lo de la RAM. En el Apple II, las entradas de datos, no van unidas a las salidas, como en el Spectrum, y eso, sí que es un problema.


Sí los chips son de 1 bit.

En cuanto al esquema, yo diría que es de un Apple II plus, ya que (según la wikipedia) el Apple II original venía con 4Kb de RAM y este parece que viene preparado para un mínimo de 16Kb y hasta un máximo de 48Kb. De todas formas, la mayor parte de los que se vendieron fueron Apple II plus, por lo que supongo que todo el mundo lo conoce como Apple II a secas sin el apelativo de plus.

Como hice con el Apple 1, he abierto una carpeta en mi drive con todo lo que voy encontrando del Apple II y de momento he encontrado este libroque parece muy interesante.
En el se habla del funcionamiento interno del Apple II.

En cuanto a la RAM, efectivamente tienen la entrada separada de la salida. Pero esto es comun en para otras memorias dinámicas. De hecho usa exactamente las mismas que el spectrum, las 4116: https://drive.google.com/file/d/0B69T2l ... sp=sharing

Por lo que explica en el libro, la seleccion de las filas y columnas de la RAM dinámica, se hace con tres series de multeplexores en cascada.

- Los multiplexores "B", seleccionan las filas o columnas de los accesos convencionales a RAM.
- Los multiplexores "C", seleccionan las filas o columnas de los accesos a la RAM de vídeo.
- Finalmente los multiplexores "A" seleccionan entre los accesos que vienen de "B" o los que vienen de "C".

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 12:39
por carmeloco
wilco2009 escribió:Sí los chips son de 1 bit.

En cuanto al esquema, yo diría que es de un Apple II plus, ya que (según la wikipedia) el Apple II original venía con 4Kb de RAM y este parece que viene preparado para un mínimo de 16Kb y hasta un máximo de 48Kb. De todas formas, la mayor parte de los que se vendieron fueron Apple II plus, por lo que supongo que todo el mundo lo conoce como Apple II a secas sin el apelativo de plus.

Como hice con el Apple 1, he abierto una carpeta en mi drive con todo lo que voy encontrando del Apple II y de momento he encontrado este libroque parece muy interesante.
En el se habla del funcionamiento interno del Apple II.

En cuanto a la RAM, efectivamente tienen la entrada separada de la salida. Pero esto es comun en para otras memorias dinámicas. De hecho usa exactamente las mismas que el spectrum, las 4116: https://drive.google.com/file/d/0B69T2l ... sp=sharing

Por lo que explica en el libro, la seleccion de las filas y columnas de la RAM dinámica, se hace con tres series de multeplexores en cascada.

- Los multiplexores "B", seleccionan las filas o columnas de los accesos convencionales a RAM.
- Los multiplexores "C", seleccionan las filas o columnas de los accesos a la RAM de vídeo.
- Finalmente los multiplexores "A" seleccionan entre los accesos que vienen de "B" o los que vienen de "C".

Se ve muy interesante el libro, y creo que se puede complementar con el que yo estoy mirando:

Libro "Understanding the Apple II

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 17:02
por wilco2009
carmeloco escribió:Se ve muy interesante el libro, y creo que se puede complementar con el que yo estoy mirando:

Libro "Understanding the Apple II



Pa la saca......

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 19:29
por wilco2009
ron escribió:Tan solo , aparte de mostrar todo mi apoyo tan solo decir que es cuasi imprescindible que si se va a hacer un clon de Apple ][ tened en cuenta que para darle de comer en condiciones aparte del puerto de cassette el tema de la controladora y una posible unidad de disco o algún tipo de interfaz de carga porque sino pasará lo mismo que si tuvierais un clon de Apple I- Es decir, la placa, la máquina, todo chulísimo y a muy bajo nivel, pero claro, del tema del software nada o casi nada.

En cambio una de las mejores cosas del Apple ][ es su extensísima librería de software, pensad en ello porque me parece imprescindible y las unidades de disco de Apple son un poco especialitas, así como la controladora. Para disfrutarlo luego a tope, hay que poder cargar y eso antes de lanzarse con el proyecto creo que debería ser muy tenido en cuenta.


Creo recordar que habia esquemas para unidades de almacenamiento por ahi. Le echaremos un vistazo.

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 19:59
por ron
Y mira que aún me falta una cosa más por comentar. Quizá lo suyo es que fuerais directamente a un clon de Apple ][ plus o del ][e.
Primero porque siempre será mejor máquina, no tendréis tantos problemas con la RAM, ya que el ][ plus parte de las 48 y el ][ e de las 64 fácilmente ampliable a 128.

Pero es eso, una opinión. Ya de haceros un clon , lo mejor sería que fuera de un ][e, sería perfecto.

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 21:19
por groovydrifter
wilco2009 escribió:- Los multiplexores "B", seleccionan las filas o columnas de los accesos convencionales a RAM.
- Los multiplexores "C", seleccionan las filas o columnas de los accesos a la RAM de vídeo.
- Finalmente los multiplexores "A" seleccionan entre los accesos que vienen de "B" o los que vienen de "C".


Entonces, supongo que lo primero seria identificar que integrados forman cada nivel ¿no? Me he dado cuenta que además A6 en las 4116 no viene de los mismos multiplex. que el resto de las líneas de direcciones, aunque no me he estado a ver de donde viene.

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 21:22
por groovydrifter
Toda la Ram cabría en un 61512 de 64kx8bit pero un poco rarunos de encontrar. Habría que ver si hay posibilidad de que la cpu y el circuito de video accedan simultáneamente a bancos diferentes pero si no, no veo impedimento a usar un solo chip.

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 21:30
por wilco2009
groovydrifter escribió:
wilco2009 escribió:- Los multiplexores "B", seleccionan las filas o columnas de los accesos convencionales a RAM.
- Los multiplexores "C", seleccionan las filas o columnas de los accesos a la RAM de vídeo.
- Finalmente los multiplexores "A" seleccionan entre los accesos que vienen de "B" o los que vienen de "C".


Entonces, supongo que lo primero seria identificar que integrados forman cada nivel ¿no? Me he dado cuenta que además A6 en las 4116 no viene de los mismos multiplex. que el resto de las líneas de direcciones, aunque no me he estado a ver de donde viene.


Yo creo que se podría llegar a sustituir por una RAM estática, pero para una primera versión, con tantas cosas para probar, es mucha tela y no merece la pena. Lo mejor es ir a lo seguro y poner memorias RAM dinámicas.

Lo que sí se podría hacer facilmente es sustituir los tres bancos de 4116 por un solo banco de 4164.
Sería simplemente conectar la señal CAS del las 7 entradas que llegan al chip marcado como memory-select F1, al CAS de las 4164, y los pines 4, 5, y 6 del chip 74LS139-F2 a los tres pines extra de direcciones que lleva el 4164. De esa manera se eliminaría el chip "memory-select-F1".

ron escribió:Y mira que aún me falta una cosa más por comentar. Quizá lo suyo es que fuerais directamente a un clon de Apple ][ plus o del ][e.
Primero porque siempre será mejor máquina, no tendréis tantos problemas con la RAM, ya que el ][ plus parte de las 48 y el ][ e de las 64 fácilmente ampliable a 128.

Pero es eso, una opinión. Ya de haceros un clon , lo mejor sería que fuera de un ][e, sería perfecto.


De hecho, el esquema con el que estamos trabajando es del Apple II plus. Lo del IIe habría que mirarlo, aunque supongo que será muy similar con la gestión de los bancos para los 128Kb.

Re: Creando un clon de Apple ][

Publicado: 21 Dic 2016 22:05
por groovydrifter