<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wikiti.brandonw.net/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wikiti.brandonw.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Acronym+Recrusive</id>
		<title>WikiTI - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wikiti.brandonw.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Acronym+Recrusive"/>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Special:Contributions/Acronym_Recrusive"/>
		<updated>2026-04-05T18:06:16Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:OS:Memory_Layout</id>
		<title>83Plus:OS:Memory Layout</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:OS:Memory_Layout"/>
				<updated>2007-07-09T18:12:37Z</updated>
		
		<summary type="html">&lt;p&gt;Acronym Recrusive: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:83Plus:OS Information|Memory Layout]]&lt;br /&gt;
== Memory Layout ==&lt;br /&gt;
This table describes how the RAM is organized.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;Address&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[83Plus:RAM:8000|appData]] to [[83Plus:RAM:9D95|userMem]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;System RAM: Used by the OS to store various pointers, settings, buffers, etc.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[83Plus:RAM:9D95|userMem]] to ([[83Plus:RAM:9820|tempMem]])&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;User Memory: This is where all variables are stored.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;([[83Plus:RAM:9820|tempMem]]) to ([[83Plus:RAM:9822|FPBase]])&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Temp Memory: This is where the OS stores temporary variables.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;([[83Plus:RAM:9822|FPBase]]) to ([[83Plus:RAM:9824|FPS]])&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Floating Point Stack: A LIFO stack for floating point number (or variable names).&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;([[83Plus:RAM:9824|FPS]]) to ([[83Plus:RAM:9828|OPS]])&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Free RAM.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;([[83Plus:RAM:9828|OPS]]) to ([[83Plus:RAM:9826|OPBase]])&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Operator Stack: A LIFO stack used to parse expressions and to store return information when a TI-Basic program is called from another TI-Basic program. TI won't tell anything about this.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;([[83Plus:RAM:9826|OPBase]]) to ([[83Plus:RAM:982E|pTemp]])&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Variable Allocation Table (VAT) for temporary variables.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;([[83Plus:RAM:982E|pTemp]]) to ([[83Plus:RAM:9830|progPtr]])&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Variable Allocation Table (VAT) for programs,appvars,groups and lists with variable length names.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;([[83Plus:RAM:9830|progPtr]]) to [[83Plus:RAM:FE66|symTable]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Variable Allocation Table (VAT) for all variables with a fixed name: reals, strings, ans, functions, matrices, etc.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[83Plus:RAM:FE66|symTable]]+1 to $FFFF&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Hardware Stack&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Acronym Recrusive</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:OS:Remote_Program_Execution</id>
		<title>83Plus:OS:Remote Program Execution</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:OS:Remote_Program_Execution"/>
				<updated>2007-07-08T22:59:01Z</updated>
		
		<summary type="html">&lt;p&gt;Acronym Recrusive: Added the part about the TI-Keyboard.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:83Plus:OS Information|Remote Program Execution]]&lt;br /&gt;
== Remote Program Execution ==&lt;br /&gt;
&lt;br /&gt;
You can execute a basic program remotely using the link port. In combination with silent linking you can make a calculator execute any basic program or any nostub ASM program.&lt;br /&gt;
&lt;br /&gt;
To execute a basic program already stored on the calculator you have to do the following:&lt;br /&gt;
* Send the following bytes: the 23h machine byte, 89h command ID, the size of the data block, the data block itself and the checksum. The data block is made up as following: it starts with three bytes containing the value 05h followed by a zero terminated program name. The checksum is the default linking checksum and is calculated by summing all bytes in a 16 bit register (which means modulo 2&amp;lt;sup&amp;gt;16&amp;lt;/sup&amp;gt;)&lt;br /&gt;
* You should receive 8 bytes back as acknowledgement: 73,56,00,00,73,56,00,00&lt;br /&gt;
&lt;br /&gt;
If you want to execute a basic program that isn't stored on the remote calculator you can silent link it to the remote calculator and afterwards execute it.&lt;br /&gt;
&lt;br /&gt;
If you want to execute a nostub ASM program you have to silent link a basic program containing &amp;quot;Asm(prgmASMPROGNAME&amp;quot; and the nostub ASM program to the remote calculator. Then you can execute the basic program remotely and that basic program will then start your ASM program.&lt;br /&gt;
&lt;br /&gt;
This can also be used to remotely run Flash applications. Instead of sending three 05h's, send three 24h's. Make sure you send the full application name padded with spaces (and also the zero to terminate it).&lt;br /&gt;
&lt;br /&gt;
NOTE: Remote program execution doesn't work on a TI-83 Plus Silver Edition when Omnicalc RAM recovery is enabled. (I haven't checked the TI-84+ series but I guess you'll have the same problem when RAM recovery is enabled).  This can be remedied by sending commands through the linkport that act as if they come from the TI-Keyboard.  The program would type something such as &amp;quot;prgmABC&amp;quot; on the screen and then &amp;quot;press&amp;quot; enter.  This would still leave a problem for TI-83 Plus Silver edition users with OS versions 1.13 or 1.14 who have the Omnicalc RAM recovery enabled, but that is very unlikely and therefore insignificant.  I have not tried this, so I can give no further information.&lt;/div&gt;</summary>
		<author><name>Acronym Recrusive</name></author>	</entry>

	</feed>