<?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=144.131.13.168</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=144.131.13.168"/>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Special:Contributions/144.131.13.168"/>
		<updated>2026-04-23T01:16:04Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:OS:How_BCALLs_work</id>
		<title>83Plus:OS:How BCALLs work</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:OS:How_BCALLs_work"/>
				<updated>2005-09-10T04:10:55Z</updated>
		
		<summary type="html">&lt;p&gt;144.131.13.168: How BCALLs work&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sorry, this article isn't very well written. It would be good if someone else could maybe look at the TI-OS code a bit and explain this better.&lt;br /&gt;
&lt;br /&gt;
BCALLs are the way to call TI-OS ROM routines, and also the way that the branch table works in multi-page apps. A BCALL is the RST 28h instruction, with a 16-bit number after it which is used to identify which routine it is calling.&lt;br /&gt;
&lt;br /&gt;
If the first bit (bit 15) of the number is set, this is what the OS does:&lt;br /&gt;
&lt;br /&gt;
*It resets bit 15&lt;br /&gt;
*It adds 0x4000 to the number&lt;br /&gt;
*It maps page 1F into memory space 4000-7FFF&lt;br /&gt;
&lt;br /&gt;
Otherwise, if bit 15 is reset and bit 14 is set, this is what the OS does:&lt;br /&gt;
&lt;br /&gt;
*It resets bit 14&lt;br /&gt;
*It adds 0x4000 to the number&lt;br /&gt;
*It maps page 1B into memory space 4000-7FFF&lt;br /&gt;
&lt;br /&gt;
Otherwise, if bit 15 and 14 are both reset, it is treated as a multipage app branch, which is explained in the TI developer's guide.&lt;br /&gt;
&lt;br /&gt;
Once the OS has mapped the appropriate page into 4000-7FFF, it uses the number in memory as a pointer into this page. In page 1B and 1F there are lists of vectors for the actual ROM routines. The vectors are 3 bytes, the first two bytes are a memory address and the next byte is the page that the routine is on.&lt;/div&gt;</summary>
		<author><name>144.131.13.168</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:OS:How_BCALLs_work</id>
		<title>83Plus:OS:How BCALLs work</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:OS:How_BCALLs_work"/>
				<updated>2005-09-10T04:07:38Z</updated>
		
		<summary type="html">&lt;p&gt;144.131.13.168: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How BCALLS work.&lt;br /&gt;
Sorry, this article isn't very well written. It would be good if someone else could maybe look at the TI-OS code a bit and explain this better.&lt;br /&gt;
&lt;br /&gt;
BCALLs are the way to call TI-OS ROM routines, and also the way that the branch table works in multi-page apps. A BCALL is the RST 28h instruction, with a 16-bit number after it which is used to identify which routine it is calling.&lt;br /&gt;
&lt;br /&gt;
If the first bit (bit 15) of the number is set, this is what the OS does:&lt;br /&gt;
&lt;br /&gt;
-It resets bit 15&lt;br /&gt;
-It adds 0x4000 to the number&lt;br /&gt;
-It maps page 1F into memory space 4000-7FFF&lt;br /&gt;
&lt;br /&gt;
Otherwise, if bit 15 is reset and bit 14 is set, this is what the OS does:&lt;br /&gt;
&lt;br /&gt;
-It resets bit 14&lt;br /&gt;
-It adds 0x4000 to the number&lt;br /&gt;
-It maps page 1B into memory space 4000-7FFF&lt;br /&gt;
&lt;br /&gt;
Otherwise, if bit 15 and 14 are both reset, it is treated as a multipage app branch, which is explained in the TI developer's guide.&lt;br /&gt;
&lt;br /&gt;
Once the OS has mapped the appropriate page into 4000-7FFF, it uses the number in memory as a pointer into this page. In page 1B and 1F there are lists of vectors for the actual ROM routines. The vectors are 3 bytes, the first two bytes are a memory address and the next byte is the page that the routine is on.&lt;/div&gt;</summary>
		<author><name>144.131.13.168</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:OS:ByROMPage</id>
		<title>83Plus:OS:ByROMPage</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:OS:ByROMPage"/>
				<updated>2005-09-10T03:51:10Z</updated>
		
		<summary type="html">&lt;p&gt;144.131.13.168: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:83:OS Information|ROM Page 1B]]&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
This page contains at the start a list of 3-byte vectors for ROM calls.&lt;br /&gt;
&lt;br /&gt;
==Structure==&lt;br /&gt;
&lt;br /&gt;
''to do''&lt;/div&gt;</summary>
		<author><name>144.131.13.168</name></author>	</entry>

	</feed>