What the hell with different key matrices? How to read a specific key?

Por DarkSchneider

Paladin (1021)

imagem de DarkSchneider

27-03-2023, 09:54

How it is supposed I can read a specific key? The key matrix can be different for each region, and if I am not mistaken, is not stored in the BIOS to read and create your map at start.
And having the USA, international and european ones in a paper is not a solution, as others unknown like korean, bazilian, specific Europe continental countries and etc. could have their own one and different.

Entrar ou registrar-se para comentar

Por ro

Scribe (4964)

imagem de ro

27-03-2023, 11:24

Yes, that can be a pain of youy're not using default/bios stuff.
https://www.msx.org/wiki/Keyboard_Matrices

Few ways to solve that. I've created a general matrix read function that has the correct matrix set earlier which re-maps to one specific matrix I assigned.

Por DarkSchneider

Paladin (1021)

imagem de DarkSchneider

27-03-2023, 11:17

But how do you detect the system region to map its supposed matrix? I can't find anything about it.

Por ro

Scribe (4964)

imagem de ro

27-03-2023, 11:28

By reading the region byte at #002C. I scanned the URL I gave before but couldn't see information about that.
Quickly looked at my source, and here's what I use
0 = turbo R (jap)
2 = French
3 = UK
else US

Perhaps this is not complet, tho. But you get the point.

Por gdx

Enlighted (6219)

imagem de gdx

27-03-2023, 11:46

Look for the Top Secret 3 pdf. It contains many matrix example.

ro wrote:

By reading the region byte at #002C. I scanned the URL I gave before but couldn't see information about that.
Quickly looked at my source, and here's what I use
0 = turbo R (jap)
2 = French
3 = UK

This is insufficient.

Por DarkSchneider

Paladin (1021)

imagem de DarkSchneider

27-03-2023, 12:14

OK so mainly is not possible. Cannot map any matrix layout, and supposing there are no more unknown, as even can have its own by brand or model.
I can't understand how it was not designed in the way that the matrix would be somewhere in the BIOS for read.

Can only think for assigning a default 2nd key button is to use one of the fixed rows (maybe CODE key) and let the user to define, that is reading all row-column and get the pair when something pressed, then assign.

Quote:

Only rows 06 to 08 and the keypad numbers remain invariable.

This is, rows 6-10.