Spectrum +2 o el teclado más versátil de Spectrum

Moderador: Fundadores

Avatar de Usuario
javier2112
Demonio tercer orden
Demonio tercer orden
Mensajes: 895
Registrado: 30 Oct 2014, 12:36
Ubicación: Málaga
Has thanked: 13 times
Been thanked: 16 times

Re: Spectrum +2 o el teclado más versátil de Spectrum

Mensaje por javier2112 »

Los programas no pueden detectar más líneas hardware puesto que el teclado se lee siempre de una manera similar, mediante ciertos puertos, sea cual sea el spectrum. Se trata de 8 semi filas de 5 teclas, cada una correspondientes al teclado original del 48, de donde se deducen cuales están pulsadas.

Por tanto no es posible que existan ciertas nuevas combinaciones posibles con un teclado de +3, puesto que al final los programas siempre ven esa matriz (cierto que la membrana implementa más posibilidades pero son repeticiones).

Saludos
Visita mi hilo de ventas:
viewtopic.php?t=4789
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 571 times

Re: Spectrum +2 o el teclado más versátil de Spectrum

Mensaje por Popopo »

Lo siento, no lo llego a entender de esa manera... tendría que ver como son las matrices del +3 y la del +2 para poder realmente ver que lo que he dicho no se aplica.
A más líneas mas posibilidades de combinación, y por supuesto a mismo número de conbinaciones implica difeente comportamiento, aunque no lo haga... lo puede.
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 571 times

Re: Spectrum +2 o el teclado más versátil de Spectrum

Mensaje por Popopo »

Luego me edito para explicarme mejor
Que entró a clase.

Enviado desde mi Aquaris X Pro mediante Tapatalk

Avatar de Usuario
javier2112
Demonio tercer orden
Demonio tercer orden
Mensajes: 895
Registrado: 30 Oct 2014, 12:36
Ubicación: Málaga
Has thanked: 13 times
Been thanked: 16 times

Re: Spectrum +2 o el teclado más versátil de Spectrum

Mensaje por javier2112 »

Popopo escribió: 29 Ene 2020, 21:42 Lo siento, no lo llego a entender de esa manera... tendría que ver como son las matrices del +3 y la del +2 para poder realmente ver que lo que he dicho no se aplica.
A más líneas mas posibilidades de combinación, y por supuesto a mismo número de conbinaciones implica difeente comportamiento, aunque no lo haga... lo puede.
Da igual cómo sea el hardware, es decir, el teclado y el circuito que lo controla, si luego para leerlo siempre vemos un teclado del Spectrum 48 en cualquiera de los modelos:
http://www.breakintoprogram.co.uk/compu ... m/keyboard

Si te fijas en la matriz del teclado del +3, no es más que una extensión (bastante infrautilizada por cierto) del Spectrum estándar y las las filas y columnas adicionales no aportan nada que no se pueda obtener mediante las combinaciones de otras teclas. Lo que sí hace desde luego es simplificar enormemente el diseño de la membrana.

Saludos.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Visita mi hilo de ventas:
viewtopic.php?t=4789
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 571 times

Re: Spectrum +2 o el teclado más versátil de Spectrum

Mensaje por Popopo »

Justo has expuesto una matriz que demuestra lo que indico.
A modo práctico... en un 48K para imprimir comillas, requieres pulsar Simbol Shift (me parece recordar) y luego la P (creo) ¿Es correcto? ¿mantienes pulsadas las teclas a la vez?...
en cambio en un +,+2,+3... en modo extendido (no el de 48k)¿necesitas pulsar el simbol? ¿requieres dos pulsaciones? claramente no es la misma matriz, ni el mismo proceder, que las primeraras 5*8 líneas I/O se mantengan por retrocompatibilidad... ok (aunque siendo teclado me hace pensar un poco en que diablos pensaban), pero como ves en la matriz... hay teclas que están fuera ahora de esas líneas, de hecho la matriz es de 11*13.

