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

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Ports:3A</id>
		<title>Talk:83Plus:Ports:3A</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=Talk:83Plus:Ports:3A"/>
				<updated>2014-05-16T15:37:08Z</updated>
		
		<summary type="html">&lt;p&gt;JosJuice: New discussions are typically at the bottom&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== (Untitled discussion) ==&lt;br /&gt;
&lt;br /&gt;
Hi guys,&lt;br /&gt;
&lt;br /&gt;
Does anyone have even the faintest clue what this port is about?  I've been having some issues with usb8x working on my 84P Black and not working on my 84P Silver.  One of the few differences between the two is that my 84P Black has boot version 1.02 (as opposed to 1.00).  There's some USB code (in the 1.02 boot) that checks port 3A and branches depending on the value of bit 3, which is 1 on my 84P Silver and 0 on the Black.  I'm trying to figure out if this is a software issue or a hardware issue.  Any insights would make you a hero.&lt;br /&gt;
&lt;br /&gt;
Also, does anyone have an 84P Black with boot other than 1.02 or 84P Silver with boot other than 1.00?  If so, what is the value read from port 3A?&lt;br /&gt;
&lt;br /&gt;
Thanks --[[User:Dan Englender|Dan Englender]] 15:01, 7 September 2006 (PDT)&lt;br /&gt;
: Someone with an 84P Silver calc with 1.02 boot just tested and the value of port 3A is 0 on his calculator as well.  So either there's a hardware difference (which I'm guessing is the most likely explanation) which 1.02 was meant to handle, or the boot code does something differently on 1.02 which causes the different value on port 3A.  Either way, I still have no idea what it means.  --[[User:Dan Englender|Dan Englender]] 15:20, 7 September 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
The differences between boot 1.00 and 1.02 (I think this is all of them):&lt;br /&gt;
* Boot 1.02 on the BE correctly reports the size of the archive (boot 1.00 reports that it has 1504k rather than 480k.)&lt;br /&gt;
* Some page numbers used on the BE are changed from 7F to 3F.&lt;br /&gt;
* At 6F:4C6E in boot 1.00, an OS has been validated, it's sent the 0006 packet to acknowledge it, and it's just about to boot the newly-loaded OS.  It calls 592A (B_CALL 8105).  In boot 1.02, it calls 5933 (B_CALL 810E).  The only difference between these two routines is that the latter outputs 0 to port 4C.&lt;br /&gt;
* At 7F:5B2F in boot 1.00, the boot code is getting ready to receive an OS, and it needs to decide whether to use DBUS or USB, so it polls port 4D.  If bits 5 and 6 are both set, it B_CALLs 8108 followed by 810B.  These two B_CALLs, located at 5B43, are NOPed out in boot 1.02.&lt;br /&gt;
* Curiously, the ''battery checking'' routines are changed.  In 1.02, they set bit 7 of port 3A when they start, and clear bit 7 when they finish.&lt;br /&gt;
I don't think any of these changes affect routines that are called by the OS, though (or any code that's run in a normal startup.)  So I think you're probably looking at changed hardware.&lt;br /&gt;
[[User:FloppusMaximus|FloppusMaximus]] 18:28, 7 September 2006 (PDT)&lt;br /&gt;
: So perhaps port 3A has something to do with power.  Maybe it either disables the USB port (so accurate battery level will be obtained) or determines how much current can be drawn by the USB port (you don't want a USB device killing the batteries).    Or something completely different.  --[[User:Dan Englender|Dan Englender]] 10:48, 8 September 2006 (PDT)&lt;br /&gt;
::Maybe this is a stupid idea, but (theoretically) if it is possible for the USB port to power other devices, isn't it possible for outside sources to power the calc through the USB port? If this is possible, then maybe the battery checking routines are changed so that they won't be thrown off by an external power supply. (then again, I've no idea about USB). [[User:Saibot84|Saibot84]] 16:17, 8 September 2006 (PDT)&lt;br /&gt;
:::It's possible, yes, but if that were the case, you would expect the battery check routines to querty the value of port 3A (or one of the surrounding ports), not set then reset a bit.  In any case, I'm still not sure why any of this would make usb8x function differently since the OS code doesn't seem to differentiate between these two potential hardware versions much. --[[User:Dan Englender|Dan Englender]] 19:42, 8 September 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Battery Charging ==&lt;br /&gt;
&lt;br /&gt;
I've got a theory on the battery charging bit. Maybe, when set to output, it controls whether the charger is enabled. When set to input, it monitors the charger status (done/not done). So it's fancy tri-state logic. Because it would be bad for the charger to be charging off VBus when the calculator itself is supplying VBus, and only the USB controller knows where VBus is coming from.&lt;br /&gt;
&lt;br /&gt;
Or maybe I'm crazy. I'm not an electrical engineer, but it seems odd to use tri-state logic that way. Maybe they were pressed for pins.---[[User:Dr. D&amp;amp;#39;nar|Dr. D&amp;amp;#39;nar]] 07:38, 16 May 2014 (UTC)&lt;/div&gt;</summary>
		<author><name>JosJuice</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:OS:Secret_Key_Combinations</id>
		<title>83Plus:OS:Secret Key Combinations</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:OS:Secret_Key_Combinations"/>
				<updated>2013-09-20T14:09:23Z</updated>
		
		<summary type="html">&lt;p&gt;JosJuice: /* Mode, Alpha, S */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:83Plus:OS_Information|Secret Key Combinations]]&lt;br /&gt;
TI hid a lot of secret key combinations in their OS/boot code, here is the complete list.&lt;br /&gt;
&lt;br /&gt;
==Alpha, S==&lt;br /&gt;
* '''Function:''' Calculator Self Test&lt;br /&gt;
* '''When:''' Mode Screen&lt;br /&gt;
* '''Provider:''' OS&lt;br /&gt;
&lt;br /&gt;
This is the self test that's built into the OS. It's useful for checking the boot code version or sneakily clearing ram. &lt;br /&gt;
&lt;br /&gt;
Even though this says it will &amp;quot;clear all memory&amp;quot; it doesn't even touch flash. TI doesn't realize that there is memory other than ram.&lt;br /&gt;
&lt;br /&gt;
Here are the tests it runs:&lt;br /&gt;
* Calculator ID: does your calculator have a serial number?&lt;br /&gt;
* Crystal timers: HL is incremented for 1/256 second and displayed&lt;br /&gt;
* USB power on: if a type A cable is attached, it sends power to it, though it doesn't even check if it worked&lt;br /&gt;
* ''Each completed iteration of the follow two tests increases the on-screen counter''&lt;br /&gt;
** OS checksum: this passes if when you add all the bytes in the OS together, it comes out to zero&lt;br /&gt;
** RAM test: this checks all 8 pages of ram for retention&lt;br /&gt;
* LCD test: only you know if this failed&lt;br /&gt;
* Keyboard test: checks each key individually to see if it works&lt;br /&gt;
&lt;br /&gt;
== ON + Clear==&lt;br /&gt;
* '''Function:''' Don't Parse Archive&lt;br /&gt;
* '''When:''' On Ram Clears&lt;br /&gt;
* '''Provider:''' OS&lt;br /&gt;
&lt;br /&gt;
This combination tells the OS not to look in the archive for any user variables on boot. What this means is that any programs in the archive will not show up and [[83Plus:Ports:23|port 23]] will not be set correctly. This function is useful if you accidentally corrupt your archive and the calculator enters a boot loop. Be warned that since port 23 is not set up correctly, all apps will instantly crash.&lt;br /&gt;
&lt;br /&gt;
== ON + Left + Right==&lt;br /&gt;
* '''Function:''' Enable Press to Test&lt;br /&gt;
* '''When:''' Turning calculator ON&lt;br /&gt;
* '''Provider:''' OS &amp;gt;= 2.40&lt;br /&gt;
&lt;br /&gt;
This is the menu that allows you to disable Apps and programs. The only way to undo it is to link with another calculator. Be warned that it will delete your groups for no reason.&lt;br /&gt;
&lt;br /&gt;
This menu also disables all hooks. (Except USB and ONSCRPT/OFFSCPT)&lt;br /&gt;
&lt;br /&gt;
== ON + 5 + 8==&lt;br /&gt;
* '''Function:''' Delete all variables&lt;br /&gt;
* '''When:''' Turning calculator ON&lt;br /&gt;
* '''Provider:''' OS &amp;gt;= 2.40&lt;br /&gt;
&lt;br /&gt;
This is part of Press to Test. It is almost exactly the same as the Reset Arc Both option in the memory menu except it won't delete:&lt;br /&gt;
* PlySmlt2&lt;br /&gt;
* Soumi&lt;br /&gt;
* Svenska&lt;br /&gt;
&lt;br /&gt;
This menu also disables all hooks. (Except USB and ONSCRPT/OFFSCPT)&lt;br /&gt;
&lt;br /&gt;
== ON + 2 + 8==&lt;br /&gt;
* '''Function:''' Delete all variables for Singapore&lt;br /&gt;
* '''When:''' Turning calculator ON&lt;br /&gt;
* '''Provider:''' OS &amp;gt;= 2.40&lt;br /&gt;
&lt;br /&gt;
This is just like the regular Press to Test delete except it has a slightly different white list:&lt;br /&gt;
* CtlgHelp&lt;br /&gt;
* Conics&lt;br /&gt;
* Inequalz&lt;br /&gt;
* PlySmlt2&lt;br /&gt;
* Transfrm&lt;br /&gt;
&lt;br /&gt;
This menu also disables all hooks. (Except USB and ONSCRPT/OFFSCPT)&lt;br /&gt;
&lt;br /&gt;
==Battery + Del==&lt;br /&gt;
* '''Function:''' Receive an OS&lt;br /&gt;
* '''When:''' Inserting the final battery&lt;br /&gt;
* '''Provider:''' Boot Code&lt;br /&gt;
&lt;br /&gt;
This key sequence will tell the boot code to try to receive an OS. It will wait a minute or two, then give up. One very useful side effect of this is that it will clear all ram, making it an almost unstoppable way to reset your calculator.&lt;br /&gt;
&lt;br /&gt;
Contrary to some people's beliefs, this does not delete your OS, it never has, it never will.&lt;br /&gt;
&lt;br /&gt;
==Battery + Stat==&lt;br /&gt;
* '''Function:''' Receive an OS via USB&lt;br /&gt;
* '''When:''' Inserting the final battery&lt;br /&gt;
* '''Provider:''' Boot Code&lt;br /&gt;
&lt;br /&gt;
This is almost exactly like ON + Del except that it will only try USB, it will ignore the link port.&lt;br /&gt;
&lt;br /&gt;
==Battery + Mode==&lt;br /&gt;
* '''Function:''' Boot code flash test&lt;br /&gt;
* '''When:''' Inserting the final battery '''with no OS installed'''&lt;br /&gt;
* '''Provider:''' Boot Code&lt;br /&gt;
&lt;br /&gt;
This is almost exactly like the regular OS self test except it has a final test which tests all of the flash memory. This means that it will erase everything in flash except the Certificate and the boot code. While that sounds scary, it's a nice way to format your calculator if you just want to start clean.&lt;/div&gt;</summary>
		<author><name>JosJuice</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Ports:14</id>
		<title>83Plus:Ports:14</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Ports:14"/>
				<updated>2013-06-27T18:43:46Z</updated>
		
		<summary type="html">&lt;p&gt;JosJuice: /* Comments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:83Plus:Ports:By_Address:Protected|14 - Flash Control]] [[Category:83Plus:Ports:By_Address|14 - Flash Control]] [[Category:83Plus:Ports:By_Name|Flash Control]]&lt;br /&gt;
{{Protected Port}}&lt;br /&gt;
&lt;br /&gt;
== Synopsis ==&lt;br /&gt;
'''Port Number:''' 14h&lt;br /&gt;
&lt;br /&gt;
'''Function:''' Flash Write-Lock Control&lt;br /&gt;
&lt;br /&gt;
This port controls whether or not the Flash ROM chip will accept write/erase instructions.&lt;br /&gt;
&lt;br /&gt;
=== Read Values ===&lt;br /&gt;
* '''83+ Basic only''': Mirror of [[83Plus:Ports:04|port 04h]].&lt;br /&gt;
* '''83+ SE/84+ only''': Reads 0 if the flash is locked, 1 if the flash is unlocked.&lt;br /&gt;
&lt;br /&gt;
=== Write Values ===&lt;br /&gt;
* Write 00h to lock the flash. Write 01h to unlock it.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
When the flash chip is locked, then write/erase instructions are rejected. In addition, protected pages cannot be read. There is only one protected page. On the normal 83+, this is page 1Eh. On the normal 84+, it is 3Eh. On the 83+ SE and 84+ SE it is 7Eh. This page holds the certification data, which includes ID number, validation number, application authorizations, public keys, and other related data.&lt;br /&gt;
&lt;br /&gt;
Other protected ports may be written to from any area (unprivileged ROM, RAM, etc) without requiring a special sequence once Flash is unlocked.&lt;/div&gt;</summary>
		<author><name>JosJuice</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:OS:Nspire_Differences</id>
		<title>83Plus:OS:Nspire Differences</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:OS:Nspire_Differences"/>
				<updated>2013-06-27T18:13:34Z</updated>
		
		<summary type="html">&lt;p&gt;JosJuice: /* Flash Limitations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:83Plus:General Hardware Information|Nspire Differences]]&lt;br /&gt;
&lt;br /&gt;
The TI-84+ keypad for the Nspire runs the TI-84+ software in emulation. The emulation is quite incomplete; the Nspire only emulates the limited subset of the hardware's features that TI's official software actually uses. This page serves mainly as a reference for programmers who want Nspire compatibility.&lt;br /&gt;
&lt;br /&gt;
== Missing Features ==&lt;br /&gt;
=== Z80 Core ===&lt;br /&gt;
The Nspire does not emulate the full Z80 instruction set. &lt;br /&gt;
* Anything involving the index-half registers is broken.&lt;br /&gt;
* Most undocumented Z80 instructions do not work and cause a reset.&lt;br /&gt;
* The emulated 84 has no access to the Nspire file system.&lt;br /&gt;
* IM 1 and IM 2 work.&lt;br /&gt;
&lt;br /&gt;
=== Flash Limitations ===&lt;br /&gt;
* Port 14h still functions as it is supposed to; it controls whether writes to protected ports and flash actually take place.&lt;br /&gt;
* Writes to OS space are normally ignored. Normally.&lt;br /&gt;
* The Nspire does not emulate the flash chip's memory-mapped command register system. Instead, an illegal instruction must be issued for writes to flash to take place.&lt;br /&gt;
* 0EDh, 0EEh: The page swapped into [[83Plus:Ports:06|memory bank A]] is erased.&lt;br /&gt;
* 0EDh, 0EFh: The next ldi writes the data to the archive.&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
* Sadly, the LCD must be still accessed through port 10h (as opposed to being memory-mapped). No delay is needed for the LCD. In theory, bit 7 of port 10h will always be reset.&lt;br /&gt;
* USB is totally unemulated. Instead, illegal instructions are used to interface with USB. The USB descriptors appear to be screwed up.&lt;br /&gt;
&lt;br /&gt;
== Added features ==&lt;br /&gt;
* The only additional functionality of the Nspire 84 is the illegal instructions. See the Nspire Wiki for more information. Some of these cannot be used from RAM or the Nspire will reboot.&lt;br /&gt;
** A class of 0EDh, 0EDh, xxh, 10h opcodes are used to do some interesting things.&lt;br /&gt;
** 02h: This is used when turning off. Might not work from RAM.&lt;br /&gt;
** 03h: This locks the Nspire so that only the 84 keypad can be used. Reboots the Nspire if run from RAM.&lt;br /&gt;
** 04h: This unlocks the Nspire so that either keypad can be used. Cannot be run from RAM.&lt;br /&gt;
** 05h–2Ch: These are mostly communication related.&lt;br /&gt;
** 2Fh, 30h: These do stuff.&lt;br /&gt;
* The Nspire OS version numbers are even numbered.&lt;br /&gt;
&lt;br /&gt;
== Credits and Contributions ==&lt;br /&gt;
* BrandonW for doing a lot work on discovering the differences.&lt;br /&gt;
* The [http://hackspire.unsads.com/wiki/index.php/TI-84_Plus_Emulation Hackspire Wiki].&lt;/div&gt;</summary>
		<author><name>JosJuice</name></author>	</entry>

	<entry>
		<id>https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/Supported_Devices</id>
		<title>83Plus:Software:usb8x/Supported Devices</title>
		<link rel="alternate" type="text/html" href="https://wikiti.brandonw.net/index.php?title=83Plus:Software:usb8x/Supported_Devices"/>
				<updated>2011-05-07T06:00:06Z</updated>
		
		<summary type="html">&lt;p&gt;JosJuice: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Most USB devices that are self-powered, or draw 100mA or less current from the USB bus should be compatible with usb8x.  Below is a list of device classes and specific devices that have been tested.  Devices that require isochronous endpoints or have an integrated USB hub are not currently compatible.&lt;br /&gt;
&lt;br /&gt;
== Internal Driver ==&lt;br /&gt;
These devices work and usb8x contains an internal driver to control them.&lt;br /&gt;
* HID Keyboard. Tested with:&lt;br /&gt;
** IBM RapidAccessII with provided USB adapter&lt;br /&gt;
* HID Mouse.  Tested with:&lt;br /&gt;
** Microsoft USB Optical Mouse&lt;br /&gt;
** General Electric Mini Laptop Mouse&lt;br /&gt;
* Mass Storage Device.  Tested with:&lt;br /&gt;
** Memorex TravelDrive&lt;br /&gt;
** Sandisk Cruzer&lt;br /&gt;
** Lexar JumpDrive/Secure&lt;br /&gt;
** SMI Corp USB Disk&lt;br /&gt;
** 512 Mini Disk Genie&lt;br /&gt;
** 16GB ativa Flash Drive (?)&lt;br /&gt;
** VuGo device&lt;br /&gt;
** PQI Intelligent Stick&lt;br /&gt;
** Dazzle Zio All in 1 Reader (required external power supply)&lt;br /&gt;
** Most [http://en.wikipedia.org/wiki/U3 U3]devices if password protection is disabled&lt;br /&gt;
* TI Silverlink&lt;br /&gt;
* Some gamepad controllers.  Tested with:&lt;br /&gt;
** Logitech Precision Gamepad&lt;br /&gt;
** Logitech Dual Action Gamepad (only the buttons, the D-pad and joysticks don't work)&lt;br /&gt;
** [http://www.retrousb.com/nintendo.html RetroZone NES pad]&lt;br /&gt;
** [http://www.planetgamecube.com/hardArt.cfm?artid=2459 Skillz Gamecube to USB] (The company no longer seems to exist.)&lt;br /&gt;
** Recoil USB 4-Axis 12-Button Gamepad (half of the buttons work on the demo)&lt;br /&gt;
* Vernier EasyTemp&lt;br /&gt;
&lt;br /&gt;
== External Driver ==&lt;br /&gt;
These devices work and an external driver exists to control them.&lt;br /&gt;
* None&lt;br /&gt;
&lt;br /&gt;
== Works, No Complete Driver ==&lt;br /&gt;
These devices have been tested to work with usb8x, but no complete driver currently exists.&lt;br /&gt;
* EMS HID Playstation 2 controller adapter&lt;br /&gt;
* HID Mouse/Keyboard Combo (I ([[User:84plusfreak|84plusfreak]]) am writing a driver for it.)&lt;br /&gt;
&lt;br /&gt;
== Should Work ==&lt;br /&gt;
These devices have been tested to properly initialize with usb8x, but no drivers have been attempted.&lt;br /&gt;
* Canon i850 printer&lt;br /&gt;
* Canon SD400 digital camera&lt;br /&gt;
* Motorola SURFboard cable modem&lt;br /&gt;
* Motorola V220 (can act as USB Modem)&lt;br /&gt;
* TI-84 Plus (calc&amp;lt;-&amp;gt;calc)&lt;br /&gt;
* Generic IrDA USB dongle (says it draws 440 mA, but initializes fine anyway (''because it only draws up to 100mA until configured''))&lt;br /&gt;
&lt;br /&gt;
== Not Compatible ==&lt;br /&gt;
These devices are not compatible with usb8x.&lt;br /&gt;
* Ezonics webcam - isochronous endpoints&lt;br /&gt;
* Netgear WG111 802.11 adapter - draws too much current?&lt;br /&gt;
* SMC 802.11b adapter - draws too much current&lt;br /&gt;
* Taurus MBT-1203 bluetooth adapter - has integrated hub&lt;br /&gt;
* PNY Attache 1GB USB flash drive - NAKs on all but &amp;quot;request sense&amp;quot; and inquiry commands&lt;br /&gt;
* PSP acting as a mass storage device - IDK why&lt;br /&gt;
* Most things which require you to press a button to use it as a USB MSD after connecting it to a computer, for example Casio Prizm - Timeout exceeds&lt;/div&gt;</summary>
		<author><name>JosJuice</name></author>	</entry>

	</feed>