Proyecto ZDP-80 - Nuestro microordenador desde cero [#01]

BBC, Dragon, Sam Coupé, Oric ...
Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero

Mensajepor antoniovillena » 02 Oct 2012, 12:44

radastan escribió:Efectivamente, se parece mucho a un ZX Spectrum pero no es igual, es mucho más simple.


Todo depende de qué entiendas como simple. Si te refieres al número de circuitos integrados, el ZX Spectrum ya de por sí es bastante simple. Si haces la misma contención que un ZX Spectrum, pero eliminando el segundo acceso a memoria de video (atributos) y recableando el bus de direcciones para que la memoria sea lineal ya tendrías el trabajo casi hecho. Si lo prefieres puedes diseñar tu propio esquema de contención, aunque lo tendrás difícil si quieres mejorar la sencillez del ZX Spectrum.

jepalza

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero

Mensajepor jepalza » 02 Oct 2012, 12:52

Quedaría determinar si se quiere DRAM o SRAM. Mas barata y fácil, la SRAM.

Avatar de Usuario
radastan
Amiga 2500
Amiga 2500
Mensajes: 4542
Registrado: 11 Jun 2007, 19:29
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Sega Genesis/Megadrive
Primera consola: TV Games/Pong Clone
Ubicación: Córdoba
Gracias dadas: 9 veces
Gracias recibidas: 40 veces
Contactar:

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero

Mensajepor radastan » 02 Oct 2012, 13:14

jepalza escribió:Quedaría determinar si se quiere DRAM o SRAM. Mas barata y fácil, la SRAM.


Eso ni se pregunta Jepalza, SRAM por supuesto, realziar ciclos de refresco es un atraso a las velocidades que nos vamos a mover.

-- 02 Oct 2012, 12:19 --

antoniovillena escribió:
radastan escribió:Efectivamente, se parece mucho a un ZX Spectrum pero no es igual, es mucho más simple.


Todo depende de qué entiendas como simple. Si te refieres al número de circuitos integrados, el ZX Spectrum ya de por sí es bastante simple. Si haces la misma contención que un ZX Spectrum, pero eliminando el segundo acceso a memoria de video (atributos) y recableando el bus de direcciones para que la memoria sea lineal ya tendrías el trabajo casi hecho. Si lo prefieres puedes diseñar tu propio esquema de contención, aunque lo tendrás difícil si quieres mejorar la sencillez del ZX Spectrum.


Es que no pretendo nada más en lo que a la memoria base se refiere, lo que es radicalmente distinto es el mapa de e/s, lo del acceso compact flash nativo, etc.

De todas formas decidme que cosas veis que se puedan simplificar (lo del teclado y ratón USB lo veo imprescindible, lo siento) y podemos empezar a zanjar cosas. No se si sería una locura meter una memoria el doble de rápida que la necesaria y usar un ciclo para la RAM de usuario y otro ciclo para la memoria de vídeo, y así podemos usar una única pastilla de 64K aunque desperdiciemos memoria.

¿Algún programa de diseño recomendable que sea sencillito? ¿Eagle?
Yo tengo una máquina del tiempo, se llama ZX Spectrum, siempre me devuelve a los buenos momentos.
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝

jepalza

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero

Mensajepor jepalza » 02 Oct 2012, 13:33

radastan escribió:¿Algún programa de diseño recomendable que sea sencillito? ¿Eagle?



Yo acabo de aprender a usar el ISIS (esquemas) y ARES (circuitos) para el TVGames de Elektor, y me parece muy bueno, aunque la versión demo deja que desear, pero siempre hay truquillos que permiten llegar mas lejos.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero

Mensajepor mcleod_ideafix » 02 Oct 2012, 13:38

Desde hace ya varios años que me rondaba una idea parecida. En mi caso, lo que quería hacer (y aún quiero, ¿por qué no?) es desarrollar un micro alrededor de la familia Z80. Es decir, que tendría CPU Z80, pero también DMA Z80, CTC Z80, SIO, PIO, etc. Es decir, usar el "chipset" de Zilog para crear un microordenador, con dos objetivos (a elegir)
- Que corra CP/M, o...
- Que sea algo completamente diferente, con su S.O., etc

La otra idea que tengo es ir un poco más allá y diseñar algo alrededor del Z8000, con su MMU y todo, pero hasta ahora he encontrado muy poca información, y no hay casi soporte de compiladores para este micro. Una lástima...

Ya, metidos en lo que quereis hacer... ¿os habeis planteado el usar un chip gráfico tipo TMS9929 o similar? ¿o preferis hacer la parte gráfica con lógica discreta, estilo Jupiter ACE, o con una CPLD? ¿Salida RGB para televisión o VGA?
La memoria de video, ¿es accesible directamente por el Z80? En ese caso, ¿cómo pensáis resolver la contienda entre el chip gráfico y el Z80? ¿Señal WAIT? ¿Sin contienda, como en el Inves?

Sobre programas de diseño de circuitos, yo uso el Eagle. Multiplataforma. Tiene un soporte de librerías de componentes muy bueno, y lo mejor: es soportado por las empresas chinas de fabricación de placas de circuito impreso a bajo coste. Lo malo es que la versión demo está limitada en cuanto a las dimensiones de la placa. Una aplicación completamente GPL es gEDA, que por supuesto también es multiplataforma. Es el entorno en el que Winston ha hecho el Spectranet.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
radastan
Amiga 2500
Amiga 2500
Mensajes: 4542
Registrado: 11 Jun 2007, 19:29
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Sega Genesis/Megadrive
Primera consola: TV Games/Pong Clone
Ubicación: Córdoba
Gracias dadas: 9 veces
Gracias recibidas: 40 veces
Contactar:

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero

Mensajepor radastan » 02 Oct 2012, 13:58

mcleod_ideafix escribió:Ya, metidos en lo que quereis hacer... ¿os habeis planteado el usar un chip gráfico tipo TMS9929 o similar? ¿o preferis hacer la parte gráfica con lógica discreta, estilo Jupiter ACE, o con una CPLD? ¿Salida RGB para televisión o VGA?


El problema de usar un chip tipo TMS9929 es conseguirlo, son muy jodidos y caros de conseguir. Creo que lo suyo es emplear lógica discreta a lo Jupiter ACE, y a ser posible con una CPLD que nos "empaquete" esa parte para que sea lo más simple posible. La salida de vídeo la había pensado como vídeo compuesto en monocromo, muy simple de crear. El RGB necesitará lógica adicional y la VGA creo que ya se nos escapa en cuanto a lógica discreta, no se si un CPLD nos lo podría hacer fácilmente (sería una pasada tener salida VGA).

mcleod_ideafix escribió:La memoria de video, ¿es accesible directamente por el Z80? En ese caso, ¿cómo pensáis resolver la contienda entre el chip gráfico y el Z80? ¿Señal WAIT? ¿Sin contienda, como en el Inves?


Mi idea era meter WAIT si el Z80 trataba de direccionar los 16K de esa parte de la memoria, es decir trabajaría más lento en ese caso. Si te das cuenta sólo enletecería el sistema operativo (que no es crítico) y el acceso a lo que es gráficos, pero eso no significa que metamos algo de lógica en lo que sobre de la CPLD para compensar (como una ayudita al scroll).

En eso si me puedes dar un consejo te lo agradecería, ya he comentado que podríamos usar una memoria al doble de frecuencia de reloj para dar cobertura a Z80 y el sistema gráfico de forma simultánea. No se si sería muy complicado, pero de esa forma ninguna de las dos partes vería contención alguna y nos ahorramos el WAIT al Z80 si trata de acceder a esos 16K.
Yo tengo una máquina del tiempo, se llama ZX Spectrum, siempre me devuelve a los buenos momentos.
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝

jepalza

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero

Mensajepor jepalza » 02 Oct 2012, 14:03

mcleod_ideafix escribió:Ya, metidos en lo que quereis hacer... ¿os habeis planteado el usar un chip gráfico tipo TMS9929 o similar?


En realidad, hablas en plurar, pero es singular, por que es Radas el de la idea. Nosotros le apoyamos, pero la idea parte de él. Y lo del chip gráfico, yo tambien se lo he dicho. Y el problema, es encontrar chips "viejos" hoy día. El TMS, muy comun en MSX, SordM5 y alguno mas, es ideal, pero ¿es fácil encontrar en cantidades?. Y luego, lleva modos, que a lo mejor nunca usariamos, y sería desperdiciar su potencial, pudiendo usar alguno mas simple, de menor tamaño quizás, para ahorrar en todo.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero

Mensajepor mcleod_ideafix » 02 Oct 2012, 14:08

radastan escribió:...a ser posible con una CPLD que nos "empaquete" esa parte para que sea lo más simple posible.

Tú ya sabes que siempre voy a secundar esa moción ;)