Esta es la matriz de la web que has puesto, que es la matriz de compatibilidad con los 48K, porque coinciden con las patillas del Z80, ahora bien, de esa matriz analizandola y por lo que se de la membrana del 48k dudo mucho que si activamos uno de los puertos por pulsación de una tecla que corresponde a una fila, se pueda pulsar simultaneamente otra y el ordenador lo detecte, tengo mis dudas, sin buffer... sin una ROM que controle esos estados posibles... me cuesta. Si comparamos esta matriz con la imagen que has puesto de la matriz del +3 vemos que realmente no coinciden ya ciertas funciones. Esto no quiere decir que no se puedan sacar por el modo compatibilidad con el 48K o puertos definidos en el Z80. No digo eso, digo que el comportamiento, no es el mismo, ni algunas funciones que no están, pero podrían estarlo si la ROM estuviera programada para otras funciones, como un típico alt+ctrl+suprimir, osea un reset, si hay líneas para tener simultaneidad, un refresco de lectura de teclado adecuado y un buffer esto es posible en un +3, no es posible en un 48k. Seguramente este en un error, todavía desconozco mucho, pero lo veo como una autopista de 6 carriles donde por normativa sólo se pueden usar 2 de los 6, pero tiene la posibilidad de usar 6 al mismo tiempo.
captura_2020-01-29_23-18-03.png
Por cierto, es genial esa gráfica ¿puedo preguntar dónde conseguirla?
saludos
Última edición por Popopo el 30 Ene 2020, 00:26, editado 1 vez en total.
Avatar de Usuario
javier2112
Demonio tercer orden
Demonio tercer orden
Mensajes: 895
Registrado: 30 Oct 2014, 12:36
Ubicación: Málaga
Has thanked: 13 times
Been thanked: 16 times

Re: Spectrum +2 o el teclado más versátil de Spectrum

Mensaje por javier2112 »

Popopo escribió: 30 Ene 2020, 00:06 Justo has expuesto una matriz que demuestra lo que indico.
A modo práctico... en un 48K para imprimir comillas, requieres pulsar Simbol Shift (me parece recordar) y luego la P (creo) ¿Es correcto? ¿mantienes pulsadas las teclas a la vez?...
en cambio en un +,+2,+3... en modo extendido (no el de 48k)¿necesitas pulsar el simbol? ¿requieres dos pulsaciones? claramente no es la misma matriz, ni el mismo proceder, que las primeraras 5*8 líneas I/O se mantengan por retrocompatibilidad... ok (aunque siendo teclado me hace pensar un poco en que diablos pensaban), pero como ves en la matriz... hay teclas que están fuera ahora de esas líneas, de hecho la matriz es de 11*13.
Por cierto, es genial esa gráfica ¿puedo preguntar dónde conseguirla?
saludos
Sinceramente, no sé a qué te refieres. Con Simbol Shift + P sacas las comillas dobles en todos los spectrums, ya sea en modo 48 o 128 en su caso. Luego del + para adelante, tienes una tecla que simula la pulsación de esas 2, y funciona en ambos modos, porque los puertos del teclado se leen siempre de la misma manera (creo que me repito con esto). Para conseguir esa simulación necesitas o un teclado más complejo o más líneas hardware, aunque ya ves que con el +3 las líneas adicionales aportan sólo lo justo para que la membrana sea mucho más sencilla de fabricar.

Lo que se mantiene por retrocompatibilidad es cómo los programas leen el teclado, pero ciertamente las matrices podrían haber sido muy diferentes y eso no sería ningún problema, pero mira tú que son similares (de hecho son una expansión), y por eso puedo usar mi teclado +2 (ojo, el de un Plus también) en el +3 con toda su funcionalidad. Esa es la gracia.


Saludos.
Visita mi hilo de ventas:
viewtopic.php?t=4789
Avatar de Usuario
Popopo
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 3466
Registrado: 05 Nov 2019, 15:25
Has thanked: 1120 times
Been thanked: 571 times

