The second shift register data can be read from high byte of LISAID. The Non-jumpered bits will read as 1, and if you jumper them they will read as 0. The two lowest bits are hardwired to ground and read as 0, so by default the register will read as 11111100 (252 decimal).
This is the opposite of what you get from the JOYxDAT registers, which read a 1 when the line is pulled to ground.
#include <exec/types.h>
#include <stdio.h>
#define LISAID (*(UWORD *)0xDFF07C)
int main(int argc, char *argv[]) {
printf("%d\n", LISAID>>8);
return 0;
}
This won't work in uae.