Hola,
Estoy programando un emulador de Spectrum básico usando FreeBASIC y me he dado cuenta que la mayor parte del meollo se lo lleva el Z80, por tanto me ha surgido la duda:
¿Como de simple y barato podría ser un circuito o un integrado programable para generar la señal de video del Spectrum a partir de una RAM, ¡OJO! No estoy hablando de diseñar un sustituto de la ULA ni conseguir los timings exactos del Spectrum, sería un circuito o integrado que exclusivamente generaría la señal de video, sin ningún tipo de sincronización ni nada y mientras mas simple y barato mejor, por supuesto tendría que compartir el acceso a RAM con el Z80 pero ignorando tambien por completo el tema de la contención original del Spectrum, si tiene que tener contención porque es mas facil vale y si no pues mejor.
Como supongo que habreis imaginado la idea sería la posibilidad de montar una placa con una EPROM, una RAM, un Z80 y este circuito de video o integrado o lo que sea con lo cual obtendríamos algo compatible con el Spectrum, la cuestión sería como de compatible. Supongo que el teclado, el beeper y la entrada de audio pueden ir directamente al Z80, ¿o no?
A ver que me podeis decir los que entendeis del tema...
Simplificando el Spectrum. Duda tecnica.
- Bubu
- Atari 1040 STf
- Mensajes: 886
- Registrado: 04 Abr 2018, 23:10
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Atari 2600
- Primera consola: Nintendo GameBoy
- Gracias dadas: 20 veces
- Gracias recibidas: 60 veces
Re: Simplificando el Spectrum. Duda tecnica.
¡Jarl! No veo cómo vas a colocar el teclado, la salida de sonido, la entrada de sonido, etc, direstamente en el Z80. Yo lo veo más que complicao.
Por otra parte, mi emulador básico de Spectrum lo estoy haciendo en QBasic 64 (QB64), y la parte del Z80 me está siendo mmmmmuy fácil, lo jodido va a ser la ULA. Ahí es donde está para mí el meollo...
Por otra parte, mi emulador básico de Spectrum lo estoy haciendo en QBasic 64 (QB64), y la parte del Z80 me está siendo mmmmmuy fácil, lo jodido va a ser la ULA. Ahí es donde está para mí el meollo...
Si algo funciona... ¡¡NO LO TOQUES!! ¡¡NI DE COÑA!!
- Namek
- Atari 1040 STf
- Mensajes: 838
- Registrado: 11 Jul 2011, 13:13
- Gracias dadas: 18 veces
- Gracias recibidas: 63 veces
Re: Simplificando el Spectrum. Duda tecnica.
Bubu escribió:¡Jarl! No veo cómo vas a colocar el teclado, la salida de sonido, la entrada de sonido, etc, direstamente en el Z80. Yo lo veo más que complicao.
Por otra parte, mi emulador básico de Spectrum lo estoy haciendo en QBasic 64 (QB64), y la parte del Z80 me está siendo mmmmmuy fácil, lo jodido va a ser la ULA. Ahí es donde está para mí el meollo...
El sonido del Spectrum 48K es simplemente 1 bit, osea un circuito electrico que se abre o se cierra, como mucho haria falta amplificar la señal, y el teclado son 5 bits para cada tecla de las semifilas de 5 teclas y 8 bits para las 8 semifilas, por tanto creo que puede ir cableado directamente al Z80, que me corrijan si me equivoco.
Aun no entiendo tu planteamiento, si estas haciendo un emulador "BASICO" que pretendes emular de la ULA?
- Bubu
- Atari 1040 STf
- Mensajes: 886
- Registrado: 04 Abr 2018, 23:10
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Atari 2600
- Primera consola: Nintendo GameBoy
- Gracias dadas: 20 veces
- Gracias recibidas: 60 veces
Re: Simplificando el Spectrum. Duda tecnica.
El sonido serán 1's y y 0's, sí, pero, ¿a qué frecuencia?
Yo entiendo un emulador "básico" aquel que: no emula las cintas ni el bus de expansión. Todo lo demás es básico: pantalla, teclado, sonido, etc. Y todo eso lo lleva la ULA.
Tú creo que lo que estás haciendo es emular la CPU solamente, ¿nor?
Yo entiendo un emulador "básico" aquel que: no emula las cintas ni el bus de expansión. Todo lo demás es básico: pantalla, teclado, sonido, etc. Y todo eso lo lleva la ULA.
Tú creo que lo que estás haciendo es emular la CPU solamente, ¿nor?
Si algo funciona... ¡¡NO LO TOQUES!! ¡¡NI DE COÑA!!
- Bubu
- Atari 1040 STf
- Mensajes: 886
- Registrado: 04 Abr 2018, 23:10
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Atari 2600
- Primera consola: Nintendo GameBoy
- Gracias dadas: 20 veces
- Gracias recibidas: 60 veces
Re: Simplificando el Spectrum. Duda tecnica.
Y respecto a tu montaje, piensa en cómo le vas a conectar el teclado direstamente a la CPU. ¿Al bus de datos? Ahora imagina que la CPU está leyendo la memoria RAM, y en ese momento pulsas una tecla. ¿Qué ocurriría en el bus de datos? Habría colisión de la información. Pues para eso está la ULA.
Si algo funciona... ¡¡NO LO TOQUES!! ¡¡NI DE COÑA!!
- Namek
- Atari 1040 STf
- Mensajes: 838
- Registrado: 11 Jul 2011, 13:13
- Gracias dadas: 18 veces
- Gracias recibidas: 63 veces
Re: Simplificando el Spectrum. Duda tecnica.
A la frecuencia que se le programe con el Z80.Bubu escribió:El sonido serán 1's y y 0's, sí, pero, ¿a qué frecuencia?
Correcto, solo emulo el Z80 y represento la memoria de video del spectrum en pantalla y cuando el Z80 hace un OUT cambio el color del borde en consecuencia y cuando hace un IN le paso los bits correspondientes si se ha pulsado una tecla y "Voila", parece un Spectrum, huele como un Spectrum, incluso sabe como un Spectrum, pero no lo es...Bubu escribió:Yo entiendo un emulador "básico" aquel que: no emula las cintas ni el bus de expansión. Todo lo demás es básico: pantalla, teclado, sonido, etc. Y todo eso lo lleva la ULA.
Tú creo que lo que estás haciendo es emular la CPU solamente, ¿nor?
Última edición por Namek el 16 Sep 2018, 01:56, editado 3 veces en total.
- Namek
- Atari 1040 STf
- Mensajes: 838
- Registrado: 11 Jul 2011, 13:13
- Gracias dadas: 18 veces
- Gracias recibidas: 63 veces
Re: Simplificando el Spectrum. Duda tecnica.
El Z80 tiene una señal para determinar a donde apunta el bus de datos y el bus de direcciones, puede ser a la RAM o puede ser a un puerto de comunicaciones externo, cuando esa señal este activa es cuando el bus de datos se conectaria con los cablecitos del teclado, el altavoz y los del jack de la entrada de audio.Bubu escribió:Y respecto a tu montaje, piensa en cómo le vas a conectar el teclado direstamente a la CPU. ¿Al bus de datos? Ahora imagina que la CPU está leyendo la memoria RAM, y en ese momento pulsas una tecla. ¿Qué ocurriría en el bus de datos? Habría colisión de la información. Pues para eso está la ULA.
- Bubu
- Atari 1040 STf
- Mensajes: 886
- Registrado: 04 Abr 2018, 23:10
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Atari 2600
- Primera consola: Nintendo GameBoy
- Gracias dadas: 20 veces
- Gracias recibidas: 60 veces
Re: Simplificando el Spectrum. Duda tecnica.
¿Y quién decide cuando astivar o desastivar esa señal?
Si algo funciona... ¡¡NO LO TOQUES!! ¡¡NI DE COÑA!!
- Namek
- Atari 1040 STf
- Mensajes: 838
- Registrado: 11 Jul 2011, 13:13
- Gracias dadas: 18 veces
- Gracias recibidas: 63 veces
Re: Simplificando el Spectrum. Duda tecnica.
Esa señal se activa cuando el Z80 ejecuta un IN o un OUT, de esa forma los OUT no afectan a la RAM ni los IN leen de la RAM cuando deben leer de los puertos.Bubu escribió:¿Y quién decide cuando astivar o desastivar esa señal?
- Kyp
- Commodore 128
- Mensajes: 80
- Registrado: 31 Dic 2013, 12:42
- Sistema Favorito: Commodore Amiga
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Vectrex
- Primera consola: Vectrex
- Gracias dadas: 10 veces
- Gracias recibidas: 10 veces
Re: Simplificando el Spectrum. Duda tecnica.
Namek escribió:Hola,
¿Como de simple y barato podría ser un circuito o un integrado programable para generar la señal de video del Spectrum a partir de una RAM
Ya existe un reemplazo de ULA perfecto basado en una CPLD Xilinx XC95144XL que vale unos 10 y 15 euros. Incluso hay algunos Spectrums montados como el que dices: http://www.zxuno.com/forum/viewtopic.php?t=1749
Yo tengo uno
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 44 invitados