Re: Spectrum +2 o el teclado más versátil de Spectrum

Mensaje por Popopo »

Cierto, por ello trato de expresar que la compatibilidad va en un sentido, no en el otro. Y le daba una razón de ser a la membrana del +3 tuviese más líneas que la del 2. Con su ventaja electrónica correspondiente. más líneas, mas pulsaciones independientes de otras pulsaciones simultaneas. Ya luego el circuito... que transforme las señales para meterlas en el Z80... eso ya no me quiero mojar. Que este o no esté, que este diseñado o no para usar esa posibilidad...
Jo, que bien debatir de esto, gracias Javier2112, esto me va ayudando a entender mejor las cosas
Avatar de Usuario
mad3001 !Atari
Demonio segundo orden
Demonio segundo orden
Mensajes: 1954
Registrado: 25 Nov 2015, 00:15
Ubicación: Mostoles(Madrid)
Has thanked: 92 times
Been thanked: 120 times

Re: Spectrum +2 o el teclado más versátil de Spectrum

Mensaje por mad3001 »

Popopo escribió: 30 Ene 2020, 00:31 Cierto, por ello trato de expresar que la compatibilidad va en un sentido, no en el otro. Y le daba una razón de ser a la membrana del +3 tuviese más líneas que la del 2. Con su ventaja electrónica correspondiente. más líneas, mas pulsaciones independientes de otras pulsaciones simultaneas. Ya luego el circuito... que transforme las señales para meterlas en el Z80... eso ya no me quiero mojar. Que este o no esté, que este diseñado o no para usar esa posibilidad...
Jo, que bien debatir de esto, gracias Javier2112, esto me va ayudando a entender mejor las cosas
A ver... el teclado en el spectrum funciona en base a 8 filas x 5 columnas, eso es igual para todos los modelos de spectrum ya que el Z80 y la ULA (o gate array en los modelos fabricados por Amstrad) trabajan como uno solo para informar a los programas que teclas se están pulsando en cada momento:
Imagen
Como se indica en esa tabla, para "decodificar" la tecla pulsada se hace un IN A,(C) de tal forma que se devuelve a 0 el bit correspondiente:
Imagen
Todos los modelos lo que hacen es que cuando la ULA "mira" la línea de direcciones para una fila (si te fijas lo que en la foto inferior pone PORT corresponde con una linea de la foto superior KB2), "conecta" mediante la matriz de teclado la columna correspondiente en la ULA (o en el gate array), de forma que si está pulsada la ULA interpreta un "0" y si no está pulsada un "1".
De esa forma la correspondencia Software->Hardware es esta:
FEFE KB2-6
FDFE KB2-3
FBFE KB2-2
F7FE KB2-1
EFFE KB2-4
DFFE KB2-5
BFFE KB2-7
7FFE KB2-8

Por lo tanto, el +3 lo que hace simplemente es mediante otra matriz algo diferente, "simular" ese "0" para que la ULA interprete que se está pulsando varias teclas cuando físicamente solo estás pulsando una... esa "simulación" es sencilla... solo tienes aplicar logica booleana y ya lo tienes... si miras por sellmyretro LINK A TECLADO SUSTITUTO +48K/128 verás que venden para +48k y 128k un sustituto de teclado que precisamente hace eso... en las teclas "especiales" que simulan CAPS+algo o SHIFT+algo "generan" esa combinación mediante el uso de diodos, resistencias y 74HCT4066:
7066.jpg
No se si me he explicado convenientemente....como diría mi abuela "¿me se entiende?" :))
Salu2
P.D. Claro que está genial hablar de todas estas cosas... siempre es bueno comprender como funcionan las cosas por dentro, a mi no me gusta hacer algo simplemente porque un "gurú" dijo "hágase así"... me gusta comprender el porqué y así si no estoy de acuerdo poder discutirlo
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Volviendo a los origenes... programa en assembler
Responder

Volver a “Sinclair”