<?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=69.242.210.167</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=69.242.210.167"/>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Special:Contributions/69.242.210.167"/>
		<updated>2026-05-13T23:15:32Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:01</id>
		<title>83Plus:Ports:01</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:01"/>
				<updated>2005-03-27T22:50:40Z</updated>
		
		<summary type="html">&lt;p&gt;69.242.210.167: /* Synopsis */  Tried to clarify a little bit.  (&amp;quot;control&amp;quot;)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Port Number:''' 01h&lt;br /&gt;
&lt;br /&gt;
'''Function:''' Keyboard Port&lt;br /&gt;
&lt;br /&gt;
This port reads key presses from the keypad. The keypad is divided into a series of groups.&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* Bits are set according whether corresponding keys from selected groups are pressed. Groups are selected through writing to the port. A pressed key reads a 0 bit. An unpressed key reads a 1 bit. The port reads FF after a reset (write FF).&lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* $FF : Reset the keypad. This unselects all groups and resets the keypad state.&lt;br /&gt;
* Anything else : Any 0 bit adds the corresponding group to the list of monitored groups. When a key in a monitored group is pressed, the corresponding key bit reads 1.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
The key map is laid out as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;         Group Bit -&amp;gt;     0     1     2     3     4     5     6     7&lt;br /&gt;
         Group Mask -&amp;gt;   FE    FD    FB    F7    EF    DF    BF    7F&lt;br /&gt;
Key Bit (Mask)&lt;br /&gt;
0 (FE)               | DOWN|ENTER| (-) |  .  |  0  |     |GRAPH|     |&lt;br /&gt;
1 (FD)               | LEFT|  +  |  3  |  2  |  1  | STO |TRACE|     |&lt;br /&gt;
2 (FB)               |RIGHT|  -  |  6  |  5  |  4  | LN  |ZOOM |     |&lt;br /&gt;
3 (F7)               | UP  |  *  |  9  |  8  |  7  | LOG |WIND |     |&lt;br /&gt;
4 (EF)               |     |  /  |  )  |  (  |  ,  | x^2 | Y=  |     |&lt;br /&gt;
5 (DF)               |     |  ^  | TAN | COS | SIN |x^-1 | 2nd |     |&lt;br /&gt;
6 (BF)               |     |CLEAR|VARS |PRGM |APPS |MATH |MODE |     |&lt;br /&gt;
7 (7F)               |     |     |     |STAT |X,T..|ALPHA| DEL |     |&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Note:''' Group FB Key FE is NEGATE, not to be confused with SUBTRACT.&lt;br /&gt;
* '''Note:''' Group DF Key FE could be ON, but the ON key is tested elsewhere (a &amp;quot;special case&amp;quot; key - after all, it is the ON key).&lt;br /&gt;
* '''Note:''' Group EF Key BF (APPS) is called MATRIX on the TI-83.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ld a, 0FFh ;Reset the keypad.&lt;br /&gt;
out (1), a&lt;br /&gt;
ld a, 0FEh ;Select group 0.&lt;br /&gt;
out (1), a&lt;br /&gt;
in a, (1) ;Test for keys.&lt;br /&gt;
and 0FDh ;Test for Left Arrow key by making A 0 if left was pressed.&lt;br /&gt;
call z, LeftArrowPressed ;If 0 then left was pressed.&lt;br /&gt;
ld a, 0FFh ;Reset the keypad.&lt;br /&gt;
out (1), a&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>69.242.210.167</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:4A6B</id>
		<title>83Plus:BCALLs:4A6B</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:4A6B"/>
				<updated>2005-03-25T18:50:56Z</updated>
		
		<summary type="html">&lt;p&gt;69.242.210.167: /* Synopsis */  Changed 0042 to 4A6B.  What was 0042?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Official Name:''' RclKey&lt;br /&gt;
&lt;br /&gt;
'''Other Names:''' RclKeyRtn&lt;br /&gt;
&lt;br /&gt;
'''BCALL Address:''' 4A6B&lt;br /&gt;
&lt;br /&gt;
Sets up the monitor vectors for Rcl mode.&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
''None''&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
''None''&lt;br /&gt;
&lt;br /&gt;
=== Registers Destroyed ===&lt;br /&gt;
''Unknown''&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
This routine copies the current monitor vectors to [[83Plus:RAM:859B|cxPrev]], and sets up the monitor vectors for the Rcl handler.&lt;/div&gt;</summary>
		<author><name>69.242.210.167</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:4A65</id>
		<title>83Plus:BCALLs:4A65</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:4A65"/>
				<updated>2005-03-25T18:49:14Z</updated>
		
		<summary type="html">&lt;p&gt;69.242.210.167: /* Comments */  Not ironic :)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Official Name:''' ZIfRclHandler&lt;br /&gt;
