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

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

Open
oneswitch opened this issue Dec 14, 2017 · 1 comment
Assignees

Comments

@oneswitch
Copy link

oneswitch commented Dec 14, 2017

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.

@oneswitch
Copy link
Author

oneswitch commented Dec 14, 2017

Have a look at this for a bit more on the software this would open up again: https://www.youtube.com/watch?v=PNNIG17tQVI&t=117s

@mattgodbolt mattgodbolt self-assigned this Feb 7, 2018
mattgodbolt added a commit that referenced this issue Feb 10, 2018
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: To do
Development

No branches or pull requests

2 participants