Jump to content
Kchula-Rrit

16-Bit RAM and the RF Shield...

Recommended Posts

I've seen articles about putting RAM on the 16-bit part of the bus to gain some speed, and am thinking of building one.  However, I'm not sure about being able to fit it under the RF shielding clamshells.

 

Ideas?

What kind of metal are the clamshells made of?  Is it readily available?

 

K-R.

Share this post


Link to post
Share on other sites

I have used several different solutions to add 32K to consoles and none of them had trouble fitting under the shielding. There is at least one IC height space between the shielding and the motherboard due to the TMS9919/29 heatsink.

 

One thing to keep in mind is that, unless you have a specific reason, the speed gain is not spectacular by any means and there are some programs that are incompatible with the 16-bit mod. I have attached the 8-bit mod I have used in my current console.

 

Jochen

TI 32k Mod.pdf

  • Like 1

Share this post


Link to post
Share on other sites

There aren't very many incompatible programs -- and frankly these days, if you come across a deal breaker we can probably fix it. ;)

 

You can consider installing a switch as well, that will let you go back to the original timing, which solves the incompatibility issues.

 

All that said, I got tired of the increased complexity and ... well, that PDF /is/ my 8-bit version. ;)

 

But when I was using my TI as my sole console, I really appreciated the speed up.

 

Share this post


Link to post
Share on other sites

Since the vast majority of my TI work is with Ed/Assem, I've been thinking of filling-in the 0x6000-7FFF hole where the cartridge has no RAM.  The easiest (least difficult?) solution would be to make a board to plug in to the side port, but seeing some 16-bit RAM chips on the Digi-Key Web-site gave me delusions of grandeur.

 

I'm trying to decide if I want to do it as 8- or 16-bits.

 

It might be fascinating to try making it CRU-switchable, just as a challenge.  I'd have to make a feed-through to the Nano-PEB, though.

 

My next project after I get my TI UPS done.

 

K-R.

 

  • Like 1

Share this post


Link to post
Share on other sites
41 minutes ago, Kchula-Rrit said:

Since the vast majority of my TI work is with Ed/Assem, I've been thinking of filling-in the 0x6000-7FFF hole where the cartridge has no RAM.  The easiest (least difficult?) solution would be to make a board to plug in to the side port, but seeing some 16-bit RAM chips on the Digi-Key Web-site gave me delusions of grandeur.

 

That is what the SuperCart is for. Of course, you need to get the E/A GROM chip from an E/A cartridge to put it in the SuperCart.

 

...lee

  • Like 1

Share this post


Link to post
Share on other sites

Using Tursi's schematic (thanks Tursi, didn't realise it was yours; great writeup) I used a 256Kx8 RAM chip I had lying around and made two 32K pages switchable through unused TMS9901 I/O pins. Still haven't got a use for it though 🙂

256K (2).JPG

  • Like 1

Share this post


Link to post
Share on other sites

It could be useful for running a debugger.  Data could be stored in the alternate page, about the actual program in the primary page.

(alternatively, you could keep two copies of the same memory, one where you make and test binary patches, and the other undoctored. Flip the GPIO to switch sets of data in memory.)

 

Alternatively, if you dont mind it being specific to just your system, you could write software that makes use of it.

Edited by wierd_w

Share this post


Link to post
Share on other sites
On 10/11/2020 at 3:06 AM, JJB said:

One thing to keep in mind is that, unless you have a specific reason, the speed gain is not spectacular by any means and there are some programs that are incompatible with the 16-bit mod. I have attached the 8-bit mod I have used in my current console.

 

Jochen

 

Actually the speed gain is quite noticeable if you are running an assembly program. Spad 13 Mk 2 is an example where the extra speed is much appreciated. it is much more responsive.

Extended BASIC is another story. A stopwatch will show a slight speed increase of around 1 percent.

What I did involves 2 ram chips piggybacked on the console rom chips and then 2 or 4 piggybacked logic chips with wires connecting all this. I have a switch to select between fast memory or slow memory. There are plans out there for this modification.

