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

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:JoostinOnline</id>
		<title>User:JoostinOnline</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:JoostinOnline"/>
				<updated>2014-03-20T01:45:40Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: Replaced content with 'Hi there!'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi there!&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Talk:83Plus:OS:OS_2.53MP_Changes</id>
		<title>Talk:83Plus:OS:OS 2.53MP Changes</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Talk:83Plus:OS:OS_2.53MP_Changes"/>
				<updated>2010-02-16T15:17:20Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: Created page with 'This is like the original release of Windows Vista all over again!  Does anyone know if there are any changes from the leaked version, and what MP stands for (MathPrint?). Also, …'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is like the original release of Windows Vista all over again!  Does anyone know if there are any changes from the leaked version, and what MP stands for (MathPrint?).&lt;br /&gt;
Also, while this page has some humorous comments, I think that they should be removed.  I might do it later, but I have a class in less than ten minutes.&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Talk:Vera</id>
		<title>Talk:Vera</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Talk:Vera"/>
				<updated>2009-12-13T20:00:01Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: New page: Unfortunately, Vera activity slowly decreased, until we stopped working on it completely several months ago.  Another OS forgotten. :(  I have finals this week, but I will try to update th...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unfortunately, Vera activity slowly decreased, until we stopped working on it completely several months ago.  Another OS forgotten. :(&lt;br /&gt;
&lt;br /&gt;
I have finals this week, but I will try to update the references to it over break if I remember.&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/Error_Codes</id>
		<title>83Plus:Software:usb8x/Error Codes</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/Error_Codes"/>
				<updated>2009-11-10T16:31:27Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: Fixed all links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Error codes may be returned via both the [[83Plus:Software:usb8x/Asm_Interface|assembly language interface]] and the [[83Plus:Software:usb8x/BASIC_Interface|BASIC interface]].  In the BASIC interface, the error code is returned in the first element of the return list.  In the assembly language interface, an error is generally indicated by a return with the carry flag set.  The error code can then be read via [[83Plus:Software:usb8x/Asm_Interface/GetErrorCode|GetErrorCode]].  Error code equates are located in [http://usb8x.cvs.sourceforge.net/*checkout*/usb8x/usb8x/usb8x.inc usb8x.inc].&lt;br /&gt;
== Error Codes ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;  cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
!Error # !! Name !! Info&lt;br /&gt;
|-&lt;br /&gt;
|0 || OK || No error occurred&lt;br /&gt;
|-&lt;br /&gt;
|1 || Port82 || The previous command failed or did not terminate.  This generally happens during initialization.&lt;br /&gt;
|-&lt;br /&gt;
|2 || Port91Bit2 || An error condition was detected on an input pipe (Stall)&lt;br /&gt;
|-&lt;br /&gt;
|3 || Port91Bit4 || An error condition was detected on an input pipe (NAK)&lt;br /&gt;
|-&lt;br /&gt;
|4 || Port4C || Port 4C did not hold the expected value.  This generally happens during initialization.&lt;br /&gt;
|-&lt;br /&gt;
|5 || Port4D || Port 4D did not hold the expected value.  This generally happens during initialization.&lt;br /&gt;
|-&lt;br /&gt;
|6 || Port3A || Port 3A did not hold the expected value.  This generally happens during initialization.&lt;br /&gt;
|-&lt;br /&gt;
|7 || Port81 || Port 81 did not hold the expected value.  This generally happens during initialization.&lt;br /&gt;
|-&lt;br /&gt;
|8 || Port8C || The frame counter did not start.  This often indicates low batteries.&lt;br /&gt;
|-&lt;br /&gt;
|9 || Port8F || Port 8F did not hold the expected value.  This generally happens during initialization.&lt;br /&gt;
|-&lt;br /&gt;
|10 || EPIndex || A non-existent entry point was called.  Be sure to check for the minimum required version of usb8x before calling entry points.&lt;br /&gt;
|-&lt;br /&gt;
|11 || EPGetDes || An unsupported descriptor was requested from [[83Plus:Software:usb8x/Asm_Interface/ReadDescriptor|ReadDescriptor]].&lt;br /&gt;
|-&lt;br /&gt;
|12 || NoDevice || No Device is connected.  You'll get this error if you plug in a mini-B cable instead of mini-A.&lt;br /&gt;
|-&lt;br /&gt;
|13 || FindDescriptor || An error occurred in [[83Plus:Software:usb8x/Asm_Interface/FindDescriptor|FindDescriptor]].  This error may occasionally improperly be listed a sub error code, because AutoSetup generates a FindDescriptor error during normal operation.&lt;br /&gt;
|-&lt;br /&gt;
|14 || BadClass || The attached device does not have the required class  (i.e. a keyboard is connected when [[83Plus:Software:usb8x/Asm_Interface/MouseInit|MouseInit]] is called).&lt;br /&gt;
|-&lt;br /&gt;
|15 || Timeout || A timeout occurred while waiting for data.  This currently is only returned by [[83Plus:Software:usb8x/BASIC_Interface/MouseDo|MouseDo]].&lt;br /&gt;
|-&lt;br /&gt;
|16 || BadID || The attached device does not have the required vendor or device ID.&lt;br /&gt;
|-&lt;br /&gt;
|17 || ReadDescriptor || An error occurred in [[83Plus:Software:usb8x/Asm_Interface/ReadDescriptor|ReadDescriptor]].  Check sub error code for additional information.&lt;br /&gt;
|-&lt;br /&gt;
|18 || Init || An error occurred during initialization.  Check sub error code for more information.&lt;br /&gt;
|-&lt;br /&gt;
|19 || AutoSetup || An error occurred during [[83Plus:Software:usb8x/Asm_Interface/AutoSetup|AutoSetup]].  Check sub error code for more information.&lt;br /&gt;
|-&lt;br /&gt;
|20 || Demo || An error occurred in demo code.  This should not be returned via either of the programming interfaces.&lt;br /&gt;
|-&lt;br /&gt;
|21 || FindPipe || An error occurred in [[83Plus:Software:usb8x/Asm_Interface/FindPipe|FindPipe]].  &lt;br /&gt;
|-&lt;br /&gt;
|22 || Stub || Returned by stub routines (not current used).&lt;br /&gt;
|-&lt;br /&gt;
|23 || GetMaxPacketSize || An error occurred while trying to determine the maximum supported packet size.&lt;br /&gt;
|-&lt;br /&gt;
|24 || SetAddress || An error occurred while trying to set the device address&lt;br /&gt;
|-&lt;br /&gt;
|25 || SendCmd || There was a problem sending mass storage I/O commands&lt;br /&gt;
|-&lt;br /&gt;
|26 || LargeSect || Bytes-per-sector is larger than 512 (not supported)&lt;br /&gt;
|-&lt;br /&gt;
|27 || NoParts || There were no FAT16 partitions found on the connected mass storage device&lt;br /&gt;
|-&lt;br /&gt;
|28 || NoMoreMemory || The previous function failed because there is no more free memory (this is a very bad thing)&lt;br /&gt;
|-&lt;br /&gt;
|29 || InvalidPartition || The FAT16 partition found is invalid because it does not contain 0AA55h&lt;br /&gt;
|-&lt;br /&gt;
|30 || NotFile || The path passed to a function is to a directory or volume label, not a file&lt;br /&gt;
|-&lt;br /&gt;
|31 || NotValidPath || The path passed to a function is completely invalid&lt;br /&gt;
|-&lt;br /&gt;
|32 || CorruptFile || A file is corrupted or otherwise not as expected&lt;br /&gt;
|-&lt;br /&gt;
|33 || NotFound || File or directory was not found&lt;br /&gt;
|-&lt;br /&gt;
|34 || DuplicateFound || Duplicate calculator variable was found and not overwritten&lt;br /&gt;
|-&lt;br /&gt;
|35 || NotEnoughMem || There was not enough memory to create the new calculator variable&lt;br /&gt;
|-&lt;br /&gt;
|36 || AlreadyExists || An 8x* file of the same name already exists in the current directory&lt;br /&gt;
|-&lt;br /&gt;
|37 || StrNotFound || String variable from BASIC OpenLib/ExecLib function was not found&lt;br /&gt;
|-&lt;br /&gt;
|38 || VarEmpty || Variable was empty and transfer was not completed (this is a bad thing; delete new, incomplete file)&lt;br /&gt;
|-&lt;br /&gt;
|39 || NoParts32 || FAT32 partitions were found, but none were FAT16 (make sure you reformat your drive as FAT16)&lt;br /&gt;
|-&lt;br /&gt;
|40 || NoData || There was no data to report.  Returned by [[83Plus:Software:usb8x/BASIC_Interface/KBDGetKey|KBDGetKey]]&lt;br /&gt;
|-&lt;br /&gt;
|41 || Version || A pre-2.30 version of TI-OS is loaded on the calculator.&lt;br /&gt;
|-&lt;br /&gt;
|42 || BadCmd || A requested command failed.  Returned by Vernier driver.&lt;br /&gt;
|-&lt;br /&gt;
|43 || FeatureDisabled || The feature/driver you tried to call is not compiled into the user's binary.&lt;br /&gt;
|-&lt;br /&gt;
|44 || FailedCmd || Mass storage command sent successfully and failed to execute. This is bad.&lt;br /&gt;
|-&lt;br /&gt;
|45 || CmdTimeout || Mass storage command timed out (no response from device at all)&lt;br /&gt;
|-&lt;br /&gt;
|46 || CmdRefused || All communication attempts were refused (drive has STALLed)&lt;br /&gt;
|}&lt;br /&gt;
Be aware that the error codes listed on this page are in decimal, while the error codes displayed in USBInfo are in hexadecimal.&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/Sample_Code</id>
		<title>83Plus:Software:usb8x/Sample Code</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/Sample_Code"/>
				<updated>2009-11-10T16:26:17Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: I have fixed the links on this page and hid the comments.  This is the worst page I have seen so far.  I have no idea what the author was trying to do with the code, but it needs to be fixed.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example code using the usb8x assembly and BASIC interfaces&lt;br /&gt;
== BASIC ==&lt;br /&gt;
=== Mouse Demo ===&lt;br /&gt;
This example uses the [[83Plus:Software:usb8x/BASIC_Interface/MouseInit|MouseInit]], [[83Plus:Software:usb8x/BASIC_Interface/MouseDo|MouseDo]], and [[83Plus:Software:usb8x/BASIC_Interface/KillUSB|KillUSB]] entry points to control a point on the screen with a USB mouse.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;OpenLib(USBDRV8X&lt;br /&gt;
{2                  ;MouseInit&lt;br /&gt;
ExecLib&lt;br /&gt;
If Ans(1            ;If MouseInit returns error,&lt;br /&gt;
Return              ; then quit&lt;br /&gt;
-1452-&amp;gt;Xmin&lt;br /&gt;
1452-&amp;gt;Xmax&lt;br /&gt;
-960-&amp;gt;Ymin&lt;br /&gt;
960-&amp;gt;Ymax&lt;br /&gt;
0-&amp;gt;X&lt;br /&gt;
0-&amp;gt;Y&lt;br /&gt;
Repeat getKey&lt;br /&gt;
{3                  ;MouseDo&lt;br /&gt;
ExecLib&lt;br /&gt;
Ans-&amp;gt;L1&lt;br /&gt;
If L1(1             ;If MouseDo returns error,&lt;br /&gt;
Goto 1              ; restart loop&lt;br /&gt;
If 127&amp;lt;L1(3         ;If x direction is left,&lt;br /&gt;
L1(3)-256-&amp;gt;L1(3     ; change to negative #&lt;br /&gt;
If 127&amp;lt;L1(4         ;If y direction is up,&lt;br /&gt;
L1(4)-256-&amp;gt;L1(4     ; change to negative #&lt;br /&gt;
Pt-Off(X,Y&lt;br /&gt;
X+L1(3-&amp;gt;X&lt;br /&gt;
Y-L1(4-&amp;gt;Y&lt;br /&gt;
Pt-On(X,Y&lt;br /&gt;
Lbl 1&lt;br /&gt;
End&lt;br /&gt;
{1                  ;KillUSB&lt;br /&gt;
ExecLib&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Keyboard demo ===&lt;br /&gt;
==== Simple Example ====&lt;br /&gt;
This program waits for you to press a key and then echos back which one. Unlike the ASM demo in USB Tools, this one handles all of 'em. &lt;br /&gt;
&lt;br /&gt;
The requirement of &amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;KBDSC being used to index an index is leftover from the early stages of this and somebody should reorganize the string so this isn't needed. Or not. Just an idea.&lt;br /&gt;
 :&lt;br /&gt;
 :OpenLib(USBDRV8X&lt;br /&gt;
 :{10&lt;br /&gt;
 :ExecLib &lt;br /&gt;
 :{40,0,12,153,120,0,132}&amp;amp;rarr;&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;BLANK&lt;br /&gt;
 :&lt;br /&gt;
 :While 1&lt;br /&gt;
 :{40,0,12,153,120,0,132}&lt;br /&gt;
 :While prod(Ans=&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;BLANK)=1&lt;br /&gt;
 :If getKey&amp;amp;ne;0&lt;br /&gt;
 :Goto SP&lt;br /&gt;
 :{11&lt;br /&gt;
 :ExecLib &lt;br /&gt;
 :End&lt;br /&gt;
 :&lt;br /&gt;
 :Ans(3&amp;amp;rarr;A&lt;br /&gt;
 :&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;KBDSC(A)&amp;amp;rarr;B&lt;br /&gt;
 :Disp sub(Str2,&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;KBLOC(B),&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;KBLEN(B&lt;br /&gt;
 :&lt;br /&gt;
 :End&lt;br /&gt;
 :&lt;br /&gt;
 :Lbl SP&lt;br /&gt;
 :{1&lt;br /&gt;
 :ExecLib &lt;br /&gt;
 :&lt;br /&gt;
 :Stop&lt;br /&gt;
 &amp;lt;!--Change the first line to &amp;quot;Goto D&amp;quot; and run this program once to get all of this information updated.--&amp;gt;&lt;br /&gt;
 :Lbl D&lt;br /&gt;
 :{94,95,96,53,76,74,55,37,56,57,58,42,59,60,61,78,77,43,44,35,38,54,39,41,75,36,&lt;br /&gt;
 73,40,72,15,16,17,18,19,20,21,22,23,24,64,1,28,34,86,25,26,45,46,27,0,62,63,14,7&lt;br /&gt;
 9,80,81,0,2,3,4,5,6,7,8,9,10,11,12,13,29,0,30,47,48,49,65,66,67,90,88,89,82,0,31&lt;br /&gt;
 ,32,33,71,93,83,84,85,68,69,70,50,51,52,91,92,0,87}&amp;amp;rarr;&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;KBDSC&lt;br /&gt;
 :{3,2,2,2,2,2,2,2,2,2,3,3,3,5,1,1,1,1,1,1,1,1,1,1,1,1,4,9,12,5,5,5,5,3,1,1,1,1,1&lt;br /&gt;
 ,1,1,1,1,1,1,1,6,4,7,5,5,5,1,1,1,1,1,1,1,1,1,1,1,5,6,3,9,5,5,5,5,1,1,1,1,1,1,1,1&lt;br /&gt;
 ,1,1,2,5,5,5,5,13,4,4,5,5,5,9,4,4,4}&amp;amp;rarr;&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;KBLEN&lt;br /&gt;
 :{1,4,6,8,10,12,14,16,18,20,22,25,28,31,36,37,38,39,40,41,42,43,44,45,46,47,48,5&lt;br /&gt;
 2,61,73,78,83,88,93,96,97,98,99,100,101,102,103,104,105,106,107,108,114,118,125,&lt;br /&gt;
 130,135,140,141,142,143,144,145,146,147,148,149,150,151,156,162,165,174,179,184,&lt;br /&gt;
 189,194,195,196,197,198,199,200,201,202,203,204,206,211,216,221,226,239,243,247,&lt;br /&gt;
 252,257,262,271,275,279}&amp;amp;rarr;&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;KBLOC&lt;br /&gt;
 :&amp;quot;ESCF1F2F3F4F5F6F7F8F9F10F11F12Tilde1234567890-=SlshBackspacePrint ScreenPauseN&lt;br /&gt;
 UM /NUM *NUM -TABQWERTYUIOP[]InsertHomePage UpNUM 7NUM 8NUM 9ASDFGHJKL:'EnterDel&lt;br /&gt;
 eteEndPage DownNUM 4NUM 5NUM 6NUM +ZXCVBNM,./UpNUM 1NUM 2NUM 3Space&amp;lt;Right Click&amp;gt;&lt;br /&gt;
 LeftDownRightNUM 0NUM .NUM Enter&amp;lt;01&amp;gt;&amp;lt;02&amp;gt;&amp;lt;03&amp;gt;&amp;quot;&amp;amp;rarr;Str2&lt;br /&gt;
&lt;br /&gt;
==== More Useful Example ====&lt;br /&gt;
This example lets you type a string in using your actual keyboard. It doesn't know how to scroll, so you won't be able to type more than 128 characters, but they're still there.&lt;br /&gt;
 &amp;lt;!--The following lines are really frickin' long and stretched screens, so I put hard-returns without &amp;amp;lt;br&amp;amp;gt; tags. You can figure out where there's not supposed to be a break.--&amp;gt;&lt;br /&gt;
 &amp;lt;!--The &amp;lt;sup&amp;gt;&amp;amp;minus;&amp;lt;/sup&amp;gt; is supposed to be a quote, but there's no way to store a quote into a string from within a string.--&amp;gt;&lt;br /&gt;
 :&amp;quot;abcdefghijklmnopqrstuvwxyz1234567890-=[]',./ ABCDEFGHIJKLMNOPQ&lt;br /&gt;
 RSTUVWXYZ~!^*()+_{} :&amp;lt;sup&amp;gt;&amp;amp;minus;&amp;lt;/sup&amp;gt;&amp;amp;lt;&amp;amp;gt;? &amp;quot;&amp;amp;rarr;Str2&lt;br /&gt;
 :{0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,&lt;br /&gt;
 29,30,31,32,33,34,35,36,37,0,0,0,0,48,38,39,41,42,40,0,43,44,27,45,46,47,0,0,0,0&lt;br /&gt;
 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0&lt;br /&gt;
 ,0}&amp;amp;rarr;&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;KBSCL&lt;br /&gt;
 :OpenLib(USBDRV8X&lt;br /&gt;
 :{10&lt;br /&gt;
 :ExecLib&lt;br /&gt;
 :{40,0,12,153,120,0,132}&amp;amp;rarr;&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;BLANK&lt;br /&gt;
 :&amp;quot;&amp;amp;pi;&amp;amp;rarr;Str1&lt;br /&gt;
 :While 1&lt;br /&gt;
 :{40,0,12,153,120,0,132}&lt;br /&gt;
 :While prod(Ans=&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;BLANK)=1&lt;br /&gt;
 :If getKey&amp;amp;ne;0&lt;br /&gt;
 :Goto SP&lt;br /&gt;
 :{11&lt;br /&gt;
 :ExecLib &lt;br /&gt;
 :End&lt;br /&gt;
 :Ans&amp;amp;rarr;&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;TEMP&lt;br /&gt;
 :&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;TEMP(3&amp;amp;rarr;A&lt;br /&gt;
 :If A=42 and length(Str1)&amp;gt;1&lt;br /&gt;
 :Then&lt;br /&gt;
 :sub(Str1,1,length(Str1)-1&amp;amp;rarr;Str1&lt;br /&gt;
 :ClrHome&lt;br /&gt;
 :Output(1,1,Str1&lt;br /&gt;
 :End&lt;br /&gt;
 :If A=40&lt;br /&gt;
 :Goto E&lt;br /&gt;
 :If &amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;KBSCL(A)=0&lt;br /&gt;
 :End&lt;br /&gt;
 :&lt;br /&gt;
 :&lt;br /&gt;
 :&lt;br /&gt;
 :&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;TEMP(2&amp;amp;rarr;S&lt;br /&gt;
 :0&amp;amp;rarr;T&lt;br /&gt;
 :S+(S-128&amp;lt;u&amp;gt;&amp;amp;gt;&amp;lt;/u&amp;gt;0)(&amp;lt;sup&amp;gt;&amp;amp;minus;&amp;lt;/sup&amp;gt;128&amp;amp;rarr;S&lt;br /&gt;
 :S+(S-64&amp;lt;u&amp;gt;&amp;amp;gt;&amp;lt;/u&amp;gt;0)(&amp;lt;sup&amp;gt;&amp;amp;minus;&amp;lt;/sup&amp;gt;64&amp;amp;rarr;S&lt;br /&gt;
 :If S-32&amp;lt;u&amp;gt;&amp;amp;gt;&amp;lt;/u&amp;gt;0&lt;br /&gt;
 :Then&lt;br /&gt;
 :1&amp;amp;rarr;T&lt;br /&gt;
 :S-32&amp;amp;rarr;S&lt;br /&gt;
 :End&lt;br /&gt;
 :S+(S-16&amp;lt;u&amp;gt;&amp;amp;gt;&amp;lt;/u&amp;gt;0)(&amp;lt;sup&amp;gt;&amp;amp;minus;&amp;lt;/sup&amp;gt;16&amp;amp;rarr;S&lt;br /&gt;
 :S+(S-8&amp;lt;u&amp;gt;&amp;amp;gt;&amp;lt;/u&amp;gt;0)(&amp;lt;sup&amp;gt;&amp;amp;minus;&amp;lt;/sup&amp;gt;8&amp;amp;rarr;S&lt;br /&gt;
 :S+(S-4&amp;lt;u&amp;gt;&amp;amp;gt;&amp;lt;/u&amp;gt;0)(&amp;lt;sup&amp;gt;&amp;amp;minus;&amp;lt;/sup&amp;gt;4&amp;amp;rarr;S&lt;br /&gt;
 :If S-2&amp;lt;u&amp;gt;&amp;amp;gt;&amp;lt;/u&amp;gt;0&lt;br /&gt;
 :Then&lt;br /&gt;
 :1&amp;amp;rarr;T&lt;br /&gt;
 :S-2&amp;amp;rarr;S&lt;br /&gt;
 :End&lt;br /&gt;
 :Str1+sub(Str2,&amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;KBSCL(A)+(T=1)48,1&amp;amp;rarr;Str1&lt;br /&gt;
 :If length(Str1)=2 and sub(Str1,1,1)=&amp;quot;&amp;amp;pi;&lt;br /&gt;
 :sub(Str1,2,1&amp;amp;rarr;Str1&lt;br /&gt;
 :Output(1,1,Str1&lt;br /&gt;
 :End&lt;br /&gt;
 :Lbl E&lt;br /&gt;
 :Lbl SP&lt;br /&gt;
 :{1&lt;br /&gt;
 :ExecLib&lt;br /&gt;
 :DelVar &amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;TEMP&lt;br /&gt;
 :DelVar &amp;lt;span style=&amp;quot;font-variant: small-caps; font-size: 65%;&amp;quot;&amp;gt;L&amp;lt;/span&amp;gt;MODS&lt;br /&gt;
&lt;br /&gt;
== Assembly (TASM) ==&lt;br /&gt;
Code for TASM-compatible assemblers.  Though usb8x is designed for use with ZDS, a TASM-syntax include file is provided as well.  TASM itself is apparently incompatible with usb8x macros, but they have been tested to work correctly with [http://benryves.com/bin/brass/ Brass].  Use [http://usb8x.cvs.sourceforge.net/*checkout*/usb8x/usb8x/usb8xtsm.inc usb8xtsm.inc] instead of [http://usb8x.cvs.sourceforge.net/*checkout*/usb8x/usb8x/usb8x.inc usb8x.inc].  &lt;br /&gt;
=== Mouse Demo ===&lt;br /&gt;
This code uses [[83Plus:Software:usb8x/Asm_Interface/DriverInit|DriverInit]], [[83Plus:Software:usb8x/Asm_Interface/Mouse/MouseInit|MouseInit]], [[83Plus:Software:usb8x/Asm_Interface/Mouse/MouseGetKey|MouseGetKey]], [[83Plus:Software:usb8x/Asm_Interface/HostKill|HostKill]], and [[83Plus:Software:usb8x/Asm_Interface/DriverKill|DriverKill]].  It is a replica of the mouse demo code from usb8x, though it doesn't include routines unrelated to USB.  In this case the address of the callback routine passed to U_CALL_INIT doesn't matter, because MouseInit redefines the callback to handle the mouse data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;  cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
||'''&amp;lt;center&amp;gt;Brass&amp;lt;/center&amp;gt;'''&lt;br /&gt;
||'''&amp;lt;center&amp;gt;ZDS&amp;lt;/center&amp;gt;'''&lt;br /&gt;
|-&lt;br /&gt;
|| &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
        &lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
MainLoop:&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	 &lt;br /&gt;
gkloop:	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
MouseDone:&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|| &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
U_CALL_INIT(Stub)&lt;br /&gt;
jp	c,error&lt;br /&gt;
ld	hl,USBDriverBuf&lt;br /&gt;
U_CALL(DriverInit)&lt;br /&gt;
jp	c,error&lt;br /&gt;
ld	hl,DBuf&lt;br /&gt;
ld	bc,256&lt;br /&gt;
bcall(_MemClear)&lt;br /&gt;
ld	de,DBuf&lt;br /&gt;
ld	b,0&lt;br /&gt;
U_CALL(MouseInit)&lt;br /&gt;
jp	c,error&lt;br /&gt;
bcall(_GrBufClr)&lt;br /&gt;
xor	a&lt;br /&gt;
ld	(MouseBtn),a&lt;br /&gt;
ld	a,50*2&lt;br /&gt;
ld	(MouseX),a&lt;br /&gt;
ld	a,32*2&lt;br /&gt;
ld	(MouseY),a&lt;br /&gt;
call	DispCursor&lt;br /&gt;
&lt;br /&gt;
bcall(_GrBufCpy)&lt;br /&gt;
bcall(_GetCSC)&lt;br /&gt;
cp	skClear&lt;br /&gt;
jr	z,MouseDone&lt;br /&gt;
call	DispCursor&lt;br /&gt;
ld	b,4&lt;br /&gt;
&lt;br /&gt;
push	bc&lt;br /&gt;
U_CALL(MouseGetKey)&lt;br /&gt;
call	MouseUpdateCursor&lt;br /&gt;
pop	bc&lt;br /&gt;
djnz	gkloop&lt;br /&gt;
call	DispCursor&lt;br /&gt;
jr	MainLoop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
U_CALL(HostKill)&lt;br /&gt;
U_CALL(DriverKill)&lt;br /&gt;
ret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
U_CALL_INIT Stub&lt;br /&gt;
jp	c,error&lt;br /&gt;
ld	hl,USBDriverBuf&lt;br /&gt;
U_CALL  DriverInit&lt;br /&gt;
jp	c,error&lt;br /&gt;
ld	hl,DBuf&lt;br /&gt;
ld	bc,256&lt;br /&gt;
B_CALL  MemClear&lt;br /&gt;
ld	de,DBuf&lt;br /&gt;
ld	b,0&lt;br /&gt;
U_CALL  MouseInit&lt;br /&gt;
jp	c,error&lt;br /&gt;
B_CALL  GrBufClr&lt;br /&gt;
xor	a&lt;br /&gt;
ld	(MouseBtn),a&lt;br /&gt;
ld	a,50*2&lt;br /&gt;
ld	(MouseX),a&lt;br /&gt;
ld	a,32*2&lt;br /&gt;
ld	(MouseY),a&lt;br /&gt;
call	DispCursor&lt;br /&gt;
&lt;br /&gt;
B_CALL  GrBufCpy&lt;br /&gt;
B_CALL  GetCSC&lt;br /&gt;
cp	skClear&lt;br /&gt;
jr	z,MouseDone&lt;br /&gt;
call	DispCursor&lt;br /&gt;
ld	b,4&lt;br /&gt;
&lt;br /&gt;
push	bc&lt;br /&gt;
U_CALL  MouseGetKey&lt;br /&gt;
call	MouseUpdateCursor&lt;br /&gt;
pop	bc&lt;br /&gt;
djnz	gkloop&lt;br /&gt;
call	DispCursor&lt;br /&gt;
jr	MainLoop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
U_CALL  HostKill&lt;br /&gt;
U_CALL  DriverKill&lt;br /&gt;
ret&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
;Initialize U_CALL system&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Initialize usb8x driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Clear descriptor buffer&lt;br /&gt;
&lt;br /&gt;
;allow diagonal keys&lt;br /&gt;
;Initialize mouse driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Display mouse cursor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Erase cursor&lt;br /&gt;
;Buffer copy is slow, so &lt;br /&gt;
; update cursor a few times &lt;br /&gt;
&lt;br /&gt;
;Get mouse info from usb8x&lt;br /&gt;
;Update cursor position&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Re-display cursor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Disconnect power from mouse&lt;br /&gt;
;Kill driver&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Assembly (ZDS) ==&lt;br /&gt;
Code for ZDS compatible assemblers.  usb8x is designed to be used with a ZDS-compatible assembler.&lt;br /&gt;
&lt;br /&gt;
=== FindPipe ===&lt;br /&gt;
This code segment, taken from the mass storage driver, illustrates the use of [[83Plus:Software:usb8x/Asm_Interface/FindPipe|FindPipe]] to get the address of an endpoint matching certain characteristics.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;       ld     b,pipeBulk&lt;br /&gt;
       ld     c,pipeOut&lt;br /&gt;
       ld     hl,DescBuf&lt;br /&gt;
       U_CALL FindPipe               ;Find an outgoing bulk endpoint&lt;br /&gt;
       jr     c,error&lt;br /&gt;
       ld     a,b&lt;br /&gt;
       ld    (OutPipe),a             ;Store the endpoint address for later use&lt;br /&gt;
&lt;br /&gt;
       ld     b,pipeBulk&lt;br /&gt;
       ld     c,pipeIn&lt;br /&gt;
       ld     hl,DescBuf&lt;br /&gt;
       U_CALL FindPipe               ;Find an incoming bulk endpoint&lt;br /&gt;
       jr     c,error&lt;br /&gt;
       ld     a,b&lt;br /&gt;
       ld     (InPipe),a&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Keyboard Detect ===&lt;br /&gt;
This code illustrates the use of [[83Plus:Software:usb8x/Asm_Interface/AutoSetup|AutoSetup]] and [[83Plus:Software:usb8x/Asm_Interface/GetClass|GetClass]] to determine if the attached device is a keyboard.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;       U_CALL_INIT KBDCallBack     ;Initialize U_CALL and Callback RAM calls&lt;br /&gt;
       jr     c,NoUSBDriver        ;If it returns C, that means USB8X isn't loaded on calc&lt;br /&gt;
       ld     hl,USBDriverBuf&lt;br /&gt;
       U_CALL DriverInit           ;Initialize USB driver&lt;br /&gt;
       ld     hl,DescBuf&lt;br /&gt;
       U_CALL AutoSetup            ;Initialize and configure USB device&lt;br /&gt;
       jr     c,USBError&lt;br /&gt;
&lt;br /&gt;
       ld     hl,DescBuf&lt;br /&gt;
       U_CALL GetClass             ;Get the class information for the attached device&lt;br /&gt;
       jr     c,USBError&lt;br /&gt;
       cp     3                    ;Keyboard class = 3&lt;br /&gt;
       jr     nz,NotKBD&lt;br /&gt;
       dec    b                    ;subclass = 1&lt;br /&gt;
       jr     nz,NotKBD&lt;br /&gt;
       dec    c                    ;protocol = 1&lt;br /&gt;
       jr     nz,NotKBD&lt;br /&gt;
;Keyboard is attached.  Code would continue here.  &lt;br /&gt;
;Typically at this point you would call ReqData to start reading data from the keyboard&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/BASIC_Interface/ExportVariable</id>
		<title>83Plus:Software:usb8x/BASIC Interface/ExportVariable</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/BASIC_Interface/ExportVariable"/>
				<updated>2009-11-09T23:26:41Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: Fixed both MSDInit links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Name:''' ExportVariable&lt;br /&gt;
&lt;br /&gt;
'''Function Number:''' 9&lt;br /&gt;
&lt;br /&gt;
'''Minimum usb8x version:''' 0.10&lt;br /&gt;
&lt;br /&gt;
Exports variable from RAM or Flash to specified directory as *.8x* file.&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
* 2: String variable to use (Str1-0)&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
* 1: Error code (0 = success)&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
Be sure to initialize the mass storage driver with [[83Plus:Software:usb8x/BASIC_Interface/MSDInit|MSDInit]] before calling this entry point.&lt;br /&gt;
&lt;br /&gt;
This entry point will fail if a *.8x* file of the same name is already in the specified directory.&lt;br /&gt;
&lt;br /&gt;
You have your choice of Str1-Str0 to use with this function. Pass this number as the second element in Ans.&lt;br /&gt;
&lt;br /&gt;
=== String Format ===&lt;br /&gt;
The variable to export starts the string. It is the ''token'' for the variable you want to transfer. This means you must select this variable from a menu instead of typing it yourself (for example, selecting &amp;quot;Str9&amp;quot; from the VARS menu, ''not'' typing 'S', 't', 'r', '9'). A colon follows this, and finally the path to export the variable to.&lt;br /&gt;
&lt;br /&gt;
For example, to send matrix A to the root directory, use the following for the string:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;quot;[A]:/&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
The &amp;quot;&amp;lt;code&amp;gt;[A]&amp;lt;/code&amp;gt;&amp;quot; was selected from the [2nd]+[MATRX] menu.&lt;br /&gt;
&lt;br /&gt;
To send prgmGAME to the &amp;quot;test&amp;quot; directory, use the following for the string:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;quot;prgmGAME:/TEST&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To send a REAL variable or AppVar, simply enter the string. If a REAL variable and AppVar have the same name, it will send the REAL variable. To send AppVar ABC to the root directory:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;quot;ABC:/&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not enter lowercase letters in the string.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
The following code will export ZTETRIS to the root directory:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 OpenLib(USBDRV8X&lt;br /&gt;
 {7&lt;br /&gt;
 ExecLib ;initialize mass storage driver&lt;br /&gt;
 &amp;quot;prgmZTETRIS:/-&amp;gt;Str1&lt;br /&gt;
 {9,1&lt;br /&gt;
 ExecLib ;export variable in Str1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[83Plus:Software:usb8x/BASIC_Interface/MSDInit|MSDInit]] - Initialize the mass storage driver&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/BASIC_Interface/MouseDo</id>
		<title>83Plus:Software:usb8x/BASIC Interface/MouseDo</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/BASIC_Interface/MouseDo"/>
				<updated>2009-11-09T23:21:31Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: Fixed all links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Name:''' MouseDo&lt;br /&gt;
&lt;br /&gt;
'''Function Number:''' 3&lt;br /&gt;
&lt;br /&gt;
'''Minimum usb8x version:''' 0.07&lt;br /&gt;
&lt;br /&gt;
Gets movement and keypress information from the mouse driver.&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
''None''&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
* 1: Error code&lt;br /&gt;
* 2: Button presses&lt;br /&gt;
* 3: X dimension movement&lt;br /&gt;
* 4: Y dimension movement&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
Be sure to initialize the mouse driver before calling this entry point.&lt;br /&gt;
&lt;br /&gt;
Each bit of the 2nd output represents one button.  So if the left mouse button is pressed the returned value will be 1.  If the right mouse button is pressed it will be 2.  If both are pressed it will be 3.  Etc.&lt;br /&gt;
&lt;br /&gt;
X and Y dimension movement are returned in a somewhat strange format.  If the number is between 1 and 127, the mouse was moved that many &amp;quot;ticks&amp;quot; to the right or down.  If the number is between 128 and 255, the mouse was moved 256 minus that many ticks to the left or up.  See the code example of details on how to convert these numbers to something that makes sense.&lt;br /&gt;
&lt;br /&gt;
If no changes in the mouse are reported within a certain length of time, MouseDo will return a [[83Plus:Software:usb8x/Error_Codes|Timeout]] error.  This is not an unrecoverable error, just ignore the rest of the output list for this particular iteration.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
See the [[83Plus:Software:usb8x/Sample_Code#Mouse_Demo|Sample Code]] page for an example of using MouseDo, and for how to convert the x/y dimension movement outputs into useful values.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[83Plus:Software:usb8x/BASIC_Interface/MouseInit|MouseInit]] - Initialize the mouse driver.&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/BASIC_Interface/ImportVariable</id>
		<title>83Plus:Software:usb8x/BASIC Interface/ImportVariable</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/BASIC_Interface/ImportVariable"/>
				<updated>2009-11-09T23:10:24Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: Fixed both MSDInit links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Name:''' ImportVariable&lt;br /&gt;
&lt;br /&gt;
'''Function Number:''' 8&lt;br /&gt;
&lt;br /&gt;
'''Minimum usb8x version:''' 0.10&lt;br /&gt;
&lt;br /&gt;
Imports *.8x* variable from specified directory to RAM or Flash.&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
* 2: String variable to use (Str1-0)&lt;br /&gt;
* 3: Flags byte&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;  cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
| ''Value'' || ''Effect''&lt;br /&gt;
|-&lt;br /&gt;
| 00 || Store in RAM and do not overwrite existing variable if necessary&lt;br /&gt;
|-&lt;br /&gt;
| 01 || Store in RAM and overwrite existing variable if necessary&lt;br /&gt;
|-&lt;br /&gt;
| 02 || Store in Flash and do not overwrite existing variable if necessary&lt;br /&gt;
|-&lt;br /&gt;
| 03 || Store in Flash and overwrite existing variable if necessary&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
* 1: Error code (0 = success)&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
Be sure to initialize the mass storage driver with [[83Plus:Software:usb8x/BASIC_Interface/MSDInit|MSDInit]] before calling this entry point.&lt;br /&gt;
&lt;br /&gt;
You have your choice of Str1-Str0 to use with this function. Pass this number as the second element in Ans. The string is formatted as follows:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;quot;/FOLDER1/FOLDER2/GAME.8XP&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Pass the flag value of your choice as the third element in Ans.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
The following code will import ZTETRIS.8XP from the root directory and store it in RAM (without overwriting any duplicates):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 OpenLib(USBDRV8X&lt;br /&gt;
 {7&lt;br /&gt;
 ExecLib ;initialize mass storage driver&lt;br /&gt;
 &amp;quot;/ZTETRIS.8XP-&amp;gt;Str1&lt;br /&gt;
 {8,1,0&lt;br /&gt;
 ExecLib ;import variable&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[83Plus:Software:usb8x/BASIC_Interface/MSDInit|MSDInit]] - Initialize the mass storage driver&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/BASIC_Interface/MouseInit</id>
		<title>83Plus:Software:usb8x/BASIC Interface/MouseInit</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/BASIC_Interface/MouseInit"/>
				<updated>2009-11-09T23:07:21Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: /* See Also */  Fixed link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Synopsis ==&lt;br /&gt;
'''Name:''' MouseInit&lt;br /&gt;
&lt;br /&gt;
'''Function Number:''' 2&lt;br /&gt;
&lt;br /&gt;
'''Minimum usb8x version:''' 0.07&lt;br /&gt;
&lt;br /&gt;
Initializes the mouse driver.&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
''None''&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
* 1: Error code&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
This command will set up the usb8x driver.  It uses memory in appBackUpScreen, so it may not be compatible with other applications that also use this space.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[83Plus:Software:usb8x/BASIC_Interface/MouseDo|MouseDo]] - Get movement and button press information&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Software:usb8x/BASIC_Interface</id>
		<title>Talk:83Plus:Software:usb8x/BASIC Interface</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Software:usb8x/BASIC_Interface"/>
				<updated>2009-11-09T22:59:58Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: /* The pages exist... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page doesn't seem to have any links...&lt;br /&gt;
&lt;br /&gt;
:No, the links exist, they are just broken. --[[User:TheStorm|TheStorm]] 00:25, 3 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Someone NEEDS to add the values for BASIC input.  I know I had them written down somewhere, but I can't find them.  Really, this page is useless if you don't explain how to use the application.  I am still looking for the codes, but they aren't in readme's or anything! [[User:JoostinOnline|JoostinOnline]]&lt;br /&gt;
&lt;br /&gt;
:I think I managed to get some a long time ago... :/ I will see if I can find them. [[User:Galandros|Galandros]] 14:14, 3 November 2009 (UTC)&lt;br /&gt;
::Only found http://wikiti.brandonw.net/?title=83Plus:Software:usb8x/Sample_Code#BASIC and I think the links existed in the wikiTI but were lost somehow. [[User:Galandros|Galandros]] 14:30, 3 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Okay, I went through the source code and I found the values.  I still can't believe there is no proper documentation for usb8x.&lt;br /&gt;
&lt;br /&gt;
* 0   IsDeviceConnected&lt;br /&gt;
* 1   KillUSB&lt;br /&gt;
* 2   MouseDemoInit&lt;br /&gt;
* 3   MouseDemoDo&lt;br /&gt;
* 4   GetClass&lt;br /&gt;
* 5   GetIDs&lt;br /&gt;
* 6   Version&lt;br /&gt;
* 7   MSDInit&lt;br /&gt;
* 8   MSDImportVariable&lt;br /&gt;
* 9   MSDExportVariable&lt;br /&gt;
* 10  KBDInit&lt;br /&gt;
* 11  KBDGetKey&lt;br /&gt;
* 12  USBInit&lt;br /&gt;
&lt;br /&gt;
:::I am not very good at writing Wiki pages (I don't even remember how anymore), but I hope someone else will use these codes to create pages. Joostin 16:37, 3 November 2009 (UTC)&lt;br /&gt;
::::Edit: Added USBInit (12) to the list.  Since the names in the code are different than the ones in the page's table, they need to be changed. [[User:JoostinOnline|JoostinOnline]] 16:21, 5 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::I edited to lists. See [[http://en.wikipedia.org/wiki/Wikipedia:Tutorial_%28Formatting%29 this tutorial] and try the sandbox. [[http://wikiti.brandonw.net/index.php?title=Sandbox here]]&lt;br /&gt;
::::My English is not the best but I am good, I think, in formatting if I have the time and patience to it.&lt;br /&gt;
::::I can't believe too because the documentation of msd8x and usb8x are the tops viewed pages in WikiTI...&lt;br /&gt;
::::[[User:Galandros|Galandros]] 21:15, 3 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
I just fixed the order of the functions and added command numbers.  [[User:JoostinOnline|JoostinOnline]] 17:34, 5 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== The pages exist... ==&lt;br /&gt;
&lt;br /&gt;
I think the commands exist on the wiki but they are not linked correctly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
http://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/BASIC_Interface/GetIDs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Good job, it looks great! I am going to clean up the links on those linked pages. [[User:JoostinOnline|JoostinOnline]] 22:59, 9 November 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Software:usb8x/BASIC_Interface</id>
		<title>Talk:83Plus:Software:usb8x/BASIC Interface</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Software:usb8x/BASIC_Interface"/>
				<updated>2009-11-05T17:34:58Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page doesn't seem to have any links...&lt;br /&gt;
&lt;br /&gt;
:No, the links exist, they are just broken. --[[User:TheStorm|TheStorm]] 00:25, 3 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Someone NEEDS to add the values for BASIC input.  I know I had them written down somewhere, but I can't find them.  Really, this page is useless if you don't explain how to use the application.  I am still looking for the codes, but they aren't in readme's or anything! [[User:JoostinOnline|JoostinOnline]]&lt;br /&gt;
&lt;br /&gt;
:I think I managed to get some a long time ago... :/ I will see if I can find them. [[User:Galandros|Galandros]] 14:14, 3 November 2009 (UTC)&lt;br /&gt;
::Only found http://wikiti.brandonw.net/?title=83Plus:Software:usb8x/Sample_Code#BASIC and I think the links existed in the wikiTI but were lost somehow. [[User:Galandros|Galandros]] 14:30, 3 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Okay, I went through the source code and I found the values.  I still can't believe there is no proper documentation for usb8x.&lt;br /&gt;
&lt;br /&gt;
* 0   IsDeviceConnected&lt;br /&gt;
* 1   KillUSB&lt;br /&gt;
* 2   MouseDemoInit&lt;br /&gt;
* 3   MouseDemoDo&lt;br /&gt;
* 4   GetClass&lt;br /&gt;
* 5   GetIDs&lt;br /&gt;
* 6   Version&lt;br /&gt;
* 7   MSDInit&lt;br /&gt;
* 8   MSDImportVariable&lt;br /&gt;
* 9   MSDExportVariable&lt;br /&gt;
* 10  KBDInit&lt;br /&gt;
* 11  KBDGetKey&lt;br /&gt;
* 12  USBInit&lt;br /&gt;
&lt;br /&gt;
:::I am not very good at writing Wiki pages (I don't even remember how anymore), but I hope someone else will use these codes to create pages. Joostin 16:37, 3 November 2009 (UTC)&lt;br /&gt;
::::Edit: Added USBInit (12) to the list.  Since the names in the code are different than the ones in the page's table, they need to be changed. [[User:JoostinOnline|JoostinOnline]] 16:21, 5 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::I edited to lists. See [[http://en.wikipedia.org/wiki/Wikipedia:Tutorial_%28Formatting%29 this tutorial] and try the sandbox. [[http://wikiti.brandonw.net/index.php?title=Sandbox here]]&lt;br /&gt;
::::My English is not the best but I am good, I think, in formatting if I have the time and patience to it.&lt;br /&gt;
::::I can't believe too because the documentation of msd8x and usb8x are the tops viewed pages in WikiTI...&lt;br /&gt;
::::[[User:Galandros|Galandros]] 21:15, 3 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
I just fixed the order of the functions and added command numbers.  [[User:JoostinOnline|JoostinOnline]] 17:34, 5 November 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/BASIC_Interface</id>
		<title>83Plus:Software:usb8x/BASIC Interface</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/BASIC_Interface"/>
				<updated>2009-11-05T17:29:11Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: /* Available Functions */  Added the command numbers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The OpenLib( and ExecLib commands can be used to access usb8x functions from BASIC programs.  Input and output is passed through a list in the Ans variable.  On input, the first element of the list holds the function number of the command to execute and the remaining elements hold input values.  On output, the first element holds the success/error status (where 0 is success) and the remaining elements may hold output data values.  See the information page on individual functions to determine its function number and input/output values.  &lt;br /&gt;
&lt;br /&gt;
Note: Versions of usb8x prior to 0.10 require that the input list be seven elements long.  Elements that are not part of the defined input are ignored.&lt;br /&gt;
&lt;br /&gt;
Example code to quit unless a USB device is connected:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;OpenLib(USBDRV8X&lt;br /&gt;
{0&lt;br /&gt;
ExecLib&lt;br /&gt;
If not(Ans(2&lt;br /&gt;
Return&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Available Functions ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;  cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|0 || [[/IsDeviceConnected|IsDeviceConnected]] || Checks if a device is connected&lt;br /&gt;
|-&lt;br /&gt;
|1 || [[/KillUSB|KillUSB]] || Uninitializes both USB device and usb8x driver&lt;br /&gt;
|-&lt;br /&gt;
|2 || [[/MouseInit|MouseInit]] || Initializes mouse driver&lt;br /&gt;
|-&lt;br /&gt;
|3 || [[/MouseDo|MouseDo]] || Get mouse movement/button information&lt;br /&gt;
|-&lt;br /&gt;
|4 || [[/GetClass|GetClass]] || Gets class, subclass, and protocol information from device&lt;br /&gt;
|-&lt;br /&gt;
|5 || [[/GetIDs|GetIDs]] || Gets product and vendor IDs from device&lt;br /&gt;
|-&lt;br /&gt;
|6 || [[/Version|Version]] || Gets usb8x version information&lt;br /&gt;
|-&lt;br /&gt;
|7 || [[/MSDInit|MSDInit]] || Initialize USB mass storage driver&lt;br /&gt;
|-&lt;br /&gt;
|8 || [[/ImportVariable|ImportVariable]] || Import 8x* file in specified directory from connected USB flash drive as calculator variable in RAM/Flash&lt;br /&gt;
|-&lt;br /&gt;
|9 || [[/ExportVariable|ExportVariable]] || Export calculator variable in RAM/Flash to connected USB flash drive in specified directory as 8x* file&lt;br /&gt;
|-&lt;br /&gt;
|10 || [[/KBDInit|KBDInit]] || Initialize the keyboard driver&lt;br /&gt;
|-&lt;br /&gt;
|11 || [[/KBDGetKey|KBDGetKey]] || Get a key press from the keyboard&lt;br /&gt;
|-&lt;br /&gt;
|12 || [[/HostInit|HostInit]] || Initialize USB device only (for power-only devices)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/BASIC_Interface</id>
		<title>83Plus:Software:usb8x/BASIC Interface</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/BASIC_Interface"/>
				<updated>2009-11-05T17:10:34Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: /* Available Functions */  Sorted the functions by command number instead of by name.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The OpenLib( and ExecLib commands can be used to access usb8x functions from BASIC programs.  Input and output is passed through a list in the Ans variable.  On input, the first element of the list holds the function number of the command to execute and the remaining elements hold input values.  On output, the first element holds the success/error status (where 0 is success) and the remaining elements may hold output data values.  See the information page on individual functions to determine its function number and input/output values.  &lt;br /&gt;
&lt;br /&gt;
Note: Versions of usb8x prior to 0.10 require that the input list be seven elements long.  Elements that are not part of the defined input are ignored.&lt;br /&gt;
&lt;br /&gt;
Example code to quit unless a USB device is connected:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;OpenLib(USBDRV8X&lt;br /&gt;
{0&lt;br /&gt;
ExecLib&lt;br /&gt;
If not(Ans(2&lt;br /&gt;
Return&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Available Functions ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;  cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
|[[/IsDeviceConnected|IsDeviceConnected]] || Checks if a device is connected&lt;br /&gt;
|-&lt;br /&gt;
|[[/KillUSB|KillUSB]] || Uninitializes both USB device and usb8x driver&lt;br /&gt;
|-&lt;br /&gt;
|[[/MouseInit|MouseInit]] || Initializes mouse driver&lt;br /&gt;
|-&lt;br /&gt;
|[[/MouseDo|MouseDo]] || Get mouse movement/button information&lt;br /&gt;
|-&lt;br /&gt;
|[[/GetClass|GetClass]] || Gets class, subclass, and protocol information from device&lt;br /&gt;
|-&lt;br /&gt;
|[[/GetIDs|GetIDs]] || Gets product and vendor IDs from device&lt;br /&gt;
|-&lt;br /&gt;
|[[/Version|Version]] || Gets usb8x version information&lt;br /&gt;
|-&lt;br /&gt;
|[[/MSDInit|MSDInit]] || Initialize USB mass storage driver&lt;br /&gt;
|-&lt;br /&gt;
|[[/ImportVariable|ImportVariable]] || Import 8x* file in specified directory from connected USB flash drive as calculator variable in RAM/Flash&lt;br /&gt;
|-&lt;br /&gt;
|[[/ExportVariable|ExportVariable]] || Export calculator variable in RAM/Flash to connected USB flash drive in specified directory as 8x* file&lt;br /&gt;
|-&lt;br /&gt;
|[[/KBDInit|KBDInit]] || Initialize the keyboard driver&lt;br /&gt;
|-&lt;br /&gt;
|[[/KBDGetKey|KBDGetKey]] || Get a key press from the keyboard&lt;br /&gt;
|-&lt;br /&gt;
|[[/HostInit|HostInit]] || Initialize USB device only (for power-only devices)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Software:usb8x/BASIC_Interface</id>
		<title>Talk:83Plus:Software:usb8x/BASIC Interface</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Software:usb8x/BASIC_Interface"/>
				<updated>2009-11-05T16:21:17Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page doesn't seem to have any links...&lt;br /&gt;
&lt;br /&gt;
:No, the links exist, they are just broken. --[[User:TheStorm|TheStorm]] 00:25, 3 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Someone NEEDS to add the values for BASIC input.  I know I had them written down somewhere, but I can't find them.  Really, this page is useless if you don't explain how to use the application.  I am still looking for the codes, but they aren't in readme's or anything!&lt;br /&gt;
&lt;br /&gt;
:I think I managed to get some a long time ago... :/ I will see if I can find them. [[User:Galandros|Galandros]] 14:14, 3 November 2009 (UTC)&lt;br /&gt;
::Only found http://wikiti.brandonw.net/?title=83Plus:Software:usb8x/Sample_Code#BASIC and I think the links existed in the wikiTI but were lost somehow. [[User:Galandros|Galandros]] 14:30, 3 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::Okay, I went through the source code and I found the values.  I still can't believe there is no proper documentation for usb8x.&lt;br /&gt;
&lt;br /&gt;
* 0   IsDeviceConnected&lt;br /&gt;
* 1   KillUSB&lt;br /&gt;
* 2   MouseDemoInit&lt;br /&gt;
* 3   MouseDemoDo&lt;br /&gt;
* 4   GetClass&lt;br /&gt;
* 5   GetIDs&lt;br /&gt;
* 6   Version&lt;br /&gt;
* 7   MSDInit&lt;br /&gt;
* 8   MSDImportVariable&lt;br /&gt;
* 9   MSDExportVariable&lt;br /&gt;
* 10  KBDInit&lt;br /&gt;
* 11  KBDGetKey&lt;br /&gt;
* 12  USBInit&lt;br /&gt;
&lt;br /&gt;
:::I am not very good at writing Wiki pages (I don't even remember how anymore), but I hope someone else will use these codes to create pages. Joostin 16:37, 3 November 2009 (UTC)&lt;br /&gt;
::::Edit: Added USBInit (12) to the list.  Since the names in the code are different than the ones in the page's table, they need to be changed. [[User:JoostinOnline|JoostinOnline]] 16:21, 5 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::I edited to lists. See [[http://en.wikipedia.org/wiki/Wikipedia:Tutorial_%28Formatting%29 this tutorial] and try the sandbox. [[http://wikiti.brandonw.net/index.php?title=Sandbox here]]&lt;br /&gt;
::::My English is not the best but I am good, I think, in formatting if I have the time and patience to it.&lt;br /&gt;
::::I can't believe too because the documentation of msd8x and usb8x are the tops viewed pages in WikiTI...&lt;br /&gt;
::::[[User:Galandros|Galandros]] 21:15, 3 November 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Software:usb8x/BASIC_Interface</id>
		<title>Talk:83Plus:Software:usb8x/BASIC Interface</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Software:usb8x/BASIC_Interface"/>
				<updated>2009-11-03T16:37:33Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: Found BASIC codes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page doesn't seem to have any links...&lt;br /&gt;
&lt;br /&gt;
No, the links exist, they are just broken. --[[User:TheStorm|TheStorm]] 00:25, 3 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Someone NEEDS to add the values for BASIC input.  I know I had them written down somewhere, but I can't find them.  Really, this page is useless if you don't explain how to use the application.  I am still looking for the codes, but they aren't in readme's or anything!&lt;br /&gt;
&lt;br /&gt;
I think I managed to get some a long time ago... :/ I will see if I can find them. [[User:Galandros|Galandros]] 14:14, 3 November 2009 (UTC)&lt;br /&gt;
:Only found http://wikiti.brandonw.net/?title=83Plus:Software:usb8x/Sample_Code#BASIC and I think the links existed in the wikiTI but were lost somehow. [[User:Galandros|Galandros]] 14:30, 3 November 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Okay, I went through the source code and I found the values.  I still can't believe there is no proper documentation for usb8x.&lt;br /&gt;
&lt;br /&gt;
0   IsDeviceConnected&lt;br /&gt;
1   KillUSB&lt;br /&gt;
2   MouseDemoInit&lt;br /&gt;
3   MouseDemoDo&lt;br /&gt;
4   GetClass&lt;br /&gt;
5   GetIDs&lt;br /&gt;
6   Version&lt;br /&gt;
7   MSDInit&lt;br /&gt;
8   MSDImportVariable&lt;br /&gt;
9   MSDExportVariable&lt;br /&gt;
10  KBDInit&lt;br /&gt;
11  KBDGetKey&lt;br /&gt;
&lt;br /&gt;
I am not very good at writing Wiki pages (I don't even remember how anymore), but I hope someone else will use these codes to create pages. Joostin 16:37, 3 November 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Software:usb8x/BASIC_Interface</id>
		<title>Talk:83Plus:Software:usb8x/BASIC Interface</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Software:usb8x/BASIC_Interface"/>
				<updated>2009-11-02T19:53:08Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page doesn't seem to have any links...&lt;br /&gt;
&lt;br /&gt;
No, the links exist, they are just broken. --[[User:TheStorm|TheStorm]] 00:25, 3 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Someone NEEDS to add the values for BASIC input.  I know I had them written down somewhere, but I can't find them.  Really, this page is useless if you don't explain how to use the application.  I am still looking for the codes, but they aren't in readme's or anything!&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=User:JoostinOnline</id>
		<title>User:JoostinOnline</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=User:JoostinOnline"/>
				<updated>2007-10-04T22:57:42Z</updated>
		
		<summary type="html">&lt;p&gt;JoostinOnline: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi there! I am Justin Hannay, known as JoostinOnline on almost every calculator forum that exists.  If you need to contact me, just send an email to JoostinOnline@gmail.com&lt;/div&gt;</summary>
		<author><name>JoostinOnline</name></author>	</entry>

	</feed>