Jump to content
IGNORED

Availability of bits in console CRU?


hhos

Recommended Posts

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

Link to comment
Share on other sites

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... :pirate:
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 #55icon_share.png

 

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 by HOME AUTOMATION
  • Like 1
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

  • Like 4
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 by Stuart
Link to comment
Share on other sites

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. :ponder:

 

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. :roll: 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 by hhos
Link to comment
Share on other sites

  • 4 weeks later...

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 by apersson850
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...