&lt;br /&gt;
'''BCALL Address:''' 4A65h&lt;br /&gt;
&lt;br /&gt;
Returns whether or not a Rcl handler (the function that occurs when you press 2nd+Rcl) is currently active.&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
''None''&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
* Zero Flag: Set if Rcl handler is active, reset otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Registers Destroyed ===&lt;br /&gt;
* DE, HL&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
This B_CALL works by simply comparing the address of [[83Plus:RAM:858D|cxMain]] to whatever it should be when the Rcl handler is active. [[83Plus:RAM:8599|cxPage]] is not checked.&lt;/div&gt;</summary>
		<author><name>69.242.210.167</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:4A65</id>
		<title>83Plus:BCALLs:4A65</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:4A65"/>
				<updated>2005-03-25T18:48:44Z</updated>
		
		<summary type="html">&lt;p&gt;69.242.210.167: /* Registers Destroyed */  DE, HL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Official Name:''' ZIfRclHandler&lt;br /&gt;
&lt;br /&gt;
'''BCALL Address:''' 4A65h&lt;br /&gt;
&lt;br /&gt;
Returns whether or not a Rcl handler (the function that occurs when you press 2nd+Rcl) is currently active.&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
''None''&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
* Zero Flag: Set if Rcl handler is active, reset otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Registers Destroyed ===&lt;br /&gt;
* DE, HL&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
This B_CALL works by simply comparing the address of [[83Plus:RAM:858D|cxMain]] to whatever it should be when the Rcl handler is active. Ironically [[83Plus:RAM:8599|cxPage]] is not checked.&lt;/div&gt;</summary>
		<author><name>69.242.210.167</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:44E6</id>
		<title>83Plus:BCALLs:44E6</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:44E6"/>
				<updated>2005-03-25T18:47:40Z</updated>
		
		<summary type="html">&lt;p&gt;69.242.210.167: /* Outputs */  HL and DE -&amp;gt; null terminators&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Official Name:''' StrCat&lt;br /&gt;
&lt;br /&gt;
'''BCALL Address:''' 44E6&lt;br /&gt;
&lt;br /&gt;
Concatenates (joins) the string pointed by HL to the end of the string pointed pointed by DE.&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
* DE: String to join to&lt;br /&gt;
* HL: String to copy&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
* DE: points to null terminator of concatenated string&lt;br /&gt;
* HL: points to null terminator of original string to be concatenated&lt;br /&gt;
&lt;br /&gt;
=== Registers Destroyed ===&lt;br /&gt;
* AF&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
This B_CALL is the same as the standard C function strcat.&lt;/div&gt;</summary>
		<author><name>69.242.210.167</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:44E6</id>
		<title>83Plus:BCALLs:44E6</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:44E6"/>
				<updated>2005-03-25T18:46:44Z</updated>
		
		<summary type="html">&lt;p&gt;69.242.210.167: /* Registers Destroyed */  AF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Official Name:''' StrCat&lt;br /&gt;
&lt;br /&gt;
'''BCALL Address:''' 44E6&lt;br /&gt;
&lt;br /&gt;
Concatenates (joins) the string pointed by HL to the end of the string pointed pointed by DE.&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
* DE: String to join to&lt;br /&gt;
* HL: String to copy&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
''None''&lt;br /&gt;
&lt;br /&gt;
=== Registers Destroyed ===&lt;br /&gt;
* AF&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
This B_CALL is the same as the standard C function strcat.&lt;/div&gt;</summary>
		<author><name>69.242.210.167</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:44E3</id>
		<title>83Plus:BCALLs:44E3</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:44E3"/>
				<updated>2005-03-25T18:45:29Z</updated>
		
		<summary type="html">&lt;p&gt;69.242.210.167: /* Outputs */  DE, HL -&amp;gt; null terminators&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Official Name:''' StrCpy&lt;br /&gt;
&lt;br /&gt;
'''BCALL Address:''' 44E3&lt;br /&gt;
&lt;br /&gt;
Copies a null-terminated string from one location to another.&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
* DE: address to copy the string to&lt;br /&gt;
* HL: string to copy&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
* DE: points to null terminator of destination string&lt;br /&gt;
* HL: points to null terminator of source string&lt;br /&gt;
&lt;br /&gt;
=== Registers Destroyed ===&lt;br /&gt;
* AF&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
This B_CALL is basically the same as the standard C function strcpy.&lt;/div&gt;</summary>
		<author><name>69.242.210.167</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:44E3</id>
		<title>83Plus:BCALLs:44E3</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:44E3"/>
				<updated>2005-03-25T18:44:45Z</updated>
		
		<summary type="html">&lt;p&gt;69.242.210.167: /* Registers Destroyed */  AF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Official Name:''' StrCpy&lt;br /&gt;
&lt;br /&gt;
'''BCALL Address:''' 44E3&lt;br /&gt;
&lt;br /&gt;
Copies a null-terminated string from one location to another.&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
* DE: address to copy the string to&lt;br /&gt;
* HL: string to copy&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
''None''&lt;br /&gt;
&lt;br /&gt;
=== Registers Destroyed ===&lt;br /&gt;
* AF&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
This B_CALL is basically the same as the standard C function strcpy.&lt;/div&gt;</summary>
		<author><name>69.242.210.167</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:4291</id>
		<title>83Plus:BCALLs:4291</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:BCALLs:4291"/>
				<updated>2005-03-25T18:43:43Z</updated>
		
		<summary type="html">&lt;p&gt;69.242.210.167: /* Registers Destroyed */  HL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Official Name:''' RealName&lt;br /&gt;
&lt;br /&gt;
'''BCALL Address:''' 4291&lt;br /&gt;
&lt;br /&gt;
Sets OP1 to the name of a real variable given in the accumulator.&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
* A: The letter of the real variable&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
* OP1:&lt;br /&gt;
&lt;br /&gt;
=== Registers Destroyed ===&lt;br /&gt;
* HL&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
This B_CALL is rather pointless.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;ld  a, 'B'&lt;br /&gt;
B_CALL RealName&lt;br /&gt;
rst rFINDSYM&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>69.242.210.167</name></author>	</entry>

	</feed>