VOGONS


XT keyboard

Topic actions

First post, by SoftCat

User metadata
Rank Member
Rank
Member

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

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 2 of 12, by SoftCat

User metadata
Rank Member
Rank
Member

Everything about what you write, I know. But on real XT game (keyboard control) works better, than in DOSBox.

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 4 of 12, by SoftCat

User metadata
Rank Member
Rank
Member

I think it is necessary to make emulation of XT keyboard:
-----------------------------------
keyboard=XT
or
keyboard=AT
-----------------------------------

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.

Reply 7 of 12, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

machine=xt
video=cga

if at all 😉

1+1=10

Reply 8 of 12, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Different means, same end. 😉

Reply 9 of 12, by SoftCat

User metadata
Rank Member
Rank
Member

machine=Leibniz Calculating Machine
machine=lathe

Reply 10 of 12, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

You can set the machine setting to anything you want, who cares.

Reply 11 of 12, by SoftCat

User metadata
Rank Member
Rank
Member

I have joked.

Reply 12 of 12, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

😀