radastan escribió:La salida de vídeo la había pensado como vídeo compuesto en monocromo

Mmmmmmmm..... monocromo a estas alturas... bueno, todo depende de lo que pretendas hacer después con ese micro, pero me parece cortarle las alas más de la cuenta, sobre todo si la parte de video la puedes hacer en CPLD.

radastan escribió:muy simple de crear. El RGB necesitará lógica adicional y la VGA creo que ya se nos escapa en cuanto a lógica discreta, no se si un CPLD nos lo podría hacer fácilmente (sería una pasada tener salida VGA).

Con una CPLD puedes tener un modo gráfico en VGA. Mi primera "ULA" daba salida VGA, no RGB de televisión.

radastan escribió:En eso si me puedes dar un consejo te lo agradecería, ya he comentado que podríamos usar una memoria al doble de frecuencia de reloj para dar cobertura a Z80 y el sistema gráfico de forma simultánea. No se si sería muy complicado, pero de esa forma ninguna de las dos partes vería contención alguna y nos ahorramos el WAIT al Z80 si trata de acceder a esos 16K.

Así es como lo hace el gate array del Inves. Para evitar la contención puedes usar el ciclo de refresco del Z80, en el que la CPU no accede a memoria, para que el chip gráfico lea en ese momento una cantidad de bytes suficiente para que no se quede sin datos. De todas formas, el ciclo de memoria del Z80 es taaaaaaan lento que puedes multiplexar el acceso de la memoria a CPU o a chip gráfico incluso cuando hay un ciclo de memoria de CPU en curso.

