You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
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.
The text was updated successfully, but these errors were encountered:
Also initialises all VIA registers to zero, per data sheet.
Introduces alt-1 through alt-8 for switches (currently enabled on but
will need configuration later). Also alt-R reloads.
Addresses #160 - though configuration of this is still needed.
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.
The text was updated successfully, but these errors were encountered: