Ordenador casero con uP Z80

Es muy buena idea usar una placa experimental cómo guía. Yo en lo posible utilizo SMD, para evitar lo tedioso del eterno taladrado.
Bueno, respecto a mi proyecto, ahora estoy en el desarrollo de la tarjeta VGA. Si la velocidad de los CIs es la esperada, debería poder manejar un formato de 640x480 en 256 colores.
Con atributos en modo texto, cómo parpadeo de carácter.
En modo gráfico, permite manejar píxeles individuales.
Me resultó difícil conseguir memorias súper rápidas para el buffer. Dado el refresco de vídeo se necesita 40nS/píxel. En fin, aún me queda un 30% para armar y comienzo, con las 1ras. pruebas.
Y la verdad, es que me está llevando más tiempo de lo previsto.
El tema PWM, de hecho, el hardware que maneja el altavoz utiliza un oscilador variable binario hecho con contadores preseteables. Y puede utilizarse cómo PWM.
Respecto a la conectividad, el I2C es viable realizarlo con lógica discreta.
El problema del USB, es complejo, pero cómo el sistema posee un puerto UART, fácilmente se puede utilizar una interfaz seríe a USB externa, si es que se piensa conectar algo allí afuera jeje.
Aunque antes de pensar en un puerto USB.
Me atrae la idea de implementar un controlador de floppy disk. Hace más de un año que vengo analizando el sistema. Aunque en caso de realizarlo, el formato de datos no sería compatible con el standard IBM que todos hemos usado.
 
Gudino me interesaria darle una ojeada a ese esquematico de su circuito PWM , si el I2C es factible con logica discreta pero por alli le di una ojeada a un codigo para echarlo a andar hecho en assembler para el 6502 y ocupaba mas de 600 lineas de instrucciones para echarlo andar, andaba deduciendo que saldria un codigo mas compacto pero ya veremos , nos deja algo asombrados que quiera habilitar una disquetera para diskettes de 1.44 megas en lugar de usar esas memorias compact flash o las SD de varias megas para amacenamiento, en mi caso quiero utilizar memorias EEprom de la serie 24Cxx que hay capacidades de hasta 128 Kbytes
 
Este es el modulo I2C , en un comienzo tenia pensado diseñarlo con un latch 74LS573 y un buffer 74LS245 como puertos de entrada y salida para controlar las señales del bus I2C , SPI/3-wire y 1-wire a travez de las compuertas no-inversoras de colector abierto pero despues de empezar el diseño me di con la sorpresa que la dimension de la tarjeta resultante no encajaba y hasta creceria mucho asi que se me ocurrio utilizar otro 82C55 de forma dedicada usando los pines nesesarios de sus 3 puertos A, B y C de la forma masconveniente, descartando algunos pines de cada puerto que no tendran ningun uso, haciendo menos engorrosa las conexiones y compactando la tarjeta para que no desalinee tanto con las demas , alli podemos ver que tenemos las salidas disponibles de los 3 grupos de señales acompañados con su toma de GND , en la parte superior vemos la memoria eeprom 24C256 y el respectivo DS1307 del cual su salida de 1 Hz llegara hasta una linea de interrupcion del 82C59 y luego prepararle su rutina de atencion, el soporte de la bateria o pila de 3v para mantener funcionando al RTC ira cableada y adosada o pegada a la espalda de la tarjeta y listo , cerca a los pines del 11 al 16 del 82C55 va una regleta o pack de resistencias de valor 3.3K con punto comun a positivo pero como no la tengo solo conectare las resistencias a la manera de peine unidas por el otro extremo y a VCC porque ya no hay otro espacio mas comodo donde colocarlas, estas resistencias corresponden a las pull-up conectadas a los colectores de los 74LS07. y pues llegando a esta parte ya las direcciones para estos modulos los he dejado fijos de tal manera que quedarian asi sin jumpers de seleccion

20H - PIC Controlador programable de Interrupciones 82C59
30H - PTC Controlador temporizador programable 82C53/54 (este ultimo mas veloz)
40H - I2C Este modulo de bus I2C, 1-wire y SPI/3-wire
50H - PPI Modulos entradas /salidas paralelas
60H - ACIA Modulo de comunicacion serial

Para la version del Sistema Minimo Z80 v2.0 , se seguira usando la misma placa de soporte principal del Z80 solo cambiara la placa de slots y los modulos que usara seran compatibles con los usados por el 8088 y en este caso seran 7 zocalos,. pero con esta version 1.00 basica ya es suficiente como para embuirse en el fascinante mundo de los retromicroprocesadores clasicos jeje

Modulo I2C 1wire spi.jpg
 
Gudino me interesaria darle una ojeada a ese esquematico de su circuito PWM , si el I2C es factible con logica discreta pero por alli le di una ojeada a un codigo para echarlo a andar hecho en assembler para el 6502 y ocupaba mas de 600 lineas de instrucciones para echarlo andar, andaba deduciendo que saldria un codigo mas compacto pero ya veremos , nos deja algo asombrados que quiera habilitar una disquetera para diskettes de 1.44 megas en lugar de usar esas memorias compact flash o las SD de varias megas para amacenamiento, en mi caso quiero utilizar memorias EEprom de la serie 24Cxx que hay capacidades de hasta 128 Kbytes
Hola Amigo, busco la imagen del PWM con lógica y lo comparto por aquí.
La opción de usar I2C con lógica discreta, me baso en un sistema secuencial con un patrón almacenado en una EPROM. Luego con un comando de lectura o escritura, accedo a la memoria I2C.
Mensaje automáticamente combinado:

IMG-20201212-WA0029.jpg
Aquí comparto el lector/grabador de la serie 24CXX.
Tengo que añadir el código cargado en la 27C64.
Mensaje automáticamente combinado:
 

Adjuntos

  • IMG-20201212-WA0031.jpg
    IMG-20201212-WA0031.jpg
    105.8 KB · Visitas: 9
  • IMG-20201212-WA0032.jpg
    IMG-20201212-WA0032.jpg
    121.4 KB · Visitas: 9
Última edición:
Por estas fechas ando algo ocupado y he dejado en pausa los proyectos de los retrocomputadoras pero estube revisando sus circuitos Gudino del I2C y PWM , el de I2C se ve algo compliado de implementar en un modulo de tamaño reducido mientras que el otro circuito del PWM me parecio muy ingenioso que me dio algunas ideas para tratar de implementarlos o adecuarlos a los PTC 8253 con algun circuito extra minimo que me permitiera convertir los 3 canales en 3 PWM para controlar 3 servos , los diseñadores del 8253 se hubieran anotado un gol de media cancha si hubieran creado un nuevo PTC 8254X que incluyera ya circuiteria PWM lista.
 
El circuito I2C, se ve complejo, porque se trata de un programador manual de memorias 24CXX.
Pero, para implementar en un sistema con procesador, se minimizan varias cosas.
Aún no tengo un diseño final para implementar. Apenas tenga algo, lo comparto por aquí.
Por el momento sigo trabajando en la placa VGA, que por cierto me está llevando demasiado tiempo.
 
Arriba