Linking Calculators

by Ciaran McCreesh
Created: 14th December 1999
Last Modified: 15th December 1999

This page addresses the £1,000,000 (US$1,500,000ish) question: how much memory has the ti86 actually got? It explains memory pages and their associated ports, 5 and 6.

The ti86's processor can address up to 65536 bytes of memory. Each byte has an address from $0000 to $ffff. But the ti86 has far more memory than 64Kb. This works as follows.

But exactly what are memory pages? Think of it like this. The area of memory between $8000 and $bfff is read from a specific page of memory in a book of memory. If you turn the page in the book the memory between $8000 and $bfff will contain different data, but it can still be read and written to. If the page is then set back to the original page then you can read the initial data again. Writing a value onto one memory page will not affect any other page. To read and write from a page you must 'turn' to that page.

Port 5 is used to control which page is loaded between $4000 and $7fff. Port 6 is used to control which page is loaded between $8000 and $bfff. These ports can be read from and written to, so you can find the current memory page. The different pages are set (or read) by the values written (or read from) these two ports. The values are as follows.

Interestingly, if you write, for example, $41 to both ports 5 and 6 and then set the value of, say, $8000 the value of $4000 will also change. Neat, eh?

If you'd like information on Port 4 you could mail me, but the only use it has is if you're trying to change the screen resolution on the ti86 (eg to run ti83(+) programs which use a smaller screen size). Alternatively get hold of a copy of Dan Eble's guide to ti85 ports, Port 4 is the same on both calculators except that the first three bits must be %010????? on the ti86 to stop the calculator freezing.