What I don't know is whether this is compatible with some of the new hardware that contains 32K on the 8 bit bus. Does the computer ignore the peripheral's 32K or do they conflict?

  • Like 1

Share this post


Link to post
Share on other sites

Any programs I wrote would likely be specific to my system, or any other that had this RAM installed.  Some of my ideas were:

Fast data buffers (if new RAM is 16-bit)

A loader that could use all of Low-RAM

More data buffers

Larger programs

 

On the timing issue, I looked at my PDF copy of the TMS9900 data sheet and figured that a register-to-register MOV instruction would save 12 clock cycles, and a register-indirect-autoincrement-to-same would save 24 clock cycles.  Considering that the R-to-R MOV is 14 cycles, it looks like a very good improvement.  This is just off the top of my head, assuming three wait states per memory access.

 

I use C99 and assembly, so that kind of improvement looks pretty attractive.

 

K-R.

Share this post


Link to post
Share on other sites
6 hours ago, senior_falcon said:

Actually the speed gain is quite noticeable if you are running an assembly program. Spad 13 Mk 2 is an example where the extra speed is much appreciated. it is much more responsive.

Extended BASIC is another story. A stopwatch will show a slight speed increase of around 1 percent.

What I did involves 2 ram chips piggybacked on the console rom chips and then 2 or 4 piggybacked logic chips with wires connecting all this. I have a switch to select between fast memory or slow memory. There are plans out there for this modification.

What I don't know is whether this is compatible with some of the new hardware that contains 32K on the 8 bit bus. Does the computer ignore the peripheral's 32K or do they conflict?

Does the speed increase show up with a compiled basic program?

Share this post


Link to post
Share on other sites
1 hour ago, DuaneAL said:

Does the speed increase show up with a compiled basic program?

Yes, you should definitely notice that it is faster. Of course this may depend on whether delays were put into the program to slow it down to make a game more playable.

Share this post


Link to post
Share on other sites

Every time I see a 32K ram on the 16bit bus, I wish Gary and Don had finished the Accelerator, or I had box full of Top Radio Supply - 16bit boards to sell.

  • Like 1

Share this post


Link to post
Share on other sites
On 10/13/2020 at 12:06 AM, dhe said:

Every time I see a 32K ram on the 16bit bus, I wish Gary and Don had finished the Accelerator, or I had box full of Top Radio Supply - 16bit boards to sell.

I'm curious - are there pictures of those 16-bit memory boards? Watching at recent TI-99/4A repair videos made me think that for the repair purposes alone it would be useful to have a memory plugin board (for RAMs and ROMs). I could design such a board.

Share this post


Link to post
Share on other sites

A good pic here:

 

Jeff White and I put together a similar device for testing and debugging..

VDP+XTAL+32K of Static Ram - of course half the ram was wasted, and signals you didn't want you could snip of off the wire wrap socket. So yea, those parts, wirewrap socket and a proto board.

 

Share this post


Link to post
Share on other sites

I have 64 K RAM, 16 bit wide, in my console. It can cover the whole address range. Mapped in and out in 8K blocks by CRU bits at >400. One advantage of this is that if I map out the 32 K RAM part, then anything "below" becomes visible. So my design allows for simply paging out the 16 bit wide RAM, and revert to the standard memory expansion in the PEB, if necessary.

It also allows for copying the resident monitor program to RAM, then modify it, if desired.

Edited by apersson850
  • Like 2

Share this post


Link to post
Share on other sites
20 hours ago, apersson850 said:

I have 64 K RAM, 16 bit wide, in my console. It can cover the whole address range. Mapped in and out in 8K blocks by CRU bits at >400. One advantage of this is that if I map out the 32 K RAM part, then anything "below" becomes visible. So my design allows for simply paging out the 16 bit wide RAM, and revert to the standard memory expansion in the PEB, if necessary.

It also allows for copying the resident monitor program to RAM, then modify it, if desired.

Do you have a schematic for this?

 

K-R.

  • Like 1

Share this post


Link to post
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.

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