Por cierto, si usas una versión CMOS del Z80 (de venta en la actualidad) puedes llegar hasta los 20MHz de frecuencia de reloj para la CPU.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
mentalthink
Amiga 2500
Amiga 2500
Mensajes: 2840
Registrado: 11 Abr 2010, 15:06
Gracias dadas: 45 veces
Gracias recibidas: 14 veces

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero

Mensajepor mentalthink » 02 Oct 2012, 14:15

Pues nos vamos entendiendo :D , es algo que más o menos desde que empezé en esto tengo una especié de Obcecación con hacerme un ordenador por mi cuenta, pero mis conocimientos son nulos... o sea que si que me apunto...

Yo creo que hacer un ordenador asi, para aprender ha hacer otros puede ser un paso gigantesco, y luego pues si se puede hacernos los softs entre nosotros...

Comparto la idea y la apoyo, o sea que 1+ para la compra del producto.

Avatar de Usuario
radastan
Amiga 2500
Amiga 2500
Mensajes: 4542
Registrado: 11 Jun 2007, 19:29
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Sega Genesis/Megadrive
Primera consola: TV Games/Pong Clone
Ubicación: Córdoba
Gracias dadas: 9 veces
Gracias recibidas: 40 veces
Contactar:

Re: Proyecto ZDP-80 - Nuestro microordenador desde cero

Mensajepor radastan » 02 Oct 2012, 14:19

mcleod_ideafix escribió:
radastan escribió:La salida de vídeo la había pensado como vídeo compuesto en monocromo

Mmmmmmmm..... monocromo a estas alturas... bueno, todo depende de lo que pretendas hacer después con ese micro, pero me parece cortarle las alas más de la cuenta, sobre todo si la parte de video la puedes hacer en CPLD.

Por cierto, si usas una versión CMOS del Z80 (de venta en la actualidad) puedes llegar hasta los 20MHz de frecuencia de reloj para la CPU.


McLeod el problema del color no es hacerlo, es lo que ocupa en memoria. Sólo metiendo 4 colores por pixel ya tendríamos que usar 12K de RAM, ¿tonalidades de gris? estamos a tiempo de cambiar el modo gráfico siempre que no pase de 12K de RAM aproximadamente, necesitamos entre 2K y 4K para el sistema operativo y la e/s (recordad la FAT de la compact flash, lo suyo es tener la tabla en memoria o por lo menos parte de ella para no tardar una eternidad).

Si existe algún chip gráfico que sea barato y fácilmente localizable lo empleamos sin dudar, menos trabajo y más calidad.

Respecto al Z80 a 20 MHz... no sería mala idea, aunque eso va a implicar que mi osciloscopio no va a servirme de mucho (es digital de 20 MHz). Lo suyo es emplear una frecuencia que nos sirva para todo y que facilite la vida mediante divisores simples, si podemos evitar varios cristales por el circuito mejor. Por mi no hay problema en usar Z80 modernillos con una frecuencia de trabajo superior.

Idem si preferís meternos en camisa de 11 varas y dotar de más memoria RAM y usar sistema de paginación, pero para eso ya nos pasamos a un procesador de 16 bits, etc, etc, etc... lo cual creo que conviene para otro proyecto diferente. Esa era la idea de la pantalla monocromo, simplificar todo y así no calentar la cabeza al personal con el color (que tiene su aquel para generarlo respecto a la sencilla onda del blanco y negro).

Admito sugerencias, repito, todavía no he diseñado nada.
Yo tengo una máquina del tiempo, se llama ZX Spectrum, siempre me devuelve a los buenos momentos.
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝


Volver a “Otros microordenadores”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados