jschultzpedersen Posted September 6 Share Posted September 6 I have been looking into reading and writing to pins to get access to the keyboard directly via the CRU. I think I get it. But one key has left me a bit unsure. That is the ALPHA LOCk mapped to pin 21. I saw a working example (see below) that loops until the key is pressed down. That is fine, and it works. But I have seen no documentation telling me why pin 7 is the pin to test. Neither the E/A manual nor the nouspikel.com docs mention this, as far as I can see. So where can I find such information? DEF START START CLR R12 SBZ 21 L1 TB 7 JNE L1 SBO 21 B *R11 END Quote Link to comment Share on other sites More sharing options...
Artoj Posted September 6 Share Posted September 6 I have been working on this diagram on and off for a while, I hope this helps. 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted September 6 Share Posted September 6 (edited) 2 hours ago, jschultzpedersen said: I have been looking into reading and writing to pins to get access to the keyboard directly via the CRU. I think I get it. But one key has left me a bit unsure. That is the ALPHA LOCk mapped to pin 21. I saw a working example (see below) that loops until the key is pressed down. That is fine, and it works. But I have seen no documentation telling me why pin 7 is the pin to test. Neither the E/A manual nor the nouspikel.com docs mention this, as far as I can see. So where can I find such information? DEF START START CLR R12 SBZ 21 L1 TB 7 JNE L1 SBO 21 B *R11 END Did you see this? https://www.unige.ch/medecine/nouspikel/ti99/keyboard.htm#CRU map Quote The alpha-lock key is activated by the TMS9901 output P5 (R12 address >002A, bit 21) and reads together with keyboard row 4 (R12 = >000E, bit 7). This has the very unfortunate effect of messing up the joystick "up" signal when the alpha-lock key is engaged. Why the TI engineers did not pick row 7 (pin #11) instead, is a mystery to me. Edited September 6 by Asmusr 3 Quote Link to comment Share on other sites More sharing options...
+jedimatt42 Posted September 6 Share Posted September 6 It is documented as Cru R12 address 0x000E, but your code is using R12 set to 0. TB parameter is shifted left 1 and then added to the R12 value. 0x000E is 14. 7 shifted left 1 is 14, added to your crubase of 0 is 14... 1 Quote Link to comment Share on other sites More sharing options...
jschultzpedersen Posted September 6 Author Share Posted September 6 The link to the keyboard article was just what I needed. Thanks a lot! I was led astray by the article on the TMS9901 Programmable systems interface where the CRU map of keys mapping of the TMS9901 does not mention the ALPHA LOCK. So I never looked further among the articles on nouspikel's site. Doh! 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.