Agregar puerto PS2 a Sony HB-10P y HB-20P

Pagina 2/2
1 |

Van dc740

Supporter (16)

afbeelding van dc740

04-12-2022, 13:18

en mi caso el layout que replica las posiciones de la MSX fue hecho para evitar ese problema.

Si uno traduce un teclado de layout en español al teclado de la MSX, se pierden muchos caracteres especiales que no se podrían reproducir. No me pareció correcto, e implementé algo que replicara el teclado original 1-1.

No tengo ese juego para probarlo. Pero tengo un test de teclado en un cartucho lleno de aplicaciones de pruebas. Luego voy a intentar presionar todas las teclas juntas.

En mi código, sólo estas teclas cambian de posición con respecto al teclado original:
MSX | teclado PS2 español-España
----------------------------------
ESC | ESC
\ | ° (a la izquierda de la tecla 1)
/ | < (a la izquierda de la tecla Z)
SELECT| Control derecho
HOME | F9
INSERT| F10
DEL | F11
STOP | F12

El control derecho fue porque la tecla de menu contextual tenía código extendido en el scancode, y me hubiese implicado implementar más funcionalidades en el parseo, que la verdad no quería hacer.
Los demás... era por una cuestión de posición de teclas, disponibilidad, y comodidad. La idea era que pudieras tipear exactamente igual que si estuvieses usando el teclado original, pero con un teclado externo.

Tema layouts:
lo detallé en el README del proyecto. cualquier intento de implementar layouts correctamente implica tener 2 estados distintos. uno es el estado del teclado PS2, y otro totalmente distinto e incompatible es el estado de la matriz de la MSX. No hay concordancia entre las teclas de uno con el otro (parece que sí, pero no). El teclado de la MSX es un teclado inglés US, pero con algunos caracteres añadidos para localizarlo al mercado español, por lo que no coincide en casi nada con un teclado español-España.

Saludos!

Van dc740

Supporter (16)

afbeelding van dc740

04-12-2022, 17:29

actualización:
el teclado PS2 que estoy usando reporta hasta algo de 8 teclas, y una vez que presionas una tecla más, simplemente libera todas las teclas como si no hubiese ninguna presionada.
No se si serán todos igual. Sólo tengo un teclado PS2 genérico HP que compré para este desarrollo. Desde el código no hay limitación en este sentido.

Por cierto: por defecto los ordenadores sony hb 10/20p vienen con un regulador LM7805 que puede proveer hasta 1A... y los teclados PS2 pueden consumir 100mA o más, así que es super recomendado upgradear la fuente de alimentación por un puerto USB-C para alimentar desde 5V 2A. Y si quieren que quede bien realmente, la sección de 12-0-12 por una de estos boost con doble salida para llevar de 5V a +-12V
https://es.aliexpress.com/item/1005003198739333.html?spm=a2g...

Van mohai

Paladin (1007)

afbeelding van mohai

16-12-2022, 10:00

Muy interesante.
No es normal pulsar tantas teclas a la vez en alguna aplicación o juego en MSX.
Una de las pruebas básicas es jugar a un juego con los cursores, mientras disparas a lo loco con la barra espaciadora. Creo que le llaman "El test de Gradius" Big smile
Para programar en BASIC o manejar aplicaciones, normalmente no hay problema si alguna tecla se queda atascada o no responde, pero mientras juegas, es muy molesto.
Es un defecto que tienen muchos teclados de PC y muchos emuladores y que te pueden fastidiar una partida a tu juego preferido. Jeje. Big smile

Pagina 2/2
1 |