TI-99/4A Pitfall! - Taking Pre-orders

4 replies [Last post]
Bill Loguidice
Bill Loguidice's picture
Offline
Joined: 12/31/1969

Taking pre-orders now. This will be a clone of the ColecoVision version.

http://www.atariage.com/forums/topic/150008-ti-994a-pitfall/page__pid__1...

n/a
Mark Vergeer
Mark Vergeer's picture
Offline
Joined: 01/16/2006
Arghh incredibly challenging to program those beasts!

Xbox 360: Lactobacillus P | Wii: 8151 3435 8469 3138
Armchair arcade Editor | Pixellator | www.markvergeer.nl

n/a
adamantyr
adamantyr's picture
Offline
Joined: 01/28/2007
TI Memory

Well, the base TI console has... brace for it... 256 bytes of CPU RAM.

No, I'm not kidding. :) On the plus side, it is 16-bit static RAM, where most of the rest of the CPU memory on the TI is actually fed through an 8-bit multiplexer, which means every fetch requires an additional 4 cycles. It's usually referred to as the "scratchpad".

The scratchpad has a number of reserved addresses as well, such as the video port. So the whole amount isn't readily available for use, most of the time. You do have enough room for 2-3 sets of registers; locating your registers here will usually get you a speed increase of 30% for most operations. The game Parsec actually pushes a routine into the scratchpad to execute in order to get maximum speed for the bitmap scrolling it does.

But what about the 16k? Well, that's all dedicated memory for the video chip. You can't execute code from it, but you can use it as data space if you want... although writing/reading to video goes through an 8-bit port address, so this is an additional bottleneck.

Cartridges generally had two memory options, ROM or GROM. There's a space in TI's memory map for 8k on the cartridge port. So originally, most 3rd party cartridges on the TI had to fit into 8k, a rather nasty limitation. It's possible to page out the 8k; the Extended BASIC cartridge does this to store 16k worth of data, with appropriate data mirrored between the two. The main reason TI Extended BASIC runs so much faster than console BASIC is it relies on the faster CPU ROM to store base functionality. Superspace cartridges have carried the paging system further; a Superspace II cart (a rare find, even on eBay) could have up to 32k of paged RAM in them.

TI cartridges could also hold GROM chips, their proprietary ROM chips, and you had some flexibility with them. Tunnels of Doom actually has five GROM's, the maximum normally allowed, for 30k of data space. (Even though they were 8k chips, a quarter of the space was consumed by the GROM infrastructure.) GROM were usually used to store GPL (an internal 8-bit low-level language) or raw data. Generally, raw data was the better use for them because GPL was slow.

If you get the 32k memory expansion on the TI, you have 8k in a "low memory" area, and 24k in a "high" memory area. This is all 8-bit multiplexed memory, but it's better than nothing, and there's certainly no argument that a disk-based memory expanded TI is the best development environment. This memory is not paged either, it all maps into a flat memory model of 64k.

Much later, a 99'er who owned a TI-99/8, the prototype successor system of which only about 150 engineering models exist, discovered how the paged memory system on it worked, and reverse-engineered it for the TI-99/4a. This is where the AMS cards (Advanced Memory System) came from, which give the TI up to a megabyte of CPU RAM.

Unfortunately, most of the best memory expansion options came far too late to make much difference for software.

Adamantyr

Bill Loguidice
Bill Loguidice's picture
Offline
Joined: 12/31/1969
Well, the interesting factor

Well, the interesting factor with going to or from the ColecoVision is that its RAM is absolutely pitiful at 1K. While that's not necessarily uncommon for consoles prior to the ColecoVision's release, it does seem incredibly impressive how the ColecoVision is the recipient of so many ports from the SG-1000 and MSX platforms these days with no loss of fidelity (and occasional enhancements). If anything, though it's a different architecture, at least having a baseline of 16K RAM should work in the TI's favor, so I'd certainly be curious to hear more about your knowledge of the TI's limitations in that regard. I know some cartridges got around certain TI limitations by forgoing the cartridge port and using the expansion port instead.

Books!
Bill Loguidice, Managing Director | Armchair Arcade, Inc.

n/a
adamantyr
adamantyr's picture
Offline
Joined: 01/28/2007
Cool

Cool stuff. The fact the MSX/Colecovision had the same graphics chip as the TI-99/4a, and a pretty close approximation of the same sound chip would make you think that ports like this would be more common...

Unfortunately, the assembly languages involved are totally different, and the TI's severe memory bottlenecks make it really difficult to implement games that could easily just page in more RAM.

Adamantyr

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.