VOGONS

Common searches


XT keyboard

Topic actions

First post, by SoftCat

User metadata
Rank Newbie
Rank
Newbie

Incorrect emulation of XT keyboard. In game "Montezuma's Revenge" either the keyboard brakes, or the key jams.

Attachments

  • Filename
    mont.zip
    File size
    14.78 KiB
    Downloads
    159 downloads
    File license
    Fair use/fair dealing exception

Reply 1 of 12, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Game works fine here with about 250-350 cycles. DOSBox uses enhanced keyboard operations in certain areas for EGA/VGA machine types, so probably should use machine=cga for standard keyboard stuff, but it doesn't seem to make a difference in this case. Note that the game defaults to joystick, so you should press F1 one time at the options menu to select keyboard unless you're using a joystick, or the guy will constantly walk to the left. The keys default to the numpad keys, so turn on numlock to use them, however you can change the keys in the options menu.

Reply 3 of 12, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Well, "better" isn't much to go on, but it's true the keyboard doesn't work well when you hold down a key. I think this is for two reasons: 1) you get the autorepeat delay before the key starts repeating, and 2) the keys stack up in the buffer so the guy keeps going based on what's still in the buffer even after you've released the key. The game uses INT 16 to read keys, and it would be better to use an INT 9 handler so the autorepeat and buffer behaviors would not be involved. Have you tried the original booter in DOSBox rather than this DOS conversion?

Reply 6 of 12, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I think a keyboard=enhanced/standard setting would be useful in some cases (e.g. California Games, Omnicron Conspiracy) where EGA/VGA is not a good way to distinguish when enhanced or standard keyboard functions should be used by the console device, but that's not relevant to this game.

A workaround (of sorts) for the autorepeat/buffer behavior with the game in question is to reprogram the typematic rates. See this thread where there is a tool that can change the rates, or you can use the FreeDOS MODE program or similar. When I do a "TURBOKEY Z1" before running the game, the effect of the delay and repeat behavior is minimized, though not completely removed.