Build Your Own Arcade Controls Forum
Main => Main Forum => Topic started by: slinger on December 17, 2002, 01:43:46 am
-
I've built a keyboard emulator that can accept 24 button inputs (upgradeable to 128) and it sends it's data through the com port, I used two seperate tsr's that take the serial input and stuff it in the keyboard buffer, both of them work great until mame runs, then the tsr is disabled, I can't figure this out, has anyone had a problem like this or know a work around?
Ron
-
I've built a keyboard emulator that can accept 24 button inputs (upgradeable to 128) and it sends it's data through the com port, I used two seperate tsr's that take the serial input and stuff it in the keyboard buffer, both of them work great until mame runs, then the tsr is disabled, I can't figure this out, has anyone had a problem like this or know a work around?
Ron
Windows mame, huh?
Mame uses directX for "close to the bone" keyboard inputs. Your tsr might not be close enough for directX to see it?
If this is the reason, you can edit the source so mame uses the slower win32 api keyboard interface. :( I'm not sure, but you might want to look into directX directInput at microsoft web page for comfirmation. I haven't found a book with good info on directInput. :(
-
Windows mame, huh?
Mame uses directX for "close to the bone" keyboard inputs. Your tsr might not be close enough for directX to see it?
If this is the reason, you can edit the source so mame uses the slower win32 api keyboard interface. :( I'm not sure, but you might want to look into directX directInput at microsoft web page for comfirmation. I haven't found a book with good info on directInput. :(
Actually no I'm using the DOS version. Both of these tsr's are very "close to the bone" written in assembler.
Ron
-
Actually no I'm using the DOS version. Both of these tsr's are very "close to the bone" written in assembler.
Ron
Sorry, don't know enough about dos and allegro (mame's input library for dos) to help you. :(
-
I don't know a lot about this either. But I can tell you this... if it's not detected as a keyboard at the hardware level (like system bios) then it's probably not going to work in mame, dos or otherwise. Mame looks for raw data, not filtered, more friendly, "keyboard" signals that dos and windows give you.
At least to the best of my knowledge, I could be extremely wrong on this.
-
I agree, I do not think MAME reads the keyboard buffer. I believe it checks the actual state of the keypresses. If it just read the keyboard buffer, it would have no way of knowing whether you were holding down a key or not. It would just say, "ooh, look, a whole bunch of 1's in the buffer". It doesn't work like that. It reads the actual state of the keys. Whether they are up or down RIGHT NOW!
-
I think everyone is correct about mame looking at the keyboard scan and not the buffer. I tried forever to get a remote control to work with mame and I never could. I wanted to have a way to get into advanced mame setup without having to put extra buttons on my control panel.
-
MAME (via Allegro) is actually looking at the keyboard matrix, which is the only way it can detect multiple keypresses.