Skip to content

USER Port access (especially for switch interface box and joystick Special Needs access) #160

@oneswitch

Description

@oneswitch

Adding USER PORT emulation would facilitate access to a lot of BBC Micro software designed for disabled people unable to use conventional controls. Typically this was via a switch interface box with four sockets, or a joystick. This link explains a little more from a Brilliant Computing catalogue.

https://www.dropbox.com/s/idmzhdv84rmyr5v/09-10.jpg?dl=0

I believe it's an 8-line interface, which writes the status to memory location ?&FE60 as follows....

?&FE60 = 255 11111111 = no switches pressed via the USER PORT
?&FE60 = 254 11111110 = Switch 1 / Right pressed via the USER PORT
?&FE60 = 253 11111101 = Switch 2 / Left pressed via the USER PORT
?&FE60 = 251 11111011 = Switch 3 / Up pressed via the USER PORT
?&FE60 = 247 11110111 = Switch 4 / Down pressed via the USER PORT

.... and for more than one at a time, working as this example: 252 11111100 = Switch 1 + 2 together..... Quite likely that some activities may use a fifth switch for a fire button.

Here's some software you can test this with....

Thurrock Care Switch programmes: If you select the talking word processor, you can test all 4 switches quite easily. https://bbc.godbolt.org/?autoboot&disc=https://dl.dropboxusercontent.com/s/8pralcrfztknabu/DISC000.ssd?dl=0

Joystick Games: Select USER PORT for connection. As you can see, these lock up because there's no way to reset the analogue or user ports. They both seem to have values jamming them on. https://bbc.godbolt.org/?autoboot&disc=https://dl.dropboxusercontent.com/s/zetb1jcf9julkmq/DISC013.ssd?dl=0

Spot on Games: on-line. Also locks up before you can start it... https://bbc.godbolt.org/?autoboot&disc=https://dl.dropboxusercontent.com/s/rz1s4i2j3vtnvhx/DISC017.ssd?dl=0

It may be necessary to set the user-port to 255 (no switches pressed) and also to "reset" the analogue port to get stuff all working, as some titles will lock up before starting if they think you are holding a control down.

Fingers crossed for one day.

Metadata

Metadata

Assignees

Labels

accessibilityRelating to accessibility of the webpage or emulated peripheralsfeatureA feature requestinputIssues with input, keyboard, mouse, etc

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions