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

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00</id>
		<title>83Plus:Ports:00</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00"/>
				<updated>2005-03-27T12:13:05Z</updated>
		
		<summary type="html">&lt;p&gt;81.69.25.24: /* Data transfer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Port Number:''' 00h&lt;br /&gt;
&lt;br /&gt;
This port controls the calculator's serial link port (the standard link port present on the 83+, 83+ SE, 84+ and 84+ SE - do not confuse this with the 84+/84+SE's USB link port).&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate the state of the link port's two lines. A 1 bit indicates a high line, and a 0 bit indicates a low line. When idle (no transfer in progress, no cable plugged in, etc), both lines are usually high (1). When a cable is connected on both ends, a line reads high if and only if both ends have set the line high. The line will read low if either calculator sets it low.&lt;br /&gt;
* Bit 5 and 6: Bits 5 and 6 indicate which lines are pulled low by the calculator (unlike bits 0 and 1 they are not influenced by the other calculator). A 1 bit indicates your calculator is holding the line low. A 0 bit indicates your calculator is not holding the line low. (When both calculators have a 0 bit here, the corresponding line will read 1.) In other words, these bits reflect bits 0 and 1 from the most recent write to this port.&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does... &lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate what state the lines should be put into. A 1 bit will pull the line low. A 0 bit will stop holding the line low (allowing it to go high if the other calculator is not holding it low).&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does, except that any change of this bit causes both lines to be released, and writing with this bit set causes bit 2 to read 1, and the next write causes it to read 0 and both lines are released.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
=== Bit 2 ===&lt;br /&gt;
As mentioned bit 2's effect is unknown. An example of it's behavior follows:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Start, read 03.&lt;br /&gt;
Write 02, read 01.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 07, read 03.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 00, read 03.&lt;br /&gt;
Write 09, read 07.&lt;br /&gt;
Write 01, read 03.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ti-OS interference ===&lt;br /&gt;
One thing to keep in mind when writing link port related software is that the Ti-OS checks for silent transfers in the background. When two calculators are connected and one pulls a line low, the other calculator will respond by pulling the other line low to acknowledge that it has received a bit. This phenomenon is known to cause severe headaches for programmers who attempt to write synchronization routines :). It's unclear if this is only when the other calculator is in the homescreen, or if it is part of the default interrupt routine at $0038.&lt;br /&gt;
&lt;br /&gt;
=== Data transfer ===&lt;br /&gt;
Transferring an entire byte requires you to implement some form of protocol. Examples include TI's official linking protocol, and [http://www.ticalc.org/archives/files/fileinfo/277/27718.html Michael Vincent's TachyonLink protocol].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Other useful information on linking in general:&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.ticalc.org/archives/files/fileinfo/247/24750.html TI Link Protocol &amp;amp; File Format Guide]&amp;lt;br&amp;gt;&lt;br /&gt;
* [http://www.ticalc.org/archives/files/fileinfo/294/29418.html Ti-83 Link Port Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
=== Sending/Setting ===&lt;br /&gt;
&amp;lt;pre&amp;gt;ld a,0     ; Set both lines high&lt;br /&gt;
out (0),a&lt;br /&gt;
&lt;br /&gt;
ld a,2     ; Set tip high, ring low&lt;br /&gt;
out (0),a&lt;br /&gt;
&lt;br /&gt;
ld a,1     ; Set tip low, ring high&lt;br /&gt;
out (0),a&lt;br /&gt;
&lt;br /&gt;
ld a,3     ; Set both low&lt;br /&gt;
out (0),a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Receiving/Reading ===&lt;br /&gt;
&amp;lt;pre&amp;gt;in a,(0)        ; Get the link port value&lt;br /&gt;
&lt;br /&gt;
bit 0,a         ; Check tip&lt;br /&gt;
jr z,tip_low&lt;br /&gt;
jr nz,tip_high&lt;br /&gt;
&lt;br /&gt;
bit 1,a         ; Check ring&lt;br /&gt;
jr z,ring_low&lt;br /&gt;
jr nz,ring_high&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>81.69.25.24</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00</id>
		<title>83Plus:Ports:00</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00"/>
				<updated>2005-03-27T12:12:15Z</updated>
		
		<summary type="html">&lt;p&gt;81.69.25.24: /* Receiving/Reading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Port Number:''' 00h&lt;br /&gt;
&lt;br /&gt;
This port controls the calculator's serial link port (the standard link port present on the 83+, 83+ SE, 84+ and 84+ SE - do not confuse this with the 84+/84+SE's USB link port).&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate the state of the link port's two lines. A 1 bit indicates a high line, and a 0 bit indicates a low line. When idle (no transfer in progress, no cable plugged in, etc), both lines are usually high (1). When a cable is connected on both ends, a line reads high if and only if both ends have set the line high. The line will read low if either calculator sets it low.&lt;br /&gt;
* Bit 5 and 6: Bits 5 and 6 indicate which lines are pulled low by the calculator (unlike bits 0 and 1 they are not influenced by the other calculator). A 1 bit indicates your calculator is holding the line low. A 0 bit indicates your calculator is not holding the line low. (When both calculators have a 0 bit here, the corresponding line will read 1.) In other words, these bits reflect bits 0 and 1 from the most recent write to this port.&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does... &lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate what state the lines should be put into. A 1 bit will pull the line low. A 0 bit will stop holding the line low (allowing it to go high if the other calculator is not holding it low).&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does, except that any change of this bit causes both lines to be released, and writing with this bit set causes bit 2 to read 1, and the next write causes it to read 0 and both lines are released.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
=== Bit 2 ===&lt;br /&gt;
As mentioned bit 2's effect is unknown. An example of it's behavior follows:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Start, read 03.&lt;br /&gt;
Write 02, read 01.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 07, read 03.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 00, read 03.&lt;br /&gt;
Write 09, read 07.&lt;br /&gt;
Write 01, read 03.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ti-OS interference ===&lt;br /&gt;
One thing to keep in mind when writing link port related software is that the Ti-OS checks for silent transfers in the background. When two calculators are connected and one pulls a line low, the other calculator will respond by pulling the other line low to acknowledge that it has received a bit. This phenomenon is known to cause severe headaches for programmers who attempt to write synchronization routines :). It's unclear if this is only when the other calculator is in the homescreen, or if it is part of the default interrupt routine at $0038.&lt;br /&gt;
&lt;br /&gt;
=== Data transfer ===&lt;br /&gt;
Transferring an entire byte requires you to implement some form of protocol. Examples include TI's official linking protocol, and [http://www.ticalc.org/archives/files/fileinfo/277/27718.html Michael Vincent's TachyonLink protocol].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Other useful information on linking in general:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/247/24750.html TI Link Protocol &amp;amp; File Format Guide]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/294/29418.html Ti-83 Link Port Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
=== Sending/Setting ===&lt;br /&gt;
&amp;lt;pre&amp;gt;ld a,0     ; Set both lines high&lt;br /&gt;
out (0),a&lt;br /&gt;
&lt;br /&gt;
ld a,2     ; Set tip high, ring low&lt;br /&gt;
out (0),a&lt;br /&gt;
&lt;br /&gt;
ld a,1     ; Set tip low, ring high&lt;br /&gt;
out (0),a&lt;br /&gt;
&lt;br /&gt;
ld a,3     ; Set both low&lt;br /&gt;
out (0),a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Receiving/Reading ===&lt;br /&gt;
&amp;lt;pre&amp;gt;in a,(0)        ; Get the link port value&lt;br /&gt;
&lt;br /&gt;
bit 0,a         ; Check tip&lt;br /&gt;
jr z,tip_low&lt;br /&gt;
jr nz,tip_high&lt;br /&gt;
&lt;br /&gt;
bit 1,a         ; Check ring&lt;br /&gt;
jr z,ring_low&lt;br /&gt;
jr nz,ring_high&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>81.69.25.24</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00</id>
		<title>83Plus:Ports:00</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00"/>
				<updated>2005-03-27T12:11:54Z</updated>
		
		<summary type="html">&lt;p&gt;81.69.25.24: /* Receiving/Reading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Port Number:''' 00h&lt;br /&gt;
&lt;br /&gt;
This port controls the calculator's serial link port (the standard link port present on the 83+, 83+ SE, 84+ and 84+ SE - do not confuse this with the 84+/84+SE's USB link port).&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate the state of the link port's two lines. A 1 bit indicates a high line, and a 0 bit indicates a low line. When idle (no transfer in progress, no cable plugged in, etc), both lines are usually high (1). When a cable is connected on both ends, a line reads high if and only if both ends have set the line high. The line will read low if either calculator sets it low.&lt;br /&gt;
* Bit 5 and 6: Bits 5 and 6 indicate which lines are pulled low by the calculator (unlike bits 0 and 1 they are not influenced by the other calculator). A 1 bit indicates your calculator is holding the line low. A 0 bit indicates your calculator is not holding the line low. (When both calculators have a 0 bit here, the corresponding line will read 1.) In other words, these bits reflect bits 0 and 1 from the most recent write to this port.&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does... &lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate what state the lines should be put into. A 1 bit will pull the line low. A 0 bit will stop holding the line low (allowing it to go high if the other calculator is not holding it low).&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does, except that any change of this bit causes both lines to be released, and writing with this bit set causes bit 2 to read 1, and the next write causes it to read 0 and both lines are released.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
=== Bit 2 ===&lt;br /&gt;
As mentioned bit 2's effect is unknown. An example of it's behavior follows:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Start, read 03.&lt;br /&gt;
Write 02, read 01.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 07, read 03.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 00, read 03.&lt;br /&gt;
Write 09, read 07.&lt;br /&gt;
Write 01, read 03.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ti-OS interference ===&lt;br /&gt;
One thing to keep in mind when writing link port related software is that the Ti-OS checks for silent transfers in the background. When two calculators are connected and one pulls a line low, the other calculator will respond by pulling the other line low to acknowledge that it has received a bit. This phenomenon is known to cause severe headaches for programmers who attempt to write synchronization routines :). It's unclear if this is only when the other calculator is in the homescreen, or if it is part of the default interrupt routine at $0038.&lt;br /&gt;
&lt;br /&gt;
=== Data transfer ===&lt;br /&gt;
Transferring an entire byte requires you to implement some form of protocol. Examples include TI's official linking protocol, and [http://www.ticalc.org/archives/files/fileinfo/277/27718.html Michael Vincent's TachyonLink protocol].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Other useful information on linking in general:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/247/24750.html TI Link Protocol &amp;amp; File Format Guide]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/294/29418.html Ti-83 Link Port Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
=== Sending/Setting ===&lt;br /&gt;
&amp;lt;pre&amp;gt;ld a,0     ; Set both lines high&lt;br /&gt;
out (0),a&lt;br /&gt;
&lt;br /&gt;
ld a,2     ; Set tip high, ring low&lt;br /&gt;
out (0),a&lt;br /&gt;
&lt;br /&gt;
ld a,1     ; Set tip low, ring high&lt;br /&gt;
out (0),a&lt;br /&gt;
&lt;br /&gt;
ld a,3     ; Set both low&lt;br /&gt;
out (0),a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Receiving/Reading ===&lt;br /&gt;
&amp;lt;pre&amp;gt;in a,(0)        ; Get the link port value&lt;br /&gt;
bit 0,a         ; Check tip&lt;br /&gt;
jr z,tip_low&lt;br /&gt;
jr nz,tip_high&lt;br /&gt;
bit 1,a         ; Check ring&lt;br /&gt;
jr z,ring_low&lt;br /&gt;
jr nz,ring_high&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>81.69.25.24</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00</id>
		<title>83Plus:Ports:00</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00"/>
				<updated>2005-03-27T12:11:30Z</updated>
		
		<summary type="html">&lt;p&gt;81.69.25.24: /* Sending/Setting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Port Number:''' 00h&lt;br /&gt;
&lt;br /&gt;
This port controls the calculator's serial link port (the standard link port present on the 83+, 83+ SE, 84+ and 84+ SE - do not confuse this with the 84+/84+SE's USB link port).&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate the state of the link port's two lines. A 1 bit indicates a high line, and a 0 bit indicates a low line. When idle (no transfer in progress, no cable plugged in, etc), both lines are usually high (1). When a cable is connected on both ends, a line reads high if and only if both ends have set the line high. The line will read low if either calculator sets it low.&lt;br /&gt;
* Bit 5 and 6: Bits 5 and 6 indicate which lines are pulled low by the calculator (unlike bits 0 and 1 they are not influenced by the other calculator). A 1 bit indicates your calculator is holding the line low. A 0 bit indicates your calculator is not holding the line low. (When both calculators have a 0 bit here, the corresponding line will read 1.) In other words, these bits reflect bits 0 and 1 from the most recent write to this port.&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does... &lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate what state the lines should be put into. A 1 bit will pull the line low. A 0 bit will stop holding the line low (allowing it to go high if the other calculator is not holding it low).&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does, except that any change of this bit causes both lines to be released, and writing with this bit set causes bit 2 to read 1, and the next write causes it to read 0 and both lines are released.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
=== Bit 2 ===&lt;br /&gt;
As mentioned bit 2's effect is unknown. An example of it's behavior follows:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Start, read 03.&lt;br /&gt;
Write 02, read 01.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 07, read 03.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 00, read 03.&lt;br /&gt;
Write 09, read 07.&lt;br /&gt;
Write 01, read 03.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ti-OS interference ===&lt;br /&gt;
One thing to keep in mind when writing link port related software is that the Ti-OS checks for silent transfers in the background. When two calculators are connected and one pulls a line low, the other calculator will respond by pulling the other line low to acknowledge that it has received a bit. This phenomenon is known to cause severe headaches for programmers who attempt to write synchronization routines :). It's unclear if this is only when the other calculator is in the homescreen, or if it is part of the default interrupt routine at $0038.&lt;br /&gt;
&lt;br /&gt;
=== Data transfer ===&lt;br /&gt;
Transferring an entire byte requires you to implement some form of protocol. Examples include TI's official linking protocol, and [http://www.ticalc.org/archives/files/fileinfo/277/27718.html Michael Vincent's TachyonLink protocol].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Other useful information on linking in general:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/247/24750.html TI Link Protocol &amp;amp; File Format Guide]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/294/29418.html Ti-83 Link Port Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
=== Sending/Setting ===&lt;br /&gt;
&amp;lt;pre&amp;gt;ld a,0     ; Set both lines high&lt;br /&gt;
out (0),a&lt;br /&gt;
&lt;br /&gt;
ld a,2     ; Set tip high, ring low&lt;br /&gt;
out (0),a&lt;br /&gt;
&lt;br /&gt;
ld a,1     ; Set tip low, ring high&lt;br /&gt;
out (0),a&lt;br /&gt;
&lt;br /&gt;
ld a,3     ; Set both low&lt;br /&gt;
out (0),a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Receiving/Reading ===&lt;br /&gt;
&amp;lt;pre&amp;gt;in a,(0)  ; Get the link port value&lt;br /&gt;
bit 0,a   ; Check tip&lt;br /&gt;
jr z,tip_low&lt;br /&gt;
jr nz,tip_high&lt;br /&gt;
bit 1,a   ; Check ring&lt;br /&gt;
jr z,ring_low&lt;br /&gt;
jr nz,ring_high&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>81.69.25.24</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00</id>
		<title>83Plus:Ports:00</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00"/>
				<updated>2005-03-27T12:10:52Z</updated>
		
		<summary type="html">&lt;p&gt;81.69.25.24: /* Sending/Setting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Port Number:''' 00h&lt;br /&gt;
&lt;br /&gt;
This port controls the calculator's serial link port (the standard link port present on the 83+, 83+ SE, 84+ and 84+ SE - do not confuse this with the 84+/84+SE's USB link port).&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate the state of the link port's two lines. A 1 bit indicates a high line, and a 0 bit indicates a low line. When idle (no transfer in progress, no cable plugged in, etc), both lines are usually high (1). When a cable is connected on both ends, a line reads high if and only if both ends have set the line high. The line will read low if either calculator sets it low.&lt;br /&gt;
* Bit 5 and 6: Bits 5 and 6 indicate which lines are pulled low by the calculator (unlike bits 0 and 1 they are not influenced by the other calculator). A 1 bit indicates your calculator is holding the line low. A 0 bit indicates your calculator is not holding the line low. (When both calculators have a 0 bit here, the corresponding line will read 1.) In other words, these bits reflect bits 0 and 1 from the most recent write to this port.&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does... &lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate what state the lines should be put into. A 1 bit will pull the line low. A 0 bit will stop holding the line low (allowing it to go high if the other calculator is not holding it low).&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does, except that any change of this bit causes both lines to be released, and writing with this bit set causes bit 2 to read 1, and the next write causes it to read 0 and both lines are released.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
=== Bit 2 ===&lt;br /&gt;
As mentioned bit 2's effect is unknown. An example of it's behavior follows:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Start, read 03.&lt;br /&gt;
Write 02, read 01.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 07, read 03.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 00, read 03.&lt;br /&gt;
Write 09, read 07.&lt;br /&gt;
Write 01, read 03.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ti-OS interference ===&lt;br /&gt;
One thing to keep in mind when writing link port related software is that the Ti-OS checks for silent transfers in the background. When two calculators are connected and one pulls a line low, the other calculator will respond by pulling the other line low to acknowledge that it has received a bit. This phenomenon is known to cause severe headaches for programmers who attempt to write synchronization routines :). It's unclear if this is only when the other calculator is in the homescreen, or if it is part of the default interrupt routine at $0038.&lt;br /&gt;
&lt;br /&gt;
=== Data transfer ===&lt;br /&gt;
Transferring an entire byte requires you to implement some form of protocol. Examples include TI's official linking protocol, and [http://www.ticalc.org/archives/files/fileinfo/277/27718.html Michael Vincent's TachyonLink protocol].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Other useful information on linking in general:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/247/24750.html TI Link Protocol &amp;amp; File Format Guide]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/294/29418.html Ti-83 Link Port Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
=== Sending/Setting ===&lt;br /&gt;
&amp;lt;pre&amp;gt;ld a, 0 ; Set both lines high&lt;br /&gt;
out (0), a&lt;br /&gt;
&lt;br /&gt;
ld a, 2 ; Set tip high, ring low&lt;br /&gt;
out (0), a&lt;br /&gt;
&lt;br /&gt;
ld a, 1 ; Set tip low, ring high&lt;br /&gt;
out (0), a&lt;br /&gt;
&lt;br /&gt;
ld a, 3 ; Set both low&lt;br /&gt;
out (0), a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Receiving/Reading ===&lt;br /&gt;
&amp;lt;pre&amp;gt;in a,(0)  ; Get the link port value&lt;br /&gt;
bit 0,a   ; Check tip&lt;br /&gt;
jr z,tip_low&lt;br /&gt;
jr nz,tip_high&lt;br /&gt;
bit 1,a   ; Check ring&lt;br /&gt;
jr z,ring_low&lt;br /&gt;
jr nz,ring_high&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>81.69.25.24</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00</id>
		<title>83Plus:Ports:00</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00"/>
				<updated>2005-03-27T12:09:05Z</updated>
		
		<summary type="html">&lt;p&gt;81.69.25.24: /* Receiving/Reading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Port Number:''' 00h&lt;br /&gt;
&lt;br /&gt;
This port controls the calculator's serial link port (the standard link port present on the 83+, 83+ SE, 84+ and 84+ SE - do not confuse this with the 84+/84+SE's USB link port).&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate the state of the link port's two lines. A 1 bit indicates a high line, and a 0 bit indicates a low line. When idle (no transfer in progress, no cable plugged in, etc), both lines are usually high (1). When a cable is connected on both ends, a line reads high if and only if both ends have set the line high. The line will read low if either calculator sets it low.&lt;br /&gt;
* Bit 5 and 6: Bits 5 and 6 indicate which lines are pulled low by the calculator (unlike bits 0 and 1 they are not influenced by the other calculator). A 1 bit indicates your calculator is holding the line low. A 0 bit indicates your calculator is not holding the line low. (When both calculators have a 0 bit here, the corresponding line will read 1.) In other words, these bits reflect bits 0 and 1 from the most recent write to this port.&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does... &lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate what state the lines should be put into. A 1 bit will pull the line low. A 0 bit will stop holding the line low (allowing it to go high if the other calculator is not holding it low).&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does, except that any change of this bit causes both lines to be released, and writing with this bit set causes bit 2 to read 1, and the next write causes it to read 0 and both lines are released.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
=== Bit 2 ===&lt;br /&gt;
As mentioned bit 2's effect is unknown. An example of it's behavior follows:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Start, read 03.&lt;br /&gt;
Write 02, read 01.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 07, read 03.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 00, read 03.&lt;br /&gt;
Write 09, read 07.&lt;br /&gt;
Write 01, read 03.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ti-OS interference ===&lt;br /&gt;
One thing to keep in mind when writing link port related software is that the Ti-OS checks for silent transfers in the background. When two calculators are connected and one pulls a line low, the other calculator will respond by pulling the other line low to acknowledge that it has received a bit. This phenomenon is known to cause severe headaches for programmers who attempt to write synchronization routines :). It's unclear if this is only when the other calculator is in the homescreen, or if it is part of the default interrupt routine at $0038.&lt;br /&gt;
&lt;br /&gt;
=== Data transfer ===&lt;br /&gt;
Transferring an entire byte requires you to implement some form of protocol. Examples include TI's official linking protocol, and [http://www.ticalc.org/archives/files/fileinfo/277/27718.html Michael Vincent's TachyonLink protocol].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Other useful information on linking in general:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/247/24750.html TI Link Protocol &amp;amp; File Format Guide]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/294/29418.html Ti-83 Link Port Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
=== Sending/Setting ===&lt;br /&gt;
&amp;lt;pre&amp;gt;ld a, 0 ;Release both lines.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;03h&lt;br /&gt;
ld a, 2 ;Hold bit 1 low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;21h&lt;br /&gt;
ld a, 1 ;Relase bit 1, hold bit 0 low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;12h&lt;br /&gt;
ld a, 3 ;Hold bit 1 low. Bit 0 stays low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;30h&lt;br /&gt;
ld a, 0 ;Release both lines.&lt;br /&gt;
out (0), a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Receiving/Reading ===&lt;br /&gt;
&amp;lt;pre&amp;gt;in a,(0)  ; Get the link port value&lt;br /&gt;
bit 0,a   ; Check tip&lt;br /&gt;
jr z,tip_low&lt;br /&gt;
jr nz,tip_high&lt;br /&gt;
bit 1,a   ; Check ring&lt;br /&gt;
jr z,ring_low&lt;br /&gt;
jr nz,ring_high&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>81.69.25.24</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00</id>
		<title>83Plus:Ports:00</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00"/>
				<updated>2005-03-27T12:07:56Z</updated>
		
		<summary type="html">&lt;p&gt;81.69.25.24: /* Receiving/Reading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Port Number:''' 00h&lt;br /&gt;
&lt;br /&gt;
This port controls the calculator's serial link port (the standard link port present on the 83+, 83+ SE, 84+ and 84+ SE - do not confuse this with the 84+/84+SE's USB link port).&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate the state of the link port's two lines. A 1 bit indicates a high line, and a 0 bit indicates a low line. When idle (no transfer in progress, no cable plugged in, etc), both lines are usually high (1). When a cable is connected on both ends, a line reads high if and only if both ends have set the line high. The line will read low if either calculator sets it low.&lt;br /&gt;
* Bit 5 and 6: Bits 5 and 6 indicate which lines are pulled low by the calculator (unlike bits 0 and 1 they are not influenced by the other calculator). A 1 bit indicates your calculator is holding the line low. A 0 bit indicates your calculator is not holding the line low. (When both calculators have a 0 bit here, the corresponding line will read 1.) In other words, these bits reflect bits 0 and 1 from the most recent write to this port.&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does... &lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate what state the lines should be put into. A 1 bit will pull the line low. A 0 bit will stop holding the line low (allowing it to go high if the other calculator is not holding it low).&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does, except that any change of this bit causes both lines to be released, and writing with this bit set causes bit 2 to read 1, and the next write causes it to read 0 and both lines are released.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
=== Bit 2 ===&lt;br /&gt;
As mentioned bit 2's effect is unknown. An example of it's behavior follows:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Start, read 03.&lt;br /&gt;
Write 02, read 01.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 07, read 03.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 00, read 03.&lt;br /&gt;
Write 09, read 07.&lt;br /&gt;
Write 01, read 03.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ti-OS interference ===&lt;br /&gt;
One thing to keep in mind when writing link port related software is that the Ti-OS checks for silent transfers in the background. When two calculators are connected and one pulls a line low, the other calculator will respond by pulling the other line low to acknowledge that it has received a bit. This phenomenon is known to cause severe headaches for programmers who attempt to write synchronization routines :). It's unclear if this is only when the other calculator is in the homescreen, or if it is part of the default interrupt routine at $0038.&lt;br /&gt;
&lt;br /&gt;
=== Data transfer ===&lt;br /&gt;
Transferring an entire byte requires you to implement some form of protocol. Examples include TI's official linking protocol, and [http://www.ticalc.org/archives/files/fileinfo/277/27718.html Michael Vincent's TachyonLink protocol].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Other useful information on linking in general:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/247/24750.html TI Link Protocol &amp;amp; File Format Guide]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/294/29418.html Ti-83 Link Port Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
=== Sending/Setting ===&lt;br /&gt;
&amp;lt;pre&amp;gt;ld a, 0 ;Release both lines.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;03h&lt;br /&gt;
ld a, 2 ;Hold bit 1 low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;21h&lt;br /&gt;
ld a, 1 ;Relase bit 1, hold bit 0 low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;12h&lt;br /&gt;
ld a, 3 ;Hold bit 1 low. Bit 0 stays low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;30h&lt;br /&gt;
ld a, 0 ;Release both lines.&lt;br /&gt;
out (0), a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Receiving/Reading ===&lt;br /&gt;
&amp;lt;pre&amp;gt;in a,(0)&lt;br /&gt;
bit 0,a&lt;br /&gt;
jr z,tip_low&lt;br /&gt;
bit 1,a&lt;br /&gt;
jr z,tip_high&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>81.69.25.24</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00</id>
		<title>83Plus:Ports:00</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00"/>
				<updated>2005-03-27T12:06:34Z</updated>
		
		<summary type="html">&lt;p&gt;81.69.25.24: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Port Number:''' 00h&lt;br /&gt;
&lt;br /&gt;
This port controls the calculator's serial link port (the standard link port present on the 83+, 83+ SE, 84+ and 84+ SE - do not confuse this with the 84+/84+SE's USB link port).&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate the state of the link port's two lines. A 1 bit indicates a high line, and a 0 bit indicates a low line. When idle (no transfer in progress, no cable plugged in, etc), both lines are usually high (1). When a cable is connected on both ends, a line reads high if and only if both ends have set the line high. The line will read low if either calculator sets it low.&lt;br /&gt;
* Bit 5 and 6: Bits 5 and 6 indicate which lines are pulled low by the calculator (unlike bits 0 and 1 they are not influenced by the other calculator). A 1 bit indicates your calculator is holding the line low. A 0 bit indicates your calculator is not holding the line low. (When both calculators have a 0 bit here, the corresponding line will read 1.) In other words, these bits reflect bits 0 and 1 from the most recent write to this port.&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does... &lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate what state the lines should be put into. A 1 bit will pull the line low. A 0 bit will stop holding the line low (allowing it to go high if the other calculator is not holding it low).&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does, except that any change of this bit causes both lines to be released, and writing with this bit set causes bit 2 to read 1, and the next write causes it to read 0 and both lines are released.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
=== Bit 2 ===&lt;br /&gt;
As mentioned bit 2's effect is unknown. An example of it's behavior follows:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Start, read 03.&lt;br /&gt;
Write 02, read 01.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 07, read 03.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 00, read 03.&lt;br /&gt;
Write 09, read 07.&lt;br /&gt;
Write 01, read 03.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ti-OS interference ===&lt;br /&gt;
One thing to keep in mind when writing link port related software is that the Ti-OS checks for silent transfers in the background. When two calculators are connected and one pulls a line low, the other calculator will respond by pulling the other line low to acknowledge that it has received a bit. This phenomenon is known to cause severe headaches for programmers who attempt to write synchronization routines :). It's unclear if this is only when the other calculator is in the homescreen, or if it is part of the default interrupt routine at $0038.&lt;br /&gt;
&lt;br /&gt;
=== Data transfer ===&lt;br /&gt;
Transferring an entire byte requires you to implement some form of protocol. Examples include TI's official linking protocol, and [http://www.ticalc.org/archives/files/fileinfo/277/27718.html Michael Vincent's TachyonLink protocol].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Other useful information on linking in general:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/247/24750.html TI Link Protocol &amp;amp; File Format Guide]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/294/29418.html Ti-83 Link Port Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
=== Sending/Setting ===&lt;br /&gt;
&amp;lt;pre&amp;gt;ld a, 0 ;Release both lines.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;03h&lt;br /&gt;
ld a, 2 ;Hold bit 1 low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;21h&lt;br /&gt;
ld a, 1 ;Relase bit 1, hold bit 0 low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;12h&lt;br /&gt;
ld a, 3 ;Hold bit 1 low. Bit 0 stays low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;30h&lt;br /&gt;
ld a, 0 ;Release both lines.&lt;br /&gt;
out (0), a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Receiving/Reading ===&lt;br /&gt;
&amp;lt;pre&amp;gt;in a,(0)&lt;br /&gt;
bit 0,tip_low&lt;br /&gt;
bit 1,tip_high&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>81.69.25.24</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00</id>
		<title>83Plus:Ports:00</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00"/>
				<updated>2005-03-27T12:00:46Z</updated>
		
		<summary type="html">&lt;p&gt;81.69.25.24: /* Credits and Contributions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Port Number:''' 00h&lt;br /&gt;
&lt;br /&gt;
This port controls the calculator's serial link port (the standard link port present on the 83+, 83+ SE, 84+ and 84+ SE - do not confuse this with the 84+/84+SE's USB link port).&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate the state of the link port's two lines. A 1 bit indicates a high line, and a 0 bit indicates a low line. When idle (no transfer in progress, no cable plugged in, etc), both lines are usually high (1). When a cable is connected on both ends, a line reads high if and only if both ends have set the line high. The line will read low if either calculator sets it low.&lt;br /&gt;
* Bit 5 and 6: Bits 5 and 6 indicate which lines are pulled low by the calculator (unlike bits 0 and 1 they are not influenced by the other calculator). A 1 bit indicates your calculator is holding the line low. A 0 bit indicates your calculator is not holding the line low. (When both calculators have a 0 bit here, the corresponding line will read 1.) In other words, these bits reflect bits 0 and 1 from the most recent write to this port.&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does... &lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate what state the lines should be put into. A 1 bit will pull the line low. A 0 bit will stop holding the line low (allowing it to go high if the other calculator is not holding it low).&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does, except that any change of this bit causes both lines to be released, and writing with this bit set causes bit 2 to read 1, and the next write causes it to read 0 and both lines are released.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
=== Bit 2 ===&lt;br /&gt;
As mentioned bit 2's effect is unknown. An example of it's behavior follows:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Start, read 03.&lt;br /&gt;
Write 02, read 01.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 07, read 03.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 00, read 03.&lt;br /&gt;
Write 09, read 07.&lt;br /&gt;
Write 01, read 03.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ti-OS interference ===&lt;br /&gt;
One thing to keep in mind when writing link port related software is that the Ti-OS checks for silent transfers in the background. When two calculators are connected and one pulls a line low, the other calculator will respond by pulling the other line low to acknowledge that it has received a bit. This phenomenon is known to cause severe headaches for programmers who attempt to write synchronization routines :). It's unclear if this is only when the other calculator is in the homescreen, or if it is part of the default interrupt routine at $0038.&lt;br /&gt;
&lt;br /&gt;
=== Data transfer ===&lt;br /&gt;
Transferring an entire byte requires you to implement some form of protocol. Examples include TI's official linking protocol, and [http://www.ticalc.org/archives/files/fileinfo/277/27718.html Michael Vincent's TachyonLink protocol].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Other useful information on linking in general:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/247/24750.html TI Link Protocol &amp;amp; File Format Guide]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/294/29418.html Ti-83 Link Port Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ld a, 0 ;Release both lines.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;03h&lt;br /&gt;
ld a, 2 ;Hold bit 1 low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;21h&lt;br /&gt;
ld a, 1 ;Relase bit 1, hold bit 0 low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;12h&lt;br /&gt;
ld a, 3 ;Hold bit 1 low. Bit 0 stays low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;30h&lt;br /&gt;
ld a, 0 ;Release both lines.&lt;br /&gt;
out (0), a&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>81.69.25.24</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00</id>
		<title>83Plus:Ports:00</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00"/>
				<updated>2005-03-27T11:59:11Z</updated>
		
		<summary type="html">&lt;p&gt;81.69.25.24: /* Comments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Port Number:''' 00h&lt;br /&gt;
&lt;br /&gt;
This port controls the calculator's serial link port (the standard link port present on the 83+, 83+ SE, 84+ and 84+ SE - do not confuse this with the 84+/84+SE's USB link port).&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate the state of the link port's two lines. A 1 bit indicates a high line, and a 0 bit indicates a low line. When idle (no transfer in progress, no cable plugged in, etc), both lines are usually high (1). When a cable is connected on both ends, a line reads high if and only if both ends have set the line high. The line will read low if either calculator sets it low.&lt;br /&gt;
* Bit 5 and 6: Bits 5 and 6 indicate which lines are pulled low by the calculator (unlike bits 0 and 1 they are not influenced by the other calculator). A 1 bit indicates your calculator is holding the line low. A 0 bit indicates your calculator is not holding the line low. (When both calculators have a 0 bit here, the corresponding line will read 1.) In other words, these bits reflect bits 0 and 1 from the most recent write to this port.&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does... &lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate what state the lines should be put into. A 1 bit will pull the line low. A 0 bit will stop holding the line low (allowing it to go high if the other calculator is not holding it low).&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does, except that any change of this bit causes both lines to be released, and writing with this bit set causes bit 2 to read 1, and the next write causes it to read 0 and both lines are released.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
&lt;br /&gt;
=== Bit 2 ===&lt;br /&gt;
As mentioned bit 2's effect is unknown. An example of it's behavior follows:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Start, read 03.&lt;br /&gt;
Write 02, read 01.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 07, read 03.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 00, read 03.&lt;br /&gt;
Write 09, read 07.&lt;br /&gt;
Write 01, read 03.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ti-OS interference ===&lt;br /&gt;
One thing to keep in mind when writing link port related software is that the Ti-OS checks for silent transfers in the background. When two calculators are connected and one pulls a line low, the other calculator will respond by pulling the other line low to acknowledge that it has received a bit. This phenomenon is known to cause severe headaches for programmers who attempt to write synchronization routines :). It's unclear if this is only when the other calculator is in the homescreen, or if it is part of the default interrupt routine at $0038.&lt;br /&gt;
&lt;br /&gt;
=== Data transfer ===&lt;br /&gt;
Transferring an entire byte requires you to implement some form of protocol. Examples include TI's official linking protocol, and [http://www.ticalc.org/archives/files/fileinfo/277/27718.html Michael Vincent's TachyonLink protocol].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Other useful information on linking in general:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/247/24750.html TI Link Protocol &amp;amp; File Format Guide]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/294/29418.html Ti-83 Link Port Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ld a, 0 ;Release both lines.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;03h&lt;br /&gt;
ld a, 2 ;Hold bit 1 low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;21h&lt;br /&gt;
ld a, 1 ;Relase bit 1, hold bit 0 low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;12h&lt;br /&gt;
ld a, 3 ;Hold bit 1 low. Bit 0 stays low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;30h&lt;br /&gt;
ld a, 0 ;Release both lines.&lt;br /&gt;
out (0), a&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Credits and Contributions ==&lt;br /&gt;
* '''/dev/urandom:''' Because of your randomness, this project is possible.&lt;/div&gt;</summary>
		<author><name>81.69.25.24</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00</id>
		<title>83Plus:Ports:00</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:00"/>
				<updated>2005-03-27T11:43:37Z</updated>
		
		<summary type="html">&lt;p&gt;81.69.25.24: /* Comments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Port Number:''' 00h&lt;br /&gt;
&lt;br /&gt;
This port controls the calculator's serial link port (the standard link port present on the 83+, 83+ SE, 84+ and 84+ SE - do not confuse this with the 84+/84+SE's USB link port).&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate the state of the link port's two lines. A 1 bit indicates a high line, and a 0 bit indicates a low line. When idle (no transfer in progress, no cable plugged in, etc), both lines are usually high (1). When a cable is connected on both ends, a line reads high if and only if both ends have set the line high. The line will read low if either calculator sets it low.&lt;br /&gt;
* Bit 5 and 6: Bits 5 and 6 indicate which lines are pulled low by the calculator (unlike bits 0 and 1 they are not influenced by the other calculator). A 1 bit indicates your calculator is holding the line low. A 0 bit indicates your calculator is not holding the line low. (When both calculators have a 0 bit here, the corresponding line will read 1.) In other words, these bits reflect bits 0 and 1 from the most recent write to this port.&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does... &lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Bit 0 and 1: The low 2 bits indicate what state the lines should be put into. A 1 bit will pull the line low. A 0 bit will stop holding the line low (allowing it to go high if the other calculator is not holding it low).&lt;br /&gt;
* Bit 2: I have absolutely no idea what this means or does, except that any change of this bit causes both lines to be released, and writing with this bit set causes bit 2 to read 1, and the next write causes it to read 0 and both lines are released.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
As mentioned bit 2's effect is unknown. An example of it's behavior follows:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Start, read 03.&lt;br /&gt;
Write 02, read 01.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 07, read 03.&lt;br /&gt;
Write 07, read 07.&lt;br /&gt;
Write 00, read 03.&lt;br /&gt;
Write 09, read 07.&lt;br /&gt;
Write 01, read 03.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Transferring an entire byte requires you to implement some form of protocol. Examples include TI's official linking protocol, and [http://www.ticalc.org/archives/files/fileinfo/277/27718.html Michael Vincent's TachyonLink protocol].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Other useful information on linking in general:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/247/24750.html TI Link Protocol &amp;amp; File Format Guide]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.ticalc.org/archives/files/fileinfo/294/29418.html Ti-83 Link Port Tutorial]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ld a, 0 ;Release both lines.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;03h&lt;br /&gt;
ld a, 2 ;Hold bit 1 low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;21h&lt;br /&gt;
ld a, 1 ;Relase bit 1, hold bit 0 low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;12h&lt;br /&gt;
ld a, 3 ;Hold bit 1 low. Bit 0 stays low.&lt;br /&gt;
out (0), a&lt;br /&gt;
in a, (0) ;30h&lt;br /&gt;
ld a, 0 ;Release both lines.&lt;br /&gt;
out (0), a&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Credits and Contributions ==&lt;br /&gt;
* '''/dev/urandom:''' Because of your randomness, this project is possible.&lt;/div&gt;</summary>
		<author><name>81.69.25.24</name></author>	</entry>

	</feed>