Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Attempting to configure the keyboard in RISC OS 3 locks up the emulator #4

Closed
RichardBrown384 opened this issue Jul 2, 2024 · 2 comments
Labels

Comments

@RichardBrown384
Copy link
Owner

RichardBrown384 commented Jul 2, 2024

Describe the bug
Attempting to configure the keyboard using the RISC OS 3 !Configure App locks up the emulator

To Reproduce
Steps to reproduce the behaviour:

  1. Start Emulator
  2. Double click on Apps
  3. Double click on !Configure
  4. Click on the !Configure App in the Icon Bar
  5. Click on the Keyboard icon
  6. Emulator locks up

Expected behaviour
When the keyboard icon is clicked upon the keyboard configuration window should appear.

Please complete the following information

  • Current HEAD

Additional context
None

@RichardBrown384
Copy link
Owner Author

RichardBrown384 commented Jul 5, 2024

Immediately prior to opening the keyboard configuration window the OS accesses CMOS addresses 0x4d, 0x4c and 0x4b.

Subtracting 64 from these addresses gives us CMOS locations 13 (keyboard auto repeat), 12 (keyboard delay) and 11 (misc configuration). RISC OS documentation.

The one that makes a difference is location 11 which contains the Shift Caps, No Caps and Caps settings.

The valid bit patterns are

Bits Setting
001 Shift Caps
010 No Caps
100 Caps 

With a CMOS that is all zero, none of these bit patterns match and this is likely the reason that the window locks up trying to set the appropriate, non-existent, radio button.

This is connected to #2 and #9

@RichardBrown384
Copy link
Owner Author

Resolved by #26

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant