gregallenwarner Posted April 6, 2015 Share Posted April 6, 2015 I've got a question regarding the CRU interface on the Geneve. When building cards that interface with the Geneve's main memory space, I know you've got to decode AMA through AMC, and optionally AMD and AME if you want to be fully compliant with the Geneve's memory map. However, can anyone tell me if there's a similar concern when building CRU hardware for use on the Geneve? If I'm building a device to communicate with the Geneve over the CRU interface, which address lines do I need to decode? I know for the TI-99, some cards never decode A0 through A2, as they are always assumed to be zero, since the TMS9900's CRU space never went above >1FFF. I know the TMS9995's CRU space is a lot bigger, so I should probably decode A0 through A7 for the full CRU address, right? What about AMA through AME? Or any of the other address lines? Should I be concerned with any of those? Thanks for the info. -Greg W Quote Link to comment Share on other sites More sharing options...
+mizapf Posted April 6, 2015 Share Posted April 6, 2015 (edited) Note that the CRU space of the 9995 is the complete range from 0000 to FFFE (even addresses). While the TMS9900 sets address lines A0,A1,A2 to (0,0,0) for CRU accesses (other values are used for external commands like CKOF, CKON, ... LREX), these lines may be used for addressing. To provide a similar decoding, the data bus lines D0-D2 take the role of A0-A2. That means that in order to fully decode CRU accesses you also have to check D0,D1,D2 = (0,0,0). Or you must hope that no external command is executed (see the incomplete decoding of the TI-99/4A console). AMA-AME are created by the gate array on the Geneve. The CPU does not have anything to say about them. Accordingly, they may take any value during CRU access. Edited April 6, 2015 by mizapf Quote Link to comment Share on other sites More sharing options...
gregallenwarner Posted April 6, 2015 Author Share Posted April 6, 2015 Ok, so in order to be fully Geneve compliant, the only other thing I need to check for other than the full address bus is to ensure D0 through D2 are zero, correct? Thanks for the info. I didn't know that about external instructions. -Greg W Quote Link to comment Share on other sites More sharing options...
+mizapf Posted April 6, 2015 Share Posted April 6, 2015 If you check for D0,D1,D2=(0,0,0) you're doing better than TI in their own console. The missing decoding (A0,A1,A2=(0,0,0)) is the reason why TI discouraged to use the external commands. We don't have too many Geneve-specific cards ... in fact, I only know of the MEMEX. That is, we don't have devices that respond outside of the TI-99-specific CRU area (0000-1FFE). The only exception is inside the TI-99/8. 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.