hhos Posted January 1, 2019 Share Posted January 1, 2019 I'm planning to do some upgrades to one of my consoles, so I was looking at the CRU for available bits. It looks to me like there are 3 available, but I ran across an upgrade(s) document from Thierry Nouspikel that claims there are only two. The two that he points out are a subset of my conclusion, I am happy to say. But I have a great deal of respect for his opinion, so I'd like to get some of your opinions on mine, some time before I start hacking into this console. To start, I agree that output bits 16 & 17 are available. In addition to those, however, it looks to me like bit 26, which appears on pin 29, is fair game, too. Bit 12 is also connected to pin 29, but that is for input or INT. I would be configuring it for output. According to the datasheet and the schematics for both the /4 and /4A, bit 26 is connected to pin 29, which is pulled HIGH by 5VDC through a 10K resistor. It has no other connections, unless BOTH of the schematics I have are in error. Is this bit available for a project, or is it commonly, or even occasionally, used for something else? Facts or opinions? In the same doc from Thierry, if I remember correctly, he alludes to some unused NOT gates. Does anyone have, or know of, a list of logic gates in the original console, of any type at all, that weren't used? HH Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted January 1, 2019 Share Posted January 1, 2019 (edited) Availability of I\O PORTS in console's 9901!This is a subject I have some familiarity with... I chose to use them in the same order you suggest... then I needed more... So next I grabbed 22,23,24,25... the HIGH STATE is reduced to about 3.2v on some or all of these, due to loading by the TI interfacing... I haven't found it necessary to sever this though. ...it looks to me like bit 26, which appears on pin 29, is fair game, too. Bit 12 is also connected to pin 29, but that is for input or INT. HH If P10(port ten) is enabled for input: Reading bit 26 reveals the LOGIC STATE on pin 29(high/low).Writing to Bit 26 disables input. Places P10 in output mode and stores/outputs the written data(1(high)/0(low)).Writing to bit 12 acts to enable/disable INT MASKING for this input(input can still be read when the MASK is disabled).I have had issue with pin 29 being held LOW... detailed in the following thread... TI-74 and cassette capabilities #55 The board which exhibits this behavior wont boot since it's last relocation. The ROMs appear to be the originals soldered in place. A strange lot though. I haven't "got to the bottom" of where the different code or wiring is... GROMs, CPUROM. I wonder if there are more. Ha... Edited January 2, 2019 by HOME AUTOMATION 1 Quote Link to comment Share on other sites More sharing options...
hhos Posted January 1, 2019 Author Share Posted January 1, 2019 This is my console CRU map (attached). I created this to help me keep all this straight. I hope it helps at least one other person. Here is where you can download a datasheet for the TMS 9901: http://pdf1.alldatasheet.com/datasheet-pdf/view/29080/TI/TMS9901.html This manual is helpful with a number of 99er questions: https://archive.org/details/tibook_hardware-manual-for-the-texas-instruments-994a HH TI99.console.CRU.map.html.tar.gz Quote Link to comment Share on other sites More sharing options...
Stuart Posted January 1, 2019 Share Posted January 1, 2019 If you need more I/O pins than are available ... in my first TI console I had many years ago, I piggy-backed a second 9901 on top of the first one (with the I/O pins bent out obviously), and picked off a /CS signal from somewhere for the unused >0800 CRU address range. Unused logic gates are likely to have their inputs tied either high or low, and you'd need to do some pin or track cutting to 'free' them. Personally I piggy-back any extra TTL ICs I need on top of those already fitted, just picking off the two power pins. 4 Quote Link to comment Share on other sites More sharing options...
hhos Posted January 2, 2019 Author Share Posted January 2, 2019 If you need more I/O pins than are available ... in my first TI console I had many years ago, I piggy-backed a second 9901 on top of the first one (with the I/O pins bent out obviously), and picked off a /CS signal from somewhere for the unused >0800 CRU address range. Unused logic gates are likely to have their inputs tied either high or low, and you'd need to do some pin or track cutting to 'free' them. Personally I piggy-back any extra TTL ICs I need on top of those already fitted, just picking off the two power pins. I ordered 5 TMS9901's at about 2:30 this morning. Don't worry, I don't think I'm going to use them all in just one machine. I might put two of them in this one, though, for a total of three. Piggy-backing is a good idea. I'll check any pins I use for connections to Vcc, Vss, or anything else. Thanks for the tips. I plan to cut/pull at least one trace/pin for my chip select signal on the 9901 anyway... I'm going to map them in at >40 - >7E, and >80 - >BE. I'll use a 74LS138 or 74LS139 (1/2) to further decode the addresses. I'm thinking of connecting a higher frequency to the clock input of the second 9901. Anyone know what the upper frequency limit is on the 9901? I gave the datasheet electrical specifications a quick look. There were no MHz units to any of the specs, but the nominal clock cycle time is 333 nS(3 MHz), and minimum is 300 nS(3.3333 MHz). I know the TI99 has been over-clocked at 3.579545 MHz and 4 MHz. I think that would have changed the clock to the 9901 as well. Any of you over-clockers ever check to see if there is any trouble with the 9901 TIMER while running above 3.3333 MHz? HH Quote Link to comment Share on other sites More sharing options...
Stuart Posted January 2, 2019 Share Posted January 2, 2019 (edited) There are 9901's specced to run at 4 MHz - look for the "-40" suffix in the part number, i.e. TMS9901NL-40. BUT as the clock input is (presumably) also used for synchronising/timing the CRU signals, is using a different clock frequency to the processor really going to work? Edited January 2, 2019 by Stuart Quote Link to comment Share on other sites More sharing options...
hhos Posted January 2, 2019 Author Share Posted January 2, 2019 (edited) There are 9901's specced to run at 4 MHz - look for the "-40" suffix in the part number, i.e. TMS9901NL-40. BUT as the clock input is (presumably) also used for synchronising/timing the CRU signals, is using a different clock frequency to the processor really going to work? I'm not certain it will work. My understanding though, is that the CRUCLK synchronizes the CRU signals when writing to the CRU. Reading from it is governed by another combination of signals, which I unfortunately can not remember, and I don't know where I read about it. Neither is dependent on the CLK input, though. I could very well be wrong. My memory ain't what it used to be, and maybe it never was. I can't remember. None of the chips I ordered have that "-40" suffix, but I'll have to try it anyway. I'm looking at the possibility of making that CLK variable by dividing down from a 6 Mhz clock. That will give me a granularity of 10.6667 uS if the 9901 will take the full 6 MHz. Dividing by 12 will give me the low end for the CLK (2000 nS, 500kHz), according to the data sheet. Thanks for looking out for me, HH Edited January 3, 2019 by hhos Quote Link to comment Share on other sites More sharing options...
apersson850 Posted January 30, 2019 Share Posted January 30, 2019 (edited) When I designed my internal memory expansion, which uses internal CRU bits for bank switching, I installed a 74LS138 and a 74LS259 to decode a CRU address and provide eight new output bits. Less flexible than another TMS 9901, but requires no setup for I/O configuration. Edited January 30, 2019 by apersson850 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.